{"version":3,"file":"component---src-pages-index-tsx-7c38c5191e9c59392fa5.js","mappings":"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","sources":["webpack://bare-faced-by-elle/./node_modules/uuid/dist/esm-browser/rng.js","webpack://bare-faced-by-elle/./node_modules/uuid/dist/esm-browser/regex.js","webpack://bare-faced-by-elle/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://bare-faced-by-elle/./node_modules/uuid/dist/esm-browser/validate.js","webpack://bare-faced-by-elle/./node_modules/uuid/dist/esm-browser/v4.js","webpack://bare-faced-by-elle/./src/components/Article/index.tsx","webpack://bare-faced-by-elle/./src/pages/index.tsx"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import * as React from 'react';\nimport styled from 'styled-components';\nimport { format } from 'date-fns';\nimport { GatsbyImage, getImage } from 'gatsby-plugin-image';\nimport { renderRichText } from 'gatsby-source-contentful/rich-text';\n\nimport { Post } from '../../types/Post';\n\ntype Props = {\n post: Post;\n};\n\nconst StyledH2 = styled.h2`\n margin: 0 0 1rem 0;\n color: #444444;\n transition: color 0.25s linear;\n`;\n\nconst StyledArticle = styled.article`\n transition: border-color 0.25s linear;\n color: #444444;\n border: 1px solid #e8e8e8;\n height: 100%;\n\n &:hover {\n border-color: #444444;\n }\n`;\n\nconst StyledDiv = styled.div`\n padding: 1rem;\n`;\n\nconst StyledTime = styled.time`\n margin-right: 1rem;\n font-size: 0.75rem;\n color: #444444;\n`;\n\nconst PostMeta = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n`;\n\nconst StyledP = styled.p`\n margin: 0 0 1rem 0;\n font-size: 1rem;\n line-height: 1.5rem;\n`;\n\nconst Article = ({ post }: Props) => {\n const image = getImage(post.heroImage.localFile);\n const excerpt = renderRichText(post.richBody);\n\n return (\n \n \n \n {post.title}\n \n {post.metaDescription?.length >= 150\n ? `${post.metaDescription.slice(0, 150)}...`\n : post.metaDescription}\n \n \n \n {format(new Date(post.publishDate), 'd/L/y')}\n \n \n \n \n );\n};\n\nexport default Article;\n","import { graphql, Link } from 'gatsby';\nimport * as React from 'react';\nimport { v4 } from 'uuid';\n\nimport Layout from '../components/Layout';\nimport Article from '../components/Article';\nimport SEO from '../components/Seo';\nimport styled from 'styled-components';\n\nconst Grid = styled.div`\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto;\n grid-gap: 1rem;\n width: 100%;\n @media (min-width: 600px) {\n grid-template-columns: repeat(2, 1fr);\n }\n @media (min-width: 768px) {\n grid-template-columns: repeat(3, 1fr);\n }\n`;\n\nconst IndexPage = ({ data: { allContentfulBlogPost } }) => {\n return (\n \n \n \n {allContentfulBlogPost.edges.map(({ node }) => (\n \n \n \n ))}\n \n \n );\n};\n\nexport const query = graphql`\n query {\n allContentfulBlogPost(\n limit: 3\n sort: { order: DESC, fields: publishDate }\n ) {\n edges {\n node {\n id\n slug\n title\n richBody {\n raw\n }\n metaDescription\n publishDate\n heroImage {\n title\n localFile {\n childImageSharp {\n gatsbyImageData(\n width: 568\n height: 400\n formats: [AUTO, WEBP, AVIF]\n )\n }\n }\n }\n }\n }\n }\n }\n`;\n\nexport default IndexPage;\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","uuid","byteToHex","i","push","toString","substr","arr","offset","arguments","length","undefined","toLowerCase","TypeError","options","buf","rnds","random","StyledH2","styled","StyledArticle","StyledDiv","StyledTime","PostMeta","StyledP","post","image","getImage","heroImage","localFile","renderRichText","richBody","G","alt","title","metaDescription","slice","dateTime","publishDate","format","Date","Grid","allContentfulBlogPost","data","uri","edges","map","node","Link","to","slug","key","v4"],"sourceRoot":""}