{"version":3,"file":"223.chunk.js","mappings":"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","sources":["webpack://oribackinstocknotificationspa/../../../../src/components/NotifyPopup/NotifyPopup.tsx","webpack://oribackinstocknotificationspa/../../../src/constants/defaultTranslations.ts","webpack://oribackinstocknotificationspa/../../src/logger.ts","webpack://oribackinstocknotificationspa/../../../../src/containers/BackInStockNotificationController/BackInStockNotificationController.tsx","webpack://oribackinstocknotificationspa/./src/App.tsx","webpack://oribackinstocknotificationspa/./src/logger.ts","webpack://oribackinstocknotificationspa/./src/appRender.tsx","webpack://oribackinstocknotificationspa/../../../../src/components/Loading/styles.ts","webpack://oribackinstocknotificationspa/../../../../src/components/Loading/Loading.tsx","webpack://oribackinstocknotificationspa/../../../../src/components/Loading/constants.ts","webpack://oribackinstocknotificationspa/../../../../src/components/NotifyCumulus/styles.ts","webpack://oribackinstocknotificationspa/../../src/constants-generated.ts","webpack://oribackinstocknotificationspa/../../src/index.ts","webpack://oribackinstocknotificationspa/../../../src/queries-net/subscribeToBackInStockMutation.ts","webpack://oribackinstocknotificationspa/../../../src/contexts/AppContext.tsx","webpack://oribackinstocknotificationspa/../../../src/hooks/useDialogProps.ts"],"sourcesContent":["import { Dialog } from '@ori-ui/components';\nimport { lazy, Suspense, type FC } from 'react';\n\nimport { useAppContext } from '../../contexts';\nimport { Loading } from '../Loading';\n\nconst Content = lazy(async () => ({\n default: (await import(/* webpackChunkName: \"BackInStockNotification_NotifyCumulus\" */ '../NotifyCumulus'))\n .NotifyCumulus,\n}));\n\nexport const NotifyPopup: FC = () => {\n const { close, loading, open } = useAppContext();\n\n return (\n \n }>{loading ? : }\n \n );\n};\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport type { TranslationKey } from '../models/TranslationKey';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n chooseAnOption: 'Choose an option',\n email: 'Email',\n enterTelephoneNumber: 'Enter telephone number',\n enterYourEmail: 'Enter your email below to be notified when this item is back on stock.',\n invalidEmail: 'Email address is not valid.',\n invalidTelephoneNumber: 'Telephone number is not valid.',\n notifyMe: 'Notify me when the product becomes available',\n notifyMeSuccess: 'You will get an {0} when this product is back in stock!',\n pleaseTryAgainLater: 'Please try again later.',\n requestFailed: 'Request failed.',\n sms: 'SMS',\n submitNotification: 'Notify me',\n thankYou: 'Thank you!',\n};\n\nexport const translationsNamespace = 'back-in-stock-notification';\n","import { Logger } from '@ori/logger';\n\nimport { PACKAGE_NAME, TEAM_NAME } from './constants-generated';\n\nexport const mainLogger = new Logger(PACKAGE_NAME, { teamName: TEAM_NAME });\n","/* istanbul ignore file */\nimport { useToken } from '@ori/auth';\nimport { useServiceUrls } from '@ori/configuration-manager';\nimport { useEnvironment } from '@ori/environment';\nimport { ApiClientProvider as GlobalApiClientProvider } from '@ori/global-api-client-react';\nimport { TranslationsNamespaceProvider, TranslationsProvider, useTranslationsWithNamespaces } from '@ori/i18n';\nimport { ErrorBoundary, LoggerProvider } from '@ori/logger';\nimport { useInitialDisclose } from '@ori/presentation-hooks';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport { Suspense, type FC } from 'react';\n\nimport { NotifyPopup } from '../../components';\nimport { defaultTranslations, translationsNamespace } from '../../constants';\nimport { APP_NAME } from '../../constants-generated';\nimport { AppContextProvider } from '../../contexts';\nimport { mainLogger } from '../../logger';\nimport type { BackInStockNotificationControllerProps } from './types';\n\nconst localLogger = mainLogger.createChild('BackInStockNotificationController');\n// istanbul ignore next -- No need to test logging.\nconst onError = (error: unknown) =>\n localLogger.error(\n new Error('TranslationsProvider fetching failed', {\n cause: error,\n }),\n );\n\nexport const BackInStockNotificationController: FC = ({ translations }) => {\n const { tenant } = useEnvironment();\n const { language } = useTranslationsWithNamespaces();\n const { globalApiUrl, staticApiUrl } = useServiceUrls(['globalApi', 'staticApi']);\n const { token } = useToken();\n const { initialOpenDone, open, onClose, onOpen } = useInitialDisclose();\n\n return (\n \n \n \n \n \n \n \n \n \n {initialOpenDone ? : null}\n \n \n \n \n \n \n \n \n \n );\n};\n","import { BackInStockNotificationController } from '@ori/back-in-stock-notification';\nimport type { PickClientAppDataConfigProps } from '@ori/client-app-config';\nimport { ServiceUrlsProvider } from '@ori/configuration-manager';\nimport { EnvironmentProvider } from '@ori/environment';\nimport { TranslationsProvider } from '@ori/i18n';\nimport type { FC } from 'react';\n\nexport type AppProps = PickClientAppDataConfigProps<\n 'currentLanguage' | 'globalApiUrl' | 'graphqlUrl' | 'graphqlNetUrl' | 'staticApiUrl' | 'tenant'\n>;\nexport const App: FC = ({\n currentLanguage,\n globalApiUrl,\n graphqlUrl,\n graphqlNetUrl,\n staticApiUrl,\n tenant,\n}) => (\n \n \n \n \n \n \n \n);\n","import { Logger } from '@ori/logger';\n\nimport { PACKAGE_NAME, TEAM_NAME } from './constants-generated';\n\nexport const mainLogger = new Logger(PACKAGE_NAME, { teamName: TEAM_NAME });\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { UniversalTokenProvider, doDevelopmentLogin } from '@ori/auth';\nimport type { PickClientAppDataConfigProps } from '@ori/client-app-config';\nimport { parseClientAppConfig } from '@ori/client-app-config';\nimport { ApplicationInsights, ErrorBoundary, getClientApplicationInsightsConfig } from '@ori/logger';\nimport { createRoot } from 'react-dom/client';\n\nimport type { AppProps } from './App';\nimport { App } from './App';\nimport { EMOTION_CACHE_KEY } from './constants-generated';\nimport { mainLogger } from './logger';\n\nconst localLogger = mainLogger.createChild('appRender');\n\n/**\n * React app renderer that is used when app is used as a standalone app\n */\nexport async function render(rootElement: HTMLElement) {\n const { config = '' } = rootElement.dataset;\n const { customerId, identityUrl, ...appConfig } = parseClientAppConfig<\n AppProps & PickClientAppDataConfigProps<'customerId' | 'identityUrl'>\n >(config, ['globalApiUrl', 'graphqlUrl', 'staticApiUrl', 'tenant', 'currentLanguage']);\n const { tenant } = appConfig;\n\n // Initialize Application Insights in production\n if (process.env.NODE_ENV === 'production') {\n ApplicationInsights.initialize(getClientApplicationInsightsConfig());\n }\n // When using Requestly we do not want to load token\n else if (process.env.REACT_APP_USE_REQUESTLY === '1') {\n localLogger.debug('USING REQUESTLY');\n }\n // Get token for local development\n else if (process.env.REACT_APP_ANONYMOUS_MODE !== '1') {\n if (identityUrl) {\n await doDevelopmentLogin({ identityUrl, tenant });\n } else {\n localLogger.error(new Error('Missing Identity URL!', { cause: identityUrl }));\n }\n }\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n ,\n );\n}\n","import { Box, styled } from '@ori-ui/mui';\n\nimport { DESKTOP_HEIGHT, MOBILE_HEIGHT, Root as RootComponent } from '../NotifyCumulus/styles';\n\nexport const Inner = styled(Box)({\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n height: 'inherit',\n justifyContent: 'center',\n textAlign: 'center',\n});\n\nexport const Root = styled(RootComponent)(({ theme }) => ({\n height: MOBILE_HEIGHT,\n [theme.breakpoints.up('sm')]: {\n height: DESKTOP_HEIGHT,\n },\n}));\n","import { CircularProgress } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\n\nimport { LOADING } from './constants';\nimport { Inner, Root } from './styles';\n\nexport const Loading = () => {\n const { getTestId } = useTestId();\n\n return (\n \n \n \n \n \n );\n};\n","export const LOADING = 'loading';\n","import { styled, Typography } from '@ori-ui/mui';\nimport { shouldForwardProp } from '@ori/presentation-utils';\n\nexport const MOBILE_HEIGHT = 273;\nexport const DESKTOP_HEIGHT = 285;\n\nexport const Root = styled('div', { shouldForwardProp: shouldForwardProp() })<{ isSmsEnabled?: boolean | undefined }>(\n ({ theme, isSmsEnabled = false }) => ({\n overflow: 'hidden',\n minHeight: isSmsEnabled ? 333 : MOBILE_HEIGHT,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(4),\n [theme.breakpoints.up('sm')]: {\n boxSizing: 'border-box',\n maxWidth: '100%',\n minHeight: isSmsEnabled ? 345 : DESKTOP_HEIGHT,\n width: 360,\n },\n }),\n);\n\nexport const InfoText = styled(Typography)(() => ({\n height: 40,\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n}));\n","/* istanbul ignore file */\n//\n// DO NOT EDIT!\n// This file was autogenerated by Eddie.\n// Changes may cause incorrect behavior and will be lost when the file is regenerated.\n//\n// Run `npx eddie update workspace` to regenerate.\n//\n\nexport const APP_NAME = 'back-in-stock-notification';\nexport const PACKAGE_NAME = '@ori/back-in-stock-notification';\nexport const TEAM_NAME = 'Presentation';\n\nexport const EMOTION_CACHE_KEY = `${APP_NAME}-emotion-cache-key`;\n\nexport const APP_ROOT_ELEMENT_ID = `${APP_NAME}-root`;\n","type EventName = 'open-back-in-stock-notification-dialog';\n\nexport const Name: EventName = 'open-back-in-stock-notification-dialog';\nexport const ToggleFavorite: EventName = Name;\n\nexport interface Data {\n code: string;\n}\n\nexport interface Event extends CustomEvent {\n type: EventName;\n}\n\nexport default Event;\n","import { gql } from '@ori/fetching';\n\nexport const subscribeToBackInStockNotification = gql`\n mutation SubscribeToBackInStock($input: BackInStockNotificationSubscriptionInput!) {\n backInStockNotificationSubscription(input: $input)\n }\n`;\n","import { useToken } from '@ori/auth';\nimport { useServiceUrls } from '@ori/configuration-manager';\nimport { useEnvironment } from '@ori/environment';\nimport { fetchGraphql, getHeaders } from '@ori/fetching';\nimport { useLanguage } from '@ori/i18n';\nimport { useGetTenantBackInStockNotificationsConfiguration } from '@ori/static-api-client-react';\nimport type { FC, PropsWithChildren } from 'react';\nimport { createContext, useCallback, useContext, useMemo } from 'react';\n\nimport { PACKAGE_NAME } from '../constants-generated';\nimport type { UseDialogPropsParams } from '../hooks';\nimport { useDialogProps } from '../hooks';\nimport type {\n BackInStockNotificationSubscriptionInput,\n SubscribeToBackInStockMutation,\n SubscribeToBackInStockMutationVariables,\n} from '../models/graphql-types/net';\nimport { subscribeToBackInStockNotification } from '../queries-net';\nimport type { ContextValues } from './types';\n\n/* istanbul ignore next */\nconst defaultSubscribe = async () => ({});\n/* istanbul ignore next */\nconst defaultClose = () => undefined;\n\nexport const AppContext = createContext({\n config: undefined,\n loading: true,\n open: false,\n productCode: '',\n close: defaultClose,\n subscribe: defaultSubscribe,\n successClose: defaultClose,\n});\n\ntype ApiContextProviderProps = PropsWithChildren;\n\nexport const AppContextProvider: FC = ({ children, open, onClose, onOpen }) => {\n const { graphQlNetUrl } = useServiceUrls(['graphQlNet']);\n const { customerId, token } = useToken();\n const { tenant } = useEnvironment();\n const { language } = useLanguage();\n const { productCode, successClose } = useDialogProps({ onClose, onOpen, open });\n const subscribe = useCallback(\n async (input: BackInStockNotificationSubscriptionInput) =>\n fetchGraphql({\n query: subscribeToBackInStockNotification,\n url: graphQlNetUrl,\n headers: getHeaders({\n customerId,\n language,\n sourceAppName: PACKAGE_NAME,\n tenant,\n token,\n }),\n variables: {\n input,\n },\n }),\n [customerId, graphQlNetUrl, language, tenant, token],\n );\n const { data, error } = useGetTenantBackInStockNotificationsConfiguration(\n tenant,\n { lang: language },\n {\n swr: {\n enabled: open,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n revalidateIfStale: false,\n },\n },\n );\n const loading = useMemo(() => data === undefined && error === undefined, [data, error]);\n\n return (\n (\n () => ({\n config: data,\n loading,\n open,\n productCode,\n close: onClose,\n subscribe,\n successClose,\n }),\n [data, loading, onClose, open, productCode, subscribe, successClose],\n )}\n >\n {children}\n \n );\n};\n\nexport const useAppContext = () => useContext(AppContext);\n","import type { Event } from '@ori-events/open-back-in-stock-notification-dialog';\nimport { Name } from '@ori-events/open-back-in-stock-notification-dialog';\nimport { type GlobalEvent, useGlobalEvents, type UseDisclose } from '@ori/presentation-hooks';\nimport { useCallback, useMemo, useState } from 'react';\n\nexport type UseDialogPropsParams = Pick;\n\nexport const useDialogProps = ({ onClose, onOpen, open }: UseDialogPropsParams) => {\n const [productCode, setProductCode] = useState('');\n\n const successClose = useCallback(() => {\n setTimeout(() => {\n onClose();\n }, 5000);\n }, [onClose]);\n\n const openDialog = useCallback(\n (event: Event): void => {\n const { code } = event.detail;\n\n onOpen();\n setProductCode(code);\n },\n [onOpen],\n );\n\n const events = useMemo(() => [{ name: Name, listener: openDialog }], [openDialog]);\n useGlobalEvents(events);\n\n return {\n open,\n productCode,\n close: onClose,\n successClose,\n };\n};\n"],"names":["Content","lazy","async","default","NotifyCumulus","NotifyPopup","close","loading","open","useAppContext","_jsx","Dialog","onClose","children","Suspense","fallback","Loading","defaultTranslations","chooseAnOption","email","enterTelephoneNumber","enterYourEmail","invalidEmail","invalidTelephoneNumber","notifyMe","notifyMeSuccess","pleaseTryAgainLater","requestFailed","sms","submitNotification","thankYou","translationsNamespace","mainLogger","Logger","PACKAGE_NAME","teamName","TEAM_NAME","localLogger","createChild","onError","error","Error","cause","BackInStockNotificationController","translations","tenant","useEnvironment","language","useTranslationsWithNamespaces","globalApiUrl","staticApiUrl","useServiceUrls","token","useToken","initialOpenDone","onOpen","useInitialDisclose","TestIdProvider","team","Team","Presentation","project","APP_NAME","LoggerProvider","logger","ErrorBoundary","areaName","TranslationsProvider","clientFetchConfiguration","baseUrl","undefined","defaultTranslationsWithNamespaces","translationsWithNamespaces","TranslationsNamespaceProvider","namespace","StaticApiClientProvider","GlobalApiClientProvider","AppContextProvider","App","currentLanguage","graphqlUrl","graphqlNetUrl","ServiceUrlsProvider","serviceUrls","graphQlUrl","graphQlNetUrl","EnvironmentProvider","render","rootElement","config","dataset","customerId","identityUrl","appConfig","parseClientAppConfig","ApplicationInsights","initialize","getClientApplicationInsightsConfig","createRoot","UniversalTokenProvider","initialToken","ThemeProvider","enableCacheProvider","cacheKey","EMOTION_CACHE_KEY","Inner","styled","Box","alignItems","display","flexDirection","height","justifyContent","textAlign","Root","RootComponent","theme","MOBILE_HEIGHT","breakpoints","up","DESKTOP_HEIGHT","getTestId","useTestId","CircularProgress","size","shouldForwardProp","isSmsEnabled","overflow","minHeight","gap","spacing","boxSizing","maxWidth","width","InfoText","Typography","WebkitLineClamp","WebkitBoxOrient","Name","subscribeToBackInStockNotification","gql","defaultClose","AppContext","createContext","productCode","subscribe","successClose","useLanguage","useDialogProps","setProductCode","useState","useCallback","setTimeout","openDialog","event","code","detail","events","useMemo","name","listener","useGlobalEvents","fetchGraphql","query","url","headers","getHeaders","sourceAppName","variables","input","data","useGetTenantBackInStockNotificationsConfiguration","lang","swr","enabled","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","Provider","value","useContext"],"sourceRoot":""}