{"version":3,"sources":["webpack:///./src/templates/category.js","webpack:///./src/components/atomic-design/organisms/blog-entries/styles.js","webpack:///./src/components/atomic-design/organisms/blog-entries/index.js","webpack:///./src/components/atomic-design/atoms/blog-category/styles.js","webpack:///./src/components/atomic-design/atoms/blog-category/index.js","webpack:///./src/components/atomic-design/molecules/blog-categories/styles.js","webpack:///./src/components/atomic-design/molecules/blog-categories/index.js","webpack:///./static/images/metatags/category-open-graph.jpg"],"names":["categoryListQuery","Category","pageContext","location","data","currentPage","numPages","currentCategory","pageHeaderData","allContentfulPage","edges","node","path","pathname","bodyType","title","name","description","charSet","image","getAbsoluteUrl","CategoryOpenGraph","viewport","type","headerSubtitle","subTitle","documentToReactComponents","headerTitle","json","color","theme","newTheme","gradient","text","padding","spacing","mobilePadding","showAll","border","posts","allContentfulBlogPost","margin","to","slug","toPage","defaultProps","Container","styled","div","BlogEntries","requiredFields","Array","isArray","map","edge","validateBlogPostEntry","key","subtitle","publishedDate","excerpt","categoryName","category","background","getCategoryColor","hero","contentful_id","maxWidthText","obj","reqFields","height","CategoryStyled","Link","props","borderColor","transition","main","font","text2","size","lineHeight","weight","regular","hover","white","BlogCategory","children","active","categoryColor","nav","breakpoints","mobile","DropdownButton","button","radius","DropdownList","ButtonContent","BlogCategories","activeCategory","isMobile","useIsMobile","useState","show","setShow","currentPath","getCurrentPath","allContentfulBlogPostCategory","forEach","includes","onClick","toLowerCase","itemList","label","links","getCategoryArray","isShow","module","exports"],"mappings":"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","file":"component---src-templates-category-js-68375cbc0deb22caf7c5.js","sourcesContent":["import React from 'react';\nimport { graphql } from 'gatsby';\nimport PropTypes from 'prop-types';\n\nimport Layout from 'core/layout';\nimport MetaTags from 'core/meta-tags/index';\nimport Pagination from 'atomic-design/organisms/pagination';\nimport BlogEntries from 'atomic-design/organisms/blog-entries';\nimport BlogCategories from 'atomic-design/molecules/blog-categories';\nimport { getAbsoluteUrl } from 'common/helpers';\nimport CategoryOpenGraph from 'static/images/metatags/category-open-graph.jpg';\nimport theme from 'styles/theme';\nimport PageHeader from 'atomic-design/atoms/page-header';\nimport PageSection from 'atomic-design/atoms/page-section';\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer';\n\nexport const categoryListQuery = graphql`\n query categoryListQuery($slug: String!, $skip: Int!, $limit: Int!) {\n allContentfulPage(filter: { url: { eq: \"blog\" } }) {\n edges {\n node {\n headerTitle {\n json\n }\n headerSubtitle\n }\n }\n }\n\n allContentfulBlogPost(\n sort: { fields: publishedDate, order: DESC }\n filter: { category: { slug: { eq: $slug } } }\n limit: $limit\n skip: $skip\n ) {\n edges {\n node {\n title\n subtitle\n slug\n publishedDate\n excerpt {\n excerpt\n }\n category {\n name\n slug\n }\n hero {\n contentful_id\n }\n }\n }\n }\n }\n`;\nconst Category = ({ pageContext, location, data }) => {\n const { currentPage, numPages, currentCategory } = pageContext;\n const pageHeaderData = data.allContentfulPage.edges[0].node;\n\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nCategory.propTypes = {\n currentPage: PropTypes.number,\n numPages: PropTypes.number,\n currentCategory: PropTypes.shape({\n description: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n slug: PropTypes.string.isRequired,\n }),\n};\n\nCategory.defaultProps = {\n currentPage: null,\n numPages: null,\n currentCategory: null,\n};\n\nexport default Category;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: ${({ theme }) => theme.newTheme.spacing(2)};\n`;\n\nexport default Container;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Post from 'atomic-design/molecules/post';\nimport { getCategoryColor } from 'common/helpers';\nimport { Container } from './styles';\nimport { validateBlogPostEntry } from '../../../../common/validations';\nimport MissingDataCard from '../../atoms/missing-data-card';\n\nconst BlogEntries = ({ posts }) => {\n const requiredFields = [\n 'title',\n 'subtitle',\n 'slug',\n 'excerpt',\n 'publishedDate',\n 'hero',\n 'category',\n ];\n return (\n \n {Array.isArray(posts) &&\n posts.map(edge =>\n validateBlogPostEntry(edge.node) ? (\n \n ) : (\n \n )\n )}\n \n );\n};\n\nBlogEntries.propTypes = {\n posts: PropTypes.arrayOf(\n PropTypes.shape({\n node: PropTypes.shape({\n category: PropTypes.shape({\n name: PropTypes.string.isRequired,\n slug: PropTypes.string.isRequired,\n }),\n excerpt: PropTypes.shape({\n excerpt: PropTypes.string,\n }),\n publishedDate: PropTypes.string,\n slug: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n hero: PropTypes.string.isRequired,\n }),\n })\n ),\n};\n\nBlogEntries.defaultProps = {\n posts: [],\n};\n\nexport default BlogEntries;\n","import styled from 'styled-components';\nimport Link from 'atomic-design/atoms/link';\n\nconst CategoryStyled = styled(Link)`\n color: ${props => props.color};\n padding: ${({ theme }) => `${theme.newTheme.spacing(2)} ${theme.newTheme.spacing(6)}`};\n background: ${props => props.background};\n border: ${props => (props.border ? '1px solid' : '0')};\n border-color: ${props => (props.borderColor ? props.borderColor : props.color)};\n border-radius: ${props => (props.border ? '999px' : '0')};\n transition: ${({ theme }) => theme.newTheme.transition.main};\n cursor: pointer;\n\n font-size: ${({ theme }) => theme.newTheme.font.text2.size};\n line-height: ${({ theme }) => theme.newTheme.font.text2.lineHeight};\n font-weight: ${({ theme }) => theme.newTheme.font.weight.regular};\n\n &:hover {\n text-decoration: ${props => (props.border ? 'none' : 'underline')};\n background: ${props => props.hover};\n color: ${({ theme }) => theme.newTheme.color.white};\n }\n`;\n\nexport default CategoryStyled;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getCategoryColor } from 'common/helpers';\nimport CategoryStyled from './styles';\n\nconst BlogCategory = ({ children, slug, to, key, color, background, border, active = false }) => {\n const categoryColor = getCategoryColor(slug);\n let borderColor;\n\n if (active) {\n background = categoryColor;\n color = 'white';\n borderColor = categoryColor;\n }\n\n return (\n \n {children}\n \n );\n};\n\nBlogCategory.propTypes = {\n slug: PropTypes.string.isRequired,\n to: PropTypes.string.isRequired,\n key: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n color: PropTypes.string.isRequired,\n background: PropTypes.string.isRequired,\n border: PropTypes.bool.isRequired,\n};\n\nexport default BlogCategory;\n","import styled from 'styled-components';\n\nexport const Container = styled.nav`\n display: flex;\n flex-wrap: wrap;\n padding: ${props => props.padding};\n width: 100%;\n gap: 1em;\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.mobile}) {\n padding: ${({ theme }) => `0 0 ${theme.newTheme.spacing(12)} 0`};\n }\n`;\n\nexport const DropdownButton = styled.button`\n width: 100%;\n background: white;\n border-radius: ${({ theme }) => `${theme.newTheme.border.radius.main}`};\n border: 2px solid;\n border-color: ${({ color }) => color};\n`;\n\nexport const DropdownList = styled.div`\n a {\n width: 100%;\n }\n\n li {\n padding: ${({ theme }) =>\n `${theme.newTheme.spacing(4)} ${theme.newTheme.spacing(5)} !important`};\n }\n\n div {\n margin: ${({ theme }) => `-${theme.newTheme.spacing(1)} 0 0 0`};\n }\n`;\n\nexport const ButtonContent = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${({ theme }) => `${theme.newTheme.spacing(3)} ${theme.newTheme.spacing(2)}`};\n\n p {\n margin: 0;\n font-size: ${({ theme }) => theme.newTheme.font.text2.size};\n line-height: ${({ theme }) => theme.newTheme.font.text2.lineHeight};\n font-weight: ${({ theme }) => theme.newTheme.font.weight.regular};\n color: ${({ color }) => color};\n }\n`;\n","import React, { useState } from 'react';\n\nimport { useStaticQuery, graphql } from 'gatsby';\nimport PropTypes from 'prop-types';\nimport BlogCategory from 'atomic-design/atoms/blog-category';\nimport Dropdown from 'atomic-design/molecules/dropdown';\nimport useIsMobile from 'hooks/useIsMobile';\nimport { getCategoryColor, getCategoryArray, getCurrentPath } from 'common/helpers';\n\nimport { ChevronArrow } from 'ui/svg';\nimport { Container, DropdownButton, ButtonContent, DropdownList } from './styles';\n\nconst BlogCategories = ({ showAll, border, padding }) => {\n const isMobile = useIsMobile('mobile');\n const [show, setShow] = useState(false);\n const currentPath = getCurrentPath();\n\n const data = useStaticQuery(graphql`\n query {\n allContentfulBlogPostCategory(sort: { fields: order, order: ASC }) {\n edges {\n node {\n name\n slug\n }\n }\n }\n }\n `);\n\n let activeCategory;\n data.allContentfulBlogPostCategory.edges.forEach(edge => {\n if (currentPath.includes(edge.node.slug)) {\n activeCategory = edge.node.name;\n }\n });\n if (!activeCategory) {\n activeCategory = 'All';\n }\n\n return (\n \n {isMobile ? (\n <>\n setShow(!show)}\n color={getCategoryColor(activeCategory.toLowerCase())}\n >\n \n

{activeCategory}

\n \n
\n \n\n setShow(false)}>\n \n \n \n ) : (\n <>\n {showAll && (\n \n All\n \n )}\n {data.allContentfulBlogPostCategory.edges.map(edge => (\n \n {edge.node.name}\n \n ))}\n \n )}\n
\n );\n};\n\nBlogCategories.propTypes = {\n showAll: PropTypes.bool,\n border: PropTypes.bool,\n padding: PropTypes.string,\n};\n\nBlogCategories.defaultProps = {\n showAll: false,\n border: false,\n};\n\nexport default BlogCategories;\n","module.exports = __webpack_public_path__ + \"static/category-open-graph-9088cc546c69ef558b4c78b010e683b4.jpg\";"],"sourceRoot":""}