{"version":3,"file":"static/chunks/6366.92290bbe5e14ff92.js","mappings":"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","sources":["webpack://_N_E/./core--client--components/src/components/atoms/AnimateItem/AnimateItem.tsx","webpack://_N_E/./core--client--components/src/components/atoms/ButtonLink/ButtonLink.tsx","webpack://_N_E/./src/components/molecules/Loading/Loading.tsx","webpack://_N_E/./src/components/molecules/CardArticle/CardArticle.tsx","webpack://_N_E/./src/components/organisms/ArticlesDisplay/ArticlesDisplay.tsx","webpack://_N_E/./src/components/organisms/LandingPageHero/LandingPageHero.tsx","webpack://_N_E/./src/components/organisms/LoadMore/LoadMore.tsx","webpack://_N_E/./src/components/templates/ArticlesTemplate/ArticlesTemplate.tsx","webpack://_N_E/./node_modules/react-intersection-observer/dist/index.mjs","webpack://_N_E/<anon>"],"sourcesContent":["import {\n  Variant,\n  cubicBezier,\n  motion,\n  useAnimation,\n  useInView,\n} from 'framer-motion';\nimport { useEffect, useRef } from 'react';\n\n/**\n * AnimateItem Props\n *\n * @interface IAnimateItem\n */\nexport interface IAnimateItem {\n  /**\n   * Children to animate\n   *\n   * @memberof IAnimateItem\n   * @member {React.ReactNode} children\n   */\n  children: React.ReactNode;\n  /**\n   * From variant\n   *\n   * @memberof IAnimateItem\n   * @member {Variant} [from]\n   */\n  from?: Variant;\n  /**\n   * To variant\n   *\n   * @memberof IAnimateItem\n   * @member {Variant} [to]\n   */\n  to?: Variant;\n  /**\n   * Delay\n   *\n   * @memberof IAnimateItem\n   * @default 0.2\n   * @member {number} [delay]\n   */\n  delay?: number;\n  /**\n   * Duration\n   *\n   * @memberof IAnimateItem\n   * @default 0.9\n   * @member {number} [duration]\n   */\n  duration?: number;\n  /**\n   * Classes\n   *\n   * @memberof IAnimateItem\n   * @default ''\n   * @member {string} [className]\n   */\n  className?: string;\n}\n\n/**\n * AnimateItem\n *\n * @param {IAnimateItem} props - Props\n * @returns {React.ReactNode} - AnimateItem\n */\nconst AnimateItem = ({\n  children,\n  from,\n  to,\n  delay = 0.2,\n  duration = 0.9,\n  className = '',\n}: IAnimateItem) => {\n  const ref = useRef(null);\n  const controls = useAnimation();\n  const inView = useInView(ref);\n\n  useEffect(() => {\n    if (inView) {\n      controls.start('visible');\n    }\n  }, [controls, inView]);\n\n  return (\n    <motion.div\n      className={className}\n      ref={ref}\n      initial={'hidden'}\n      animate={controls}\n      variants={{\n        hidden: {\n          opacity: 0,\n          ...from,\n        },\n        visible: {\n          opacity: 1,\n          scale: 1,\n          translateX: 0,\n          translateY: 0,\n          transition: {\n            delay: delay,\n            duration: duration,\n            ease: cubicBezier(0.17, 0.55, 0.55, 1),\n          },\n          ...to,\n        },\n      }}\n      data-testid=\"animate-item\"\n    >\n      {children}\n    </motion.div>\n  );\n};\n\nexport default AnimateItem;\n","import Link, { LinkProps } from 'next/link';\nimport React, { HTMLProps, Ref } from 'react';\n\n/**\n * IButtonLink Interface for the ButtonLink component\n *\n * @interface\n */\nexport interface IButtonLink {\n  /**\n   * The version of the button to display either light or dark\n   *\n   * @memberof IButtonLink\n   * @member {'light' | 'dark'} variant\n   */\n  variant: 'light' | 'dark' | 'lightBlue' | 'pink';\n  /**\n   * Whether the button is disabled\n   *\n   * @memberof IButtonLink\n   * @default false\n   * @member {boolean} [disabled]\n   */\n  disabled?: boolean;\n  /**\n   * The target of the link\n   *\n   * @memberof IButtonLink\n   * @member {string} [target]\n   */\n  target?: string;\n  /**\n   * The children of the button\n   *\n   * @memberof IButtonLink\n   * @member {string} children\n   */\n  children: string;\n  /**\n   * The color scheme used for the button link\n   *\n   * @memberof IButtonLink\n   * @member {'primary' | 'secondary' | 'tertiary'} [color]\n   */\n  color?: 'primary' | 'secondary' | 'tertiary';\n  /**\n   * The ref of the button link\n   *\n   * @memberof IButtonLink\n   * @member {Ref<HTMLAnchorElement>} [ref]\n   */\n  ref?: Ref<HTMLAnchorElement>;\n}\n\n/**\n * Button Link Props\n *\n * @type {ButtonLinkProps} Type That combines the IButtonLink interface with the\n *   HTMLProps<HTMLAnchorElement> & LinkProps from NextJS\n */\nexport type ButtonLinkProps = IButtonLink &\n  LinkProps &\n  HTMLProps<HTMLAnchorElement>;\n\n/**\n * Button Base Font Properties This is the base font properties for the button.\n *\n * @constant\n */\nconst baseFont =\n  'font-petco text-base font-bold border-b-[3px] pb-1.5 border-b-solid focus:ring-invisible transition-colors duration-200 ease-in-out';\n\n/**\n * Variant Classes Map This map is used to map the variant prop to the\n * appropriate tailwind classes.\n *\n * @constant\n */\nconst variantClasses = {\n  primary: {\n    light:\n      'text-secondaryBase-400 border-base-300 hover:text-base-300 hover:border-base-300',\n    dark: 'text-neutral-100 border-neutral-100 hover:text-base-300 hover:border-base-300',\n    lightBlue:\n      'text-mkNavy-400 border-mkLightBlue-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n    pink: 'text-mkNavy-400 border-mkPink-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n  },\n  secondary: {\n    light:\n      'text-secondaryBase-400 border-mkPink-400 hover:text-secondaryBase-400 hover:border-secondaryBase-400',\n    dark: 'text-mkPink-400 border-mkPink-400 hover:text-neutral-100 hover:border-neutral-100',\n    lightBlue:\n      'text-mkNavy-400 border-mkLightBlue-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n    pink: 'text-mkNavy-400 border-mkPink-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n  },\n  tertiary: {\n    light:\n      'text-secondaryBase-400 border-mkLightBlue-400 hover:text-secondaryBase-400 hover:border-secondaryBase-400',\n    dark: 'text-mkLightBlue-400 border-mkLightBlue-400 hover:text-neutral-100 hover:border-neutral-100',\n    lightBlue:\n      'text-mkNavy-400 border-mkLightBlue-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n    pink: 'text-mkNavy-400 border-mkPink-400 hover:text-mkNavy-400 hover:border-mkNavy-400',\n  },\n};\n\n/**\n * Wrapper Focus Styles This is the focus styles for the button.\n *\n * @constant\n */\nconst wrapperFocusStyles =\n  'focus-visible:ring-1 focus-visible:ring-focus-400 focus-visible:rounded focus-visible:ring-offset-4 focus-visible:outline-0 focus-visible:outline-transparent';\n\n/**\n * Link Disabled Styles This is the disabled styles for the button.\n *\n * @constant\n */\nconst disabledStyles = {\n  light: 'text-neutral-500 border-neutral-500 cursor-not-allowed',\n  dark: 'text-neutral-300 border-neutral-300 cursor-not-allowed',\n  lightBlue:\n    'text-neutral-400 border-neutral-400 hover:text-neutral-400 hover:border-neutral-400 cursor-not-allowed',\n  pink: 'text-neutral-400 border-neutral-400 hover:text-neutral-400 hover:border-neutral-400 cursor-not-allowed',\n};\n\nconst removeFocusStyles =\n  'focus:outline-none focus:ring-0 focus-visible:ring-0 focus-visible:outline-none';\n\n/**\n * ButtonLink - A button used to navigate to a different page.\n *\n * @param {IButtonLink} props - The props for the ButtonLink component\n * @returns {React.FC<ButtonLinkProps>} Button Link Component\n */\nconst ButtonLink: React.FC<ButtonLinkProps> = ({\n  variant,\n  href,\n  as,\n  disabled = false,\n  children,\n  replace,\n  scroll,\n  shallow,\n  passHref,\n  className = '',\n  color = 'primary',\n  ...rest\n}: ButtonLinkProps) => {\n  const variantStyles = disabled\n    ? disabledStyles[variant]\n    : variantClasses[color][variant];\n  const cls = `${baseFont} ${variantStyles} ${wrapperFocusStyles}`;\n  const dataTestId = `button-link-${variant}-${disabled}`;\n\n  return (\n    <div\n      className={`${className} ${removeFocusStyles}`}\n      data-testid={dataTestId}\n    >\n      <Link\n        href={href}\n        as={as}\n        passHref={passHref}\n        replace={replace}\n        scroll={scroll}\n        shallow={shallow}\n        className={`${cls} ${removeFocusStyles}`}\n        {...rest}\n      >\n        {children}\n      </Link>\n    </div>\n  );\n};\n\nexport default ButtonLink;\n","import Heading from '@/components/atoms/Heading/Heading';\nimport LoadingSpinner, {\n  ILoadingSpinner,\n} from '@/components/atoms/LoadingSpinner/LoadingSpinner';\nimport React from 'react';\n\n/**\n * ILoading - The props for the Loading component\n *\n * @augments ILoadingSpinner\n * @interface ILoading\n */\nexport interface ILoading extends ILoadingSpinner {\n  /**\n   * The title to be displayed below the spinner.\n   *\n   * @memberof ILoading\n   * @member {string} title\n   */\n  title: string;\n}\n\n/**\n * Loading Molecule Loading spinner with title text below\n *\n * There is an 8 px bottom margin associated with the LoadingSpinner itself\n * which is why the Heading only has an 8px padding top and not 16px. I believe\n * this is due to the spinning .svg taking space on the bottom as it spins.\n *\n * @param {ILoading} props - The props for the Loading component\n * @returns {React.FC<ILoading>} Loading Component\n */\nconst Loading: React.FC<ILoading> = ({\n  classes = '',\n  title,\n  size,\n}: ILoading) => {\n  return (\n    <div data-testid=\"loading\" className={`text-center ${classes}`}>\n      <LoadingSpinner size={size} />\n      <Heading size=\"h5\" font=\"amasis\" className=\"text-neutral-800 pt-2\">\n        {title}\n      </Heading>\n    </div>\n  );\n};\n\nexport default Loading;\n","import Paragraph from '@/components/atoms/Paragraph/Paragraph';\n\nimport Image, { ImageLoader } from 'next/legacy/image';\nimport Link from 'next/link';\n\n/**\n * ICardArticle Interface for the Card Article Component\n *\n * @interface ICardArticle\n */\nexport interface ICardArticle {\n  /**\n   * Title of the Article for the Card\n   *\n   * @memberof ICardArticle\n   * @member {string} title\n   */\n  title: string;\n  /**\n   * The Excerpt of the Article to Display\n   *\n   * @memberof ICardArticle\n   * @member {string} excerpt\n   */\n  excerpt: string;\n  /**\n   * The Image of the Article to display\n   *\n   * @memberof ICardArticle\n   * @member {string} image\n   */\n  image: string;\n  /**\n   * The optional classes for the component\n   *\n   * @memberof ICardArticle\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n  /**\n   * The optional imageClasses for the component\n   *\n   * @memberof ICardArticle\n   * @default ''\n   * @member {string} [imageClasses]\n   */\n  imageClasses?: string;\n  /**\n   * Url of the article to link to\n   *\n   * @memberof ICardArticle\n   * @member {string} url\n   */\n  url: string;\n  /**\n   * The optional target for the url\n   *\n   * @memberof ICardArticle\n   * @default '_self'\n   * @member {'_blank' | '_self' | '_parent' | '_top'} [target]\n   */\n  target?: '_blank' | '_self' | '_parent' | '_top';\n  /**\n   * The loader function for the image\n   *\n   * @memberof ICardArticle\n   * @member {ImageLoader} [loader]\n   */\n  loader?: ImageLoader;\n}\n\n/**\n * Card Article The Card Article Component that links to an url and displays an\n * image, title and excerpt\n *\n * @param {ICardArticle} props - The props for the Card Article Component\n * @returns {React.FC<ICardArticle>} Card Article Component\n */\nconst CardArticle: React.FC<ICardArticle> = ({\n  title,\n  excerpt,\n  image,\n  classes = '',\n  url,\n  imageClasses = '',\n  target = '_self',\n  loader,\n}: ICardArticle) => {\n  return (\n    <div\n      data-testid=\"card-article\"\n      className={`w-full cursor-pointer [&:has(:focus-visible)]:ring-1 [&:has(:focus-visible)]:ring-focus-400 sm:rounded-[20px] md:rounded-3xl ${classes}`}\n    >\n      <Link\n        href={url}\n        className=\"w-full focus:ring-0 focus:ring-offset-0 focus-visible:ring-offset-0 focus-visible:ring-0 focus-visible:border-none focus-visible:outline-none\"\n        target={target}\n      >\n        <div\n          className={`h-[218px] sm:h-[140px] md:h-72 relative rounded-2xl sm:rounded-[20px] md:rounded-3xl flex overflow-hidden ${imageClasses}`}\n        >\n          <Image\n            data-testid=\"card-article-image\"\n            src={image}\n            layout=\"fill\"\n            alt={`Image of ${title}`}\n            objectFit=\"cover\"\n            className=\"scale-100 hover:scale-[102%] transition-transform duration-100\"\n            loader={loader}\n            sizes=\"(max-width: 739px) 100vw, (max-width: 1199px) 33vw, 450px\"\n          />\n        </div>\n        <div className=\"w-full mt-4 md:mt-6\">\n          <span className=\"font-bold font-petco text-h5 text-mkNavy-400 line-clamp-2\">\n            {title}\n          </span>\n          <Paragraph size=\"body4\" className=\"mt-3 font-petco line-clamp-2\">\n            {excerpt}\n          </Paragraph>\n        </div>\n      </Link>\n    </div>\n  );\n};\n\nexport default CardArticle;\n","import contentFulImageLoader from '@/component-library-lib/loaders/contentfulImageLoader';\nimport AnimateItem from '@/component-library/atoms/AnimateItem/AnimateItem';\nimport ButtonLink, {\n  IButtonLink,\n} from '@/component-library/atoms/ButtonLink/ButtonLink';\nimport Heading from '@/components/atoms/Heading/Heading';\nimport CardArticle, {\n  ICardArticle,\n} from '@/components/molecules/CardArticle/CardArticle';\n\n/**\n * IButtonLinkWithHref Interface for a Button link with a href\n *\n * @augments IButtonLink\n * @interface IButtonLinkWithHref\n */\nexport interface IButtonLinkWithHref extends IButtonLink {\n  /**\n   * The button link url\n   *\n   * @memberof IButtonLinkWithHref\n   * @member {string} href\n   */\n  href: string;\n}\n\n/**\n * IArticlesDisplay Interface for ArticlesDisplay component\n *\n * @interface IArticlesDisplay\n */\nexport interface IArticlesDisplay {\n  /**\n   * The title of the articles display.\n   *\n   * @memberof IArticlesDisplay\n   * @member {string} title\n   */\n  title: string;\n  /**\n   * An array of card articles to display.\n   *\n   * @memberof IArticlesDisplay\n   * @member {ICardArticle[]} articles\n   */\n  articles: ICardArticle[];\n  /**\n   * The optional button link.\n   *\n   * @memberof IArticlesDisplay\n   * @member {IButtonLinkWithHref} [buttonLink]\n   */\n  buttonLink?: IButtonLinkWithHref;\n  /**\n   * The optional classes to be applied to the component.\n   *\n   * @memberof IArticlesDisplay\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n  /**\n   * The optional imageClasses to be applied to the image inside a card.\n   *\n   * @memberof IArticlesDisplay\n   * @default ''\n   * @member {string} [imageClasses]\n   */\n  imageClasses?: string;\n}\n\n/**\n * ArticlesDisplay Organism for displaying articles\n *\n * @param {IArticlesDisplay} props - The props for the ArticlesDisplay component\n * @returns {React.FC<IArticlesDisplay>} ArticlesDisplay Component\n */\nconst ArticlesDisplay: React.FC<IArticlesDisplay> = ({\n  title,\n  articles,\n  buttonLink,\n  classes = '',\n  imageClasses = '',\n}: IArticlesDisplay) => {\n  return (\n    <div\n      data-testid=\"articles-display\"\n      className={`max-w-[1360px] mx-auto ${classes}`}\n    >\n      <AnimateItem from={{ translateY: 20 }}>\n        <div className=\"flex flex-col justify-between mb-8 space-y-4 sm:flex-row sm:space-y-0 sm:items-center md:mb-12\">\n          <Heading size=\"h3\" font=\"petco\" className=\"text-secondaryBase-400 \">\n            {title}\n          </Heading>\n          {buttonLink && <ButtonLink {...buttonLink} />}\n        </div>\n      </AnimateItem>\n      {articles && (\n        <div className=\"grid sm:grid-cols-3 grid-cols-1 md:gap-x-8 gap-6\">\n          {articles.map((article, index) => (\n            <div className=\"flex items-center justify-stretch\" key={index}>\n              <CardArticle\n                {...article}\n                imageClasses={imageClasses}\n                loader={contentFulImageLoader}\n              />\n            </div>\n          ))}\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default ArticlesDisplay;\n","import CdnImage from '@/component-library/atoms/CdnImage/CdnImage';\nimport Button, { IButton } from '@/components/atoms/Button/Button';\nimport Heading from '@/components/atoms/Heading/Heading';\n\n/**\n * ILandingPageHero Interface for Landing Page Hero component\n *\n * @interface ILandingPageHero\n */\nexport interface ILandingPageHero {\n  /**\n   * The text to display.\n   *\n   * @memberof ILandingPageHero\n   * @member {string} title\n   */\n  title: string;\n  /**\n   * The image to display.\n   *\n   * @memberof ILandingPageHero\n   * @member {string} imageUrl\n   */\n  imageUrl: string;\n  /**\n   * The alt text for the image.\n   *\n   * @memberof ILandingPageHero\n   * @member {string} alt\n   */\n  alt: string;\n  /**\n   * The optional prop to display an array of buttons.\n   *\n   * @memberof ILandingPageHero\n   * @member {IButton[]} [buttons]\n   */\n  buttons?: IButton[];\n}\n\n/**\n * Landing Page Hero The Hero component displayed on landing pages.\n *\n * @param {ILandingPageHero} props - Landing Page Hero props\n * @returns {React.FC<ILandingPageHero>} Landing Page Hero Component\n */\nconst LandingPageHero: React.FC<ILandingPageHero> = ({\n  title,\n  imageUrl,\n  buttons,\n  alt,\n}: ILandingPageHero) => {\n  return (\n    <div\n      data-testid=\"landing-page-hero\"\n      className=\"w-full h-[400px] md:h-[500px] overflow-hidden relative text-center items-center flex content-center\"\n    >\n      <span className=\"w-full\">\n        <Heading\n          size=\"h1\"\n          className=\"text-neutral-100 pb-6 md:pb-8 z-10 relative\"\n        >\n          {title}\n        </Heading>\n        {buttons && (\n          <div className=\"grid grid-cols-1 md:flex items-center justify-center md:space-x-4 space-y-4 md:space-y-0\">\n            {buttons.map((button, index) => (\n              <div\n                key={index}\n                data-testid={`landing-page-hero-button-${index}`}\n              >\n                <Button {...button} />\n              </div>\n            ))}\n          </div>\n        )}\n      </span>\n      <CdnImage\n        src={imageUrl}\n        alt={alt}\n        layout=\"fill\"\n        priority={true}\n        className=\"object-cover -z-[1]\"\n      />\n\n      <div className=\"bg-black/30 absolute top-0 left-0 h-full w-full\" />\n    </div>\n  );\n};\n\nexport default LandingPageHero;\n","import Loading from '@/components/molecules/Loading/Loading';\nimport React, { useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\n\n/**\n * ILoadMore\n *\n * @interface ILoadMore\n */\nexport interface ILoadMore {\n  /**\n   * If the function is loading\n   *\n   * @memberof ILoadMore\n   * @member {boolean} loading\n   */\n  loading: boolean;\n  /**\n   * Update offset\n   *\n   * @memberof ILoadMore\n   * @member {() => void} updateOffset\n   */\n  updateOffset: () => void;\n  /**\n   * Title\n   *\n   * @memberof ILoadMore\n   * @member {string} [title]\n   */\n  title?: string;\n}\n\n/**\n * LoadMore A div that will trigger a function to be called when in view while\n * displaying the loading component\n *\n * @param {ILoadMore} props - The props for the LoadMore component\n * @returns {React.FC<ILoadMore>} Component\n */\nconst LoadMore: React.FC<ILoadMore> = ({\n  updateOffset,\n  loading,\n  title = 'Fetching Matches',\n}: ILoadMore) => {\n  const { ref, inView } = useInView({\n    threshold: 1,\n  });\n\n  useEffect(() => {\n    if (inView && !loading) {\n      updateOffset();\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [inView]);\n\n  return (\n    <div\n      data-testid=\"load-more\"\n      ref={ref}\n      className=\"flex flex-row justify-center\"\n    >\n      <Loading title={title} />\n    </div>\n  );\n};\n\nexport default LoadMore;\n","import FullWidthCalloutBody from '@/components/atoms/FullWidthCalloutBody';\nimport { ICardArticle } from '@/components/molecules/CardArticle/CardArticle';\nimport Loading from '@/components/molecules/Loading/Loading';\nimport ArticlesDisplay from '@/components/organisms/ArticlesDisplay/ArticlesDisplay';\nimport FullWidthCalloutImage from '@/components/organisms/FullWidthCalloutImage/FullWidthCalloutImage';\nimport LandingPageHero from '@/components/organisms/LandingPageHero/LandingPageHero';\nimport LoadMore from '@/components/organisms/LoadMore/LoadMore';\nimport PageWrapper from '@/components/organisms/PageWrapper/PageWrapper';\nimport { useEventContext } from '@/lib/hooks/analytics/useEventContext';\n\n/**\n * IArticlesTemplateContent\n *\n * Used to define the text content for the Articles Template\n *\n * @interface\n */\nexport interface IArticlesTemplateContent {\n  /** The landing page hero content */\n  landingPageHero: {\n    /** The landing page hero title */\n    title: string;\n    /** The landing page hero alt text */\n    altText: string;\n  };\n  /** The full width callout content */\n  fullWidthCalloutImage: {\n    /** The full width callout overline text */\n    overline: string;\n    /** The full width callout title */\n    title: string;\n    /** The full width callout body */\n    body: string;\n    /** The full width callout sign up button text */\n    signUpButtonText: string;\n  };\n}\n\n/**\n * IArticlesTemplate\n *\n * @interface\n */\nexport interface IArticlesTemplate {\n  /** Articles to display */\n  articles: ICardArticle[];\n  /** Text Content */\n  content: IArticlesTemplateContent;\n  /** - Function to request the next page of articles */\n  requestNextPage: () => void;\n  /**\n   * Whether or not the articles are being fetched\n   *\n   * @default false\n   */\n  isFetching?: boolean;\n  /**\n   * Whether or not there are more articles to fetch\n   *\n   * @default false\n   */\n  hasMore?: boolean;\n}\n\n/**\n * ArticlesTemplate - A template for the articles\n *\n * @param {IArticlesTemplate} props - The props for the ArticlesTemplate\n *   component\n * @returns {React.FC<IArticlesTemplate>} Component\n */\nconst ArticlesTemplate: React.FC<IArticlesTemplate> = ({\n  articles,\n  content,\n  requestNextPage,\n  isFetching = false,\n  hasMore = false,\n}) => {\n  const { setInitiatingComponent } = useEventContext();\n\n  return (\n    <div data-testid=\"articles-template\">\n      <LandingPageHero\n        imageUrl={\n          process.env.NEXT_PUBLIC_CDN_BASE_URL + '/assets/lost/all-articles.jpg'\n        }\n        title={content.landingPageHero.title}\n        alt={content.landingPageHero.altText}\n      />\n      <PageWrapper classes=\"px-6 py-12 sm:px-8 md:px-10 md:py-20\">\n        <ArticlesDisplay articles={articles} title=\"\" />\n        {isFetching && articles.length > 0 && (\n          <div className=\"sm:col-start-1 sm:col-span-6 md:col-start-4 md:col-span-9 pt-[200px]\">\n            <Loading title=\"Loading\" />\n          </div>\n        )}\n        {!isFetching && hasMore && articles.length > 0 && (\n          <LoadMore\n            updateOffset={requestNextPage}\n            loading={isFetching}\n            title=\"Loading\"\n          />\n        )}\n      </PageWrapper>\n      <FullWidthCalloutImage\n        overline={content.fullWidthCalloutImage.overline}\n        title={content.fullWidthCalloutImage.title}\n        body={<FullWidthCalloutBody />}\n        imageUrl={\n          process.env.NEXT_PUBLIC_CDN_BASE_URL +\n          '/assets/lost/brandywine-valley-spca-dogs-chasing.jpg'\n        }\n        button1={{\n          size: 'md',\n          variant: 'dark',\n          color: 'secondary',\n          type: 'button',\n          children: content.fullWidthCalloutImage.signUpButtonText,\n          /** Sets the component name for tracking */\n          onClick: () => {\n            setInitiatingComponent('Sign Up Button / All Pages');\n          },\n          href: '/create-account/start/',\n          rel: 'nofollow',\n        }}\n        classes=\"mb-7 md:mb-[60px]\"\n      />\n    </div>\n  );\n};\n\nexport default ArticlesTemplate;\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n  unsupportedValue = inView;\n}\nfunction getRootId(root) {\n  if (!root) return \"0\";\n  if (RootIds.has(root)) return RootIds.get(root);\n  rootId += 1;\n  RootIds.set(root, rootId.toString());\n  return RootIds.get(root);\n}\nfunction optionsToId(options) {\n  return Object.keys(options).sort().filter(\n    (key) => options[key] !== void 0\n  ).map((key) => {\n    return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n  }).toString();\n}\nfunction createObserver(options) {\n  const id = optionsToId(options);\n  let instance = observerMap.get(id);\n  if (!instance) {\n    const elements = /* @__PURE__ */ new Map();\n    let thresholds;\n    const observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        var _a;\n        const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n        if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n          entry.isVisible = inView;\n        }\n        (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n          callback(inView, entry);\n        });\n      });\n    }, options);\n    thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n    instance = {\n      id,\n      observer,\n      elements\n    };\n    observerMap.set(id, instance);\n  }\n  return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n  if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n    const bounds = element.getBoundingClientRect();\n    callback(fallbackInView, {\n      isIntersecting: fallbackInView,\n      target: element,\n      intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n      time: 0,\n      boundingClientRect: bounds,\n      intersectionRect: bounds,\n      rootBounds: bounds\n    });\n    return () => {\n    };\n  }\n  const { id, observer, elements } = createObserver(options);\n  const callbacks = elements.get(element) || [];\n  if (!elements.has(element)) {\n    elements.set(element, callbacks);\n  }\n  callbacks.push(callback);\n  observer.observe(element);\n  return function unobserve() {\n    callbacks.splice(callbacks.indexOf(callback), 1);\n    if (callbacks.length === 0) {\n      elements.delete(element);\n      observer.unobserve(element);\n    }\n    if (elements.size === 0) {\n      observer.disconnect();\n      observerMap.delete(id);\n    }\n  };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n  return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n  constructor(props) {\n    super(props);\n    __publicField(this, \"node\", null);\n    __publicField(this, \"_unobserveCb\", null);\n    __publicField(this, \"handleNode\", (node) => {\n      if (this.node) {\n        this.unobserve();\n        if (!node && !this.props.triggerOnce && !this.props.skip) {\n          this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n        }\n      }\n      this.node = node ? node : null;\n      this.observeNode();\n    });\n    __publicField(this, \"handleChange\", (inView, entry) => {\n      if (inView && this.props.triggerOnce) {\n        this.unobserve();\n      }\n      if (!isPlainChildren(this.props)) {\n        this.setState({ inView, entry });\n      }\n      if (this.props.onChange) {\n        this.props.onChange(inView, entry);\n      }\n    });\n    this.state = {\n      inView: !!props.initialInView,\n      entry: void 0\n    };\n  }\n  componentDidMount() {\n    this.unobserve();\n    this.observeNode();\n  }\n  componentDidUpdate(prevProps) {\n    if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n      this.unobserve();\n      this.observeNode();\n    }\n  }\n  componentWillUnmount() {\n    this.unobserve();\n  }\n  observeNode() {\n    if (!this.node || this.props.skip) return;\n    const {\n      threshold,\n      root,\n      rootMargin,\n      trackVisibility,\n      delay,\n      fallbackInView\n    } = this.props;\n    this._unobserveCb = observe(\n      this.node,\n      this.handleChange,\n      {\n        threshold,\n        root,\n        rootMargin,\n        // @ts-ignore\n        trackVisibility,\n        // @ts-ignore\n        delay\n      },\n      fallbackInView\n    );\n  }\n  unobserve() {\n    if (this._unobserveCb) {\n      this._unobserveCb();\n      this._unobserveCb = null;\n    }\n  }\n  render() {\n    const { children } = this.props;\n    if (typeof children === \"function\") {\n      const { inView, entry } = this.state;\n      return children({ inView, entry, ref: this.handleNode });\n    }\n    const {\n      as,\n      triggerOnce,\n      threshold,\n      root,\n      rootMargin,\n      onChange,\n      skip,\n      trackVisibility,\n      delay,\n      initialInView,\n      fallbackInView,\n      ...props\n    } = this.props;\n    return React.createElement(\n      as || \"div\",\n      { ref: this.handleNode, ...props },\n      children\n    );\n  }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n  threshold,\n  delay,\n  trackVisibility,\n  rootMargin,\n  root,\n  triggerOnce,\n  skip,\n  initialInView,\n  fallbackInView,\n  onChange\n} = {}) {\n  var _a;\n  const [ref, setRef] = React2.useState(null);\n  const callback = React2.useRef();\n  const [state, setState] = React2.useState({\n    inView: !!initialInView,\n    entry: void 0\n  });\n  callback.current = onChange;\n  React2.useEffect(\n    () => {\n      if (skip || !ref) return;\n      let unobserve;\n      unobserve = observe(\n        ref,\n        (inView, entry) => {\n          setState({\n            inView,\n            entry\n          });\n          if (callback.current) callback.current(inView, entry);\n          if (entry.isIntersecting && triggerOnce && unobserve) {\n            unobserve();\n            unobserve = void 0;\n          }\n        },\n        {\n          root,\n          rootMargin,\n          threshold,\n          // @ts-ignore\n          trackVisibility,\n          // @ts-ignore\n          delay\n        },\n        fallbackInView\n      );\n      return () => {\n        if (unobserve) {\n          unobserve();\n        }\n      };\n    },\n    // We break the rule here, because we aren't including the actual `threshold` variable\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [\n      // If the threshold is an array, convert it to a string, so it won't change between renders.\n      Array.isArray(threshold) ? threshold.toString() : threshold,\n      ref,\n      root,\n      rootMargin,\n      triggerOnce,\n      skip,\n      trackVisibility,\n      fallbackInView,\n      delay\n    ]\n  );\n  const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n  const previousEntryTarget = React2.useRef();\n  if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n    previousEntryTarget.current = entryTarget;\n    setState({\n      inView: !!initialInView,\n      entry: void 0\n    });\n  }\n  const result = [setRef, state.inView, state.entry];\n  result.ref = result[0];\n  result.inView = result[1];\n  result.entry = result[2];\n  return result;\n}\nexport {\n  InView,\n  defaultFallbackInView,\n  observe,\n  useInView\n};\n//# sourceMappingURL=index.mjs.map"],"names":["__webpack_exports__","Z","children","from","to","delay","duration","className","param","ref","useRef","controls","useAnimation","inView","useInView","useEffect","start","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","motion","div","initial","animate","variants","hidden","opacity","visible","scale","translateX","translateY","transition","ease","cubicBezier","variantClasses","primary","light","dark","lightBlue","pink","secondary","tertiary","disabledStyles","removeFocusStyles","variant","href","as","disabled","replace","scroll","shallow","passHref","color","rest","variantStyles","cls","wrapperFocusStyles","concat","Link","classes","title","size","jsxs","LoadingSpinner","Heading","font","CardArticle_CardArticle","excerpt","image","url","imageClasses","target","loader","jsx_runtime","Image","src","layout","alt","objectFit","sizes","span","Paragraph","ArticlesDisplay_ArticlesDisplay","articles","buttonLink","AnimateItem","ButtonLink","map","article","index","CardArticle","contentFulImageLoader","imageUrl","buttons","button","Button","CdnImage","priority","updateOffset","loading","threshold","Loading","content","requestNextPage","isFetching","hasMore","setInitiatingComponent","useEventContext","LandingPageHero","process","landingPageHero","altText","PageWrapper","ArticlesDisplay","length","LoadMore","FullWidthCalloutImage","overline","fullWidthCalloutImage","body","FullWidthCalloutBody","button1","type","signUpButtonText","onClick","rel","__defProp","Object","defineProperty","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","trackVisibility","rootMargin","root","triggerOnce","skip","initialInView","fallbackInView","onChange","_a","setRef","react__WEBPACK_IMPORTED_MODULE_0__","useState","callback","state","setState","entry","current","unobserve","observe","element","options","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","id","observer","elements","createObserver","keys","sort","filter","key","has","set","toString","get","instance","thresholds","entries","forEach","some","isVisible","Array","isArray","callbacks","push","splice","indexOf","delete","disconnect","entryTarget","previousEntryTarget","result","Component"],"sourceRoot":""}