{"version":3,"sources":["webpack:///./src/templates/blog/index.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"],"names":["blogListQuery","Blog","props","data","location","pageContext","currentPage","numPages","pageHeaderData","allContentfulPage","edges","node","metatagImage","file","url","metatagDescription","metatagTitle","path","pathname","bodyType","title","description","charSet","image","viewport","type","headerSubtitle","subTitle","documentToReactComponents","headerTitle","json","color","theme","newTheme","gradient","text","padding","spacing","mobilePadding","showAll","border","posts","allContentfulBlogPost","margin","to","toPage","defaultProps","Container","styled","div","BlogEntries","requiredFields","Array","isArray","map","edge","validateBlogPostEntry","key","slug","subtitle","publishedDate","excerpt","categoryName","category","name","background","getCategoryColor","hero","contentful_id","maxWidthText","obj","reqFields","height","CategoryStyled","Link","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"],"mappings":"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","file":"component---src-templates-blog-index-js-47bfeb10c9ca72384aeb.js","sourcesContent":["import React from 'react';\n\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 PageSection from 'atomic-design/atoms/page-section';\nimport theme from 'styles/theme';\nimport PageHeader from 'atomic-design/atoms/page-header';\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer';\n\nexport const blogListQuery = graphql`\n query blogListQuery($skip: Int!, $limit: Int!) {\n allContentfulPage(filter: { url: { eq: \"blog\" } }) {\n edges {\n node {\n headerTitle {\n json\n }\n headerSubtitle\n metatagImage {\n file {\n url\n }\n }\n metatagTitle\n metatagDescription\n }\n }\n }\n\n allContentfulBlogPost(\n sort: { fields: publishedDate, order: DESC }\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 Blog = props => {\n const { data, location } = props;\n const { currentPage, numPages } = props.pageContext;\n const pageHeaderData = data.allContentfulPage.edges[0].node;\n const metatagImage = data.allContentfulPage.edges[0].node.metatagImage.file.url;\n const { metatagDescription } = data.allContentfulPage.edges[0].node;\n const { metatagTitle } = 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 );\n};\n\nBlog.propTypes = {\n currentPage: PropTypes.number,\n numPages: PropTypes.number,\n};\n\nBlog.defaultProps = {\n currentPage: null,\n numPages: null,\n};\n\nexport default Blog;\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"],"sourceRoot":""}