{"version":3,"file":"4988.2a72adb13270e1aff210.js","mappings":"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","sources":["webpack://webstaurantstore/./__alias__/hypernova/index.tsx","webpack://webstaurantstore/./__alias__/react/index.tsx","webpack://webstaurantstore/./__alias__/error-tracking/inbound-filters.ts","webpack://webstaurantstore/./__alias__/error-tracking/sentry.ts","webpack://webstaurantstore/./common/Store/actions/chat/index.ts","webpack://webstaurantstore/./common/Store/actions/loginModal/index.ts","webpack://webstaurantstore/./common/Store/actions/user/index.ts","webpack://webstaurantstore/./common/Store/actions/user/platinumNotifications.ts","webpack://webstaurantstore/./common/Store/actions/user/repImages.ts","webpack://webstaurantstore/./common/Store/index.ts","webpack://webstaurantstore/./common/Store/models/Chat-ti.ts","webpack://webstaurantstore/./common/Store/models/Root-ti.ts","webpack://webstaurantstore/./common/Store/models/RuntimeValidator.ts","webpack://webstaurantstore/./common/Store/models/User-ti.ts","webpack://webstaurantstore/./common/Store/reducers/chat.ts","webpack://webstaurantstore/./common/Store/reducers/loginModal/index.ts","webpack://webstaurantstore/./common/Store/reducers/user/index.ts","webpack://webstaurantstore/./common/Store/reducers/user/platinumNotificationsReducer.ts","webpack://webstaurantstore/./common/Store/reducers/user/platinumRepContactReducer.ts","webpack://webstaurantstore/./common/Store/rootReducer.ts","webpack://webstaurantstore/../webpack/mocks/@sentry-internal/feedback/index.ts","webpack://webstaurantstore/../webpack/mocks/@sentry-internal/replay-canvas/index.ts","webpack://webstaurantstore/../webpack/mocks/@sentry-internal/replay/index.ts"],"sourcesContent":["import React, { createElement, FC, PropsWithChildren } from \"react\";\nimport hypernova from \"hypernova\";\nimport camelcaseKeys from \"camelcase-keys\";\nimport { createHypernovaContext, HydrateAtRoot, hydrateIntoContainer, RenderAtRoot } from \"@wss/react\";\ntype HypernovaProps = ReturnType[number];\nfunction getHypernovaData(name: string, camelCase = false): HypernovaProps {\n const result = hypernova.load(name)[0];\n const props = camelCase ? camelcaseKeys(result.data, {\n deep: true\n }) : result.data;\n return {\n node: result.node,\n data: props\n };\n}\nexport function withPreloadedJSON(Component: FC>, name: string, camelCase = false): FC {\n const {\n node,\n data\n } = getHypernovaData(name, camelCase);\n const Context = createHypernovaContext(name, data);\n return function RenderElement() {\n if (!node.firstElementChild) {\n return \n \n {createElement(Component, data)}\n \n ;\n }\n return \n \n {createElement(Component, data)}\n \n ;\n };\n}\n\n/**\n * Used when you want to mount a singular component without a shared root.\n *\n * This maybe used when just a portion of a page is written in React and needs interactivity.\n */\nexport function hydrateHypernovaComponent(Component: FC>, name: string, camelCase = false) {\n const {\n node,\n data\n } = getHypernovaData(name, camelCase);\n const Context = createHypernovaContext(data);\n hydrateIntoContainer(node, \n {createElement(Component, data)}\n );\n}","import { logException } from \"@wss/error-tracking\";\nimport { ComponentType, lazy, LazyExoticComponent, PropsWithChildren, ReactNode, useEffect, useLayoutEffect, useState, Context, createContext as createReactContext, useContext as useReactContext } from \"react\";\nimport React, { createRoot as createReactRoot, hydrateRoot, Root } from \"react-dom/client\";\nconst roots = new Map();\nexport function createRoot(elem: unknown, opts?: Parameters[1]): Root {\n if (!(elem instanceof Element)) {\n const error = new Error(`\"elem\" argument is not an instance of an Element. Is it in the DOM?`);\n logException(error);\n throw error;\n }\n const cache = roots.get(elem) ?? createReactRoot(elem, opts);\n if (!roots.get(elem)) roots.set(elem, cache);\n return {\n ...cache,\n render(component: ReactNode): void {\n cache.render(component);\n if (module.hot) {\n /** Runs when a module has been updated */\n module.hot.dispose(() => {\n cache.render(component);\n });\n }\n }\n };\n}\ntype RenderAtRootProps = {\n container: Element;\n children: ReactNode;\n};\nexport function RenderAtRoot({\n container,\n children\n}: RenderAtRootProps) {\n useLayoutEffect(function initRenderAtRootEffect() {\n const cache = roots.get(container);\n if (!cache) {\n const root = createRoot(container);\n if (!roots.has(container)) roots.set(container, root);\n root.render(children);\n } else {\n cache.render(children);\n }\n }, [container, children]);\n return <>;\n}\ntype HydrateAtRootProps = {\n container: Element;\n children: ReactNode;\n};\nexport function HydrateAtRoot({\n container,\n children\n}: HydrateAtRootProps) {\n useLayoutEffect(function initHydrateAtRootEffect() {\n const cache = roots.get(container);\n if (!cache) {\n roots.set(container, hydrateRoot(container, children));\n } else {\n cache.render(children);\n }\n }, [container, children]);\n return <>;\n}\nexport function hydrateIntoContainer(container: Element, children: ReactNode) {\n const cache = roots.get(container);\n if (!cache) {\n roots.set(container, hydrateRoot(container, children));\n } else {\n cache.render(children);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst contexts = new Map>();\nexport function createHypernovaContext(name: string, value?: T): Context {\n let cache = contexts.get(name);\n if (!cache) {\n cache = createReactContext(value);\n contexts.set(name, cache);\n }\n return cache;\n}\nexport type PageDataSelectorFn = (data: T) => U;\n\n/** Used for child components of a page to consumer the data provided from the server.\n *\n * **Basic Usage**\n * @example\n * ```ts\n * const data = usePageData(\"[HypernovaName]\");\n * ```\n *\n * **Preferred Usage**\n *\n * We can create a wrapper utility so other components no longer need to pass the Hypernova Component name.\n * @example\n * ```ts\n * export function useMyPageData(): MyPageDataType {\n * return usePageData(\"[HypernovaName]\");\n * }\n * // In your components\n * const data = useMyPageData();\n * ```\n *\n * **With a Selector**\n *\n * You can select a value from the data so you are only consuming what you need. This works best with the preferred example above\n * @example\n * ```ts\n * import { PageDataSelectorFn } from \"@wss/react\"; // ➕ Add Import\n *\n * export function useMyPageData( // ➕ Add Generic\n * selector: PageDataSelectorFn // ➕ Add Argument\n * ): U { // ➕ Update Return Value\n * return usePageData(\"[HypernovaName]\", selector); // ➕ Add Generic & Selector\n * }\n * // In your components\n * const data = useMyPageData((data) => data.myKey); // ➕ Add selector function\n * ```\n *\n * **Reduce Function ReDeclarations**\n *\n * When using a selector in the previous example the function will be redefined each time the component rerenders. This can lead to increased memory usage in components that rerender often. We can fix that one of two ways.\n *\n * 1. Define the selector outside of the component. The function can not have any dependencies.\n * @example\n * ```ts\n * function selector(data: MyPageDataType) { return data.myKey }\n *\n * function MyComponent() {\n * const data = useMyPageData(selector);\n * }\n * ```\n *\n * 2. Memoize the callback with it's dependencies.\n * @example\n * ```ts\n * function MyComponent({ index }: {index: number}) {\n * const data = useMyPageData(useCallback((data) => data[index], [index]));\n * }\n * ```\n *\n * **Testing Components**\n *\n * To mock the hypernova data import the utility from \"@wss/react\" in your test file.\n * @example\n * ```ts\n * import { usePageData } from \"@wss/react\";\n * ```\n *\n * Then mock the import,\n * @example\n * ```ts\n * jest.mock(\"@wss/react\");\n * ```\n *\n * Then create a variable that has the correct typing.\n * @example\n * ```ts\n * const mockedUsePageData = usePageData as jest.MockedFunctionDeep<\n * typeof usePageData\n * >;\n * ```\n *\n * Finally, set the data either in a test or beforeAll the test with `.mockReturnValue`.\n * @example\n * ```ts\n * mockedUsePageData.mockReturnValue({some: \"data\"})\n * ```\n */\nexport function usePageData(name: string): T;\nexport function usePageData(name: string, selector: PageDataSelectorFn): U;\nexport function usePageData(name: string, selector?: PageDataSelectorFn): U {\n if (window.location !== undefined) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const Context = contexts.get(name) as Context;\n /** We can safely run this inside of a condition because this will always be true on the client. */\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const context = useReactContext(Context);\n if (!context) {\n throw new Error(\"Context has no value. Are you sure the server provided some data?\");\n }\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return selector ? selector(context) : context as U;\n }\n return selector ? selector(globalThis.hypernova) : globalThis.hypernova;\n}\ntype LazyLoadedComponent = LazyExoticComponent> & {\n preload: Parameters[0];\n};\nexport function lazyWithPreload(factory: Parameters[0]) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const Component = lazy(factory) as LazyLoadedComponent<[Awaited>[\"default\"]]>;\n Component.preload = factory;\n return Component;\n}\ntype LoadingTrackingProps = {\n onLoad: () => void;\n onComplete: () => void;\n};\nexport function SuspenseLoadTracking({\n children,\n onComplete,\n onLoad\n}: PropsWithChildren) {\n useEffect(function initLoadingTracking() {\n onLoad();\n return onComplete;\n }, [onLoad, onComplete]);\n return <>{children};\n}\n\n/** This is a work around for the limited support renderToString has for suspense.\n * @important This should only be used for code that can not be lazy loaded via a user interaction. It will cause extra re-renders.\n * @see {@link https://react.dev/reference/react-dom/server/renderToString#caveats React Docs}\n * @see {@link https://stackoverflow.com/questions/75316236/how-can-i-suspend-component-on-the-server-side-but-render-it-on-the-client-side Stackoverflow Issue About Error}\n */\nexport function ClientOnly({\n children\n}: PropsWithChildren): JSX.Element | null {\n const [isClient, setIsClient] = useState(false);\n useEffect(function initIsClient() {\n setIsClient(true);\n }, []);\n if (!isClient) return null;\n return <>{children};\n}\nexport function createContext() {\n const Context = createReactContext(null);\n function useContext() {\n const context = useReactContext(Context);\n if (!context) throw new Error(\"Missing Context.Provider in Component Tree\");\n return context;\n }\n return [Context, useContext] as const;\n}","/* eslint-disable import/prefer-default-export */\n// eslint-disable-next-line no-restricted-imports\nimport { Breadcrumb, Event as SentryEvent, EventHint } from \"@sentry/react\";\n\nexport function getRecentSentryBreadcrumbs(\n error: SentryEvent\n): Breadcrumb[] | null {\n if (!error.breadcrumbs) return null;\n\n const now = Date.now();\n const breadcrumbs: Breadcrumb[] = [];\n\n // We go from the back since the last breadcrumb is most likely the erroneous one\n for (const breadcrumb of error.breadcrumbs) {\n // eslint-disable-next-line no-continue\n if (!breadcrumb) continue;\n\n // We only need to check the last 5s of breadcrumbs as any earlier breadcrumbs are definitely unrelated\n if (breadcrumb.timestamp && now - breadcrumb.timestamp * 1000 > 5000) break;\n\n breadcrumbs.push(breadcrumb);\n }\n\n return breadcrumbs.length ? breadcrumbs : null;\n}\n\nfunction isErrorAndNetworkBreadcrumb(breadcrumb: Breadcrumb): boolean {\n const isError = breadcrumb.level === \"error\";\n const isRequest =\n breadcrumb.category === \"xhr\" || breadcrumb.category === \"fetch\";\n return isError && isRequest;\n}\n\nfunction isChunkLoadError(breadcrumb: Breadcrumb): boolean {\n return (\n !!breadcrumb.message?.includes(\"ChunkLoadError\") ||\n !!breadcrumb.message?.includes(\"Loading CSS chunk\")\n );\n}\n\n/** Blocks raw messages that are google-translate related */\nexport function isGoogleTranslateMessage(event: SentryEvent): boolean {\n const googleTranslateUrlHint = \".translate.goog/\";\n // The CORS errors that come up from google translate are often \"raw\" messages, so we need to look directly at the content\n if (event) {\n if (event.message?.includes(googleTranslateUrlHint)) {\n return true;\n }\n if (event.request?.url?.includes(googleTranslateUrlHint)) {\n return true;\n }\n }\n return false;\n}\n\n/** Blocks Sentry errors that originate from Ad Blockers that block the following urls */\nconst blockedUrls = [\n \"s.pinimg.com\",\n \"ct.pinterest.com\",\n \"analytics.google.com\",\n];\n\nexport function isProbablyBlockedByAdblockNetworkError(\n breadcrumbs: Breadcrumb[]\n): boolean {\n for (const breadcrumb of breadcrumbs) {\n // eslint-disable-next-line no-continue\n if (!isErrorAndNetworkBreadcrumb(breadcrumb)) continue;\n\n const url = breadcrumb.data?.url;\n if (!url) return false;\n\n const isBlocked = blockedUrls.some((blocked) => url.includes(blocked));\n if (isBlocked) return true;\n }\n\n return false;\n}\n\n/**\n * Blocks sentry errors that come from the Google ReCaptcha component being unmounted\n *\n * @see {@link https://github.com/getsentry/sentry-javascript/issues/2514 Sentry Github issue containing recommended snippet}\n * @see {@link https://github.com/google/recaptcha/issues/269#issuecomment-1414409419 Discussion on the ReCaptcha PHP project}\n */\nexport function isGoogleRecaptchaTimeout(hint: EventHint) {\n if (!hint.originalException) return false;\n const timeoutRegex = /^Timeout \\([a-z]\\)$/;\n const error = hint.originalException.toString();\n return error === \"Timeout\" || timeoutRegex.test(error);\n}\n\nexport function isProbablyCausedByHoneyExtension(\n breadcrumbs: Breadcrumb[]\n): boolean {\n for (const breadcrumb of breadcrumbs) {\n const isUiClickEvent = breadcrumb.category === \"ui.click\";\n const isHoneyContainer = breadcrumb.message?.includes(\"#honeyContainer\");\n if (isUiClickEvent && isHoneyContainer) return true;\n }\n return false;\n}\n\n/**\n * Blocks sentry errors that come from unhandled rejections attached to DOM onerror handlers.\n *\n * Initially only blocking events that lack details, we may want to be more aggressive if the\n * events with details continue to be of low quality.\n *\n * @see {@link https://github.com/getsentry/sentry-javascript/issues/2546 Sentry Github issue with discussion}\n * @see {@link https://tfs.clarkinc.biz/DefaultCollection/Webstaurant.StoreFront/_workitems/edit/1195716 Related PBI and internal discussion}\n */\nexport function isNonErrorDomEventRejection(hint: EventHint) {\n const { originalException } = hint;\n\n if (!(originalException instanceof Event)) {\n return false;\n }\n\n if (originalException instanceof CustomEvent) {\n return originalException.detail === null;\n }\n\n return true;\n}\n\n/** Blocks Sentry Errors that come from the page being closed, refreshed, or canceled while a resource is loading */\nlet shouldLogError = false;\n\nwindow.addEventListener(\"load\", function handleWindowLoadEvent() {\n shouldLogError = true;\n});\n\n/**\n * MDN recommends using visibility change over beforeUnload since mobile devices do not always fire the beforeUnload event\n *\n * @see {@link https://www.igvita.com/2015/11/20/dont-lose-user-and-app-state-use-page-visibility/ Article Explaining Why}\n */\ndocument.addEventListener(\n \"visibilitychange\",\n function handleBeforeUnloadEvent() {\n shouldLogError = document.visibilityState === \"visible\";\n }\n);\n\n/** Not all browsers currently support visibilitychange, pagehide is the next best option */\nwindow.addEventListener(\"pagehide\", function handlePageHideEvent() {\n shouldLogError = false;\n});\n\nwindow.addEventListener(\"pageshow\", function handlePageHideEvent() {\n shouldLogError = true;\n});\n\n/** Used in the browser to silence errors caused by reloading the page */\nwindow.addEventListener(\"beforeunload\", function handlePageHideEvent() {\n shouldLogError = false;\n});\n\n/** Used in the browsers that do not support beforeunload */\nwindow.addEventListener(\"unload\", function handlePageHideEvent() {\n shouldLogError = false;\n});\n\n/** Return true to skip logging the error */\nexport function isLoggingNetworkErrorDuringPageUnload(\n breadcrumbs: Breadcrumb[]\n): boolean {\n if (shouldLogError) return false;\n for (const breadcrumb of breadcrumbs) {\n // eslint-disable-next-line no-continue\n if (isErrorAndNetworkBreadcrumb(breadcrumb)) return true;\n if (isChunkLoadError(breadcrumb)) return true;\n }\n\n return false;\n}\n\nexport function isGoogleMissingGmoVariableMessage(event: SentryEvent): boolean {\n if (event) {\n if (event.message?.includes(\"Can't find variable: gmo\")) {\n return true;\n }\n }\n return false;\n}\n","/** Sentry logging for the browser */\n/* eslint-disable consistent-return */\n/* eslint-disable no-console */\n/* eslint-disable import/prefer-default-export */\n\n/** This is an exception for the primary import */\n// eslint-disable-next-line no-restricted-imports\nimport {\n BrowserOptions,\n init,\n browserTracingIntegration,\n browserProfilingIntegration,\n} from \"@sentry/react\";\nimport { env } from \"~/common/Environment\";\nimport Store from \"~/common/Store\";\nimport {\n getRecentSentryBreadcrumbs,\n isGoogleRecaptchaTimeout,\n isLoggingNetworkErrorDuringPageUnload,\n isProbablyBlockedByAdblockNetworkError,\n isNonErrorDomEventRejection,\n isProbablyCausedByHoneyExtension,\n isGoogleTranslateMessage,\n isGoogleMissingGmoVariableMessage,\n} from \"./inbound-filters\";\n\nconst sentryUrls = {\n local: null,\n development:\n \"https://6fae599b54852828599dd44ffdc39435@o4505671666630656.ingest.us.sentry.io/4508518241140736\",\n test:\n \"https://24ae94f2668498360d6f72736047b8d5@o4505671666630656.ingest.us.sentry.io/4508518241140736\",\n production:\n \"https://6c80f7e0154d46a4d132fc1c60b0c81e@o4505671666630656.ingest.us.sentry.io/4508518241140736\",\n};\n// Change the line below to `const url = sentryUrls.dev` to enable local logging.\nconst url = sentryUrls[env.current];\n\nconst hasConductrics = !!document.querySelector(\n 'script[src$=\"/cdt/js/script.js\"]'\n);\nconst conductricsErrors = [\n \"Minified React error #425\", // Text content error\n \"Minified React error #418\", // Hydration error\n \"Minified React error #423\", // Hydration recover error\n \"Text content does not match server-rendered HTML\",\n \"Hydration failed because the server rendered HTML didn't match the client\",\n \"There was an error while hydrating but React was able to recover by instead client rendering the entire root\",\n];\n/** @see {@link https://docs.sentry.io/platforms/javascript/configuration/filtering/#using-ignore-errors Sentry Docs} */\nconst ignoreErrors: NonNullable = [\n \"Failed to fetch\",\n \"Loading chunk\",\n \"Loading CSS chunk\",\n \"NetworkError when attempting to fetch resource\",\n \"Load failed\",\n \"ResizeObserver\",\n \"Object Not Found Matching Id\",\n \"The operation was aborted.\",\n \"Form values does not contain\", // Needed until 1220972 is completed\n];\nif (hasConductrics) {\n ignoreErrors.push(...conductricsErrors);\n}\n\nconst remoteDomains = [\n \"https://www.dev.webstaurantstore.com/\",\n \"https://argo.dev.webstaurantstore.com/\",\n \"https://www.test.webstaurantstore.com/\",\n \"https://www.webstaurantstore.com/\",\n \"https://argo.webstaurantstore.com/\",\n];\n\nconst localDomains = [\n \"https://www.loc.webstaurantstore.com/\",\n \"https://localhost:5001\",\n];\n\nconst allDomains = [...remoteDomains, ...localDomains];\n\ntype InitSentryArgs = BrowserOptions & {\n initialScope: BrowserOptions[\"initialScope\"] & {\n tags: {\n [key: string]: string | number | boolean;\n };\n };\n};\n\nexport function initSentry(page: string, args?: InitSentryArgs): void {\n if (!url) {\n // eslint-disable-next-line no-console\n return console.info(\"Skipping Sentry init for local development\");\n }\n\n if (args?.ignoreErrors) {\n ignoreErrors.concat(...args.ignoreErrors);\n }\n\n init({\n dsn: url,\n ...args,\n ignoreErrors,\n environment: env.current,\n allowUrls: allDomains,\n tracesSampleRate: env.isProd ? 0.5 : 1,\n profilesSampleRate: env.isProd ? 0.5 : 1,\n tracePropagationTargets: remoteDomains,\n integrations: [browserTracingIntegration(), browserProfilingIntegration()],\n initialScope: {\n ...args?.initialScope,\n user: { id: Store.getState().user.index },\n tags: { page, ...args?.initialScope?.tags },\n },\n beforeSend(event, hint) {\n if (hint) {\n if (isGoogleRecaptchaTimeout(hint)) return null;\n if (isNonErrorDomEventRejection(hint)) return null;\n }\n\n if (event) {\n if (isGoogleTranslateMessage(event)) return null;\n if (isGoogleMissingGmoVariableMessage(event)) return null;\n }\n\n const breadcrumbs = getRecentSentryBreadcrumbs(event);\n if (!breadcrumbs) return event;\n if (isProbablyBlockedByAdblockNetworkError(breadcrumbs)) {\n if (!env.isProd) {\n console.warn(\"Silencing error due to add blocker\", breadcrumbs);\n }\n return null;\n }\n if (isLoggingNetworkErrorDuringPageUnload(breadcrumbs)) {\n if (!env.isProd) {\n console.warn(\n \"Silencing error due to page not loaded or unloaded\",\n breadcrumbs\n );\n }\n return null;\n }\n if (isProbablyCausedByHoneyExtension(breadcrumbs)) {\n if (!env.isProd) {\n console.warn(\n \"Silencing error caused by honey extension\",\n breadcrumbs\n );\n }\n return null;\n }\n\n return event;\n },\n });\n}\n","import { createStandardAction } from \"typesafe-actions\";\nimport { Chat } from \"../../models/Chat\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport const updateChat = createStandardAction(\"UPDATE_CHAT\")();\n","import { createStandardAction } from \"typesafe-actions\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport const setLoginModalOpen = createStandardAction(\n \"SET_LOGIN_MODAL_OPEN\"\n)();\n","import { createStandardAction } from \"typesafe-actions\";\nimport { User } from \"../../models/User\";\n\nexport const updateUser = createStandardAction(\"UPDATE_USER\")();\n\nexport const incrementItemsInCart = createStandardAction(\n \"INCREMENT_ITEMS_IN_CART\"\n)();\n\nexport const setItemsInCart = createStandardAction(\n \"SET_ITEMS_IN_CART\"\n)();\n","import { createStandardAction } from \"typesafe-actions\";\nimport { ThunkAction } from \"StoreTypes\";\nimport { Dispatch } from \"redux\";\n\nimport { Notification } from \"../../models/User\";\n\nexport const setPlatinumNotifications = createStandardAction(\n \"SET_PLATINUM_NOTIFICATIONS\"\n)();\nexport const deletePlatinumNotification = createStandardAction(\n \"DELETE_PLATINUM_NOTIFICATIONS\"\n)();\n\nexport const getPlatinumNotifications = (): ThunkAction => async (\n dispatch: Dispatch\n) => {\n const camelcaseKeysImport = import(\"camelcase-keys\");\n const response = await fetch(\"/api:edgecache/getusernotifications/\", {\n credentials: \"include\",\n });\n const rawData = await response.json();\n const { default: camelcaseKeys } = await camelcaseKeysImport;\n const formattedData = camelcaseKeys(rawData);\n\n dispatch(setPlatinumNotifications(formattedData));\n};\n\nexport const removePlatinumNotification = (id: number): ThunkAction => async (\n dispatch: Dispatch\n) => {\n dispatch(deletePlatinumNotification(id));\n\n const body = new FormData();\n body.append(\"method\", \"deleteNotification\");\n body.append(\"id\", String(id));\n\n await fetch(\"/object/Platinum.cfc\", {\n method: \"POST\",\n body,\n credentials: \"include\",\n });\n\n dispatch(deletePlatinumNotification(id));\n};\n","import { createStandardAction } from \"typesafe-actions\";\nimport { ThunkAction } from \"StoreTypes\";\n\nimport { Dispatch } from \"redux\";\nimport { RepImage } from \"../../models/User\";\n\nexport const setRepImages = createStandardAction(\"SET_REP_IMAGES\")<\n RepImage[]\n>();\n\nexport const getRepImages = (): ThunkAction => async (dispatch: Dispatch) => {\n const camelcaseKeysImport = import(\"camelcase-keys\");\n const response = await fetch(\"/api:edgecache/getuserrepimages/\", {\n credentials: \"include\",\n });\n\n const json = await response.json();\n const { default: camelcaseKeys } = await camelcaseKeysImport;\n\n const data = camelcaseKeys(json);\n dispatch(setRepImages(data));\n};\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport { save, load } from \"redux-localstorage-simple\";\nimport thunk from \"redux-thunk\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { Root } from \"./models/RuntimeValidator\";\nimport rootReducer, { defaultRootObject } from \"./rootReducer\";\nimport { RootState } from \"./models/RootReadonly\";\n\nfunction localStorageSupported() {\n try {\n const testKey = \"test_key\";\n window.localStorage.setItem(testKey, testKey);\n window.localStorage.removeItem(testKey);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport { Provider } from \"react-redux\";\n\n/**\n * localStorage doesn't exist in a server environment so we mock out our cached store\n * and override it if localStorage is available.\n */\nlet loadStateFromLocalStorage = () => defaultRootObject;\n\nif (localStorageSupported()) {\n /**\n * We hope this is valid RootState, but we'll verify it at runtime before setting it.\n */\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const cachedReduxStore = load() as RootState;\n\n if (!isEmpty(cachedReduxStore)) {\n try {\n Root?.check(cachedReduxStore);\n\n loadStateFromLocalStorage = () => cachedReduxStore;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n}\n\n/**\n * window doesn't exist in server environment.\n */\n/* eslint-disable-next-line no-underscore-dangle */\nconst composeEnhancers =\n (typeof window !== \"undefined\" &&\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) ||\n compose;\n\nconst middlewares = [save(), thunk];\n\nconst enhancer = composeEnhancers(applyMiddleware(...middlewares));\n\nconst Store = createStore(rootReducer, loadStateFromLocalStorage(), enhancer);\n\n// export store singleton instance\nexport default Store;\n","/**\n * This module was automatically generated by `ts-interface-builder`\n */\nimport * as t from \"ts-interface-checker\";\n// tslint:disable:object-literal-key-quotes\n\nexport const Hours = t.iface([], {\n \"weekday\": t.opt(\"string\"),\n \"daily\": t.array(\"string\"),\n \"weekend\": t.opt(\"string\"),\n});\n\nexport const HeaderBanner = t.iface([], {\n \"iconClassToUse\": \"string\",\n \"message\": \"string\",\n});\n\nexport const Chat = t.iface([], {\n \"target\": t.opt(\"string\"),\n \"hours\": \"Hours\",\n \"link\": t.opt(\"string\"),\n \"text\": t.opt(\"string\"),\n \"class\": t.opt(\"string\"),\n \"statusText\": t.opt(\"string\"),\n \"headerBanner\": t.opt(\"HeaderBanner\"),\n});\n\nconst exportedTypeSuite: t.ITypeSuite = {\n Hours,\n HeaderBanner,\n Chat,\n};\nexport default exportedTypeSuite;\n","/**\n * This module was automatically generated by `ts-interface-builder`\n */\nimport * as t from \"ts-interface-checker\";\n// tslint:disable:object-literal-key-quotes\n\nexport const Root = t.iface([], {\n \"chat\": \"Chat\",\n \"user\": \"User\",\n});\n\nconst exportedTypeSuite: t.ITypeSuite = {\n Root,\n};\nexport default exportedTypeSuite;\n","import { createCheckers } from \"ts-interface-checker\";\nimport rootTi from \"./Root-ti\";\nimport userTi from \"./User-ti\";\nimport chatTi from \"./Chat-ti\";\n\nexport const { Root, Chat } = createCheckers(rootTi, chatTi, userTi);\n","/**\n * This module was automatically generated by `ts-interface-builder`\n */\nimport * as t from \"ts-interface-checker\";\n// tslint:disable:object-literal-key-quotes\n\nexport const MostRecentOrder = t.iface([], {\n \"orderNumber\": t.opt(\"number\"),\n \"orderStatus\": t.opt(\"string\"),\n \"orderItemCount\": t.opt(\"number\"),\n});\n\nexport const StatusBarFlags = t.iface([], {\n \"orderNumberEncrypted\": t.opt(\"string\"),\n \"showStatusBar\": t.opt(\"boolean\"),\n \"showMostRecentOrder\": t.opt(\"boolean\"),\n \"showAbandonCartMessage\": t.opt(\"boolean\"),\n});\n\nexport const AutoReorders = t.iface([], {\n \"id\": t.opt(\"number\"),\n \"name\": t.opt(\"string\"),\n \"desiredOrderDate\": t.opt(\"string\"),\n});\n\nexport const RepImage = t.iface([], {\n \"imagePath\": \"string\",\n});\n\nexport const RepInfo = t.iface([], {\n \"name\": t.opt(\"string\"),\n \"phone\": t.opt(\"string\"),\n \"email\": t.opt(\"string\"),\n \"images\": t.array(\"RepImage\"),\n});\n\nexport const Platinum = t.iface([], {\n \"enabled\": \"boolean\",\n \"notifications\": t.array(\"Notification\"),\n \"repInfo\": \"RepInfo\",\n});\n\nexport const Notification = t.iface([], {\n \"dateModified\": \"string\",\n \"message\": \"string\",\n \"dateCreated\": \"string\",\n \"dateDeleted\": \"string\",\n \"link\": \"string\",\n \"id\": \"number\",\n \"type\": \"string\",\n \"isDeletableByUser\": \"number\",\n});\n\nexport const Country = t.iface([], {\n \"canShip\": t.opt(\"boolean\"),\n \"countryCode\": t.opt(\"string\"),\n \"countryName\": t.opt(\"string\"),\n});\n\nexport const AnalyticsData = t.iface([], {\n \"uq_customer_id\": t.opt(\"string\"),\n \"hashedUserEmailSha256\": t.opt(\"string\"),\n \"hashed_customer_id\": t.opt(\"string\"),\n \"platinum_id\": t.opt(\"string\"),\n \"csp_user_id\": t.opt(\"string\"),\n \"company_type\": t.opt(\"string\"),\n \"member_type\": t.opt(\"string\"),\n \"web_plus\": t.opt(\"string\"),\n \"date_registered\": t.opt(\"string\"),\n \"purchaser_role_title\": t.opt(\"string\"),\n \"amount_spent\": t.opt(\"string\"),\n \"is_internal\": t.opt(\"string\"),\n \"is_on_vpn\": t.opt(\"string\"),\n \"is_registered\": t.opt(\"string\"),\n \"total_orders\": t.opt(\"string\"),\n \"meals_served\": t.opt(\"string\"),\n \"cuisine_type\": t.opt(\"string\"),\n \"number_of_seats\": t.opt(\"string\"),\n \"fr_type\": t.opt(\"string\"),\n \"payment_type\": t.opt(\"string\"),\n \"ab_test_bucket\": t.opt(\"string\"),\n \"variationIds\": t.opt(\"string\"),\n \"emailTrafficHashedId\": t.opt(\"string\"),\n});\n\nexport const FacebookUserData = t.iface([], {\n \"ct\": t.opt(\"string\"),\n \"country\": t.opt(\"string\"),\n \"em\": t.opt(\"string\"),\n \"fn\": t.opt(\"string\"),\n \"ln\": t.opt(\"string\"),\n \"ph\": t.opt(\"string\"),\n \"st\": t.opt(\"string\"),\n \"zp\": t.opt(\"string\"),\n});\n\nexport const Wishlist = t.iface([], {\n \"listName\": t.opt(\"string\"),\n \"num\": t.opt(\"number\"),\n});\n\nexport const User = t.iface([], {\n \"index\": t.opt(\"string\"),\n \"firstName\": t.opt(\"string\"),\n \"fullName\": t.opt(\"string\"),\n \"companyName\": t.opt(\"string\"),\n \"hasWebPlus\": t.opt(\"boolean\"),\n \"invoices\": t.opt(\"boolean\"),\n \"itemsInCart\": t.opt(\"number\"),\n \"orderGuides\": t.opt(\"boolean\"),\n \"pendingOrders\": t.opt(\"number\"),\n \"quotes\": t.opt(\"boolean\"),\n \"registered\": t.opt(\"boolean\"),\n \"showNextag\": t.opt(\"boolean\"),\n \"showRapidReorder\": t.opt(\"boolean\"),\n \"token\": t.opt(\"string\"),\n \"platinum\": \"Platinum\",\n \"country\": \"Country\",\n \"wishLists\": t.array(\"Wishlist\"),\n \"emailAddress\": t.opt(\"string\"),\n \"autoReorders\": \"AutoReorders\",\n \"hasPurchaseHistory\": t.opt(\"boolean\"),\n \"analyticsData\": \"AnalyticsData\",\n \"billingPhoneNumber\": t.opt(\"string\"),\n \"billingAddressLineTwo\": t.opt(\"string\"),\n \"billingCountry\": t.opt(\"string\"),\n \"facebookUserData\": \"FacebookUserData\",\n \"supervisorIndex\": t.opt(\"string\"),\n \"csrfToken\": t.opt(\"string\"),\n \"amountSpentOneThousandOrMore\": t.opt(\"boolean\"),\n \"isCommercial\": t.opt(\"boolean\"),\n \"isRewardsMember\": t.opt(\"boolean\"),\n \"billingAddress\": t.opt(\"string\"),\n \"billingCity\": t.opt(\"string\"),\n \"billingStateProvince\": t.opt(\"string\"),\n \"billingPostalCode\": t.opt(\"string\"),\n \"canQuickCheckout\": t.opt(\"boolean\"),\n \"isUsingUnsupportedBrowser\": t.opt(\"boolean\"),\n});\n\nconst exportedTypeSuite: t.ITypeSuite = {\n MostRecentOrder,\n StatusBarFlags,\n AutoReorders,\n RepImage,\n RepInfo,\n Platinum,\n Notification,\n Country,\n AnalyticsData,\n FacebookUserData,\n Wishlist,\n User,\n};\nexport default exportedTypeSuite;\n","import { RootAction } from \"StoreTypes\";\nimport { getType } from \"typesafe-actions\";\nimport * as actions from \"../actions/chat\";\nimport { ChatState } from \"../models/RootReadonly\";\n\nexport const defaultChatObject: ChatState = { hours: { daily: [], lines: [] } };\n\nexport default (state = defaultChatObject, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateChat):\n return { ...action.payload };\n default:\n return state;\n }\n};\n","import { RootAction } from \"StoreTypes\";\nimport { getType } from \"typesafe-actions\";\nimport * as actions from \"../../actions/loginModal\";\nimport { LoginModalState } from \"../../models/RootReadonly\";\n\nexport const defaultLoginModalObject: LoginModalState = {\n open: false,\n};\n\nexport default (state = defaultLoginModalObject, action: RootAction) => {\n switch (action.type) {\n case getType(actions.setLoginModalOpen):\n return {\n ...state,\n open: action.payload,\n };\n default:\n return {\n ...state,\n open: false,\n };\n }\n};\n","// eslint-disable-next-line import/no-unresolved\nimport { RootAction } from \"StoreTypes\";\nimport { getType } from \"typesafe-actions\";\n\nimport * as actions from \"../../actions/user\";\nimport platinumNotificationsReducer from \"./platinumNotificationsReducer\";\nimport platinumRepContactReducer from \"./platinumRepContactReducer\";\nimport { UserState } from \"../../models/RootReadonly\";\n\nexport const defaultUserObject: UserState = {\n platinum: {\n enabled: false,\n notifications: [],\n repInfo: {\n images: [],\n },\n },\n country: {},\n wishLists: [],\n autoReorders: {},\n analyticsData: {},\n facebookUserData: {},\n samplePurchaseHistory: [],\n freeviewPromotion: 0,\n gpcEnabled: false,\n totalSpentPastYear: 0,\n};\n\nexport const versaHubEligibleUser: UserState = {\n ...defaultUserObject,\n isVersaHubEligible: true,\n};\n\nexport default (state = defaultUserObject, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateUser):\n return {\n ...action.payload,\n platinum: {\n ...action.payload.platinum,\n notifications: platinumNotificationsReducer(\n state.platinum.notifications,\n action\n ),\n repInfo: platinumRepContactReducer(\n action.payload.platinum.repInfo,\n action\n ),\n },\n };\n case getType(actions.incrementItemsInCart):\n return {\n ...state,\n itemsInCart: (state.itemsInCart || 0) + action.payload,\n };\n case getType(actions.setItemsInCart):\n return {\n ...state,\n itemsInCart: action.payload,\n };\n default:\n return {\n ...state,\n platinum: {\n ...state.platinum,\n notifications: platinumNotificationsReducer(\n state.platinum.notifications,\n action\n ),\n repInfo: platinumRepContactReducer(state.platinum.repInfo, action),\n },\n };\n }\n};\n","import { RootAction } from \"StoreTypes\";\nimport { getType } from \"typesafe-actions\";\nimport { defaultUserObject } from \"./index\";\nimport {\n setPlatinumNotifications,\n deletePlatinumNotification,\n} from \"../../actions/user/platinumNotifications\";\n\nconst platinumNotificationsReducer = (\n state = defaultUserObject.platinum.notifications,\n action: RootAction\n) => {\n switch (action.type) {\n case getType(setPlatinumNotifications):\n return action.payload;\n case getType(deletePlatinumNotification):\n return state.filter((notification) => notification.id !== action.payload);\n default:\n return state;\n }\n};\n\nexport default platinumNotificationsReducer;\n","import { RootAction } from \"StoreTypes\";\nimport { getType } from \"typesafe-actions\";\nimport { defaultUserObject } from \"~/common/Store/reducers/user\";\nimport { setRepImages } from \"../../actions/user/repImages\";\n\nconst platinumRepContactReducer = (\n state = defaultUserObject.platinum.repInfo,\n action: RootAction\n) => {\n switch (action.type) {\n case getType(setRepImages):\n return { ...state, images: action.payload };\n default:\n return { ...state, images: state.images ?? [] };\n }\n};\n\nexport default platinumRepContactReducer;\n","import { combineReducers } from \"redux\";\nimport chatReducer, { defaultChatObject } from \"./reducers/chat\";\nimport userReducer, { defaultUserObject } from \"./reducers/user\";\nimport logicModalReducer, {\n defaultLoginModalObject,\n} from \"./reducers/loginModal\";\n\nconst rootReducer = combineReducers({\n chat: chatReducer,\n user: userReducer,\n loginModal: logicModalReducer,\n});\n\nexport {\n defaultUserObject,\n defaultChatObject,\n chatReducer,\n defaultLoginModalObject,\n};\n\nexport const defaultRootObject = {\n user: defaultUserObject,\n chat: defaultChatObject,\n loginModal: defaultLoginModalObject,\n};\n\nexport default rootReducer;\n","/* eslint-disable @typescript-eslint/no-empty-function */\nexport default {};\n\nconst error = new Error(\n \"The @sentry-internal/feedback feature has been disabled\"\n);\n\nconst sendFeedback = () => {\n throw error;\n};\nconst getFeedback = () => {\n throw error;\n};\nconst feedbackScreenshotIntegration = () => {\n throw error;\n};\nconst buildFeedbackIntegration = () => {\n // Sentry calls this internally so we can't warn about it\n};\n\nexport {\n sendFeedback,\n getFeedback,\n feedbackScreenshotIntegration,\n buildFeedbackIntegration,\n};\n","export default {};\n\nconst replayCanvasIntegration = () => {\n throw new Error(\n \"The @sentry-internal/replay-canvas feature has been disable\"\n );\n};\n\nexport { replayCanvasIntegration };\n","export default {};\n\nconst error = new Error(\"The @sentry-internal/replay feature has been disable\");\n\nconst getReplay = () => {\n throw error;\n};\n\nconst replayIntegration = () => {\n throw error;\n};\n\nexport { getReplay, replayIntegration };\n"],"names":["withPreloadedJSON","hydrateHypernovaComponent","getHypernovaData","name","camelCase","result","hypernova","load","props","camelcaseKeys","data","deep","node","Component","Context","createHypernovaContext","firstElementChild","HydrateAtRoot","container","Provider","value","createElement","RenderAtRoot","hydrateIntoContainer","createRoot","usePageData","lazyWithPreload","SuspenseLoadTracking","ClientOnly","createContext","roots","Map","elem","opts","Element","error","Error","logException","cache","get","createReactRoot","set","render","component","children","useLayoutEffect","root","has","hydrateRoot","contexts","createReactContext","selector","undefined","window","location","context","useReactContext","globalThis","factory","lazy","preload","onComplete","onLoad","useEffect","useState","isClient","setIsClient","getRecentSentryBreadcrumbs","isGoogleTranslateMessage","isProbablyBlockedByAdblockNetworkError","isGoogleRecaptchaTimeout","isProbablyCausedByHoneyExtension","isNonErrorDomEventRejection","isLoggingNetworkErrorDuringPageUnload","isGoogleMissingGmoVariableMessage","breadcrumbs","now","Date","breadcrumb","timestamp","push","length","isErrorAndNetworkBreadcrumb","isError","level","isRequest","category","isChunkLoadError","message","includes","event","googleTranslateUrlHint","request","url","blockedUrls","some","blocked","hint","originalException","toString","test","isUiClickEvent","isHoneyContainer","Event","CustomEvent","detail","shouldLogError","addEventListener","document","visibilityState","initSentry","ignoreErrors","local","development","production","env","current","hasConductrics","querySelector","remoteDomains","allDomains","page","args","console","info","concat","init","dsn","environment","allowUrls","tracesSampleRate","isProd","profilesSampleRate","tracePropagationTargets","integrations","browserTracingIntegration","browserProfilingIntegration","initialScope","user","id","Store","getState","index","tags","beforeSend","warn","updateChat","createStandardAction","setLoginModalOpen","updateUser","incrementItemsInCart","setItemsInCart","setPlatinumNotifications","deletePlatinumNotification","getPlatinumNotifications","removePlatinumNotification","dispatch","camelcaseKeysImport","rawData","formattedData","fetch","credentials","json","default","body","FormData","append","String","method","setRepImages","getRepImages","loadStateFromLocalStorage","defaultRootObject","testKey","localStorage","setItem","removeItem","e","localStorageSupported","cachedReduxStore","isEmpty","Root","check","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","middlewares","save","thunk","enhancer","applyMiddleware","createStore","rootReducer","Hours","HeaderBanner","Chat","t","iface","opt","array","createCheckers","rootTi","chatTi","userTi","MostRecentOrder","StatusBarFlags","AutoReorders","RepImage","RepInfo","Platinum","Notification","Country","AnalyticsData","FacebookUserData","Wishlist","User","defaultChatObject","hours","daily","lines","state","action","type","getType","actions","payload","defaultLoginModalObject","open","defaultUserObject","versaHubEligibleUser","platinum","enabled","notifications","repInfo","images","country","wishLists","autoReorders","analyticsData","facebookUserData","samplePurchaseHistory","freeviewPromotion","gpcEnabled","totalSpentPastYear","isVersaHubEligible","platinumNotificationsReducer","platinumRepContactReducer","itemsInCart","filter","notification","chatReducer","combineReducers","chat","userReducer","loginModal","logicModalReducer","sendFeedback","getFeedback","feedbackScreenshotIntegration","buildFeedbackIntegration","replayCanvasIntegration","getReplay","replayIntegration"],"sourceRoot":""}