{"version":3,"file":"466.chunk.js","mappings":"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","sources":["webpack://oriproductinfodialogspa/../../../src/constants/defaultTranslations.ts","webpack://oriproductinfodialogspa/../../src/event.ts","webpack://oriproductinfodialogspa/../../../../src/hooks/internal/useCloseEvents.ts","webpack://oriproductinfodialogspa/../../../../src/hooks/internal/useSWRFetch.ts","webpack://oriproductinfodialogspa/../../../src/queries/getProductsQuery.ts","webpack://oriproductinfodialogspa/../../../src/api/mappers.ts","webpack://oriproductinfodialogspa/../../../src/utils/isDeletedShade.ts","webpack://oriproductinfodialogspa/../../../src/hooks/useGetProductInfoDialogProducts.ts","webpack://oriproductinfodialogspa/../../../../src/api/getProductInfoDialogProducts/getProductInfoDialogProducts.ts","webpack://oriproductinfodialogspa/../../../src/hooks/useGetProductInfoDialogShowMrpStatement.ts","webpack://oriproductinfodialogspa/../../../src/api/getProductInfoDialogShowMrpStatement.ts","webpack://oriproductinfodialogspa/../../../../src/components/Dialog/styles.ts","webpack://oriproductinfodialogspa/../../../../src/components/Dialog/Dialog.tsx","webpack://oriproductinfodialogspa/../../../../src/components/Loading/Loading.tsx","webpack://oriproductinfodialogspa/../../../src/containers/DialogContainer.tsx","webpack://oriproductinfodialogspa/../../../src/containers/ErrorBoundary.tsx","webpack://oriproductinfodialogspa/../../../src/containers/ProductInfoDialog.tsx","webpack://oriproductinfodialogspa/../../../src/containers/ProductInfoDialogController.tsx","webpack://oriproductinfodialogspa/../../../../src/hooks/internal/useOpenEvent.ts","webpack://oriproductinfodialogspa/../../../src/hooks/useProductInfoDialog.tsx","webpack://oriproductinfodialogspa/./src/App.tsx","webpack://oriproductinfodialogspa/./src/containers/ErrorBoundary.ts","webpack://oriproductinfodialogspa/./src/appRender.tsx","webpack://oriproductinfodialogspa/../../../src/constants/dialogMode.ts","webpack://oriproductinfodialogspa/../../../../src/hooks/internal/useIsDesktop.ts","webpack://oriproductinfodialogspa/../../../src/hooks/useTranslations.ts","webpack://oriproductinfodialogspa/../../../src/utils/getInitialProduct.ts"],"sourcesContent":["/* istanbul ignore file */\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 */\n\nimport type { TranslationKey } from '../models/TranslationKey';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n buy: 'Buy',\n choose: 'Choose',\n lowestPrice: 'Our lowest price, the last 30 days before current price, was',\n mrpStatement: 'Inclusive of all taxes',\n replace: 'Replace',\n replaceWith: 'Replace with',\n reserve: 'Reserve',\n save: 'Save',\n subscribe: 'Subscribe',\n};\n\nexport const translationsNamespace = 'product-info-dialog';\n","import type { PositionData } from '@ori/analytics-data';\n\ntype EventName = typeof Name;\n\nexport const Name = 'open-product-info-dialog';\n\nexport const OpenProductInfoDialogDialog: EventName = Name;\n\nexport enum DialogMode {\n Favorites = 'favorites',\n Loading = 'loading',\n RewardsShop = 'rewardsShop',\n StandardBuy = 'standardBuy',\n}\n\ninterface ReplaceSubscriptionData {\n droppingId: number;\n subscriptionId: number;\n}\n\nexport interface Data extends PositionData {\n atpClusterId?: number;\n initialProductCode?: string;\n lineNumber?: number;\n mode: DialogMode;\n originalItemCode?: string;\n originalQuantity?: number;\n productCodes: string[];\n replaceSubscription?: ReplaceSubscriptionData;\n}\n\nexport interface Event extends CustomEvent {\n type: EventName;\n}\n\nexport default Event;\n","import * as AddBackorderDemandEvent from '@ori-events/add-backorder-demand';\nimport * as BasketUpdatedEvent from '@ori-events/basket-updated';\nimport * as ReplaceShoppingBagItem from '@ori-events/replace-shopping-bag-item';\nimport * as ReplaceSubscriptionEvent from '@ori-events/replace-subscription';\nimport { useCallback, useEffect, useState } from 'react';\n\nexport interface UseCloseEventsProps {\n onClose: () => void;\n}\n\ntype CloseEvent = AddBackorderDemandEvent.Event | ReplaceShoppingBagItem.Event | ReplaceSubscriptionEvent.Event;\n\nconst events = [AddBackorderDemandEvent.Name, ReplaceShoppingBagItem.Name, ReplaceSubscriptionEvent.Name] as const;\n\nexport const useCloseEvents = ({ onClose }: UseCloseEventsProps) => {\n const [closeEvent, setCloseEvent] = useState();\n const onBasketUpdated = useCallback(() => {\n if (closeEvent) {\n onClose();\n setCloseEvent(undefined);\n }\n }, [closeEvent, onClose]);\n useEffect(() => {\n events.forEach((event) => window.addEventListener(event, setCloseEvent));\n window.addEventListener(BasketUpdatedEvent.Name, onBasketUpdated);\n\n return () => {\n events.forEach((event) => window.removeEventListener(event, setCloseEvent));\n window.removeEventListener(BasketUpdatedEvent.Name, onBasketUpdated);\n };\n }, [onBasketUpdated, onClose]);\n};\n","import type { Key, Fetcher } from '@ori/fetching';\nimport { useSWR } from '@ori/fetching';\nimport { useCallback, useMemo, useState } from 'react';\n\nexport const useSWRFetch = >({\n fallback,\n fetcher,\n key,\n}: {\n fallback: D;\n fetcher: F;\n key: K;\n}) => {\n const formattedKey = JSON.stringify({ key });\n const [currentKey, setCurrentKey] = useState(null);\n const matchingKey = currentKey === formattedKey;\n const { data, error } = useSWR(currentKey, fetcher);\n const fetch = useCallback(() => {\n if (!matchingKey) {\n setCurrentKey(formattedKey);\n }\n }, [formattedKey, matchingKey]);\n\n return useMemo(\n () => ({\n data: data ?? fallback,\n error,\n fetch,\n isLoaded: matchingKey && data != null && error == null,\n isLoading: data == null && error == null,\n }),\n [data, error, fallback, fetch, matchingKey],\n );\n};\n","import { gql } from '@ori/fetching';\n\nconst subscriptionBenefitBanner = gql`\n fragment SubscriptionBenefitBanner on Product {\n subscriptionBenefitBanner {\n title\n message\n registerLink {\n title\n relativeUrl\n }\n readMoreLink {\n title\n relativeUrl\n }\n signInLink {\n title\n relativeUrl\n }\n }\n }\n`;\n\nconst shade = gql`\n ${subscriptionBenefitBanner}\n fragment Shade on Product {\n ...SubscriptionBenefitBanner\n availability {\n isBackorder\n }\n backInStockAvailability {\n showBackInStockNotification\n }\n color\n colorHexCode\n colorImageUrl\n formattedPrice {\n bp\n price {\n basicCashback\n basicCataloguePrice\n currentPrice\n previousMinOfferPrice\n sharingBonus\n }\n }\n isDiscontinued\n imageUrl\n labels {\n helpText\n labelKey\n productLabelDomain\n title\n }\n pdpUrl {\n relativeUrl\n }\n productCode\n volume\n volumeUnit\n }\n`;\n\nconst concept = gql`\n fragment Concept on Concept {\n benefits\n brand {\n name\n url\n }\n categories {\n taxonomyId\n }\n description\n name\n products {\n ...Shade\n }\n ratingAverage\n ratingCount\n }\n`;\n\nconst product = gql`\n ${concept}\n ${shade}\n fragment Product on Product {\n productCode\n concept {\n ...Concept\n }\n }\n`;\n\nconst replacement = gql`\n fragment Replacement on ProductReplacement {\n product {\n ...Product\n }\n }\n`;\n\nconst productWithReplacements = gql`\n ${product}\n ${replacement}\n fragment ProductWithReplacements on Product {\n ...Product\n replacements {\n ...Replacement\n }\n }\n`;\n\nexport const getProducts = gql`\n ${productWithReplacements}\n query GetProducts($productCodes: [ID]) {\n products(productCodes: $productCodes) {\n ...ProductWithReplacements\n }\n }\n`;\n","import { mapCanBeReserved, mapCanBeSold, mapCanBeSubscribed, mapLabels, mapShade } from '@ori/product-box';\n\nimport type {\n ConceptFragment,\n GetProductsQuery,\n Product,\n ProductFragment,\n ProductWithReplacementsFragment,\n ReplacementFragment,\n ShadeFragment,\n Shade,\n SubscriptionBenefitBannerData,\n SubscriptionBenefitBannerFragment,\n} from '../models';\nimport { isDeletedShade } from '../utils';\n\nexport const getProductSize = ({ volume, volumeUnit }: ShadeFragment): Shade['size'] => {\n if (volume != null && volumeUnit != null) {\n return `${volume} ${volumeUnit.trim()}`;\n }\n\n return null;\n};\n\nexport const mapSubscriptionBenefitBanner = (\n data: NonNullable,\n): SubscriptionBenefitBannerData => ({\n title: data.title ?? '',\n message: data.message ?? '',\n readMoreText: data.readMoreLink?.title ?? '',\n readMoreUrl: data.readMoreLink?.relativeUrl ?? '',\n registerText: data.registerLink?.title ?? '',\n registerUrl: data.registerLink?.relativeUrl ?? '',\n signInText: data.signInLink?.title ?? '',\n});\n\nexport const mapShades = (shades: ConceptFragment['products']): Shade[] =>\n (shades ?? [])\n .filter((shade): shade is NonNullable => shade != null && !isDeletedShade(shade))\n .map((shade): Shade => {\n const { hexColors, imageUrl } = mapShade(shade);\n const { deal, ppa } = mapLabels(shade.labels) ?? {};\n\n return {\n canBeReserved: shade.availability?.isBackorder ?? mapCanBeReserved(shade.labels),\n canBeSold: mapCanBeSold(shade.labels),\n canBeSubscribed: mapCanBeSubscribed(shade.labels),\n color: {\n name: shade.color ?? null,\n hexColors,\n imageUrl,\n },\n dealLabel: deal,\n imageUrl: shade.imageUrl ?? null,\n loyaltyRedeemPoints: shade.formattedPrice?.bp ?? 0,\n pdpUrl: shade.pdpUrl?.relativeUrl ?? null,\n ppaLabel: ppa,\n price: {\n basicCashback: shade.formattedPrice?.price?.basicCashback ?? null,\n current: shade.formattedPrice?.price?.currentPrice ?? null,\n old: shade.formattedPrice?.price?.basicCataloguePrice ?? null,\n previousMinOfferPrice: shade.formattedPrice?.price?.previousMinOfferPrice ?? null,\n sharingBonus: shade.formattedPrice?.price?.sharingBonus ?? null,\n },\n productCode: shade.productCode,\n size: getProductSize(shade),\n showBackInStockNotification: shade.backInStockAvailability?.showBackInStockNotification ?? false,\n subscriptionBenefitBanner: shade.subscriptionBenefitBanner\n ? mapSubscriptionBenefitBanner(shade.subscriptionBenefitBanner)\n : null,\n };\n });\n\nexport const mapProductBase = (product: ProductFragment | null | undefined): Product | null | undefined => {\n const shades = mapShades(product?.concept?.products);\n if (!product?.concept?.name || shades.length === 0) {\n return null;\n }\n\n return {\n brandName: product.concept.brand?.name ?? null,\n brandUrl: product.concept.brand?.url ?? null,\n code: product.productCode,\n description: product.concept.description ?? null,\n keyFeatures: product.concept.benefits?.filter((benefit): benefit is string => benefit != null) ?? [],\n name: product.concept.name,\n ratingAverage: product.concept.ratingAverage ?? 0,\n ratingCount: product.concept.ratingCount ?? 0,\n replacements: [],\n shades: mapShades(product.concept.products),\n };\n};\n\nexport const mapProductReplacementFromGql = (replacement?: ReplacementFragment | null | undefined): Product | null => {\n const productBase = mapProductBase(replacement?.product);\n if (!productBase) {\n return null;\n }\n const { brandName, brandUrl, code, description, keyFeatures, name, ratingAverage, ratingCount, shades } = productBase;\n\n return {\n brandName,\n brandUrl,\n code,\n description,\n keyFeatures,\n name,\n ratingAverage,\n ratingCount,\n replacements: [],\n shades,\n };\n};\n\nexport const mapProductReplacementsFromGql = ({\n replacements,\n}: NonNullable): Product[] =>\n (replacements ?? [])\n .map(mapProductReplacementFromGql)\n .filter((replacement): replacement is Product => replacement != null);\n\nexport const mapProductFromGql = (product: NonNullable): Product | null => {\n const productBase = mapProductBase(product);\n if (!productBase) {\n return null;\n }\n const { brandName, brandUrl, code, description, keyFeatures, name, ratingAverage, ratingCount, shades } = productBase;\n\n return {\n brandName,\n brandUrl,\n code,\n description,\n keyFeatures,\n name,\n ratingAverage,\n ratingCount,\n replacements: mapProductReplacementsFromGql(product),\n shades,\n };\n};\n\nexport const mapProductsFromGql = (products: NonNullable): Product[] =>\n products\n .map((product) => (product ? mapProductFromGql(product) : null))\n .filter((product): product is Product => product != null);\n","import type { ShadeFragment } from '../models';\n\nexport const isDeletedShade = (shade: ShadeFragment): boolean => shade.isDiscontinued == null;\n","import { useMemo } from 'react';\n\nimport { useSWRFetch } from './internal/useSWRFetch';\nimport { getProductInfoDialogProducts } from '../api';\nimport type { GetProductInfoDialogProductsProps } from '../api';\nimport type { Product } from '../models';\n\nexport const useGetProductInfoDialogProducts = ({\n atpClusterId,\n currentLanguage,\n customerId,\n globalApiUrl,\n graphqlUrl,\n productCodes,\n tenant,\n token,\n}: GetProductInfoDialogProductsProps) => {\n const { data, error, fetch, isLoaded, isLoading } = useSWRFetch({\n fallback: [] as Product[],\n fetcher: async () =>\n getProductInfoDialogProducts({\n atpClusterId,\n currentLanguage,\n customerId,\n globalApiUrl,\n graphqlUrl,\n productCodes,\n tenant,\n token,\n }),\n key: [atpClusterId, customerId, globalApiUrl, graphqlUrl, tenant, token, ...productCodes],\n });\n\n return useMemo(\n () => ({ data, error, fetch, isLoaded: isLoaded && data.length > 0, isLoading }),\n [data, error, fetch, isLoaded, isLoading],\n );\n};\n","import { fetchGraphql } from '@ori/fetching';\nimport { getSegmentationHeaders } from '@ori/presentation-http';\n\nimport type { GetProductInfoDialogProductsProps } from './types';\nimport { APP_NAME } from '../../constants';\nimport type { GetProductsQuery, GetProductsQueryVariables } from '../../models';\nimport { getProducts } from '../../queries';\nimport { mapProductsFromGql } from '../mappers';\n\nexport const getProductInfoDialogProducts = async (props: GetProductInfoDialogProductsProps) => {\n const { currentLanguage, globalApiUrl, graphqlUrl, productCodes, tenant, token, atpClusterId, customerId } = props;\n const url = new URL('/graphql', graphqlUrl);\n const { products } = await fetchGraphql({\n query: getProducts,\n url: url.toString(),\n variables: {\n productCodes,\n },\n headers: await getSegmentationHeaders({\n language: currentLanguage,\n globalApiUrl,\n tenant,\n token,\n sourceAppName: APP_NAME,\n atpClusterId,\n customerId,\n }),\n });\n\n return products ? mapProductsFromGql(products) : [];\n};\n","import { useSWRFetch } from './internal/useSWRFetch';\nimport type { GetProductInfoDialogShowMrpStatementProps } from '../api';\nimport { getProductInfoDialogShowMrpStatement } from '../api';\n\nexport const useGetProductInfoDialogShowMrpStatement = ({\n staticApiUrl,\n tenant,\n}: GetProductInfoDialogShowMrpStatementProps) =>\n useSWRFetch({\n fallback: false,\n fetcher: async () => getProductInfoDialogShowMrpStatement({ staticApiUrl, tenant }),\n key: [staticApiUrl, tenant],\n });\n","import { ApiClient, getTenantApplicationsProductDetailConfiguration } from '@ori/static-api-client';\n\nimport type { GetProductInfoDialogShowMrpStatementProps } from './types';\n\nexport const getProductInfoDialogShowMrpStatement = async ({\n staticApiUrl,\n tenant,\n}: GetProductInfoDialogShowMrpStatementProps) => {\n const client = new ApiClient({ baseUrl: staticApiUrl });\n const {\n data: { isMrpStatementEnabled },\n } = await getTenantApplicationsProductDetailConfiguration(client, tenant);\n\n return isMrpStatementEnabled;\n};\n","import { Dialog } from '@ori-ui/components';\nimport { styled } from '@ori-ui/mui';\n\nimport type { DialogProps } from './types';\n\nexport const Root = styled(Dialog, { shouldForwardProp: (propName) => propName !== 'zIndex' })<\n Pick\n>`\n z-index: ${({ zIndex }) => zIndex};\n\n button {\n z-index: ${({ zIndex }) => (typeof zIndex === 'number' ? zIndex + 1 : undefined)};\n }\n\n & .MuiOriDialogBase-closeButton {\n z-index: 10;\n }\n\n & .MuiPaper-root {\n ${({ theme }) => theme.breakpoints.up('md')} {\n height: 450px;\n overflow: visible;\n width: 766px;\n }\n\n ${({ theme }) => theme.breakpoints.up('lg')} {\n width: 855px;\n }\n }\n`;\n","import { Root } from './styles';\nimport type { DialogProps } from './types';\n\nexport const Dialog = ({ children, container, header, id, onClose, open, zIndex }: DialogProps) => (\n \n {children}\n \n);\n","import { Box, CircularProgress } from '@ori-ui/mui';\n\nexport const Loading = () => (\n \n \n \n);\n","import type { FunctionComponent } from 'react';\nimport { lazy, Suspense, useMemo } from 'react';\n\nimport type { DialogContentProps } from './DialogContent';\nimport type { ProductInfoDialogProps } from './types';\nimport { Dialog } from '../components/Dialog';\nimport { Loading } from '../components/Loading';\nimport { DIALOG_MODE_LOADING } from '../constants';\nimport { useIsDesktop } from '../hooks/internal';\nimport { useTranslations } from '../hooks/useTranslations';\nimport { getInitialProduct } from '../utils';\n\nexport const DialogContent = lazy>(async () => ({\n default: (await import('./DialogContent')).DialogContent,\n}));\n\nexport const DialogContainer = ({\n analytics = {},\n customer = {},\n dialog = {},\n handlers = {},\n initialProductCode,\n mode = DIALOG_MODE_LOADING,\n products = [],\n shared = {},\n replaceSubscription,\n}: ProductInfoDialogProps) => {\n const { originalItemCode } = shared;\n const { shade } = getInitialProduct({ initialProductCode, products });\n const { canBeReserved } = shade ?? {};\n const { translations } = useTranslations();\n const isDesktop = useIsDesktop();\n const header = useMemo(() => {\n if (!isDesktop) {\n if (originalItemCode) {\n return translations.replaceWith;\n }\n if (canBeReserved) {\n return translations.reserve;\n }\n }\n\n return undefined;\n }, [canBeReserved, isDesktop, originalItemCode, translations.replaceWith, translations.reserve]);\n\n return (\n \n }>\n {mode === DIALOG_MODE_LOADING ? (\n \n ) : (\n \n )}\n \n \n );\n};\n","import { Dialog } from '@ori-ui/components';\nimport { Component } from 'react';\n\ninterface ErrorBoundaryProps {\n children: JSX.Element;\n}\n\ninterface ErrorBoundaryState {\n error?: Error;\n open: boolean;\n}\n\nexport class ErrorBoundary extends Component {\n override readonly state: ErrorBoundaryState = { open: false };\n\n static getDerivedStateFromError(error: Error) {\n return { error, open: true };\n }\n\n handleOnClose = () => this.setState({ open: false });\n\n override render() {\n const { error, open } = this.state;\n\n if (error) {\n return (\n \n
{error.message}
\n \n );\n }\n\n const { children } = this.props;\n\n return children;\n }\n}\n","import { Team, TestIdProvider } from '@ori/testid-generator';\nimport { ThemeProvider } from '@ori-ui/mui';\nimport { Suspense } from 'react';\nimport type { FunctionComponent } from 'react';\n\nimport { DialogContainer } from './DialogContainer';\nimport { ErrorBoundary } from './ErrorBoundary';\nimport type { ProductInfoDialogProps } from './types';\n\nexport const ProductInfoDialog: FunctionComponent = (props) => (\n \n \n \n \n \n \n \n \n \n);\n","import { useToken } from '@ori/auth';\nimport { TranslationsNamespaceProvider, TranslationsProvider } from '@ori/i18n';\nimport type { FunctionComponent } from 'react';\nimport { Suspense, useCallback, useEffect, useState } from 'react';\n\nimport type { ProductInfoDialogControllerProps } from './types';\nimport { APP_NAME, defaultTranslations } from '../constants';\nimport { useCloseEvents, useOpenEvent } from '../hooks/internal';\nimport { useProductInfoDialog } from '../hooks/useProductInfoDialog';\n\nconst TranslatedController = ({\n currentLanguage,\n globalApiUrl,\n graphqlUrl,\n staticApiUrl,\n tenant,\n}: Omit) => {\n const [open, setOpen] = useState(false);\n const onClose = useCallback(() => setOpen(false), []);\n const onOpen = useCallback(() => setOpen(true), []);\n const { customerId, isAnonymousUser, token } = useToken();\n const {\n atpClusterId,\n initialProductCode,\n lineNumber,\n mode,\n originalItemCode,\n originalQuantity,\n placement,\n position,\n productCodes,\n replaceSubscription,\n } = useOpenEvent({ onOpen });\n\n const { closeProductInfoDialog, openProductInfoDialog, productInfoDialog } = useProductInfoDialog({\n atpClusterId,\n analytics: {\n lineNumber,\n position,\n placement,\n },\n currentLanguage,\n customer: {\n customerId,\n isAnonymousUser,\n },\n dialog: { onClose },\n globalApiUrl,\n graphqlUrl,\n initialProductCode,\n mode,\n productCodes,\n shared: {\n originalItemCode,\n originalQuantity,\n },\n staticApiUrl,\n tenant,\n token,\n replaceSubscription,\n });\n useCloseEvents({ onClose });\n useEffect(() => {\n if (open) {\n openProductInfoDialog();\n } else {\n closeProductInfoDialog();\n }\n }, [closeProductInfoDialog, open, openProductInfoDialog]);\n\n return productInfoDialog;\n};\n\nexport const ProductInfoDialogController: FunctionComponent = (props) => {\n const { currentLanguage, staticApiUrl, tenant, translations } = props;\n const { token } = useToken();\n\n return (\n \n \n \n \n \n \n \n );\n};\n","import { isNonNullable } from '@ori/ts-utils';\nimport type { Data, Event } from '@ori-events/open-product-info-dialog';\nimport { DialogMode, Name } from '@ori-events/open-product-info-dialog';\nimport { useEffect, useMemo, useState } from 'react';\n\nexport interface UseOpenEventProps {\n onOpen: () => void;\n}\n\nexport const useOpenEvent = ({ onOpen }: UseOpenEventProps) => {\n const [atpClusterId, setAtpClusterId] = useState();\n const [initialProductCode, setInitialProductCode] = useState();\n const [lineNumber, setLineNumber] = useState();\n const [mode, setMode] = useState(DialogMode.StandardBuy);\n const [originalItemCode, setOriginalItemCode] = useState();\n const [originalQuantity, setOriginalQuantity] = useState();\n const [placement, setPlacement] = useState();\n const [position, setPosition] = useState();\n const [productCodes, setProductCodes] = useState([]);\n const [droppingId, setDroppingId] = useState();\n const [subscriptionId, setSubscriptionId] = useState();\n useEffect(() => {\n const onOpenProductInfoDialog = ({ detail }: Event) => {\n setAtpClusterId(detail.atpClusterId);\n setDroppingId(detail.replaceSubscription?.droppingId);\n setInitialProductCode(detail.initialProductCode);\n setLineNumber(detail.lineNumber);\n setMode(detail.mode);\n setOriginalItemCode(detail.originalItemCode);\n setOriginalQuantity(detail.originalQuantity);\n setPlacement(detail.placement);\n setPosition(detail.position);\n setProductCodes(detail.productCodes);\n setSubscriptionId(detail.replaceSubscription?.subscriptionId);\n onOpen();\n };\n window.addEventListener(Name, onOpenProductInfoDialog);\n\n return () => window.removeEventListener(Name, onOpenProductInfoDialog);\n }, [onOpen]);\n\n return useMemo(\n () => ({\n atpClusterId,\n initialProductCode,\n lineNumber,\n mode,\n originalItemCode,\n originalQuantity,\n placement,\n position,\n productCodes,\n replaceSubscription:\n isNonNullable(droppingId) && isNonNullable(subscriptionId) ? { droppingId, subscriptionId } : undefined,\n }),\n [\n atpClusterId,\n droppingId,\n initialProductCode,\n lineNumber,\n mode,\n originalItemCode,\n originalQuantity,\n placement,\n position,\n productCodes,\n subscriptionId,\n ],\n );\n};\n","import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport type { UseProductInfoDialogProps } from './types';\nimport { useGetProductInfoDialogProducts } from './useGetProductInfoDialogProducts';\nimport { useGetProductInfoDialogShowMrpStatement } from './useGetProductInfoDialogShowMrpStatement';\nimport { DIALOG_MODE_LOADING, DIALOG_MODE_STANDARD_BUY, FETCH_MODE_EAGER, FETCH_MODE_LAZY } from '../constants';\nimport { ProductInfoDialog } from '../containers/ProductInfoDialog';\n\nexport const useProductInfoDialog = ({\n atpClusterId,\n currentLanguage,\n customer,\n dialog,\n fetchMode = FETCH_MODE_LAZY,\n globalApiUrl,\n graphqlUrl,\n mode = DIALOG_MODE_STANDARD_BUY,\n productCodes,\n shared,\n staticApiUrl,\n tenant,\n token,\n ...props\n}: UseProductInfoDialogProps) => {\n const { onClose, ...dialogProps } = dialog ?? {};\n const { customerId } = customer ?? {};\n const {\n data: products,\n fetch: fetchProducts,\n isLoaded: areProductsLoaded,\n isLoading: areProductsLoading,\n } = useGetProductInfoDialogProducts({\n atpClusterId,\n globalApiUrl,\n currentLanguage,\n customerId,\n graphqlUrl,\n productCodes,\n tenant,\n token,\n });\n const {\n data: showMrpStatement,\n fetch: fetchShowMrpStatement,\n isLoaded: isShowMrpStatementLoaded,\n isLoading: isShowMrpStatementLoading,\n } = useGetProductInfoDialogShowMrpStatement({\n staticApiUrl,\n tenant,\n });\n const [isOpen, setIsOpen] = useState(false);\n const isLoaded = isShowMrpStatementLoaded && areProductsLoaded;\n const isLoading = isShowMrpStatementLoading || areProductsLoading;\n const fetchData = useCallback(() => {\n if (!isLoaded) {\n fetchProducts();\n fetchShowMrpStatement();\n }\n }, [fetchProducts, fetchShowMrpStatement, isLoaded]);\n const close = useCallback(() => {\n setIsOpen(false);\n onClose?.();\n }, [onClose]);\n const open = useCallback(() => {\n setIsOpen(true);\n if (fetchMode === FETCH_MODE_LAZY) {\n fetchData();\n }\n }, [fetchData, fetchMode]);\n useEffect(() => {\n if (fetchMode === FETCH_MODE_EAGER) {\n fetchData();\n }\n }, [fetchData, fetchMode]);\n useEffect(() => {\n if (isOpen && !areProductsLoading && !areProductsLoaded) {\n // eslint-disable-next-line no-console -- warn about missing data\n console.warn('[PID]: Dialog was closed as GQL returned no product data to display.');\n close();\n }\n }, [areProductsLoaded, areProductsLoading, close, isOpen]);\n\n return useMemo(\n () => ({\n closeProductInfoDialog: close,\n isProductInfoDialogOpen: isOpen,\n openProductInfoDialog: open,\n productInfoDialog: (\n \n ),\n }),\n [close, isOpen, open, props, customer, dialogProps, isLoading, mode, products, shared, showMrpStatement],\n );\n};\n","import { ProductInfoDialogController } from '@ori/product-info-dialog';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport { type parseSpaConfig } from '@ori-appshell/config';\nimport { type FC } from 'react';\n\nimport { APP_NAME } from './constants';\n\nexport type AppProps = ReturnType;\n\nexport const App: FC = ({ currentLanguage, globalApiUrl = '', graphqlUrl, staticApiUrl = '', tenant }) => (\n \n \n \n);\n","import { ReactNode, Component } from 'react';\n\ninterface ErrorBoundaryProps {\n children: JSX.Element;\n}\n\ninterface ErrorBoundaryState {\n error?: Error;\n}\n\nexport class ErrorBoundary extends Component {\n override readonly state: ErrorBoundaryState = {};\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return { error };\n }\n\n override render(): ReactNode {\n const { error }: ErrorBoundaryState = this.state;\n\n if (error) {\n console.error(error);\n\n return null;\n }\n\n const { children }: ErrorBoundaryProps = this.props;\n\n return children;\n }\n}\n","import { doDevelopmentLogin, UniversalTokenProvider } from '@ori/auth';\nimport { parseSpaConfig } from '@ori-appshell/config';\nimport { ThemeProvider } from '@ori-ui/mui';\nimport { createRoot } from 'react-dom/client';\n\nimport { App } from './App';\nimport { EMOTION_CACHE_KEY } from './constants';\nimport { ErrorBoundary } from './containers/ErrorBoundary';\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 appConfig = parseSpaConfig(config);\n const { customerId, identityUrl, tenant } = appConfig;\n\n if (!identityUrl) {\n throw new Error('Missing Identity URL!');\n }\n\n // Get token for local development\n if (process.env.NODE_ENV !== 'production') {\n // when using Requestly we do not want to load token\n if (process.env.REACT_APP_USE_REQUESTLY === '1') {\n console.log('USING REQUESTLY');\n } else if (process.env.REACT_APP_ANONYMOUS_MODE !== '1') {\n await doDevelopmentLogin({ identityUrl, tenant });\n }\n }\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n ,\n );\n}\n","export const DIALOG_MODE_FAVORITES = 'favorites';\n\nexport const DIALOG_MODE_LOADING = 'loading';\n\nexport const DIALOG_MODE_REWARDS_SHOP = 'rewardsShop';\n\nexport const DIALOG_MODE_STANDARD_BUY = 'standardBuy';\n","import type { Theme } from '@ori-ui/mui';\nimport { useMediaQuery } from '@ori-ui/mui';\n\nexport const useIsDesktop = () => useMediaQuery((theme) => theme.breakpoints.up('md'));\n","/* istanbul ignore file */\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 { useTranslationsFromNamespace, type UseTranslationsFromNamespaceResult } from '@ori/i18n';\n\nimport type { DefaultTranslations } from '../constants/defaultTranslations';\n\n/**\n * A hook for accessing translations within a specific namespace along with a formatting function.\n *\n * @returns The translations within the specified namespace and a formatting function.\n */\nexport const useTranslations: () => UseTranslationsFromNamespaceResult = () =>\n useTranslationsFromNamespace();\n","import type { Product } from '../models';\n\nexport const getInitialProduct = ({\n initialProductCode,\n products,\n}: {\n initialProductCode?: string;\n products: Product[];\n}) => {\n if (initialProductCode) {\n const initialProduct = products.find(({ code }) => code === initialProductCode);\n const initialProductShade = initialProduct?.shades.find(({ productCode }) => productCode === initialProductCode);\n const productIndex = products.findIndex(({ code }) => code === initialProductCode);\n const index = productIndex < 0 ? 0 : productIndex;\n\n return { index, product: initialProduct, shade: initialProductShade };\n }\n\n return { index: 0, product: products[0], shade: products[0]?.shades?.[0] };\n};\n"],"names":["defaultTranslations","buy","choose","lowestPrice","mrpStatement","replace","replaceWith","reserve","save","subscribe","Name","DialogMode","events","AddBackorderDemandEvent","ReplaceShoppingBagItem","ReplaceSubscriptionEvent","useSWRFetch","_ref","fallback","fetcher","key","formattedKey","JSON","stringify","_useState","useState","_useState2","_slicedToArray","currentKey","setCurrentKey","matchingKey","_useSWR","useSWR","data","error","fetch","useCallback","useMemo","isLoaded","isLoading","subscriptionBenefitBanner","gql","_templateObject","_taggedTemplateLiteral","shade","_templateObject2","concept","_templateObject3","product","_templateObject4","replacement","_templateObject5","productWithReplacements","_templateObject6","getProducts","_templateObject7","mapShades","shades","filter","isDiscontinued","isDeletedShade","map","_mapLabels","_shade$availability$i","_shade$availability","_shade$color","_shade$imageUrl","_shade$formattedPrice","_shade$formattedPrice2","_shade$pdpUrl$relativ","_shade$pdpUrl","_shade$formattedPrice3","_shade$formattedPrice4","_shade$formattedPrice5","_shade$formattedPrice6","_shade$formattedPrice7","_shade$formattedPrice8","_shade$formattedPrice9","_shade$formattedPrice10","_shade$formattedPrice11","_shade$formattedPrice12","_shade$backInStockAva","_shade$backInStockAva2","_data$title","_data$message","_data$readMoreLink$ti","_data$readMoreLink","_data$readMoreLink$re","_data$readMoreLink2","_data$registerLink$ti","_data$registerLink","_data$registerLink$re","_data$registerLink2","_data$signInLink$titl","_data$signInLink","volume","volumeUnit","_mapShade","mapShade","hexColors","imageUrl","_ref2","mapLabels","labels","deal","ppa","canBeReserved","availability","isBackorder","mapCanBeReserved","canBeSold","mapCanBeSold","canBeSubscribed","mapCanBeSubscribed","color","name","dealLabel","loyaltyRedeemPoints","formattedPrice","bp","pdpUrl","relativeUrl","ppaLabel","price","basicCashback","current","currentPrice","old","basicCataloguePrice","previousMinOfferPrice","sharingBonus","productCode","size","concat","trim","showBackInStockNotification","backInStockAvailability","title","message","readMoreText","readMoreLink","readMoreUrl","registerText","registerLink","registerUrl","signInText","signInLink","mapProductBase","_product$concept","_product$concept2","_product$concept$bran","_product$concept$bran2","_product$concept$bran3","_product$concept$bran4","_product$concept$desc","_product$concept$bene","_product$concept$bene2","_product$concept$rati","_product$concept$rati2","products","length","brandName","brand","brandUrl","url","code","description","keyFeatures","benefits","benefit","ratingAverage","ratingCount","replacements","mapProductReplacementFromGql","productBase","mapProductsFromGql","_ref3","mapProductFromGql","useGetProductInfoDialogProducts","atpClusterId","currentLanguage","customerId","globalApiUrl","graphqlUrl","productCodes","tenant","token","_useSWRFetch","async","props","URL","fetchGraphql","query","toString","variables","headers","getSegmentationHeaders","language","sourceAppName","APP_NAME","getProductInfoDialogProducts","_toConsumableArray","useGetProductInfoDialogShowMrpStatement","staticApiUrl","client","ApiClient","baseUrl","getTenantApplicationsProductDetailConfiguration","isMrpStatementEnabled","getProductInfoDialogShowMrpStatement","Root","styled","Dialog","shouldForwardProp","propName","zIndex","undefined","theme","breakpoints","up","_ref4","children","container","header","id","onClose","open","_jsx","Loading","Box","alignItems","display","flexDirection","height","justifyContent","textAlign","width","CircularProgress","DialogContent","lazy","default","DialogContainer","_ref$analytics","analytics","_ref$customer","customer","_ref$dialog","dialog","_ref$handlers","handlers","initialProductCode","_ref$mode","mode","DIALOG_MODE_LOADING","_ref$products","_ref$shared","shared","replaceSubscription","originalItemCode","getInitialProduct","translations","useTranslations","isDesktop","useIsDesktop","_objectSpread","Suspense","ErrorBoundary","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","_defineProperty","_assertThisInitialized","setState","_createClass","value","_this$state","this","state","handleOnClose","Component","ProductInfoDialog","ThemeProvider","enableCacheProvider","cacheKey","TestIdProvider","team","Team","Presentation","project","TranslatedController","setOpen","onOpen","_useToken","useToken","isAnonymousUser","_useOpenEvent","setAtpClusterId","_useState3","_useState4","setInitialProductCode","_useState5","_useState6","lineNumber","setLineNumber","_useState7","StandardBuy","_useState8","setMode","_useState9","_useState10","setOriginalItemCode","_useState11","_useState12","originalQuantity","setOriginalQuantity","_useState13","_useState14","placement","setPlacement","_useState15","_useState16","position","setPosition","_useState17","_useState18","setProductCodes","_useState19","_useState20","droppingId","setDroppingId","_useState21","_useState22","subscriptionId","setSubscriptionId","useEffect","onOpenProductInfoDialog","_detail$replaceSubscr","_detail$replaceSubscr2","detail","window","addEventListener","removeEventListener","isNonNullable","useOpenEvent","_useProductInfoDialog","_ref$fetchMode","fetchMode","FETCH_MODE_LAZY","DIALOG_MODE_STANDARD_BUY","_objectWithoutProperties","_excluded","dialogProps","_excluded2","_useGetProductInfoDia","fetchProducts","areProductsLoaded","areProductsLoading","_useGetProductInfoDia2","showMrpStatement","fetchShowMrpStatement","isShowMrpStatementLoaded","isShowMrpStatementLoading","isOpen","setIsOpen","fetchData","close","FETCH_MODE_EAGER","console","warn","closeProductInfoDialog","isProductInfoDialogOpen","openProductInfoDialog","productInfoDialog","useProductInfoDialog","closeEvent","setCloseEvent","onBasketUpdated","forEach","event","BasketUpdatedEvent","useCloseEvents","ProductInfoDialogController","TranslationsProvider","clientFetchConfiguration","onError","defaultTranslationsWithNamespaces","translationsWithNamespaces","TranslationsNamespaceProvider","namespace","App","_ref$globalApiUrl","_ref$staticApiUrl","render","rootElement","_rootElement$dataset$","dataset","config","appConfig","parseSpaConfig","identityUrl","Error","createRoot","UniversalTokenProvider","initialToken","EMOTION_CACHE_KEY","DIALOG_MODE_FAVORITES","DIALOG_MODE_REWARDS_SHOP","useMediaQuery","useTranslationsFromNamespace","_products$","initialProduct","find","initialProductShade","productIndex","findIndex","index"],"sourceRoot":""}