{"version":3,"sources":["webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/utils/columnSizeMatcher.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/utils/getReadableColor.js","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Body.Category.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Body.Title.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Body.Excerpt.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Body.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/AvatarSimple/AvatarSimple.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Footer.Author.Avatar.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Footer.Author.Name.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/TextList/TextList.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Footer.Info.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Footer.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Media.Icon.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Media.Image.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Media.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.Base.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/Card/Card.jsx","webpack://@elegantstack/gatsby-starter-flexiblog-education/../packages/flow-ui/flow-ui-components/src/MemphisPattern/MemphisPattern.jsx"],"names":["columns","Array","isArray","length","sizes","1","2","3","4","5","flexBasis","hex","indexOf","slice","parseInt","console","log","styles","mb","variant","category","omitCategory","slug","css","sx","rv","as","Link","to","color","bg","getReadableColor","name","title","link","linkProps","href","target","rel","GLink","flex","excerpt","omitExcerpt","context","useThemeUI","responsiveVariant","visibility","reduce","mobileVisibility","get","theme","display","flexDirection","justifyContent","children","omitBody","props","imageWrapperSimple","verticalAlign","borderRadius","borderStyle","borderWidth","borderColor","overFlow","opacity","mr","img","AvatarSimple","avatar","size","alt","image","getImageVariant","defaultProps","omitAuthor","author","thumbnail","aria-label","pr","wrapper","separator","content","nowrap","overflow","textOverflow","whiteSpace","TextList","date","timeToRead","alignItems","postInfo","flexWrap","omitFooter","iconBox","height","iconAndText","position","fontWeight","zIndex","px","lineHeight","svg","pb","pattern","thumbnailText","icon","src","MemphisPattern","CardMediaImage","loading","userSelect","textAlign","CardMedia","imageVariant","omitMedia","mediaType","imageVar","onMouseOver","className","columnSizeMatcher","onFocus","Card","variantGroup","aside","backgroundImage","backgroundSize","top","left"],"mappings":"yRACA,WAAeA,GACb,GAAKC,MAAMC,QAAQF,MAAYA,EAAQG,QAAU,GAAjD,CAEA,IAEMC,EAAQ,CACZC,EAAE,OACFC,EAAE,MACFC,EAAE,MACFC,EAAE,MACFC,EAAE,OAWJ,MATc,CACZC,UAAW,CACTN,EAAMJ,EAAQ,IACdI,EAAMJ,EAAQ,IACdI,EAAMJ,EAAQ,IACdI,EAAMJ,EAAQ,Q,oBCCpB,EAnByB,SAAAW,GAQvB,GAPyB,IAArBA,EAAIC,QAAQ,OACdD,EAAMA,EAAIE,MAAM,IAGC,IAAfF,EAAIR,SACNQ,EAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAEtC,IAAfA,EAAIR,OAQR,MAAW,KAJHW,SAASH,EAAIE,MAAM,EAAG,GAAI,IAIX,KAHjBC,SAASH,EAAIE,MAAM,EAAG,GAAI,IAGG,KAF7BC,SAASH,EAAIE,MAAM,EAAG,GAAI,IAEW,IAAM,UAAY,UAP3DE,QAAQC,IAAI,uB,UCHVC,EACG,CACLC,GAAI,GAuBR,EAnByB,SAAC,GAAD,IAAGC,EAAH,EAAGA,QAASC,EAAZ,EAAYA,SAAZ,SAAsBC,cAC5BD,GAAYA,EAASE,MACpC,QAAC,KAAD,CAAKC,KAAKA,OAAIN,GAAeO,GAAI,CAAEL,SAASM,OAAGN,EAAS,eACtD,QAAC,KAAD,CACEA,QAAQ,MACRO,GAAIC,OACJC,GAAIR,EAASE,KACbE,GACEJ,EAASS,OAAS,CAChBC,GAAIV,EAASS,MACbA,MAAOE,EAAiBX,EAASS,SAIpCT,EAASY,OAGZ,MCLN,EAnBsB,SAAC,GAAoC,IAAlCb,EAAiC,EAAjCA,QAASc,EAAwB,EAAxBA,MAAOX,EAAiB,EAAjBA,KAAMY,EAAW,EAAXA,KACvCC,EAAYD,EACd,CACER,GAAI,IACJU,KAAMF,EACNG,OAAQ,SACRC,IAAK,uBAEP,CACEZ,GAAIa,OACJX,GAAIN,GAEV,OACE,QAAC,MAAD,UAAaa,EAAb,CAAwBX,GAAI,CAAEL,SAASM,OAAGN,EAAS,YAChDc,I,8kBCfP,IAAMhB,EACK,CACPuB,KAAK,OACLtB,GAAI,GA+BR,EA3BwB,SAAC,GAAuC,IAArCC,EAAoC,EAApCA,QAASsB,EAA2B,EAA3BA,QAASC,EAAkB,EAAlBA,YACrCC,GAAUC,UAEVC,GAAoBpB,OAAGN,EAAS,WAEhC2B,EAAaD,EAAkBE,QACnC,SAACC,EAAkB7B,GAAnB,OACuB,IAArB6B,GAC4C,UAA5CC,OAAIN,EAAQO,MAAO/B,EAAS,IAAIgC,WAGlC,GAGF,OAAQT,GAAeI,GACrB,QAAC,KAAD,CACE3B,QAAQ,QACRK,GAAE,OACGP,GADH,IAEAE,QAAS0B,KAGVJ,GAED,M,+lBC5BN,IAAMxB,EACE,CACJkC,QAAQ,OACRC,cAAc,SACdC,eAAe,SACfb,KAAM,GAmBV,EAfiB,SAAC,GAAD,IAAGc,EAAH,EAAGA,SAAUC,EAAb,EAAaA,SAAaC,GAA1B,mBACdD,IACC,QAAC,KAAD,CACE/B,GAAE,OACGP,GADH,IAEAE,SAASM,OAAG+B,EAAMrC,QAAS,YAG7B,QAAC,EAAqBqC,IACtB,QAAC,EAAkBA,IACnB,QAAC,EAAoBA,GACpBF,I,oBCrBDrC,EAAS,CACbwC,mBAAoB,CAClB3B,GAAG,aACHqB,QAAQ,eACRO,cAAc,SACdC,aAAa,OACbC,YAAY,QACZC,YAAY,KACZC,YAAY,aACZC,SAAS,SACTC,QAAS,GACTC,GAAI,EACJC,IAAK,CACHP,aAAa,QAEf,SAAU,CACRK,QAAS,GAEX,QAAS,CACPL,aAAa,UAKbQ,EAAe,SAAC,GAA2B,IAAzBC,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,IAC9BC,EAAQH,IAAUI,OAAgBJ,EAAQC,GAEhD,OAAKE,GAGH,QAAC,KAAD,CAAK/C,GAAIP,EAAOwC,qBACd,QAAC,IAAD,CAAKc,MAAOA,EAAOD,IAAKA,KAJT,MASrB,IAEAH,EAAaM,aAAe,CAC1BJ,KAAM,WCvCR,IAiCA,EAjC+B,SAAC,GAAqC,IAAnClD,EAAkC,EAAlCA,QAASuD,EAAyB,EAAzBA,WAAYC,EAAa,EAAbA,OAC/ChC,GAAUC,UAEhB,GAAI8B,EAAY,OAAO,KAEvB,IAAM7B,GAAoBpB,OAAGN,EAAS,eAWtC,OATmB0B,EAAkBE,QACnC,SAACC,EAAkB7B,GAAnB,OACuB,IAArB6B,GAC4C,UAA5CC,OAAIN,EAAQO,MAAO/B,EAAS,IAAIgC,WAGlC,IAIAwB,GAAUA,EAAOC,WACf,QAAC,KAAD,CACElD,GAAIa,OACJX,GAAI+C,EAAOrD,KACXuD,aAAYF,EAAO3C,KACnBR,GAAI,CAAEL,QAAS0B,KAEf,QAAC,EAAD,CACEuB,OAAQO,EAAOC,UACfN,IAAKK,EAAO3C,KACZqC,KAAK,WAIT,M,qkBChCN,IAAMpD,EACI,CACN6D,GAAI,GAaR,EAT6B,SAAC,GAAD,IAAG3D,EAAH,EAAGA,QAASuD,EAAZ,EAAYA,WAAYC,EAAxB,EAAwBA,OAAxB,OAC1BD,GAAcC,GAAUA,EAAOrD,MAC9B,QAAC,KAAD,CAAME,GAAE,OAAOP,GAAP,IAAsBE,SAASM,OAAGN,EAAS,cACjD,QAAC,KAAD,CAAMA,QAAQ,OAAOO,GAAIa,OAAOX,GAAI+C,EAAOrD,OACzC,sBAASqD,EAAO3C,QAGlB,M,qkBCdN,IAAMf,EAAS,CACb8D,QAAS,SAAAC,GAAS,MAAK,CACrB,MAAO,CACL,+BAAgC,CAC9BC,QAAQ,KAAMD,EAAP,SAIbE,OAAQ,CACNC,SAAS,SACTC,aAAa,WACbC,WAAW,WAITC,EAAW,SAAC,GAAD,IAAGJ,EAAH,EAAGA,OAAQF,EAAX,EAAWA,UAAW1B,EAAtB,EAAsBA,SAAtB,OACf,QAAC,KAAD,CAAK9B,GAAE,OAAQ0D,GAAUjE,EAAOiE,QAAYjE,EAAO8D,QAAQC,KACxD1B,IAIL,IAEAgC,EAASb,aAAe,CACtBO,UAAW,IACXE,QAAQ,G,cCZV,EAXuB,SAAC,GAAD,IAAG/D,EAAH,EAAGA,QAASoE,EAAZ,EAAYA,KAAMC,EAAlB,EAAkBA,WAAlB,OACrB,QAAC,EAAD,CAAUN,QAAM,GACbK,IAAQ,QAAC,KAAD,CAAM/D,GAAI,CAAEL,SAASM,OAAGN,EAAS,UAAYoE,GACrDC,IACC,QAAC,KAAD,CAAMhE,GAAI,CAAEL,SAASM,OAAGN,EAAS,iBAC/B,QAAC,MAAD,CAAYI,KAAG,QAAE,CAAEmC,cAAc,UAAlB,MADjB,IACoD8B,EADpD,U,iBCHAvE,EAAS,CACb8D,QAAS,CACPU,WAAW,UAEbC,SAAU,CACRlD,KAAM,EACNmD,SAAS,OACTtC,eAAe,gBACfxB,MAAM,UAcV,EAVmB,SAAC,GAAD,IAAG+D,EAAH,EAAGA,WAAepC,GAAlB,mBAChBoC,IACC,QAAC,KAAD,CAAMrE,IAAKN,EAAO8D,QAASvD,GAAI,CAAEL,SAASM,OAAG+B,EAAMrC,QAAS,aAC1D,QAAC,EAAiBqC,IAClB,QAAC,KAAD,CAAMhC,GAAIP,EAAOyE,WACf,QAAC,EAAelC,IAChB,QAAC,EAASA,M,wlBClBlB,IAAMvC,EAAS,CACb4E,QAAS,CACPC,OAAO,QAETC,YAAa,CACX3C,cAAc,SACdC,eAAe,SACfoC,WAAW,SAEXO,SAAS,WACTC,WAAW,SACXH,OAAO,OACPI,OAAQ,EACRC,GAAI,EACJC,WAAY,KACZC,IAAK,CACHC,GAAI,IAGRC,QAAS,CACPvC,QAAS,IACTL,aAAa,YAwBjB,EApBsB,SAAC,GAAD,IAAGxC,EAAH,EAAGA,QAASqF,EAAZ,EAAYA,cAAepF,EAA3B,EAA2BA,SAA3B,OACpBA,GAAYA,EAASqF,MAAQrF,EAASY,MACpC,QAAC,KAAD,CACEF,GAAIV,EAASS,OAAS,YACtBA,MAAOT,EAASS,MAAQE,EAAiBX,EAASS,OAAS,OAC3DL,GAAE,OACGP,EAAO4E,SADV,IAEA1E,SAASM,OAAGN,EAAS,eAGvB,QAAC,KAAD,CAAMK,GAAIP,EAAO8E,cACf,QAAC,IAAD,CAAKW,IAAKtF,EAASqF,KAAMlF,KAAKA,OAAI,CAAEJ,SAASM,OAAGN,EAAS,aACzD,QAAC,KAAD,CAAMK,GAAI,CAAEL,SAASM,OAAGN,EAAS,cAC9BqF,GAAiBpF,EAASY,QAG/B,QAAC2E,EAAA,EAAD,CAAgBnF,GAAIP,EAAOsF,WAE3B,MC7CAK,EAAiB,SAAC,GAAD,IAAGzF,EAAH,EAAGA,QAAS0F,EAAZ,EAAYA,QAAStC,EAArB,EAAqBA,MAAOtC,EAA5B,EAA4BA,MAA5B,OACrB,QAAC,IAAD,CACEsC,MAAOA,EACPsC,QAASA,EACTvC,IAAKrC,EACLV,KAAKA,OAAI,CACPuE,OAAO,OACPpC,cAAc,SACdQ,IAAK,CACHpC,GAAG,gBAELX,SAASM,OAAGN,EAAS,cAI3ByF,EAAenC,aAAe,CAC5BoC,QAAS,QAGX,Q,kECdM5F,GAAS,CACbiB,KAAM,CACJ4E,WAAW,OACXC,UAAU,SACVf,SAAS,WACT7C,QAAQ,UAIN6D,GAAY,SAAC,GAQZ,IAPLC,EAOI,EAPJA,aACAC,EAMI,EANJA,UACAC,EAKI,EALJA,UACAlF,EAII,EAJJA,MACAX,EAGI,EAHJA,KACAY,EAEI,EAFJA,KACGsB,GACC,aACEb,GAAUC,UAEhB,GAAIsE,EAAW,OAAO,KAEtB,IAAQ/F,EAAsCqC,EAAtCrC,QAASyD,EAA6BpB,EAA7BoB,UAAW4B,EAAkBhD,EAAlBgD,cAEtBY,EACJH,IACAhE,OAAIN,EAAQO,OAAOzB,OAAGN,EAAS,gBAAgB,KA5BrB,WA+BtBoD,GAAQC,OAAgBI,EAAWwC,GAEnCjF,EAAYD,EACd,CACER,GAAI,IACJU,KAAMF,EACNG,OAAQ,SACRC,IAAK,uBAEP,CACEZ,GAAIa,OACJX,GAAIN,GAGV,OACE,QAAC,MAAD,UACMa,EADN,CAEEZ,IAAKN,GAAOiB,KACZV,GAAI,CAAEL,SAASM,OAAGN,EAAS,UAC3B0D,aAAY5C,IAEG,UAAdkF,GAAyB5C,IACxB,QAAC,GAAD,QAAgBA,MAAOA,EAAOtC,MAAOA,GAAWuB,KAElC,SAAd2D,IAA0B5C,GAASiC,KACnC,QAAC,EAAkBhD,KAM3BwD,GAAUvC,aAAe,CACvB0C,UAAW,SAGb,U,smBClEA,IAAMlG,GACE,CACJkE,SAAS,SACTW,OAAO,QAHL7E,GAKK,CACPwE,WAAW,UACXK,OAAO,QAkCX,GA9BiB,SAAC,GAAD,IAAG9F,EAAH,EAAGA,QAASqH,EAAZ,EAAYA,YAAgB7D,GAA5B,oBACf,QAAC,KAAD,CACE8D,UAAU,YACV9F,GAAI+F,EAAkBvH,GACtBqH,YAAaA,EACbG,QAASH,IAET,QAAC,KAAD,CACElG,QAAQ,cACRK,GAAE,SACGP,IADH,IAEAE,SAASM,OAAG+B,EAAMrC,QAAS,YAG7B,QAAC,KAAD,CACEO,GAAG,UACHF,GAAE,SACGP,IADH,IAEAE,SAASM,OAAG+B,EAAMrC,QAAS,eAG7B,QAAC,GAAUqC,IACX,QAAC,EAASA,GACR,QAAC,EAAWA,Q,sCCrChBiE,GAAO,SAAC,GAAgD,IAA9CC,EAA6C,EAA7CA,aAAcvG,EAA+B,EAA/BA,QAAmBqC,GAAY,EAAtBmE,OAAsB,cACrD9E,GAAoBpB,OAAGiG,EAAcvG,GAC3C,OAAO,QAAC,IAAD,QAAMA,QAAS0B,GAAuBW,KAG/C,MAEAiE,GAAKhD,aAAe,CAClBiD,aAAc,QACdvG,QAAS,a,8sBCVX,IAAMF,EAAS,CACbsF,QAAS,CACPlC,KAAK,OACLuD,gBAAgB,k/RAChBC,eAAe,QACf7B,SAAS,WACThC,QAAS,IACT8D,IAAK,EACLC,KAAM,IAQV,EAJuB,SAAC,GAAD,QAAGvG,UAAH,MAAQ,GAAR,EAAegC,GAAf,mBACrB,QAAC,MAAD,QAAKhC,GAAE,OAAOP,EAAOsF,SAAY/E,IAAUgC","file":"586fb84872d6e3efeb9c8e16563f8f61a396a67c-19d80aadbfabaf981b77.js","sourcesContent":["//Responsive flex sizes based on theme-ui sizes (theme.sizes)\nexport default columns => {\n if (!Array.isArray(columns) || columns.length <= 0) return\n\n let columnSizes\n\n const sizes = {\n 1: `full`,\n 2: `1/2`,\n 3: `1/3`,\n 4: `1/4`,\n 5: `1/5`\n }\n columnSizes = {\n flexBasis: [\n sizes[columns[0]],\n sizes[columns[1]],\n sizes[columns[2]],\n sizes[columns[3]]\n ]\n }\n\n return columnSizes\n}\n","const getReadableColor = hex => {\n if (hex.indexOf('#') === 0) {\n hex = hex.slice(1)\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]\n }\n if (hex.length !== 6) {\n console.log('Invalid HEX color.')\n return\n }\n var r = parseInt(hex.slice(0, 2), 16),\n g = parseInt(hex.slice(2, 4), 16),\n b = parseInt(hex.slice(4, 6), 16)\n\n return r * 0.299 + g * 0.587 + b * 0.114 > 186 ? '#2d3748' : '#FFFFFF'\n}\n\nexport default getReadableColor\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport { Box, Badge, css } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport getReadableColor from '@components/utils/getReadableColor'\n\nconst styles = {\n badge: {\n mb: 3\n }\n}\n\nconst CardBodyCategory = ({ variant, category, omitCategory }) =>\n !omitCategory && category && category.slug ? (\n \n \n {category.name}\n \n \n ) : null\n\nexport default CardBodyCategory\n","import React from 'react'\nimport { Link as GLink } from 'gatsby'\nimport { Heading } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst CardBodyTitle = ({ variant, title, slug, link }) => {\n const linkProps = link\n ? {\n as: 'a',\n href: link,\n target: '_blank',\n rel: 'noopener noreferrer'\n }\n : {\n as: GLink,\n to: slug\n }\n return (\n \n {title}\n \n )\n}\n\nexport default CardBodyTitle\n","import React from 'react'\nimport { Text, useThemeUI, get } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst styles = {\n excerpt: {\n flex: `auto`,\n mb: 3\n }\n}\n\nconst CardBodyExcerpt = ({ variant, excerpt, omitExcerpt }) => {\n const context = useThemeUI()\n\n const responsiveVariant = rv(variant, 'excerpt')\n\n const visibility = responsiveVariant.reduce(\n (mobileVisibility, variant) =>\n mobileVisibility === false &&\n get(context.theme, variant, {}).display === 'none'\n ? false\n : true,\n false\n )\n\n return !omitExcerpt && visibility ? (\n \n {excerpt}\n \n ) : null\n}\n\nexport default CardBodyExcerpt\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport CardBodyCategory from './Card.Body.Category'\nimport CardBodyTitle from './Card.Body.Title'\nimport CardBodyExcerpt from './Card.Body.Excerpt'\n\nconst styles = {\n body: {\n display: `flex`,\n flexDirection: `column`,\n justifyContent: `center`,\n flex: 1\n }\n}\n\nconst CardBody = ({ children, omitBody, ...props }) =>\n !omitBody && (\n \n \n \n \n {children}\n \n )\n\nexport default CardBody\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { GatsbyImage as Img } from 'gatsby-plugin-image'\nimport { Box } from 'theme-ui'\nimport getImageVariant from '@components/utils/getImageVariant'\n\nconst styles = {\n imageWrapperSimple: {\n bg: `omegaLight`,\n display: `inline-block`,\n verticalAlign: `middle`,\n borderRadius: `full`,\n borderStyle: `solid`,\n borderWidth: `md`,\n borderColor: `omegaLight`,\n overFlow: `hidden`,\n opacity: 0.9,\n mr: 3,\n img: {\n borderRadius: `full`\n },\n ':hover': {\n opacity: 1\n },\n '> div': {\n borderRadius: `full`\n }\n }\n}\n\nconst AvatarSimple = ({ avatar, size, alt }) => {\n const image = avatar && getImageVariant(avatar, size)\n\n if (!image) return null\n\n return (\n \n {alt}\n \n )\n}\n\nexport default AvatarSimple\n\nAvatarSimple.defaultProps = {\n size: 'regular'\n}\n\nAvatarSimple.propTypes = {\n size: PropTypes.oneOf([false, 'small', 'regular']),\n loading: PropTypes.string,\n alt: PropTypes.string\n}\n","import React from 'react'\nimport { Link as GLink } from 'gatsby'\nimport { Link, useThemeUI, get } from 'theme-ui'\nimport AvatarSimple from '@components/AvatarSimple'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst CardFooterAuthorAvatar = ({ variant, omitAuthor, author }) => {\n const context = useThemeUI()\n\n if (omitAuthor) return null\n\n const responsiveVariant = rv(variant, 'authorPhoto')\n\n const visibility = responsiveVariant.reduce(\n (mobileVisibility, variant) =>\n mobileVisibility === false &&\n get(context.theme, variant, {}).display === 'none'\n ? false\n : true,\n false\n )\n\n return visibility ? (\n author && author.thumbnail ? (\n \n \n \n ) : null\n ) : null\n}\nexport default CardFooterAuthorAvatar\n","import React from 'react'\nimport { Link as GLink } from 'gatsby'\nimport { Text, Link } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst styles = {\n author: {\n pr: 2\n }\n}\n\nconst CardFooterAuthorName = ({ variant, omitAuthor, author }) =>\n !omitAuthor && author && author.slug ? (\n \n \n {author.name}\n \n \n ) : null\n\nexport default CardFooterAuthorName\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Box } from 'theme-ui'\n\nconst styles = {\n wrapper: separator => ({\n '> *': {\n ':not(:last-child) + *:before': {\n content: `\" ${separator} \"`\n }\n }\n }),\n nowrap: {\n overflow: `hidden`,\n textOverflow: `ellipsis`,\n whiteSpace: `nowrap`\n }\n}\n\nconst TextList = ({ nowrap, separator, children }) => (\n \n {children}\n \n)\n\nexport default TextList\n\nTextList.defaultProps = {\n separator: '・',\n nowrap: false\n}\n\nTextList.propTypes = {\n separator: PropTypes.string,\n nowrap: PropTypes.bool\n}\n","import React from 'react'\nimport { Text } from 'theme-ui'\nimport TextList from '@components/TextList'\nimport { FaRegClock } from 'react-icons/fa'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst CardFooterInfo = ({ variant, date, timeToRead }) => (\n \n {date && {date}}\n {timeToRead && (\n \n {timeToRead} min\n \n )}\n \n)\n\nexport default CardFooterInfo\n","import React from 'react'\nimport { Flex } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport AuthorAvatar from './Card.Footer.Author.Avatar'\nimport AuthorName from './Card.Footer.Author.Name'\nimport Info from './Card.Footer.Info'\n\nconst styles = {\n wrapper: {\n alignItems: `center`\n },\n postInfo: {\n flex: 1,\n flexWrap: `wrap`,\n justifyContent: `space-between`,\n color: `omega`\n }\n}\n\nconst CardFooter = ({ omitFooter, ...props }) =>\n !omitFooter && (\n \n \n \n \n \n \n \n )\nexport default CardFooter\n","import React from 'react'\nimport SVG from 'react-inlinesvg'\nimport { Flex, Box, Text, css } from 'theme-ui'\nimport MemphisPattern from '@components/MemphisPattern'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport getReadableColor from '@components/utils/getReadableColor'\n\nconst styles = {\n iconBox: {\n height: `full`\n },\n iconAndText: {\n flexDirection: `column`,\n justifyContent: `center`,\n alignItems: `center`,\n // color: `omegaDark`,\n position: `relative`,\n fontWeight: `medium`,\n height: `full`,\n zIndex: 2,\n px: 2,\n lineHeight: 1.33,\n svg: {\n pb: 2\n }\n },\n pattern: {\n opacity: 0.07,\n borderRadius: `default`\n }\n}\n\nconst CardMediaIcon = ({ variant, thumbnailText, category }) =>\n category && category.icon && category.name ? (\n \n \n \n \n {thumbnailText || category.name}\n \n \n \n \n ) : null\n\nexport default CardMediaIcon\n","import React from 'react'\nimport { GatsbyImage as Img } from 'gatsby-plugin-image'\nimport { css } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\n\nconst CardMediaImage = ({ variant, loading, image, title }) => (\n \n)\nCardMediaImage.defaultProps = {\n loading: 'lazy'\n}\n\nexport default CardMediaImage\n","import React from 'react'\nimport { Link as GLink } from 'gatsby'\nimport { Link, useThemeUI, get } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport getImageVariant from '@components/utils/getImageVariant'\nimport CardMediaIcon from './Card.Media.Icon'\nimport CardMediaImage from './Card.Media.Image'\n\nconst DEFAULT_IMAGE_VARIANT = 'vertical'\n\nconst styles = {\n link: {\n userSelect: `none`,\n textAlign: `center`,\n position: `relative`,\n display: `block`\n }\n}\n\nconst CardMedia = ({\n imageVariant,\n omitMedia,\n mediaType,\n title,\n slug,\n link,\n ...props\n}) => {\n const context = useThemeUI()\n\n if (omitMedia) return null\n\n const { variant, thumbnail, thumbnailText } = props\n\n const imageVar =\n imageVariant ||\n get(context.theme, rv(variant, 'imageVariant')[0]) ||\n DEFAULT_IMAGE_VARIANT\n\n const image = getImageVariant(thumbnail, imageVar)\n\n const linkProps = link\n ? {\n as: 'a',\n href: link,\n target: '_blank',\n rel: 'noopener noreferrer'\n }\n : {\n as: GLink,\n to: slug\n }\n\n return (\n \n {mediaType === 'image' && image && (\n \n )}\n {(mediaType === 'icon' || (!image && thumbnailText)) && (\n \n )}\n \n )\n}\n\nCardMedia.defaultProps = {\n mediaType: 'image'\n}\n\nexport default CardMedia\n","import React from 'react'\nimport { Box, Card, Flex } from 'theme-ui'\nimport rv from '@components/utils/buildResponsiveVariant'\nimport columnSizeMatcher from '@components/utils/columnSizeMatcher'\nimport Body from './Card.Body'\nimport Footer from './Card.Footer'\nimport Media from './Card.Media'\n\nconst styles = {\n card: {\n overflow: `hidden`,\n height: `full`\n },\n content: {\n alignItems: `stretch`,\n height: `full`\n }\n}\n\nconst CardBase = ({ columns, onMouseOver, ...props }) => (\n \n \n \n \n \n