{"version":3,"file":"js/6787.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/utils/useClickAway.ts","webpack:///./assets/common/src/ui/tooltip/Tooltip.tsx","webpack:///./assets/common/src/utils/constants.ts","webpack:///./assets/stone/src/components/appointments/BookAnAppointmentDateSelection.tsx","webpack:///./assets/stone/src/components/appointments/BookAnAppointmentReasonMessage.tsx","webpack:///./assets/stone/src/components/login/RegistrationSuccessful.tsx","webpack:///./assets/stone/src/components/login/LoginOrRegisterColumn.tsx","webpack:///./assets/stone/src/components/login/LoginOrRegisterHeader.tsx","webpack:///./assets/stone/src/components/reserve/ProductBoutiqueSelected.tsx"],"sourcesContent":["import { useEffect } from 'react';\n/**\n * custom hook in order to watch given html element and\n * check if user click outside it\n *\n * @param {refType} ref html element to watch focus\n * @param {callbackFunction} callback callback function to fired when clicked/touched away\n *\n */\nconst useClickAway = (ref, callback) => {\n useEffect(() => {\n const listener = (event) => {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n callback(event);\n };\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, callback]);\n};\nexport default useClickAway;\n","import classNames from 'classnames';\nimport React, { useEffect, useRef, useState } from 'react';\nimport whatInput from 'what-input';\nimport useClickAway from '../../utils/useClickAway';\nimport { getId } from '@common/utils/brandDiffsUtils';\nimport { t } from 'i18next';\nconst Tooltip = (props) => {\n const [showTooltip, setShowTooltip] = useState(false);\n const button = useRef();\n const tootltipRef = useRef();\n const boxRef = useRef();\n const [offset, setOffset] = useState(0);\n useEffect(() => {\n setTimeout(() => {\n var _a;\n if (((_a = props === null || props === void 0 ? void 0 : props.containerRef) === null || _a === void 0 ? void 0 : _a.current) && boxRef.current) {\n let tempOffset = 0;\n tempOffset = props.containerRef.current.getBoundingClientRect().right - boxRef.current.getBoundingClientRect().right;\n if (tempOffset < 0 && tempOffset != offset) {\n setOffset(tempOffset);\n return;\n }\n tempOffset = props.containerRef.current.getBoundingClientRect().left - boxRef.current.getBoundingClientRect().left;\n if (tempOffset > 0 && tempOffset != offset) {\n setOffset(tempOffset);\n }\n }\n }, 100);\n }, []);\n useEffect(() => {\n const escape = (e) => {\n if (e.key == 'Escape') {\n setShowTooltip(false);\n document.removeEventListener('keydown', escape);\n }\n };\n if (showTooltip) {\n if (whatInput.ask() == 'keyboard') {\n document.addEventListener('keydown', escape);\n }\n }\n props.setToolTipOpen && props.setToolTipOpen(showTooltip);\n }, [showTooltip]);\n const toggleOpen = () => {\n console.info('open tooltip');\n // @ts-ignore\n if (window.innerWidth > window.mqObj.md && props.checkout) {\n setShowTooltip(false);\n }\n else {\n console.log(showTooltip);\n setShowTooltip(!showTooltip);\n }\n console.log(showTooltip);\n setShowTooltip(!showTooltip);\n };\n const handleBlur = () => {\n // console.info('blur tooltip');\n setShowTooltip(false);\n };\n useClickAway(button, () => {\n // console.info('clickaway tooltip');\n setShowTooltip(false);\n });\n useEffect(() => {\n // OE-20308 - temporary fix to checkout HK and KR tooltip overflowing outside the viewport\n const tooltipElements = document.querySelectorAll('.checkout-packaging__options .tooltip__box');\n const lastTooltipElement = tooltipElements[tooltipElements.length - 1];\n if (lastTooltipElement && (window.country == 'HK' || window.country == 'KR')) {\n lastTooltipElement.classList.add('last-tooltip');\n }\n }, []);\n const renderCloseButton = () => (React.createElement(\"button\", { \"aria-label\": t('button.close'), className: \"tooltip__close\", onClick: () => setShowTooltip(false) }, \"X\"));\n return (React.createElement(\"div\", { ref: tootltipRef, className: classNames('tooltip', props.className && props.className), onBlur: (e) => {\n // console.info('blur: ', e.relatedTarget, tootltipRef.current.contains(e.relatedTarget as Node));\n if (e.relatedTarget && !tootltipRef.current.contains(e.relatedTarget) && !e.relatedTarget.matches('[aria-modal]')) {\n whatInput.ask() == 'keyboard' ? handleBlur() : undefined;\n }\n }, style: { '--tooltip-offset': `${offset}px` } },\n React.createElement(\"button\", { type: \"button\", ref: button, onClick: toggleOpen, className: `icon--${props.icon ? props.icon : 'tooltip'} tooltip__button`, \"aria-expanded\": showTooltip, \"aria-controls\": props.id, \"aria-label\": props.ariaLabel }),\n props.text && (React.createElement(React.Fragment, null, getId() === 'ST' ? (React.createElement(\"div\", { ref: boxRef, id: props.id, className: \"tooltip__box\" },\n renderCloseButton(),\n React.createElement(\"div\", { dangerouslySetInnerHTML: { __html: props.text } }))) : (React.createElement(\"div\", { ref: boxRef, id: props.id, className: \"tooltip__box\", dangerouslySetInnerHTML: { __html: props.text } })))),\n props.markup && (React.createElement(\"div\", { ref: boxRef, id: props.id, className: \"tooltip__box\" },\n getId() == 'ST' && renderCloseButton(),\n props.markup()))));\n};\nexport default Tooltip;\n","export const chat = {\n zendesk: 'zendesk',\n sprinklr: 'sprinklr',\n none: 'none',\n};\nexport const BAA = {\n REASONS: {\n PERSONALIZATION: 552250004,\n DISCOVERCOLLECTION: 552250000,\n },\n APPOINTMENT: {\n INSTORE: 552250000,\n VIRTUAL: 552250001,\n CARAVAN: 552250002,\n },\n TREBASELEGHE: {\n SELF: 'myself',\n GUEST: 'guest',\n },\n};\nexport const menu = {\n overlay: {\n timeout: 200,\n },\n};\nexport const freeExpressShippingCustomerGroup = 'FreeExpressShippingForNewMembers';\nexport const contactFormId = 'contact-form';\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DwFormField from '@ui/formfield/DwFormField';\nconst BookAnAppointmentDateSelection = (props) => {\n const { t } = useTranslation();\n const { formdef, days, values, form } = props;\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: `${props.type == 'modal' ? 'col-8' : 'col-24'} col-lg-12` },\n React.createElement(DwFormField, { def: formdef, name: \"date\", type: \"select\", options: [{ value: '', label: t('label.select') }].concat(Object.keys(days).map((d) => {\n let label = d;\n let available = days[d].find((d) => d.disabled == false);\n // console.log(days[values.date]);\n if (window.locale === 'ja_JP') {\n label = d.replace('.', '年').replace('.', '月').concat('日');\n }\n return { label: label, value: d, disabled: !available };\n })), onChange: form.mutators.resetHours })),\n React.createElement(\"div\", { className: `${props.type == 'modal' ? 'col-16' : 'col-24'} col-lg-12` },\n React.createElement(DwFormField, { def: formdef, name: \"hour\", type: \"select\", options: days[values.date] ? [{ value: '', label: t('label.select') }].concat(days[values.date]) : [{ value: '', label: t('label.select') }] })))));\n};\nexport default BookAnAppointmentDateSelection;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DwFormField from '@ui/formfield/DwFormField';\nconst BookAnAppointmentReasonMessage = (props) => {\n const { t } = useTranslation();\n const { formdef, values } = props;\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-24\" },\n React.createElement(DwFormField, { def: formdef, name: \"messageforstore\", type: \"text\", overridePlaceholder: t('bookanappointment.reasonmessage.placeholder') })))));\n};\nexport default BookAnAppointmentReasonMessage;\n","import React, { useLayoutEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport customEventBus from '@common/scripts/libs/eventBus';\nimport Button from '@stone/ui/button/Button';\nconst RegistrationSuccessful = (props) => {\n const { t } = useTranslation();\n const domComponent = useRef();\n useLayoutEffect(() => {\n let header = document.querySelector('.login-modal .modal__header');\n if (header && props.inDialogLogin) {\n header.style.display = 'none';\n }\n return () => {\n if (header && props.inDialogLogin) {\n header.style.display = 'block';\n }\n };\n }, []);\n return (React.createElement(\"div\", { ref: domComponent, className: classNames('login-registration__registration-successful', props.classNames) },\n React.createElement(\"h2\", { className: \"font__title\" }, t('modal.loginregister.successfull')),\n React.createElement(\"div\", { className: \"mb-32\" },\n React.createElement(\"p\", null, t('modal.loginregister.thankyou1')),\n React.createElement(\"p\", null, t('modal.loginregister.thankyou2'))),\n React.createElement(Button, { type: \"button\", cls: ['button--primary'], className: \"full\", onClick: () => {\n if (props.reloadPage && !props.reloadComponent) {\n window.location.reload();\n }\n else if (props.reloadComponent) {\n props.updateLoggeedStatus(true);\n window.loggedin = true;\n customEventBus.emit('account:update', {});\n }\n else {\n props.closeModal();\n }\n } }, t('modal.loginregister.keepbrowsing'))));\n};\nexport default RegistrationSuccessful;\n","import React, { Suspense, useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { motion } from 'framer-motion';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport LoginPasswordForm from '@stone/components/login/LoginPasswordForm';\nimport LoginEmailForm from '@stone/components/login/LoginEmailForm';\nimport RegisteredInStore from '@stone/components/login/RegisteredInStore';\nimport RegisteredInStoreSendEmail from '@stone/components/login/RegisteredInStoreSendEmail';\nimport OtherLoginMethods from '@stone/components/login/OtherLoginMethods';\nimport LoginSocial from '@stone/components/login/LoginSocial';\nimport LoginOrRegisterSocial from '@stone/components/login/LoginOrRegisterSocial';\nimport RegisterForm from '@stone/components/login/RegisterForm';\nimport LoginOrRegisterHeader from '@stone/components/login/LoginOrRegisterHeader';\nimport RegistrationSuccessful from '@stone/components/login/RegistrationSuccessful';\nconst BagInfoBox = React.lazy(() => import('@stone/components/bag/BagInfoBox'));\nconst RegistrationBenefits = React.lazy(() => import('./RegistrationBenefits'));\nconst LoginOrRegisterColumn = (props) => {\n const { t } = useTranslation();\n const [loginStep, setLoginStep] = useState(props.defaultRegister ? 'register' : 'email');\n const [loginEmail, setLoginEmail] = useState();\n const [loginMethods, setLoginMethods] = useState([]);\n const { isMobile } = useMediaQueries();\n const isHidden = useCallback((elementName) => {\n var _a;\n return ((_a = props.hideElements) === null || _a === void 0 ? void 0 : _a.indexOf(elementName)) >= 0;\n }, [props.hideElements, props.slots]);\n const renderSlot = useCallback((slotname) => {\n return props.slots && props.slots[slotname];\n }, [props.slots, props.hideElements]);\n return (React.createElement(React.Fragment, null,\n !isHidden('mainHeading') && (React.createElement(\"div\", { className: \"wrapper-header-modal\" },\n React.createElement(LoginOrRegisterHeader, { onBack: () => {\n if (loginStep == 'email') {\n (props === null || props === void 0 ? void 0 : props.onBack) && props.onBack();\n }\n else {\n setLoginStep('email');\n }\n }, step: loginStep }))),\n loginStep == 'email' && (React.createElement(React.Fragment, null,\n React.createElement(motion.div, { transition: { type: 'tween', duration: 0.5, ease: [0.25, 1, 0.5, 1] }, initial: { opacity: 0 }, animate: { opacity: 1 }, className: \"login-modal-forms\" },\n React.createElement(LoginEmailForm, { useHeading: \"h2\", hideHeading: isHidden('emailHeading'), setLoginStep: setLoginStep, setLoginEmail: setLoginEmail, setLoginMethods: setLoginMethods, analyticsKey: props.analyticsKey }),\n React.createElement(LoginOrRegisterSocial, { from: props.from, inline: props.from == 'reserve', reloadUrl: props.linkreload || location.href, analyticsKey: props.analyticsKey, text: renderSlot('sociallogintext') })),\n React.createElement(Suspense, { fallback: React.createElement(React.Fragment, null) }, !isHidden('benefits') && (React.createElement(RegistrationBenefits, { inModal: true }, renderSlot('benefitsFallback') || (React.createElement(BagInfoBox, { title: t('checkout.login.text') },\n React.createElement(\"ul\", { className: \"mt-20 nolist\" },\n React.createElement(\"li\", { className: \"mb-4\" }, t('register.reviewyourorders')),\n React.createElement(\"li\", { className: \"mb-4\" }, t('register.managesaveditems')),\n React.createElement(\"li\", null, t('register.completepurchasesfaster')))))))),\n !isMobile && !isHidden('wishlistbutton') && (React.createElement(\"a\", { href: window.wishlistUrl, className: \"button button--secondary full\" },\n React.createElement(\"span\", null, t('label.wishlist')))),\n renderSlot('emailbottomtext'))),\n loginStep == 'password' && (React.createElement(React.Fragment, null,\n React.createElement(LoginPasswordForm, { heading: renderSlot('passwordheading') || React.createElement(\"h2\", { className: \"login-modal-subtitle\" }, t('login.toyouraccount')), rememberme: props.rememberme, setLoginStep: setLoginStep, loginEmail: loginEmail, linkreload: props.linkreload, updateLoggeedStatus: props.updateLoggeedStatus, reloadComponent: props.reloadComponent, singleColumn: props.componentContext == 'modal', emailOnly: props.componentContext != 'modal' }),\n loginMethods.length > 1 && (React.createElement(\"div\", { className: \"login-modal__othermethods\" },\n React.createElement(OtherLoginMethods, { loginMethods: loginMethods, setLoginStep: setLoginStep, loginStep: loginStep }))))),\n loginStep == 'social-login' && (React.createElement(\"div\", { className: \"login-modal__login-social\" },\n React.createElement(LoginSocial, { setLoginStep: setLoginStep, loginEmail: loginEmail, socialUsed: loginMethods[0].ID, secondary: true, singleColumn: true }),\n React.createElement(\"div\", { className: \"row login-modal__othermethods\" },\n React.createElement(\"div\", { className: \"col\" },\n React.createElement(OtherLoginMethods, { loginMethods: loginMethods, setLoginStep: setLoginStep, loginStep: loginStep }))))),\n loginStep == 'register' && (React.createElement(\"div\", { className: \"login-modal__registartion\" },\n props.componentContext == 'modal' ? (React.createElement(LoginOrRegisterSocial, { from: props.from, reloadUrl: props.linkreload || location.href, analyticsKey: props.analyticsKey, text: renderSlot('sociallogintext') })) : (React.createElement(\"h2\", { className: \"login-modal-subtitle\" }, t('login.registertomymoncler'))),\n React.createElement(RegisterForm, { componentContext: props.componentContext, loginEmail: loginEmail, setLoginStep: setLoginStep, setForceReload: props.setForceReload, hideHeader: isHidden('registerHeading') }))),\n loginStep == 'registration-successful' && (React.createElement(\"div\", { className: \"login-modal-registartion login-modal__registartion--success\" },\n React.createElement(RegistrationSuccessful, { reloadPage: props.reloadPage, updateLoggeedStatus: props.updateLoggedin, reloadComponent: props.reloadComponent, closeModal: props.closeModal, inDialogLogin: props.componentContext === 'modal' }))),\n loginStep == 'registeredInStore' && (React.createElement(\"div\", { className: \"login-registration__registration registered-in-store\" },\n React.createElement(RegisteredInStore, { loginEmail: loginEmail, setLoginStep: setLoginStep, updateLoggeedStatus: props.updateLoggeedStatus, reloadComponent: props.reloadComponent, linkreload: props.linkreload, reloadPageRegisteredInStore: props.reloadPageRegisteredInStore }))),\n loginStep == 'registeredInStoreSendEmail' && (React.createElement(\"div\", { className: \"login-registration__registration registered-in-store-send-email\" },\n React.createElement(RegisteredInStoreSendEmail, { fromMinicart: true, loginEmail: loginEmail, setLoginStep: setLoginStep })))));\n};\nexport default LoginOrRegisterColumn;\n","import Button from '@stone/ui/button/Button';\nimport Icon from '@stone/ui/icon/Icon';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nconst LoginOrRegisterHeader = (props) => {\n const { t } = useTranslation();\n return (React.createElement(\"div\", { className: \"login-register-header\" },\n React.createElement(Button, { cls: ['button--link'], type: \"button\", onClick: props.onBack },\n React.createElement(React.Fragment, null,\n React.createElement(Icon, { ariaHidden: true, family: \"10\", name: \"left-chevron\" }),\n t('label.sitename')))));\n};\nexport default LoginOrRegisterHeader;\n","import classNames from 'classnames';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Tooltip from '@ui/tooltip/Tooltip';\nimport Button from '@stone/ui/button/Button';\nimport Icon from '@stone/ui/icon/Icon';\nconst ProductBoutiqueSelected = (props) => {\n const { store, onArrowBack, withBorder } = props;\n const { t } = useTranslation();\n if (!store) {\n return React.createElement(React.Fragment, null);\n }\n const renderFromPage = () => (React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-24 col-lg-12\" },\n React.createElement(\"p\", { className: \"store-name\" }, store.name)),\n React.createElement(\"div\", { className: \"col-24 col-lg-12\" },\n React.createElement(\"p\", { className: \"store-address\" },\n store.address1,\n \" \",\n store.address2,\n \" \",\n store.city,\n React.createElement(\"br\", null),\n store.phone))));\n const renderFromModal = () => (React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-24 col-lg-12\" },\n React.createElement(\"p\", { className: \"store-name\" }, store.name),\n React.createElement(\"p\", { className: \"store-address\" },\n store.address1,\n \" \",\n store.address2,\n \" \",\n store.city,\n store.phone && (React.createElement(React.Fragment, null,\n ', ',\n React.createElement(\"span\", { className: \"store-phone\" }, store.phone)))))));\n return (React.createElement(\"div\", { className: classNames('product-reserve__detail__selected-store', { 'has-back': !!onArrowBack }, { 'with-border': withBorder }) },\n !!onArrowBack && (React.createElement(Button, { cls: ['button--link'], type: \"button\", className: \"button-back\", \"aria-label\": t('button.back'), onClick: () => {\n onArrowBack();\n } },\n React.createElement(React.Fragment, null,\n React.createElement(Icon, { ariaHidden: true, family: \"10\", name: \"left-chevron\" }),\n t('label.back')))),\n props.appointmentType == 552250001 && store.liveBoutique && (React.createElement(\"div\", { className: \"option-store__live-boutique\" },\n React.createElement(\"span\", { className: \"primary-xxs\" }, t('bookanappointment.liveboutique')),\n React.createElement(Tooltip, { ariaLabel: t('label.info'), checkout: true, id: `${store.ID}-live-boutique-info`, icon: \"info\", className: \"live-boutique-info\", text: t('bookanappointment.liveboutiquetoltip', { 0: window.liveBoutiqueUrl }) }))),\n props.type == 'page' && renderFromPage(),\n props.type == 'modal' && renderFromModal()));\n};\nProductBoutiqueSelected.defaultProps = {\n type: 'page',\n};\nexport default ProductBoutiqueSelected;\n"],"names":["ref","callback","useEffect","listener","event","current","contains","target","document","addEventListener","removeEventListener","props","showTooltip","setShowTooltip","useState","button","useRef","tootltipRef","boxRef","offset","setOffset","setTimeout","_a","containerRef","tempOffset","getBoundingClientRect","right","left","escape","e","key","setToolTipOpen","tooltipElements","querySelectorAll","lastTooltipElement","length","window","country","classList","add","renderCloseButton","t","className","onClick","onBlur","relatedTarget","matches","style","type","console","info","innerWidth","mqObj","md","checkout","log","icon","id","ariaLabel","text","dangerouslySetInnerHTML","__html","markup","chat","zendesk","sprinklr","none","BAA","REASONS","PERSONALIZATION","DISCOVERCOLLECTION","APPOINTMENT","INSTORE","VIRTUAL","CARAVAN","TREBASELEGHE","SELF","GUEST","freeExpressShippingCustomerGroup","contactFormId","formdef","days","values","form","def","name","options","value","label","concat","Object","keys","map","d","available","find","disabled","locale","replace","onChange","mutators","resetHours","date","overridePlaceholder","useTranslation","domComponent","useLayoutEffect","header","querySelector","inDialogLogin","display","classNames","Button","cls","reloadPage","reloadComponent","location","reload","updateLoggeedStatus","loggedin","closeModal","BagInfoBox","RegistrationBenefits","loginStep","setLoginStep","defaultRegister","loginEmail","setLoginEmail","loginMethods","setLoginMethods","isMobile","useMediaQueries","isHidden","useCallback","elementName","hideElements","indexOf","slots","renderSlot","slotname","LoginOrRegisterHeader","onBack","step","transition","duration","ease","initial","opacity","animate","LoginEmailForm","useHeading","hideHeading","analyticsKey","LoginOrRegisterSocial","from","inline","reloadUrl","linkreload","href","Suspense","fallback","inModal","title","wishlistUrl","LoginPasswordForm","heading","rememberme","singleColumn","componentContext","emailOnly","OtherLoginMethods","LoginSocial","socialUsed","ID","secondary","RegisterForm","setForceReload","hideHeader","updateLoggedin","RegisteredInStore","reloadPageRegisteredInStore","RegisteredInStoreSendEmail","fromMinicart","ariaHidden","family","ProductBoutiqueSelected","store","onArrowBack","withBorder","appointmentType","liveBoutique","liveBoutiqueUrl","address1","address2","city","phone","defaultProps"],"sourceRoot":""}