{"version":3,"file":"js/component-thronIntegrationComponent.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/scripts/base/baseComponent.ts","webpack:///./assets/common/src/scripts/components/thronIntegrationComponent.ts"],"sourcesContent":["import Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport CommonInterface from './commonInterface';\nexport default class BaseComponent extends CommonInterface {\n    /**\n     *\n     * constructor\n     *\n     * @param {Element} element\n     */\n    constructor(element) {\n        super();\n        this._componentElement = element;\n        this._componentElement.setAttribute('data-component-init', 'true');\n        this._checkMessages();\n    }\n    /**\n     * @returns {HTMLElement}\n     */\n    get $el() {\n        return this._componentElement;\n    }\n    get $options() {\n        const compOptions = {};\n        const options = Object.assign({}, this.$el.dataset);\n        const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n        optionsEntires.forEach((entry) => {\n            const cleanEntry = BaseComponent.cleanOptionKey(entry);\n            let optionValue;\n            if (options[entry].includes('{') && options[entry].includes('}')) {\n                optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n            }\n            else {\n                optionValue = BaseComponent.convertType(options[entry]);\n            }\n            compOptions[cleanEntry] = optionValue;\n        });\n        return deepFreeze(compOptions);\n    }\n    get COMPONENT_NAME() {\n        return this.__proto__.constructor.name;\n    }\n    static convertType(option) {\n        let optionReturn;\n        switch (option) {\n            case 'false':\n                optionReturn = false;\n                break;\n            case 'true':\n                optionReturn = true;\n                break;\n            case 'null':\n                optionReturn = null;\n                break;\n            default:\n                optionReturn = option;\n                break;\n        }\n        return optionReturn;\n    }\n    static cleanOptionKey(key) {\n        const str = key.replace('option', '');\n        return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n    }\n    /**\n     *\n     * $on\n     *\n     * @param {String} events\n     * @param {Function} cb\n     * @param {Element} [element = this.$el]\n     * @param {Array|String|Element} [elements = null]\n     */\n    $on(events, cb, element = this.$el, elements = null) {\n        if (!element || !events || !cb)\n            return;\n        if (!elements) {\n            Bean.on(element, events, (e) => {\n                if (e)\n                    e.stopPropagation();\n                cb(e);\n            });\n        }\n        else {\n            Bean.on(element, events, elements, (e) => {\n                if (e)\n                    e.stopPropagation();\n                cb(e);\n            });\n        }\n    }\n    /**\n     *\n     * $one\n     *\n     * @param {String} events\n     * @param {Function} cb\n     * @param {Element} [element = this.$el]\n     */\n    $one(events, cb, element = this.$el) {\n        Bean.one(element, events, cb);\n    }\n    /**\n     *\n     * $off\n     *\n     * @param {String} events\n     * @param {Element} [element = this.$el]\n     */\n    $off(events, element = this.$el) {\n        Bean.off(element, events);\n    }\n    /**\n     *\n     * $fire\n     *\n     * @param {String} events\n     * @param {Element} [element = this.$el]\n     */\n    $fire(events, element = this.$el) {\n        Bean.fire(element, events);\n    }\n}\n","import BaseComponent from '../base/baseComponent';\nconst THRON_DNAME = {\n    ST: 'stoneisland-cdn.thron.com',\n    MO: 'moncler-cdn.thron.com',\n};\nconst BRANDCONFIGS = {\n    MO: {\n        clientId: 'moncler',\n        sessId: 'ymo4nq',\n    },\n    ST: {\n        sessId: 'ujzayc',\n        clientId: 'stoneisland',\n    },\n};\nexport default class ThronIntegrationComponent extends BaseComponent {\n    constructor(element, options) {\n        super(element);\n        this.defaultOptions = {\n            noSkin: true,\n            mouseWheelZoom: false,\n            autoplay: true,\n            loop: true,\n            muted: true,\n            disableUserProfiling: true,\n            ignoreUserBehavior: true,\n            pauseOtherPlayers: false,\n        };\n        this.isFirstPlay = true;\n        if (options) {\n            options.onPauseCallback && (this.onPauseCallback = options.onPauseCallback);\n            options.onPlayCallback && (this.onPlayCallback = options.onPlayCallback);\n            options.onCompleteCallback && (this.onCompleteCallback = options.onCompleteCallback);\n            options.onInitCallback && (this.onInitCallback = options.onInitCallback);\n            options.onTimeUpdate && (this.onTimeUpdate = options.onTimeUpdate);\n        }\n        //@ts-ignore\n        window.thronInitTracker = [];\n        const scriptSrc = `https://${THRON_DNAME[window.brandId || 'MO']}/shared/ce/bootstrap/1/scripts/embeds-min.js`;\n        const existingScript = document.querySelector(`script[src=\"${scriptSrc}\"]`);\n        if (!existingScript) {\n            const script = document.createElement('script');\n            script.src = scriptSrc;\n            document.head.appendChild(script);\n        }\n        this.initPlayerWhenAvailable(element);\n    }\n    initPlayerWhenAvailable(element) {\n        const interval = setInterval(() => {\n            //@ts-ignore\n            if (window.THRONContentExperience) {\n                clearInterval(interval);\n                this.initPlayer(element);\n            }\n        }, 250);\n    }\n    match(max = null, min = null) {\n        if (!max && !min) {\n            return false;\n        }\n        let maxString = '';\n        let minString = '';\n        if (max) {\n            //@ts-ignore\n            maxString = `(max-width: ${parseFloat(window.mqObj[max]) - 1}px)${min ? ' and ' : ''}`;\n        }\n        if (min) {\n            //@ts-ignore\n            minString = `(min-width: ${window.mqObj[min]}px)`;\n        }\n        return window.matchMedia(`${maxString}${minString}`).matches;\n    }\n    initPlayer(playerEl) {\n        let actualDisplayed = '';\n        if (playerEl.dataset.optionMobileId !== null && playerEl.dataset.optionMobileId !== undefined) {\n            this.sizeCheck(actualDisplayed, null, playerEl);\n        }\n        else {\n            let id = playerEl.dataset.optionId;\n            actualDisplayed = 'desktop';\n            this.bindPlayer(id, actualDisplayed, null, playerEl);\n        }\n    }\n    sizeCheck(actualDisplayed, player, playerEl) {\n        let id;\n        if (this.match(null, 'md') || window.matchMedia('(orientation: landscape)').matches) {\n            id = playerEl.dataset.optionId;\n            actualDisplayed = 'desktop';\n        }\n        else {\n            actualDisplayed = 'mobile';\n            if (playerEl.dataset.optionMobileId !== 'null') {\n                id = playerEl.dataset.optionMobileId;\n            }\n            else {\n                id = playerEl.dataset.optionId;\n            }\n        }\n        this.bindPlayer(id, actualDisplayed, player, playerEl);\n    }\n    pauseVideo(pauseVideoElement, playerInstance) {\n        var _a;\n        (_a = this.pauseVideoElement) === null || _a === void 0 ? void 0 : _a.addEventListener('click', (e) => {\n            e.preventDefault();\n            if (pauseVideoElement.getAttribute('aria-pressed') === 'true') {\n                this.pauseVideoElement.setAttribute('aria-pressed', 'false');\n                playerInstance.play();\n            }\n            else {\n                this.pauseVideoElement.setAttribute('aria-pressed', 'true');\n                playerInstance.pause();\n            }\n        });\n    }\n    bindPlayer(id, actualDisplayed, player, playerEl) {\n        let randomNumber = Math.floor(Math.random() * 10000000000000000);\n        playerEl.id = 'thron_' + id + '_' + randomNumber;\n        if (playerEl.dataset.optionBackground) {\n            playerEl.classList.add('bg-mode');\n            playerEl.parentElement.style.position = 'relative';\n        }\n        else {\n            playerEl.style.height = 'inherit';\n        }\n        //BRAND OVERRIDE CONFIGS\n        let brandOptions = BRANDCONFIGS[window.brandId || 'MO'];\n        let options = Object.assign(Object.assign(Object.assign(Object.assign({}, this.defaultOptions), { xcontentId: id }), brandOptions), this.$options);\n        if (player) {\n            player.destroy();\n        }\n        let dateStart = new Date();\n        let hours = dateStart.getHours();\n        let minutes = dateStart.getMinutes();\n        let seconds = dateStart.getSeconds();\n        let milliseconds = dateStart.getMilliseconds();\n        let completeTimeStart = hours + 'h :' + minutes + 'm :' + seconds + 's :' + milliseconds + 'ms';\n        // video.min.js would sometimes fire a \"console.warning\" that doesn't exist\n        //@ts-ignore\n        window.console.warning = window.console.warning || window.console.warn;\n        //@ts-ignore\n        player = window.THRONContentExperience('thron_' + id + '_' + randomNumber, options);\n        this.playerInstance = player;\n        player.on('pause', (playerInstance) => {\n            var _a;\n            (_a = this.pauseVideoElement) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-pressed', 'true');\n            this.onPauseCallback && this.onPauseCallback();\n        });\n        this.onPlayCallback &&\n            player.on('play', (playerInstance) => {\n                playerEl.classList.add('video-started');\n                this.onPlayCallback(this.isFirstPlay);\n                this.isFirstPlay && (this.isFirstPlay = false);\n            });\n        if (this.onCompleteCallback && this.loopTimes) {\n            const onCompleteFunction = (playerInstance) => {\n                this.onCompleteCallback(playerInstance);\n                this.loopTimes -= 1;\n                if (!this.loopTimes) {\n                    player.off('complete', onCompleteFunction);\n                }\n            };\n            player.on('complete', onCompleteFunction);\n        }\n        player.on('canPlay', (playerInstance) => {\n            const hero = playerEl.closest('.hero__hero-column');\n            if (hero) {\n                const wrapper = hero.closest('.hero') || hero.closest('.hero-carousel');\n                wrapper === null || wrapper === void 0 ? void 0 : wrapper.classList.add('video-loaded');\n            }\n            if (this.onInitCallback) {\n                this.onInitCallback(playerInstance);\n            }\n        });\n        if (this.onTimeUpdate) {\n            player.on('timeupdate', (playerInstance) => {\n                this.onTimeUpdate(playerInstance);\n            });\n        }\n        player.on('ready', (playerInstance) => {\n            var _a, _b, _c, _d, _e, _f, _g;\n            // console.info('thronplayer ready: ', playerInstance);\n            let dateEnd = new Date();\n            let hours = dateEnd.getHours();\n            let minutes = dateEnd.getMinutes();\n            let seconds = dateEnd.getSeconds();\n            let milliseconds = dateEnd.getMilliseconds();\n            let completeTimeEnd = hours + 'h :' + minutes + 'm :' + seconds + 's :' + milliseconds + 'ms';\n            let timeDiff = dateEnd.getTime() - dateStart.getTime();\n            //@ts-ignore\n            window.thronInitTracker.push({ element: playerEl, timeBegin: completeTimeStart, timeEnd: completeTimeEnd, executionTime: timeDiff + 'ms' });\n            const productVideo = playerEl.closest('.product-image--animate, .product-gallery');\n            if (productVideo) {\n                this.pauseVideoElement = productVideo.querySelector('[data-pause]');\n                if (productVideo.contains(productVideo.querySelector('.swiper-container'))) {\n                    this.pauseVideoElement = playerEl.closest('.swiper-slide').querySelector('[data-pause]');\n                }\n                this.pauseVideo(this.pauseVideoElement, playerInstance);\n            }\n            const galleryVideo = playerEl.closest('.gallery-wrapper');\n            if (galleryVideo) {\n                this.pauseVideoElement = galleryVideo.querySelector('[data-pause]');\n                if (galleryVideo.contains(galleryVideo.querySelector('.swiper-container'))) {\n                    this.pauseVideoElement = playerEl.closest('.swiper-slide').querySelector('[data-pause]');\n                }\n                this.pauseVideo(this.pauseVideoElement, playerInstance);\n            }\n            const hero = playerEl.closest('.hero__hero-column');\n            if (hero) {\n                this.pauseVideoElement = hero.querySelector('[data-pause]');\n                this.pauseVideo(this.pauseVideoElement, playerInstance);\n                const muteVideoElement = hero.querySelector('[data-mute]');\n                muteVideoElement === null || muteVideoElement === void 0 ? void 0 : muteVideoElement.addEventListener('click', () => {\n                    if (muteVideoElement.getAttribute('aria-pressed') === 'true') {\n                        muteVideoElement.setAttribute('aria-pressed', 'false');\n                        playerInstance.volume(0);\n                    }\n                    else {\n                        muteVideoElement.setAttribute('aria-pressed', 'true');\n                        playerInstance.volume(1);\n                        console.log('volume attivato');\n                    }\n                });\n            }\n            const heroCarousel = playerEl.closest('.hero-carousel__main-wrapper');\n            if (heroCarousel) {\n                let slideIndex = (_a = playerEl.closest('.swiper-slide')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-index');\n                if (slideIndex) {\n                    // pause button\n                    this.pauseVideoElement = (_c = (_b = heroCarousel === null || heroCarousel === void 0 ? void 0 : heroCarousel.querySelector('.hero-carousel__slider-content')) === null || _b === void 0 ? void 0 : _b.querySelector('.swiper-slide[data-index=\"' + slideIndex + '\"]')) === null || _c === void 0 ? void 0 : _c.querySelector('.video-pause');\n                    (_d = this.pauseVideoElement) === null || _d === void 0 ? void 0 : _d.addEventListener('click', (e) => {\n                        if (this.pauseVideoElement.getAttribute('aria-pressed') === 'true') {\n                            this.pauseVideoElement.setAttribute('aria-pressed', 'false');\n                            playerInstance.play();\n                        }\n                        else {\n                            this.pauseVideoElement.setAttribute('aria-pressed', 'true');\n                            playerInstance.pause();\n                        }\n                    });\n                    // mute button [OE-16480]\n                    const muteVideoElement = (_f = (_e = heroCarousel === null || heroCarousel === void 0 ? void 0 : heroCarousel.querySelector('.hero-carousel__slider-content')) === null || _e === void 0 ? void 0 : _e.querySelector('.swiper-slide[data-index=\"' + slideIndex + '\"]')) === null || _f === void 0 ? void 0 : _f.querySelector('.btn--volume');\n                    muteVideoElement === null || muteVideoElement === void 0 ? void 0 : muteVideoElement.addEventListener('click', (e) => {\n                        if (muteVideoElement.getAttribute('aria-pressed') === 'true') {\n                            muteVideoElement.setAttribute('aria-pressed', 'false');\n                            playerInstance.volume(0);\n                        }\n                        else {\n                            muteVideoElement.setAttribute('aria-pressed', 'true');\n                            playerInstance.volume(1);\n                        }\n                    });\n                }\n            }\n            const threeColumnMultimedia = playerEl.closest('.three-column-multimedia');\n            if (threeColumnMultimedia) {\n                this.pauseVideoElement = threeColumnMultimedia.querySelector('[data-pause]');\n                if (this.pauseVideoElement) {\n                    this.pauseVideoElement.dataset.pause = `${parseInt(this.pauseVideoElement.dataset.pause) + 1}`;\n                    this.pauseVideoElement.dataset.totalVideos = `${parseInt(this.pauseVideoElement.dataset.totalVideos) + 1}`;\n                    (_g = this.pauseVideoElement) === null || _g === void 0 ? void 0 : _g.addEventListener('click', (e) => {\n                        e.preventDefault();\n                        if (this.pauseVideoElement.getAttribute('aria-pressed') === 'true') {\n                            this.pauseVideoElement.dataset.pause = `${parseInt(this.pauseVideoElement.dataset.pause) + 1}`;\n                            playerInstance.play();\n                            if (this.pauseVideoElement.dataset.pause === `${this.pauseVideoElement.dataset.totalVideos}`) {\n                                this.pauseVideoElement.setAttribute('aria-pressed', 'false');\n                            }\n                        }\n                        else {\n                            this.pauseVideoElement.dataset.pause = `${parseInt(this.pauseVideoElement.dataset.pause) - 1}`;\n                            playerInstance.pause();\n                            if (this.pauseVideoElement.dataset.pause === '0') {\n                                this.pauseVideoElement.setAttribute('aria-pressed', 'true');\n                            }\n                        }\n                    });\n                }\n                const muteVideoElement = threeColumnMultimedia.querySelector('[data-mute]');\n                if (muteVideoElement) {\n                    muteVideoElement.dataset.mute = `${parseInt(muteVideoElement.dataset.mute) + 1}`;\n                    muteVideoElement.dataset.totalVideos = `${parseInt(muteVideoElement.dataset.totalVideos) + 1}`;\n                    muteVideoElement.addEventListener('click', () => {\n                        playerInstance.volume(0);\n                        if (muteVideoElement.getAttribute('aria-pressed') === 'true') {\n                            muteVideoElement.dataset.mute = `${parseInt(muteVideoElement.dataset.mute) + 1}`;\n                            if (muteVideoElement.dataset.mute === `${muteVideoElement.dataset.totalVideos}`) {\n                                muteVideoElement.setAttribute('aria-pressed', 'false');\n                            }\n                        }\n                        else {\n                            playerInstance.volume(1);\n                            muteVideoElement.dataset.mute = `${parseInt(muteVideoElement.dataset.mute) - 1}`;\n                            if (muteVideoElement.dataset.mute === '0') {\n                                muteVideoElement.setAttribute('aria-pressed', 'true');\n                            }\n                        }\n                    });\n                }\n            }\n            const technicalVideoWrapper = playerEl.closest('.technical-video-wrapper');\n            if (technicalVideoWrapper) {\n                const playVideoElement = technicalVideoWrapper.querySelector('[data-play]');\n                const muteVideoElement = technicalVideoWrapper.querySelector('[data-mute]');\n                // set initial state of the buttons\n                if (options.autoplay) {\n                    technicalVideoWrapper.classList.add('video-played');\n                    technicalVideoWrapper.classList.add('show-controls');\n                }\n                if (!options.muted) {\n                    muteVideoElement.setAttribute('aria-pressed', 'true');\n                }\n                let timeoutInMiliseconds = 3000;\n                let timeoutId = 0;\n                technicalVideoWrapper === null || technicalVideoWrapper === void 0 ? void 0 : technicalVideoWrapper.addEventListener('click', (e) => {\n                    let target = e.target;\n                    if (target.classList.contains('btn--volume'))\n                        return;\n                    // metto in pausa\n                    if (technicalVideoWrapper.classList.contains('video-played')) {\n                        playVideoElement.setAttribute('aria-pressed', 'true');\n                        technicalVideoWrapper.classList.remove('video-played');\n                        playerInstance.pause();\n                    }\n                    else {\n                        playVideoElement.setAttribute('aria-pressed', 'false');\n                        technicalVideoWrapper.classList.add('video-played');\n                        playerInstance.play();\n                    }\n                });\n                muteVideoElement === null || muteVideoElement === void 0 ? void 0 : muteVideoElement.addEventListener('click', () => {\n                    if (muteVideoElement.getAttribute('aria-pressed') === 'true') {\n                        muteVideoElement.setAttribute('aria-pressed', 'false');\n                        playerInstance.volume(0);\n                    }\n                    else {\n                        muteVideoElement.setAttribute('aria-pressed', 'true');\n                        playerInstance.volume(1);\n                    }\n                });\n                technicalVideoWrapper.addEventListener('mousemove', (e) => {\n                    window.clearTimeout(timeoutId);\n                    if (technicalVideoWrapper.classList.contains('video-played')) {\n                        technicalVideoWrapper.classList.add('show-controls');\n                        timeoutId = window.setTimeout(() => {\n                            technicalVideoWrapper.classList.remove('show-controls');\n                        }, timeoutInMiliseconds);\n                    }\n                });\n            }\n            const productVideoGeneric = playerEl.closest('.wrapper-product-video');\n            if (productVideoGeneric) {\n                this.pauseVideoElement = productVideoGeneric.querySelector('[data-pause]');\n                this.pauseVideo(this.pauseVideoElement, playerInstance);\n            }\n            const videoContainer = playerEl.closest('.video-container');\n            if (videoContainer) {\n                if (!options.muted) {\n                    // penso non sia corretto fare partire il video con l'audio\n                    playerInstance.volume(1);\n                }\n                this.pauseVideoElement = videoContainer.querySelector('[data-pause]');\n                this.pauseVideo(this.pauseVideoElement, playerInstance);\n                const muteVideoElement = videoContainer.querySelector('[data-mute]');\n                muteVideoElement === null || muteVideoElement === void 0 ? void 0 : muteVideoElement.addEventListener('click', () => {\n                    if (muteVideoElement.getAttribute('aria-pressed') === 'true') {\n                        muteVideoElement.setAttribute('aria-pressed', 'false');\n                        playerInstance.volume(0);\n                    }\n                    else {\n                        muteVideoElement.setAttribute('aria-pressed', 'true');\n                        playerInstance.volume(1);\n                    }\n                });\n            }\n            const curatorVideoContainer = playerEl.closest('.curator-video');\n            if (curatorVideoContainer) {\n                let videoEl = playerEl.querySelector('video');\n                if (videoEl) {\n                    // only if page is loaded\n                    videoEl.addEventListener('canplay', () => {\n                        videoEl.addEventListener('volumechange', () => {\n                            console.log('volumechange', videoEl.volume);\n                            if (videoEl.volume === 1) {\n                                document.querySelectorAll('video').forEach((el) => {\n                                    if (el !== videoEl) {\n                                        el.volume = 0;\n                                    }\n                                });\n                            }\n                        });\n                    });\n                }\n            }\n        });\n    }\n    changeContent(id) {\n        if (!this.playerInstance) {\n            return;\n        }\n        const brandOptions = BRANDCONFIGS[window.brandId || 'MO'];\n        const options = Object.assign(Object.assign(Object.assign(Object.assign({}, this.defaultOptions), { xcontentId: id }), brandOptions), this.$options);\n        this.playerInstance.content(options);\n    }\n}\n"],"names":["BaseComponent","constructor","element","super","this","_componentElement","setAttribute","_checkMessages","$el","$options","compOptions","options","Object","assign","dataset","keys","filter","entry","includes","forEach","cleanEntry","cleanOptionKey","optionValue","JSON","parse","replace","convertType","COMPONENT_NAME","__proto__","name","static","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","$on","events","cb","elements","e","stopPropagation","$one","$off","$fire","THRON_DNAME","ST","MO","BRANDCONFIGS","clientId","sessId","ThronIntegrationComponent","defaultOptions","noSkin","mouseWheelZoom","autoplay","loop","muted","disableUserProfiling","ignoreUserBehavior","pauseOtherPlayers","isFirstPlay","onPauseCallback","onPlayCallback","onCompleteCallback","onInitCallback","onTimeUpdate","window","thronInitTracker","scriptSrc","brandId","document","querySelector","script","createElement","src","head","appendChild","initPlayerWhenAvailable","interval","setInterval","THRONContentExperience","clearInterval","initPlayer","match","max","min","maxString","minString","parseFloat","mqObj","matchMedia","matches","playerEl","actualDisplayed","optionMobileId","undefined","sizeCheck","id","optionId","bindPlayer","player","pauseVideo","pauseVideoElement","playerInstance","_a","addEventListener","preventDefault","getAttribute","play","pause","randomNumber","Math","floor","random","optionBackground","classList","add","parentElement","style","position","height","brandOptions","xcontentId","destroy","dateStart","Date","completeTimeStart","getHours","getMinutes","getSeconds","getMilliseconds","console","warning","warn","on","loopTimes","onCompleteFunction","off","hero","closest","wrapper","_b","_c","_d","_e","_f","_g","dateEnd","completeTimeEnd","timeDiff","getTime","push","timeBegin","timeEnd","executionTime","productVideo","contains","galleryVideo","muteVideoElement","volume","log","heroCarousel","slideIndex","threeColumnMultimedia","parseInt","totalVideos","mute","technicalVideoWrapper","playVideoElement","timeoutInMiliseconds","timeoutId","target","remove","clearTimeout","setTimeout","productVideoGeneric","videoContainer","videoEl","querySelectorAll","el","changeContent","content"],"sourceRoot":""}