OwlCyberSecurity - MANAGER
Edit File: presto-dynamic-overlays2.js.map
{"file":"presto-dynamic-overlays2.js","mappings":"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","names":[],"sources":["src/components/core/features/presto-dynamic-overlays/component/presto-dynamic-overlays.scss?tag=presto-dynamic-overlays&encapsulation=shadow","src/components/core/features/presto-dynamic-overlays/component/presto-dynamic-overlays.tsx"],"sourcesContent":[".top-left,\n.top-right {\n position: absolute;\n display: block;\n padding: 20px;\n max-width: 45%;\n z-index: 20;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n}\n\n.top-left {\n top: 0;\n left: 0;\n}\n\n.top-right {\n top: 0;\n right: 0;\n align-items: flex-end;\n}\n\npresto-dynamic-overlay-ui {\n overflow: hidden; /* Hide the element content, while height = 0 */\n height: 0;\n opacity: 0;\n transition: height 0ms 400ms, opacity 400ms 0ms;\n}\n\npresto-dynamic-overlay-ui.visible {\n margin-bottom: 10px;\n height: auto;\n opacity: 1;\n transition: height 0ms 0ms, opacity 500ms 0ms;\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter } from '@stencil/core';\nimport { DynamicOverlay, presetAttributes } from '../../../../../interfaces';\nimport { timeToSeconds, parseColor } from '../../../../../util';\n\n@Component({\n tag: 'presto-dynamic-overlays',\n styleUrl: 'presto-dynamic-overlays.scss',\n shadow: true,\n})\nexport class PrestoDynamicOverlays {\n private topLeft: HTMLDivElement;\n private topRight: HTMLDivElement;\n private container: HTMLDivElement;\n private watermarkRef: {\n left: HTMLPrestoDynamicOverlayUiElement;\n right: HTMLPrestoDynamicOverlayUiElement;\n } = {\n left: null,\n right: null,\n };\n\n @Element() el: HTMLPrestoDynamicOverlaysElement;\n\n @Prop() overlays: Array<DynamicOverlay>;\n @Prop() player: any;\n @Prop() preset: presetAttributes;\n @Prop() enabled: boolean;\n\n @State() currentTime: number;\n @State() destroy: boolean = false;\n\n @Event() reloadComponent: EventEmitter<void>;\n\n private refs: any = {};\n\n componentDidLoad() {\n if (!this.player) {\n return;\n }\n this.player.on('timeupdate', e => {\n this.currentTime = e.detail.plyr.currentTime;\n this.checkValidity(); // check overlays validity.\n });\n }\n\n /**\n * Check validity of the overlays.\n * Blow up if any funny business.\n */\n checkValidity() {\n // only if we are playing\n if (!this.player.playing) {\n return;\n }\n\n if (!this?.overlays?.length && !this.preset?.watermark?.enabled) {\n return;\n }\n\n // make sure container and other divs are not removed.\n if (!this.container?.offsetParent || !this.topLeft?.offsetParent || !this.topRight?.offsetParent) {\n this.reloadComponent.emit();\n }\n\n // check for funny business on overlays.\n Object.keys(this.refs || {}).forEach(key => {\n const { overlay, component } = this.refs[key];\n this.checkComponent(component, overlay.text, () => this.reloadComponent.emit());\n });\n\n // check for any funny business on watermark\n if (this.shouldShowWatermark('top-left') && this.watermarkRef.left) {\n this.checkComponent(this.watermarkRef.left, this.preset?.watermark?.text, () => this.reloadComponent.emit());\n }\n if (this.shouldShowWatermark('top-right') && this.watermarkRef.right) {\n this.checkComponent(this.watermarkRef.right, this.preset?.watermark?.text, () => this.reloadComponent.emit());\n }\n }\n\n /**\n * Check if the component is valid.\n * If invalid, run a callback.\n *\n * @param component\n * @param text\n * @returns\n */\n checkComponent(component, text, callback) {\n // hidden, it's invalid.\n if (!component?.offsetParent) {\n return callback();\n }\n\n // slot was removed.\n if (!component.shadowRoot.querySelector('slot')) {\n return callback();\n }\n\n // only if we're playing\n if (!!this.player && this.player.playing) {\n const content = component.shadowRoot.querySelector('slot').assignedNodes()[0];\n\n if (content) {\n // slot content changed.\n if (content.parentElement.innerHTML != text) {\n return callback();\n }\n\n // font-size changes.\n const style = getComputedStyle(content.parentElement.shadowRoot.querySelector('.overlay-text'));\n if (parseInt(style.fontSize, 10) < 10) {\n return callback();\n }\n\n // opacity changes\n const color = parseColor(style.color);\n if (color?.[3] !== '1') {\n return callback();\n }\n }\n }\n }\n\n /**\n * Show the overlay\n * @param overlay\n * @returns\n */\n shouldShowOverlay(overlay) {\n // need a time.\n if (typeof this.currentTime === 'undefined') {\n return;\n }\n\n // bail if current time is less than start time\n if (this.currentTime < timeToSeconds(overlay?.startTime)) {\n return false;\n }\n\n // bail if current time is more than end time\n if (this.currentTime > timeToSeconds(overlay?.endTime)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Render the watermark\n */\n renderOverlay(overlay) {\n return (\n <presto-dynamic-overlay-ui\n class={{\n visible: this.shouldShowOverlay(overlay),\n }}\n ref={el =>\n (this.refs[overlay.id] = {\n overlay,\n component: el as HTMLPrestoDynamicOverlayUiElement,\n })\n }\n key={overlay.id}\n position={overlay.position}\n href={overlay?.link?.url}\n target={overlay?.link?.opensInNewTab ? '_blank' : '_self'}\n innerHTML={this.shouldShowOverlay(overlay) ? overlay.text : ''}\n style={{\n '--presto-dynamic-overlay-color': overlay?.color || '#fff',\n '--presto-dynamic-overlay-background': overlay?.backgroundColor || '#333',\n '--presto-dynamic-overlay-opacity': overlay?.opacity ? (overlay.opacity / 100).toString() : '1',\n }}\n ></presto-dynamic-overlay-ui>\n );\n }\n\n /**\n * Should we show the watermark?\n */\n shouldShowWatermark(position) {\n if (!this.preset?.watermark?.enabled) return false;\n\n const watermark = this.preset?.watermark;\n\n // randomize\n if (watermark.position === 'randomize') {\n const time = Math.floor((this.player.currentTime || 0) / 10);\n\n // even or odd\n if (time % 2 == 0) {\n return position === 'top-left';\n } else {\n return position === 'top-right';\n }\n }\n\n // position is set.\n if (watermark.position === position) {\n return true;\n }\n\n // fallback.\n if (!watermark.position && 'top-right' === position) {\n return true;\n }\n\n return false;\n }\n\n render() {\n // bail if disabled.\n if (!this.enabled) {\n return;\n }\n\n // bail if no overlays or watermark\n if (!this?.overlays?.length && !this.preset?.watermark?.enabled) {\n return;\n }\n\n return (\n <div class=\"overlays\" ref={el => (this.container = el as HTMLDivElement)}>\n <div class=\"top-left\" ref={el => (this.topLeft = el as HTMLDivElement)}>\n {!!this.shouldShowWatermark('top-left') && (\n <presto-dynamic-overlay-ui\n ref={el => (this.watermarkRef.left = el as HTMLPrestoDynamicOverlayUiElement)}\n style={{\n '--presto-dynamic-overlay-color': this.preset.watermark?.color || '#fff',\n '--presto-dynamic-overlay-background': this.preset.watermark?.backgroundColor || '#333',\n '--presto-dynamic-overlay-opacity': this.preset.watermark?.opacity ? (this.preset.watermark.opacity / 100).toString() : '1',\n }}\n class=\"visible\"\n position={'top-left'}\n innerHTML={this.preset.watermark.text}\n ></presto-dynamic-overlay-ui>\n )}\n\n {!!this?.overlays?.length &&\n this.overlays.map(overlay => {\n if (overlay.position !== 'top-left') {\n return '';\n }\n return this.renderOverlay(overlay);\n })}\n </div>\n\n <div class=\"top-right\" ref={el => (this.topRight = el as HTMLDivElement)}>\n {!!this.shouldShowWatermark('top-right') && (\n <presto-dynamic-overlay-ui\n ref={el => (this.watermarkRef.right = el as HTMLPrestoDynamicOverlayUiElement)}\n style={{\n '--presto-dynamic-overlay-color': this.preset.watermark?.color || '#fff',\n '--presto-dynamic-overlay-background': this.preset.watermark?.backgroundColor || '#333',\n '--presto-dynamic-overlay-opacity': this.preset.watermark?.opacity ? (this.preset.watermark.opacity / 100).toString() : '1',\n }}\n class=\"visible\"\n position={'top-right'}\n innerHTML={this.preset.watermark.text}\n ></presto-dynamic-overlay-ui>\n )}\n\n {!!this?.overlays?.length &&\n this.overlays.map(overlay => {\n if (overlay.position !== 'top-right') {\n return '';\n }\n return this.renderOverlay(overlay);\n })}\n </div>\n </div>\n );\n }\n}\n"],"version":3}