@flowplayer/player
Version:
video player for the future
2 lines (1 loc) • 3.81 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e="undefined"!=typeof globalThis?globalThis:e||self).flowplayer=e.flowplayer||{},e.flowplayer.cuepoints=t())}(this,(function(){"use strict";var e=Object.freeze({__proto__:null,CUEPOINTS:"cuepoints",CUEPOINT_START:"cuepointstart",CUEPOINT_END:"cuepointend"});const t=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const o=window.customElements.get(t);if(!o)throw new Error(`no default flowplayer component with the name ${t} exists`);const r=window.customElements.get(n);return"function"!=typeof r?o:r})(e._customElements,t))(e);function n(e,t,n){const o=function(e,t){const n=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(n,"data",{get:()=>t}),n}(t,n);return e.dispatchEvent(o),e}function o(e){const t=e._customElements.get("flowplayer-cue");t&&Array.from(e.root.querySelectorAll(t)).forEach(e=>{e.remove()})}function r(e,o){var r;const i=function(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}(e,"flowplayer-timeline-bar"),s=e.duration,c=null===(r=null==e?void 0:e.opts)||void 0===r?void 0:r.draw_cuepoints;i&&!e.hasState("is-live")&&isFinite(s)&&Array.isArray(o)&&c&&o.forEach(o=>{if(void 0===o.startTime||o.startTime<0||!o.endTime||o.startTime===o.endTime)return;const r=Math.round(o.startTime/s*1e3)/10;if(r>100||r<0)return;const c=o.endTime-o.startTime,u=t(e,"flowplayer-cue");n(u,"cue:attributes",{left:r+"%",width:c/s*100+"%"}),i.append(u)})}!function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}}();class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class CueComponent extends FlowplayerComponent{constructor(e){super(e),this.className="fp-cuepoint",this.addEventListener("cue:attributes",e=>{this.style.setProperty("left",e.detail.left),this.style.setProperty("width",e.detail.width)})}}var i;const s=((i=class Cuepoints{constructor(e){((e,t,n)=>{window.customElements.get(t)||window.customElements.define(t,n),e.customElements.get(t)||e.customElements.set(t,t)})(e,"flowplayer-cue",CueComponent)}init(e,t,n){if(!n.reaper)return;const s=n.addTextTrack("metadata","fp-cuepoints");s.removeCue=function(e){this===i&&TextTrack.prototype.removeCue.call(s,e)},n.reaper.set("cuepoints",[]),n.on("config",(function(t){var o;if(!n.reaper)return;(null===(o=t.data)||void 0===o?void 0:o.cuepoints)!==n.reaper.get("cuepoints")&&n.emit("cuepoints",{cuepoints:e.cuepoints})})),n.on("durationchange",()=>{n.reaper&&(o(n),r(n,n.reaper.get("cuepoints")))}),n.on("cuepoints",e=>{var t;if(!n.reaper)return;const i=(null===(t=e.data)||void 0===t?void 0:t.cuepoints)||[];n.reaper.set("cuepoints",i),Array.from(s.cues||{length:0}).forEach(e=>s.removeCue.call(this.constructor,e)),o(n),i.map((function(e){return function(e,t){try{const n=new VTTCue(t.startTime,t.endTime,t.text||"");return n.id=t.id||"",n.onenter=e.emit.bind(e,"cuepointstart",{cuepoint:t}),n.onexit=e.emit.bind(e,"cuepointend",{cuepoint:t}),n}catch(e){if(t.startTime===t.endTime)return console.warn("Cue(:error)> startTime cannot equal endTime on this platform");throw e}}(n,e)})).forEach((function(e){e&&s.addCue(e)})),r(n,i)})}}).pluginName="cuepoints",i.events=e,i);return function(e,t){if("object"==typeof exports&&"undefined"!=typeof module)return t;if(null===document.currentScript)return t;"flowplayer"in e||(e.flowplayer={extensions:[]});const n=e.flowplayer;return"function"==typeof n?(n(t),t):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(t)||n.extensions.push(t),t)}(window,s)}));