forked from koff75/myGatsbyBlog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---packages-blog-core-src-templates-collection-author-js-ac93c94d72e36ab9186b.js.map
1 lines (1 loc) · 29.3 KB
/
component---packages-blog-core-src-templates-collection-author-js-ac93c94d72e36ab9186b.js.map
1
{"version":3,"sources":["webpack:https:///../packages/blog/pages/src/containers/Collection.Author.jsx","webpack:https:///../packages/blog/core/src/templates/collection.author.js","webpack:https:///../packages/flow-ui/components/src/PageTitle/PageTitle.jsx","webpack:https:///../packages/flow-ui/components/src/CardList/CardList.Slider.Styles.js","webpack:https:///../packages/flow-ui/components/src/CardList/CardList.Slider.jsx","webpack:https:///../packages/flow-ui/components/src/CardList/CardList.jsx","webpack:https:///../packages/flow-ui/components/src/utils/normalizeSlug.js","webpack:https:///../packages/flow-ui/components/src/Pagination/Pagination.jsx","webpack:https:///../packages/flow-ui/widgets/src/AuthorExpanded/AuthorExpanded.jsx"],"names":["Collection","data","posts","collectionInfo","Seo","title","name","Divider","effectProps","effect","PageTitle","header","totalCount","AuthorExpanded","author","nodes","CardList","variant","columns","Pagination","pageInfo","styles","count","fontSize","subheader","fontWeight","color","runninghead","mb","running","as","sx","slide","width","transition","opacity","transform","transformOrigin","fade","left","display","alignItems","controlBottom","top","bottom","ml","textAlign","verticalAlign","controlCenter","right","controlOver","p","bg","Slider","loadable","CardListSlider","React","forwardRef","props","ref","slidesToScroll","smoothAutoScroll","autoPlay","autoplaySpeed","dots","arrows","centerMode","centerPadding","controlPosition","beforeChange","children","context","useThemeUI","animationSettings","autoplay","cssEase","mobileSettings","swipeToSlide","responsiveSettings","theme","breakpoints","map","breakpoint","index","rSlidesToShow","length","rSlidesToScroll","parseInt","settings","slidesToShow","speed","infinite","responsive","css","prevArrow","arrowPrev","nextArrow","arrowNext","loadableFallback","slice","fallback","defaultProps","rows","withTitleLink","limit","skip","distinct","slider","aside","asNavFor","loading","rest","reducedNodes","reduceArray","titleLink","category","slug","sectionKey","hashCode","node","id","join","cardListVariant","buildResponsiveVariant","changeSlide","current","slickPause","slickGoTo","cards","Card","key","onMouseOver","onFocus","undefined","Section","replace","wrapper","justifyContent","borderRadius","maxWidth","mx","item","number","py","button","minWidth","currentPage","pageCount","hasPreviousPage","hasNextPage","basePath","prefixPath","normalizeSlug","pagingPath","prevLink","nextLink","Link","to","card","position","flexDirection","zIndex","avatarColumn","flexBasis","infoColumn","innerBox","flexGrow","px","mt","bio","socialList","a","m","link","pattern","gradient","size","background","t","colors","contentBg","Subheader","AuthorAvatar","thumbnail","GLink","aria-label","avatar","AuthorName","AuthorBio","description","AuthorSkills","skills","skill","AuthorSocialMedia","social","items","attachSocialIcons","wrapperStyle","withLink"],"mappings":"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","file":"component---packages-blog-core-src-templates-collection-author-js-ac93c94d72e36ab9186b.js","sourcesContent":["import React from 'react'\r\nimport { Stack, Main, PreFooter } from '@layout'\r\nimport PageTitle from '@components/PageTitle'\r\nimport Pagination from '@components/Pagination'\r\nimport CardList from '@components/CardList'\r\nimport Divider from '@components/Divider'\r\nimport Seo from '@widgets/Seo'\r\nimport AuthorExpanded from '@widgets/AuthorExpanded'\r\n\r\nconst Collection = ({ data: { posts, collectionInfo } }) => (\r\n <>\r\n <Seo title={collectionInfo.name} />\r\n <Divider />\r\n <Stack effectProps={{ effect: 'fadeInDown' }}>\r\n <PageTitle header='Published by Author' totalCount={posts.totalCount} />\r\n </Stack>\r\n <Divider />\r\n <Stack>\r\n <Main>\r\n <AuthorExpanded author={collectionInfo} />\r\n <Divider />\r\n {posts.nodes && (\r\n <CardList\r\n nodes={posts.nodes}\r\n variant={['horizontal-md', 'vertical']}\r\n columns={[1, 2, 3, 3]}\r\n />\r\n )}\r\n </Main>\r\n </Stack>\r\n <Divider />\r\n <PreFooter>\r\n <Pagination {...posts.pageInfo} {...collectionInfo} />\r\n </PreFooter>\r\n </>\r\n)\r\n\r\nexport default Collection\r\n","import { graphql } from 'gatsby'\r\nimport Collection from '../containers/Collection.Author'\r\n\r\nexport default Collection\r\n\r\nexport const pageQuery = graphql`\r\n query allArticleByAuthorQuery($skip: Int!, $limit: Int!, $slug: String!) {\r\n collectionInfo: articleAuthor(slug: { eq: $slug }) {\r\n ...ArticleAuthor\r\n }\r\n\r\n posts: allArticle(\r\n filter: { private: { ne: true }, author: { slug: { eq: $slug } } }\r\n sort: { fields: [date], order: DESC }\r\n limit: $limit\r\n skip: $skip\r\n ) {\r\n nodes {\r\n ...ArticlePreview\r\n ...ArticleThumbnailRegular\r\n }\r\n ...ArticlePagination\r\n }\r\n }\r\n`\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Heading, Text, Badge } from 'theme-ui'\r\n\r\nconst styles = {\r\n count: {\r\n fontSize: 4\r\n },\r\n subheader: {\r\n fontWeight: `body`,\r\n color: `omegaDark`\r\n },\r\n runninghead: {\r\n fontWeight: `body`,\r\n color: `omegaDark`,\r\n mb: 0\r\n }\r\n}\r\n\r\nconst PageTitle = ({ header, subheader, running, totalCount }) => {\r\n return (\r\n <div>\r\n <Heading variant='h1' as='h1'>\r\n {header}{' '}\r\n {totalCount && (\r\n <Badge variant='tag-white' sx={styles.count}>\r\n {' '}\r\n {totalCount}\r\n </Badge>\r\n )}\r\n </Heading>\r\n {subheader && (\r\n <Text variant='h3' sx={styles.subheader}>\r\n {subheader}\r\n </Text>\r\n )}\r\n {running && (\r\n <Text variant='h4' sx={styles.runninghead}>\r\n {running}\r\n </Text>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default PageTitle\r\n\r\nPageTitle.propTypes = {\r\n title: PropTypes.string,\r\n subheader: PropTypes.string,\r\n running: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n totalCount: PropTypes.number\r\n}\r\n","export default {\r\n slide: {\r\n width: `full`,\r\n '.slick-slide': {\r\n transition: `all 600ms ease`,\r\n opacity: 1,\r\n transform: [null, `scale(1)`],\r\n transformOrigin: `left`\r\n },\r\n '.slick-slide.slick-active + :not(.slick-active)': {\r\n opacity: [null, 0],\r\n transform: [null, `scale(0.7)`]\r\n }\r\n },\r\n fade: {\r\n width: `full`,\r\n '.slick-slide:not(.slick-active)': {\r\n left: `-9999px !important` //fix overlapping slides in fade mode\r\n },\r\n '.slick-track': {\r\n display: `flex`,\r\n alignItems: `center`\r\n }\r\n },\r\n controlBottom: {\r\n '.slick-prev, .slick-next': {\r\n top: `auto`,\r\n bottom: 3,\r\n left: `50%`,\r\n transform: `translate(-125%, 0)`\r\n },\r\n '.slick-next': {\r\n ml: 5\r\n },\r\n '.slick-dots': {\r\n textAlign: `center`,\r\n width: [`full`, `auto`],\r\n top: [`100%`, `auto`],\r\n bottom: 0\r\n },\r\n '.slick-dots li': {\r\n verticalAlign: `middle`\r\n }\r\n },\r\n controlCenter: {\r\n '.slick-prev, .slick-next': {\r\n top: `50%`,\r\n left: `50%`,\r\n transform: `translate(-125%, -50%)`\r\n },\r\n '.slick-next': {\r\n ml: 5\r\n },\r\n '.slick-dots': {\r\n textAlign: `center`,\r\n width: [`full`, `auto`],\r\n top: [`100%`, `auto`],\r\n bottom: 4,\r\n right: 4\r\n }\r\n },\r\n controlOver: {\r\n width: `full`,\r\n '.slick-prev, .slick-next': {\r\n top: `auto`,\r\n bottom: [-2, 3],\r\n left: [4, 6]\r\n },\r\n '.slick-next': {\r\n ml: 5\r\n },\r\n '.slick-dots': {\r\n display: [`none`, `block`],\r\n textAlign: `center`,\r\n width: `auto`,\r\n top: 5,\r\n left: 4,\r\n p: 0,\r\n ml: 3\r\n },\r\n '.slick-dots li': {\r\n display: [`inline-block`, `block`]\r\n },\r\n '.slick-dots li.slick-active button': {\r\n bg: `alpha`\r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { IconButton, css, useThemeUI } from 'theme-ui'\r\nimport { FaChevronLeft, FaChevronRight } from 'react-icons/fa'\r\nimport 'slick-carousel/slick/slick.css'\r\nimport './CardList.Slider.css'\r\nimport styles from './CardList.Slider.Styles'\r\n\r\nimport loadable from '@loadable/component'\r\nconst Slider = loadable(() => import('react-slick'))\r\n\r\nconst CardListSlider = React.forwardRef((props, ref) => {\r\n const {\r\n columns,\r\n slidesToScroll,\r\n smoothAutoScroll,\r\n autoPlay,\r\n autoplaySpeed,\r\n fade,\r\n dots,\r\n arrows,\r\n centerMode,\r\n centerPadding,\r\n controlPosition,\r\n beforeChange,\r\n children\r\n } = props\r\n\r\n const context = useThemeUI()\r\n\r\n const animationSettings = {\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n cssEase: 'linear'\r\n }\r\n\r\n const mobileSettings = {\r\n centerMode: fade ? false : true,\r\n centerPadding: '40px',\r\n swipeToSlide: true,\r\n arrows: false,\r\n dots: dots && fade ? true : false\r\n }\r\n\r\n const responsiveSettings = context.theme.breakpoints.map(\r\n (breakpoint, index) => {\r\n const rSlidesToShow =\r\n columns[index >= columns.length ? columns.length - 1 : index]\r\n const rSlidesToScroll =\r\n slidesToScroll[\r\n index >= slidesToScroll.length ? slidesToScroll.length - 1 : index\r\n ]\r\n return {\r\n breakpoint: parseInt(breakpoint),\r\n settings: {\r\n slidesToShow: rSlidesToShow,\r\n slidesToScroll: rSlidesToScroll,\r\n ...(index === 0 ? mobileSettings : {})\r\n }\r\n }\r\n }\r\n )\r\n let settings = {\r\n ref,\r\n beforeChange,\r\n slidesToShow: columns[columns.length - 1],\r\n slidesToScroll: slidesToScroll[slidesToScroll.length - 1],\r\n speed: 800,\r\n dots,\r\n arrows,\r\n centerMode,\r\n centerPadding,\r\n infinite: true,\r\n cssEase: fade ? 'ease-out' : 'cubic-bezier(0.23, 1, 0.32, 1)',\r\n fade,\r\n responsive: responsiveSettings,\r\n css: css({\r\n ...(fade ? styles.fade : styles.slide),\r\n ...(controlPosition === 'bottom' && styles.controlBottom),\r\n ...(controlPosition === 'center' && styles.controlCenter),\r\n ...(controlPosition === 'over' && styles.controlOver)\r\n }),\r\n prevArrow: (\r\n <IconButton sx={styles.arrowPrev}>\r\n <FaChevronLeft />\r\n </IconButton>\r\n ),\r\n nextArrow: (\r\n <IconButton sx={styles.arrowNext}>\r\n <FaChevronRight />\r\n </IconButton>\r\n )\r\n }\r\n\r\n if (smoothAutoScroll) {\r\n settings = {\r\n ...settings,\r\n ...animationSettings,\r\n speed: 10000,\r\n autoplaySpeed: 0,\r\n arrows: false,\r\n dots: false\r\n }\r\n }\r\n\r\n if (!smoothAutoScroll && autoPlay) {\r\n settings = {\r\n ...settings,\r\n ...animationSettings,\r\n speed: 300,\r\n autoplaySpeed\r\n }\r\n }\r\n\r\n const loadableFallback = children.slice(0, columns[columns.length - 1])\r\n\r\n return (\r\n <Slider {...settings} fallback={loadableFallback}>\r\n {children}\r\n </Slider>\r\n )\r\n})\r\n\r\nexport default CardListSlider\r\n\r\nCardListSlider.defaultProps = {\r\n fade: false,\r\n dots: true,\r\n arrows: true,\r\n centerMode: false,\r\n centerPadding: '50px',\r\n autoPlay: false,\r\n autoplaySpeed: 3000,\r\n smoothAutoScroll: false,\r\n slidesToScroll: [1],\r\n rows: 1,\r\n controlPosition: 'sides'\r\n}\r\n\r\nCardListSlider.propTypes = {\r\n fade: PropTypes.bool,\r\n dots: PropTypes.bool,\r\n arrows: PropTypes.bool,\r\n centerMode: PropTypes.bool,\r\n centerPadding: PropTypes.string,\r\n autoPlay: PropTypes.bool,\r\n autoplaySpeed: PropTypes.number,\r\n smoothAutoScroll: PropTypes.bool,\r\n columns: PropTypes.arrayOf(PropTypes.number),\r\n slidesToScroll: PropTypes.arrayOf(PropTypes.number),\r\n controlPosition: PropTypes.oneOf(['bottom', 'over', 'sides', 'center'])\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Box } from 'theme-ui'\r\nimport { reduceArray, hashCode, buildResponsiveVariant } from '../utils/'\r\nimport Section from '@components/Section'\r\nimport CardListSlider from './CardList.Slider'\r\nimport Card from '@components/Card'\r\n\r\nconst SLIDER_VARIANT_GROUP = 'lists.cards.slider'\r\nconst FIXED_VARIANT_GROUP = 'lists.cards.fixed'\r\n\r\nconst CardList = React.forwardRef((props, ref) => {\r\n const {\r\n nodes,\r\n variant,\r\n title,\r\n withTitleLink,\r\n limit,\r\n skip,\r\n distinct,\r\n slider,\r\n aside,\r\n asNavFor,\r\n loading,\r\n ...rest\r\n } = props\r\n\r\n const reducedNodes = reduceArray(nodes, { distinct, limit, skip })\r\n if (!reducedNodes || !reducedNodes.length) return null\r\n\r\n //Section title link for viewing more posts from same category\r\n const titleLink = withTitleLink\r\n ? reducedNodes[0].category && reducedNodes[0].category.slug\r\n : ''\r\n\r\n //Unique key for section\r\n const sectionKey =\r\n title && `${hashCode(reducedNodes.map(node => node.id).join())}`\r\n\r\n //Build responsive variant for card list\r\n const cardListVariant = buildResponsiveVariant(\r\n slider ? SLIDER_VARIANT_GROUP : FIXED_VARIANT_GROUP,\r\n variant\r\n )\r\n\r\n const changeSlide = index => {\r\n if (asNavFor && asNavFor.current) {\r\n asNavFor.current.slickPause()\r\n asNavFor.current.slickGoTo(index)\r\n }\r\n }\r\n\r\n //Array of cards\r\n const cards = reducedNodes.map((node, index) => (\r\n <Card\r\n key={node.id}\r\n variant={variant}\r\n onMouseOver={() => changeSlide(index)}\r\n onFocus={() => changeSlide(index)}\r\n //In sliders with fade effect apply loading to the first card only\r\n loading={props.fade ? (index === 0 ? loading : undefined) : loading}\r\n {...node}\r\n {...rest}\r\n />\r\n ))\r\n\r\n //Cards List (Fixed or Slider)\r\n const CardList = () => (\r\n <Box sx={{ variant: cardListVariant }}>\r\n {slider ? (\r\n <CardListSlider\r\n ref={ref}\r\n // beforeChange={index => changeSlide(index)}\r\n {...rest}\r\n >\r\n {cards}\r\n </CardListSlider>\r\n ) : (\r\n cards\r\n )}\r\n </Box>\r\n )\r\n\r\n return title ? (\r\n <Section title={title} titleLink={titleLink} key={sectionKey} aside={aside}>\r\n <CardList />\r\n </Section>\r\n ) : (\r\n <CardList />\r\n )\r\n})\r\n\r\nexport default CardList\r\n\r\nCardList.defaultProps = {\r\n variant: 'vertical',\r\n columns: [1],\r\n aside: false\r\n}\r\n\r\nCardList.propTypes = {\r\n variant: PropTypes.oneOfType([\r\n PropTypes.array,\r\n PropTypes.oneOf([\r\n 'horizontal',\r\n 'horizontal-aside',\r\n 'horizontal-md',\r\n 'horizontal-lg',\r\n 'horizontal-cover',\r\n 'horizontal-cover-hero',\r\n 'horizontal-cover-wide',\r\n 'horizontal-hero',\r\n 'vertical-cover',\r\n 'vertical',\r\n 'search'\r\n ])\r\n ]),\r\n loading: PropTypes.oneOf(['lazy', 'auto', 'eager']),\r\n columns: PropTypes.array,\r\n title: PropTypes.string,\r\n withTitleLink: PropTypes.bool,\r\n nodes: PropTypes.array,\r\n distinct: PropTypes.bool,\r\n limit: PropTypes.number,\r\n skip: PropTypes.number,\r\n aside: PropTypes.bool\r\n}\r\n","// normalize use of trailing slash\r\nexport default slug => slug.replace(/\\/*$/, `/`)\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Link } from 'gatsby'\r\nimport { Button, Flex, Box } from 'theme-ui'\r\nimport { FaChevronLeft, FaChevronRight } from 'react-icons/fa'\r\nimport normalizeSlug from '../utils/normalizeSlug'\r\n\r\nconst pagingParam = 'page'\r\n\r\nconst styles = {\r\n wrapper: {\r\n justifyContent: `space-between`,\r\n alignItems: `center`,\r\n textAlign: `center`,\r\n borderRadius: `full`,\r\n bg: `contentBg`,\r\n maxWidth: [`none`, 500],\r\n mx: `auto`,\r\n p: 1\r\n },\r\n item: {\r\n width: `1/3`\r\n },\r\n number: {\r\n py: 2\r\n },\r\n button: {\r\n minWidth: `full`\r\n }\r\n}\r\n\r\nconst Pagination = ({\r\n currentPage,\r\n pageCount,\r\n hasPreviousPage,\r\n hasNextPage,\r\n basePath = '',\r\n slug = ''\r\n}) => {\r\n if (!hasNextPage && !hasPreviousPage) return ''\r\n let prefixPath = normalizeSlug(basePath + slug)\r\n let pagingPath = normalizeSlug(prefixPath + pagingParam)\r\n\r\n const prevLink =\r\n currentPage >= 3 ? `${pagingPath}${currentPage - 1}` : prefixPath\r\n const nextLink = `${pagingPath}${currentPage + 1}`\r\n\r\n return (\r\n <Flex sx={styles.wrapper}>\r\n <Box sx={styles.item}>\r\n {hasPreviousPage && (\r\n <Button variant='mute' as={Link} to={prevLink} sx={styles.button}>\r\n <FaChevronLeft />\r\n Previous\r\n </Button>\r\n )}\r\n </Box>\r\n <Box sx={{ ...styles.item, ...styles.number }}>\r\n Page <strong>{currentPage}</strong> of <strong>{pageCount}</strong>\r\n </Box>\r\n <Box sx={styles.item}>\r\n {hasNextPage && (\r\n <Button variant='dark' as={Link} to={nextLink} sx={styles.button}>\r\n Next\r\n <FaChevronRight />\r\n </Button>\r\n )}\r\n </Box>\r\n </Flex>\r\n )\r\n}\r\n\r\nexport default Pagination\r\n\r\nPagination.propTypes = {\r\n currentPage: PropTypes.number,\r\n pageCount: PropTypes.number,\r\n hasPreviousPage: PropTypes.bool,\r\n hasNextPage: PropTypes.bool,\r\n slug: PropTypes.string,\r\n pagingParam: PropTypes.string\r\n}\r\n","import React from 'react'\r\nimport { Link as GLink } from 'gatsby'\r\nimport { Flex, Box, Text, Heading, Card, Badge, Link } from 'theme-ui'\r\nimport MemphisPattern from '@components/MemphisPattern'\r\nimport Avatar from '@components/Avatar'\r\nimport Navigation from '@components/Navigation'\r\nimport attachSocialIcons from '@helpers/attachSocialIcons'\r\n\r\nconst styles = {\r\n card: {\r\n position: `relative`,\r\n },\r\n wrapper: {\r\n flexDirection: [`column`, `row`],\r\n position: `relative`,\r\n zIndex: 3,\r\n },\r\n avatarColumn: {\r\n flexBasis: `1/3`,\r\n },\r\n infoColumn: {\r\n flexBasis: `2/3`,\r\n },\r\n innerBox: {\r\n flexBasis: `1/2`,\r\n flexGrow: 1,\r\n px: [0, 3],\r\n mt: [3, 0],\r\n },\r\n subheader: {\r\n color: `omegaDark`,\r\n },\r\n name: {\r\n textAlign: [`center`, `left`],\r\n mt: [3, 0],\r\n px: 3,\r\n },\r\n bio: {\r\n textAlign: [`center`, `left`],\r\n },\r\n socialList: {\r\n a: {\r\n m: 0,\r\n },\r\n },\r\n link: {\r\n position: `absolute`,\r\n top: 10,\r\n right: 10,\r\n zIndex: 3,\r\n },\r\n pattern: {\r\n borderRadius: `lg`,\r\n },\r\n gradient: {\r\n size: `full`,\r\n borderRadius: `lg`,\r\n position: `absolute`,\r\n left: 0,\r\n top: 0,\r\n zIndex: 2,\r\n background: [\r\n (t) =>\r\n `linear-gradient(0deg, ${t.colors.contentBg} 20%, transparent 80%)`,\r\n (t) =>\r\n `linear-gradient(270deg, ${t.colors.contentBg} 20%, transparent 100%)`,\r\n ],\r\n },\r\n}\r\n\r\nconst Subheader = ({ children }) => (\r\n <Heading variant='h4' sx={styles.subheader}>\r\n {children}\r\n </Heading>\r\n)\r\n\r\nconst AuthorAvatar = ({ name, thumbnail, slug }) =>\r\n thumbnail ? (\r\n <Box>\r\n <Link as={GLink} to={slug} aria-label={name}>\r\n <Avatar avatar={thumbnail} />\r\n </Link>\r\n </Box>\r\n ) : null\r\n\r\nconst AuthorName = ({ name, slug }) => (\r\n <Box sx={styles.name}>\r\n <Heading variant='h3'>\r\n <Link as={GLink} to={slug}>\r\n {name}\r\n </Link>\r\n </Heading>\r\n </Box>\r\n)\r\n\r\nconst AuthorBio = ({ title, description }) => (\r\n <Box sx={styles.bio}>\r\n <Subheader>{title}</Subheader>\r\n <Text>{description}</Text>\r\n </Box>\r\n)\r\n\r\nconst AuthorSkills = ({ skills }) =>\r\n skills ? (\r\n <Box sx={styles.innerBox}>\r\n <Subheader>Expertise</Subheader>\r\n {skills.map((skill) => (\r\n <Text key={`skill-${skill}`}>{skill}</Text>\r\n ))}\r\n </Box>\r\n ) : null\r\n\r\nconst AuthorSocialMedia = ({ social }) =>\r\n social ? (\r\n <Box sx={styles.innerBox}>\r\n <Subheader>Social Media</Subheader>\r\n <Navigation\r\n variant='vertical'\r\n items={attachSocialIcons(social)}\r\n wrapperStyle={styles.socialList}\r\n />\r\n </Box>\r\n ) : null\r\n\r\nconst AuthorExpanded = ({ author, withLink }) => {\r\n if (!author) return null\r\n\r\n const { skills, social } = author\r\n\r\n return (\r\n <Card variant='paper' sx={styles.card}>\r\n <Flex sx={styles.wrapper}>\r\n <Box sx={styles.avatarColumn}>\r\n <AuthorAvatar {...author} />\r\n </Box>\r\n <Box sx={styles.infoColumn}>\r\n <AuthorName {...author} />\r\n <Flex sx={styles.wrapper}>\r\n <Box sx={styles.innerBox}>\r\n <AuthorBio {...author} />\r\n </Box>\r\n {(social || skills) && (\r\n <Box sx={styles.innerBox}>\r\n <Flex>\r\n <AuthorSkills {...author} />\r\n <AuthorSocialMedia {...author} />\r\n </Flex>\r\n </Box>\r\n )}\r\n </Flex>\r\n </Box>\r\n </Flex>\r\n {withLink && (\r\n <Badge variant='tag' as={GLink} to={author.slug} sx={styles.link}>\r\n View Posts\r\n </Badge>\r\n )}\r\n <Box sx={styles.gradient} />\r\n <MemphisPattern sx={styles.pattern} />\r\n </Card>\r\n )\r\n}\r\n\r\nexport default AuthorExpanded\r\n"],"sourceRoot":""}