{"version":3,"file":"442.chunk.js","mappings":"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","sources":["webpack://orinovageskincareadvisorapp/../../../src/constants/defaultTranslations.ts","webpack://orinovageskincareadvisorapp/../../src/logger.ts","webpack://orinovageskincareadvisorapp/../../../src/contexts/novageSkincareAdvisorContext.tsx","webpack://orinovageskincareadvisorapp/../../../src/hooks/useGetNovageSkincareConfiguration.ts","webpack://orinovageskincareadvisorapp/../../../src/containers/ApiProvider.tsx","webpack://orinovageskincareadvisorapp/../../../src/utils/isValidNovageSkincareConfiguration.ts","webpack://orinovageskincareadvisorapp/../../../src/containers/NovageSkincareAdvisor.tsx","webpack://orinovageskincareadvisorapp/../../../src/containers/NovageSkincareAdvisorController.tsx","webpack://orinovageskincareadvisorapp/./src/App.tsx","webpack://orinovageskincareadvisorapp/./src/AppRender.tsx","webpack://orinovageskincareadvisorapp/./src/logger.ts","webpack://orinovageskincareadvisorapp/../../../src/hooks/useOnHrefClick.ts","webpack://orinovageskincareadvisorapp/../../../src/utils/openQueryParam.ts"],"sourcesContent":["/* 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 FindingProduct: 'Finding the best product for you',\n GetNewRecommendation: 'Get new recommendation',\n Recommendation: 'We have a product recommendation for you',\n SeeRecommendedProduct: 'See recommended product',\n};\n\nexport const translationsNamespace = 'novage-skincare-advisor';\n","import { Logger } from '@ori/logger';\n\nimport { APP_NAME } from './constants';\n\nexport const mainLogger = new Logger(APP_NAME);\n","import { useToken } from '@ori/auth';\nimport { useServiceUrls } from '@ori/configuration-manager';\nimport { useEnvironment } from '@ori/environment';\nimport type { Translations } from '@ori/i18n';\nimport { TranslationsNamespaceProvider, TranslationsProvider, useTranslationsWithNamespaces } from '@ori/i18n';\nimport type { StaticApplicationsAdvisorNovAgeSkincareConfigurationDto } from '@ori/static-api-client-react';\nimport type { FC, PropsWithChildren } from 'react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\n\nimport {\n defaultTranslations,\n OPEN_HREF_ATTRIBUTE,\n OPEN_QUERY_PARAM_ALWAYS,\n OPEN_QUERY_PARAM_ONCE,\n translationsNamespace,\n} from '../constants';\nimport { useGetNovageSkincareConfiguration, useOnHrefClick } from '../hooks';\nimport { mainLogger } from '../logger';\nimport { getValidOpenQueryParam, setOpenQueryParam as setOpenQueryParamUtil } from '../utils';\n\nconst localLogger = mainLogger.createChild('NovageSkincareAdvisorProvider');\nconst onError = (error: unknown) =>\n localLogger.error(\n new Error('TranslationsProvider fetching failed', {\n cause: error,\n }),\n );\n\nexport interface NovageSkincareAdvisorContext {\n initialOpenDone: boolean;\n novageSkincareConfiguration: StaticApplicationsAdvisorNovAgeSkincareConfigurationDto | undefined;\n openQueryParam: string | undefined;\n}\n\nconst defaultNovageSkincareAdvisorContextValue: NovageSkincareAdvisorContext = {\n initialOpenDone: false,\n novageSkincareConfiguration: undefined,\n openQueryParam: undefined,\n};\n\nexport const novageSkincareAdvisorContext = createContext(\n defaultNovageSkincareAdvisorContextValue,\n);\n\nexport const { Provider } = novageSkincareAdvisorContext;\n\nexport type NovageSkincareAdvisorProviderProps = PropsWithChildren<{\n /** Translations for NovageSkincareAdvisor. */\n translations?: Translations | undefined;\n}>;\n\nexport const NovageSkincareAdvisorProvider: FC = ({ children, translations }) => {\n const { tenant } = useEnvironment();\n const { language } = useTranslationsWithNamespaces();\n const { staticApiUrl } = useServiceUrls(['staticApi']);\n const { token } = useToken();\n const [initialOpenDone, setInitialOpenDone] = useState(false);\n const [openQueryParam, setOpenQueryParam] = useState();\n const open = useCallback(() => {\n if (openQueryParam !== OPEN_QUERY_PARAM_ALWAYS) {\n setOpenQueryParamUtil();\n setOpenQueryParam(OPEN_QUERY_PARAM_ONCE);\n setInitialOpenDone(true);\n }\n }, [openQueryParam]);\n useOnHrefClick({ href: OPEN_HREF_ATTRIBUTE, onClick: open });\n useEffect(() => {\n const initialOpenQueryParam = getValidOpenQueryParam();\n if (initialOpenQueryParam) {\n setOpenQueryParam(initialOpenQueryParam);\n setInitialOpenDone(true);\n }\n }, []);\n const novageSkincareConfiguration = useGetNovageSkincareConfiguration(initialOpenDone);\n\n const value = useMemo(\n () => ({ initialOpenDone, novageSkincareConfiguration, openQueryParam }),\n [initialOpenDone, novageSkincareConfiguration, openQueryParam],\n );\n\n return (\n \n \n {children}\n \n \n );\n};\n\nexport const useNovageSkincareAdvisor = () => useContext(novageSkincareAdvisorContext);\n","import { useEnvironment } from '@ori/environment';\nimport { getHeaders } from '@ori/fetching';\nimport { useTranslationsWithNamespaces } from '@ori/i18n';\nimport { useGetTenantApplicationsAdvisorNovAgeSkincareConfiguration } from '@ori/static-api-client-react';\n\nimport { APP_NAME } from '../constants';\n\nexport const useGetNovageSkincareConfiguration = (enabled: boolean) => {\n const { tenant } = useEnvironment();\n const { language } = useTranslationsWithNamespaces();\n const { data } = useGetTenantApplicationsAdvisorNovAgeSkincareConfiguration(\n tenant,\n {\n lang: language,\n },\n {\n request: {\n headers: getHeaders({ language, sourceAppName: APP_NAME, tenant }),\n },\n swr: {\n enabled,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n revalidateIfStale: false,\n },\n },\n );\n\n return data;\n};\n","import { useServiceUrls } from '@ori/configuration-manager';\nimport { useEnvironment } from '@ori/environment';\nimport { useTranslationsWithNamespaces } from '@ori/i18n';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport type { FC, PropsWithChildren } from 'react';\n\nexport const ApiProvider: FC = ({ children }) => {\n // istanbul ignore next\n const { tenant } = useEnvironment();\n const { language } = useTranslationsWithNamespaces();\n const { staticApiUrl } = useServiceUrls(['staticApi']);\n\n return (\n \n {children}\n \n );\n};\n","import type { StaticApplicationsAdvisorNovAgeSkincareConfigurationDto } from '@ori/static-api-client-react';\n\nexport const isValidNovageSkincareConfiguration = (\n configuration: StaticApplicationsAdvisorNovAgeSkincareConfigurationDto | undefined,\n): configuration is Required =>\n Boolean(configuration?.environment && configuration.partnerId);\n","import useTestId from '@ori/testid-generator';\nimport type { FunctionComponent } from 'react';\nimport { lazy, Suspense } from 'react';\n\nimport type { RevieveProps } from '../components';\nimport { APP_NAME } from '../constants';\nimport { useNovageSkincareAdvisor } from '../contexts';\nimport { isValidNovageSkincareConfiguration } from '../utils';\n\nconst Revieve = lazy>(async () =>\n import(/* webpackChunkName: \"NovageSkincareAdvisor_Revieve\" */ '../components/Revieve').then((module) => ({\n default: module.Revieve,\n })),\n);\n\nexport const NovageSkincareAdvisor = () => {\n const { novageSkincareConfiguration, openQueryParam } = useNovageSkincareAdvisor();\n const { getTestId } = useTestId();\n\n return (\n
\n \n {isValidNovageSkincareConfiguration(novageSkincareConfiguration) ? (\n \n ) : null}\n \n
\n );\n};\n","import { ErrorBoundary, LoggerProvider } from '@ori/logger';\nimport { TestIdProvider } from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { Suspense } from 'react';\n\nimport { APP_NAME, APP_TEAM_NAME } from '../constants';\nimport type { NovageSkincareAdvisorProviderProps } from '../contexts';\nimport { NovageSkincareAdvisorProvider } from '../contexts';\nimport { mainLogger } from '../logger';\nimport { ApiProvider } from './ApiProvider';\nimport { NovageSkincareAdvisor } from './NovageSkincareAdvisor';\n\nexport type NovageSkincareAdvisorControllerProps = Pick;\n\n/**\n * Accepts config data, renders NovageSkincareAdvisor.\n */\nexport const NovageSkincareAdvisorController: FC = ({ translations }) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import type { PickClientAppDataConfigProps } from '@ori/client-app-config';\nimport { ServiceUrlsProvider } from '@ori/configuration-manager';\nimport { EnvironmentProvider } from '@ori/environment';\nimport { TranslationsProvider } from '@ori/i18n';\nimport { NovageSkincareAdvisorController } from '@ori/novage-skincare-advisor';\nimport type { FC } from 'react';\n\nexport type AppProps = PickClientAppDataConfigProps<\n 'currentLanguage' | 'globalApiUrl' | 'graphqlUrl' | 'staticApiUrl' | 'tenant'\n>;\nexport const App: FC = ({ currentLanguage, tenant, staticApiUrl, graphqlUrl, globalApiUrl }) => (\n \n \n \n \n \n \n \n);\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 { APP_NAME } from '@ori/novage-skincare-advisor';\nimport { createRoot } from 'react-dom/client';\n\nimport type { AppProps as AppConfig } from './App';\nimport { App } from './App';\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 const render = async (rootElement: HTMLElement) => {\n const { config = '' } = rootElement.dataset;\n const { customerId, identityUrl, ...appConfig } = parseClientAppConfig<\n AppConfig & PickClientAppDataConfigProps<'customerId' | 'identityUrl'>\n >(config, ['tenant', 'staticApiUrl']);\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 return true;\n};\n","import { Logger } from '@ori/logger';\nimport { APP_NAME } from '@ori/novage-skincare-advisor';\n\nexport const mainLogger = new Logger(`${APP_NAME}-app`);\n","import { useEffect } from 'react';\n\nconst shouldOpen = (href: string, target: EventTarget | null) => {\n // document.activeElement points to the element that currently has focus,\n // usually it is the most recent thing that was clicked (and can be focused).\n // This is what we actually need when clicking anything wrapped in an Anchor -\n // - image or other passive elements cannot have focus so it goes to the wrapping anchor.\n if (document.activeElement) {\n return document.activeElement instanceof HTMLAnchorElement && document.activeElement.hash === href;\n }\n\n // fallback code for the 0.1% cases where document does not provide activeElement -\n // - pick the event target and if it is not an Anchor, see if any of its parents is.\n // If we don't find one, stop at Body - there's nothing of interest upwards.\n let bubblingTarget = target as HTMLElement | null;\n while (bubblingTarget && !(bubblingTarget instanceof HTMLBodyElement)) {\n if (bubblingTarget instanceof HTMLAnchorElement) {\n return bubblingTarget.hash === href;\n }\n bubblingTarget = bubblingTarget.parentElement;\n }\n\n return false;\n};\n\nexport interface UseOnHrefClickProps {\n href: string;\n onClick: () => void;\n}\n\nexport const useOnHrefClick = ({ href, onClick }: UseOnHrefClickProps) =>\n useEffect(() => {\n const onOpen = (event: MouseEvent) => {\n if (shouldOpen(href, event.target)) {\n event.preventDefault();\n onClick();\n }\n };\n document.addEventListener('click', onOpen);\n\n return () => document.removeEventListener('click', onOpen);\n }, [href, onClick]);\n","import { getCurrentUrl, replaceCurrentUrl } from '@ori/presentation-utils';\n\nimport { OPEN_QUERY_PARAM, OPEN_QUERY_PARAM_ALWAYS, OPEN_QUERY_PARAM_ONCE } from '../constants';\n\nexport const getOpenQueryParam = () => {\n const url = getCurrentUrl();\n\n return url.searchParams.get(OPEN_QUERY_PARAM);\n};\n\nexport const getValidOpenQueryParam = () => {\n const queryParam = getOpenQueryParam();\n\n return queryParam === OPEN_QUERY_PARAM_ONCE || queryParam === OPEN_QUERY_PARAM_ALWAYS ? queryParam : undefined;\n};\n\nexport const removeOpenQueryParam = () => {\n if (getOpenQueryParam()) {\n const url = getCurrentUrl();\n url.searchParams.delete(OPEN_QUERY_PARAM);\n replaceCurrentUrl(url);\n }\n};\n\nexport const setOpenQueryParam = () => {\n const url = getCurrentUrl();\n url.searchParams.set(OPEN_QUERY_PARAM, OPEN_QUERY_PARAM_ONCE);\n if (url.searchParams.get(OPEN_QUERY_PARAM) !== getOpenQueryParam()) {\n replaceCurrentUrl(url);\n }\n};\n"],"names":["defaultTranslations","FindingProduct","GetNewRecommendation","Recommendation","SeeRecommendedProduct","translationsNamespace","mainLogger","Logger","APP_NAME","localLogger","createChild","onError","error","Error","cause","defaultNovageSkincareAdvisorContextValue","initialOpenDone","novageSkincareConfiguration","undefined","openQueryParam","novageSkincareAdvisorContext","createContext","Provider","NovageSkincareAdvisorProvider","children","translations","tenant","useEnvironment","language","useTranslationsWithNamespaces","staticApiUrl","useServiceUrls","token","useToken","setInitialOpenDone","useState","setOpenQueryParam","open","useCallback","OPEN_QUERY_PARAM_ALWAYS","setOpenQueryParamUtil","OPEN_QUERY_PARAM_ONCE","useOnHrefClick","href","OPEN_HREF_ATTRIBUTE","onClick","useEffect","initialOpenQueryParam","getValidOpenQueryParam","enabled","data","useGetTenantApplicationsAdvisorNovAgeSkincareConfiguration","lang","request","headers","getHeaders","sourceAppName","swr","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","useGetNovageSkincareConfiguration","value","useMemo","_jsx","TranslationsProvider","defaultTranslationsWithNamespaces","translationsWithNamespaces","clientFetchConfiguration","baseUrl","TranslationsNamespaceProvider","namespace","ApiProvider","StaticApiClientProvider","Revieve","lazy","async","then","module","default","NovageSkincareAdvisor","useContext","getTestId","useTestId","Suspense","fallback","configuration","Boolean","environment","partnerId","NovageSkincareAdvisorController","TestIdProvider","team","APP_TEAM_NAME","project","LoggerProvider","logger","ErrorBoundary","areaName","App","currentLanguage","graphqlUrl","globalApiUrl","ServiceUrlsProvider","serviceUrls","graphQlUrl","EnvironmentProvider","render","config","rootElement","dataset","customerId","identityUrl","appConfig","parseClientAppConfig","ApplicationInsights","initialize","getClientApplicationInsightsConfig","createRoot","UniversalTokenProvider","initialToken","ThemeProvider","enableCacheProvider","cacheKey","onOpen","event","shouldOpen","target","document","activeElement","HTMLAnchorElement","hash","bubblingTarget","HTMLBodyElement","parentElement","preventDefault","addEventListener","removeEventListener","getOpenQueryParam","getCurrentUrl","searchParams","get","OPEN_QUERY_PARAM","queryParam","removeOpenQueryParam","url","delete","replaceCurrentUrl","set"],"sourceRoot":""}