@flowplayer/player 3.35.0-rc → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/core.js +1 -1
  2. package/default.js +1 -1
  3. package/embed.js +2 -2
  4. package/package.json +1 -2364
  5. package/plugins/ads.js +1 -1
  6. package/plugins/analytics.js +1 -1
  7. package/plugins/rts.js +1 -1
  8. package/plugins/ssai.js +1 -1
  9. package/package/core/events.d.ts +0 -710
  10. package/package/core/events.js +0 -403
  11. package/package/core.js +0 -1
  12. package/package/default.js +0 -1
  13. package/package/embed.js +0 -7
  14. package/package/flowplayer.css +0 -1
  15. package/package/index.d.ts +0 -2238
  16. package/package/plugins/ads.d.ts +0 -4468
  17. package/package/plugins/ads.js +0 -7
  18. package/package/plugins/airplay.d.ts +0 -2152
  19. package/package/plugins/airplay.js +0 -1
  20. package/package/plugins/analytics.d.ts +0 -2146
  21. package/package/plugins/analytics.js +0 -1
  22. package/package/plugins/asel.d.ts +0 -2293
  23. package/package/plugins/asel.js +0 -1
  24. package/package/plugins/audio.d.ts +0 -2146
  25. package/package/plugins/audio.js +0 -1
  26. package/package/plugins/chapters.d.ts +0 -2155
  27. package/package/plugins/chapters.js +0 -1
  28. package/package/plugins/chromecast.d.ts +0 -2221
  29. package/package/plugins/chromecast.js +0 -1
  30. package/package/plugins/comscore.d.ts +0 -2146
  31. package/package/plugins/comscore.js +0 -1
  32. package/package/plugins/consent.d.ts +0 -2194
  33. package/package/plugins/consent.js +0 -1
  34. package/package/plugins/context-menu.d.ts +0 -2160
  35. package/package/plugins/context-menu.js +0 -1
  36. package/package/plugins/cuepoints.d.ts +0 -2270
  37. package/package/plugins/cuepoints.js +0 -1
  38. package/package/plugins/dash.d.ts +0 -2302
  39. package/package/plugins/dash.js +0 -2
  40. package/package/plugins/drm.d.ts +0 -2271
  41. package/package/plugins/drm.js +0 -1
  42. package/package/plugins/endscreen.d.ts +0 -2165
  43. package/package/plugins/endscreen.js +0 -1
  44. package/package/plugins/fas.d.ts +0 -2200
  45. package/package/plugins/fas.js +0 -1
  46. package/package/plugins/float-on-scroll.d.ts +0 -2234
  47. package/package/plugins/float-on-scroll.js +0 -1
  48. package/package/plugins/ga4.d.ts +0 -2146
  49. package/package/plugins/ga4.js +0 -1
  50. package/package/plugins/gemius.d.ts +0 -2171
  51. package/package/plugins/gemius.js +0 -1
  52. package/package/plugins/google-analytics.d.ts +0 -2146
  53. package/package/plugins/google-analytics.js +0 -1
  54. package/package/plugins/hls.d.ts +0 -2271
  55. package/package/plugins/hls.js +0 -1
  56. package/package/plugins/id3.d.ts +0 -2212
  57. package/package/plugins/id3.js +0 -1
  58. package/package/plugins/iframe.d.ts +0 -2147
  59. package/package/plugins/iframe.js +0 -1
  60. package/package/plugins/keyboard.d.ts +0 -2146
  61. package/package/plugins/keyboard.js +0 -1
  62. package/package/plugins/media-session.d.ts +0 -2146
  63. package/package/plugins/media-session.js +0 -1
  64. package/package/plugins/message.d.ts +0 -2205
  65. package/package/plugins/message.js +0 -1
  66. package/package/plugins/ovp.d.ts +0 -2208
  67. package/package/plugins/ovp.js +0 -1
  68. package/package/plugins/playlist.d.ts +0 -2465
  69. package/package/plugins/playlist.js +0 -1
  70. package/package/plugins/preview.d.ts +0 -2236
  71. package/package/plugins/preview.js +0 -1
  72. package/package/plugins/qsel.d.ts +0 -2236
  73. package/package/plugins/qsel.js +0 -1
  74. package/package/plugins/qul.d.ts +0 -2161
  75. package/package/plugins/qul.js +0 -1
  76. package/package/plugins/rts.d.ts +0 -2551
  77. package/package/plugins/rts.js +0 -25
  78. package/package/plugins/share.d.ts +0 -2181
  79. package/package/plugins/share.js +0 -1
  80. package/package/plugins/speed.d.ts +0 -2173
  81. package/package/plugins/speed.js +0 -1
  82. package/package/plugins/ssai.d.ts +0 -2502
  83. package/package/plugins/ssai.js +0 -7
  84. package/package/plugins/subtitles.d.ts +0 -2287
  85. package/package/plugins/subtitles.js +0 -1
  86. package/package/plugins/thumbnails.d.ts +0 -2164
  87. package/package/plugins/thumbnails.js +0 -1
  88. package/package/plugins/tizen.d.ts +0 -2152
  89. package/package/plugins/tizen.js +0 -1
  90. package/package/plugins/vtsel.d.ts +0 -2250
  91. package/package/plugins/vtsel.js +0 -1
  92. package/package/plugins/webos.d.ts +0 -2152
  93. package/package/plugins/webos.js +0 -1
  94. package/package/util/loader.d.ts +0 -2163
  95. package/package/util/loader.js +0 -63
@@ -1 +0,0 @@
1
- !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.subtitles=t())}(this,function(){"use strict";function e(e,t,s){const i=function(e){return Array.isArray(e)?e.slice(0):e.split(".")}(t);for(;i.length;){if(null==e)return s;const t=i.shift();if("string"!=typeof t)return s;e=e[t]}return null==e?s:e}function t(e,t){e.innerHTML="",t.forEach(function(t){const s=document.createElement("pre");s.classList.add("fp-cue"),function(e,t){const s=e.style,i=t.size;s.setProperty("--caption-size",i.toString());const n=t.position;n&&"auto"!==n&&t?s.setProperty("--caption-position",n.toString()):s.removeProperty("--caption-position");const r="captions-align-"+t.align;Array.from(e.classList).forEach(function(s){s!=r&&("captions-vertical"==s&&t.vertical||s.startsWith("captions")&&e.classList.remove(s))}),e.classList.add(r),e.classList.toggle("captions-vertical",!!t.vertical)}(e,t),s.appendChild(t.getCueAsHTML()),e.appendChild(s)})}function s(){}const i="is-tv",n="has-menu-opened",r="is-source-processing",o="mount",a="click",l=(e,t)=>new(((e,t)=>{const s=e.get(t);if(!s)throw new Error(`no flowplayer component with the name ${t} exists`);const i=window.customElements.get(t);if(!i)throw new Error(`no default flowplayer component with the name ${t} exists`);const n=window.customElements.get(s);return"function"!=typeof n?i:n})(e._customElements,t))(e),c=(e,t,s)=>{window.customElements.get(t)||window.customElements.define(t,s),e.customElements.get(t)||e.customElements.set(t,t)};function u(e,t,s){const i=function(e,t){const s=new CustomEvent(e,{detail:t,cancelable:!0});return t&&Object.defineProperty(s,"data",{get:()=>t}),s}(t,s);return e.dispatchEvent(i),e}function d(e,t){const s=e._customElements.get(t);return s&&e.root.querySelector(s)||void 0}!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){}}();const p="flowplayer-subtitles-menu",m="flowplayer-subs-menu-icon",h="flowplayer-menu-back";class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}const f="fp-menu",y="fp-menu-container",v="fp-on",b="fp-invis",g="details[open]."+y;class FlowplayerMenu extends FlowplayerComponent{constructor(e){super(e),this.player=e,this.menuContainer=document.createElement("details"),this.summaryEle=document.createElement("summary"),this.menuHeader=document.createElement("div"),this.menuTitle=document.createElement("h3"),this.olEle=document.createElement("ol"),this.olEle.id=E(),this.menu=document.createElement("div"),this.closeEle=document.createElement("span"),this.menuHeader.classList.add("fp-menu-header"),this.menuHeader.append(this.menuTitle,this.closeEle),this.menu.classList.add(f),this.menu.append(this.menuHeader,this.olEle),this.closeEle.classList.add("fp-close"),this.closeEle.textContent="×",this.menuContainer.classList.add(y),this.menuContainer.append(this.summaryEle,this.menu),this.menuContainer.addEventListener(a,t=>{if(t.defaultPrevented)return;t.preventDefault();const s=this.menuContainer.open;s||(k(),document.active_menu=this.menuContainer),this.menuContainer.open=!s,e.root.classList.toggle(n,!s),this.summaryEle.setAttribute("aria-expanded",s?"false":"true")}),this.addEventListener("focusin",e=>{e.target;HTMLLIElement}),this.addEventListener("focusout",e=>{e.target;HTMLLIElement}),this.append(this.menuContainer),this.olEle.setAttribute("aria-labelledby",this.summaryEle.id),this.olEle.setAttribute("role","menu"),this.summaryEle.setAttribute("aria-haspopup","true"),this.summaryEle.setAttribute("aria-controls",this.olEle.id),this.summaryEle.setAttribute("tabindex","0"),this.summaryEle.setAttribute("aria-expanded","false"),this.summaryEle.setAttribute("role","button")}get options(){return this.olEle.querySelectorAll("li")}setMenuAttrs(e){if(this.className=e.class,this.toggle_visibility(!0),this.summaryEle.id||(this.summaryEle.id=e.id||E()),this.summaryEle.setAttribute("aria-label",e.menuTitle||"Menu"),e.summaryTitle&&(this.summaryEle.textContent=e.summaryTitle),e.summaryIcon){const t=l(this.player,e.summaryIcon);t.setAttribute("tabindex",""),this.summaryEle.append(t)}e.menuTitle&&(this.menuTitle.textContent=e.menuTitle),this.menu.classList.toggle("fp-icons",!!e.icons),this.addEventListener(e.options_event,e=>{this.render(e.data)}),e.item_selected_event&&this.addEventListener(e.item_selected_event,e=>{void 0!==e.data&&this.select_item(e.data.selected_index)})}render(e){this.olEle&&(this.olEle.innerHTML="",e&&e.forEach(this.menuOption,this),this.toggle_visibility(!(null==e?void 0:e.length)))}menuOption(e,t){const s=document.createElement("li");s.setAttribute("tabindex","0"),e.icon&&s.append(e.icon);const i=document.createElement("span");i.textContent=e.text,s.append(i),this.olEle.appendChild(s),e.isButton?(s.setAttribute("role","menuitem"),s.addEventListener(a,()=>{"function"==typeof e.onclick&&e.onclick()})):(s.setAttribute("role","menuitemradio"),s.setAttribute("aria-checked","false"),s.addEventListener(a,()=>{this.select_item(t),"function"==typeof e.onclick&&e.onclick()}),e.selected&&this.select_item(t))}select_item(e){var t;if(this.options[e]&&!(null===(t=this.options[e])||void 0===t?void 0:t.hasAttribute("aria-checked")))throw new Error("Cannot select a button-only item");this.options.forEach((t,s)=>{t.hasAttribute("aria-checked")&&(t.classList.toggle(v,s===e),t.setAttribute("aria-checked",s===e?"true":"false"))})}unselect_item(){this.options.forEach(e=>{e.classList.remove(v),e.hasAttribute("aria-checked")&&e.setAttribute("aria-checked","false")})}toggle_visibility(e){this.classList.toggle(b,e),this.menu.style.setProperty("display",e?"none":"flex")}}function k(){Array.from(document.querySelectorAll(".fp-engine")).forEach(e=>{var t;const s=e.root.querySelector(g);s&&(s.open=!1,null===(t=s.querySelector("summary"))||void 0===t||t.removeAttribute("aria-expanded"),e.root.classList.toggle(n,!1))})}function E(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}document.addEventListener(a,function(e){this.active_menu&&!e.composedPath().includes(this.active_menu)&&(k(),this.active_menu=void 0)});const x=["255, 255, 255","255, 255, 0","0, 255, 0","0, 255, 255","0, 0, 255","255, 0, 255","255, 0, 0","0, 0, 0"],A=[.25,.5,.75,1,1.25,1.5,1.75,2,3,4],w=["White","Yellow","Green","Cyan","Blue","Magenta","Red","Black"],T=["Monospaced Serif","Proportional Serif","Monospaced Sans-Serif","Proportional Sans-Serif","Casual","Cursive"],_=["Courier New, monospace","serif","Andale Mono, Lucida Console, monospace","sans-serif","Comic Sans MS, Impact, fantasy","Monotype Corsiva, cursive"],C=["None","Drop shadow","Raised","Depressed","Outline"],O=["","rgb(34, 34, 34) 2px 2px 3px, rgb(34, 34, 34) 2px 2px 4px, rgb(34, 34, 34) 2px 2px 5px","rgb(34, 34, 34) 1px 1px, rgb(34, 34, 34) 2px 2px, rgb(34, 34, 34) 3px 3px","rgb(204, 204, 204) 1px 1px, rgb(204, 204, 204) 0px 1px, rgb(34, 34, 34) -1px -1px, rgb(34, 34, 34) 0px -1px","rgb(34, 34, 34) 0px 0px 1px, rgb(34, 34, 34) 0px 0px 1px, rgb(34, 34, 34) 0px 0px 1px, rgb(34, 34, 34) 0px 0px 1px, rgb(34, 34, 34) 0px 0px 1px"];class StyleOpt{constructor(e,t,s,i,n){this.player=e,this.labels=t,this.values=s,this.css_variable=i,this.default_value=n,this.selected=e._storage.getItem(i)||n}set selected(e){document.documentElement.style.setProperty(this.css_variable,e),this.player._storage.setItem(this.css_variable,e)}get selected(){return document.documentElement.style.getPropertyValue(this.css_variable)}}var S;!function(e){e[e.main=0]="main",e[e.tracks=1]="tracks",e[e.style=2]="style",e[e.styleOpt=3]="styleOpt"}(S||(S={}));class FlowplayerSubtitlesMenu extends FlowplayerMenu{constructor(e){if(super(e),this.state=S.main,this.selectedTrackIdx=-1,this.isTV=!1,this.styleOpts=function(e){return{[e.i18n("cc.properties.fontSize","Font size")]:new StyleOpt(e,A.map(e=>100*e+"%"),A.map(e=>100*e+"%"),"--fp-sub-font-size","100%"),[e.i18n("cc.properties.fontFamily","Font family")]:new StyleOpt(e,T.map(t=>e.i18n(`cc.fontFamily.${t}`,t)),_,"--fp-sub-font-family","sans-serif"),[e.i18n("cc.properties.fontColor","Font color")]:new StyleOpt(e,w.map(t=>e.i18n(`cc.colors.${t}`,t)),x,"--fp-sub-font-color",x[0]),[e.i18n("cc.properties.fontOpacity","Font opacity")]:new StyleOpt(e,A.flatMap(e=>e>1?[]:100*e+"%"),A.flatMap(e=>e>1?[]:e+""),"--fp-sub-font-opacity","1"),[e.i18n("cc.properties.backgroundColor","Background color")]:new StyleOpt(e,w.map(t=>e.i18n(`cc.colors.${t}`,t)),x,"--fp-sub-background-color",x[7]),[e.i18n("cc.properties.backgroundOpacity","Background opacity")]:new StyleOpt(e,A.flatMap(e=>e>1?[]:100*e+"%"),A.flatMap(e=>e>1?[]:e+""),"--fp-sub-background-opacity","0.5"),[e.i18n("cc.properties.characterEdgeStyle","Character edge style")]:new StyleOpt(e,C.map(t=>e.i18n(`cc.edgeStyle.${t}`,t)),O,"--fp-sub-edge-style","")}}(e),e.on(o,()=>{setTimeout(()=>this.isTV=e.hasState(i),0),this.classList.toggle("subs-native",!!e.opt("subtitles.native"))}),e.on(U.events.TRACK_UPDATED,e=>this.summaryEle.classList.toggle("fp-color-text",!!e.detail)),e.opt("subtitles.native"))return;const t=l(this.player,h);t.setAttribute("aria-label","Back to previous menu"),t.setAttribute("role","button"),this.menuHeader.prepend(t),t.addEventListener("click",()=>this.navigateBack());const s=l(this.player,m);s.setAttribute("role","button"),s.setAttribute("aria-label","Open style menu"),s.addEventListener("click",()=>this.createMenu(S.style)),this.menuHeader.insertBefore(s,this.menuTitle),this.summaryEle.addEventListener("click",()=>{this.menuContainer.open||this.createMenu(S.main)}),this.menu.addEventListener("click",e=>{(e.target===s||e.target===t||this.state!==S.main&&e.target!==this.closeEle)&&e.preventDefault()}),this.addEventListener(U.events.TRACKS,e=>{var t;this.tracks=e.detail,this.selectedTrackIdx=-1,this.toggle_visibility(!(null===(t=null==this?void 0:this.tracks)||void 0===t?void 0:t.length)),this.state===(this.isTV?S.tracks:S.main)&&this.createMenu(this.isTV?S.tracks:S.main)}),this.addEventListener(U.events.SWITCH,e=>{this.selectedTrackIdx=e.detail.selected_index,this.state===(this.isTV?S.tracks:S.main)&&this.select_item(this.selectedTrackIdx)}),this.player.addEventListener("tv-menu:will-open",()=>{var e;(null===(e=this.tracks)||void 0===e?void 0:e.length)&&this.createMenu(S.main)}),this.player.on(["tv-menu:will-close","keyboard:close:menus"],e=>{var t;this.state!==S.main&&(null===(t=document.activeElement)||void 0===t?void 0:t.closest(`.${f}`))===this.menu&&(this.navigateBack(),e.preventDefault())})}navigateBack(){switch(this.state){case S.style:case S.tracks:return this.createMenu(S.main);case S.styleOpt:return this.createMenu(S.style)}}getMenuTitle(){switch(this.state){case S.main:return this.player.i18n("cc.menu_title","Subtitles");case S.tracks:return this.player.i18n("cc.tracks","Tracks");case S.style:return this.player.i18n("cc.options","Options");default:return""}}createMenuOpts(e){switch(this.state){case S.main:return this.isTV?this.createTvMainMenuOpts():this.createTracksMenuOpts();case S.tracks:return this.createTracksMenuOpts();case S.style:return this.createStyleMenuOpts();case S.styleOpt:return e?this.createStylePropertyMenuOpts(this.styleOpts[e]):[]}}createMenu(e,t){var s;this.state=e,this.menu.classList.toggle("fp-submenu",e>0),this.menuTitle.textContent=t||this.getMenuTitle(),this.render(this.createMenuOpts(t)),null===(s=this.menu.querySelector("li"))||void 0===s||s.focus()}createTvMainMenuOpts(){return[{text:this.player.i18n("cc.tracks","Tracks"),onclick:this.createMenu.bind(this,S.tracks)},{text:this.player.i18n("cc.options","Options"),onclick:this.createMenu.bind(this,S.style)}]}createTracksMenuOpts(){return Array.isArray(null==this?void 0:this.tracks)?this.tracks.map((e,t)=>({text:e.text,onclick:()=>{e.onclick(),this.selectedTrackIdx=this.selectedTrackIdx===t?-1:t},selected:this.selectedTrackIdx===t})):[]}createStyleMenuOpts(){const e=Object.keys(this.styleOpts).map(e=>({text:e,onclick:this.createMenu.bind(this,S.styleOpt,e)}));return e.push({text:this.player.i18n("cc.reset","Reset"),onclick:()=>Object.values(this.styleOpts).forEach(e=>e.selected=e.default_value)}),e}createStylePropertyMenuOpts(e){return e.labels.map((t,s)=>({text:t,onclick:()=>{e.selected=e.values[s]},selected:s===e.values.indexOf(e.selected)}))}select_item(e){if(this.state!==S.style)return this.state===S.styleOpt?super.select_item(e):void this.options.forEach((t,s)=>{t.classList.toggle(v,s===e&&!t.classList.contains(v))})}}class FlowplayerIcon extends FlowplayerComponent{constructor(e,t){super(e),this.classList.add("fp-icon",t.name),t.title&&this.setAttribute("title",t.title),t.title&&this.setAttribute("aria-label",t.title),t.translation_key&&this.setAttribute("aria-label",e.i18n(t.translation_key)),this.setAttribute("tabindex","0"),this.setAttribute("focusable","true")}}function L(e){return!document.fullscreenEnabled&&"function"==typeof e.webkitEnterFullScreen&&"function"==typeof e.webkitExitFullScreen}const M="tracks:text:updated",I="subs:tracks",F="subs:change",P="cues:parsed",H="tracks:text:all";var B,j=Object.freeze({__proto__:null,TRACK_UPDATED:M,TRACKS:I,SWITCH:F,CUES_PARSED:P,TEXT_TRACKS:H});function R(e,t){if(function(e){return Object.values(B).includes(e)}(t=t||B.Anonymous))return e instanceof HTMLVideoElement&&(e.poster="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),"crossOrigin"in e?e.crossOrigin=t:e.setAttribute("crossorigin",t),e}function V(e){const t=document.createElement("a");return t.href=e,t.origin}function D(e,t){const i=document.createElement("track");i.className="fp-track renderable",i.kind=t.kind||"captions",i.label=t.label||t.lang||"",i.lang=t.lang||"",i.id=["fp",t.lang].join("-");const n=i.track;return n.removeCue=s,"string"!=typeof t.crossorigin&&function(e,t){try{return e.src.startsWith("blob:"),V(e.src)!==V(t)}catch(e){return console.error(e),!0}}(e,t.src)&&(R(e),t.crossorigin=e.getAttribute("crossorigin")),"crossorigin"in t&&R(e,t.crossorigin),Object.keys(t).forEach(e=>{"default"!==e&&(i[e]=t[e])}),n.mode=t.default?"hidden":"disabled",e.appendChild(i),i}!function(e){e.Anonymous="anonymous",e.UseCredentials="use-credentials",e.Empty=""}(B||(B={}));const q={translation_key:"cc.menu_title",name:"fp-subtitles-menu"},z={name:"fp-menu-back"};function K(e,t){var s;if(!e.dash)return;const i=e.dash.getTracksFor("text")[function(e,t){return Array.from(e.textTracks).filter(e=>!e.removed&&"boolean"==typeof e.isEmbedded).indexOf(t)}(e,t)];return i&&i.labels.length&&((null===(s=i.labels.find(e=>e.text))||void 0===s?void 0:s.text)||i.lang)||t.language}var N;const U=((N=class Subtitles{constructor(e){c(e,p,FlowplayerSubtitlesMenu),c(e,m,class extends FlowplayerIcon{constructor(e){super(e,q)}}),c(e,h,class extends FlowplayerIcon{constructor(e){super(e,z)}})}init(n,a,c){var m,h;const f=l(c,p);f instanceof FlowplayerSubtitlesMenu&&f.setMenuAttrs({class:"fp-cc",summaryTitle:c.i18n("cc.button","CC"),menuTitle:c.i18n("cc.menu_title","Subtitles"),options_event:(null===(m=n.subtitles)||void 0===m?void 0:m.native)?I:void 0,item_selected_event:(null===(h=n.subtitles)||void 0===h?void 0:h.native)?F:void 0});const y=function(e){const t=document.createElement("div");return t.classList.add("fp-captions"),t.ontouchend=t=>e.emit(t.type),t.onclick=t=>e.emit(t.type),t}(c);let v,b=[],g=[];function k(){return Array.from(c.textTracks).filter(e=>~["captions","subtitles","descriptions"].indexOf(e.kind)&&!e.removed&&e.label&&!e.isTTML)}function E(){return k().find(e=>e.is_active)}function x(e){Array.from(e.querySelectorAll("track")).forEach(t=>{["captions","subtitles","descriptions"].includes(t.kind)&&e.removeChild(t)})}function A(e,t,s){u(t,I,s.map(function(t){return{text:t.label,onclick:w.bind(0,e,t)}}));const i=E();return i?k().find(e=>e===i)?void u(t,F,{selected_index:s.indexOf(i)}):T():e.emit(M)}function w(e,t){var s,i;if(t==E())return T();T(),t.is_active=!0,e.emit(M,t),t.mode=(null===(s=n.subtitles)||void 0===s?void 0:s.native)?"showing":"hidden",(null===(i=e.opts.subtitles)||void 0===i?void 0:i.native)||e.emit("cuechange",{track:t})}function T(){const e=E();e&&(e.is_active=!1,c.emit(M),e.mode="disabled",t(y,[]))}!function(e){if(!L(e))return;e.on("webkitbeginfullscreen",()=>{const e=E();e&&(e.mode="showing")}),e.on("webkitendfullscreen",()=>{var t;const s=k().find(e=>"showing"===e.mode);s&&!(null===(t=e.opts.subtitles)||void 0===t?void 0:t.native)&&(s.mode="hidden"),s!==E()&&(s?w(e,s):T(),u(f,F,{selected_index:s?g.indexOf(s):-1}))})}(c),c.on(o,function(){var e,t;const s=d(c,"flowplayer-control");if(!s)return null===(e=d(c,"flowplayer-ui"))||void 0===e?void 0:e.appendChild(y);s.insertAdjacentElement("beforebegin",y),null===(t=c.hasState(i)?d(c,"flowplayer-tv-menu"):s)||void 0===t||t.append(f)}),c.on("config",function(e){var t,s;const i=null===(s=null===(t=e.data)||void 0===t?void 0:t.subtitles)||void 0===s?void 0:s.tracks;i&&b!==i&&(b=i,x(c),g=k(),A(c,f,g),b.forEach(e=>D(c,e)))}),c.on(H,e=>{const t=e.detail.tracks;t!==v&&(v=t,g=g.flatMap(e=>e.is_hls_embedded?(e.removed=!0,[]):e),A(c,f,g),t.filter(e=>{var t,s;return~["subtitles","captions"].indexOf((null==e?void 0:e.kind)||(null===(s=null===(t=null==e?void 0:e.subtitleTrack)||void 0===t?void 0:t.type)||void 0===s?void 0:s.toLocaleLowerCase())||"")}).forEach(e=>{var t,i,n,r,o,a,l;const u=c.addTextTrack("captions"===e.kind?"captions":"subtitles",(null===(t=e.subtitleTrack)||void 0===t?void 0:t.name)||e.label,null===(i=e.subtitleTrack)||void 0===i?void 0:i.lang);u.is_hls_embedded=!0,u.default=void 0!==(null===(n=e.subtitleTrack)||void 0===n?void 0:n.default)?null===(r=e.subtitleTrack)||void 0===r?void 0:r.default:e.default,u.track_id=null!==(a=null===(o=e.subtitleTrack)||void 0===o?void 0:o.id)&&void 0!==a?a:e._id,u.mode=u.default?"hidden":"disabled",u.removeCue=s,u.attr=null===(l=e.subtitleTrack)||void 0===l?void 0:l.attrs}))}),c.on(P,e=>{const t=e.detail,s=g.find(e=>e.is_hls_embedded&&!e.removed&&(e.default&&"default"===t.track||e.track_id===t.track||"subtitles"+e.track_id===t.track||"captions"+e.track_id===t.track));s&&t.cues.forEach(e=>s.addCue(e))}),c.textTracks.addEventListener("addtrack",()=>{const e=k();if(g.length===e.length&&g.every((t,s)=>t===e[s]))return;let t=E();if(e.map(e=>((e.default||!c.dash&&["showing","hidden"].includes(e.mode))&&(t=e,e.mode="disabled",e.is_active=!1),e.oncuechange=function(t){var s;if(!L(c)||!c.hasState("is-fullscreen"))return e!==E()?e.mode="disabled":void((null===(s=n.subtitles)||void 0===s?void 0:s.native)||("showing"===e.mode&&(e.mode="hidden"),c.emit(t.type,{track:t.target})))},e)),u(f,I,e.map(e=>({text:c.dash?K(c,e):e.label,onclick:w.bind(0,c,e)}))),g=e,!t)return T();w(c,t),u(f,F,{selected_index:g.indexOf(t)})}),c.on("cuechange",function(s){var i;const n=null===(i=s.data)||void 0===i?void 0:i.track;if(!n||!["captions","subtitles","descriptions"].includes(n.kind))return;const r=Array.from(e(n,"activeCues",[])).filter((e,t,s)=>t===s.findIndex(t=>e.id===t.id)).sort((e,t)=>"number"!=typeof e.line||"number"!=typeof t.line?0:e.line-t.line);t(y,r)}),c.on(["playlist/advance","src"],e=>{t(y,[]),c.currentSrc&&("src"===e.type&&["is-playlist",r].some(e=>c.root.classList.contains(e))||(delete c.opts.subtitles,x(c),b=[],T(),g=[],v=[],u(f,I,[]),function(e){Array.from(e.textTracks).filter(e=>~["captions","subtitles","descriptions"].indexOf(e.kind)).forEach(e=>{e.removed=!0,delete e.isEmbedded})}(c)))})}}).pluginName="subtitles",N.events=j,N);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 s=e.flowplayer;return"function"==typeof s?(s(t),t):(Array.isArray(s.extensions)||(s.extensions=[]),~s.extensions.indexOf(t)||s.extensions.push(t),t)}(window,U)});