{"version":3,"file":"148.chunk.js","mappings":"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","sources":["webpack://oribasketbubble/./src/models/Localizations.ts","webpack://oribasketbubble/./src/components/Bubble.tsx","webpack://oribasketbubble/./src/components/constants/bubbleProps.ts","webpack://oribasketbubble/./src/components/BubbleGroup.tsx","webpack://oribasketbubble/./src/App.tsx","webpack://oribasketbubble/./src/AppRender.tsx","webpack://oribasketbubble/delegated \"48I+\" from dll-reference ori_vendor_2","webpack://oribasketbubble/delegated \"TZ0e\" from dll-reference ori_vendor_2","webpack://oribasketbubble/delegated \"cTN3\" from dll-reference ori_vendor_2","webpack://oribasketbubble/delegated \"i8i4\" from dll-reference ori_vendor_2","webpack://oribasketbubble/delegated \"q1tI\" from dll-reference ori_vendor_2"],"sourcesContent":["export const DEFAULT_TRANSLATIONS = {\n quantity: 'Quantity',\n};\n","import { LastAddedItemMethod } from '@ori-events/basket-updated';\nimport { Products } from '@ori-ui/icons';\nimport { SHADOW_LEVEL3, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { VFC } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { DEFAULT_TRANSLATIONS as translations } from '../models';\nimport { bubbleHeight } from './constants';\n\nexport interface BubbleProps {\n code: string;\n quantity: number;\n name: string;\n price: string | null;\n image: string;\n points: number | null;\n methodType: LastAddedItemMethod;\n}\n\nconst BubbleWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n width: theme.spacing(64),\n height: bubbleHeight,\n marginBottom: theme.spacing(2),\n padding: theme.spacing(1),\n border: `2px solid ${theme.palette.grey[100]}`,\n borderRadius: theme.spacing(2),\n background: theme.palette.common.white,\n boxShadow: SHADOW_LEVEL3,\n}));\n\nconst ImageWrapper = styled('div')(({ theme }) => ({\n flex: theme.spacing(0, 0, 16),\n width: theme.spacing(16),\n height: theme.spacing(16),\n marginRight: theme.spacing(2),\n overflow: 'hidden',\n borderRadius: theme.spacing(1, 0, 0, 1),\n background: theme.palette.grey[100],\n position: 'relative',\n}));\n\nconst Image = styled('img')({\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: '100%',\n objectFit: 'contain',\n});\n\nconst ImagePlaceholder = styled(Products)(({ theme }) => ({\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: '50%',\n height: 'auto',\n transform: 'translate(-50%, -50%)',\n color: theme.palette.grey[200],\n}));\n\nconst Details = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flexStart',\n width: 216,\n});\n\nconst Name = styled('div')(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n overflow: 'hidden',\n color: theme.palette.text.primary,\n fontSize: theme.typography.pxToRem(14),\n fontWeight: 700,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}));\n\nconst Shade = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(1),\n color: theme.palette.grey.A400,\n fontSize: theme.typography.pxToRem(12),\n}));\n\nconst Shopping = styled('div')({\n display: 'flex',\n alignItems: 'center',\n marginTop: 'auto',\n});\n\nconst Quantity = styled('div')(({ theme }) => ({\n flexGrow: 1,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(12),\n}));\n\nconst Price = styled('div')(({ theme }) => ({\n marginLeft: 'auto',\n color: theme.palette.text.primary,\n fontSize: theme.typography.pxToRem(14),\n fontWeight: 700,\n}));\n\nconst Points = styled('div')(({ theme }) => ({\n flexGrow: 0,\n width: theme.spacing(5),\n height: theme.spacing(5),\n borderRadius: '50%',\n background: theme.palette.offer.main,\n color: theme.palette.common.white,\n fontSize: theme.typography.pxToRem(10),\n fontWeight: 100,\n lineHeight: theme.spacing(5),\n textAlign: 'center',\n}));\n\nexport const Bubble: VFC = ({\n name,\n code,\n quantity,\n price,\n image,\n points,\n methodType,\n}) => {\n const { getTestId } = useTestId();\n const [translate] = useTranslation();\n const { BUY_FOR_MONEY, BUY_FOR_POINTS } = LastAddedItemMethod;\n\n return (\n \n \n {image ? \"product\" : }\n \n
\n {name}\n {code}\n \n \n {translate(translations.quantity)}: {quantity}\n \n {methodType === BUY_FOR_MONEY && {price}}\n {methodType === BUY_FOR_POINTS && {points}}\n \n
\n
\n );\n};\n","export const bubbleHeight = 94;\nexport const bubbleDuration = 5000;\n","import type { LastAddedItemMethod } from '@ori-events/basket-updated';\nimport * as BasketUpdatedEvent from '@ori-events/basket-updated';\nimport * as ToggleMenuFlyoutEvent from '@ori-events/toggle-menu-flyout';\nimport { styled } from '@ori-ui/mui';\nimport type { VFC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Transition, TransitionGroup } from 'react-transition-group';\nimport { v4 } from 'uuid';\n\nimport { isMinibagVisible } from '../helpers';\nimport type { BubbleProps } from './Bubble';\nimport { Bubble } from './Bubble';\nimport { bubbleHeight, bubbleDuration } from './constants';\n\ninterface BubbleInstanceProps extends BubbleProps {\n id: string;\n}\n\nconst topNavHeightStyle = 'var(--top-nav-height, 0)';\nconst toolbarPositionStyle = 'var(--ecatalogue-toolbar-position, 0)';\n\nconst BasketBubbleWrapper = styled('div')<{\n ownerState: { isECatalogue: boolean };\n}>(({ theme, ownerState }) => ({\n boxSizing: 'border-box',\n width: theme.spacing(64),\n marginTop: '10px',\n pointerEvents: 'none',\n position: 'fixed',\n top: 0,\n right: '15px',\n transform: `translate(0, ${topNavHeightStyle})`,\n transition: `transform var(--top-nav-height-animation), 0.3s ease-in-out`,\n ...(ownerState.isECatalogue && {\n transform: `translate(0, ${toolbarPositionStyle})`,\n transition: `transform var(--ecatalogue-toolbar-position-animation), 0.3s ease-in-out`,\n }),\n zIndex: 10000,\n\n [theme.breakpoints.up('sm')]: {\n right: '30px',\n },\n\n '& *': {\n boxSizing: 'border-box',\n },\n}));\n\nconst AnimationWrapper = styled('div')<{\n ownerState: { state: string };\n}>(({ ownerState }) => ({\n transition: 'opacity 750ms',\n opacity: 0,\n\n ...(ownerState.state === 'entered' && {\n opacity: 1,\n }),\n\n ...(ownerState.state === 'exiting' && {\n opacity: 0,\n transition: 'margin-top 300ms 950ms, opacity 1250ms',\n marginTop: `-${bubbleHeight + 10}px`,\n }),\n}));\n\ninterface BubbleGroupProps {\n isECatalogue: boolean;\n}\n\nexport const BubbleGroup: VFC = ({ isECatalogue }) => {\n const [bubbles, setBubbles] = useState([]);\n\n const removeBasketBubble = (bubbleId: string) => {\n setBubbles((currentBubbles) =>\n currentBubbles.filter((currentBubble) => currentBubble.id !== bubbleId),\n );\n };\n\n const onToggleMenuFlyout = ((event: ToggleMenuFlyoutEvent.Event) => {\n const { menuType } = event.detail;\n if (menuType === ToggleMenuFlyoutEvent.MenuTypes.Minibag && isMinibagVisible()) {\n // hide all bubbles when minibag is being opened\n setBubbles([]);\n }\n }) as EventListener;\n\n const onBasketUpdate = ((event: BasketUpdatedEvent.Event) => {\n // don't show bubble if not add-to-basket update or if minibag is visible\n if (!event.detail.lastAddedItem || isMinibagVisible()) {\n return;\n }\n\n const { itemCode, method } = event.detail.lastAddedItem;\n const { shoppingBagItems, offers } = event.detail.shoppingBag;\n const offersItems = offers.reduce(\n (acc: BasketUpdatedEvent.ShoppingBagItem[], offer: BasketUpdatedEvent.ShoppingBagOffer) => [\n ...acc,\n ...offer.items,\n ],\n [],\n );\n\n // proper typing for method -- TODO\n const methodType = method as unknown as LastAddedItemMethod;\n\n const item =\n methodType === BasketUpdatedEvent.LastAddedItemMethod.BUY_FOR_MONEY\n ? shoppingBagItems.find((product) => product.itemCode === itemCode)\n : offersItems.find((product) => product.itemCode === itemCode);\n\n if (!item) {\n return;\n }\n\n const bubble: BubbleInstanceProps = {\n id: v4(),\n code: item.itemCode,\n name: item.itemDescription,\n price: item.totalPrice,\n quantity: item.requestedQuantity,\n image: item.itemImageSrc,\n points: item.totalRedeemedPoints,\n methodType,\n };\n setBubbles((currentBubbles) => [...currentBubbles, bubble]);\n setTimeout(() => removeBasketBubble(bubble.id), bubbleDuration);\n }) as EventListener;\n\n useEffect(() => {\n window.addEventListener(BasketUpdatedEvent.Name, onBasketUpdate);\n window.addEventListener(ToggleMenuFlyoutEvent.Name, onToggleMenuFlyout);\n\n return () => {\n window.removeEventListener(BasketUpdatedEvent.Name, onBasketUpdate);\n window.removeEventListener(ToggleMenuFlyoutEvent.Name, onToggleMenuFlyout);\n };\n });\n\n const ownerState = { isECatalogue };\n\n return (\n \n \n {bubbles.map(({ id, ...bubble }) => (\n \n {(state) => {\n const bubbleOwnerState = { state };\n\n return (\n \n \n \n );\n }}\n \n ))}\n \n \n );\n};\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { TestIdProvider } from '@ori/testid-generator';\nimport type { VFC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\n\nimport { BubbleGroup } from './components';\nimport { i18n } from './helpers';\nimport { DEFAULT_TRANSLATIONS } from './models';\n\nexport interface Config {\n tenant: string;\n}\ninterface AppProps {\n config: string;\n isECatalogue: boolean;\n}\n\nexport const App: VFC = ({ config, isECatalogue }) => {\n if (!config) {\n throw new Error('No config provided!');\n }\n const { tenant } = JSON.parse(config) as Config;\n if (!tenant) {\n throw new Error('Missing config values!');\n }\n\n const keys = Object.values(DEFAULT_TRANSLATIONS);\n const translations = i18n(`${window.location.origin}/system/ajax/Localization/Translate`, keys);\n\n return (\n \n \n \n \n \n \n \n );\n};\n","import ReactDOM from 'react-dom';\n\nimport { App } from './App';\n\nexport const render = (rootElement: HTMLElement, isECatalogue: boolean): void => {\n const { config = '' } = rootElement.dataset;\n\n ReactDOM.render(, rootElement);\n};\n","module.exports = (__webpack_require__(528))(\"48I+\");","module.exports = (__webpack_require__(528))(\"TZ0e\");","module.exports = (__webpack_require__(528))(\"cTN3\");","module.exports = (__webpack_require__(528))(\"i8i4\");","module.exports = (__webpack_require__(528))(\"q1tI\");"],"names":["DEFAULT_TRANSLATIONS","quantity","BubbleWrapper","styled","theme","display","width","spacing","height","marginBottom","padding","border","palette","grey","borderRadius","background","common","white","boxShadow","SHADOW_LEVEL3","ImageWrapper","flex","marginRight","overflow","position","Image","maxWidth","maxHeight","objectFit","ImagePlaceholder","Products","top","left","transform","color","Details","flexDirection","justifyContent","Name","paddingTop","text","primary","fontSize","typography","pxToRem","fontWeight","textOverflow","whiteSpace","Shade","marginTop","A400","Shopping","alignItems","Quantity","flexGrow","secondary","Price","marginLeft","Points","offer","main","lineHeight","textAlign","Bubble","name","code","price","image","points","methodType","getTestId","useTestId","translate","useTranslation","BUY_FOR_MONEY","LastAddedItemMethod","BUY_FOR_POINTS","src","alt","translations","BasketBubbleWrapper","ownerState","boxSizing","pointerEvents","right","transition","isECatalogue","zIndex","breakpoints","up","AnimationWrapper","opacity","state","BubbleGroup","useState","bubbles","setBubbles","onToggleMenuFlyout","event","detail","menuType","ToggleMenuFlyoutEvent","isMinibagVisible","onBasketUpdate","lastAddedItem","itemCode","method","shoppingBag","shoppingBagItems","offersItems","offers","reduce","acc","items","item","BasketUpdatedEvent","find","product","bubble","id","v4","itemDescription","totalPrice","requestedQuantity","itemImageSrc","totalRedeemedPoints","currentBubbles","setTimeout","bubbleId","filter","currentBubble","useEffect","window","addEventListener","removeEventListener","TransitionGroup","map","Transition","timeout","appear","enter","exit","bubbleOwnerState","key","App","config","Error","JSON","parse","tenant","keys","Object","values","i18n","location","origin","ThemeProvider","enableCacheProvider","cacheKey","I18nextProvider","TestIdProvider","team","project","render","rootElement","dataset","ReactDOM","module","exports","__webpack_require__"],"sourceRoot":""}