{"version":3,"sources":["webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/construct.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/gatsby-plugin-mdx/index.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../node_modules/gatsby-plugin-mdx/mdx-renderer.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/NewsletterCompact/NewsletterCompact.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/Post/index.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/Post/Post.Image.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Mdx/Headings.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Mdx/Figure.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Mdx/Figcaption.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Mdx/CodeBlock.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Mdx/index.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/Post/Post.Body.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/Post/Post.Tags.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/Post/Post.Tags.Share.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/blog/gatsby-blog-core/src/templates/post.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/themes/gatsby-theme-flexiblog-education/src/containers/Post.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Avatar/Avatar.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-widgets/src/AuthorExpanded/AuthorExpanded.jsx"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","arrayLikeToArray","isArray","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","args","Class","Reflect","construct","a","push","apply","instance","Function","bind","prototype","arguments","sham","Proxy","Boolean","valueOf","call","e","iter","Symbol","iterator","from","TypeError","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","o","minLen","n","Object","toString","slice","constructor","name","test","MDXRenderer","require","React","mdx","useMDXScope","scope","children","props","mdxScope","End","fullScope","keys","values","key","fn","useMailChimp","handleSubmit","canSubmit","submitting","message","success","Section","aside","title","variant","NewsletterForm","PostComments","loadable","PostShare","styles","regular","minHeight","img","borderRadius","wide","inCard","mt","mx","t","radii","lg","inCardLarge","PostImage","thumbnail","full","image","getImageVariant","alt","css","imgStyle","undefined","Divider","space","heading","svg","visibility","size","position","top","transform","pl","pointerEvents","link","Tag","href","id","sx","h1","h2","h3","figure","figcaption","Prism","pre","code","fallback","headings","PostBody","body","components","wrapper","alignItems","color","mr","mb","PostTags","tags","map","slug","as","Link","to","flex","justifyContent","flexDirection","flexBasis","PostTagsShare","data","post","tagCategoryPosts","tagPosts","categoryPosts","previous","next","relatedPosts","nodes","pageContext","services","siteUrl","Seo","effectProps","effect","Card","omitExcerpt","omitMedia","omitTitle","fraction","location","disqus","AuthorExpanded","author","category","CardList","columns","limit","distinct","bs","x","zIndex","textAlign","pattern","backgroundSize","opacity","circle","width","height","maxWidth","left","bg","arc","ml","boxShadow","colors","omegaLight","imageWrapper","Avatar","avatar","withPattern","patternStyles","loading","MemphisPattern","defaultProps","card","avatarColumn","infoColumn","innerBox","flexGrow","px","subheader","bio","socialList","m","right","gradient","background","contentBg","Subheader","AuthorAvatar","GLink","aria-label","AuthorName","AuthorBio","description","AuthorSkills","skills","skill","AuthorSocialMedia","social","Navigation","items","attachSocialIcons","wrapperStyle","withLink"],"mappings":"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","file":"component---packages-blog-gatsby-blog-core-src-templates-post-js-0797683b157002226088.js","sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/**\n * Welcome to gatsby-plugin-mdx!\n *\n * Start reading in gatsby-node.js\n */\n\nconst MDXRenderer = require(`./mdx-renderer`)\n\nmodule.exports = {\n MDXRenderer: MDXRenderer,\n}\n","const React = require(`react`)\nconst { mdx } = require(`@mdx-js/react`)\nconst { useMDXScope } = require(`./context`)\n\nmodule.exports = function MDXRenderer({\n scope,\n children,\n ...props\n}) {\n const mdxScope = useMDXScope(scope)\n\n // Memoize the compiled component\n const End = React.useMemo(() => {\n if (!children) {\n return null\n }\n\n const fullScope = {\n // React is here just in case the user doesn't pass them in\n // in a manual usage of the renderer\n React,\n mdx,\n ...mdxScope,\n }\n\n const keys = Object.keys(fullScope)\n const values = keys.map(key => fullScope[key])\n const fn = new Function(`_fn`, ...keys, `${children}`)\n\n return fn({}, ...values)\n }, [children, scope])\n\n return React.createElement(End, {...props })\n}\n","import React from 'react'\nimport { Card, Text } from 'theme-ui'\nimport NewsletterForm from '@components/NewsletterForm'\nimport Section from '@components/Section'\nimport useMailChimp from '@helpers/useMailChimp'\n\nconst NewsletterCompact = props => {\n const {\n handleSubmit,\n canSubmit,\n submitting,\n message,\n success\n } = useMailChimp()\n\n return (\n \n \n \n Make sure to subscribe to our newsletter and be the first to know the\n news.\n \n \n \n \n )\n}\n\nexport default NewsletterCompact\n","import loadable from '@loadable/component'\n\nexport { PostBody } from './Post.Body'\nexport { PostFooter } from './Post.Footer'\nexport { PostHead } from './Post.Head'\nexport { PostImage } from './Post.Image'\nexport { PostTags } from './Post.Tags'\nexport { PostTagsShare } from './Post.Tags.Share'\n\nexport const PostComments = loadable(() =>\n import(/* webpackPrefetch: true */ './Post.Comments')\n)\nexport const PostShare = loadable(() =>\n import(/* webpackPrefetch: true */ './Post.Share')\n)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { GatsbyImage as Img } from 'gatsby-plugin-image'\nimport { css } from 'theme-ui'\nimport Divider from '@components/Divider'\nimport getImageVariant from '@components/utils/getImageVariant'\n\nconst styles = {\n regular: {\n minHeight: `23rem`,\n img: {\n borderRadius: `lg`\n }\n },\n wide: {\n img: {\n borderRadius: `lg`\n }\n },\n inCard: {\n mt: -4,\n mx: -4,\n img: {\n borderRadius: t => `${t.radii.lg} ${t.radii.lg} 0 0`\n }\n },\n inCardLarge: {\n mt: [-4, -5],\n mx: [-4, -5],\n img: {\n borderRadius: t => `${t.radii.lg} ${t.radii.lg} 0 0`\n }\n }\n}\n\nexport const PostImage = ({\n title,\n thumbnail,\n wide,\n full,\n inCard,\n inCardLarge\n}) => {\n if (!thumbnail) return null\n\n const variant = (wide && 'wide') || (full && 'full') || 'regular'\n const image = getImageVariant(thumbnail, 'hero')\n\n return (\n <>\n
\n \n >\n )\n}\n\nPostImage.propTypes = {\n wide: PropTypes.bool,\n full: PropTypes.bool,\n inCard: PropTypes.bool,\n inCardLarge: PropTypes.bool\n}\n","import React from 'react'\nimport { css } from 'theme-ui'\nimport { Link } from 'theme-ui'\nimport { FaLink } from 'react-icons/fa'\n\nconst styles = {\n heading: {\n svg: {\n visibility: `hidden`,\n size: `icon.xs`,\n position: `absolute`,\n top: `50%`,\n transform: `translate(0,-50%)`,\n pl: 2\n },\n ':hover svg': {\n visibility: `visible`\n },\n pointerEvents: `painted`\n },\n link: {\n position: `relative`\n }\n}\n\nconst heading = Tag => props => (\n \n \n {props.children}\n \n \n \n)\n\nexport default {\n h1: heading(`h1`),\n h2: heading(`h2`),\n h3: heading(`h3`)\n}\n","import React from 'react'\nimport { css } from 'theme-ui'\n\nconst Figure = props => (\n t.styles.figure)}>\n {props.children}\n \n)\n\nexport default Figure\n","import React from 'react'\nimport { css } from 'theme-ui'\n\nconst Figcaption = props => (\n t.styles.figcaption)}>\n {props.children}\n \n)\n\nexport default Figcaption\n","import React from 'react'\nimport loadable from '@loadable/component'\nimport { Styled } from 'theme-ui'\n\nconst Prism = loadable(() => import('@theme-ui/prism'))\n\nconst CodeBlock = props => (\n // eslint-disable-next-line react/jsx-pascal-case\n {props.children}} />\n)\n\nexport default CodeBlock\n","import { default as headings } from './Headings'\nimport { default as figure } from './Figure'\nimport { default as figcaption } from './Figcaption'\nimport { default as code } from './CodeBlock'\n\nexport default {\n figure,\n figcaption,\n pre: props => props.children,\n code,\n ...headings\n}\n","import React from 'react'\nimport { MDXRenderer } from 'gatsby-plugin-mdx'\nimport { MDXProvider } from '@theme-ui/mdx'\nimport components from '@components/Mdx'\n\nexport const PostBody = ({ body }) => {\n return (\n \n {body}\n \n )\n}\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport { Badge, Heading, Flex, Box } from 'theme-ui'\n\nconst styles = {\n wrapper: {\n alignItems: `center`\n },\n heading: {\n color: `omegaDark`,\n mr: 3,\n mb: 0\n }\n}\n\nexport const PostTags = ({ tags }) =>\n tags && tags.length > 0 ? (\n \n \n Tags\n \n \n {tags.map(({ id, name, slug }) => (\n \n {name}\n \n ))}\n \n \n ) : null\n","import React from 'react'\nimport { Flex, Box, Divider } from 'theme-ui'\nimport { PostTags, PostShare } from '@widgets/Post'\n\nconst styles = {\n flex: {\n alignItems: [`flex-start`, `center`],\n justifyContent: `space-between`,\n flexDirection: [`column`, `row`],\n '& > div + div': {\n mt: [3, 0],\n flexBasis: `1/2`,\n justifyContent: `flex-end`\n }\n }\n}\n\nexport const PostTagsShare = props => (\n \n \n \n \n \n \n \n)\n","import { graphql } from 'gatsby'\nimport PostPage from '../containers/Post'\n\nexport default PostPage\n\nexport const pageQuery = graphql`\n query PostPageQuery(\n $id: String!\n $previousId: String\n $nextId: String\n $categoryId: String\n $tagsIds: [String]\n $hasTags: Boolean!\n ) {\n post: article(id: { eq: $id }) {\n ...ArticleInformation\n ...ArticleThumbnailRegular\n }\n\n # Related posts based on tags and category\n tagCategoryPosts: allArticle(\n filter: {\n private: { ne: true }\n draft: {ne: true}\n tags: { elemMatch: { id: { in: $tagsIds } } }\n category: { id: { eq: $categoryId } }\n id: { ne: $id }\n }\n sort: { fields: [date], order: DESC }\n limit: 6\n ) @include(if: $hasTags) {\n nodes {\n ...ArticlePreview\n ...ArticleThumbnailRegular\n }\n }\n\n # Related posts based on tags only\n tagPosts: allArticle(\n filter: {\n private: { ne: true }\n draft: {ne: true}\n tags: { elemMatch: { id: { in: $tagsIds } } }\n id: { ne: $id }\n }\n sort: { fields: [date], order: DESC }\n limit: 6\n ) @include(if: $hasTags) {\n nodes {\n ...ArticlePreview\n ...ArticleThumbnailRegular\n }\n }\n\n # Related posts based on category only\n categoryPosts: allArticle(\n filter: {\n private: { ne: true }\n draft: {ne: true}\n category: { id: { eq: $categoryId } }\n id: { ne: $id }\n }\n sort: { fields: [date], order: DESC }\n limit: 6\n ) {\n nodes {\n ...ArticlePreview\n ...ArticleThumbnailRegular\n }\n }\n\n previous: article(id: { eq: $previousId }) {\n id\n slug\n title\n }\n\n next: article(id: { eq: $nextId }) {\n id\n slug\n title\n }\n }\n`\n","import React from 'react'\nimport { Card as CardComponent } from 'theme-ui'\nimport { Layout, Stack, Main, Sidebar } from '@layout'\nimport CardList from '@components/CardList'\nimport Card from '@components/Card'\nimport Divider from '@components/Divider'\nimport Seo from '@widgets/Seo'\nimport AuthorExpanded from '@widgets/AuthorExpanded'\nimport NewsletterCompact from '@widgets/NewsletterCompact'\nimport { PostImage, PostBody, PostComments, PostTagsShare } from '@widgets/Post'\n\nconst Post = ({\n data: { post, tagCategoryPosts, tagPosts, categoryPosts, previous, next },\n ...props\n}) => {\n const relatedPosts = [\n ...(tagCategoryPosts ? tagCategoryPosts.nodes : []),\n ...(tagPosts ? tagPosts.nodes : []),\n ...(categoryPosts ? categoryPosts.nodes : [])\n ]\n const { pageContext: { services = {}, siteUrl } = {} } = props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {services.disqus && }\n \n \n \n \n {post.category && (\n \n )}\n \n \n \n )\n}\n\nexport default Post\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { GatsbyImage as Img } from 'gatsby-plugin-image'\nimport { Box, css } from 'theme-ui'\nimport MemphisPattern from '@components/MemphisPattern'\nimport getImageVariant from '@components/utils/getImageVariant'\n\n//Base size to keep all layers aligned easier\nconst bs = x => `${x * 0.35}rem`\n\nconst styles = {\n wrapper: {\n position: `relative`,\n zIndex: 2,\n textAlign: `center`,\n mb: bs(3)\n },\n pattern: {\n backgroundSize: `8rem`,\n opacity: 0.15\n },\n circle: ({ width }) => ({\n width: [bs(30), `full`],\n height: `full`,\n maxWidth: width,\n borderRadius: `full`,\n position: `absolute`,\n transform: `translate(-50%) scale(0.98)`,\n left: `50%`,\n top: bs(3),\n bg: `alpha`\n }),\n arc: ({ width }) => ({\n width: [bs(30), `full`],\n height: `full`,\n maxWidth: width,\n borderRadius: `full`,\n position: `absolute`,\n zIndex: 2,\n left: `50%`,\n transform: `translate(-50%)`,\n mt: bs(-1),\n ml: bs(-2),\n boxShadow: t => `\n\t\t\t${bs(2)}\n\t\t\t${bs(4)}\n\t\t\t${t.colors.omegaLight}\n\t\t`\n }),\n imageWrapper: {\n mx: `auto`,\n img: {\n borderRadius: `9999px 9999px 9999px 9999px`\n }\n }\n}\n\nconst Avatar = ({\n avatar,\n withPattern,\n patternStyles = {},\n size,\n width,\n loading,\n alt\n}) => {\n const image = avatar && getImageVariant(avatar, size)\n\n if (!image) return null\n\n width = width || image.width\n\n return (\n \n \n {withPattern && (\n \n )}\n
\n \n \n )\n}\n\nexport default Avatar\n\nAvatar.defaultProps = {\n size: 'regular',\n withPattern: false\n}\n\nAvatar.propTypes = {\n size: PropTypes.oneOf([false, 'small', 'regular']),\n width: PropTypes.number,\n withPattern: PropTypes.bool,\n patternStyles: PropTypes.object,\n loading: PropTypes.string,\n alt: PropTypes.string\n}\n","import React from 'react'\nimport { Link as GLink } from 'gatsby'\nimport { Flex, Box, Text, Heading, Card, Badge, Link } from 'theme-ui'\nimport MemphisPattern from '@components/MemphisPattern'\nimport Avatar from '@components/Avatar'\nimport Navigation from '@components/Navigation'\nimport attachSocialIcons from '@helpers/attachSocialIcons'\n\nconst styles = {\n card: {\n position: `relative`\n },\n wrapper: {\n flexDirection: [`column`, `row`],\n position: `relative`,\n zIndex: 3\n },\n avatarColumn: {\n flexBasis: `1/3`\n },\n infoColumn: {\n flexBasis: `2/3`\n },\n innerBox: {\n flexBasis: `1/2`,\n flexGrow: 1,\n px: [0, 3],\n mt: [3, 0]\n },\n subheader: {\n color: `omegaDark`\n },\n name: {\n textAlign: [`center`, `left`],\n mt: [3, 0],\n px: 3\n },\n bio: {\n textAlign: [`center`, `left`]\n },\n socialList: {\n a: {\n m: 0\n }\n },\n link: {\n position: `absolute`,\n top: 10,\n right: 10,\n zIndex: 3\n },\n pattern: {\n borderRadius: `lg`\n },\n gradient: {\n size: `full`,\n borderRadius: `lg`,\n position: `absolute`,\n left: 0,\n top: 0,\n zIndex: 2,\n background: [\n t =>\n `linear-gradient(0deg, ${t.colors.contentBg} 20%, rgba(255, 255, 255, 0) 80%)`,\n t =>\n `linear-gradient(270deg, ${t.colors.contentBg} 20%, rgba(255, 255, 255, 0) 100%)`\n ]\n }\n}\n\nconst Subheader = ({ children }) => (\n \n {children}\n \n)\n\nconst AuthorAvatar = ({ name, thumbnail, slug }) =>\n thumbnail ? (\n \n \n \n \n \n ) : null\n\nconst AuthorName = ({ name, slug }) => (\n \n \n \n {name}\n \n \n \n)\n\nconst AuthorBio = ({ title, description }) => (\n \n {title}\n {description}\n \n)\n\nconst AuthorSkills = ({ skills }) =>\n skills ? (\n \n Expertise\n {skills.map(skill => (\n {skill}\n ))}\n \n ) : null\n\nconst AuthorSocialMedia = ({ social }) =>\n social ? (\n \n Social Media\n \n \n ) : null\n\nconst AuthorExpanded = ({ author, withLink }) => {\n if (!author) return null\n\n const { skills, social } = author\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {(social || skills) && (\n \n \n \n \n \n \n )}\n \n \n \n {withLink && (\n \n View Posts\n \n )}\n \n \n \n )\n}\n\nexport default AuthorExpanded\n"],"sourceRoot":""}