{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/PressReleaseCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/EventCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/ArticleCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/BlogCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/NewsHeadlineCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/WebinarCard.tsx","webpack://@verndale/toolkit/./src/js/modules/featuredItemsListing/index.tsx","webpack://@verndale/toolkit/./src/js/modules/productTourListing/ProductTourCard.tsx"],"names":["url","date","heading","contentType","image","React","articleAuthor","label","endpoint","cardListingTag","cardsType","itemsPerPage","maxItems","initialButtonLabel","isFeaturedFirstRow","showFeaturedOnly","page","setPage","showButton","setShowButton","buttonLabel","setButtonLabel","items","setItems","fetchResults","response","data","newItems","item","totalItems","featuredItem","itemsLeft","buttonCount","PressReleaseCard","__spreadValues","NewsHeadlineCard","EventCard","ProductTourCard","BlogCard","WebinarCard","ArticleCard","tags","description","tag"],"mappings":"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","file":"scripts/9780.dd760f4ca4b4e988f8d8.js","sourcesContent":["import * as React from 'react';\n\ntype PressReleasesCardProps = {\n url: string;\n date: string;\n heading: string;\n description?: string;\n contentType: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst PressReleaseCard: React.FC = ({\n url,\n date,\n heading,\n contentType,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n

{heading}

\n

{contentType} | {date}

\n
\n
\n);\nexport default PressReleaseCard;\n","import * as React from 'react';\n\ntype EventCardProps = {\n url: string;\n heading: string;\n contentType: string;\n date: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst EventCard: React.FC = ({\n url,\n heading,\n date,\n contentType,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n \n

{heading}

\n

{contentType} | {date}

\n \n {/*

{date}

*/}\n
\n
\n);\n\nexport default EventCard;\n","import * as React from 'react';\n\ntype ArticleCardProps = {\n url: string;\n heading: string;\n contentType: string;\n date: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst ArticleCard: React.FC = ({\n url,\n heading,\n contentType,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n \n

{heading}

\n

{contentType}

\n \n {/*

{date}

*/}\n
\n
\n);\n\nexport default ArticleCard;\n","import * as React from 'react';\n\ntype BlogCardProps = {\n url: string;\n heading: string;\n articleAuthor: string;\n contentType: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst BlogCard: React.FC = ({\n url,\n heading,\n articleAuthor,\n contentType,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n \n

{heading}

\n

{contentType} | {articleAuthor}

\n {/*

{eventType}

*/} \n \n
\n
\n);\n\nexport default BlogCard;\n","import * as React from 'react';\n\ntype NewsHeadlineCardProps = {\n url: string;\n heading: string;\n label: string;\n contentType: string;\n};\n\nconst NewsHeadlineCard: React.FC = ({\n url,\n heading,\n label,\n contentType,\n\n}) => (\n
\n \n

{heading}

\n

{contentType} | {label}

\n
\n);\n\nexport default NewsHeadlineCard;\n","import * as React from 'react';\n\ntype PressReleasesCardProps = {\n url: string;\n date: string;\n heading: string;\n description?: string;\n contentType: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst PressReleaseCard: React.FC = ({\n url,\n date,\n heading,\n contentType,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n

{heading}

\n

{contentType} | {date}

\n
\n
\n);\nexport default PressReleaseCard;\n","import * as React from 'react';\nimport PressReleaseCard from './PressReleaseCard';\nimport EventCard from './EventCard';\nimport ArticleCard from './ArticleCard';\nimport BlogCard from './BlogCard';\nimport NewsHeadlineCard from './NewsHeadlineCard';\nimport WebinarCard from './WebinarCard';\nimport ProductTourCard from '../productTourListing/ProductTourCard';\n\ntype FeaturedItemsMastheadProps = {\n endpoint: string;\n buttonLabel: string;\n cardListingTag: string;\n cardsType: string;\n itemsPerPage?: string;\n maxItems?: string;\n isFeaturedFirstRow?: string;\n showFeaturedOnly?: string;\n};\n\ntype PressReleaseItem = {\n id: string;\n url: string;\n heading: string;\n date: string;\n description?: string;\n type: string;\n contentType: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\ntype WebinarItem = {\n id: string;\n url: string;\n heading: string;\n date: string;\n description?: string;\n type: string;\n contentType: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\ntype EventItem = {\n id: string;\n url: string;\n heading: string;\n eventType: string;\n date: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n type: string;\n contentType: string;\n};\n\ntype ArticleItem = {\n id: string;\n url: string;\n heading: string;\n eventType: string;\n date: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n type: string;\n contentType: string;\n};\n\ntype BlogItem = {\n id: string;\n url: string;\n heading: string;\n articleAuthor: string;\n eventType: string;\n date: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n type: string;\n contentType: string;\n};\n\ntype ProductTourItem = {\n id: string;\n url: string;\n heading: string;\n tags: string[];\n description: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n type: string;\n contentType: string;\n};\n\ntype NewsHeadlineItem = {\n id: string;\n url: string;\n heading: string;\n label: string;\n type: string;\n contentType: string;\n};\n\ntype Item = Array<\n PressReleaseItem | EventItem | BlogItem | NewsHeadlineItem | ProductTourItem | ArticleItem\n>;\n\ntype EndpointResponse = {\n totalItems: number;\n items: Array<\n PressReleaseItem | EventItem | BlogItem | NewsHeadlineItem | ProductTourItem | ArticleItem\n >;\n};\n\nconst FeaturedItemsListing: React.FC = ({\n endpoint,\n cardListingTag,\n cardsType,\n itemsPerPage = '12',\n maxItems = '12',\n buttonLabel: initialButtonLabel,\n isFeaturedFirstRow = 'false',\n showFeaturedOnly = 'false'\n}) => {\n const [page, setPage] = React.useState(1);\n const [showButton, setShowButton] = React.useState(false);\n const [buttonLabel, setButtonLabel] = React.useState('');\n const [items, setItems] = React.useState<\n Array\n >([]);\n\n const fetchResults = React.useCallback(() => {\n fetch(\n `${endpoint}?page=${page}&itemsPerPage=${itemsPerPage}&maxItems=${maxItems}&cardListingTag=${cardListingTag}&cardsType=${cardsType}&isFeaturedFirstRow=${isFeaturedFirstRow}&showFeaturedOnly=${showFeaturedOnly}`\n )\n .then(response => response.json())\n .then((data: EndpointResponse) => {\n const newItems: Item = data.items\n .map((item: any) => {\n if (item.type === 'press-release') {\n return item as PressReleaseItem;\n } else if (item.type === 'event') {\n return item as EventItem;\n } else if (item.type === 'news-headline') {\n return item as NewsHeadlineItem;\n } else if (item.type === 'product-tour') {\n return item as ProductTourItem;\n } else if (item.type === 'blog') {\n return item as BlogItem;\n } else if (item.type === 'webinar') {\n return item as WebinarItem;\n } else if (\n item.type === 'article' ||\n item.type === 'case-study' ||\n item.type === 'video' ||\n item.type === 'research-report' ||\n item.type === 'white-paper' ||\n item.type === 'ebook' \n ) {\n return item as ArticleItem;\n } else return null;\n })\n .filter(item => !!item) as (\n | PressReleaseItem\n | EventItem\n | BlogItem\n | NewsHeadlineItem\n | ProductTourItem\n | ArticleItem\n )[];\n setItems(items => [...items, ...newItems]);\n\n const totalItems: number = data.totalItems;\n\n // If the first row is featured, (itemsPerPage + 1) items are shown on the first load\n const featuredItem = isFeaturedFirstRow === 'true' ? 1 : 0;\n const itemsLeft =\n totalItems - page * parseInt(itemsPerPage, 10) - featuredItem;\n\n const buttonCount =\n itemsLeft > parseInt(itemsPerPage, 10) ? itemsPerPage : itemsLeft;\n setShowButton(itemsLeft > 0);\n\n setButtonLabel(\n initialButtonLabel\n ?.replace('[count]', buttonCount.toString())\n .replace('[tag]', cardListingTag)\n .replace('[total]', totalItems.toString())\n );\n });\n }, [endpoint, page]);\n\n React.useEffect(() => {\n fetchResults();\n }, [page]);\n\n return (\n <>\n \n {items.map(item => {\n if (item.type === 'press-release')\n return (\n \n );\n else if (item.type === 'news-headline')\n return (\n \n );\n else if (\n item.type === 'event' \n )\n return ;\n else if (item.type === 'product-tour')\n return (\n \n );\n else if (item.type === 'blog')\n return (\n \n );\n else if (item.type === 'webinar')\n return (\n \n );\n else if (\n item.type === 'article' ||\n item.type === 'case-study'||\n item.type === 'video' ||\n item.type === 'research-report' ||\n item.type === 'white-paper' ||\n item.type === 'ebook'\n )\n return ;\n else return null;\n })}\n \n {showButton && buttonLabel && (\n setPage(page + 1)}\n >\n {buttonLabel}\n \n )}\n \n );\n};\n\nexport default FeaturedItemsListing;\n","import * as React from 'react';\n\ntype ProductTourCardProps = {\n url: string;\n heading: string;\n tags: string[];\n description: string;\n image: {\n description: string;\n png: string;\n webp: string;\n };\n};\n\nconst ProductTourCard: React.FC = ({\n url,\n heading,\n tags,\n description,\n image\n}) => (\n \n
\n \n \n {image.description}\n \n
\n
\n

{heading}

\n {tags.length > 0 && (\n
\n {tags.map(tag => (\n

\n {tag}\n

\n ))}\n
\n )}\n

{description}

\n
\n
\n);\n\nexport default ProductTourCard;\n"],"sourceRoot":""}