{"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":""}