{"version":3,"file":"static/chunks/5908.76ce8455e9dab90d.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/blocks.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/emptyDocument.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/helpers.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/index.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/inlines.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/marks.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/nodeTypes.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/schemaConstraints.js","webpack://_N_E/./node_modules/@contentful/rich-text-types/dist/types.js","webpack://_N_E/./core--client--components/src/lib/loaders/contentfulImageLoader.ts","webpack://_N_E/./core--client--components/src/lib/utils/anchorTarget.tsx","webpack://_N_E/./core--client--components/src/lib/utils/stringReplace/renderBreakLine.tsx","webpack://_N_E/./src/components/atoms/FullWidthCalloutBody.tsx","webpack://_N_E/./src/components/organisms/FullWidthCalloutImage/FullWidthCalloutImage.tsx","webpack://_N_E/./src/components/organisms/PageWrapper/PageWrapper.tsx","webpack://_N_E/./src/lib/constants/constants/storage.ts","webpack://_N_E/./src/lib/storageClasses/analyticsEventStorage.ts","webpack://_N_E/./src/lib/hooks/analytics/useEventContext.tsx","webpack://_N_E/<anon>"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BLOCKS = void 0;\n/**\n * Map of all Contentful block types. Blocks contain inline or block nodes.\n */\nvar BLOCKS;\n(function (BLOCKS) {\n    BLOCKS[\"DOCUMENT\"] = \"document\";\n    BLOCKS[\"PARAGRAPH\"] = \"paragraph\";\n    BLOCKS[\"HEADING_1\"] = \"heading-1\";\n    BLOCKS[\"HEADING_2\"] = \"heading-2\";\n    BLOCKS[\"HEADING_3\"] = \"heading-3\";\n    BLOCKS[\"HEADING_4\"] = \"heading-4\";\n    BLOCKS[\"HEADING_5\"] = \"heading-5\";\n    BLOCKS[\"HEADING_6\"] = \"heading-6\";\n    BLOCKS[\"OL_LIST\"] = \"ordered-list\";\n    BLOCKS[\"UL_LIST\"] = \"unordered-list\";\n    BLOCKS[\"LIST_ITEM\"] = \"list-item\";\n    BLOCKS[\"HR\"] = \"hr\";\n    BLOCKS[\"QUOTE\"] = \"blockquote\";\n    BLOCKS[\"EMBEDDED_ENTRY\"] = \"embedded-entry-block\";\n    BLOCKS[\"EMBEDDED_ASSET\"] = \"embedded-asset-block\";\n    BLOCKS[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-block\";\n    BLOCKS[\"TABLE\"] = \"table\";\n    BLOCKS[\"TABLE_ROW\"] = \"table-row\";\n    BLOCKS[\"TABLE_CELL\"] = \"table-cell\";\n    BLOCKS[\"TABLE_HEADER_CELL\"] = \"table-header-cell\";\n})(BLOCKS = exports.BLOCKS || (exports.BLOCKS = {}));\n//# sourceMappingURL=blocks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar blocks_1 = require(\"./blocks\");\n/**\n * A rich text document considered to be empty.\n * Any other document structure than this is not considered empty.\n */\nvar EMPTY_DOCUMENT = {\n    nodeType: blocks_1.BLOCKS.DOCUMENT,\n    data: {},\n    content: [\n        {\n            nodeType: blocks_1.BLOCKS.PARAGRAPH,\n            data: {},\n            content: [\n                {\n                    nodeType: 'text',\n                    value: '',\n                    marks: [],\n                    data: {},\n                },\n            ],\n        },\n    ],\n};\nexports.default = EMPTY_DOCUMENT;\n//# sourceMappingURL=emptyDocument.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isText = exports.isBlock = exports.isInline = void 0;\nvar blocks_1 = require(\"./blocks\");\nvar inlines_1 = require(\"./inlines\");\n/**\n * Tiny replacement for Object.values(object).includes(key) to\n * avoid including CoreJS polyfills\n */\nfunction hasValue(obj, value) {\n    for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {\n        var key = _a[_i];\n        if (value === obj[key]) {\n            return true;\n        }\n    }\n    return false;\n}\n/**\n * Checks if the node is an instance of Inline.\n */\nfunction isInline(node) {\n    return hasValue(inlines_1.INLINES, node.nodeType);\n}\nexports.isInline = isInline;\n/**\n * Checks if the node is an instance of Block.\n */\nfunction isBlock(node) {\n    return hasValue(blocks_1.BLOCKS, node.nodeType);\n}\nexports.isBlock = isBlock;\n/**\n * Checks if the node is an instance of Text.\n */\nfunction isText(node) {\n    return node.nodeType === 'text';\n}\nexports.isText = isText;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.helpers = exports.EMPTY_DOCUMENT = exports.MARKS = exports.INLINES = exports.BLOCKS = void 0;\nvar blocks_1 = require(\"./blocks\");\nObject.defineProperty(exports, \"BLOCKS\", { enumerable: true, get: function () { return blocks_1.BLOCKS; } });\nvar inlines_1 = require(\"./inlines\");\nObject.defineProperty(exports, \"INLINES\", { enumerable: true, get: function () { return inlines_1.INLINES; } });\nvar marks_1 = require(\"./marks\");\nObject.defineProperty(exports, \"MARKS\", { enumerable: true, get: function () { return __importDefault(marks_1).default; } });\n__exportStar(require(\"./schemaConstraints\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./nodeTypes\"), exports);\nvar emptyDocument_1 = require(\"./emptyDocument\");\nObject.defineProperty(exports, \"EMPTY_DOCUMENT\", { enumerable: true, get: function () { return __importDefault(emptyDocument_1).default; } });\nvar helpers = __importStar(require(\"./helpers\"));\nexports.helpers = helpers;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.INLINES = void 0;\n/**\n * Map of all Contentful inline types. Inline contain inline or text nodes.\n */\nvar INLINES;\n(function (INLINES) {\n    INLINES[\"HYPERLINK\"] = \"hyperlink\";\n    INLINES[\"ENTRY_HYPERLINK\"] = \"entry-hyperlink\";\n    INLINES[\"ASSET_HYPERLINK\"] = \"asset-hyperlink\";\n    INLINES[\"RESOURCE_HYPERLINK\"] = \"resource-hyperlink\";\n    INLINES[\"EMBEDDED_ENTRY\"] = \"embedded-entry-inline\";\n    INLINES[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-inline\";\n})(INLINES = exports.INLINES || (exports.INLINES = {}));\n//# sourceMappingURL=inlines.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Map of all Contentful marks.\n */\nvar MARKS;\n(function (MARKS) {\n    MARKS[\"BOLD\"] = \"bold\";\n    MARKS[\"ITALIC\"] = \"italic\";\n    MARKS[\"UNDERLINE\"] = \"underline\";\n    MARKS[\"CODE\"] = \"code\";\n    MARKS[\"SUPERSCRIPT\"] = \"superscript\";\n    MARKS[\"SUBSCRIPT\"] = \"subscript\";\n})(MARKS || (MARKS = {}));\nexports.default = MARKS;\n//# sourceMappingURL=marks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=nodeTypes.js.map","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.V1_MARKS = exports.V1_NODE_TYPES = exports.TEXT_CONTAINERS = exports.HEADINGS = exports.CONTAINERS = exports.VOID_BLOCKS = exports.TABLE_BLOCKS = exports.LIST_ITEM_BLOCKS = exports.TOP_LEVEL_BLOCKS = void 0;\nvar blocks_1 = require(\"./blocks\");\nvar inlines_1 = require(\"./inlines\");\nvar marks_1 = __importDefault(require(\"./marks\"));\n/**\n * Array of all top level block types.\n * Only these block types can be the direct children of the document.\n */\nexports.TOP_LEVEL_BLOCKS = [\n    blocks_1.BLOCKS.PARAGRAPH,\n    blocks_1.BLOCKS.HEADING_1,\n    blocks_1.BLOCKS.HEADING_2,\n    blocks_1.BLOCKS.HEADING_3,\n    blocks_1.BLOCKS.HEADING_4,\n    blocks_1.BLOCKS.HEADING_5,\n    blocks_1.BLOCKS.HEADING_6,\n    blocks_1.BLOCKS.OL_LIST,\n    blocks_1.BLOCKS.UL_LIST,\n    blocks_1.BLOCKS.HR,\n    blocks_1.BLOCKS.QUOTE,\n    blocks_1.BLOCKS.EMBEDDED_ENTRY,\n    blocks_1.BLOCKS.EMBEDDED_ASSET,\n    blocks_1.BLOCKS.EMBEDDED_RESOURCE,\n    blocks_1.BLOCKS.TABLE,\n];\n/**\n * Array of all allowed block types inside list items\n */\nexports.LIST_ITEM_BLOCKS = [\n    blocks_1.BLOCKS.PARAGRAPH,\n    blocks_1.BLOCKS.HEADING_1,\n    blocks_1.BLOCKS.HEADING_2,\n    blocks_1.BLOCKS.HEADING_3,\n    blocks_1.BLOCKS.HEADING_4,\n    blocks_1.BLOCKS.HEADING_5,\n    blocks_1.BLOCKS.HEADING_6,\n    blocks_1.BLOCKS.OL_LIST,\n    blocks_1.BLOCKS.UL_LIST,\n    blocks_1.BLOCKS.HR,\n    blocks_1.BLOCKS.QUOTE,\n    blocks_1.BLOCKS.EMBEDDED_ENTRY,\n    blocks_1.BLOCKS.EMBEDDED_ASSET,\n    blocks_1.BLOCKS.EMBEDDED_RESOURCE,\n];\nexports.TABLE_BLOCKS = [\n    blocks_1.BLOCKS.TABLE,\n    blocks_1.BLOCKS.TABLE_ROW,\n    blocks_1.BLOCKS.TABLE_CELL,\n    blocks_1.BLOCKS.TABLE_HEADER_CELL,\n];\n/**\n * Array of all void block types\n */\nexports.VOID_BLOCKS = [\n    blocks_1.BLOCKS.HR,\n    blocks_1.BLOCKS.EMBEDDED_ENTRY,\n    blocks_1.BLOCKS.EMBEDDED_ASSET,\n    blocks_1.BLOCKS.EMBEDDED_RESOURCE,\n];\n/**\n * Dictionary of all container block types, and the set block types they accept as children.\n *\n * Note: This does not include `[BLOCKS.DOCUMENT]: TOP_LEVEL_BLOCKS`\n */\nexports.CONTAINERS = (_a = {},\n    _a[blocks_1.BLOCKS.OL_LIST] = [blocks_1.BLOCKS.LIST_ITEM],\n    _a[blocks_1.BLOCKS.UL_LIST] = [blocks_1.BLOCKS.LIST_ITEM],\n    _a[blocks_1.BLOCKS.LIST_ITEM] = exports.LIST_ITEM_BLOCKS,\n    _a[blocks_1.BLOCKS.QUOTE] = [blocks_1.BLOCKS.PARAGRAPH],\n    _a[blocks_1.BLOCKS.TABLE] = [blocks_1.BLOCKS.TABLE_ROW],\n    _a[blocks_1.BLOCKS.TABLE_ROW] = [blocks_1.BLOCKS.TABLE_CELL, blocks_1.BLOCKS.TABLE_HEADER_CELL],\n    _a[blocks_1.BLOCKS.TABLE_CELL] = [blocks_1.BLOCKS.PARAGRAPH],\n    _a[blocks_1.BLOCKS.TABLE_HEADER_CELL] = [blocks_1.BLOCKS.PARAGRAPH],\n    _a);\n/**\n * Array of all heading levels\n */\nexports.HEADINGS = [\n    blocks_1.BLOCKS.HEADING_1,\n    blocks_1.BLOCKS.HEADING_2,\n    blocks_1.BLOCKS.HEADING_3,\n    blocks_1.BLOCKS.HEADING_4,\n    blocks_1.BLOCKS.HEADING_5,\n    blocks_1.BLOCKS.HEADING_6,\n];\n/**\n * Array of all block types that may contain text and inline nodes.\n */\nexports.TEXT_CONTAINERS = __spreadArray([blocks_1.BLOCKS.PARAGRAPH], exports.HEADINGS, true);\n/**\n * Node types before `tables` release.\n */\nexports.V1_NODE_TYPES = [\n    blocks_1.BLOCKS.DOCUMENT,\n    blocks_1.BLOCKS.PARAGRAPH,\n    blocks_1.BLOCKS.HEADING_1,\n    blocks_1.BLOCKS.HEADING_2,\n    blocks_1.BLOCKS.HEADING_3,\n    blocks_1.BLOCKS.HEADING_4,\n    blocks_1.BLOCKS.HEADING_5,\n    blocks_1.BLOCKS.HEADING_6,\n    blocks_1.BLOCKS.OL_LIST,\n    blocks_1.BLOCKS.UL_LIST,\n    blocks_1.BLOCKS.LIST_ITEM,\n    blocks_1.BLOCKS.HR,\n    blocks_1.BLOCKS.QUOTE,\n    blocks_1.BLOCKS.EMBEDDED_ENTRY,\n    blocks_1.BLOCKS.EMBEDDED_ASSET,\n    inlines_1.INLINES.HYPERLINK,\n    inlines_1.INLINES.ENTRY_HYPERLINK,\n    inlines_1.INLINES.ASSET_HYPERLINK,\n    inlines_1.INLINES.EMBEDDED_ENTRY,\n    'text',\n];\n/**\n * Marks before `superscript` & `subscript` release.\n */\nexports.V1_MARKS = [marks_1.default.BOLD, marks_1.default.CODE, marks_1.default.ITALIC, marks_1.default.UNDERLINE];\n//# sourceMappingURL=schemaConstraints.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","import { ImageLoaderProps } from \"next/legacy/image\";\n\n/**\n * Loads images from the CDN\n *\n * @param {ImageLoaderProps} params- Image loader props\n * @returns {string} - Image URL\n */\nfunction contentFulImageLoader({\n  src,\n  width,\n  quality,\n}: ImageLoaderProps): string {\n  if (quality) {\n    return `${src}?q=${quality}&w=${width}&fm=webp`;\n  } else {\n    return `${src}?w=${width}&fm=webp`;\n  }\n}\n\nexport default contentFulImageLoader;\n","import CdnImage from '@/component-library/atoms/CdnImage/CdnImage';\n\n/**\n * Renders an anchor element with a target attribute based on the provided URI.\n *\n * @param {string} uri - The URI to link to.\n * @param {React.ReactNode} children - The content to display within the anchor\n *   element.\n * @returns {React.Element} The rendered anchor element.\n */\nexport function anchorTarget(uri: string, children: React.ReactNode) {\n  const isPetcoLink =\n    uri.includes('https://petcolove.org/') || uri.startsWith('/');\n\n  return (\n    <a\n      href={uri}\n      target={isPetcoLink ? '_self' : '_blank'}\n      rel={isPetcoLink ? '' : 'noopener noreferrer'}\n      className=\"text-neutral-800 hover:text-base-300 underline focus-visible:ring-1 focus-visible:ring-focus-400\"\n    >\n      {children}\n      {!isPetcoLink && (\n        <span className=\"ml-0.5 mr-1 relative -top-0.5\">\n          <CdnImage\n            src=\"/assets/lost/external-link.png\"\n            alt=\"↗\"\n            width={12}\n            height={12}\n          />\n        </span>\n      )}\n    </a>\n  );\n}\n","\n/**\n * Inserts an Html break line when a new line is present at the text parameter\n *\n * @param {string} text - String to parse\n * @returns {string} The generated output with html break lines\n */\nexport const renderBreakLine = (text: string) => {\n  return text.split('\\n').flatMap((text, i) => [i > 0 && <br key={i} />, text]);\n};\n","/**\n * The content of the full width callout.\n *\n * @returns {React.ReactNode} The content node.\n */\nfunction FullWidthCalloutBody() {\n  return (\n    <>\n      Sign up <em>now</em> in case they go missing <em>later</em>.\n    </>\n  );\n}\n\nexport default FullWidthCalloutBody;\n","import { anchorTarget } from '@/component-library-lib/utils/anchorTarget';\nimport { renderBreakLine } from '@/component-library-lib/utils/stringReplace/renderBreakLine';\nimport AnimateItem from '@/component-library/atoms/AnimateItem/AnimateItem';\nimport CdnImage from '@/component-library/atoms/CdnImage/CdnImage';\nimport Button, { IButton } from '@/components/atoms/Button/Button';\nimport Heading from '@/components/atoms/Heading/Heading';\nimport Paragraph from '@/components/atoms/Paragraph/Paragraph';\nimport {\n  documentToReactComponents,\n  Options,\n} from '@contentful/rich-text-react-renderer';\nimport { BLOCKS, Document, INLINES, MARKS } from '@contentful/rich-text-types';\nimport Image, { ImageLoader } from 'next/legacy/image';\nimport React from 'react';\n\n/**\n * Base Class\n *\n * @constant\n */\nconst baseClass = `text-neutral-100 text-center`;\n\nconst options: Options = {\n  renderNode: {\n    /**\n     * @param {object} _ - Node Data\n     * @param {React.ReactNode} children - Node Children Tree\n     * @returns {React.ReactNode} - ReactNode\n     */\n    [BLOCKS.PARAGRAPH]: (_, children) => (\n      <Paragraph\n        size=\"body4\"\n        className={`${baseClass} text-center mb-6 lg:mb-10`}\n      >\n        {children}\n      </Paragraph>\n    ),\n\n    /**\n     * @param {object} node - Node Data\n     * @param {object} node.data - Node Data\n     * @param {React.ReactNode} children - Node Children Tree\n     * @returns {React.ReactNode | void} - ReactNode\n     */\n    [INLINES.HYPERLINK]: ({ data }, children) => {\n      // Only process youtube links\n      if (data.uri) {\n        return anchorTarget(data.uri, children);\n      }\n    },\n  },\n  renderMark: {\n    /**\n     * Bold text\n     *\n     * @param {React.ReactNode} text - Text to render\n     * @returns {React.ReactNode} - The formatted text\n     */\n    [MARKS.BOLD]: (text) => <strong className=\"font-petco\">{text}</strong>,\n    /**\n     * Italic text\n     *\n     * @param {React.ReactNode} text - Text to render\n     * @returns {React.ReactNode} - The formatted text\n     */\n    [MARKS.ITALIC]: (text) => <em className=\"font-petco\">{text}</em>,\n  },\n  renderText: renderBreakLine,\n};\n\n/**\n * IWrapper Interface for React components that only receives 1 children as a\n * prop.\n *\n * @interface IWrapper\n */\nexport interface IWrapper {\n  /**\n   * - React children passed via props.\n   *\n   * @memberof IWrapper\n   * @member {React.ReactNode} [children]\n   */\n  children?: React.ReactNode;\n}\n\n/**\n * IFullWidthCallout Interface for Full Width Callout component\n *\n * @interface IFullWidthCalloutImage\n */\nexport interface IFullWidthCalloutImage {\n  /**\n   * The overline text to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {string} [overline]\n   */\n  overline?: string;\n  /**\n   * The headline text to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {React.ReactNode | string} [title]\n   */\n  title?: React.ReactNode | string;\n  /**\n   * The content text to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {string | React.ReactNode} [body]\n   */\n  body?: string | React.ReactNode;\n  /**\n   * The content text to display with RichText support.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {Document} [bodyRichText]\n   */\n  bodyRichText?: Document;\n  /**\n   * The first button to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {IButton} [button1]\n   */\n  button1?: IButton;\n  /**\n   * The second button to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {IButton} [button2]\n   */\n  button2?: IButton;\n  /**\n   * The image url to display.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {string} imageUrl\n   */\n  imageUrl: string;\n  /**\n   * The opacity of the image. 0-1\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {number} [imageOpacity]\n   */\n  imageOpacity?: number;\n  /**\n   * The optional classes\n   *\n   * @memberof IFullWidthCalloutImage\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n  /**\n   * A JSX Element to wrap the text and style it.\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {React.FC<IWrapper>} [TextWrapper]\n   */\n  TextWrapper?: React.FC<IWrapper>;\n  /**\n   * The loader function for the image\n   *\n   * @memberof IFullWidthCalloutImage\n   * @member {ImageLoader} [loader]\n   */\n  loader?: ImageLoader;\n}\n\n/**\n * Full Width Callout Full width callout image component. Takes in overline,\n * headline, content and buttons\n *\n * @param {IFullWidthCalloutImage} props - The props of the Full Width Callout\n * @returns {React.FC<IFullWidthCalloutImage>} Full Width Callout Component\n */\nconst FullWidthCalloutImage: React.FC<IFullWidthCalloutImage> = ({\n  overline,\n  title,\n  body,\n  bodyRichText,\n  button1,\n  button2,\n  imageUrl,\n  imageOpacity = 0.5,\n  classes = '',\n  TextWrapper,\n  loader,\n}: IFullWidthCalloutImage) => {\n  const firstButton = button1 ? button1 : null;\n  const secondButton = button2 ? button2 : null;\n  const Wrapper = TextWrapper\n    ? TextWrapper\n    : ({ children }: IWrapper) => (\n        <AnimateItem from={{ translateY: 20 }}>{children}</AnimateItem>\n      );\n\n  return (\n    <div\n      className={`w-full flex justify-center bg-black ${classes}`}\n      data-testid=\"full-width-callout\"\n    >\n      <div className=\"w-full py-24 md:py-[168px] relative flex justify-center px-6 sm:px-8\">\n        <div className=\"z-[1]\">\n          <Wrapper>\n            {overline && (\n              <Paragraph\n                size=\"body5\"\n                className={`${baseClass} capitalize mb-2 md:mb-4`}\n              >\n                {overline}\n              </Paragraph>\n            )}\n            {title && (\n              <Heading\n                size=\"h2\"\n                font=\"amasis\"\n                className={`${baseClass} text-center mb-2 md:mb-4 [&>*]:text-neutral-100`}\n              >\n                {title}\n              </Heading>\n            )}\n\n            {bodyRichText && documentToReactComponents(bodyRichText, options)}\n\n            {!bodyRichText && body && (\n              <Paragraph size=\"body4\" className={`${baseClass} text-center`}>\n                {body}\n              </Paragraph>\n            )}\n\n            <div className=\"mt-6 lg:mt-8 flex flex-wrap justify-center\">\n              {firstButton && (\n                <Button\n                  {...firstButton}\n                  data-testid=\"first-button\"\n                  className=\"mb-4 mx-2\"\n                />\n              )}\n              {secondButton && (\n                <Button\n                  {...secondButton}\n                  data-testid=\"second-button\"\n                  className=\"mb-4 mx-2\"\n                />\n              )}\n            </div>\n          </Wrapper>\n        </div>\n\n        {loader ? (\n          <Image\n            src={imageUrl}\n            layout=\"fill\"\n            objectFit=\"cover\"\n            alt={'Full Width Callout Image'}\n            objectPosition=\"center\"\n            style={{\n              opacity: imageOpacity,\n            }}\n            loader={loader}\n          ></Image>\n        ) : (\n          <CdnImage\n            src={imageUrl}\n            layout=\"fill\"\n            objectFit=\"cover\"\n            alt=\"Full Width Callout Image\"\n            objectPosition=\"center\"\n            style={{\n              opacity: imageOpacity,\n            }}\n          />\n        )}\n      </div>\n    </div>\n  );\n};\n\nexport default FullWidthCalloutImage;\n","import { ReactNode } from 'react';\n\n/**\n * IPageWrapper\n *\n * @interface IPageWrapper\n */\nexport interface IPageWrapper {\n  /**\n   * The content of the page.\n   *\n   * @memberof IPageWrapper\n   * @member {ReactNode} children\n   */\n  children: ReactNode;\n  /**\n   * The classes to apply to the component.\n   *\n   * @memberof IPageWrapper\n   * @default ''\n   * @member {string} [classes]\n   */\n  classes?: string;\n}\n\n/**\n * Page Wrapper Used to wrap the entire page in a fixed size container.\n *\n * @param {IPageWrapper} props - The props for the PageWrapper component\n * @returns {React.FC<IPageWrapper>} PageWrapper Component\n */\nconst PageWrapper: React.FC<IPageWrapper> = ({\n  children,\n  classes = '',\n}: IPageWrapper) => {\n  return <div className={`max-w-[1440px] mx-auto ${classes}`}>{children}</div>;\n};\n\nexport default PageWrapper;\n","import { tomorrow } from '@/lib/utils/helpers/dateHelpers/dates';\n\n/**\n * The default expiration date\n *\n * @constant {Date}\n */\nexport const defaultExpirationDate: Date = tomorrow;\n","import { notApplicableString } from '@/lib/constants/constants/analytics';\nimport { defaultExpirationDate } from '@/lib/constants/constants/storage';\nimport { EventData } from '@/lib/hooks/analytics/useEventContext';\nimport { tomorrow } from '@/lib/utils/helpers/dateHelpers/dates';\nimport LocalStorage from '@/lib/utils/storage/local-storage';\n\n/**\n * The valid type for the initiating component param\n *\n * @type {AnalyticsInitiatingComponent}\n */\nexport type AnalyticsInitiatingComponent =\n  | 'I Lost A Pet Button / Homepage'\n  | 'I Found A Pet Button / Homepage'\n  | 'I Lost A Pet Footer Link / All Pages'\n  | 'I Found A Pet Footer Link / All Pages'\n  | 'Search All Pets Link / Homepage'\n  | 'Search All Pets Link / How To Help Page'\n  | 'Search All Pets Button / How To Help Page'\n  | 'Sign Up Button / All Pages'\n  | 'Search Persistent Banner / All Pages'\n  | 'I Found A Pet Button / Shelter Dashboard'\n  | 'I Found A Pet Button / Shelter Homepage'\n  | 'Search Button / User Dashboard'\n  | 'Photo Search Chip / Search Results Page'\n  | 'Microchip Search Chip / Search Results Page'\n  | 'Distance Search Chip / Search Results Page'\n  | 'Photo Search Button / Search Results Page'\n  | 'Microchip Search Button / Search Results Page'\n  | 'Distance Search Button / Search Results Page'\n  | 'Photo Search Link / Search Results Page'\n  | 'Microchip Search Link / Search Results Page'\n  | 'Distance Search Link / Search Results Page'\n  | 'Search By Microchip Link / Lost and Found Tips Page'\n  | 'Contact Pet Finder Button'\n  | 'Contact Pet Parent Button'\n  | 'View Reported Pets Near Me / Alert Matches Page'\n  | 'View Matches Button / Shelter Pets Page'\n  | 'View Matches Button / Shelter Pet Profile'\n  | 'Card Header Link / Photo Search Results Page / Lost'\n  | 'Card Header Link / Photo Search Results Page / Found'\n  | 'Card Header Link / Distance Search Results Page / Lost'\n  | 'Card Header Link / Distance Search Results Page / Found'\n  | 'Card Header Link / Microchip Search Results Page / Lost'\n  | 'Card Header Link / Microchip Search Results Page / Found'\n  | 'Card Header Link / Distance Search Results Page / All'\n  | 'Card Header Link / Distance Search Results Map / Lost'\n  | 'Card Header Link / Distance Search Results Map / Found'\n  | 'Card Header Link / Distance Search Results Map / All'\n  | 'Add Pet Button / User Dashboard / Lost'\n  | 'Add Pet Button / User Dashboard / Found'\n  | 'Report as Lost Button / User Dashboard / Lost'\n  | 'Map View Icon'\n  | 'List View Icon'\n  | typeof notApplicableString;\n\n/**\n * The initiating component data\n *\n * @interface IAnalyticsInitiatingComponentData\n */\ninterface IAnalyticsInitiatingComponentData {\n  /** The initiating component */\n  component: AnalyticsInitiatingComponent;\n  /** The data expiration date */\n  expiration: Date;\n}\n\n/**\n * AnalyticsEventStorage class, this is used to store the analytics event\n * information that is not present in the context of certain pages\n *\n * @class AnalyticsEventStorage\n */\nexport class AnalyticsEventStorage {\n  /** The session storage instance */\n  private readonly analyticsEventStorage = new LocalStorage();\n\n  /** The key to store the analytics event data under */\n  private readonly analyticsEventStorageKey = 'analyticsEvent';\n\n  private readonly initiatingComponentKey = 'initiatingAnalyticsComponent';\n\n  /**\n   * Set data in session storage\n   *\n   * @param {EventData} analyticsEvent - The analytics event object to store\n   */\n  public set = (analyticsEvent: EventData) => {\n    this.analyticsEventStorage.set(\n      this.analyticsEventStorageKey,\n      analyticsEvent,\n      { expires: tomorrow }\n    );\n  };\n\n  /**\n   * Get data from session storage\n   *\n   * @returns {EventData | null} The analytics event object\n   */\n  public get = (): EventData | null => {\n    return this.analyticsEventStorage.get(\n      this.analyticsEventStorageKey\n    ) as EventData;\n  };\n\n  /** Delete data from session storage */\n  public delete = () => {\n    this.analyticsEventStorage.delete(this.analyticsEventStorageKey);\n  };\n\n  /**\n   * Set the initiating component\n   *\n   * @param {string} component - The initiating component\n   */\n  public setInitiatingComponent = (component: AnalyticsInitiatingComponent) => {\n    this.analyticsEventStorage.set(\n      this.initiatingComponentKey,\n      { component },\n      { expires: defaultExpirationDate }\n    );\n  };\n\n  /**\n   * Retrieve the initiating component\n   *\n   * @constant {AnalyticsInitiatingComponent} initiatingComponent\n   * @returns {AnalyticsInitiatingComponent} The initiating component\n   */\n  public getInitiatingComponent = (): AnalyticsInitiatingComponent => {\n    /**\n     * The analytics initiating component data\n     *\n     * @constant {IAnalyticsInitiatingComponentData} data\n     */\n    const data = this.analyticsEventStorage.get(\n      this.initiatingComponentKey\n    ) as IAnalyticsInitiatingComponentData;\n    /**\n     * The initiating component\n     *\n     * @constant {AnalyticsInitiatingComponent} component\n     */\n    const component = data?.component;\n\n    if (component) {\n      return component;\n    }\n\n    return 'NA';\n  };\n}\n","import { notApplicableString } from '@/lib/constants/constants/analytics';\nimport { PetStatus } from '@/lib/constants/types/analytics';\nimport {\n  AnalyticsEventStorage,\n  AnalyticsInitiatingComponent,\n} from '@/lib/storageClasses/analyticsEventStorage';\nimport { PetFlowType } from '@/lib/utils/analytics/petSearch';\nimport {\n  ReactNode,\n  createContext,\n  useCallback,\n  useContext,\n  useMemo,\n} from 'react';\n\n/**\n * The data structure for the event data, we can add more properties as needed\n *\n * @interface EventData\n */\nexport interface EventData {\n  /** The method behind the operation */\n  method?: string;\n  /** The status of the pet (Lost, Found, Safe at Home) */\n  petStatus?: PetStatus;\n  /** The text on the button that was clicked to get to this event */\n  clickText?: string;\n  /** The id of the pet entity */\n  petId?: number;\n  /** The name of the pet */\n  petName?: string;\n  /** The zip code associated with the pet */\n  locationId?: string;\n  /** The species of the pet */\n  species?: string;\n  /** The start date of the search */\n  start?: string | null;\n  /** The flow type */\n  flowType?: PetFlowType;\n}\n\n/** This is the data structure that can be returned from the provider */\nexport interface IEventContext {\n  /** This is the method for updating the data */\n  updateData: (newData: EventData) => void;\n  /** This is the method for clearing the data */\n  clearData: () => void;\n  /** Get data */\n  getData: () => EventData | undefined;\n  /** Set the initiating component state */\n  setInitiatingComponent: (component: AnalyticsInitiatingComponent) => void;\n  /** The initiating component */\n  getInitiatingComponent: () => AnalyticsInitiatingComponent;\n  /** Get the pet id */\n  getPetId: () => number | undefined;\n}\n\n/**\n * The default event context\n *\n * @constant {IEventContext} defaultEventContext\n */\nexport const defaultEventContext: IEventContext = {\n  /** This method is used to update the data */\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  updateData: () => {},\n  /**\n   * This method is used to get the data\n   *\n   * @returns {undefined} - The data\n   */\n  getData: () => undefined,\n  /** This method is used to clear the data */\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  clearData: () => {},\n  /** Set the initiating component state */\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  setInitiatingComponent: () => {},\n  /**\n   * The default initiating component\n   *\n   * @returns {string} - The initiating component\n   */\n  getInitiatingComponent: (): AnalyticsInitiatingComponent =>\n    notApplicableString,\n  /**\n   * The default pet id\n   *\n   * @returns {number | undefined} - The pet id\n   */\n  getPetId: () => undefined,\n};\n\n/** This is the context */\nconst EventContext = createContext<IEventContext>(defaultEventContext);\n\n/**\n * The interface for the EventContextProvider props\n *\n * @interface\n */\ninterface IEventContextProvider {\n  /** The children wrapped by the provider */\n  children: ReactNode;\n}\n\n/**\n * The EventContextProvider component.\n *\n * @param {IEventContextProvider} props - The props for the\n *   EventContextProvider.\n * @returns {Element} - The EventContextProvider.\n */\nexport function EventContextProvider({\n  children,\n}: IEventContextProvider): JSX.Element {\n  // Make instance of AnalyticsEventStorage referentially stable so context methods can be passed to the dependency array\n  const analyticsEventStorage = useMemo(() => new AnalyticsEventStorage(), []);\n\n  /**\n   * Update the state of data\n   *\n   * @param {EventData} newData - The new data\n   * @returns {void}\n   */\n  const updateData = useCallback(\n    (newData: EventData) => {\n      const storedData = analyticsEventStorage.get();\n      const currentData = storedData || {};\n      if (currentData && newData) {\n        newData = { ...currentData, ...newData };\n      }\n      analyticsEventStorage.set(newData);\n    },\n    [analyticsEventStorage]\n  );\n\n  /**\n   * Clear the state of data\n   *\n   * @returns {void}\n   */\n  const clearData = useCallback(() => {\n    analyticsEventStorage.delete();\n  }, [analyticsEventStorage]);\n\n  /**\n   * Return the state of data, if it is not there then check the storage\n   *\n   * @returns {EventData | undefined} - The data\n   */\n  const getData = useCallback(() => {\n    return analyticsEventStorage.get() || undefined;\n  }, [analyticsEventStorage]);\n\n  /**\n   * Return the pet id from the storage if available\n   *\n   * @returns {number | undefined} - The pet id\n   */\n  const getPetId = useCallback(() => {\n    const data = analyticsEventStorage.get();\n    return data?.petId;\n  }, [analyticsEventStorage]);\n\n  /**\n   * Set the initiating component\n   *\n   * @param {AnalyticsInitiatingComponent} component - The initiating component\n   */\n  const setInitiatingComponent = useCallback(\n    (component: AnalyticsInitiatingComponent) => {\n      analyticsEventStorage.setInitiatingComponent(component);\n    },\n    [analyticsEventStorage]\n  );\n\n  /**\n   * Retrieve the initiating component\n   *\n   * @returns {AnalyticsInitiatingComponent} - The initiating component\n   */\n  const getInitiatingComponent = useCallback(() => {\n    return analyticsEventStorage.getInitiatingComponent();\n  }, [analyticsEventStorage]);\n\n  return (\n    <EventContext.Provider\n      value={{\n        clearData,\n        getPetId,\n        getData,\n        getInitiatingComponent,\n        setInitiatingComponent,\n        updateData,\n      }}\n    >\n      {children}\n    </EventContext.Provider>\n  );\n}\n\n/**\n * This is the hook for the event context\n *\n * @returns {IEventContext} - The context\n */\nexport const useEventContext = (): IEventContext => useContext(EventContext);\n"],"names":["BLOCKS","Object","defineProperty","exports","value","blocks_1","__webpack_require__","EMPTY_DOCUMENT","nodeType","DOCUMENT","data","content","PARAGRAPH","marks","isText","isBlock","isInline","inlines_1","hasValue","obj","_i","_a","keys","length","node","INLINES","__createBinding","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__setModuleDefault","v","__exportStar","p","prototype","hasOwnProperty","call","__importStar","mod","result","__importDefault","helpers","MARKS","marks_1","default","emptyDocument_1","__spreadArray","to","from","pack","arguments","ar","i","l","Array","slice","concat","V1_MARKS","V1_NODE_TYPES","TEXT_CONTAINERS","HEADINGS","CONTAINERS","VOID_BLOCKS","TABLE_BLOCKS","LIST_ITEM_BLOCKS","TOP_LEVEL_BLOCKS","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6","OL_LIST","UL_LIST","HR","QUOTE","EMBEDDED_ENTRY","EMBEDDED_ASSET","EMBEDDED_RESOURCE","TABLE","TABLE_ROW","TABLE_CELL","TABLE_HEADER_CELL","LIST_ITEM","HYPERLINK","ENTRY_HYPERLINK","ASSET_HYPERLINK","BOLD","CODE","ITALIC","UNDERLINE","__webpack_exports__","Z","param","src","width","quality","anchorTarget","uri","children","isPetcoLink","includes","startsWith","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","a","href","target","rel","className","jsx","span","CdnImage","alt","height","renderBreakLine","text","split","flatMap","br","Fragment","em","baseClass","options","renderNode","_","Paragraph","size","renderMark","strong","renderText","overline","title","body","bodyRichText","button1","button2","imageUrl","imageOpacity","classes","TextWrapper","loader","firstButton","secondButton","Wrapper","AnimateItem","translateY","div","Heading","font","documentToReactComponents","Button","Image","layout","objectFit","objectPosition","style","opacity","defaultExpirationDate","tomorrow","AnalyticsEventStorage","analyticsEventStorage","LocalStorage","analyticsEventStorageKey","initiatingComponentKey","set","analyticsEvent","expires","delete","setInitiatingComponent","component","getInitiatingComponent","EventContext","createContext","updateData","getData","clearData","notApplicableString","getPetId","EventContextProvider","useMemo","useCallback","storedData","currentData","newData","petId","jsx_runtime","Provider","useEventContext","useContext"],"sourceRoot":""}