/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
dist
/
components
/
components
/
Upload File
HOME
{"file":"presto-dynamic-overlays2.js","mappings":";;;;AAAA,MAAM,wBAAwB,GAAG,wbAAwb;;MCS5c,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAA,WAAA,CAAA;AALlC,IAAA,WAAA,GAAA;;;;;QASU,IAAA,CAAA,YAAY,GAGhB;AACF,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,IAAI;SACZ;AAUQ,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAIzB,QAAA,IAAI,CAAA,IAAA,GAAQ,EAAE;AA+OvB;IA7OC,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB;;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAG;YAC/B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW;AAC5C,YAAA,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC;;AAGJ;;;AAGG;IACH,aAAa,GAAA;;;AAEX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB;;QAGF,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,CAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,CAAA,EAAE;YAC/D;;;AAIF,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,YAAY,CAAA,IAAI,EAAC,MAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,CAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,CAAA,EAAE;AAChG,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;;;AAI7B,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AACzC,YAAA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AACjF,SAAC,CAAC;;AAGF,QAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAClE,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;;AAE9G,QAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACpE,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;;;AAIjH;;;;;;;AAOG;AACH,IAAA,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAA;;QAEtC,IAAI,EAAC,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,MAAA,GAAA,MAAA,GAAA,SAAS,CAAE,YAAY,CAAA,EAAE;YAC5B,OAAO,QAAQ,EAAE;;;QAInB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC/C,OAAO,QAAQ,EAAE;;;AAInB,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACxC,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAE7E,IAAI,OAAO,EAAE;;gBAEX,IAAI,OAAO,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,EAAE;oBAC3C,OAAO,QAAQ,EAAE;;;AAInB,gBAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/F,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;oBACrC,OAAO,QAAQ,EAAE;;;gBAInB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAG,CAAC,CAAC,MAAK,GAAG,EAAE;oBACtB,OAAO,QAAQ,EAAE;;;;;AAMzB;;;;AAIG;AACH,IAAA,iBAAiB,CAAC,OAAO,EAAA;;AAEvB,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YAC3C;;;QAIF,IAAI,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,EAAE;AACxD,YAAA,OAAO,KAAK;;;QAId,IAAI,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,EAAE;AACtD,YAAA,OAAO,KAAK;;AAGd,QAAA,OAAO,IAAI;;AAGb;;AAEG;AACH,IAAA,aAAa,CAAC,OAAO,EAAA;;AACnB,QAAA,QACE,CACE,CAAA,2BAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACzC,aAAA,EACD,GAAG,EAAE,EAAE,KACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;gBACvB,OAAO;AACP,gBAAA,SAAS,EAAE,EAAuC;AACnD,aAAA,CAAC,EAEJ,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,IAAI,EAAE,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,EACxB,MAAM,EAAE,CAAA,CAAA,EAAA,GAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,IAAG,QAAQ,GAAG,OAAO,EACzD,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE,EAC9D,KAAK,EAAE;gBACL,gCAAgC,EAAE,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,MAAM;gBAC1D,qCAAqC,EAAE,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,MAAM;AACzE,gBAAA,kCAAkC,EAAE,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,OAAO,IAAG,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG;aAChG,EAAA,CAC0B;;AAIjC;;AAEG;AACH,IAAA,mBAAmB,CAAC,QAAQ,EAAA;;QAC1B,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,CAAA;AAAE,YAAA,OAAO,KAAK;QAElD,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS;;AAGxC,QAAA,IAAI,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;AACtC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;;AAG5D,YAAA,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE;gBACjB,OAAO,QAAQ,KAAK,UAAU;;iBACzB;gBACL,OAAO,QAAQ,KAAK,WAAW;;;;AAKnC,QAAA,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACnC,YAAA,OAAO,IAAI;;;QAIb,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,KAAK,QAAQ,EAAE;AACnD,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,KAAK;;IAGd,MAAM,GAAA;;;AAEJ,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB;;;QAIF,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,CAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,CAAA,EAAE;YAC/D;;AAGF,QAAA,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,UAAU,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAoB,CAAC,EAAA,EACtE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,UAAU,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAoB,CAAC,EAAA,EACnE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KACrC,CACE,CAAA,2BAAA,EAAA,EAAA,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAuC,CAAC,EAC7E,KAAK,EAAE;AACL,gBAAA,gCAAgC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,KAAI,MAAM;AACxE,gBAAA,qCAAqC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,KAAI,MAAM;gBACvF,kCAAkC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG;AAC5H,aAAA,EACD,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GACV,CAC9B,EAEA,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,CAAA;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAG;AAC1B,gBAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;AACnC,oBAAA,OAAO,EAAE;;AAEX,gBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;aACnC,CAAC,CACA,EAEN,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,WAAW,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,GAAG,EAAoB,CAAC,EAAA,EACrE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KACtC,CACE,CAAA,2BAAA,EAAA,EAAA,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAuC,CAAC,EAC9E,KAAK,EAAE;AACL,gBAAA,gCAAgC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,KAAI,MAAM;AACxE,gBAAA,qCAAqC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,KAAI,MAAM;gBACvF,kCAAkC,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG;AAC5H,aAAA,EACD,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GACV,CAC9B,EAEA,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,CAAA;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAG;AAC1B,gBAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW,EAAE;AACpC,oBAAA,OAAO,EAAE;;AAEX,gBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AACpC,aAAC,CAAC,CACA,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"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}