{"version":3,"file":"static/chunks/2363.decffeae349eabc5.js","mappings":"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","sources":["webpack://_N_E/./src/components/organisms/LandingPageHero/LandingPageHero.tsx","webpack://_N_E/./src/components/molecules/ImageStat/ImageStat.tsx","webpack://_N_E/./src/components/molecules/PageHeadline/PageHeadline.tsx","webpack://_N_E/./src/components/molecules/WeLovePets/WeLovePets.tsx","webpack://_N_E/./src/components/templates/AboutPageTemplate/AboutPageTemplate.tsx","webpack://_N_E/<anon>"],"sourcesContent":["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 CdnImage from '@/component-library/atoms/CdnImage/CdnImage';\nimport Paragraph from '@/components/atoms/Paragraph/Paragraph';\n\n/**\n * IImageStat is the interface for the ImageStat.\n *\n * @interface IImageStat\n */\nexport interface IImageStat {\n  /**\n   * Image url\n   *\n   * @memberof IImageStat\n   * @member {string} image\n   */\n  image: string;\n  /**\n   * Label to display\n   *\n   * @memberof IImageStat\n   * @member {string} label\n   */\n  label: string;\n  /**\n   * Statistic to display\n   *\n   * @memberof IImageStat\n   * @member {string} stat\n   */\n  stat: string;\n  /**\n   * Optional Classes for component\n   *\n   * @memberof IImageStat\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n}\n\n/**\n * ImageStat\n *\n * Component to show a statistic with an image\n *\n * @param {IImageStat} props - The props for the ImageStat component\n * @returns {React.FC<IImageStat>} ImageStat Component\n */\nconst ImageStat: React.FC<IImageStat> = ({\n  image,\n  label,\n  stat,\n  classes = '',\n}: IImageStat) => {\n  return (\n    <div\n      data-testid=\"image-stat\"\n      className={`flex flex-row items-center space-x-4 md:space-x-6 ${classes}`}\n    >\n      <div className=\"aspect-square h-[70px] md:h-[87px] relative\">\n        <CdnImage\n          src={image}\n          alt=\"Stat image\"\n          data-testid=\"image\"\n          layout=\"fill\"\n          objectFit=\"cover\"\n        />\n      </div>\n      <Paragraph>\n        <span className=\"text-base-300 font-bold\">{stat}</span>\n        {` ${label}`}\n      </Paragraph>\n    </div>\n  );\n};\n\nexport default ImageStat;\n","import Heading, { IHeading } from '@/components/atoms/Heading/Heading';\nimport Paragraph, { IParagraph } from '@/components/atoms/Paragraph/Paragraph';\n\n/**\n * IPageHeadline - The props for the PageHeadline component\n *\n * @interface IPageHeadline\n */\nexport interface IPageHeadline {\n  /**\n   * The overline text to display.\n   *\n   * @memberof IPageHeadline\n   * @member {IParagraph} overline\n   */\n  overline: IParagraph;\n  /**\n   * The left side of the headline.\n   *\n   * @memberof IPageHeadline\n   * @member {IHeading} headingLeft\n   */\n  headingLeft: IHeading;\n  /**\n   * The right side of the headline.\n   *\n   * @memberof IPageHeadline\n   * @member {IHeading} headingRight\n   */\n  headingRight: IHeading;\n  /**\n   * Optional classes to add to the component.\n   *\n   * @memberof IPageHeadline\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n}\n\n/**\n * PageHeadline A two part headline for pages with an overline.\n *\n * @param {IPageHeadline} props - The props for the PageHeadline component\n * @returns {React.FC<IPageHeadline>} PageHeadline Component\n */\nconst PageHeadline: React.FC<IPageHeadline> = ({\n  overline,\n  headingLeft,\n  headingRight,\n  classes = '',\n}: IPageHeadline) => {\n  return (\n    <div\n      data-testid=\"page-headline\"\n      className={`w-full text-center ${classes}`}\n    >\n      <Paragraph {...overline} />\n      <div className=\"flex flex-row justify-center pt-2 items-baseline space-x-1.5\">\n        <Heading {...headingLeft} />\n        <Heading {...headingRight} />\n      </div>\n    </div>\n  );\n};\n\nexport default PageHeadline;\n","import AnimateItem from '@/component-library/atoms/AnimateItem/AnimateItem';\nimport { ColorShade, ColorType } from '@/components/atoms/Colors/Colors';\nimport Paragraph, { IParagraph } from '@/components/atoms/Paragraph/Paragraph';\nimport { useEffect, useState } from 'react';\n\n/**\n * IDynamicText Interface for DynamicText\n *\n * @augments IParagraph\n * @interface IDynamicText\n */\nexport interface IDynamicText extends IParagraph {\n  /**\n   * The color type to use on the text.\n   *\n   * @memberof IDynamicText\n   * @member {ColorType} colorType\n   */\n  colorType: ColorType;\n  /**\n   * The color shade to use on the text.\n   *\n   * @memberof IDynamicText\n   * @member {ColorShade} colorShade\n   */\n  colorShade: ColorShade;\n}\n\n/**\n * IWeLovePets Interface for WeLovePets\n *\n * @interface IWeLovePets\n */\nexport interface IWeLovePets {\n  /**\n   * The text to display.\n   *\n   * @memberof IWeLovePets\n   * @member {string} staticText\n   */\n  staticText: string;\n  /**\n   * The array of strings and the colors that are animated.\n   *\n   * @memberof IWeLovePets\n   * @member {IDynamicText[]} dynamicText\n   */\n  dynamicText: IDynamicText[];\n  /**\n   * The optional classes to add to the component.\n   *\n   * @memberof IWeLovePets\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n}\n\n/**\n * WeLovePets An animated header that swaps through header colors and text.\n *\n * @param {IWeLovePets} props - The props for the WeLovePets component\n * @returns {React.FC<IWeLovePets>} WeLovePets Component\n */\nconst WeLovePets: React.FC<IWeLovePets> = ({\n  staticText,\n  dynamicText,\n  classes = '',\n}: IWeLovePets) => {\n  const [currentIndex, setCurrentIndex] = useState(0);\n\n  useEffect(() => {\n    const interval = setInterval(() => {\n      const nextIndex = currentIndex + 1;\n      setCurrentIndex(nextIndex % dynamicText.length);\n    }, 800);\n\n    return () => {\n      clearInterval(interval);\n    };\n  }, [currentIndex, dynamicText.length]);\n\n  const currentText = dynamicText[currentIndex];\n\n  return (\n    <AnimateItem from={{ translateY: 20 }}>\n      <div data-testid=\"we-love-pets\" className={`flex flex-col ${classes}`}>\n        <span className=\"font-amasis text-display2\">{staticText}</span>\n        <div\n          data-testid={currentIndex}\n          className=\"h-16 md:h-[84px] overflow-hidden\"\n        >\n          <Paragraph\n            data-testid=\"we-love-pets-paragraph\"\n            styling=\"bold\"\n            className={`!text-[4rem] md:!text-[5.25rem] !leading-[4rem] md:!leading-[5.25rem] text-${currentText.colorType}-${currentText.colorShade}`}\n          >\n            {currentText.children}\n          </Paragraph>\n        </div>\n      </div>\n    </AnimateItem>\n  );\n};\n\nexport default WeLovePets;\n","import AnimateItem from '@/component-library/atoms/AnimateItem/AnimateItem';\nimport CarouselItemReunion, {\n  ICarouselItemReunion,\n} from '@/component-library/molecules/CarouselItemReunion/CarouselItemReunion';\nimport FullWidthCalloutBody from '@/components/atoms/FullWidthCalloutBody';\nimport Heading from '@/components/atoms/Heading/Heading';\nimport Paragraph from '@/components/atoms/Paragraph/Paragraph';\nimport ImageStat from '@/components/molecules/ImageStat/ImageStat';\nimport PageHeadline, {\n  IPageHeadline,\n} from '@/components/molecules/PageHeadline/PageHeadline';\nimport WeLovePets, {\n  IDynamicText,\n} from '@/components/molecules/WeLovePets/WeLovePets';\nimport Carousel from '@/components/organisms/Carousel/Carousel';\nimport FullWidthCalloutImage from '@/components/organisms/FullWidthCalloutImage/FullWidthCalloutImage';\nimport LandingPageHero from '@/components/organisms/LandingPageHero/LandingPageHero';\nimport PageWrapper from '@/components/organisms/PageWrapper/PageWrapper';\nimport VideoPlayer from '@/component-library/organisms/VideoPlayer/VideoPlayer';\nimport { useEventContext } from '@/lib/hooks/analytics/useEventContext';\n\n/**\n * ICarouselItemText - The text content for a Carousel Item\n *\n * @interface\n */\ninterface ICarouselItemText {\n  /** Pet Name of a Carousel Item */\n  petName: string;\n  /** Owner Name of a Carousel Item */\n  ownerName: string;\n  /** Description of a Carousel Item */\n  description: string;\n}\n\n/**\n * IAboutPageTemplateContent\n *\n * Used to define the text content for the About Page Template\n *\n * @interface\n */\nexport interface IAboutPageTemplateContent {\n  /** Text used for Landing Page Hero Component */\n  hero: {\n    /** The title of the heading to display */\n    title: string;\n  };\n  /** Text used for We Love Pet Component */\n  weLovePets: {\n    /** The title of the heading to display */\n    title: string;\n    /** Dynamic Texts */\n    dynamicTexts: {\n      /** Lost Pets */\n      lostPets: string;\n      /** Found Pets */\n      foundPets: string;\n      /** Old Pets */\n      oldPets: string;\n      /** New Pets */\n      newPets: string;\n      /** All Pets */\n      allPets: string;\n    };\n  };\n  /** Image Stats */\n  imageStats: {\n    /** Stat 1 */\n    statOne: {\n      /** Stat Number */\n      statNumber: string;\n      /** Stat Text */\n      statText: string;\n    };\n    /** Stat 2 */\n    statTwo: {\n      /** Stat Number */\n      statNumber: string;\n      /** Stat Text */\n      statText: string;\n    };\n    /** Stat 3 */\n    statThree: {\n      /** Stat Number */\n      statNumber: string;\n      /** Stat Text */\n      statText: string;\n    };\n  };\n  /** Text Copy */\n  textCopy: {\n    /** Title */\n    title: string;\n    /** Paragraph 1 */\n    paragraph1: string;\n    /** Paragraph 2 */\n    paragraph2: string;\n  };\n  /** Video Component */\n  video: {\n    /** Video Title */\n    title: string;\n  };\n  /** Full Width Image Component */\n  fullWidth: {\n    /** Headline Text */\n    overline: string;\n    /** Title Text */\n    title: string;\n    /** Body Text */\n    body: string;\n    /** Button Label Text */\n    buttonLabel: string;\n  };\n  /** The text to display in the Carousel */\n  carousel: {\n    /** The Text for the Beast Carousel Card */\n    beast: ICarouselItemText;\n    /** The Text for the Sophie Carousel Card */\n    sophie: ICarouselItemText;\n    /** The Text for the Bella Carousel Card */\n    fallon: ICarouselItemText;\n    /** The Text for the Fallon Carousel Card */\n    bella: ICarouselItemText;\n  };\n  /** The text to display in the Page Headline */\n  pageHeadline: {\n    /** Overline Text */\n    overline: string;\n    /** Heading Left Text */\n    headingLeft: string;\n    /** Heading Right Text */\n    headingRight: string;\n  };\n}\n\n/**\n * IAboutPageTemplate\n *\n * @interface\n */\nexport interface IAboutPageTemplate {\n  /** Text Content */\n  content: IAboutPageTemplateContent;\n}\n\n/**\n * AboutPageTemplate - A template for the About Page of the Website\n *\n * @param {IAboutPageTemplate} props - The props for the AboutPageTemplate\n *   component\n * @returns {React.FC<IAboutPageTemplate>} Component\n */\nconst AboutPageTemplate: React.FC<IAboutPageTemplate> = ({ content }) => {\n  const { setInitiatingComponent } = useEventContext();\n\n  /**\n   * The Reunions to display in the Carousel\n   *\n   * @constant {ICarouselItemReunion[]} reunions - The Reunions to display in\n   *   the Carousel\n   */\n  const reunions: ICarouselItemReunion[] = [\n    {\n      petName: content.carousel.beast.petName,\n      ownerName: content.carousel.beast.ownerName,\n      description: content.carousel.beast.description,\n      image:\n        process.env.NEXT_PUBLIC_CDN_BASE_URL +\n        '/assets/lost/reunions/beast-tracy-reunion.jpg',\n      link: '/articles/one-photo-helped-beast-reunite-with-his-family-after-3-months',\n    },\n    {\n      petName: content.carousel.sophie.petName,\n      ownerName: content.carousel.sophie.ownerName,\n      description: content.carousel.sophie.description,\n      image:\n        process.env.NEXT_PUBLIC_CDN_BASE_URL +\n        '/assets/lost/reunions/sophia-kristin-reunion.jpg',\n      link: '/articles/lost-dog-reunites-with-best-friend',\n    },\n    {\n      petName: content.carousel.fallon.petName,\n      ownerName: content.carousel.fallon.ownerName,\n      description: content.carousel.fallon.description,\n      image:\n        process.env.NEXT_PUBLIC_CDN_BASE_URL +\n        '/assets/lost/reunions/fallon-scott-reunion.jpg',\n      link: '/articles/family-reunited-with-lost-senior-cat',\n    },\n    {\n      petName: content.carousel.bella.petName,\n      ownerName: content.carousel.bella.ownerName,\n      description: content.carousel.bella.description,\n      image:\n        process.env.NEXT_PUBLIC_CDN_BASE_URL +\n        '/assets/lost/reunions/bella-amanada-reunion.jpg',\n      link: '/articles/petco-love-lost-helps-locate-missing-foster-pet',\n    },\n  ];\n\n  /**\n   * WeLovePetsDynamicText\n   *\n   * @constant {IDynamicText[]} weLovePetsDynamicText - The Texts that will be\n   *   displayed in the WeLovePets component animation\n   */\n  const weLovePetsDynamicText: IDynamicText[] = [\n    {\n      children: content.weLovePets.dynamicTexts.lostPets,\n      colorType: 'mkOrange',\n      colorShade: 400,\n    },\n    {\n      children: content.weLovePets.dynamicTexts.foundPets,\n      colorType: 'mkLightBlue',\n      colorShade: 400,\n    },\n    {\n      children: content.weLovePets.dynamicTexts.oldPets,\n      colorType: 'mkLightGreen',\n      colorShade: 400,\n    },\n    {\n      children: content.weLovePets.dynamicTexts.newPets,\n      colorType: 'mkPink',\n      colorShade: 400,\n    },\n    {\n      children: content.weLovePets.dynamicTexts.allPets,\n      colorType: 'mkPurple',\n      colorShade: 400,\n    },\n  ];\n\n  /**\n   * PageHeadline - The text above the reunited carousel\n   *\n   * @constant {IPageHeadline} pageHeadline - The text for the PageHeadline\n   *   component\n   */\n  const pageHeadline: IPageHeadline = {\n    headingLeft: {\n      size: 'h2',\n      font: 'petco',\n      children: content.pageHeadline.headingLeft,\n      className: 'text-base-400',\n    },\n    headingRight: {\n      size: 'h2',\n      font: 'amasis',\n      children: content.pageHeadline.headingRight,\n      className: 'text-neutral-800',\n    },\n    overline: {\n      styling: 'regular',\n      size: 'body5',\n      children: content.pageHeadline.overline,\n    },\n  };\n\n  const imageStatUrl =\n    process.env.NEXT_PUBLIC_CDN_BASE_URL + '/assets/lost/image-stat-heart.svg';\n\n  const stats = ['statOne', 'statTwo', 'statThree'] as const;\n\n  return (\n    <div data-testid=\"about-page-template\" className=\"pb-7 md:pb-[60px]\">\n      <LandingPageHero\n        title={content.hero.title}\n        imageUrl={\n          process.env.NEXT_PUBLIC_CDN_BASE_URL +\n          '/assets/lost/dog-about-banner.jpg'\n        }\n        alt=\"Dogs looking up image\"\n      />\n      <PageWrapper classes=\"px-6 sm:px-8 md:px-12 pt-12 md:pt-20 grid grid-cols-4 sm:grid-cols-6 md:grid-cols-12 gap-x-4 sm:gap-x-6 md:gap-x-8\">\n        <div className=\"col-span-4 sm:col-span-3 md:col-span-5 md:col-start-2 flex flex-col space-y-12\">\n          <WeLovePets\n            dynamicText={weLovePetsDynamicText}\n            staticText={content.weLovePets.title}\n          />\n          <div className=\"flex flex-col space-y-8 sm:space-y-6\">\n            {stats.map((stat, index) => (\n              <AnimateItem\n                from={{ translateY: 20 }}\n                delay={index * 0.2 + 0.4}\n                key={index}\n              >\n                <ImageStat\n                  label={content.imageStats[stat].statText}\n                  stat={content.imageStats[stat].statNumber}\n                  image={imageStatUrl}\n                />\n              </AnimateItem>\n            ))}\n          </div>\n        </div>\n        <div className=\"col-span-4 sm:col-span-3 md:col-span-5 flex flex-col space-y-6 pt-16 sm:pt-0\">\n          <AnimateItem from={{ translateY: 50 }}>\n            <Heading size=\"h2\" font=\"amasis\">\n              {content.textCopy.title}\n            </Heading>\n            <Paragraph\n              size=\"body2\"\n              className=\"pt-4 xs:leading-[1.875rem] sm:leading-[1.875rem] md:leading-8\"\n            >\n              {content.textCopy.paragraph1}\n            </Paragraph>\n            <Paragraph\n              size=\"body2\"\n              className=\"pt-4 xs:leading-[1.875rem] sm:leading-[1.875rem] md:leading-8\"\n            >\n              {content.textCopy.paragraph2}\n            </Paragraph>\n          </AnimateItem>\n        </div>\n        <VideoPlayer\n          image={\n            process.env.NEXT_PUBLIC_CDN_BASE_URL +\n            '/assets/lost/cat-about-banner.jpg'\n          }\n          alt=\"Man holding a dog on a dock\"\n          title={content.video.title}\n          video=\"https://youtu.be/TC_kU0kVHfo?orgin=localhost:3000/about\"\n          classes=\"col-span-4 sm:col-span-6 md:col-span-12 py-16 pt-16 sm:pt-20 md:pt-28\"\n        />\n      </PageWrapper>\n      <PageWrapper classes=\"col-span-4 sm:col-span-6 md:col-span-12\">\n        <AnimateItem from={{ translateY: 20 }}>\n          <PageHeadline {...pageHeadline} classes=\"pb-8\" />\n        </AnimateItem>\n        <Carousel\n          navigationButtons={{\n            verticalOffsetClass: 'top-[calc(50%-140px)]',\n          }}\n          dotNavigation={{\n            dotClass: 'text-base-300 hover:text-base-200',\n            fontSizeClass: 'static bottom-auto',\n          }}\n          classes=\"pb-12\"\n        >\n          {reunions.map((reunion, index) => (\n            <CarouselItemReunion key={index} {...reunion} />\n          ))}\n        </Carousel>\n      </PageWrapper>\n      <FullWidthCalloutImage\n        overline={content.fullWidth.overline}\n        title={content.fullWidth.title}\n        body={<FullWidthCalloutBody />}\n        button1={{\n          size: 'md',\n          variant: 'dark',\n          color: 'secondary',\n          type: 'button',\n          children: content.fullWidth.buttonLabel,\n          href: '/create-account/start/',\n          /** Sets the component name for tracking */\n          onClick: () => {\n            setInitiatingComponent('Sign Up Button / All Pages');\n          },\n          rel: 'nofollow',\n        }}\n        imageUrl={\n          process.env.NEXT_PUBLIC_CDN_BASE_URL +\n          '/assets/lost/brandywine-valley-spca-dogs-chasing.jpg'\n        }\n      />\n    </div>\n  );\n};\n\nexport default AboutPageTemplate;\n"],"names":["__webpack_exports__","Z","title","imageUrl","buttons","alt","param","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","className","span","jsx","Heading","size","map","button","index","Button","CdnImage","src","layout","priority","ImageStat_ImageStat","image","label","stat","classes","jsx_runtime","concat","objectFit","Paragraph","PageHeadline_PageHeadline","overline","headingLeft","headingRight","WeLovePets_WeLovePets","staticText","dynamicText","currentIndex","setCurrentIndex","useState","useEffect","interval","setInterval","nextIndex","length","clearInterval","currentText","AnimateItem","from","translateY","styling","colorType","colorShade","children","AboutPageTemplate_AboutPageTemplate","content","setInitiatingComponent","useEventContext","reunions","petName","carousel","beast","ownerName","description","process","link","sophie","fallon","bella","weLovePetsDynamicText","weLovePets","dynamicTexts","lostPets","foundPets","oldPets","newPets","allPets","pageHeadline","font","LandingPageHero","hero","PageWrapper","WeLovePets","stats","delay","ImageStat","imageStats","statText","statNumber","textCopy","paragraph1","paragraph2","VideoPlayer","video","PageHeadline","Carousel","navigationButtons","verticalOffsetClass","dotNavigation","dotClass","fontSizeClass","reunion","CarouselItemReunion","FullWidthCalloutImage","fullWidth","body","FullWidthCalloutBody","button1","variant","color","type","buttonLabel","href","onClick","rel"],"sourceRoot":""}