{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/components/vidyardVideo.ts"],"names":["VidyardVideo","Component","el","__publicField","background","_a","modal","__async","_b","_c","_d","_e","_f","_g","VidyardEmbed","isPlaying"],"mappings":"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","file":"scripts/3027.bb6779de2d19b52ec185.js","sourcesContent":["import { Component } from '@verndale/core';\nimport VidyardEmbed from '@vidyard/embed-code';\n\ntype VidyardPlayer = {\n on: (event: string, cb: () => void) => void;\n showLightbox: () => void;\n setVolume: (newVolume: number) => void;\n play: () => void;\n pause: () => void;\n};\n\nclass VidyardVideo extends Component {\n private player: VidyardPlayer | null = null;\n private isPlaying = false;\n private isLoaded = false;\n private lightbox = 'false';\n private uuid = '';\n\n constructor(el: HTMLElement) {\n super(el);\n const { background } = this.el.dataset;\n this.lightbox = this.el.dataset.lightbox || 'false';\n this.uuid = (this.dom.image as HTMLElement).dataset.uuid || '';\n\n if (background === 'true') {\n this.loadPlayer(background);\n }\n if (this.lightbox === 'true') {\n (this.dom.image as HTMLElement).removeAttribute('data-uuid');\n this.buildHTML();\n }\n }\n\n setupDefaults() {\n this.dom = {\n body: document.querySelector('body'),\n button: this.el.querySelector('.vidyard-video__button'),\n image: this.el.querySelector('.vidyard-video__embed'),\n title: this.el.querySelector('.vidyard-video__title')\n };\n }\n\n addListeners() {\n if (this.dom.button) {\n (this.dom.button as HTMLButtonElement).addEventListener(\n 'click',\n this.handleButtonClick.bind(this)\n );\n\n if (this.dom.image) {\n (this.dom.image as HTMLButtonElement).addEventListener(\n 'click',\n this.handleButtonClick.bind(this)\n );\n }\n\n if (this.dom.title) {\n (this.dom.title as HTMLButtonElement).addEventListener(\n 'click',\n this.handleButtonClick.bind(this)\n );\n }\n }\n }\n\n buildHTML() {\n document.querySelectorAll('.vidyard-video__modal').forEach(modal => {\n modal.remove();\n });\n this.dom.videoModal = document.createElement('div');\n this.dom.videoModal.setAttribute('role', 'dialog');\n this.dom.videoModal.setAttribute(\n 'aria-label',\n (this.dom.title as HTMLElement)?.innerText || 'Video Modal'\n );\n this.dom.videoModal.classList.add('vidyard-video__modal');\n (this.dom.body as HTMLBodyElement).appendChild(this.dom.videoModal);\n }\n\n async loadPlayer(background?: string) {\n if (this.lightbox === 'false')\n this.player = await VidyardEmbed.api.renderPlayer(this.dom.image);\n else if (this.lightbox === 'true') {\n this.player = await VidyardEmbed.api.renderPlayer({\n uuid: this.uuid,\n container: this.dom.videoModal,\n autoplay: '1',\n type: 'lightbox'\n });\n this.player?.showLightbox();\n this.player?.on('lightboxClose', () => {\n this.handlePlayPause(false);\n });\n }\n this.isLoaded = true;\n\n if (background === 'true' || this.lightbox === 'true') {\n if (background === 'true') this.player?.setVolume(0);\n this.player?.on('play', () => {\n this.handlePlayPause(true);\n });\n this.player?.on('pause', () => {\n this.handlePlayPause(false);\n });\n } else {\n this.el.dataset.inlineVideoLoaded = 'true';\n }\n this.player?.on('play', () => {\n this.handlePlayPause(true);\n });\n\n this.player?.play();\n }\n\n handleButtonClick() {\n if (!this.isLoaded) {\n this.loadPlayer();\n } else if (this.isPlaying) {\n this.player?.pause();\n } else {\n if (this.lightbox === 'true') this.player?.showLightbox();\n this.player?.play();\n }\n }\n\n handlePlayPause(isPlaying: boolean) {\n this.isPlaying = isPlaying;\n this.el.dataset.isPlaying = `${isPlaying}`;\n }\n}\n\nexport default VidyardVideo;\n"],"sourceRoot":""}