@flowplayer/player 3.34.3 → 3.35.0-rc

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 (97) hide show
  1. package/core.js +1 -1
  2. package/default.js +1 -1
  3. package/embed.js +2 -2
  4. package/flowplayer.css +1 -1
  5. package/package/core/events.d.ts +710 -0
  6. package/package/core/events.js +403 -0
  7. package/package/core.js +1 -0
  8. package/package/default.js +1 -0
  9. package/package/embed.js +7 -0
  10. package/package/flowplayer.css +1 -0
  11. package/package/index.d.ts +2238 -0
  12. package/package/plugins/ads.d.ts +4468 -0
  13. package/package/plugins/ads.js +7 -0
  14. package/package/plugins/airplay.d.ts +2152 -0
  15. package/package/plugins/airplay.js +1 -0
  16. package/package/plugins/analytics.d.ts +2146 -0
  17. package/package/plugins/analytics.js +1 -0
  18. package/package/plugins/asel.d.ts +2293 -0
  19. package/package/plugins/asel.js +1 -0
  20. package/package/plugins/audio.d.ts +2146 -0
  21. package/package/plugins/audio.js +1 -0
  22. package/package/plugins/chapters.d.ts +2155 -0
  23. package/package/plugins/chapters.js +1 -0
  24. package/package/plugins/chromecast.d.ts +2221 -0
  25. package/package/plugins/chromecast.js +1 -0
  26. package/package/plugins/comscore.d.ts +2146 -0
  27. package/package/plugins/comscore.js +1 -0
  28. package/package/plugins/consent.d.ts +2194 -0
  29. package/package/plugins/consent.js +1 -0
  30. package/package/plugins/context-menu.d.ts +2160 -0
  31. package/package/plugins/context-menu.js +1 -0
  32. package/package/plugins/cuepoints.d.ts +2270 -0
  33. package/package/plugins/cuepoints.js +1 -0
  34. package/package/plugins/dash.d.ts +2302 -0
  35. package/package/plugins/dash.js +2 -0
  36. package/package/plugins/drm.d.ts +2271 -0
  37. package/package/plugins/drm.js +1 -0
  38. package/package/plugins/endscreen.d.ts +2165 -0
  39. package/package/plugins/endscreen.js +1 -0
  40. package/package/plugins/fas.d.ts +2200 -0
  41. package/package/plugins/fas.js +1 -0
  42. package/package/plugins/float-on-scroll.d.ts +2234 -0
  43. package/package/plugins/float-on-scroll.js +1 -0
  44. package/package/plugins/ga4.d.ts +2146 -0
  45. package/package/plugins/ga4.js +1 -0
  46. package/package/plugins/gemius.d.ts +2171 -0
  47. package/package/plugins/gemius.js +1 -0
  48. package/package/plugins/google-analytics.d.ts +2146 -0
  49. package/package/plugins/google-analytics.js +1 -0
  50. package/package/plugins/hls.d.ts +2271 -0
  51. package/package/plugins/hls.js +1 -0
  52. package/package/plugins/id3.d.ts +2212 -0
  53. package/package/plugins/id3.js +1 -0
  54. package/package/plugins/iframe.d.ts +2147 -0
  55. package/package/plugins/iframe.js +1 -0
  56. package/package/plugins/keyboard.d.ts +2146 -0
  57. package/package/plugins/keyboard.js +1 -0
  58. package/package/plugins/media-session.d.ts +2146 -0
  59. package/package/plugins/media-session.js +1 -0
  60. package/package/plugins/message.d.ts +2205 -0
  61. package/package/plugins/message.js +1 -0
  62. package/package/plugins/ovp.d.ts +2208 -0
  63. package/package/plugins/ovp.js +1 -0
  64. package/package/plugins/playlist.d.ts +2465 -0
  65. package/package/plugins/playlist.js +1 -0
  66. package/package/plugins/preview.d.ts +2236 -0
  67. package/package/plugins/preview.js +1 -0
  68. package/package/plugins/qsel.d.ts +2236 -0
  69. package/package/plugins/qsel.js +1 -0
  70. package/package/plugins/qul.d.ts +2161 -0
  71. package/package/plugins/qul.js +1 -0
  72. package/package/plugins/rts.d.ts +2551 -0
  73. package/package/plugins/rts.js +25 -0
  74. package/package/plugins/share.d.ts +2181 -0
  75. package/package/plugins/share.js +1 -0
  76. package/package/plugins/speed.d.ts +2173 -0
  77. package/package/plugins/speed.js +1 -0
  78. package/package/plugins/ssai.d.ts +2502 -0
  79. package/package/plugins/ssai.js +7 -0
  80. package/package/plugins/subtitles.d.ts +2287 -0
  81. package/package/plugins/subtitles.js +1 -0
  82. package/package/plugins/thumbnails.d.ts +2164 -0
  83. package/package/plugins/thumbnails.js +1 -0
  84. package/package/plugins/tizen.d.ts +2152 -0
  85. package/package/plugins/tizen.js +1 -0
  86. package/package/plugins/vtsel.d.ts +2250 -0
  87. package/package/plugins/vtsel.js +1 -0
  88. package/package/plugins/webos.d.ts +2152 -0
  89. package/package/plugins/webos.js +1 -0
  90. package/package/util/loader.d.ts +2163 -0
  91. package/package/util/loader.js +63 -0
  92. package/package.json +2364 -1
  93. package/plugins/ads.js +1 -1
  94. package/plugins/analytics.js +1 -1
  95. package/plugins/ovp.js +1 -1
  96. package/plugins/rts.js +1 -1
  97. package/plugins/ssai.js +1 -1
@@ -0,0 +1 @@
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.thumbnails=t())}(this,function(){"use strict";var e;function t(t,n){if(function(t){return Object.values(e).includes(t)}(n=n||e.Anonymous))return t instanceof HTMLVideoElement&&(t.poster="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),"crossOrigin"in t?t.crossOrigin=n:t.setAttribute("crossorigin",n),t}function n(e){const t=document.createElement("a");return t.href=e,t.origin}!function(e){e.Anonymous="anonymous",e.UseCredentials="use-credentials",e.Empty=""}(e||(e={}));const r="thumbnails";function s(e,t){return e.querySelector("track[id='"+t+"']")}function o(e,r){const s=document.createElement("track");return s.src=r,function(e,t){try{return e.src.startsWith("blob:"),n(e.src)!==n(t)}catch(e){return console.error(e),!0}}(e,r)&&(t(e),t(s)),s}const i="thumbnails:render",c="thumbnails:hide";var u=Object.freeze({__proto__:null,THUMBNAILS_RENDER:i,THUMBNAILS_HIDE:c});function a(e,t){const n=e._customElements.get(t);return n&&e.root.querySelector(n)||void 0}const l="flowplayer-thumbnails-carousel",d=(e,t)=>new(((e,t)=>{const n=e.get(t);if(!n)throw new Error(`no flowplayer component with the name ${t} exists`);const r=window.customElements.get(t);if(!r)throw new Error(`no default flowplayer component with the name ${t} exists`);const s=window.customElements.get(n);return"function"!=typeof s?r:s})(e._customElements,t))(e);class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}const m="with-thumbnails";class FlowplayerThumbnails extends FlowplayerComponent{constructor(e){super(e),this.className="fp-thumbnail-carousel",this.carousel=this.makeCarousel(),this.addEventListener(i,this.renderCarousel.bind(this,e)),this.addEventListener(c,()=>e.root.classList.remove(m))}renderCarousel(e,t){const{previous:n,current:r,next:s}=t.detail;e.root.classList.add(m),n&&this.renderCarouselItem(this.carousel.previous,n),r&&this.renderCarouselItem(this.carousel.current,r),s&&this.renderCarouselItem(this.carousel.next,s)}makeCarousel(){return{previous:this.makeCarouselItem("previous"),current:this.makeCarouselItem("current"),next:this.makeCarouselItem("next")}}makeCarouselItem(e){const t=document.createElement("div");return t.classList.add("thumbnail",e),this.append(t),t}renderCarouselItem(e,t){const n=e.style;n.backgroundImage=`url("${t.url}")`,n.backgroundPositionX="-"+t.x+"px ",n.backgroundPositionY="-"+t.y+"px",n.height=t.h+"px",n.width=t.w+"px"}}function f(e){const t=document.createElement("a");return t.href=e,t}const h=/#xywh=(\d+),(\d+),(\d+),(\d+)$/,p=/^(https:|https:|\/)/;function y(e,t){const n=f(e.src),r=f(t),[s,o,i,c,u]=(r.hash.match(h)||[]).map(e=>parseInt(e,10));return{x:o,y:i,w:c,h:u,url:w(t,n)}}function w(e,t){if(e.match(p))return e;try{return new URL(e,t.href).toString()}catch(e){return""}}const A="is-source-processing";function v(e,t,n){const r=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(r),e}var b;!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 g=((b=class Thumbnails{static activeThumbnails(e,t){var n,o;const i=s(e,r);if(!i)return;const c=Array.from(i.track.cues||{length:0}),u=c.find(e=>e.startTime<=t&&t<=e.endTime);if(!u)return{};const a=c.indexOf(u);return{previous:y(i,(null===(n=c[a-1])||void 0===n?void 0:n.text)||""),current:y(i,(null==u?void 0:u.text)||""),next:y(i,(null===(o=c[a+1])||void 0===o?void 0:o.text)||"")}}constructor(e){((e,t,n)=>{window.customElements.get(t)||window.customElements.define(t,n),e.customElements.get(t)||e.customElements.set(t,t)})(e,l,FlowplayerThumbnails)}init(e,t,n){const i=a(n,"flowplayer-ui"),c=d(n,l),u=a(n,"flowplayer-control");n.reaper&&i&&u&&(i.insertBefore(c,u),n.once("mount",()=>{this.attachTimelineListeners(n,c)}),n.textTracks.addEventListener("addtrack",function(e){const t=e.track;(null==t?void 0:t.id)===r&&(t.mode="hidden")}),n.on("config",function(){var t;const s=null===(t=null==e?void 0:e.thumbnails)||void 0===t?void 0:t.src;if("string"==typeof s)return function(e,t){if(function(e,t){return e.querySelector("track[src='"+t+"']")}(e,t))return;const n=o(e,t);return n.kind="metadata",n.id=r,n.src=t,e.append(n),n}(n,s)}),n.on(["playlist/advance","src"],t=>{n.currentSrc&&("src"===t.type&&["is-playlist",A].some(e=>n.root.classList.contains(e))||(delete e.thumbnails,function(e){const t=s(e,r);t&&t.remove()}(n)))}))}attachTimelineListeners(e,t){e.on("timeline/gesture/move",({data:n})=>{const r=null==n?void 0:n.percent;if("number"!=typeof r)return;if(!Number.isFinite(e.duration))return;const s=Math.max(0,Math.min(e.duration,e.duration*(r/100))),o=b.activeThumbnails(e,s);o&&requestAnimationFrame(()=>v(t,i,Object.assign(Object.assign({},o),{timestamp:s})))}),e.on("timeline/gesture/end",()=>{e.root.classList.contains(m)&&v(t,c)})}}).pluginName="thumbnails",b.events=u,b);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,g)});