{"version":3,"mappings":";iKAIA,MAAMA,EAAkC,WAExC,IAAKC,OACDC,oBAAoB,oBACpBC,YAAY,YACZC,aAAa,aACbC,gBAAgB,gBAChBC,eAAe,eACfC,WAAW,WACXC,YAAY,YAPXP,WAUL,MAAMQ,EAAcR,EAEdS,EAAK,eACPV,EACAS,aACJ,EAEME,EAAuBC,GAA0D,CACvEC,EAAA,CACRC,QAAS,WACTC,SAAU,WACV,GAAGH,EACN,CACL,EAEaI,EAAmBC,OAAOC,OAAOP,EAAqB,CAC/DJ,SAAUA,IAAM,CACQI,EAAA,CAChBQ,UAAW,qBACXC,YAAa,CAAC,CAAEC,WAAY,gBAAiBC,YAAa,WAAa,GAC1E,CACL,EACAd,UAAWA,IAAM,CACOG,EAAA,CAChBQ,UAAW,qBACXC,YAAa,CAAC,CAAEC,WAAY,gBAAiBC,YAAa,YAAc,GAC3E,CACL,EACAnB,UAAWA,IAAM,CACOQ,EAAA,CAChBQ,UAAW,YACXC,YAAa,CAAC,CAAEC,WAAY,iBAAkBC,YAAa,gBAAkB,GAChF,CACL,EACAC,UAAsBC,GAAA,CACEb,EAAA,CAChBQ,UAAW,aACXC,YAAa,CACT,CAAEC,WAAY,aAAcC,YAAa,YACzC,CAAED,WAAY,iBAAkBC,YAAaE,CAAO,GAE3D,EAET,CAAC,ECpDK,CAAExB,gBAAeS,aAAY,EAAIC,EAEjCe,EAAYC,EAAMC,KAAK,UAAM,OAAmD,yBAAc,OAAAC,KAAA,oCAAC,EAE/FC,EAAiBC,EAAOC,IAAGC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,cAMhC,0FAEYC,EAAkB,yBAE/B,SAASC,GAAiC,CAC/B,WAAIC,QAAqBC,GAAA,OACtBC,QAASC,SAASC,cAAc,QAAQ,EACvCC,MAAM,yBAAyBP,CAAe,UACrDI,EAAOI,MAAQ,GACRC,SAAS,IAAYN,EAAQ,EACpC,MAAMO,EAAiBL,SAASM,qBAAqB,QAAQ,EAAE,CAAC,GACjDC,yBAAYC,aAAaT,EAAQM,EAAc,CACjE,CACL,CAEaI,QAAuBvB,EAAMwB,cAAwC,IAAI,EAEtF,SAAwBC,EACpBC,EACmE,CACnE,MAAO,OAAO5B,GAAyB,CACnC,KAAM,CAAC,CAAE6B,QAASC,CAAa,GAAI,MAAMjB,QAAQkB,IAAI,OACjD,OAAuC,uBAAe,OAAA3B,KAAA,gCACtDQ,EAAiB,EACpB,EAEKoB,EAAQF,EAAY,CAAEG,OAAQ,CAAEC,OAAQ,KAAK,CAAG,EAEhDF,EAAA,CACFG,KAAM,GACNC,QACIC,MAACZ,EAAqB,SAArB,CAA8B,MAAO,CAAEO,SACpC,SAAAK,MAACC,WACG,gBACKjC,EACG,UAAAgC,MAACE,EAAU,GACf,GAGJ,SAACF,MAAApC,EAAA,CAAU,UAAA2B,EAAsB,MAAAI,EAAgB,EACrD,CACJ,GAEP,EAEeQ,EAAA,CAAEhE,gBAAeS,YAAaA,EAAYP,kBAAmB+D,WAAYzC,EAAO,EAEhGR,EAAiBO,UAAUC,CAAK,CACpC,CACJ","names":["eventCategory","Actions","openModifaceModal","showGuide","guideSlide","guideLetsDoIt","colorVariant","liveMode","photoMode","eventAction","ua","modifaceGA4Tracking","params","GA4Tracking","context","category","modifaceTracking","Object","assign","eventName","eventParams","param_name","param_value","openModal","label","IntroView","React","lazy","n","SpinnerWrapper","styled","div","withConfig","displayName","componentId","modifaceVersion","loadModifaceSDK","Promise","resolve","script","document","createElement","src","async","onload","firstScriptTag","getElementsByTagName","parentNode","insertBefore","ModifaceModalContext","createContext","loadModiface","productId","default","createModal","all","modal","layout","header","open","content","jsx","Suspense","Spinner","UAEventTracking","eventLabel"],"ignoreList":[],"sources":["../../../wwwdev/esm/components/modiface/tracking.ts","../../../wwwdev/esm/components/modiface/utilities/loadModiface.tsx"],"sourcesContent":["import { UATrackingProps } from 'modules/tracking/GA4';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport { type TrackingCategory } from 'modules/tracking/UAEventTracking';\r\n\r\nconst eventCategory: TrackingCategory = 'modiface';\r\n\r\nenum Actions {\r\n openModifaceModal = 'openModifaceModal',\r\n showGuide = 'showGuide',\r\n guideSlide = 'guideSlide',\r\n guideLetsDoIt = 'guideLetsDoIt',\r\n colorVariant = 'colorVariant',\r\n liveMode = 'liveMode',\r\n photoMode = 'photoMode'\r\n}\r\n\r\nconst eventAction = Actions;\r\n\r\nconst ua = {\r\n eventCategory,\r\n eventAction\r\n};\r\n\r\nconst modifaceGA4Tracking = (params: Omit) => {\r\n GA4Tracking({\r\n context: 'modiface',\r\n category: 'advisory',\r\n ...params\r\n });\r\n};\r\n\r\nexport const modifaceTracking = Object.assign(modifaceGA4Tracking, {\r\n liveMode: () => {\r\n modifaceGA4Tracking({\r\n eventName: 'modiface_activated',\r\n eventParams: [{ param_name: 'modiface_mode', param_value: 'live_mode' }]\r\n });\r\n },\r\n photoMode: () => {\r\n modifaceGA4Tracking({\r\n eventName: 'modiface_activated',\r\n eventParams: [{ param_name: 'modiface_mode', param_value: 'photo_mode' }]\r\n });\r\n },\r\n showGuide: () => {\r\n modifaceGA4Tracking({\r\n eventName: 'show_more',\r\n eventParams: [{ param_name: 'show_more_type', param_value: 'modiface_guide' }]\r\n });\r\n },\r\n openModal: (label) => {\r\n modifaceGA4Tracking({\r\n eventName: 'open_modal',\r\n eventParams: [\r\n { param_name: 'modal_type', param_value: 'modiface' },\r\n { param_name: 'trigger_origin', param_value: label }\r\n ]\r\n });\r\n }\r\n});\r\n\r\nexport default ua;\r\n","import React, { Suspense } from 'react';\r\nimport styled from 'styled-components';\r\nimport UAEventTracking from 'modules/tracking/UAEventTracking';\r\nimport Spinner from 'modules/shared/circleSpinner';\r\nimport type { IModal } from 'modules/modal';\r\nimport ua, { modifaceTracking } from '../tracking';\r\n\r\nconst { eventCategory, eventAction } = ua;\r\n\r\nconst IntroView = React.lazy(() => import(/* webpackChunkName: \"modifaceIntroView\" */ '../introView'));\r\n\r\nconst SpinnerWrapper = styled.div`\r\n flex: 1 1 auto;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 40px;\r\n`;\r\n\r\nexport const modifaceVersion = 'sdk_3.4.2_makeup_3.3.4';\r\n\r\nfunction loadModifaceSDK(): Promise {\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script');\r\n script.src = `/scripts/lib/modiface/${modifaceVersion}/sdk.js`;\r\n script.async = true;\r\n script.onload = (): void => resolve();\r\n const firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode?.insertBefore(script, firstScriptTag);\r\n });\r\n}\r\n\r\nexport const ModifaceModalContext = React.createContext(null);\r\n\r\nexport default function loadModiface(\r\n productId: number\r\n): (label: 'splash' | 'pdpButton' | 'advisorToolbox') => Promise {\r\n return async (label): Promise => {\r\n const [{ default: createModal }] = await Promise.all([\r\n import(/* webpackChunkName: \"modal\" */ 'modules/modal'),\r\n loadModifaceSDK()\r\n ]);\r\n\r\n const modal = createModal({ layout: { header: null } });\r\n\r\n modal({\r\n open: true,\r\n content: (\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n )\r\n });\r\n\r\n UAEventTracking({ eventCategory, eventAction: eventAction.openModifaceModal, eventLabel: label });\r\n\r\n modifaceTracking.openModal(label);\r\n };\r\n}\r\n"],"file":"client/chunks/loadModiface.oq6ehtns.js"}