{"version":3,"sources":["webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/video/platforms/youtube.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/video/platforms/vimeo.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/video/platforms/native.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/video/platforms/index.js"],"names":["YoutubeVideo","constructor","options","playerOptions","videoId","host","playerVars","start","videoTime","modestbranding","showinfo","controls","videoControls","rel","origin","window","location","href","loop","videoLoop","autoplay","videoAutoplay","mute","videoMuted","playlist","playsinline","videoPlaysinline","events","onReady","bind","onStateChange","Cookies","cookieIsValid","cookieName","advertising","init","YT","loadAPI","checkAPIReady","tag","document","createElement","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","initPlayer","youtubeIsReady","videoInterval","clearInterval","player","Player","onYouTubeIframeAPIReady","setInterval","Events","$trigger","data","instanceId","event","play","playVideo","pause","pauseVideo","replay","stopVideo","unMute","setVolume","value","VimeoVideo","then","default","bindEvents","id","videoAutopause","autopause","muted","title","portrait","color","dnt","ready","initialPlay","setStartTime","on","off","unload","seconds","setCurrentTime","catch","console","error","NativeVideo","parseSources","sourceData","getClosestVideoSource","sources","_addMediaSources","videoClosedcaptions","_addClosedCaptions","setAttribute","appendChild","addEventListener","currentTime","JSON","parse","videoSources","e","source","forEach","type","url","closedcaptions","cc","kind","label","srclang","lang","removeAttribute","volume","windowWidth","innerWidth","closestSource","map","el","Math","abs","size"],"mappings":"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","file":"js/Video-Platforms.js","sourcesContent":["import Cookies from '@components/cookies'\nimport Events from '@utilities/events'\n\n/**\n *\n * States\n * -1: 'unstarted'\n * 0: 'ended'\n * 1: 'playing'\n * 2: 'paused'\n * 3: 'buffering'\n * 5: 'video cued'\n */\nclass YoutubeVideo {\n constructor(options) {\n this.options = options\n\n this.playerOptions = {\n videoId: this.options.videoId,\n host: 'https://www.youtube-nocookie.com',\n playerVars: {\n start: this.options.videoTime,\n modestbranding: 1,\n showinfo: 0,\n controls: this.options.videoControls || 0,\n rel: 0,\n origin: window.location.href,\n loop: this.options.videoLoop,\n autoplay: this.options.videoAutoplay,\n mute: this.options.videoMuted,\n playlist: this.options.videoLoop ? this.options.videoId : false,\n playsinline: this.options.videoAutoplay || this.options.videoPlaysinline ? 1 : 0,\n },\n events: {\n onReady: this.onReady.bind(this),\n onStateChange: this.onStateChange.bind(this),\n },\n }\n\n if (Cookies.cookieIsValid(Cookies.cookieName.advertising)) {\n this.playerOptions.host = 'https://www.youtube.com'\n }\n\n this.init()\n }\n\n init() {\n // @ts-ignore\n if (!window.YT) {\n YoutubeVideo.loadAPI()\n this.checkAPIReady()\n return\n }\n\n this.checkAPIReady()\n }\n\n static loadAPI() {\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script')\n tag.src = 'https://www.youtube.com/iframe_api'\n const firstScriptTag = document.getElementsByTagName('script')[0]\n // @ts-ignore\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag)\n }\n\n initPlayer() {\n // @ts-ignore\n window.youtubeIsReady = true\n if (this.videoInterval) clearInterval(this.videoInterval)\n // @ts-ignore\n this.player = new window.YT.Player(this.options.player, this.playerOptions)\n }\n\n checkAPIReady() {\n // @ts-ignore\n window.onYouTubeIframeAPIReady = () => this.initPlayer()\n\n this.videoInterval = setInterval(() => {\n // @ts-ignore\n if (window.youtubeIsReady) {\n this.initPlayer()\n if(this.videoInterval) clearInterval(this.videoInterval)\n }\n }, 200)\n }\n\n onReady() {\n Events.$trigger('video::ready', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ready`, {\n data: this.options,\n })\n\n Events.$trigger('video::bind-player-events', { data: this.options })\n }\n\n onStateChange(event) {\n switch (event.data) {\n // finished\n case 0:\n Events.$trigger('video::ended', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ended`, {\n data: this.options,\n })\n break\n\n // playing\n case 1:\n Events.$trigger('video::playing', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::playing`, {\n data: this.options,\n })\n break\n\n // paused\n case 2:\n Events.$trigger('video::paused', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::paused`, {\n data: this.options,\n })\n break\n\n // do nothing\n default:\n break\n }\n }\n\n play() {\n this.player.playVideo()\n }\n\n pause() {\n this.player.pauseVideo()\n }\n\n replay() {\n this.player.stopVideo()\n this.player.playVideo()\n }\n\n mute() {\n this.player.mute()\n }\n\n unMute() {\n this.player.unMute()\n }\n\n setVolume(value) {\n this.player.setVolume(value)\n }\n}\n\nexport default YoutubeVideo\n","import Cookies from '@components/cookies'\nimport Events from '@utilities/events'\n\nclass VimeoVideo {\n constructor(options) {\n this.options = options\n\n import(/* webpackChunkName: \"js/Vimeo-Player\" */ '@vimeo/player').then((Player) => {\n this.initPlayer(Player.default)\n this.bindEvents()\n })\n }\n\n initPlayer(Player) {\n const {\n videoId: id,\n videoAutoplay: autoplay,\n videoAutopause: autopause,\n videoLoop: loop,\n videoPlaysinline: playsinline,\n videoMuted: muted,\n videoControls: controls,\n } = this.options\n\n this.player = new Player(this.options.player, {\n id,\n title: false,\n portrait: false,\n autoplay,\n autopause,\n color: 'ffffff',\n loop,\n dnt: !Cookies.cookieIsValid(Cookies.cookieName.advertising),\n playsinline: autoplay ? true : playsinline,\n muted: autoplay ? true : muted,\n controls,\n })\n }\n\n bindEvents() {\n Events.$trigger('video::bind-player-events', { data: this.options })\n\n this.player.ready().then(() => {\n if (this.options.videoTime && !this.initialPlay) {\n this.setStartTime(this.options.videoTime)\n }\n\n Events.$trigger('video::ready', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ready`, {\n data: this.options,\n })\n })\n\n // Workaround on iOS where the play event would not be triggered on autoplay - https://github.com/vimeo/player.js/issues/315\n if (this.options.videoAutoplay) {\n this.player.on('timeupdate', () => {\n this.player.off('timeupdate')\n Events.$trigger('video::playing', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::playing`, { data: this.options })\n })\n }\n\n this.player.on('play', () => {\n this.player.off('timeupdate') // Remove timeupdate event listener on play.\n Events.$trigger('video::playing', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::playing`, {\n data: this.options,\n })\n })\n\n this.player.on('pause', () => {\n Events.$trigger('video::paused', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::paused`, {\n data: this.options,\n })\n })\n\n this.player.on('ended', () => {\n Events.$trigger('video::ended', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ended`, {\n data: this.options,\n })\n })\n }\n\n play() {\n this.player.play()\n }\n\n pause() {\n this.player.pause()\n }\n\n replay() {\n this.player.unload()\n this.player.play()\n }\n\n mute() {\n this.player.setVolume(0)\n }\n\n unMute() {\n this.player.setVolume(1)\n }\n\n setVolume(value) {\n this.player.setVolume(value)\n }\n\n setStartTime(seconds) {\n this.player\n .setCurrentTime(seconds)\n .then(() => {\n this.initialPlay = true\n })\n .catch(() => {\n this.initialPlay = false\n console.error('Unable to set start time for video', this.options.id)\n })\n }\n}\n\nexport default VimeoVideo\n","/**\n * @shelf-version: 1.0.0\n */\n\nimport Events from '@utilities/events'\n\nclass NativeVideo {\n constructor(options) {\n this.options = options\n\n if (this.parseSources()) {\n this.initPlayer()\n this.bindEvents()\n }\n }\n\n /**\n * Init the player instance\n */\n initPlayer() {\n this.sourceData = getClosestVideoSource(this.sources)\n this.player = document.createElement('video')\n\n this._addMediaSources()\n\n if (this.options.videoClosedcaptions) {\n this._addClosedCaptions()\n }\n\n if (this.options.videoControls) {\n this.player.setAttribute('controls', 'controls')\n }\n\n if (this.options.videoLoop) {\n this.player.setAttribute('loop', 'loop')\n }\n\n if (this.options.videoPlaysinline) {\n // For mobile autoplay\n this.player.setAttribute('playsinline', 'playsinline')\n }\n\n if (this.options.videoAutoplay) {\n this.player.setAttribute('autoplay', 'autoplay')\n\n // For mobile autoplay\n this.player.setAttribute('playsinline', 'playsinline')\n }\n\n if (this.options.videoMuted) {\n this.player.setAttribute('muted', 'muted')\n this.player.muted = true\n }\n\n this.options.player.appendChild(this.player)\n }\n\n /**\n * Bind events\n */\n bindEvents() {\n Events.$trigger('video::bind-player-events', { data: this.options })\n\n this.player.addEventListener('loadedmetadata', () => {\n if (this.options.videoTime) this.player.currentTime = this.options.videoTime\n if (this.options.videoControls) this.player.controls = false\n\n Events.$trigger('video::ready', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ready`, {\n data: this.options,\n })\n })\n\n this.player.addEventListener('playing', () => {\n if (this.options.videoControls) this.player.controls = true\n\n Events.$trigger('video::playing', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::playing`, {\n data: this.options,\n })\n })\n\n this.player.addEventListener('pause', () => {\n if (this.options.videoControls) this.player.controls = false\n\n Events.$trigger('video::paused', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::paused`, {\n data: this.options,\n })\n })\n\n this.player.addEventListener('ended', () => {\n Events.$trigger('video::ended', { data: this.options })\n Events.$trigger(`video[${this.options.instanceId}]::ended`, {\n data: this.options,\n })\n })\n }\n\n parseSources() {\n try {\n this.sources = JSON.parse(this.options.videoSources)\n if (typeof this.sources === 'object') {\n return true\n }\n\n return false\n } catch (e) {\n console.error('Failed to parse sources. Are you sure this is an object?')\n return false\n }\n }\n\n _addMediaSources() {\n this.sourceData.source.forEach(source => {\n this.source = document.createElement('source')\n this.source.type = source.type\n this.source.src = source.url\n this.player.appendChild(this.source)\n })\n }\n\n _addClosedCaptions() {\n try {\n this.closedcaptions = JSON.parse(this.options.videoClosedcaptions)\n\n this.closedcaptions.forEach(cc => {\n this.cc = document.createElement('track')\n this.cc.src = cc.url\n this.cc.kind = 'subtitles'\n this.cc.label = cc.label\n this.cc.srclang = cc.lang\n this.player.appendChild(this.cc)\n })\n } catch (e) {\n console.error('Failed to parse closed captions. Are you sure this is an object?')\n }\n }\n\n /**\n * Bind generic play event\n */\n play() {\n this.player.play()\n }\n\n /**\n * Bind generic pause event\n */\n pause() {\n this.player.pause()\n }\n\n /**\n * Bind generic replay event\n */\n replay() {\n this.player.currentTime = 0\n this.player.play()\n }\n\n /**\n * Bind generic mute event\n */\n mute() {\n this.player.setAttribute('muted', 'muted')\n this.player.muted = true\n }\n\n /**\n * Bind generic unmute event\n */\n unMute() {\n this.player.muted = false\n this.player.removeAttribute('muted')\n }\n\n /**\n * Bind generic setVolume event\n */\n setVolume(value) {\n this.player.volume = value\n }\n}\n\nfunction getClosestVideoSource(sources) {\n const windowWidth = window.innerWidth\n let closestSource = null\n\n try {\n sources.map(el => {\n if (\n closestSource == null ||\n Math.abs(el.size - windowWidth) < Math.abs(closestSource.size - windowWidth)\n ) {\n closestSource = el\n }\n })\n\n return closestSource\n } catch (e) {\n console.error('Failed to find closest source. Are you sure this is an object?')\n return closestSource\n }\n}\n\nexport default NativeVideo\n","import Youtube from './youtube'\nimport Vimeo from './vimeo'\nimport Native from './native'\n\nexport { Youtube, Vimeo, Native }\n"],"sourceRoot":""}