{"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<PressReleasesCardProps> = ({\n  url,\n  date,\n  heading,\n  contentType,\n  image\n}) => (\n  <a href={url} className=\"image-card featured-item\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className='image-card__content'>\n    <h3 className=\"image-card__heading\">{heading}</h3>\n    <p className=\"image-card__date\">{contentType} | {date}</p>\n    </div>\n  </a>\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<EventCardProps> = ({\n  url,\n  heading,\n  date,\n  contentType,\n  image\n}) => (\n  <a href={url} className=\"image-card featured-item\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className=\"image-card__content\">\n    \n      <h3 className=\"image-card__heading\">{heading}</h3>\n      <p className=\"image-card__description\">{contentType} | {date}</p>\n      \n      {/* <p className=\"image-card__description\">{date}</p> */}\n    </div>\n  </a>\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<ArticleCardProps> = ({\n  url,\n  heading,\n  contentType,\n  image\n}) => (\n  <a href={url} className=\"image-card featured-item\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className=\"image-card__content\">\n    \n      <h3 className=\"image-card__heading\">{heading}</h3>\n      <p className=\"image-card__description\">{contentType}</p>\n      \n      {/* <p className=\"image-card__description\">{date}</p> */}\n    </div>\n  </a>\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<BlogCardProps> = ({\n  url,\n  heading,\n  articleAuthor,\n  contentType,\n  image\n}) => (\n  <a href={url} className=\"image-card featured-item\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className=\"image-card__content\">\n    \n      <h3 className=\"image-card__heading\">{heading}</h3>\n      <p className=\"image-card__description\">{contentType} | {articleAuthor}</p>\n      {/* <p className=\"image-card__description\">{eventType}</p>*/}  \n      \n    </div>\n  </a>\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<NewsHeadlineCardProps> = ({\n  url,\n  heading,\n  label,\n  contentType,\n\n}) => (\n  <div className=\"news-headline-card featured-item\">\n    <a\n      className=\"news-headline-card__link\"\n      href={url}\n      target=\"_blank\"\n      rel=\"noreferrer\"\n    ></a>\n    <p className=\"news-headline-card__headline\">{heading}</p>\n    <p className=\"news-headline-card__label\">{contentType} | {label}</p>\n  </div>\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<PressReleasesCardProps> = ({\n  url,\n  date,\n  heading,\n  contentType,\n  image\n}) => (\n  <a href={url} className=\"image-card featured-item\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className='image-card__content'>\n    <h3 className=\"image-card__heading\">{heading}</h3>\n    <p className=\"image-card__date\">{contentType} | {date}</p>\n    </div>\n  </a>\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<FeaturedItemsMastheadProps> = ({\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<boolean>(false);\n  const [buttonLabel, setButtonLabel] = React.useState<string>('');\n  const [items, setItems] = React.useState<\n    Array<PressReleaseItem | EventItem | BlogItem | NewsHeadlineItem | ProductTourItem | ArticleItem>\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      <div\n        className={`grid featured-items-container__cards ${\n          isFeaturedFirstRow === 'true' &&\n          'featured-items-container__cards--featured'\n        }`}\n      >\n        {items.map(item => {\n          if (item.type === 'press-release')\n            return (\n              <PressReleaseCard key={item.id} {...(item as PressReleaseItem)} />\n            );\n          else if (item.type === 'news-headline')\n            return (\n              <NewsHeadlineCard key={item.id} {...(item as NewsHeadlineItem)} />\n            );\n          else if (\n            item.type === 'event' \n          )\n            return <EventCard key={item.id} {...(item as EventItem)} />;\n          else if (item.type === 'product-tour')\n            return (\n              <ProductTourCard key={item.id} {...(item as ProductTourItem)} />\n            );\n          else if (item.type === 'blog')\n            return (\n              <BlogCard key={item.id} {...(item as BlogItem)} />\n            );\n            else if (item.type === 'webinar')\n              return (\n                <WebinarCard key={item.id} {...(item as WebinarItem)} />\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 <ArticleCard key={item.id} {...(item as ArticleItem)} />;\n          else return null;\n        })}\n      </div>\n      {showButton && buttonLabel && (\n        <button\n          type=\"button\"\n          className=\"btn btn--primary featured-items-container__btn\"\n          onClick={() => setPage(page + 1)}\n        >\n          <span>{buttonLabel}</span>\n        </button>\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<ProductTourCardProps> = ({\n  url,\n  heading,\n  tags,\n  description,\n  image\n}) => (\n  <a href={url} className=\"image-card\">\n    <div className=\"picture\">\n      <picture>\n        <source srcSet={image.webp} type=\"image/webp\" />\n        <img src={image.png} width=\"528\" height=\"297\" alt={image.description} />\n      </picture>\n    </div>\n    <div className=\"image-card__content\">\n      <h3 className=\"image-card__heading\">{heading}</h3>\n      {tags.length > 0 && (\n        <div className=\"image-card__tags\">\n          {tags.map(tag => (\n            <p key={tag} className=\"image-card__tag\">\n              {tag}\n            </p>\n          ))}\n        </div>\n      )}\n      <p className=\"image-card__description\">{description}</p>\n    </div>\n  </a>\n);\n\nexport default ProductTourCard;\n"],"sourceRoot":""}