{"version":3,"file":"js/component-menu.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/components/common/ErrorBox.tsx","webpack:///./assets/common/src/components/utils/Lazyimg.tsx","webpack:///./assets/common/src/utils/stringUtils.ts","webpack:///./assets/common/src/utils/urlutils.ts","webpack:///./assets/common/src/utils/useBreakpoint.ts","webpack:///./assets/common/src/utils/useQueryString.ts","webpack:///./assets/stone/src/components/a11y/A11YMenuAccountBar.tsx","webpack:///./assets/stone/src/components/cards/ContentCard.tsx","webpack:///./assets/stone/src/components/login/LoginModal.tsx","webpack:///./assets/stone/src/components/login/LoginOrRegisterHeader.tsx","webpack:///./assets/stone/src/components/login/RegistrationSuccessful.tsx","webpack:///./assets/stone/src/components/login/LoginOrRegisterColumn.tsx","webpack:///./assets/common/src/state/features/minicart.selectors.ts","webpack:///./assets/stone/src/components/search/SearchSuggestions.tsx","webpack:///./assets/stone/src/components/search/SearchDialog.tsx","webpack:///./assets/stone/src/components/menu/MenuWrapper.tsx","webpack:///./assets/stone/src/hooks/useHeaderRef.tsx","webpack:///./assets/stone/src/components/menu/Menu.tsx","webpack:///./assets/stone/src/components/modal/ModalDrawer.tsx","webpack:///./assets/stone/src/hooks/useMediaQueries.tsx","webpack:///./assets/stone/src/ui/button/Button.tsx","webpack:///./assets/stone/src/ui/icon/Icon.tsx","webpack:///./assets/stone/src/ui/image/Image.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nconst ErrorBox = (props) => {\n    if (!props.errors || props.errors.length === 0 || props.errors.every((err) => err === '')) {\n        return React.createElement(React.Fragment, null);\n    }\n    return (React.createElement(\"div\", { className: classNames('globalerrors', 'invalid-feedback', props.className), role: \"alert\" }, props.errors.map((e, i) => (React.createElement(\"div\", { key: i }, (e || '').toString())))));\n};\nexport default ErrorBox;\n","import classNames from 'classnames';\nimport React from 'react';\nconst Lazyimg = (props) => {\n    return (React.createElement(\"img\", { src: \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", \"data-src\": props.src, \"data-srcset\": props.srcset, className: classNames('lazyload', props.className, { 'not-draggable': !props.draggable }), alt: props.alt, width: props === null || props === void 0 ? void 0 : props.width, height: props === null || props === void 0 ? void 0 : props.height, draggable: props.draggable, \"aria-hidden\": (props === null || props === void 0 ? void 0 : props.ariaHidden) ? true : false, \"data-sizes\": props.dataSizes }));\n};\nexport default Lazyimg;\n","export const slugify = (text) => text.toLowerCase().split(' ').join('-');\nexport const getElementFromHtmlString = (htmlString, selector) => {\n    var _a;\n    let textVal = null;\n    let div = document.createElement('div');\n    div.innerHTML = htmlString;\n    textVal = (_a = div.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.innerHTML;\n    return textVal;\n};\n// FIXME queste cose vanno fatte a backend, non qui\nexport const calculateDateforJP = (date) => {\n    if (!date)\n        return;\n    const splitted = date.split('.');\n    const year = splitted.pop();\n    const days = splitted.shift();\n    if (year.length == 4 && window.country == 'JP') {\n        splitted.splice(0, 0, year);\n        splitted.splice(2, 0, days);\n        return splitted.join('.');\n    }\n    else {\n        return date;\n    }\n};\nexport const validateEmail = (email) => {\n    return /^[\\w.%+-]+@[\\w.-]+\\.[\\w]{2,6}$/.test(email);\n};\nexport const capitalizeFirstLetter = (string) => {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n};\nexport const getZeroPadNumber = (_number, digits = 2) => {\n    return _number.toString().length >= digits ? _number.toString() : _number.toString().padStart(digits, '0');\n};\n// REF :: https://stackoverflow.com/questions/3942878/how-to-decide-font-color-in-white-or-black-depending-on-background-color\nexport const useStringRgbContrast = (rgbCssString, dark = 'rgb(0,0,0)', light = 'rgb(255,255,255)') => {\n    if (!rgbCssString)\n        return dark;\n    //parso la stringa RGB\n    let rgb = rgbCssString.replace('rgb(', '').replace(')', '').split(',');\n    if (rgb.length < 3)\n        return dark;\n    //trasformo rgb in srgb\n    let srgb = rgb.map((n) => {\n        let c = Number(n) / 255;\n        if (c <= 0.04045)\n            return c / 12.92;\n        return Math.pow((c + 0.055) / 1.055, 2.4);\n    });\n    //calcolo la luminescenza\n    const L = 0.2126 * srgb[0] + 0.7152 * srgb[1] + 0.0722 * srgb[2];\n    //calcolo se il colore di contrasto è light\n    const useDark = L > Math.sqrt(1.05 * 0.05) - 0.05;\n    // console.log(`%c${rgbCssString}`, `background-color: ${rgbCssString}; color: ${useDark ? '#000' : '#FFF'}; padding:4px; border: solid 1px red;`, L, srgb, rgb);\n    //ritorno la stringa passata come parametro\n    return useDark ? dark : light;\n};\nexport const getRandomUUID = (prefix) => {\n    var _a, _b;\n    let uuid = ((_a = window.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) && ((_b = window.crypto) === null || _b === void 0 ? void 0 : _b.randomUUID());\n    if (!uuid)\n        uuid = Math.random().toString(26);\n    return `${prefix || ''}${uuid}`;\n};\n","/**\n *\n * @function updateURLParameter\n * update url parameter\n *\n * @example\n * //http://localhost:3000?category=primary&page=2\n * const urlParams = new URLSearchParams(location.search);\n * const currentPage = urlParams.get('page');\n * const nextPageUrl = updateURLParameter(location.href, 'page', currentPage++);\n * //http://localhost:3000?category=primary&page=3\n *\n * @param {string} url - url to update\n * @param param - param key\n * @param paramVal - param new value\n *\n * @returns {string} newUrl - newUrl with new value\n */\nexport const addURLParameter = (url, param, paramVal) => {\n    if (url.indexOf('?') > -1) {\n        return url + '&' + param + '=' + paramVal;\n    }\n    else {\n        return url + '?' + param + '=' + paramVal;\n    }\n};\nexport const addURLParameters = (baseUrl, queryParams) => {\n    let newUrl = baseUrl;\n    for (const [key, value] of Object.entries(queryParams)) {\n        newUrl = addURLParameter(newUrl, key, value);\n    }\n    return newUrl;\n};\nexport const updateURLParameter = (url, param, paramVal) => {\n    let newAdditionalURL = '';\n    let tempArray = url.split('?');\n    let baseURL = tempArray[0];\n    let additionalURL = tempArray[1];\n    let temp = '';\n    if (additionalURL) {\n        tempArray = additionalURL.split('&');\n        for (let i = 0; i < tempArray.length; i++) {\n            if (tempArray[i].split('=')[0] != param) {\n                newAdditionalURL += temp + tempArray[i];\n                temp = '&';\n            }\n        }\n    }\n    let rows_txt = temp + '' + param + '=' + paramVal;\n    return baseURL + '?' + newAdditionalURL + rows_txt;\n};\n/**\n *\n * @function siteUrl\n * return the url stored as sirng in window.siteUrls if exists\n *\n * @param {string} urlName - the URL name in `siteUrls`\n *\n * @param {string} params - the params to add on result url\n *\n * @returns {string} urlString - the url or undefined if missing\n */\nexport const siteUrl = (urlName, ...params) => {\n    if (!window.siteUrls)\n        return undefined;\n    let url = window.siteUrls[urlName];\n    /* WITH PARAMS */\n    if (params && params.length) {\n        for (let i = 0; i < params.length / 2; i++) {\n            const key = params[i * 2] || '';\n            if (!!key) {\n                const value = params[i * 2 + 1] || '';\n                url = addURLParameter(url, key.toString(), value.toString());\n            }\n        }\n    }\n    return url;\n};\n","import { useEffect, useState } from 'react';\nconst getInitialBreakpointValue = () => {\n    var _a;\n    // get initial breakpoint is called before the page is fully loaded and innerWith may be 0. windows.mqObj may not be set\n    const mediaQueries = window.mqObj;\n    const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n    if (documentWidth == 0 || !mediaQueries) {\n        return;\n    }\n    const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n    const initalBr = filtered.length ? mediaQueries[filtered[filtered.length - 1]] : mediaQueries['xs'];\n    // console.info('[getInitialBreakpointValue]: ', documentWidth, initalBr);\n    return initalBr;\n};\nconst mediaQueries = Object.assign({ '<xs': 0 }, window.mqObj);\nconst useBreakpoint = () => {\n    const [currentBreakpoint, setCurrentBreakpoint] = useState(getInitialBreakpointValue());\n    const getCurrentBreakpoint = () => {\n        var _a;\n        const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n        if (documentWidth == 0) {\n            return;\n        }\n        const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n        return mediaQueries[filtered[filtered.length - 1]];\n    };\n    const handleResize = () => {\n        const currentBr = getCurrentBreakpoint();\n        if (currentBr && currentBr !== currentBreakpoint) {\n            // console.info('%c[React - Breakpoint change] ', 'color: green;font-weight: bold;', currentBr);\n            setCurrentBreakpoint(currentBr);\n        }\n    };\n    // const debounceResize = () => {\n    //   handleResize();\n    // };\n    useEffect(() => {\n        window.addEventListener('resize', handleResize);\n        return () => {\n            window.removeEventListener('resize', handleResize);\n        };\n    });\n    return currentBreakpoint;\n};\nexport default useBreakpoint;\n","import qs from 'query-string';\nimport { useCallback, useState } from 'react';\nfunction useQueryString(key, initialValue, isboolean) {\n    const setQueryStringWithoutPageReload = (qsValue) => {\n        const newurl = window.location.protocol + '//' + window.location.host + window.location.pathname + (qsValue ? '?' + qsValue : '');\n        window.history.pushState({ path: newurl }, '', newurl);\n    };\n    const getQueryStringValue = (key) => {\n        const values = qs.parse(window.location.search);\n        let value = values[key];\n        return isboolean ? !!value : value;\n    };\n    function setQueryStringValue(key, value) {\n        const values = qs.parse(window.location.search);\n        const newvalues = Object.assign(Object.assign({}, values), { [key]: value });\n        if (isboolean && !value) {\n            delete newvalues[key];\n        }\n        const newQsValue = qs.stringify(newvalues);\n        setQueryStringWithoutPageReload(newQsValue);\n    }\n    const onSetValue = useCallback((newValue) => {\n        let newvaltyped = isboolean ? !!newValue || undefined : newValue;\n        setValue(newvaltyped);\n        setQueryStringValue(key, newvaltyped);\n    }, [key]);\n    const [value, setValue] = useState(getQueryStringValue(key) || initialValue);\n    return [value, onSetValue];\n}\nexport default useQueryString;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { siteUrl } from '@common/utils/urlutils';\nconst A11YMenuAccountBar = () => {\n    const { t } = useTranslation();\n    return (React.createElement(\"div\", { className: \"a11y-action-bar\" },\n        React.createElement(\"div\", { className: \"container\" }, window.loggedin ? React.createElement(\"a\", { href: siteUrl('myaccount') }, t('navigation.aria.navigatetoaccount')) : React.createElement(\"a\", { href: siteUrl('login') }, t('navigation.aria.navigatetologin')))));\n};\nexport default A11YMenuAccountBar;\n","import Image from '@stone/ui/image/Image';\nimport React from 'react';\nconst aspectRatioMap = {\n    '3:4': '3-4',\n    '16:9': '16-9',\n};\nconst ContentCard = (props) => {\n    var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n    return (React.createElement(React.Fragment, null,\n        React.createElement(\"a\", { className: \"card-content font__cta\", href: ((_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a.link) || props.link, target: ((_b = props === null || props === void 0 ? void 0 : props.data) === null || _b === void 0 ? void 0 : _b.blank) || props.blank ? '_blank' : '_self' },\n            React.createElement(Image, { src: ((_c = props === null || props === void 0 ? void 0 : props.custom) === null || _c === void 0 ? void 0 : _c.image) || ((_d = props === null || props === void 0 ? void 0 : props.image) === null || _d === void 0 ? void 0 : _d.path), srcMobile: ((_e = props === null || props === void 0 ? void 0 : props.custom) === null || _e === void 0 ? void 0 : _e.ImageMobile) || ((_f = props === null || props === void 0 ? void 0 : props.imageMobile) === null || _f === void 0 ? void 0 : _f.path), alt: ((_g = props === null || props === void 0 ? void 0 : props.data) === null || _g === void 0 ? void 0 : _g.imgAlt) || props.imgAlt || '', className: `image-ratio--${aspectRatioMap[((_h = props === null || props === void 0 ? void 0 : props.data) === null || _h === void 0 ? void 0 : _h.imgRatio) || props.imgRatio]}` }),\n            React.createElement(\"span\", null, ((_j = props === null || props === void 0 ? void 0 : props.data) === null || _j === void 0 ? void 0 : _j.title) || props.title))));\n};\nexport default ContentCard;\n","// import analytics from '@utils/analytics';\nimport React, { Suspense, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport Button from '@stone/ui/button/Button';\nimport LoginOrRegisterColumn from '@stone/components/login/LoginOrRegisterColumn';\nimport A11YMenuAccountBar from '@stone/components/a11y/A11YMenuAccountBar';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nconst ModalDrawer = React.lazy(() => import('@stone/components/modal/ModalDrawer'));\nconst ModalDialog = React.lazy(() => import('@stone/components/modal/ModalDialog'));\nconst LoginModal = (props) => {\n    const { t } = useTranslation();\n    const { isMobile } = useMediaQueries();\n    const [open, setOpen] = useState(false);\n    const [openRegister, setOpenRegister] = useState(false);\n    const [forceReload, setForceReload] = useState(false);\n    const ModalComponent = props.drawer ? ModalDrawer : ModalDialog;\n    const modalProps = (props.drawer && {\n        a11yBar: React.createElement(A11YMenuAccountBar, null),\n        hideContentLabel: true,\n        contentLabel: t('modal.loginregister.title'),\n    }) || {\n        // colLg: 14,\n        // colXxl: 12,\n        // innerColClasses: 'col-lg-23',\n        fullHeight: true,\n        fullWidth: isMobile,\n        image: window.globalstaticurl + '/login/' + (props.incontext ? 'bg-' + props.incontext + '.jpg' : 'bg-login.jpg'),\n        contentLabel: t('modal.loginregister.title'),\n        subtitle: t('modal.loginregister.subtitle'),\n    };\n    // [ UPDATE EXTERNAL => SYNC INTERNAL ]\n    useEffect(() => {\n        if ((props === null || props === void 0 ? void 0 : props.modalStatus) != undefined && (props === null || props === void 0 ? void 0 : props.modalStatus) != open) {\n            setOpen(props === null || props === void 0 ? void 0 : props.modalStatus);\n        }\n    }, [props === null || props === void 0 ? void 0 : props.modalStatus]);\n    // [ UPDATE INTERNAL => SYNC EXTERNAL ]\n    useEffect(() => {\n        if ((props === null || props === void 0 ? void 0 : props.updateStatus) != undefined && (props === null || props === void 0 ? void 0 : props.modalStatus) != open) {\n            props.updateStatus(open);\n        }\n        if (!open && forceReload) {\n            if (props === null || props === void 0 ? void 0 : props.linkreload) {\n                window.location.href = props.linkreload;\n            }\n            else {\n                window.location.reload();\n            }\n        }\n    }, [open]);\n    if (window.loggedin) {\n        return React.createElement(React.Fragment, null);\n    }\n    const hideElements = !props.drawer ? ['mainHeading', 'emailHeading', 'wishlistbutton', 'registerHeading', 'benefits'] : [];\n    const slots = (!props.drawer && {\n        sociallogintext: React.createElement(React.Fragment, null, t('register.fasterwithsocial')),\n        emailbottomtext: (React.createElement(\"div\", { className: \"login-modal-bottom\" },\n            React.createElement(\"p\", null, t('modal.loginregister.text')))),\n        passwordheading: React.createElement(React.Fragment, null), //render nothing\n    }) ||\n        {};\n    const LoginOrRegisterComponent = () => (React.createElement(LoginOrRegisterColumn, { defaultRegister: openRegister, setForceReload: setForceReload, closeModal: () => setOpen(false), onBack: () => setOpen(false), linkreload: props.linkreload, from: 'loginmodal', updateLoggeedStatus: props.updateLoggeedStatus, reloadPageRegisteredInStore: props.reloadPageRegisteredInStore, componentContext: props.drawer ? 'drawer' : 'modal', slots: slots, hideElements: hideElements, rememberme: props.rememberme, inAccountMenu: props.drawer }));\n    return (React.createElement(React.Fragment, null,\n        (props === null || props === void 0 ? void 0 : props.inWishlist) && (React.createElement(\"div\", { className: \"wishlist-login-box\" },\n            React.createElement(\"p\", { dangerouslySetInnerHTML: { __html: t('wishlist.guestmessage') } }),\n            React.createElement(\"div\", { className: \"wrapper-buttons\" },\n                React.createElement(Button, { cls: ['button--tertiary'], type: \"button\", ariaHaspopup: \"dialog\", onClick: () => {\n                        setOpen(true);\n                        // analytics.wishlistInteractionLoginRegister();\n                    } }, t('login.toyouraccount'))))),\n        React.createElement(Suspense, { fallback: React.createElement(React.Fragment, null) },\n            React.createElement(ModalComponent, Object.assign({ contentLabel: t('modal.loginregister.title'), isOpen: open, className: classNames('login-modal', { 'in-drawer': props.drawer, 'in-dialog': !props.drawer }), onRequestClose: () => {\n                    setOpen(false);\n                    setOpenRegister(false);\n                }, visuallyhidden: true }, modalProps), LoginOrRegisterComponent()))));\n};\nexport default LoginModal;\n","import { useLangChecker } from '@common/utils/i18n';\nimport 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                React.createElement(\"span\", { ref: useLangChecker }, t('label.sitename'))))));\n};\nexport default LoginOrRegisterHeader;\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';\nimport { useLangChecker } from '@common/utils/i18n';\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\" }, props.inAccountMenu ? (React.createElement(\"p\", { className: \"font__title\" }, t('label.login'))) : (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\", { ref: useLangChecker }, 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 { createSelector } from '@reduxjs/toolkit';\nconst getMinicart = (state) => state.minicart.minicart;\nexport const minicartQuantitySelector = createSelector([getMinicart], (minicart) => minicart === null || minicart === void 0 ? void 0 : minicart.numItems);\nexport const isUserAuthenticated = (state) => state.userInfo;\n","import * as React from 'react';\nimport ContentCard from '../cards/ContentCard';\nconst SearchSuggestions = (props) => {\n    var _a, _b, _c;\n    // * USE MEMO ----------------------------------------------------------------------------------------------------------------------------------------\n    const suggestions = React.useMemo(() => {\n        var _a;\n        return (_a = props === null || props === void 0 ? void 0 : props.suggestions) === null || _a === void 0 ? void 0 : _a.components[0];\n    }, [props.suggestions]);\n    const promoCards = React.useMemo(() => {\n        var _a;\n        return (_a = props === null || props === void 0 ? void 0 : props.promoCards) === null || _a === void 0 ? void 0 : _a.components;\n    }, [props.promoCards]);\n    return (React.createElement(\"div\", { className: \"search-modal__content\" },\n        !!((_c = (_b = (_a = suggestions === null || suggestions === void 0 ? void 0 : suggestions.regions) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.length) && (React.createElement(React.Fragment, null,\n            React.createElement(\"div\", { className: \"search-suggestions\" },\n                (suggestions === null || suggestions === void 0 ? void 0 : suggestions.title) && (React.createElement(React.Fragment, null,\n                    React.createElement(\"h2\", { className: \"search-suggestions__title\" }, suggestions.title))),\n                React.createElement(\"ul\", { className: \"search-suggestions__list\" }, suggestions.regions.items.components.map((suggestion) => (React.createElement(\"li\", { key: suggestion.ID, className: \"search-suggestions__suggestion\" },\n                    React.createElement(\"a\", { href: suggestion.link }, suggestion.title)))))))),\n        !!(promoCards === null || promoCards === void 0 ? void 0 : promoCards.length) && (React.createElement(\"ul\", { className: \"search-promocards__list\" }, promoCards.map((card) => (React.createElement(\"li\", { key: card.ID, className: \"search-promocards__card\" },\n            React.createElement(ContentCard, Object.assign({}, card)))))))));\n};\nexport default SearchSuggestions;\n","import React, { useRef, useCallback } from 'react';\nimport Icon from '@stone/ui/icon/Icon';\nimport { useTranslation } from 'react-i18next';\nimport SearchSuggestions from './SearchSuggestions';\nimport ModalDrawer from '../modal/ModalDrawer';\nimport useQueryString from '@common/utils/useQueryString';\nimport analytics from '@stone/utils/analytics';\nconst SearchDialog = (props) => {\n    const { t } = useTranslation();\n    const { suggestions, promoCards } = props.searchData;\n    const [inputSearch, setInputSearch] = useQueryString('query');\n    const inputRef = useRef(null);\n    const inputFirstEdit = useRef(true);\n    const searchFormRef = useRef(null);\n    const updateInputSearch = (search) => {\n        if (inputFirstEdit.current && search.length > 0) {\n            analytics.search('search start');\n            inputFirstEdit.current = false;\n        }\n        setInputSearch(search);\n    };\n    const handleSubmit = useCallback((event) => {\n        event.preventDefault();\n        window.location.replace(window.location.origin + window.siteUrls.searchresults + `?query=${inputSearch}`);\n    }, [inputSearch]);\n    const searchField = () => (React.createElement(\"form\", { ref: searchFormRef, className: \"search-modal__form\", onSubmit: handleSubmit },\n        React.createElement(\"div\", { className: \"form-group\" },\n            React.createElement(\"div\", { className: \"form-control\" },\n                React.createElement(\"label\", { className: \"font__title\", htmlFor: \"searchLabel\" }, t('search.dialog.inputlabel')),\n                React.createElement(\"input\", { ref: inputRef, type: \"search\", name: \"searchLabel\", id: \"searchLabel\", autoComplete: \"off\", \"aria-label\": t('search.placeholder'), \n                    // aria-controls={!noResult && inputSearch?.length >= minSearchChars ? 'searchResults' : null}\n                    value: inputSearch, onChange: (e) => {\n                        updateInputSearch(e.currentTarget.value);\n                    } }),\n                !!(inputSearch === null || inputSearch === void 0 ? void 0 : inputSearch.length) && inputRef && (React.createElement(\"button\", { type: \"button\", className: \"form-control__reset-button\", \"aria-label\": t('button.resetinput'), onClick: (e) => {\n                        e.preventDefault();\n                        inputRef.current.value = null;\n                        inputRef.current.focus();\n                        inputFirstEdit.current = true;\n                        updateInputSearch('');\n                    } },\n                    React.createElement(Icon, { family: \"10\", name: \"close\" }))))),\n        React.createElement(\"input\", { type: \"submit\", hidden: true })));\n    return (React.createElement(React.Fragment, null,\n        React.createElement(ModalDrawer, { isOpen: props.isOpen, className: \"search-modal\", onRequestClose: () => {\n                inputFirstEdit.current = true;\n                props.handleClose();\n            }, contentLabel: t('label.search'), hideContentLabel: true },\n            React.createElement(\"div\", { className: \"search-dialog__form\" }, searchField()),\n            React.createElement(SearchSuggestions, { suggestions: suggestions, promoCards: promoCards }))));\n};\nexport default SearchDialog;\n","import { minicartQuantitySelector } from '@state/features/minicart.selectors';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport api from '@utils/api';\nimport React, { useEffect, useMemo, useState, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport useBreakpoint from '@common/utils/useBreakpoint';\nimport customEventBus from '@common/scripts/libs/eventBus';\nimport SearchDialog from '../search/SearchDialog';\nimport LoginModal from '@stone/components/login/LoginModal';\nconst MiniBagWrapper = React.lazy(() => import('@stone/components/minibag/MiniBagWrapper'));\nconst MenuDesktop = React.lazy(() => import('@stone/components/menu/MenuDesktop'));\nconst MenuMobile = React.lazy(() => import('@stone/components/menu/MenuMobile'));\nconst SESSIONSTORAGE_KEY = 'ti_re';\nconst MenuWrapper = (props) => {\n    // * CUSTOM HOOKS ------------------------------------------------------------------------------------------------\n    const { isMobile } = useMediaQueries();\n    const currentBreakpoint = useBreakpoint();\n    // * STATE ------------------------------------------------------------------------------------------------\n    const [tickerSlides, setTickerSlides] = useState(null);\n    const [data, setData] = useState(null);\n    const [isCartOpen, setIsCartOpen] = useState(false);\n    const [isSearchOpen, setIsSearchOpen] = useState(false);\n    const [whatIntent, setWhatIntent] = useState('mouse');\n    const [dataHeader, setDataHeader] = useState({\n        color: '',\n        transparent: '',\n    });\n    // const [searchData, setSearchData] = useState<menuModels.SearchData>(null);\n    const [suggestions, setSuggestions] = useState(null);\n    const [promoCards, setPromoCards] = useState(null);\n    const [contacts, setContacts] = useState();\n    const [localLoading, setLocalLoading] = useState(false);\n    const [siteRegion, setSiteRegion] = useState();\n    const [loading, setLoading] = useState(false);\n    const [error, setError] = useState(false);\n    const [transparent, setTransparent] = useState(props.transparent);\n    const [color, setColor] = useState(props.color);\n    const [loginOpen, setLoginOpen] = useState(false);\n    const [profileName, setProfileName] = useState(props.profileName);\n    const searchData = {\n        suggestions,\n        promoCards,\n        contacts,\n        minSearchChars: props.minSearchChars,\n    };\n    useEffect(() => {\n        customEventBus.on('account:update', (data) => {\n            if (data === null || data === void 0 ? void 0 : data.customerName) {\n                setProfileName(data.customerName);\n            }\n        });\n        customEventBus.on('search:open', (data) => {\n            if (data.open) {\n                handleSearchOpening(true, true);\n            }\n        });\n        customEventBus.on('header:settrasparency', (data) => {\n            setTransparent(data.transparent);\n            setColor(data.color);\n        });\n        customEventBus.on('keyboard:mode', (data) => {\n            setWhatIntent(data.isKeyboardMode ? 'keyboard' : 'mouse');\n        });\n    }, []);\n    // * USE EFFECT ----------------------------------------------------------------------------------------------------------------------------------------\n    //GET MENU\n    useEffect(() => {\n        if (!data) {\n            setLoading(true);\n            api\n                .getPageJson('menu', true)\n                .then((data) => {\n                const sections = data.regions.find((s) => s.id === 'sections');\n                if (sections === null || sections === void 0 ? void 0 : sections.components) {\n                    setData(sections.components);\n                    setLoading(false);\n                }\n                extractTickerSlides(data);\n            })\n                .catch((error) => setError(error));\n        }\n    }, []);\n    //GET SEARCH\n    useEffect(() => {\n        setLocalLoading(true);\n        api.getPageJson('search').then((res) => {\n            var _a, _b, _c, _d;\n            if (res.page) {\n                let suggestions, promoCards;\n                suggestions = (_b = (_a = res === null || res === void 0 ? void 0 : res.page) === null || _a === void 0 ? void 0 : _a.regions) === null || _b === void 0 ? void 0 : _b.suggestions;\n                promoCards = (_d = (_c = res === null || res === void 0 ? void 0 : res.page) === null || _c === void 0 ? void 0 : _c.regions) === null || _d === void 0 ? void 0 : _d.promo_cards;\n                setSuggestions(suggestions);\n                setPromoCards(promoCards);\n                const cCode = window.country;\n                api.GetContactsByCountry(cCode).then((data) => {\n                    var _a, _b;\n                    if (data) {\n                        if (cCode.toLowerCase() === window.country.toLowerCase() && !siteRegion) {\n                            setSiteRegion((_a = data.chatConfig) === null || _a === void 0 ? void 0 : _a.region);\n                        }\n                        else {\n                            if (siteRegion !== ((_b = data.chatConfig) === null || _b === void 0 ? void 0 : _b.region)) {\n                                customEventBus.emit('contacts:live-chat', { hide: true });\n                            }\n                            else {\n                                customEventBus.emit('contacts:live-chat', { hide: false });\n                            }\n                        }\n                        setContacts(data);\n                        setLocalLoading(false);\n                    }\n                });\n            }\n        });\n    }, []);\n    //CHECK INPUT MODE\n    useEffect(() => {\n        document.addEventListener('keydown', onKeyDown, false);\n        return () => document.removeEventListener('keydown', onKeyDown, false);\n    }, []);\n    // * REDUX ------------------------------------------------------------------------------------------------\n    const { justAdded, hovering, lastAdded, minicart } = useSelector((state) => state.minicart);\n    const numItems = useSelector(minicartQuantitySelector);\n    // * MEMOS ------------------------------------------------------------------------------------------------\n    // Total products in cart - initiallly use the prop while redux state loads\n    const definitiveTotal = useMemo(() => {\n        return numItems !== null && numItems !== void 0 ? numItems : props.totalItems;\n    }, [numItems]);\n    // * FUNCTIONS ------------------------------------------------------------------------------------------------\n    function onKeyDown(e) {\n        if (e.key === 'Escape') {\n            setIsCartOpen(false);\n            setIsSearchOpen(false);\n        }\n    }\n    function extractTickerSlides(data) {\n        var _a, _b, _c, _d, _e;\n        if (window.sessionStorage) {\n            let blocker = window.sessionStorage.getItem(SESSIONSTORAGE_KEY);\n            if (blocker === '1')\n                return false;\n        }\n        const tickerRegion = (_a = data.regions) === null || _a === void 0 ? void 0 : _a.find((s) => s.id === 'ticker_region');\n        const tickerWrapper = (_d = (_c = (_b = tickerRegion === null || tickerRegion === void 0 ? void 0 : tickerRegion.components) === null || _b === void 0 ? void 0 : _b.find((s) => s.type_id === 'header_ticker')) === null || _c === void 0 ? void 0 : _c.regions) === null || _d === void 0 ? void 0 : _d.find((s) => s.id === 'wrapper');\n        const slideData = (_e = tickerWrapper === null || tickerWrapper === void 0 ? void 0 : tickerWrapper.components) === null || _e === void 0 ? void 0 : _e.map((slide) => slide.data);\n        setTickerSlides(slideData);\n    }\n    const handleSearchOpening = (customState, focus) => {\n        if (customState) {\n            setIsSearchOpen(customState);\n            if (focus) {\n                setTimeout(() => {\n                    const searchInput = document.getElementById('searchLabel');\n                    if (searchInput) {\n                        searchInput.focus();\n                    }\n                }, 300);\n            }\n        }\n        else {\n            if (isSearchOpen) {\n                setIsSearchOpen(false);\n            }\n            else {\n                setIsSearchOpen(true);\n            }\n        }\n    };\n    // if (loading) return <></>;\n    return (React.createElement(React.Fragment, null,\n        React.createElement(Suspense, { fallback: React.createElement(React.Fragment, null) },\n            isMobile ? (React.createElement(MenuMobile, Object.assign({}, props, { isSSR: props.isSsr, isCartOpen: isCartOpen, setIsCartOpen: () => setIsCartOpen(!isCartOpen), isSearchOpen: isSearchOpen, setIsSearchOpen: () => handleSearchOpening(), hovering: hovering, justAdded: justAdded, lastAdded: lastAdded, minicart: minicart, definitiveTotal: definitiveTotal, sections: data, transparent: transparent, color: color, searchData: searchData, setIsLoginOpen: () => {\n                    setLoginOpen(true);\n                }, profileName: profileName, clickFromStoreUrl: props.clickFromStoreUrl, tickerSlides: tickerSlides }))) : (React.createElement(MenuDesktop, { isSSR: props.isSsr, isCartOpen: isCartOpen, setIsCartOpen: () => setIsCartOpen(!isCartOpen), isSearchOpen: isSearchOpen, setIsSearchOpen: () => handleSearchOpening(), hovering: hovering, totalItems: props.totalItems, carturl: props.carturl, justAdded: justAdded, lastAdded: lastAdded, minicart: minicart, definitiveTotal: definitiveTotal, sections: data, transparent: transparent, color: color, searchData: searchData, forgotpasswordform: props.forgotpasswordform, profileName: profileName, setIsLoginOpen: () => {\n                    setLoginOpen(true);\n                }, whatIntent: whatIntent, clickFromStoreUrl: props.clickFromStoreUrl, tickerSlides: tickerSlides })),\n            React.createElement(LoginModal, { forgotpasswordform: props.forgotpasswordform, modalStatus: loginOpen, updateStatus: (status) => setLoginOpen(status), rememberme: props.rememberme, drawer: true }),\n            React.createElement(SearchDialog, { isOpen: isSearchOpen, handleClose: () => handleSearchOpening(false), minChars: props.minSearchChars, searchData: searchData }),\n            React.createElement(Suspense, { fallback: React.createElement(React.Fragment, null) }, !window.unshoppable && React.createElement(MiniBagWrapper, { totalItems: definitiveTotal })))));\n};\nexport default MenuWrapper;\n","import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport gsap from 'gsap';\nimport customEventBus from '@common/scripts/libs/eventBus';\nimport { ScrollTrigger } from 'gsap/ScrollTrigger';\nimport { debounce } from 'lodash';\nimport cookie from 'react-cookies';\nimport useMediaQueries from './useMediaQueries';\ngsap.registerPlugin(ScrollTrigger);\nconst markers = cookie.load('gsap_markers') === 'header';\nfunction useHeaderRef(isPdp) {\n    const ref = useRef(null);\n    const scrollOffset = useRef(0);\n    const lastScroll = useRef(0);\n    const { isReflow } = useMediaQueries();\n    const [height, setHeight] = useState(0);\n    const [hero, setHero] = useState(null);\n    const [animable, setAnimable] = useState(!isPdp);\n    // ANCHOR - OBSERVER IS PDP -------------------------------------------------\n    useEffect(() => {\n        customEventBus.on('header:setpdp', (data) => {\n            setAnimable(!data.isPdp);\n            if (data.isPdp) {\n                headerAnimation(0);\n                customEventBus.emit('header:settransparency', {\n                    transparent: false,\n                    color: 'black',\n                });\n            }\n        });\n        customEventBus.on('header:reset', () => headerAnimation(0));\n        return () => {\n            customEventBus.off('header:setpdp', () => { });\n            customEventBus.off('header:reset', () => headerAnimation(0));\n        };\n    }, []);\n    useEffect(() => {\n        const toggleAnimation = (data) => {\n            scrollOffset.current = height;\n            setAnimable((prev) => (!!data.hardSet ? data.hardSet : !prev));\n        };\n        customEventBus.on('header:toggleanimation', toggleAnimation);\n        return () => customEventBus.off('header:toggleanimation', toggleAnimation);\n    }, [height]);\n    const root = document.documentElement;\n    // ANCHOR - OBSERVER HEIGHT -------------------------------------------------\n    useEffect(() => {\n        if (!ref.current)\n            return;\n        const observer = new ResizeObserver((entries) => {\n            var _a;\n            const entry = entries[0];\n            if (entry) {\n                let h;\n                if (((_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n                    h = entry.borderBoxSize[0].blockSize;\n                }\n                else {\n                    h = entry.contentRect.height;\n                }\n                root.style.setProperty('--header-h', h + 'px');\n                customEventBus.emit('header:setheight', { height: h });\n                setHeight(h);\n            }\n        });\n        observer.observe(ref.current);\n        return () => {\n            observer.disconnect();\n        };\n    }, []);\n    // ANCHOR - OBSERVER MAIN ------------------------------------------------\n    useLayoutEffect(() => {\n        const main = document.getElementsByTagName('main')[0];\n        if (main) {\n            const observer = new ResizeObserver(debounce(() => {\n                const scrollerInPage = ScrollTrigger.getAll();\n                if (!!(scrollerInPage === null || scrollerInPage === void 0 ? void 0 : scrollerInPage.length)) {\n                    if (markers) {\n                        console.log('ScrollTrigger updated', scrollerInPage.map((el) => { var _a; return ((_a = el === null || el === void 0 ? void 0 : el.vars) === null || _a === void 0 ? void 0 : _a.id) || (el === null || el === void 0 ? void 0 : el.trigger) || el; }));\n                    }\n                    scrollerInPage.forEach((el) => el.refresh());\n                }\n                const _hero = document.querySelector('[data-hero-scroll=\"true\"]');\n                if (_hero) {\n                    setHero(_hero);\n                }\n                else {\n                    setHero(null);\n                }\n            }, 200));\n            observer.observe(main);\n            return () => {\n                setHero(null);\n                observer.disconnect();\n            };\n        }\n    }, []);\n    // ANCHOR - SCROLL ANIMATION -------------------------------------------------\n    const headerAnimation = useCallback((offset) => {\n        gsap.set(ref.current.parentElement, {\n            y: -offset,\n        });\n        customEventBus.emit('header:onprogress', { scroll: -offset, height });\n        // setHeaderOffset(offset);\n        scrollOffset.current = offset;\n        root.style.setProperty('--header-scroll', offset + 'px');\n    }, [height]);\n    useLayoutEffect(() => {\n        var _a;\n        if (!isReflow) {\n            let _headerOffset;\n            const handleScroll = () => {\n                const scrollY = window.scrollY;\n                const scrollDifference = scrollY - lastScroll.current;\n                if (scrollY > 0) {\n                    if (scrollDifference > 0) {\n                        // Scroll down: nascondi l'header gradualmente\n                        _headerOffset = Math.min(scrollOffset.current + scrollDifference, height);\n                    }\n                    else {\n                        // Scroll up: mostra l'header gradualmente\n                        _headerOffset = Math.max(scrollOffset.current + scrollDifference, 0);\n                    }\n                    if (_headerOffset !== scrollOffset.current && animable) {\n                        headerAnimation(_headerOffset);\n                        root.style.setProperty('--header-scroll', _headerOffset + 'px');\n                    }\n                }\n                else {\n                    headerAnimation(0);\n                }\n                lastScroll.current = scrollY;\n            };\n            window.addEventListener('scroll', handleScroll);\n            return () => {\n                window.removeEventListener('scroll', handleScroll);\n            };\n        }\n        else {\n            gsap.set((_a = ref.current) === null || _a === void 0 ? void 0 : _a.parentElement, {\n                y: 0,\n            });\n        }\n    }, [height, animable, isReflow]);\n    useEffect(() => {\n        customEventBus.on('header:resetprogress', () => {\n            const diff = window.scrollY - scrollOffset.current;\n            if (diff)\n                window.scrollTo({ top: diff });\n        });\n        return () => customEventBus.off('header:resetprogress', () => {\n            const diff = window.scrollY - scrollOffset.current;\n            if (diff)\n                window.scrollTo({ top: diff });\n        });\n    }, []);\n    // ANCHOR - TRANSPARENCY ANIMATION ------------------------------------------\n    useLayoutEffect(() => {\n        if (!!hero) {\n            ScrollTrigger.create({\n                id: 'header-transparency',\n                trigger: hero,\n                markers: markers && {\n                    indent: 200,\n                },\n                start: 'bottom top',\n                end: 'bottom top',\n                onEnter: () => {\n                    customEventBus.emit('header:settrasparency', { transparent: false, color: 'black' });\n                },\n                onEnterBack: () => {\n                    customEventBus.emit('header:settrasparency', { transparent: true, color: 'white' });\n                },\n            });\n        }\n        return () => {\n            var _a;\n            customEventBus.emit('header:settransparency', {\n                transparent: false,\n                color: 'black',\n            });\n            (_a = ScrollTrigger.getById('header-transparency')) === null || _a === void 0 ? void 0 : _a.kill();\n        };\n    }, [hero]);\n    return ref;\n}\nexport default useHeaderRef;\n","import { configureMinicartStore } from '@state';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport MenuWrapper from './MenuWrapper';\nimport gsap from 'gsap';\nimport { ScrollTrigger } from 'gsap/ScrollTrigger';\nimport cookie from 'react-cookies';\nimport useHeaderRef from '@stone/hooks/useHeaderRef';\ngsap.registerPlugin(ScrollTrigger);\nconst store = configureMinicartStore();\nconst markers = cookie.load('gsap_markers');\nconst MenuLoader = (props) => {\n    const headerRef = useHeaderRef(props.isPdp);\n    // const [isPdp, setIsPdp] = useState(props.isPdp);\n    // const progressTime = useRef(0);\n    // const progressScroll = useRef(0);\n    // useEffect(() => {\n    //   customEventBus.on('header:setpdp', (data: { isPdp: boolean }) => {\n    //     setIsPdp(data.isPdp);\n    //   });\n    //   return () => {\n    //     customEventBus.off('header:setpdp', () => {setIsPdp(data.isPdp);});\n    //   };\n    // }, []);\n    // useEffect(() => {\n    //   if (!headerRef.current) {\n    //     return;\n    //   }\n    //   const observer = new ResizeObserver((entries) => {\n    //     const entry = entries[0];\n    //     setHeaderHeight(entry.contentRect.height);\n    //   });\n    //   observer.observe(headerRef.current);\n    //   return () => observer.disconnect();\n    // }, []);\n    // useEffect(() => {\n    //   const handleScroll = () => {\n    //     const scrollY = window.scrollY;\n    //     const scrollDifference = scrollY - lastScrollY;\n    //     let _headerOffset;\n    //     if (scrollDifference > 0) {\n    //       // Scroll down: nascondi l'header gradualmente\n    //       _headerOffset = Math.min(headerOffset + scrollDifference, headerHeight);\n    //     } else {\n    //       // Scroll up: mostra l'header gradualmente\n    //       _headerOffset = Math.max(headerOffset + scrollDifference, 0);\n    //     }\n    //     gsap.set(headerRef.current.parentElement, {\n    //       y: -_headerOffset,\n    //     });\n    //     setHeaderOffset(_headerOffset);\n    //     setLastScrollY(scrollY);\n    //   };\n    //   window.addEventListener('scroll', handleScroll);\n    //   return () => {\n    //     window.removeEventListener('scroll', handleScroll);\n    //   };\n    // }, [lastScrollY, headerHeight, headerOffset]);\n    // useGSAP(\n    //   (context, contextSafe) => {\n    //     // const handleAnimation = contextSafe(() => {\n    //     //   const map = gsap.utils.mapRange(1, 0, headerRef.current.getBoundingClientRect().height, 0, progressTime.current);\n    //     //   const tl = gsap.timeline();\n    //     //   tl.to(headerRef.current.parentElement, { y: '-101%', ease: 'linear' });\n    //     //   ScrollTrigger.create({\n    //     //     id: 'header-animation',\n    //     //     markers: markers && {\n    //     //       indent: 100,\n    //     //     },\n    //     //     start: () => `clamp(top-=${map} top)`,\n    //     //     end: () => `+=${headerRef.current.parentElement.getBoundingClientRect().height}`,\n    //     //     trigger: headerRef.current,\n    //     //     onUpdate: (self) => {\n    //     //       progressTime.current = self.progress;\n    //     //       customEventBus.emit('header:setheight', {\n    //     //         height: headerRef.current.parentElement.getBoundingClientRect().height,\n    //     //       });\n    //     //       const check = window.scrollY >= headerRef.current.parentElement.getBoundingClientRect().height;\n    //     //       console.log('HEADER', gsap.utils.mapRange(1, 0, 0, 1, self.progress));\n    //     //       customEventBus.emit('header:onprogress', {\n    //     //         scroll: check ? gsap.utils.mapRange(1, 0, 0, 1, self.progress) : 0,\n    //     //       });\n    //     //     },\n    //     //     onLeave: () =>\n    //     //       customEventBus.emit('header:onprogress', {\n    //     //         scroll: 0,\n    //     //       }),\n    //     //     scrub: true,\n    //     //     animation: tl,\n    //     //   });\n    //     // });\n    //     const handleTransparency = contextSafe(() => {\n    //       const hero = document.querySelector('[data-hero-scroll=\"true\"]');\n    //       if (!!hero) {\n    //         ScrollTrigger.create({\n    //           id: 'header-transparency',\n    //           trigger: hero,\n    //           markers: markers && {\n    //             indent: 800,\n    //           },\n    //           // start: () => `clamp(top+=${!!hero ? hero?.clientHeight : headerRef.current.clientHeight} top)`,\n    //           // end: () => `clamp(top+=${!!hero ? hero?.clientHeight : headerRef.current.clientHeight} top)`,\n    //           start: 'bottom top',\n    //           end: 'bottom top',\n    //           onEnter: () => {\n    //             customEventBus.emit('header:settrasparency', { transparent: false, color: 'black' });\n    //           },\n    //           onEnterBack: () => {\n    //             customEventBus.emit('header:settrasparency', { transparent: true, color: 'white' });\n    //           },\n    //         });\n    //       } else {\n    //         ScrollTrigger.getById('header-transparency')?.kill();\n    //         customEventBus.emit('header:settransparency', {\n    //           transparent: false,\n    //           color: 'black',\n    //         });\n    //       }\n    //     });\n    //     const startAnimation = contextSafe(() => {\n    //       ScrollTrigger.addEventListener('scrollEnd', startAnimation);\n    //       ScrollTrigger.getById('header-animation')?.kill();\n    //       progressScroll.current = window.scrollY;\n    //       // handleAnimation();\n    //       const transScroller = ScrollTrigger.getById('header-transparency');\n    //       if (transScroller) {\n    //         transScroller.update();\n    //       } else {\n    //         handleTransparency();\n    //       }\n    //       ScrollTrigger.getAll()?.forEach((el) => el.refresh());\n    //     });\n    //     const quitAnimation = contextSafe(() => {\n    //       ScrollTrigger?.removeEventListener('scrollEnd', startAnimation);\n    //       // ScrollTrigger.getById('header-animation')?.kill();\n    //       ScrollTrigger.getById('header-transparency')?.kill();\n    //     });\n    //     if (headerRef.current) {\n    //       startAnimation();\n    //       customEventBus.on('header:quitanimation', quitAnimation);\n    //       customEventBus.on('header:updatescroll', startAnimation);\n    //     }\n    //     return () => {\n    //       quitAnimation();\n    //     };\n    //   },\n    //   { scope: headerRef }\n    // );\n    return (React.createElement(Provider, { store: store },\n        React.createElement(\"div\", { ref: headerRef, className: \"header-transition\" },\n            React.createElement(MenuWrapper, Object.assign({}, props)))));\n};\nexport default MenuLoader;\n","import classNames from 'classnames';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from 'react-modal';\nconst appElement = document.getElementById('maincontent');\nModal.setAppElement(appElement ? appElement : document.getElementsByTagName('body')[0]);\nconst ModalDrawer = (props) => {\n    const { t } = useTranslation();\n    const closeButton = () => {\n        return (React.createElement(\"button\", { type: \"button\", \"aria-label\": t('button.close'), className: classNames('modal__close', props.closeInvertedSm && 'modal__close--inverted-sm'), onClick: (e) => {\n                e.stopPropagation();\n                (props === null || props === void 0 ? void 0 : props.onRequestClose) && props.onRequestClose(e);\n            } }));\n    };\n    return (React.createElement(Modal, Object.assign({ \"aria-labelledby\": props.contentLabel ? 'dialog1_label' : '', closeTimeoutMS: 1000 }, props, { overlayClassName: classNames('overlay-modal', 'overlay-modal--drawer', props.overlayClassName), className: classNames('modal', 'modal--drawer', props.className) }),\n        props.a11yBar,\n        React.createElement(\"div\", { className: \"modal__closearea\", onClick: (e) => {\n                e.stopPropagation();\n                (props === null || props === void 0 ? void 0 : props.onRequestClose) && props.onRequestClose(e);\n            }, \"aria-hidden\": \"true\" }),\n        React.createElement(\"div\", { className: \"modal__wrapper\" },\n            React.createElement(\"div\", { className: \"modal__container\" },\n                React.createElement(\"div\", { className: classNames('modal__content', 'container') },\n                    !props.buttonInHeader && closeButton(),\n                    !props.hideHeader && (React.createElement(\"div\", { className: \"modal__header\" },\n                        props.buttonInHeader && closeButton(),\n                        props.contentLabel && !props.hideContentLabel && (React.createElement(\"h2\", { id: \"dialog1_label\", className: classNames('dialog__title', props.visuallyhidden && 'visually-hidden') }, props.contentLabel)),\n                        props.subtitle && React.createElement(\"p\", { className: \"dialog__description\" }, props.subtitle))),\n                    props.hasDivisor && React.createElement(\"hr\", { className: \"modal__divisor\" }),\n                    React.createElement(\"div\", { className: \"modal__body\" }, props.children))))));\n};\nexport default ModalDrawer;\n","import { throttle } from 'lodash';\nimport { useLayoutEffect, useEffect, useRef, useState } from 'react';\nconst REFLOW_CAP = 400;\nconst getInitialBreakpointValue = () => {\n    // get initial breakpoint is called before the page is fully loaded and innerWith may be 0. windows.mqObj may not be set\n    var _a;\n    const mediaQueries = window.mqObj;\n    const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n    if (documentWidth == 0 || !mediaQueries) {\n        return;\n    }\n    const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n    const initalBr = filtered.length ? mediaQueries[filtered[filtered.length - 1]] : mediaQueries['xs'];\n    // console.info('[getInitialBreakpointValue]: ', documentWidth, initalBr);\n    return initalBr;\n};\nconst getReflowValue = () => {\n    var _a;\n    const documentHeight = window.innerHeight || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height);\n    if (documentHeight == 0) {\n        return;\n    }\n    return documentHeight < REFLOW_CAP ? 399 : REFLOW_CAP;\n};\nconst mediaQueries = Object.assign({ '<xs': 0 }, window.mqObj);\nconst useMediaQueries = () => {\n    const [breakpoint, setBreakpoint] = useState(getInitialBreakpointValue());\n    const [breakpointHeight, setBreakpointHeight] = useState(getReflowValue());\n    const [isTouch, setIsTouch] = useState(false);\n    // const [isMotionReduced, setIsMotionReduced] = useState<boolean>(false);\n    const firstRender = useRef(true);\n    function detectTouchscreen() {\n        if (window.PointerEvent && 'maxTouchPoints' in navigator) {\n            // if Pointer Events are supported, just check maxTouchPoints\n            if (navigator.maxTouchPoints > 0) {\n                setIsTouch(true);\n            }\n        }\n        else {\n            // no Pointer Events...\n            if (window.matchMedia && window.matchMedia('(any-pointer:coarse)').matches) {\n                // check for any-pointer:coarse which mostly means touchscreen\n                setIsTouch(true);\n            }\n            else if (window.TouchEvent || 'ontouchstart' in window) {\n                // last resort - check for exposed touch events API / event handler\n                setIsTouch(true);\n            }\n        }\n    }\n    const getCurrentBreakpoint = () => {\n        var _a;\n        const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n        if (documentWidth == 0) {\n            return;\n        }\n        const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n        return mediaQueries[filtered[filtered.length - 1]];\n    };\n    useEffect(() => {\n        if (firstRender.current) {\n            // setBreakpoint(window.innerWidth);\n            firstRender.current = false;\n            detectTouchscreen();\n        }\n    }, []);\n    useLayoutEffect(() => {\n        const handleResize = throttle(() => {\n            const currentBr = getCurrentBreakpoint();\n            if (currentBr && currentBr !== breakpoint) {\n                setBreakpoint(currentBr);\n            }\n            const currentHBr = getReflowValue();\n            if (currentHBr && currentHBr !== breakpointHeight) {\n                setBreakpointHeight(currentHBr);\n            }\n        }, 200);\n        window.addEventListener('resize', handleResize);\n        return () => window.removeEventListener('resize', handleResize);\n    }, [breakpoint, breakpointHeight]);\n    return {\n        //@ts-ignore disable-next-line\n        isTightMobile: breakpoint <= window.mqObj.xs,\n        //@ts-ignore disable-next-line\n        isMobile: breakpoint < window.mqObj.lg,\n        //@ts-ignore disable-next-line\n        isTablet: breakpoint >= window.mqObj.sm && breakpoint < window.mqObj.lg,\n        //@ts-ignore disable-next-line\n        isSmallDesktop: breakpoint >= window.mqObj.md,\n        //@ts-ignore disable-next-line\n        isDesktop: breakpoint >= window.mqObj.lg,\n        //@ts-ignore disable-next-line\n        isWideDesktop: breakpoint >= window.mqObj.xxl,\n        isTouch: isTouch,\n        isReflow: breakpointHeight < REFLOW_CAP,\n    };\n};\nexport default useMediaQueries;\n","import classNames from 'classnames';\nimport React from 'react';\nconst Button = (props) => {\n    const handleClick = (e) => {\n        if (props.usesDefault != undefined && !props.usesDefault && props.onClick) {\n            e.preventDefault();\n        }\n        props.onClick && props.onClick.call(this, e);\n    };\n    const handleKeyDown = (e) => {\n        if (props.usesDefault != undefined && !props.usesDefault && props.onKeyDown) {\n            e.preventDefault();\n        }\n        props.onKeyDown && props.onKeyDown.call(this, e);\n    };\n    return (React.createElement(\"button\", { ref: props.reference, onClick: handleClick, onFocus: props === null || props === void 0 ? void 0 : props.onFocus, onKeyDown: handleKeyDown, disabled: props.disabled, className: classNames('button', props.cls, props.className, { loading: props.isLoading }, { full: props.fullWidth }, { inverted: props.inverted }), type: props.type, \"aria-label\": props.ariaLabel, \"aria-expanded\": props.ariaExpanded, \"aria-haspopup\": props.ariaHaspopup, \"aria-controls\": props.ariaControls, \"aria-hidden\": props.ariaHidden, \"aria-pressed\": props.ariaPressed, tabIndex: props.customTabIndex ? props.customTabIndex : undefined, id: props.id, \"data-pressed\": props.pressed }, props.customChildren ? props.children : React.createElement(\"span\", null, props.children)));\n};\nButton.defaultProps = {\n    cls: ['button--primary'],\n    className: '',\n};\nexport default Button;\n","import React from 'react';\nconst Icon = (props) => {\n    const icon = `${props.family}-${props.name}${props.inverted ? '-white' : ''}`;\n    return React.createElement(\"span\", { \"aria-label\": props.ariaLabel, \"aria-hidden\": true, className: `icon icon--${icon} ${props.autoSize ? 'auto-size' : ''}` });\n};\nIcon.defaultProps = {\n    family: '10',\n    inverted: false,\n    ariaHidden: false,\n};\nexport default Icon;\n","import Lazyimg from '@components/utils/Lazyimg';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport React, { useMemo } from 'react';\nconst Image = (props) => {\n    const { isMobile } = useMediaQueries();\n    const args = useMemo(() => {\n        return {\n            src: isMobile && props.srcMobile ? props.srcMobile : props.src,\n            alt: props.alt || '',\n            className: props.className,\n        };\n    }, [props, isMobile]);\n    return props.avoidLazy ? React.createElement(\"img\", Object.assign({ alt: args.alt }, args, { \"aria-hidden\": props.ariaHidden })) : React.createElement(Lazyimg, Object.assign({}, args, { ariaHidden: props.ariaHidden }));\n};\nexport default Image;\n"],"names":["props","errors","length","every","err","className","role","map","e","i","key","toString","src","srcset","draggable","alt","width","height","ariaHidden","dataSizes","getElementFromHtmlString","htmlString","selector","_a","textVal","div","document","createElement","innerHTML","querySelector","calculateDateforJP","date","splitted","split","year","pop","days","shift","window","country","splice","join","validateEmail","email","test","capitalizeFirstLetter","string","charAt","toUpperCase","slice","getZeroPadNumber","_number","digits","padStart","getRandomUUID","prefix","_b","uuid","crypto","randomUUID","Math","random","addURLParameter","url","param","paramVal","indexOf","addURLParameters","baseUrl","queryParams","newUrl","value","Object","entries","siteUrl","urlName","params","siteUrls","mediaQueries","assign","mqObj","currentBreakpoint","setCurrentBreakpoint","useState","documentWidth","innerWidth","visualViewport","filtered","keys","filter","getInitialBreakpointValue","handleResize","currentBr","getCurrentBreakpoint","useEffect","addEventListener","removeEventListener","initialValue","isboolean","setQueryStringValue","values","location","search","newvalues","qsValue","newurl","protocol","host","pathname","history","pushState","path","setQueryStringWithoutPageReload","onSetValue","useCallback","newValue","newvaltyped","undefined","setValue","getQueryStringValue","t","loggedin","href","aspectRatioMap","_c","_d","_e","_f","_g","_h","_j","data","link","target","blank","custom","image","srcMobile","ImageMobile","imageMobile","imgAlt","imgRatio","title","ModalDrawer","ModalDialog","isMobile","open","setOpen","openRegister","setOpenRegister","forceReload","setForceReload","ModalComponent","drawer","modalProps","a11yBar","hideContentLabel","contentLabel","fullHeight","fullWidth","globalstaticurl","incontext","subtitle","modalStatus","updateStatus","linkreload","reload","hideElements","slots","sociallogintext","emailbottomtext","passwordheading","inWishlist","dangerouslySetInnerHTML","__html","cls","type","ariaHaspopup","onClick","Suspense","fallback","isOpen","onRequestClose","visuallyhidden","defaultRegister","closeModal","onBack","from","updateLoggeedStatus","reloadPageRegisteredInStore","componentContext","rememberme","inAccountMenu","useTranslation","Button","Icon","family","name","ref","domComponent","useRef","useLayoutEffect","header","inDialogLogin","style","display","classNames","reloadPage","reloadComponent","BagInfoBox","RegistrationBenefits","loginStep","setLoginStep","loginEmail","setLoginEmail","loginMethods","setLoginMethods","useMediaQueries","isHidden","elementName","renderSlot","slotname","step","transition","duration","ease","initial","opacity","animate","LoginEmailForm","useHeading","hideHeading","analyticsKey","LoginOrRegisterSocial","inline","reloadUrl","text","inModal","wishlistUrl","LoginPasswordForm","heading","singleColumn","emailOnly","OtherLoginMethods","LoginSocial","socialUsed","ID","secondary","RegisterForm","hideHeader","updateLoggedin","RegisteredInStore","RegisteredInStoreSendEmail","fromMinicart","minicartQuantitySelector","state","minicart","numItems","suggestions","components","promoCards","regions","items","suggestion","card","ContentCard","searchData","inputSearch","setInputSearch","useQueryString","inputRef","inputFirstEdit","searchFormRef","updateInputSearch","current","analytics","handleSubmit","event","preventDefault","replace","origin","searchresults","handleClose","onSubmit","htmlFor","id","autoComplete","onChange","currentTarget","focus","hidden","MiniBagWrapper","MenuDesktop","MenuMobile","SESSIONSTORAGE_KEY","tickerSlides","setTickerSlides","useBreakpoint","setData","isCartOpen","setIsCartOpen","isSearchOpen","setIsSearchOpen","whatIntent","setWhatIntent","dataHeader","setDataHeader","color","transparent","setSuggestions","setPromoCards","contacts","setContacts","localLoading","setLocalLoading","siteRegion","setSiteRegion","loading","setLoading","error","setError","setTransparent","setColor","loginOpen","setLoginOpen","profileName","setProfileName","minSearchChars","customerName","handleSearchOpening","isKeyboardMode","api","then","sections","find","s","sessionStorage","getItem","tickerRegion","tickerWrapper","type_id","slideData","slide","extractTickerSlides","catch","res","page","promo_cards","cCode","toLowerCase","chatConfig","region","hide","onKeyDown","justAdded","hovering","lastAdded","definitiveTotal","useMemo","totalItems","customState","setTimeout","searchInput","getElementById","isSSR","isSsr","setIsLoginOpen","clickFromStoreUrl","carturl","forgotpasswordform","LoginModal","status","minChars","unshoppable","gsap","ScrollTrigger","markers","cookie","isPdp","scrollOffset","lastScroll","isReflow","setHeight","hero","setHero","animable","setAnimable","headerAnimation","toggleAnimation","prev","hardSet","root","documentElement","observer","ResizeObserver","entry","h","borderBoxSize","blockSize","contentRect","setProperty","observe","disconnect","main","getElementsByTagName","debounce","scrollerInPage","console","log","el","vars","trigger","forEach","refresh","_hero","offset","parentElement","y","scroll","_headerOffset","handleScroll","scrollY","scrollDifference","min","max","diff","scrollTo","top","indent","start","end","onEnter","onEnterBack","kill","store","headerRef","appElement","closeButton","closeInvertedSm","stopPropagation","closeTimeoutMS","overlayClassName","buttonInHeader","hasDivisor","children","getReflowValue","documentHeight","innerHeight","breakpoint","setBreakpoint","breakpointHeight","setBreakpointHeight","isTouch","setIsTouch","firstRender","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","throttle","currentHBr","isTightMobile","xs","lg","isTablet","sm","isSmallDesktop","md","isDesktop","isWideDesktop","xxl","reference","usesDefault","call","onFocus","disabled","isLoading","full","inverted","ariaLabel","ariaExpanded","ariaControls","ariaPressed","tabIndex","customTabIndex","pressed","customChildren","defaultProps","icon","autoSize","args","avoidLazy"],"sourceRoot":""}