{"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        video: {\n            clientId: 'moncler',\n            sessId: 'ymo4nq',\n        },\n        audio: {\n            clientId: 'moncler',\n            sessId: 'ymo4nq',\n        },\n    },\n    ST: {\n        video: {\n            sessId: 'ujzayc',\n            clientId: 'stoneisland',\n        },\n        audio: {\n            sessId: 'vxnhgf',\n            clientId: 'stoneisland',\n            waveColor: '#999999',\n            waveProgressColor: '#000000',\n            audioResponsive: false,\n        },\n    },\n};\nexport default class ThronIntegrationComponent extends BaseComponent {\n    constructor(element, mediatype, 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.mediatype = mediatype || 'video';\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'][this.mediatype];\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        //@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                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        else if (this.onCompleteCallback) {\n            player.on('complete', this.onCompleteCallback);\n        }\n        if (this.onInitCallback) {\n            player.on('canPlay', (playerInstance) => {\n                if (this.onInitCallback) {\n                    this.onInitCallback(playerInstance);\n                }\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                    }\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            if (this.onContentReady) {\n                this.onContentReady(playerInstance);\n            }\n            // workaround in case autoplay dont work (mobile)\n            // if (playerEl.dataset.optionAutoplay) {\n            //   setTimeout(() => {\n            //     playerInstance.play();\n            //   }, 500);\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","video","clientId","sessId","audio","waveColor","waveProgressColor","audioResponsive","ThronIntegrationComponent","mediatype","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","on","loopTimes","onCompleteFunction","off","_b","_c","_d","_e","_f","_g","dateEnd","completeTimeEnd","timeDiff","getTime","push","timeBegin","timeEnd","executionTime","productVideo","closest","contains","galleryVideo","hero","muteVideoElement","volume","heroCarousel","slideIndex","threeColumnMultimedia","parseInt","totalVideos","mute","technicalVideoWrapper","playVideoElement","timeoutInMiliseconds","timeoutId","target","remove","clearTimeout","setTimeout","productVideoGeneric","videoContainer","onContentReady","changeContent","content"],"sourceRoot":""}