@videojs/html 10.0.0-beta.16 → 10.0.0-beta.17

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 (197) hide show
  1. package/cdn/{abort-CzqmAxxH.js → abort-BL-SGV3o.js} +1 -1
  2. package/cdn/{abort-CzqmAxxH.js.map → abort-BL-SGV3o.js.map} +1 -1
  3. package/cdn/{abort-KaHR4JO1.js → abort-DGNIECLn.js} +1 -1
  4. package/cdn/{abort-KaHR4JO1.js.map → abort-DGNIECLn.js.map} +1 -1
  5. package/cdn/audio-minimal-ui.dev.js +3 -3
  6. package/cdn/audio-minimal-ui.js +1 -1
  7. package/cdn/audio-minimal.dev.js +4 -4
  8. package/cdn/audio-minimal.js +1 -1
  9. package/cdn/audio-minimal.js.map +1 -1
  10. package/cdn/audio-ui.dev.js +3 -4
  11. package/cdn/audio-ui.js +1 -1
  12. package/cdn/audio.dev.js +4 -5
  13. package/cdn/audio.dev.js.map +1 -1
  14. package/cdn/audio.js +1 -1
  15. package/cdn/audio.js.map +1 -1
  16. package/cdn/background.dev.js +1 -1
  17. package/cdn/background.js +1 -1
  18. package/cdn/compounds-Df_1JbZD.js +8 -0
  19. package/cdn/compounds-Df_1JbZD.js.map +1 -0
  20. package/cdn/{volume-slider-C6ek7oC9.js → compounds-VFPcCeRV.js} +2784 -2760
  21. package/cdn/compounds-VFPcCeRV.js.map +1 -0
  22. package/cdn/{create-player-DckZq-sE.js → create-player-CyG77t-m.js} +1336 -1153
  23. package/cdn/create-player-CyG77t-m.js.map +1 -0
  24. package/cdn/create-player-Gom2ZZe3.js +7 -0
  25. package/cdn/create-player-Gom2ZZe3.js.map +1 -0
  26. package/cdn/{hls-lPH0rWmB.js → hls-BAbdl84H.js} +3 -3
  27. package/cdn/{hls-lPH0rWmB.js.map → hls-BAbdl84H.js.map} +1 -1
  28. package/cdn/{hls-CJCXZSGG.js → hls-BrzPpueW.js} +4 -4
  29. package/cdn/{hls-CJCXZSGG.js.map → hls-BrzPpueW.js.map} +1 -1
  30. package/cdn/hotkey-element-DR3ZAqKa.js +2 -0
  31. package/cdn/hotkey-element-DR3ZAqKa.js.map +1 -0
  32. package/cdn/hotkey-element-Dlta37Be.js +369 -0
  33. package/cdn/hotkey-element-Dlta37Be.js.map +1 -0
  34. package/cdn/media/dash-video.dev.js +1 -1
  35. package/cdn/media/dash-video.js +1 -1
  36. package/cdn/media/hls-video.dev.js +2 -2
  37. package/cdn/media/hls-video.js +1 -1
  38. package/cdn/media/mux-audio.dev.js +3 -3
  39. package/cdn/media/mux-audio.js +1 -1
  40. package/cdn/media/mux-video.dev.js +3 -3
  41. package/cdn/media/mux-video.js +1 -1
  42. package/cdn/media/native-hls-video.dev.js +2 -2
  43. package/cdn/media/native-hls-video.js +1 -1
  44. package/cdn/media/simple-hls-video.dev.js +2 -2
  45. package/cdn/media/simple-hls-video.js +2 -2
  46. package/cdn/media/simple-hls-video.js.map +1 -1
  47. package/cdn/{media-props-mixin-CZLZIhGT.js → media-props-mixin-hheRmkup.js} +9 -9
  48. package/cdn/{media-props-mixin-CZLZIhGT.js.map → media-props-mixin-hheRmkup.js.map} +1 -1
  49. package/cdn/{media-props-mixin-DrjlZybt.js → media-props-mixin-yRWj8yXF.js} +3 -3
  50. package/cdn/{media-props-mixin-DrjlZybt.js.map → media-props-mixin-yRWj8yXF.js.map} +1 -1
  51. package/cdn/minimal-ui-B3BBK5nX.js +2 -0
  52. package/cdn/minimal-ui-B3BBK5nX.js.map +1 -0
  53. package/cdn/minimal-ui-CPRSYky_.js +28 -0
  54. package/cdn/minimal-ui-CPRSYky_.js.map +1 -0
  55. package/cdn/minimal-ui-Cnaig4X6.js +22 -0
  56. package/cdn/minimal-ui-Cnaig4X6.js.map +1 -0
  57. package/cdn/minimal-ui-DOePmQfq.js +2 -0
  58. package/cdn/minimal-ui-DOePmQfq.js.map +1 -0
  59. package/cdn/{mux-CBXn2z5k.js → mux-DGgCyz_A.js} +4 -4
  60. package/cdn/{mux-CBXn2z5k.js.map → mux-DGgCyz_A.js.map} +1 -1
  61. package/cdn/{mux-DmGzBNIq.js → mux-fYfPUpq3.js} +2 -2
  62. package/cdn/{mux-DmGzBNIq.js.map → mux-fYfPUpq3.js.map} +1 -1
  63. package/cdn/{native-hls-BCOLtRUl.js → native-hls-BuCYu7Rd.js} +2 -2
  64. package/cdn/{native-hls-BCOLtRUl.js.map → native-hls-BuCYu7Rd.js.map} +1 -1
  65. package/cdn/{native-hls-BU8--1Kg.js → native-hls-DnqJ-0zL.js} +2 -2
  66. package/cdn/{native-hls-BU8--1Kg.js.map → native-hls-DnqJ-0zL.js.map} +1 -1
  67. package/cdn/player-Cu5_r0Gk.js +2 -0
  68. package/cdn/{player-DAmuLGE1.js.map → player-Cu5_r0Gk.js.map} +1 -1
  69. package/cdn/{poster-qAhnKWea.js → player-DIOgBqQf.js} +15 -113
  70. package/cdn/player-DIOgBqQf.js.map +1 -0
  71. package/cdn/{player-Dbl1MUJ2.js → player-DxBoqZVw.js} +3 -2
  72. package/cdn/{player-Dbl1MUJ2.js.map → player-DxBoqZVw.js.map} +1 -1
  73. package/cdn/player-eEH-XjnF.js +2 -0
  74. package/cdn/player-eEH-XjnF.js.map +1 -0
  75. package/cdn/{shallow-equal-uPuCQhnd.js → shallow-equal-1KBb-lrM.js} +1 -1
  76. package/cdn/{shallow-equal-uPuCQhnd.js.map → shallow-equal-1KBb-lrM.js.map} +1 -1
  77. package/cdn/{shallow-equal-C8Fs4TTE.js → shallow-equal-Ca0qjpLJ.js} +1 -1
  78. package/cdn/{shallow-equal-C8Fs4TTE.js.map → shallow-equal-Ca0qjpLJ.js.map} +1 -1
  79. package/cdn/{skin-element-ih3VrnYx.js → skin-element-BTPr5DoY.js} +2 -2
  80. package/cdn/{skin-element-ih3VrnYx.js.map → skin-element-BTPr5DoY.js.map} +1 -1
  81. package/cdn/{skin-element-DbmY-ske.js → skin-element-u6pdmSSs.js} +2 -2
  82. package/cdn/{skin-element-DbmY-ske.js.map → skin-element-u6pdmSSs.js.map} +1 -1
  83. package/cdn/ui-34pkHFdT.js +25 -0
  84. package/cdn/ui-34pkHFdT.js.map +1 -0
  85. package/cdn/ui-DWoV_Da1.js +2 -0
  86. package/cdn/ui-DWoV_Da1.js.map +1 -0
  87. package/cdn/ui-DXtTKomo.js +2 -0
  88. package/cdn/ui-DXtTKomo.js.map +1 -0
  89. package/cdn/ui-X5WOdCCw.js +31 -0
  90. package/cdn/ui-X5WOdCCw.js.map +1 -0
  91. package/cdn/video-minimal-ui.dev.js +3 -3
  92. package/cdn/video-minimal-ui.js +1 -1
  93. package/cdn/video-minimal.dev.js +4 -4
  94. package/cdn/video-minimal.js +1 -1
  95. package/cdn/video-minimal.js.map +1 -1
  96. package/cdn/video-ui.dev.js +3 -4
  97. package/cdn/video-ui.js +1 -1
  98. package/cdn/video.dev.js +12 -6
  99. package/cdn/video.dev.js.map +1 -1
  100. package/cdn/video.js +1 -1
  101. package/cdn/video.js.map +1 -1
  102. package/dist/default/define/audio/minimal-ui.js +28 -12
  103. package/dist/default/define/audio/minimal-ui.js.map +1 -0
  104. package/dist/default/define/audio/ui.js +32 -13
  105. package/dist/default/define/audio/ui.js.map +1 -0
  106. package/dist/default/define/ui/compounds.js +62 -0
  107. package/dist/default/define/ui/compounds.js.map +1 -0
  108. package/dist/default/define/ui/controls.js +2 -5
  109. package/dist/default/define/ui/controls.js.map +1 -1
  110. package/dist/default/define/ui/error-dialog.js +2 -9
  111. package/dist/default/define/ui/error-dialog.js.map +1 -1
  112. package/dist/default/define/ui/slider.js +2 -13
  113. package/dist/default/define/ui/slider.js.map +1 -1
  114. package/dist/default/define/ui/time-slider.js +2 -17
  115. package/dist/default/define/ui/time-slider.js.map +1 -1
  116. package/dist/default/define/ui/time.js +2 -7
  117. package/dist/default/define/ui/time.js.map +1 -1
  118. package/dist/default/define/ui/volume-slider.js +2 -13
  119. package/dist/default/define/ui/volume-slider.js.map +1 -1
  120. package/dist/default/define/video/minimal-ui.js +39 -18
  121. package/dist/default/define/video/minimal-ui.js.map +1 -0
  122. package/dist/default/define/video/skin.js +1 -1
  123. package/dist/default/define/video/skin.js.map +1 -1
  124. package/dist/default/define/video/ui.js +43 -19
  125. package/dist/default/define/video/ui.js.map +1 -0
  126. package/dist/default/index.js +2 -1
  127. package/dist/default/ui/gesture/gesture-element.js +84 -0
  128. package/dist/default/ui/gesture/gesture-element.js.map +1 -0
  129. package/dist/default/ui/pip-button/pip-button-element.js +1 -1
  130. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  131. package/dist/dev/define/audio/minimal-ui.js +28 -12
  132. package/dist/dev/define/audio/minimal-ui.js.map +1 -0
  133. package/dist/dev/define/audio/ui.js +32 -13
  134. package/dist/dev/define/audio/ui.js.map +1 -0
  135. package/dist/dev/define/ui/compounds.d.ts +12 -0
  136. package/dist/dev/define/ui/compounds.d.ts.map +1 -0
  137. package/dist/dev/define/ui/compounds.js +62 -0
  138. package/dist/dev/define/ui/compounds.js.map +1 -0
  139. package/dist/dev/define/ui/controls.d.ts +2 -0
  140. package/dist/dev/define/ui/controls.d.ts.map +1 -1
  141. package/dist/dev/define/ui/controls.js +2 -5
  142. package/dist/dev/define/ui/controls.js.map +1 -1
  143. package/dist/dev/define/ui/error-dialog.d.ts +6 -0
  144. package/dist/dev/define/ui/error-dialog.d.ts.map +1 -1
  145. package/dist/dev/define/ui/error-dialog.js +2 -9
  146. package/dist/dev/define/ui/error-dialog.js.map +1 -1
  147. package/dist/dev/define/ui/slider.d.ts +10 -0
  148. package/dist/dev/define/ui/slider.d.ts.map +1 -1
  149. package/dist/dev/define/ui/slider.js +2 -13
  150. package/dist/dev/define/ui/slider.js.map +1 -1
  151. package/dist/dev/define/ui/time-slider.d.ts +14 -0
  152. package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
  153. package/dist/dev/define/ui/time-slider.js +2 -17
  154. package/dist/dev/define/ui/time-slider.js.map +1 -1
  155. package/dist/dev/define/ui/time.d.ts +4 -0
  156. package/dist/dev/define/ui/time.d.ts.map +1 -1
  157. package/dist/dev/define/ui/time.js +2 -7
  158. package/dist/dev/define/ui/time.js.map +1 -1
  159. package/dist/dev/define/ui/volume-slider.d.ts +10 -0
  160. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
  161. package/dist/dev/define/ui/volume-slider.js +2 -13
  162. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  163. package/dist/dev/define/video/minimal-ui.js +39 -18
  164. package/dist/dev/define/video/minimal-ui.js.map +1 -0
  165. package/dist/dev/define/video/skin.d.ts.map +1 -1
  166. package/dist/dev/define/video/skin.js +8 -1
  167. package/dist/dev/define/video/skin.js.map +1 -1
  168. package/dist/dev/define/video/ui.js +43 -19
  169. package/dist/dev/define/video/ui.js.map +1 -0
  170. package/dist/dev/index.d.ts +2 -1
  171. package/dist/dev/index.js +2 -1
  172. package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
  173. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
  174. package/dist/dev/ui/gesture/gesture-element.js +84 -0
  175. package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
  176. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -1
  177. package/dist/dev/ui/pip-button/pip-button-element.js +1 -1
  178. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  179. package/package.json +8 -8
  180. package/cdn/create-player-B_oNyyb5.js +0 -7
  181. package/cdn/create-player-B_oNyyb5.js.map +0 -1
  182. package/cdn/create-player-DckZq-sE.js.map +0 -1
  183. package/cdn/hotkey-B7OaweHa.js +0 -154
  184. package/cdn/hotkey-B7OaweHa.js.map +0 -1
  185. package/cdn/hotkey-BLEt77Z0.js +0 -2
  186. package/cdn/hotkey-BLEt77Z0.js.map +0 -1
  187. package/cdn/minimal-ui-DXFwjywa.js +0 -0
  188. package/cdn/minimal-ui-jrmrxIOn.js +0 -0
  189. package/cdn/player-DAmuLGE1.js +0 -2
  190. package/cdn/poster-B9COb7AR.js +0 -2
  191. package/cdn/poster-B9COb7AR.js.map +0 -1
  192. package/cdn/poster-qAhnKWea.js.map +0 -1
  193. package/cdn/ui-18UYtw8D.js +0 -0
  194. package/cdn/ui-8HVY3XSt.js +0 -0
  195. package/cdn/volume-slider-BbIc1N4U.js +0 -8
  196. package/cdn/volume-slider-BbIc1N4U.js.map +0 -1
  197. package/cdn/volume-slider-C6ek7oC9.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { i as DelegateMixin, r as CustomVideoElement } from "./media-props-mixin-CZLZIhGT.js";
1
+ import { i as DelegateMixin, r as CustomVideoElement } from "./media-props-mixin-hheRmkup.js";
2
2
 
3
3
  //#region ../core/dist/dev/core/media/media-error.js
4
4
  var MediaError = class MediaError extends Error {
@@ -122,4 +122,4 @@ var NativeHlsCustomMedia = class extends DelegateMixin(CustomVideoElement, Nativ
122
122
 
123
123
  //#endregion
124
124
  export { NativeHlsMediaDelegate as n, MediaError as r, NativeHlsCustomMedia as t };
125
- //# sourceMappingURL=native-hls-BCOLtRUl.js.map
125
+ //# sourceMappingURL=native-hls-BuCYu7Rd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-hls-BCOLtRUl.js","names":["#error","#init","#destroy","#disconnect","#target","#src","#preload"],"sources":["../../core/dist/dev/core/media/media-error.js","../../core/dist/dev/dom/media/native-hls/errors.js","../../core/dist/dev/dom/media/native-hls/index.js"],"sourcesContent":["//#region src/core/media/media-error.ts\nvar MediaError = class MediaError extends Error {\n\tstatic MEDIA_ERR_ABORTED = 1;\n\tstatic MEDIA_ERR_NETWORK = 2;\n\tstatic MEDIA_ERR_DECODE = 3;\n\tstatic MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\tstatic MEDIA_ERR_ENCRYPTED = 5;\n\tstatic MEDIA_ERR_CUSTOM = 100;\n\tstatic defaultMessages = {\n\t\t1: \"You aborted the media playback\",\n\t\t2: \"A network error caused the media download to fail.\",\n\t\t3: \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",\n\t\t4: \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",\n\t\t5: \"The media is encrypted and there are no keys to decrypt it.\"\n\t};\n\tname;\n\tcode;\n\tcontext;\n\tfatal;\n\tdata;\n\tconstructor(message, code = MediaError.MEDIA_ERR_CUSTOM, fatal, context) {\n\t\tsuper(message);\n\t\tthis.name = \"MediaError\";\n\t\tthis.code = code;\n\t\tthis.context = context;\n\t\tthis.fatal = fatal ?? (code >= MediaError.MEDIA_ERR_NETWORK && code <= MediaError.MEDIA_ERR_ENCRYPTED);\n\t\tif (!this.message) this.message = MediaError.defaultMessages[this.code] ?? \"\";\n\t}\n};\n//#endregion\nexport { MediaError };\n\n//# sourceMappingURL=media-error.js.map","import { MediaError } from \"../../../core/media/media-error.js\";\n//#region src/dom/media/native-hls/errors.ts\nfunction NativeHlsMediaErrorsMixin(BaseClass) {\n\tclass NativeHlsMediaErrors extends BaseClass {\n\t\t#disconnect = null;\n\t\t#error = null;\n\t\tget error() {\n\t\t\treturn this.#error;\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach(target);\n\t\t\tthis.#init(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.detach();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t\t#destroy() {\n\t\t\tthis.#disconnect?.abort();\n\t\t\tthis.#disconnect = null;\n\t\t\tthis.#error = null;\n\t\t}\n\t\t#init(target) {\n\t\t\tthis.#destroy();\n\t\t\tthis.#disconnect = new AbortController();\n\t\t\tconst signal = this.#disconnect.signal;\n\t\t\ttarget.addEventListener(\"error\", (event) => {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tconst native = target.error;\n\t\t\t\tif (!native) return;\n\t\t\t\tconst error = new MediaError(native.message, native.code, true);\n\t\t\t\tthis.#error = error;\n\t\t\t\tthis.dispatchEvent(new ErrorEvent(\"error\", {\n\t\t\t\t\terror,\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}));\n\t\t\t}, { signal });\n\t\t\ttarget.addEventListener(\"emptied\", () => {\n\t\t\t\tthis.#error = null;\n\t\t\t}, { signal });\n\t\t}\n\t}\n\treturn NativeHlsMediaErrors;\n}\n//#endregion\nexport { NativeHlsMediaErrorsMixin };\n\n//# sourceMappingURL=errors.js.map","import { DelegateMixin } from \"../../../core/media/delegate.js\";\nimport { VideoProxy } from \"../proxy.js\";\nimport { CustomVideoElement } from \"../custom-media-element/index.js\";\nimport { NativeHlsMediaErrorsMixin } from \"./errors.js\";\n//#region src/dom/media/native-hls/index.ts\nvar NativeHlsMediaDelegateBase = class extends EventTarget {\n\t#target = null;\n\t#src = \"\";\n\t#preload = \"metadata\";\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget engine() {\n\t\treturn null;\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\tset src(src) {\n\t\tthis.#src = src;\n\t\tif (this.#target) this.#target.src = src;\n\t}\n\tget preload() {\n\t\treturn this.#preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n\tattach(target) {\n\t\tthis.#target = target;\n\t\tif (this.preload !== this.#target.preload) this.#target.preload = this.preload;\n\t\tif (this.src !== this.#target.src) this.#target.src = this.src;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tdestroy() {\n\t\tthis.#target = null;\n\t}\n};\nvar NativeHlsMediaDelegate = class extends NativeHlsMediaErrorsMixin(NativeHlsMediaDelegateBase) {};\nvar NativeHlsCustomMedia = class extends DelegateMixin(CustomVideoElement, NativeHlsMediaDelegate) {};\nvar NativeHlsMedia = class extends DelegateMixin(VideoProxy, NativeHlsMediaDelegate) {};\n//#endregion\nexport { NativeHlsCustomMedia, NativeHlsMedia, NativeHlsMediaDelegate };\n\n//# sourceMappingURL=index.js.map"],"mappings":";;;AACA,IAAI,aAAa,MAAM,mBAAmB,MAAM;CAC/C,OAAO,oBAAoB;CAC3B,OAAO,oBAAoB;CAC3B,OAAO,mBAAmB;CAC1B,OAAO,8BAA8B;CACrC,OAAO,sBAAsB;CAC7B,OAAO,mBAAmB;CAC1B,OAAO,kBAAkB;EACxB,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;CACD;CACA;CACA;CACA;CACA;CACA,YAAY,SAAS,OAAO,WAAW,kBAAkB,OAAO,SAAS;AACxE,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,QAAQ,UAAU,QAAQ,WAAW,qBAAqB,QAAQ,WAAW;AAClF,MAAI,CAAC,KAAK,QAAS,MAAK,UAAU,WAAW,gBAAgB,KAAK,SAAS;;;;;;ACxB7E,SAAS,0BAA0B,WAAW;CAC7C,MAAM,6BAA6B,UAAU;EAC5C,cAAc;EACd,SAAS;EACT,IAAI,QAAQ;AACX,UAAO,MAAKA;;EAEb,OAAO,QAAQ;AACd,SAAM,OAAO,OAAO;AACpB,SAAKC,KAAM,OAAO;;EAEnB,SAAS;AACR,SAAKC,SAAU;AACf,SAAM,QAAQ;;EAEf,UAAU;AACT,SAAKA,SAAU;AACf,SAAM,SAAS;;EAEhB,WAAW;AACV,SAAKC,YAAa,OAAO;AACzB,SAAKA,aAAc;AACnB,SAAKH,QAAS;;EAEf,MAAM,QAAQ;AACb,SAAKE,SAAU;AACf,SAAKC,aAAc,IAAI,iBAAiB;GACxC,MAAM,SAAS,MAAKA,WAAY;AAChC,UAAO,iBAAiB,UAAU,UAAU;AAC3C,UAAM,0BAA0B;IAChC,MAAM,SAAS,OAAO;AACtB,QAAI,CAAC,OAAQ;IACb,MAAM,QAAQ,IAAI,WAAW,OAAO,SAAS,OAAO,MAAM,KAAK;AAC/D,UAAKH,QAAS;AACd,SAAK,cAAc,IAAI,WAAW,SAAS;KAC1C;KACA,SAAS,MAAM;KACf,CAAC,CAAC;MACD,EAAE,QAAQ,CAAC;AACd,UAAO,iBAAiB,iBAAiB;AACxC,UAAKA,QAAS;MACZ,EAAE,QAAQ,CAAC;;;AAGhB,QAAO;;;;;ACzCR,IAAI,6BAA6B,cAAc,YAAY;CAC1D,UAAU;CACV,OAAO;CACP,WAAW;CACX,IAAI,SAAS;AACZ,SAAO,MAAKI;;CAEb,IAAI,SAAS;AACZ,SAAO;;CAER,IAAI,MAAM;AACT,SAAO,MAAKC;;CAEb,IAAI,IAAI,KAAK;AACZ,QAAKA,MAAO;AACZ,MAAI,MAAKD,OAAS,OAAKA,OAAQ,MAAM;;CAEtC,IAAI,UAAU;AACb,SAAO,MAAKE,WAAY;;CAEzB,IAAI,QAAQ,OAAO;AAClB,QAAKA,UAAW;AAChB,MAAI,MAAKF,OAAS,OAAKA,OAAQ,UAAU;;CAE1C,OAAO,QAAQ;AACd,QAAKA,SAAU;AACf,MAAI,KAAK,YAAY,MAAKA,OAAQ,QAAS,OAAKA,OAAQ,UAAU,KAAK;AACvE,MAAI,KAAK,QAAQ,MAAKA,OAAQ,IAAK,OAAKA,OAAQ,MAAM,KAAK;;CAE5D,SAAS;AACR,QAAKA,SAAU;;CAEhB,UAAU;AACT,QAAKA,SAAU;;;AAGjB,IAAI,yBAAyB,cAAc,0BAA0B,2BAA2B,CAAC;AACjG,IAAI,uBAAuB,cAAc,cAAc,oBAAoB,uBAAuB,CAAC"}
1
+ {"version":3,"file":"native-hls-BuCYu7Rd.js","names":["#error","#init","#destroy","#disconnect","#target","#src","#preload"],"sources":["../../core/dist/dev/core/media/media-error.js","../../core/dist/dev/dom/media/native-hls/errors.js","../../core/dist/dev/dom/media/native-hls/index.js"],"sourcesContent":["//#region src/core/media/media-error.ts\nvar MediaError = class MediaError extends Error {\n\tstatic MEDIA_ERR_ABORTED = 1;\n\tstatic MEDIA_ERR_NETWORK = 2;\n\tstatic MEDIA_ERR_DECODE = 3;\n\tstatic MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\tstatic MEDIA_ERR_ENCRYPTED = 5;\n\tstatic MEDIA_ERR_CUSTOM = 100;\n\tstatic defaultMessages = {\n\t\t1: \"You aborted the media playback\",\n\t\t2: \"A network error caused the media download to fail.\",\n\t\t3: \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",\n\t\t4: \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",\n\t\t5: \"The media is encrypted and there are no keys to decrypt it.\"\n\t};\n\tname;\n\tcode;\n\tcontext;\n\tfatal;\n\tdata;\n\tconstructor(message, code = MediaError.MEDIA_ERR_CUSTOM, fatal, context) {\n\t\tsuper(message);\n\t\tthis.name = \"MediaError\";\n\t\tthis.code = code;\n\t\tthis.context = context;\n\t\tthis.fatal = fatal ?? (code >= MediaError.MEDIA_ERR_NETWORK && code <= MediaError.MEDIA_ERR_ENCRYPTED);\n\t\tif (!this.message) this.message = MediaError.defaultMessages[this.code] ?? \"\";\n\t}\n};\n//#endregion\nexport { MediaError };\n\n//# sourceMappingURL=media-error.js.map","import { MediaError } from \"../../../core/media/media-error.js\";\n//#region src/dom/media/native-hls/errors.ts\nfunction NativeHlsMediaErrorsMixin(BaseClass) {\n\tclass NativeHlsMediaErrors extends BaseClass {\n\t\t#disconnect = null;\n\t\t#error = null;\n\t\tget error() {\n\t\t\treturn this.#error;\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach(target);\n\t\t\tthis.#init(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.detach();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t\t#destroy() {\n\t\t\tthis.#disconnect?.abort();\n\t\t\tthis.#disconnect = null;\n\t\t\tthis.#error = null;\n\t\t}\n\t\t#init(target) {\n\t\t\tthis.#destroy();\n\t\t\tthis.#disconnect = new AbortController();\n\t\t\tconst signal = this.#disconnect.signal;\n\t\t\ttarget.addEventListener(\"error\", (event) => {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tconst native = target.error;\n\t\t\t\tif (!native) return;\n\t\t\t\tconst error = new MediaError(native.message, native.code, true);\n\t\t\t\tthis.#error = error;\n\t\t\t\tthis.dispatchEvent(new ErrorEvent(\"error\", {\n\t\t\t\t\terror,\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}));\n\t\t\t}, { signal });\n\t\t\ttarget.addEventListener(\"emptied\", () => {\n\t\t\t\tthis.#error = null;\n\t\t\t}, { signal });\n\t\t}\n\t}\n\treturn NativeHlsMediaErrors;\n}\n//#endregion\nexport { NativeHlsMediaErrorsMixin };\n\n//# sourceMappingURL=errors.js.map","import { DelegateMixin } from \"../../../core/media/delegate.js\";\nimport { VideoProxy } from \"../proxy.js\";\nimport { CustomVideoElement } from \"../custom-media-element/index.js\";\nimport { NativeHlsMediaErrorsMixin } from \"./errors.js\";\n//#region src/dom/media/native-hls/index.ts\nvar NativeHlsMediaDelegateBase = class extends EventTarget {\n\t#target = null;\n\t#src = \"\";\n\t#preload = \"metadata\";\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget engine() {\n\t\treturn null;\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\tset src(src) {\n\t\tthis.#src = src;\n\t\tif (this.#target) this.#target.src = src;\n\t}\n\tget preload() {\n\t\treturn this.#preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n\tattach(target) {\n\t\tthis.#target = target;\n\t\tif (this.preload !== this.#target.preload) this.#target.preload = this.preload;\n\t\tif (this.src !== this.#target.src) this.#target.src = this.src;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tdestroy() {\n\t\tthis.#target = null;\n\t}\n};\nvar NativeHlsMediaDelegate = class extends NativeHlsMediaErrorsMixin(NativeHlsMediaDelegateBase) {};\nvar NativeHlsCustomMedia = class extends DelegateMixin(CustomVideoElement, NativeHlsMediaDelegate) {};\nvar NativeHlsMedia = class extends DelegateMixin(VideoProxy, NativeHlsMediaDelegate) {};\n//#endregion\nexport { NativeHlsCustomMedia, NativeHlsMedia, NativeHlsMediaDelegate };\n\n//# sourceMappingURL=index.js.map"],"mappings":";;;AACA,IAAI,aAAa,MAAM,mBAAmB,MAAM;CAC/C,OAAO,oBAAoB;CAC3B,OAAO,oBAAoB;CAC3B,OAAO,mBAAmB;CAC1B,OAAO,8BAA8B;CACrC,OAAO,sBAAsB;CAC7B,OAAO,mBAAmB;CAC1B,OAAO,kBAAkB;EACxB,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;CACD;CACA;CACA;CACA;CACA;CACA,YAAY,SAAS,OAAO,WAAW,kBAAkB,OAAO,SAAS;AACxE,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,QAAQ,UAAU,QAAQ,WAAW,qBAAqB,QAAQ,WAAW;AAClF,MAAI,CAAC,KAAK,QAAS,MAAK,UAAU,WAAW,gBAAgB,KAAK,SAAS;;;;;;ACxB7E,SAAS,0BAA0B,WAAW;CAC7C,MAAM,6BAA6B,UAAU;EAC5C,cAAc;EACd,SAAS;EACT,IAAI,QAAQ;AACX,UAAO,MAAKA;;EAEb,OAAO,QAAQ;AACd,SAAM,OAAO,OAAO;AACpB,SAAKC,KAAM,OAAO;;EAEnB,SAAS;AACR,SAAKC,SAAU;AACf,SAAM,QAAQ;;EAEf,UAAU;AACT,SAAKA,SAAU;AACf,SAAM,SAAS;;EAEhB,WAAW;AACV,SAAKC,YAAa,OAAO;AACzB,SAAKA,aAAc;AACnB,SAAKH,QAAS;;EAEf,MAAM,QAAQ;AACb,SAAKE,SAAU;AACf,SAAKC,aAAc,IAAI,iBAAiB;GACxC,MAAM,SAAS,MAAKA,WAAY;AAChC,UAAO,iBAAiB,UAAU,UAAU;AAC3C,UAAM,0BAA0B;IAChC,MAAM,SAAS,OAAO;AACtB,QAAI,CAAC,OAAQ;IACb,MAAM,QAAQ,IAAI,WAAW,OAAO,SAAS,OAAO,MAAM,KAAK;AAC/D,UAAKH,QAAS;AACd,SAAK,cAAc,IAAI,WAAW,SAAS;KAC1C;KACA,SAAS,MAAM;KACf,CAAC,CAAC;MACD,EAAE,QAAQ,CAAC;AACd,UAAO,iBAAiB,iBAAiB;AACxC,UAAKA,QAAS;MACZ,EAAE,QAAQ,CAAC;;;AAGhB,QAAO;;;;;ACzCR,IAAI,6BAA6B,cAAc,YAAY;CAC1D,UAAU;CACV,OAAO;CACP,WAAW;CACX,IAAI,SAAS;AACZ,SAAO,MAAKI;;CAEb,IAAI,SAAS;AACZ,SAAO;;CAER,IAAI,MAAM;AACT,SAAO,MAAKC;;CAEb,IAAI,IAAI,KAAK;AACZ,QAAKA,MAAO;AACZ,MAAI,MAAKD,OAAS,OAAKA,OAAQ,MAAM;;CAEtC,IAAI,UAAU;AACb,SAAO,MAAKE,WAAY;;CAEzB,IAAI,QAAQ,OAAO;AAClB,QAAKA,UAAW;AAChB,MAAI,MAAKF,OAAS,OAAKA,OAAQ,UAAU;;CAE1C,OAAO,QAAQ;AACd,QAAKA,SAAU;AACf,MAAI,KAAK,YAAY,MAAKA,OAAQ,QAAS,OAAKA,OAAQ,UAAU,KAAK;AACvE,MAAI,KAAK,QAAQ,MAAKA,OAAQ,IAAK,OAAKA,OAAQ,MAAM,KAAK;;CAE5D,SAAS;AACR,QAAKA,SAAU;;CAEhB,UAAU;AACT,QAAKA,SAAU;;;AAGjB,IAAI,yBAAyB,cAAc,0BAA0B,2BAA2B,CAAC;AACjG,IAAI,uBAAuB,cAAc,cAAc,oBAAoB,uBAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
- import{i as e,r as t}from"./media-props-mixin-DrjlZybt.js";var n=class e extends Error{static MEDIA_ERR_ABORTED=1;static MEDIA_ERR_NETWORK=2;static MEDIA_ERR_DECODE=3;static MEDIA_ERR_SRC_NOT_SUPPORTED=4;static MEDIA_ERR_ENCRYPTED=5;static MEDIA_ERR_CUSTOM=100;static defaultMessages={1:`You aborted the media playback`,2:`A network error caused the media download to fail.`,3:`A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.`,4:`An unsupported error occurred. The server or network failed, or your browser does not support this format.`,5:`The media is encrypted and there are no keys to decrypt it.`};name;code;context;fatal;data;constructor(t,n=e.MEDIA_ERR_CUSTOM,r,i){super(t),this.name=`MediaError`,this.code=n,this.context=i,this.fatal=r??(n>=e.MEDIA_ERR_NETWORK&&n<=e.MEDIA_ERR_ENCRYPTED),this.message||=e.defaultMessages[this.code]??``}};function r(e){class t extends e{#e=null;#t=null;get error(){return this.#t}attach(e){super.attach(e),this.#r(e)}detach(){this.#n(),super.detach()}destroy(){this.#n(),super.destroy()}#n(){this.#e?.abort(),this.#e=null,this.#t=null}#r(e){this.#n(),this.#e=new AbortController;let t=this.#e.signal;e.addEventListener(`error`,t=>{t.stopImmediatePropagation();let r=e.error;if(!r)return;let i=new n(r.message,r.code,!0);this.#t=i,this.dispatchEvent(new ErrorEvent(`error`,{error:i,message:i.message}))},{signal:t}),e.addEventListener(`emptied`,()=>{this.#t=null},{signal:t})}}return t}var i=class extends EventTarget{#e=null;#t=``;#n=`metadata`;get target(){return this.#e}get engine(){return null}get src(){return this.#t}set src(e){this.#t=e,this.#e&&(this.#e.src=e)}get preload(){return this.#n??`metadata`}set preload(e){this.#n=e,this.#e&&(this.#e.preload=e)}attach(e){this.#e=e,this.preload!==this.#e.preload&&(this.#e.preload=this.preload),this.src!==this.#e.src&&(this.#e.src=this.src)}detach(){this.#e=null}destroy(){this.#e=null}},a=class extends r(i){},o=class extends e(t,a){};export{a as n,n as r,o as t};
2
- //# sourceMappingURL=native-hls-BU8--1Kg.js.map
1
+ import{i as e,r as t}from"./media-props-mixin-yRWj8yXF.js";var n=class e extends Error{static MEDIA_ERR_ABORTED=1;static MEDIA_ERR_NETWORK=2;static MEDIA_ERR_DECODE=3;static MEDIA_ERR_SRC_NOT_SUPPORTED=4;static MEDIA_ERR_ENCRYPTED=5;static MEDIA_ERR_CUSTOM=100;static defaultMessages={1:`You aborted the media playback`,2:`A network error caused the media download to fail.`,3:`A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.`,4:`An unsupported error occurred. The server or network failed, or your browser does not support this format.`,5:`The media is encrypted and there are no keys to decrypt it.`};name;code;context;fatal;data;constructor(t,n=e.MEDIA_ERR_CUSTOM,r,i){super(t),this.name=`MediaError`,this.code=n,this.context=i,this.fatal=r??(n>=e.MEDIA_ERR_NETWORK&&n<=e.MEDIA_ERR_ENCRYPTED),this.message||=e.defaultMessages[this.code]??``}};function r(e){class t extends e{#e=null;#t=null;get error(){return this.#t}attach(e){super.attach(e),this.#r(e)}detach(){this.#n(),super.detach()}destroy(){this.#n(),super.destroy()}#n(){this.#e?.abort(),this.#e=null,this.#t=null}#r(e){this.#n(),this.#e=new AbortController;let t=this.#e.signal;e.addEventListener(`error`,t=>{t.stopImmediatePropagation();let r=e.error;if(!r)return;let i=new n(r.message,r.code,!0);this.#t=i,this.dispatchEvent(new ErrorEvent(`error`,{error:i,message:i.message}))},{signal:t}),e.addEventListener(`emptied`,()=>{this.#t=null},{signal:t})}}return t}var i=class extends EventTarget{#e=null;#t=``;#n=`metadata`;get target(){return this.#e}get engine(){return null}get src(){return this.#t}set src(e){this.#t=e,this.#e&&(this.#e.src=e)}get preload(){return this.#n??`metadata`}set preload(e){this.#n=e,this.#e&&(this.#e.preload=e)}attach(e){this.#e=e,this.preload!==this.#e.preload&&(this.#e.preload=this.preload),this.src!==this.#e.src&&(this.#e.src=this.src)}detach(){this.#e=null}destroy(){this.#e=null}},a=class extends r(i){},o=class extends e(t,a){};export{a as n,n as r,o as t};
2
+ //# sourceMappingURL=native-hls-DnqJ-0zL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-hls-BU8--1Kg.js","names":["#error","#init","#destroy","#disconnect","#target","#src","#preload"],"sources":["../../core/dist/default/core/media/media-error.js","../../core/dist/default/dom/media/native-hls/errors.js","../../core/dist/default/dom/media/native-hls/index.js"],"sourcesContent":["//#region src/core/media/media-error.ts\nvar MediaError = class MediaError extends Error {\n\tstatic MEDIA_ERR_ABORTED = 1;\n\tstatic MEDIA_ERR_NETWORK = 2;\n\tstatic MEDIA_ERR_DECODE = 3;\n\tstatic MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\tstatic MEDIA_ERR_ENCRYPTED = 5;\n\tstatic MEDIA_ERR_CUSTOM = 100;\n\tstatic defaultMessages = {\n\t\t1: \"You aborted the media playback\",\n\t\t2: \"A network error caused the media download to fail.\",\n\t\t3: \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",\n\t\t4: \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",\n\t\t5: \"The media is encrypted and there are no keys to decrypt it.\"\n\t};\n\tname;\n\tcode;\n\tcontext;\n\tfatal;\n\tdata;\n\tconstructor(message, code = MediaError.MEDIA_ERR_CUSTOM, fatal, context) {\n\t\tsuper(message);\n\t\tthis.name = \"MediaError\";\n\t\tthis.code = code;\n\t\tthis.context = context;\n\t\tthis.fatal = fatal ?? (code >= MediaError.MEDIA_ERR_NETWORK && code <= MediaError.MEDIA_ERR_ENCRYPTED);\n\t\tif (!this.message) this.message = MediaError.defaultMessages[this.code] ?? \"\";\n\t}\n};\n//#endregion\nexport { MediaError };\n\n//# sourceMappingURL=media-error.js.map","import { MediaError } from \"../../../core/media/media-error.js\";\n//#region src/dom/media/native-hls/errors.ts\nfunction NativeHlsMediaErrorsMixin(BaseClass) {\n\tclass NativeHlsMediaErrors extends BaseClass {\n\t\t#disconnect = null;\n\t\t#error = null;\n\t\tget error() {\n\t\t\treturn this.#error;\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach(target);\n\t\t\tthis.#init(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.detach();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t\t#destroy() {\n\t\t\tthis.#disconnect?.abort();\n\t\t\tthis.#disconnect = null;\n\t\t\tthis.#error = null;\n\t\t}\n\t\t#init(target) {\n\t\t\tthis.#destroy();\n\t\t\tthis.#disconnect = new AbortController();\n\t\t\tconst signal = this.#disconnect.signal;\n\t\t\ttarget.addEventListener(\"error\", (event) => {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tconst native = target.error;\n\t\t\t\tif (!native) return;\n\t\t\t\tconst error = new MediaError(native.message, native.code, true);\n\t\t\t\tthis.#error = error;\n\t\t\t\tthis.dispatchEvent(new ErrorEvent(\"error\", {\n\t\t\t\t\terror,\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}));\n\t\t\t}, { signal });\n\t\t\ttarget.addEventListener(\"emptied\", () => {\n\t\t\t\tthis.#error = null;\n\t\t\t}, { signal });\n\t\t}\n\t}\n\treturn NativeHlsMediaErrors;\n}\n//#endregion\nexport { NativeHlsMediaErrorsMixin };\n\n//# sourceMappingURL=errors.js.map","import { DelegateMixin } from \"../../../core/media/delegate.js\";\nimport { VideoProxy } from \"../proxy.js\";\nimport { CustomVideoElement } from \"../custom-media-element/index.js\";\nimport { NativeHlsMediaErrorsMixin } from \"./errors.js\";\n//#region src/dom/media/native-hls/index.ts\nvar NativeHlsMediaDelegateBase = class extends EventTarget {\n\t#target = null;\n\t#src = \"\";\n\t#preload = \"metadata\";\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget engine() {\n\t\treturn null;\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\tset src(src) {\n\t\tthis.#src = src;\n\t\tif (this.#target) this.#target.src = src;\n\t}\n\tget preload() {\n\t\treturn this.#preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n\tattach(target) {\n\t\tthis.#target = target;\n\t\tif (this.preload !== this.#target.preload) this.#target.preload = this.preload;\n\t\tif (this.src !== this.#target.src) this.#target.src = this.src;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tdestroy() {\n\t\tthis.#target = null;\n\t}\n};\nvar NativeHlsMediaDelegate = class extends NativeHlsMediaErrorsMixin(NativeHlsMediaDelegateBase) {};\nvar NativeHlsCustomMedia = class extends DelegateMixin(CustomVideoElement, NativeHlsMediaDelegate) {};\nvar NativeHlsMedia = class extends DelegateMixin(VideoProxy, NativeHlsMediaDelegate) {};\n//#endregion\nexport { NativeHlsCustomMedia, NativeHlsMedia, NativeHlsMediaDelegate };\n\n//# sourceMappingURL=index.js.map"],"mappings":"2DACA,IAAI,EAAa,MAAM,UAAmB,KAAM,CAC/C,OAAO,kBAAoB,EAC3B,OAAO,kBAAoB,EAC3B,OAAO,iBAAmB,EAC1B,OAAO,4BAA8B,EACrC,OAAO,oBAAsB,EAC7B,OAAO,iBAAmB,IAC1B,OAAO,gBAAkB,CACxB,EAAG,iCACH,EAAG,qDACH,EAAG,wHACH,EAAG,6GACH,EAAG,8DACH,CACD,KACA,KACA,QACA,MACA,KACA,YAAY,EAAS,EAAO,EAAW,iBAAkB,EAAO,EAAS,CACxE,MAAM,EAAQ,CACd,KAAK,KAAO,aACZ,KAAK,KAAO,EACZ,KAAK,QAAU,EACf,KAAK,MAAQ,IAAU,GAAQ,EAAW,mBAAqB,GAAQ,EAAW,qBAClF,AAAmB,KAAK,UAAU,EAAW,gBAAgB,KAAK,OAAS,KCxB7E,SAAS,EAA0B,EAAW,CAC7C,MAAM,UAA6B,CAAU,CAC5C,GAAc,KACd,GAAS,KACT,IAAI,OAAQ,CACX,OAAO,MAAA,EAER,OAAO,EAAQ,CACd,MAAM,OAAO,EAAO,CACpB,MAAA,EAAW,EAAO,CAEnB,QAAS,CACR,MAAA,GAAe,CACf,MAAM,QAAQ,CAEf,SAAU,CACT,MAAA,GAAe,CACf,MAAM,SAAS,CAEhB,IAAW,CACV,MAAA,GAAkB,OAAO,CACzB,MAAA,EAAmB,KACnB,MAAA,EAAc,KAEf,GAAM,EAAQ,CACb,MAAA,GAAe,CACf,MAAA,EAAmB,IAAI,gBACvB,IAAM,EAAS,MAAA,EAAiB,OAChC,EAAO,iBAAiB,QAAU,GAAU,CAC3C,EAAM,0BAA0B,CAChC,IAAM,EAAS,EAAO,MACtB,GAAI,CAAC,EAAQ,OACb,IAAM,EAAQ,IAAI,EAAW,EAAO,QAAS,EAAO,KAAM,GAAK,CAC/D,MAAA,EAAc,EACd,KAAK,cAAc,IAAI,WAAW,QAAS,CAC1C,QACA,QAAS,EAAM,QACf,CAAC,CAAC,EACD,CAAE,SAAQ,CAAC,CACd,EAAO,iBAAiB,cAAiB,CACxC,MAAA,EAAc,MACZ,CAAE,SAAQ,CAAC,EAGhB,OAAO,ECzCR,IAAI,EAA6B,cAAc,WAAY,CAC1D,GAAU,KACV,GAAO,GACP,GAAW,WACX,IAAI,QAAS,CACZ,OAAO,MAAA,EAER,IAAI,QAAS,CACZ,OAAO,KAER,IAAI,KAAM,CACT,OAAO,MAAA,EAER,IAAI,IAAI,EAAK,CACZ,MAAA,EAAY,EACR,MAAA,IAAc,MAAA,EAAa,IAAM,GAEtC,IAAI,SAAU,CACb,OAAO,MAAA,GAAiB,WAEzB,IAAI,QAAQ,EAAO,CAClB,MAAA,EAAgB,EACZ,MAAA,IAAc,MAAA,EAAa,QAAU,GAE1C,OAAO,EAAQ,CACd,MAAA,EAAe,EACX,KAAK,UAAY,MAAA,EAAa,UAAS,MAAA,EAAa,QAAU,KAAK,SACnE,KAAK,MAAQ,MAAA,EAAa,MAAK,MAAA,EAAa,IAAM,KAAK,KAE5D,QAAS,CACR,MAAA,EAAe,KAEhB,SAAU,CACT,MAAA,EAAe,OAGb,EAAyB,cAAc,EAA0B,EAA2B,AAAC,GAC7F,EAAuB,cAAc,EAAc,EAAoB,EAAuB,AAAC"}
1
+ {"version":3,"file":"native-hls-DnqJ-0zL.js","names":["#error","#init","#destroy","#disconnect","#target","#src","#preload"],"sources":["../../core/dist/default/core/media/media-error.js","../../core/dist/default/dom/media/native-hls/errors.js","../../core/dist/default/dom/media/native-hls/index.js"],"sourcesContent":["//#region src/core/media/media-error.ts\nvar MediaError = class MediaError extends Error {\n\tstatic MEDIA_ERR_ABORTED = 1;\n\tstatic MEDIA_ERR_NETWORK = 2;\n\tstatic MEDIA_ERR_DECODE = 3;\n\tstatic MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\tstatic MEDIA_ERR_ENCRYPTED = 5;\n\tstatic MEDIA_ERR_CUSTOM = 100;\n\tstatic defaultMessages = {\n\t\t1: \"You aborted the media playback\",\n\t\t2: \"A network error caused the media download to fail.\",\n\t\t3: \"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.\",\n\t\t4: \"An unsupported error occurred. The server or network failed, or your browser does not support this format.\",\n\t\t5: \"The media is encrypted and there are no keys to decrypt it.\"\n\t};\n\tname;\n\tcode;\n\tcontext;\n\tfatal;\n\tdata;\n\tconstructor(message, code = MediaError.MEDIA_ERR_CUSTOM, fatal, context) {\n\t\tsuper(message);\n\t\tthis.name = \"MediaError\";\n\t\tthis.code = code;\n\t\tthis.context = context;\n\t\tthis.fatal = fatal ?? (code >= MediaError.MEDIA_ERR_NETWORK && code <= MediaError.MEDIA_ERR_ENCRYPTED);\n\t\tif (!this.message) this.message = MediaError.defaultMessages[this.code] ?? \"\";\n\t}\n};\n//#endregion\nexport { MediaError };\n\n//# sourceMappingURL=media-error.js.map","import { MediaError } from \"../../../core/media/media-error.js\";\n//#region src/dom/media/native-hls/errors.ts\nfunction NativeHlsMediaErrorsMixin(BaseClass) {\n\tclass NativeHlsMediaErrors extends BaseClass {\n\t\t#disconnect = null;\n\t\t#error = null;\n\t\tget error() {\n\t\t\treturn this.#error;\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach(target);\n\t\t\tthis.#init(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.detach();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#destroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t\t#destroy() {\n\t\t\tthis.#disconnect?.abort();\n\t\t\tthis.#disconnect = null;\n\t\t\tthis.#error = null;\n\t\t}\n\t\t#init(target) {\n\t\t\tthis.#destroy();\n\t\t\tthis.#disconnect = new AbortController();\n\t\t\tconst signal = this.#disconnect.signal;\n\t\t\ttarget.addEventListener(\"error\", (event) => {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tconst native = target.error;\n\t\t\t\tif (!native) return;\n\t\t\t\tconst error = new MediaError(native.message, native.code, true);\n\t\t\t\tthis.#error = error;\n\t\t\t\tthis.dispatchEvent(new ErrorEvent(\"error\", {\n\t\t\t\t\terror,\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}));\n\t\t\t}, { signal });\n\t\t\ttarget.addEventListener(\"emptied\", () => {\n\t\t\t\tthis.#error = null;\n\t\t\t}, { signal });\n\t\t}\n\t}\n\treturn NativeHlsMediaErrors;\n}\n//#endregion\nexport { NativeHlsMediaErrorsMixin };\n\n//# sourceMappingURL=errors.js.map","import { DelegateMixin } from \"../../../core/media/delegate.js\";\nimport { VideoProxy } from \"../proxy.js\";\nimport { CustomVideoElement } from \"../custom-media-element/index.js\";\nimport { NativeHlsMediaErrorsMixin } from \"./errors.js\";\n//#region src/dom/media/native-hls/index.ts\nvar NativeHlsMediaDelegateBase = class extends EventTarget {\n\t#target = null;\n\t#src = \"\";\n\t#preload = \"metadata\";\n\tget target() {\n\t\treturn this.#target;\n\t}\n\tget engine() {\n\t\treturn null;\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\tset src(src) {\n\t\tthis.#src = src;\n\t\tif (this.#target) this.#target.src = src;\n\t}\n\tget preload() {\n\t\treturn this.#preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n\tattach(target) {\n\t\tthis.#target = target;\n\t\tif (this.preload !== this.#target.preload) this.#target.preload = this.preload;\n\t\tif (this.src !== this.#target.src) this.#target.src = this.src;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tdestroy() {\n\t\tthis.#target = null;\n\t}\n};\nvar NativeHlsMediaDelegate = class extends NativeHlsMediaErrorsMixin(NativeHlsMediaDelegateBase) {};\nvar NativeHlsCustomMedia = class extends DelegateMixin(CustomVideoElement, NativeHlsMediaDelegate) {};\nvar NativeHlsMedia = class extends DelegateMixin(VideoProxy, NativeHlsMediaDelegate) {};\n//#endregion\nexport { NativeHlsCustomMedia, NativeHlsMedia, NativeHlsMediaDelegate };\n\n//# sourceMappingURL=index.js.map"],"mappings":"2DACA,IAAI,EAAa,MAAM,UAAmB,KAAM,CAC/C,OAAO,kBAAoB,EAC3B,OAAO,kBAAoB,EAC3B,OAAO,iBAAmB,EAC1B,OAAO,4BAA8B,EACrC,OAAO,oBAAsB,EAC7B,OAAO,iBAAmB,IAC1B,OAAO,gBAAkB,CACxB,EAAG,iCACH,EAAG,qDACH,EAAG,wHACH,EAAG,6GACH,EAAG,8DACH,CACD,KACA,KACA,QACA,MACA,KACA,YAAY,EAAS,EAAO,EAAW,iBAAkB,EAAO,EAAS,CACxE,MAAM,EAAQ,CACd,KAAK,KAAO,aACZ,KAAK,KAAO,EACZ,KAAK,QAAU,EACf,KAAK,MAAQ,IAAU,GAAQ,EAAW,mBAAqB,GAAQ,EAAW,qBAClF,AAAmB,KAAK,UAAU,EAAW,gBAAgB,KAAK,OAAS,KCxB7E,SAAS,EAA0B,EAAW,CAC7C,MAAM,UAA6B,CAAU,CAC5C,GAAc,KACd,GAAS,KACT,IAAI,OAAQ,CACX,OAAO,MAAA,EAER,OAAO,EAAQ,CACd,MAAM,OAAO,EAAO,CACpB,MAAA,EAAW,EAAO,CAEnB,QAAS,CACR,MAAA,GAAe,CACf,MAAM,QAAQ,CAEf,SAAU,CACT,MAAA,GAAe,CACf,MAAM,SAAS,CAEhB,IAAW,CACV,MAAA,GAAkB,OAAO,CACzB,MAAA,EAAmB,KACnB,MAAA,EAAc,KAEf,GAAM,EAAQ,CACb,MAAA,GAAe,CACf,MAAA,EAAmB,IAAI,gBACvB,IAAM,EAAS,MAAA,EAAiB,OAChC,EAAO,iBAAiB,QAAU,GAAU,CAC3C,EAAM,0BAA0B,CAChC,IAAM,EAAS,EAAO,MACtB,GAAI,CAAC,EAAQ,OACb,IAAM,EAAQ,IAAI,EAAW,EAAO,QAAS,EAAO,KAAM,GAAK,CAC/D,MAAA,EAAc,EACd,KAAK,cAAc,IAAI,WAAW,QAAS,CAC1C,QACA,QAAS,EAAM,QACf,CAAC,CAAC,EACD,CAAE,SAAQ,CAAC,CACd,EAAO,iBAAiB,cAAiB,CACxC,MAAA,EAAc,MACZ,CAAE,SAAQ,CAAC,EAGhB,OAAO,ECzCR,IAAI,EAA6B,cAAc,WAAY,CAC1D,GAAU,KACV,GAAO,GACP,GAAW,WACX,IAAI,QAAS,CACZ,OAAO,MAAA,EAER,IAAI,QAAS,CACZ,OAAO,KAER,IAAI,KAAM,CACT,OAAO,MAAA,EAER,IAAI,IAAI,EAAK,CACZ,MAAA,EAAY,EACR,MAAA,IAAc,MAAA,EAAa,IAAM,GAEtC,IAAI,SAAU,CACb,OAAO,MAAA,GAAiB,WAEzB,IAAI,QAAQ,EAAO,CAClB,MAAA,EAAgB,EACZ,MAAA,IAAc,MAAA,EAAa,QAAU,GAE1C,OAAO,EAAQ,CACd,MAAA,EAAe,EACX,KAAK,UAAY,MAAA,EAAa,UAAS,MAAA,EAAa,QAAU,KAAK,SACnE,KAAK,MAAQ,MAAA,EAAa,MAAK,MAAA,EAAa,IAAM,KAAK,KAE5D,QAAS,CACR,MAAA,EAAe,KAEhB,SAAU,CACT,MAAA,EAAe,OAGb,EAAyB,cAAc,EAA0B,EAA2B,AAAC,GAC7F,EAAuB,cAAc,EAAc,EAAoB,EAAuB,AAAC"}
@@ -0,0 +1,2 @@
1
+ import{D as e,O as t,i as n,t as r}from"./create-player-Gom2ZZe3.js";import{o as i}from"./context-C-IpVHEt.js";const{ProviderMixin:a}=r({features:n});var o=class extends a(t){static{this.tagName=`audio-player`}};i(o),i(e);export{o as t};
2
+ //# sourceMappingURL=player-Cu5_r0Gk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"player-DAmuLGE1.js","names":[],"sources":["../src/define/audio/player.ts"],"sourcesContent":["import { audioFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: audioFeatures,\n});\n\nexport class AudioPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'audio-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioPlayerElement.tagName]: AudioPlayerElement;\n }\n}\n"],"mappings":"+GAMA,KAAM,CAAE,iBAAkB,EAAa,CACrC,SAAU,EACX,CAAC,CAOF,EALA,cAAwC,EAAc,EAAa,AAAC,qBACxC,iBAIE,CAC9B,EAAW,EAAsB"}
1
+ {"version":3,"file":"player-Cu5_r0Gk.js","names":[],"sources":["../src/define/audio/player.ts"],"sourcesContent":["import { audioFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: audioFeatures,\n});\n\nexport class AudioPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'audio-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioPlayerElement.tagName]: AudioPlayerElement;\n }\n}\n"],"mappings":"+GAMA,KAAM,CAAE,iBAAkB,EAAa,CACrC,SAAU,EACX,CAAC,CAEF,IAAa,EAAb,cAAwC,EAAc,EAAa,AAAC,qBACxC,iBAI5B,EAAW,EAAmB,CAC9B,EAAW,EAAsB"}
@@ -1,18 +1,7 @@
1
- import { c as selectPiP, d as selectTextTrack, i as logMissingFeature, l as selectPlayback, m as defaults, n as MediaButtonElement, o as selectControls, r as applyStateDataAttrs, s as selectFullscreen, t as ContextPartElement } from "./volume-slider-C6ek7oC9.js";
2
- import { E as isFunction, S as createState, a as MediaElement, i as MediaContainerElement, n as PlayerController, o as ContextProvider, s as ContextConsumer, t as createPlayer, u as videoFeatures } from "./create-player-DckZq-sE.js";
3
- import { i as createContext, o as safeDefine, r as playerContext } from "./context-CvJ83xGk.js";
1
+ import { _ as selectFullscreen, h as logMissingFeature, m as applyStateDataAttrs, p as MediaButtonElement, v as selectPiP, w as defaults, x as selectTextTrack, y as selectPlayback } from "./compounds-VFPcCeRV.js";
2
+ import { C as isFunction, D as MediaContainerElement, O as MediaElement, n as PlayerController, o as videoFeatures, t as createPlayer, y as createState } from "./create-player-CyG77t-m.js";
3
+ import { o as safeDefine, r as playerContext } from "./context-CvJ83xGk.js";
4
4
 
5
- //#region src/define/video/player.ts
6
- const { ProviderMixin } = createPlayer({ features: videoFeatures });
7
- var VideoPlayerElement = class extends ProviderMixin(MediaElement) {
8
- static {
9
- this.tagName = "video-player";
10
- }
11
- };
12
- safeDefine(VideoPlayerElement);
13
- safeDefine(MediaContainerElement);
14
-
15
- //#endregion
16
5
  //#region ../core/dist/dev/core/ui/buffering-indicator/buffering-indicator-core.js
17
6
  var BufferingIndicatorCore = class BufferingIndicatorCore {
18
7
  static defaultProps = { delay: 500 };
@@ -108,29 +97,6 @@ const CaptionsButtonDataAttrs = {
108
97
  availability: "data-availability"
109
98
  };
110
99
 
111
- //#endregion
112
- //#region ../core/dist/dev/core/ui/controls/controls-core.js
113
- var ControlsCore = class {
114
- #media = null;
115
- setMedia(media) {
116
- this.#media = media;
117
- }
118
- getState() {
119
- const media = this.#media;
120
- return {
121
- visible: media.controlsVisible,
122
- userActive: media.userActive
123
- };
124
- }
125
- };
126
-
127
- //#endregion
128
- //#region ../core/dist/dev/core/ui/controls/controls-data-attrs.js
129
- const ControlsDataAttrs = {
130
- visible: "data-visible",
131
- userActive: "data-user-active"
132
- };
133
-
134
100
  //#endregion
135
101
  //#region ../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-core.js
136
102
  var FullscreenButtonCore = class FullscreenButtonCore {
@@ -314,10 +280,6 @@ var BufferingIndicatorElement = class extends MediaElement {
314
280
  }
315
281
  };
316
282
 
317
- //#endregion
318
- //#region src/define/ui/buffering-indicator.ts
319
- safeDefine(BufferingIndicatorElement);
320
-
321
283
  //#endregion
322
284
  //#region src/ui/captions-button/captions-button-element.ts
323
285
  var CaptionsButtonElement = class extends MediaButtonElement {
@@ -336,66 +298,6 @@ var CaptionsButtonElement = class extends MediaButtonElement {
336
298
  }
337
299
  };
338
300
 
339
- //#endregion
340
- //#region src/define/ui/captions-button.ts
341
- safeDefine(CaptionsButtonElement);
342
-
343
- //#endregion
344
- //#region src/ui/controls/context.ts
345
- const CONTROLS_CONTEXT_KEY = Symbol("@videojs/controls");
346
- const controlsContext = createContext(CONTROLS_CONTEXT_KEY);
347
-
348
- //#endregion
349
- //#region src/ui/controls/controls-element.ts
350
- var ControlsElement = class extends MediaElement {
351
- static {
352
- this.tagName = "media-controls";
353
- }
354
- #core = new ControlsCore();
355
- #mediaState = new PlayerController(this, playerContext, selectControls);
356
- #provider = new ContextProvider(this, { context: controlsContext });
357
- connectedCallback() {
358
- super.connectedCallback();
359
- if (!this.#mediaState.value && this.#mediaState.displayName) logMissingFeature(this.localName, this.#mediaState.displayName);
360
- }
361
- update(_changed) {
362
- super.update(_changed);
363
- const media = this.#mediaState.value;
364
- if (!media) return;
365
- this.#core.setMedia(media);
366
- const state = this.#core.getState();
367
- applyStateDataAttrs(this, state, ControlsDataAttrs);
368
- this.#provider.setValue({
369
- state,
370
- stateAttrMap: ControlsDataAttrs
371
- });
372
- }
373
- };
374
-
375
- //#endregion
376
- //#region src/ui/controls/controls-group-element.ts
377
- var ControlsGroupElement = class extends ContextPartElement {
378
- constructor(..._args) {
379
- super(..._args);
380
- this.consumer = new ContextConsumer(this, {
381
- context: controlsContext,
382
- subscribe: true
383
- });
384
- }
385
- static {
386
- this.tagName = "media-controls-group";
387
- }
388
- connectedCallback() {
389
- super.connectedCallback();
390
- if (this.hasAttribute("aria-label") || this.hasAttribute("aria-labelledby")) this.setAttribute("role", "group");
391
- }
392
- };
393
-
394
- //#endregion
395
- //#region src/define/ui/controls.ts
396
- safeDefine(ControlsElement);
397
- safeDefine(ControlsGroupElement);
398
-
399
301
  //#endregion
400
302
  //#region src/ui/fullscreen-button/fullscreen-button-element.ts
401
303
  var FullscreenButtonElement = class extends MediaButtonElement {
@@ -414,10 +316,6 @@ var FullscreenButtonElement = class extends MediaButtonElement {
414
316
  }
415
317
  };
416
318
 
417
- //#endregion
418
- //#region src/define/ui/fullscreen-button.ts
419
- safeDefine(FullscreenButtonElement);
420
-
421
319
  //#endregion
422
320
  //#region src/ui/pip-button/pip-button-element.ts
423
321
  var PiPButtonElement = class extends MediaButtonElement {
@@ -426,7 +324,7 @@ var PiPButtonElement = class extends MediaButtonElement {
426
324
  this.core = new PiPButtonCore();
427
325
  this.stateAttrMap = PiPButtonDataAttrs;
428
326
  this.mediaState = new PlayerController(this, playerContext, selectPiP);
429
- this.hotkeyAction = "togglePiP";
327
+ this.hotkeyAction = "togglePictureInPicture";
430
328
  }
431
329
  static {
432
330
  this.tagName = "media-pip-button";
@@ -436,10 +334,6 @@ var PiPButtonElement = class extends MediaButtonElement {
436
334
  }
437
335
  };
438
336
 
439
- //#endregion
440
- //#region src/define/ui/pip-button.ts
441
- safeDefine(PiPButtonElement);
442
-
443
337
  //#endregion
444
338
  //#region src/ui/media-ui-element.ts
445
339
  /** Abstract base for HTML custom elements that display media state with data attributes. */
@@ -473,8 +367,16 @@ var PosterElement = class extends MediaUIElement {
473
367
  };
474
368
 
475
369
  //#endregion
476
- //#region src/define/ui/poster.ts
477
- safeDefine(PosterElement);
370
+ //#region src/define/video/player.ts
371
+ const { ProviderMixin } = createPlayer({ features: videoFeatures });
372
+ var VideoPlayerElement = class extends ProviderMixin(MediaElement) {
373
+ static {
374
+ this.tagName = "video-player";
375
+ }
376
+ };
377
+ safeDefine(VideoPlayerElement);
378
+ safeDefine(MediaContainerElement);
478
379
 
479
380
  //#endregion
480
- //# sourceMappingURL=poster-qAhnKWea.js.map
381
+ export { CaptionsButtonElement as a, FullscreenButtonElement as i, PosterElement as n, BufferingIndicatorElement as o, PiPButtonElement as r, VideoPlayerElement as t };
382
+ //# sourceMappingURL=player-DIOgBqQf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-DIOgBqQf.js","names":["#props","#clearTimer","#timer","#props","#media","#props","#media","#props","#media","#media","#core","#state","#disconnect"],"sources":["../../core/dist/dev/core/ui/buffering-indicator/buffering-indicator-core.js","../../core/dist/dev/core/ui/buffering-indicator/buffering-indicator-data-attrs.js","../../core/dist/dev/core/ui/captions-button/captions-button-core.js","../../core/dist/dev/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/dev/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/dev/core/ui/pip-button/pip-button-core.js","../../core/dist/dev/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/dev/core/ui/poster/poster-core.js","../../core/dist/dev/core/ui/poster/poster-data-attrs.js","../src/ui/buffering-indicator/buffering-indicator-element.ts","../src/ui/captions-button/captions-button-element.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/ui/pip-button/pip-button-element.ts","../src/ui/media-ui-element.ts","../src/ui/poster/poster-element.ts","../src/define/video/player.ts"],"sourcesContent":["import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/buffering-indicator/buffering-indicator-core.ts\nvar BufferingIndicatorCore = class BufferingIndicatorCore {\n\tstatic defaultProps = { delay: 500 };\n\tstate = createState({ visible: false });\n\t#props = { ...BufferingIndicatorCore.defaultProps };\n\t#timer = null;\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, BufferingIndicatorCore.defaultProps);\n\t}\n\tdestroy() {\n\t\tthis.#clearTimer();\n\t}\n\tupdate(media) {\n\t\tconst buffering = media.waiting && !media.paused;\n\t\tif (buffering && !this.state.current.visible && !this.#timer) this.#timer = setTimeout(() => {\n\t\t\tthis.#timer = null;\n\t\t\tthis.state.patch({ visible: true });\n\t\t}, this.#props.delay);\n\t\telse if (!buffering) {\n\t\t\tthis.#clearTimer();\n\t\t\tthis.state.patch({ visible: false });\n\t\t}\n\t}\n\t#clearTimer() {\n\t\tif (this.#timer !== null) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = null;\n\t\t}\n\t}\n};\n//#endregion\nexport { BufferingIndicatorCore };\n\n//# sourceMappingURL=buffering-indicator-core.js.map","//#region src/core/ui/buffering-indicator/buffering-indicator-data-attrs.ts\nconst BufferingIndicatorDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { BufferingIndicatorDataAttrs };\n\n//# sourceMappingURL=buffering-indicator-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.subtitlesShowing ? \"Disable captions\" : \"Enable captions\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some((t) => t.kind === \"captions\" || t.kind === \"subtitles\") ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\tsubtitlesShowing: \"data-active\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.fullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability: media.fullscreenAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.fullscreenAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.fullscreen) await media.exitFullscreen();\n\t\t\telse await media.requestFullscreen();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\tfullscreen: \"data-fullscreen\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.pip ? \"Exit picture-in-picture\" : \"Enter picture-in-picture\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability: media.pipAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.pipAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.pip) await media.exitPictureInPicture();\n\t\t\telse await media.requestPictureInPicture();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\tpip: \"data-pip\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class BufferingIndicatorElement extends MediaElement {\n static readonly tagName = 'media-buffering-indicator';\n\n static override properties = {\n delay: { type: Number },\n } satisfies PropertyDeclarationMap<keyof BufferingIndicatorCore.Props>;\n\n delay = BufferingIndicatorCore.defaultProps.delay;\n\n readonly #core = new BufferingIndicatorCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n\n this.#core.state.subscribe(() => this.requestUpdate(), {\n signal: this.#disconnect.signal,\n });\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.update(media);\n applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);\n }\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs, type MediaTextTrackState } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n","import { type MediaPictureInPictureState, PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePictureInPicture';\n\n protected activate(state: MediaPictureInPictureState): void {\n this.core.toggle(state);\n }\n}\n","import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\n}\n","import { videoFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: videoFeatures,\n});\n\nexport class VideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoPlayerElement.tagName]: VideoPlayerElement;\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as MediaElement, c as audioFeatures, i as MediaContainerElement, t as createPlayer } from "./create-player-DckZq-sE.js";
1
+ import { D as MediaContainerElement, O as MediaElement, i as audioFeatures, t as createPlayer } from "./create-player-CyG77t-m.js";
2
2
  import { o as safeDefine } from "./context-CvJ83xGk.js";
3
3
 
4
4
  //#region src/define/audio/player.ts
@@ -12,4 +12,5 @@ safeDefine(AudioPlayerElement);
12
12
  safeDefine(MediaContainerElement);
13
13
 
14
14
  //#endregion
15
- //# sourceMappingURL=player-Dbl1MUJ2.js.map
15
+ export { AudioPlayerElement as t };
16
+ //# sourceMappingURL=player-DxBoqZVw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"player-Dbl1MUJ2.js","names":[],"sources":["../src/define/audio/player.ts"],"sourcesContent":["import { audioFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: audioFeatures,\n});\n\nexport class AudioPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'audio-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioPlayerElement.tagName]: AudioPlayerElement;\n }\n}\n"],"mappings":";;;;AAMA,MAAM,EAAE,kBAAkB,aAAa,EACrC,UAAU,eACX,CAAC;AAEF,IAAa,qBAAb,cAAwC,cAAc,aAAa,CAAC;;iBACxC;;;AAI5B,WAAW,mBAAmB;AAC9B,WAAW,sBAAsB"}
1
+ {"version":3,"file":"player-DxBoqZVw.js","names":[],"sources":["../src/define/audio/player.ts"],"sourcesContent":["import { audioFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: audioFeatures,\n});\n\nexport class AudioPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'audio-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [AudioPlayerElement.tagName]: AudioPlayerElement;\n }\n}\n"],"mappings":";;;;AAMA,MAAM,EAAE,kBAAkB,aAAa,EACrC,UAAU,eACX,CAAC;AAEF,IAAa,qBAAb,cAAwC,cAAc,aAAa,CAAC;;iBACxC;;;AAI5B,WAAW,mBAAmB;AAC9B,WAAW,sBAAsB"}
@@ -0,0 +1,2 @@
1
+ import{C as e,_ as t,b as n,g as r,m as i,p as a,v as o}from"./compounds-Df_1JbZD.js";import{C as s,D as c,O as l,n as u,o as d,t as f,y as p}from"./create-player-Gom2ZZe3.js";import{o as m,r as h}from"./context-C-IpVHEt.js";var g=class t{static defaultProps={delay:500};state=p({visible:!1});#e={...t.defaultProps};#t=null;setProps(n){this.#e=e(n,t.defaultProps)}destroy(){this.#n()}update(e){let t=e.waiting&&!e.paused;t&&!this.state.current.visible&&!this.#t?this.#t=setTimeout(()=>{this.#t=null,this.state.patch({visible:!0})},this.#e.delay):t||(this.#n(),this.state.patch({visible:!1}))}#n(){this.#t!==null&&(clearTimeout(this.#t),this.#t=null)}};const _={visible:`data-visible`};var v=class t{static defaultProps={label:``,disabled:!1};state=p({subtitlesShowing:!1,availability:`unavailable`,label:``});#e={...t.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(n){this.#e=e(n,t.defaultProps)}getLabel(e){let{label:t}=this.#e;if(s(t)){let n=t(e);if(n)return n}else if(t)return t;return e.subtitlesShowing?`Disable captions`:`Enable captions`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.textTrackList.some(e=>e.kind===`captions`||e.kind===`subtitles`)?`available`:`unavailable`;return this.state.patch({subtitlesShowing:e.subtitlesShowing,availability:t}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}toggle(e){this.#e.disabled||e.toggleSubtitles()}};const y={subtitlesShowing:`data-active`,availability:`data-availability`};var b=class t{static defaultProps={label:``,disabled:!1};state=p({fullscreen:!1,availability:`available`,label:``});#e={...t.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(n){this.#e=e(n,t.defaultProps)}getLabel(e){let{label:t}=this.#e;if(s(t)){let n=t(e);if(n)return n}else if(t)return t;return e.fullscreen?`Exit fullscreen`:`Enter fullscreen`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({fullscreen:e.fullscreen,availability:e.fullscreenAvailability}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async toggle(e){if(!this.#e.disabled&&e.fullscreenAvailability===`available`)try{e.fullscreen?await e.exitFullscreen():await e.requestFullscreen()}catch{}}};const x={fullscreen:`data-fullscreen`,availability:`data-availability`};var S=class t{static defaultProps={label:``,disabled:!1};state=p({pip:!1,availability:`available`,label:``});#e={...t.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(n){this.#e=e(n,t.defaultProps)}getLabel(e){let{label:t}=this.#e;if(s(t)){let n=t(e);if(n)return n}else if(t)return t;return e.pip?`Exit picture-in-picture`:`Enter picture-in-picture`}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":this.#e.disabled?`true`:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t;return this.state.patch({pip:e.pip,availability:e.pipAvailability}),this.state.patch({label:this.getLabel(this.state.current)}),this.state.current}async toggle(e){if(!this.#e.disabled&&e.pipAvailability===`available`)try{e.pip?await e.exitPictureInPicture():await e.requestPictureInPicture()}catch{}}};const C={pip:`data-pip`,availability:`data-availability`};var w=class{#e=null;setMedia(e){this.#e=e}getState(){return{visible:!this.#e.started}}};const T={visible:`data-visible`};var E=class extends l{constructor(...e){super(...e),this.delay=g.defaultProps.delay}static{this.tagName=`media-buffering-indicator`}static{this.properties={delay:{type:Number}}}#e=new g;#t=new u(this,h,o);#n=null;connectedCallback(){super.connectedCallback(),!this.destroyed&&(this.#n=new AbortController,this.#e.state.subscribe(()=>this.requestUpdate(),{signal:this.#n.signal}))}disconnectedCallback(){super.disconnectedCallback(),this.#n?.abort(),this.#n=null}willUpdate(e){super.willUpdate(e),this.#e.setProps(this)}update(e){super.update(e);let t=this.#t.value;t&&(this.#e.update(t),i(this,this.#e.state.current,_))}},D=class extends a{constructor(...e){super(...e),this.core=new v,this.stateAttrMap=y,this.mediaState=new u(this,h,n),this.hotkeyAction=`toggleSubtitles`}static{this.tagName=`media-captions-button`}activate(e){this.core.toggle(e)}},O=class extends a{constructor(...e){super(...e),this.core=new b,this.stateAttrMap=x,this.mediaState=new u(this,h,r),this.hotkeyAction=`toggleFullscreen`}static{this.tagName=`media-fullscreen-button`}activate(e){this.core.toggle(e)}},k=class extends a{constructor(...e){super(...e),this.core=new S,this.stateAttrMap=C,this.mediaState=new u(this,h,t),this.hotkeyAction=`togglePictureInPicture`}static{this.tagName=`media-pip-button`}activate(e){this.core.toggle(e)}},A=class extends l{connectedCallback(){super.connectedCallback()}update(e){super.update(e);let t=this.mediaState.value;if(!t)return;this.core.setMedia(t);let n=this.core.getState();i(this,n,this.stateAttrMap)}},j=class extends A{constructor(...e){super(...e),this.core=new w,this.stateAttrMap=T,this.mediaState=new u(this,h,o)}static{this.tagName=`media-poster`}};const{ProviderMixin:M}=f({features:d});var N=class extends M(l){static{this.tagName=`video-player`}};m(N),m(c);export{D as a,O as i,j as n,E as o,k as r,N as t};
2
+ //# sourceMappingURL=player-eEH-XjnF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-eEH-XjnF.js","names":["#props","#clearTimer","#timer","#props","#media","#props","#media","#props","#media","#media","#core","#state","#disconnect"],"sources":["../../core/dist/default/core/ui/buffering-indicator/buffering-indicator-core.js","../../core/dist/default/core/ui/buffering-indicator/buffering-indicator-data-attrs.js","../../core/dist/default/core/ui/captions-button/captions-button-core.js","../../core/dist/default/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/default/core/ui/pip-button/pip-button-core.js","../../core/dist/default/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/default/core/ui/poster/poster-core.js","../../core/dist/default/core/ui/poster/poster-data-attrs.js","../src/ui/buffering-indicator/buffering-indicator-element.ts","../src/ui/captions-button/captions-button-element.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/ui/pip-button/pip-button-element.ts","../src/ui/media-ui-element.ts","../src/ui/poster/poster-element.ts","../src/define/video/player.ts"],"sourcesContent":["import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/buffering-indicator/buffering-indicator-core.ts\nvar BufferingIndicatorCore = class BufferingIndicatorCore {\n\tstatic defaultProps = { delay: 500 };\n\tstate = createState({ visible: false });\n\t#props = { ...BufferingIndicatorCore.defaultProps };\n\t#timer = null;\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, BufferingIndicatorCore.defaultProps);\n\t}\n\tdestroy() {\n\t\tthis.#clearTimer();\n\t}\n\tupdate(media) {\n\t\tconst buffering = media.waiting && !media.paused;\n\t\tif (buffering && !this.state.current.visible && !this.#timer) this.#timer = setTimeout(() => {\n\t\t\tthis.#timer = null;\n\t\t\tthis.state.patch({ visible: true });\n\t\t}, this.#props.delay);\n\t\telse if (!buffering) {\n\t\t\tthis.#clearTimer();\n\t\t\tthis.state.patch({ visible: false });\n\t\t}\n\t}\n\t#clearTimer() {\n\t\tif (this.#timer !== null) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = null;\n\t\t}\n\t}\n};\n//#endregion\nexport { BufferingIndicatorCore };\n\n//# sourceMappingURL=buffering-indicator-core.js.map","//#region src/core/ui/buffering-indicator/buffering-indicator-data-attrs.ts\nconst BufferingIndicatorDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { BufferingIndicatorDataAttrs };\n\n//# sourceMappingURL=buffering-indicator-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.subtitlesShowing ? \"Disable captions\" : \"Enable captions\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some((t) => t.kind === \"captions\" || t.kind === \"subtitles\") ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\tsubtitlesShowing: \"data-active\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.fullscreen ? \"Exit fullscreen\" : \"Enter fullscreen\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability: media.fullscreenAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.fullscreenAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.fullscreen) await media.exitFullscreen();\n\t\t\telse await media.requestFullscreen();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\tfullscreen: \"data-fullscreen\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","import { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\nimport { isFunction } from \"@videojs/utils/predicate\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"available\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst { label } = this.#props;\n\t\tif (isFunction(label)) {\n\t\t\tconst customLabel = label(state);\n\t\t\tif (customLabel) return customLabel;\n\t\t} else if (label) return label;\n\t\treturn state.pip ? \"Exit picture-in-picture\" : \"Enter picture-in-picture\";\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": this.#props.disabled ? \"true\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability: media.pipAvailability\n\t\t});\n\t\tthis.state.patch({ label: this.getLabel(this.state.current) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tif (this.#props.disabled) return;\n\t\tif (media.pipAvailability !== \"available\") return;\n\t\ttry {\n\t\t\tif (media.pip) await media.exitPictureInPicture();\n\t\t\telse await media.requestPictureInPicture();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\tpip: \"data-pip\",\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\nvar PosterCore = class {\n\t#media = null;\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\treturn { visible: !this.#media.started };\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = { visible: \"data-visible\" };\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class BufferingIndicatorElement extends MediaElement {\n static readonly tagName = 'media-buffering-indicator';\n\n static override properties = {\n delay: { type: Number },\n } satisfies PropertyDeclarationMap<keyof BufferingIndicatorCore.Props>;\n\n delay = BufferingIndicatorCore.defaultProps.delay;\n\n readonly #core = new BufferingIndicatorCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n\n this.#core.state.subscribe(() => this.requestUpdate(), {\n signal: this.#disconnect.signal,\n });\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.update(media);\n applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);\n }\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs, type MediaTextTrackState } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n","import { type MediaPictureInPictureState, PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePictureInPicture';\n\n protected activate(state: MediaPictureInPictureState): void {\n this.core.toggle(state);\n }\n}\n","import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n","import { PosterCore, PosterDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaUIElement } from '../media-ui-element';\n\nexport class PosterElement extends MediaUIElement<PosterCore> {\n static readonly tagName = 'media-poster';\n\n protected readonly core = new PosterCore();\n protected readonly stateAttrMap = PosterDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\n}\n","import { videoFeatures } from '@videojs/core/dom';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { createPlayer } from '../../player/create-player';\nimport { MediaElement } from '../../ui/media-element';\nimport { safeDefine } from '../safe-define';\n\nconst { ProviderMixin } = createPlayer({\n features: videoFeatures,\n});\n\nexport class VideoPlayerElement extends ProviderMixin(MediaElement) {\n static readonly tagName = 'video-player';\n}\n\n// Provider must be defined before consumer for context handshake during upgrade.\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoPlayerElement.tagName]: VideoPlayerElement;\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  const e=Object.prototype.hasOwnProperty;function t(t,n){if(Object.is(t,n))return!0;if(typeof t!=`object`||!t||typeof n!=`object`||!n)return!1;let r=Object.keys(t),i=Object.keys(n);if(r.length!==i.length)return!1;for(let i of r)if(!e.call(n,i)||!Object.is(t[i],n[i]))return!1;return!0}export{t};
2
- //# sourceMappingURL=shallow-equal-uPuCQhnd.js.map
2
+ //# sourceMappingURL=shallow-equal-1KBb-lrM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-equal-uPuCQhnd.js","names":[],"sources":["../../utils/dist/object/shallow-equal.js"],"sourcesContent":["//#region src/object/shallow-equal.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\nfunction shallowEqual(a, b) {\n\tif (Object.is(a, b)) return true;\n\tif (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) return false;\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tfor (const key of keysA) if (!hasOwn.call(b, key) || !Object.is(a[key], b[key])) return false;\n\treturn true;\n}\n//#endregion\nexport { shallowEqual };\n\n//# sourceMappingURL=shallow-equal.js.map"],"mappings":"AACA,MAAM,EAAS,OAAO,UAAU,eAChC,SAAS,EAAa,EAAG,EAAG,CAC3B,GAAI,OAAO,GAAG,EAAG,EAAE,CAAE,MAAO,GAC5B,GAAI,OAAO,GAAM,WAAY,GAAc,OAAO,GAAM,WAAY,EAAY,MAAO,GACvF,IAAM,EAAQ,OAAO,KAAK,EAAE,CACtB,EAAQ,OAAO,KAAK,EAAE,CAC5B,GAAI,EAAM,SAAW,EAAM,OAAQ,MAAO,GAC1C,IAAK,IAAM,KAAO,EAAO,GAAI,CAAC,EAAO,KAAK,EAAG,EAAI,EAAI,CAAC,OAAO,GAAG,EAAE,GAAM,EAAE,GAAK,CAAE,MAAO,GACxF,MAAO"}
1
+ {"version":3,"file":"shallow-equal-1KBb-lrM.js","names":[],"sources":["../../utils/dist/object/shallow-equal.js"],"sourcesContent":["//#region src/object/shallow-equal.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\nfunction shallowEqual(a, b) {\n\tif (Object.is(a, b)) return true;\n\tif (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) return false;\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tfor (const key of keysA) if (!hasOwn.call(b, key) || !Object.is(a[key], b[key])) return false;\n\treturn true;\n}\n//#endregion\nexport { shallowEqual };\n\n//# sourceMappingURL=shallow-equal.js.map"],"mappings":"AACA,MAAM,EAAS,OAAO,UAAU,eAChC,SAAS,EAAa,EAAG,EAAG,CAC3B,GAAI,OAAO,GAAG,EAAG,EAAE,CAAE,MAAO,GAC5B,GAAI,OAAO,GAAM,WAAY,GAAc,OAAO,GAAM,WAAY,EAAY,MAAO,GACvF,IAAM,EAAQ,OAAO,KAAK,EAAE,CACtB,EAAQ,OAAO,KAAK,EAAE,CAC5B,GAAI,EAAM,SAAW,EAAM,OAAQ,MAAO,GAC1C,IAAK,IAAM,KAAO,EAAO,GAAI,CAAC,EAAO,KAAK,EAAG,EAAI,EAAI,CAAC,OAAO,GAAG,EAAE,GAAM,EAAE,GAAK,CAAE,MAAO,GACxF,MAAO"}
@@ -12,4 +12,4 @@ function shallowEqual(a, b) {
12
12
 
13
13
  //#endregion
14
14
  export { shallowEqual as t };
15
- //# sourceMappingURL=shallow-equal-C8Fs4TTE.js.map
15
+ //# sourceMappingURL=shallow-equal-Ca0qjpLJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-equal-C8Fs4TTE.js","names":[],"sources":["../../utils/dist/object/shallow-equal.js"],"sourcesContent":["//#region src/object/shallow-equal.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\nfunction shallowEqual(a, b) {\n\tif (Object.is(a, b)) return true;\n\tif (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) return false;\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tfor (const key of keysA) if (!hasOwn.call(b, key) || !Object.is(a[key], b[key])) return false;\n\treturn true;\n}\n//#endregion\nexport { shallowEqual };\n\n//# sourceMappingURL=shallow-equal.js.map"],"mappings":";AACA,MAAM,SAAS,OAAO,UAAU;AAChC,SAAS,aAAa,GAAG,GAAG;AAC3B,KAAI,OAAO,GAAG,GAAG,EAAE,CAAE,QAAO;AAC5B,KAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,KAAM,QAAO;CACvF,MAAM,QAAQ,OAAO,KAAK,EAAE;CAC5B,MAAM,QAAQ,OAAO,KAAK,EAAE;AAC5B,KAAI,MAAM,WAAW,MAAM,OAAQ,QAAO;AAC1C,MAAK,MAAM,OAAO,MAAO,KAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,CAAE,QAAO;AACxF,QAAO"}
1
+ {"version":3,"file":"shallow-equal-Ca0qjpLJ.js","names":[],"sources":["../../utils/dist/object/shallow-equal.js"],"sourcesContent":["//#region src/object/shallow-equal.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\nfunction shallowEqual(a, b) {\n\tif (Object.is(a, b)) return true;\n\tif (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) return false;\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tfor (const key of keysA) if (!hasOwn.call(b, key) || !Object.is(a[key], b[key])) return false;\n\treturn true;\n}\n//#endregion\nexport { shallowEqual };\n\n//# sourceMappingURL=shallow-equal.js.map"],"mappings":";AACA,MAAM,SAAS,OAAO,UAAU;AAChC,SAAS,aAAa,GAAG,GAAG;AAC3B,KAAI,OAAO,GAAG,GAAG,EAAE,CAAE,QAAO;AAC5B,KAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,KAAM,QAAO;CACvF,MAAM,QAAQ,OAAO,KAAK,EAAE;CAC5B,MAAM,QAAQ,OAAO,KAAK,EAAE;AAC5B,KAAI,MAAM,WAAW,MAAM,OAAQ,QAAO;AAC1C,MAAK,MAAM,OAAO,MAAO,KAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,CAAE,QAAO;AACxF,QAAO"}
@@ -1,4 +1,4 @@
1
- import { A as ReactiveElement } from "./create-player-DckZq-sE.js";
1
+ import { j as ReactiveElement } from "./create-player-CyG77t-m.js";
2
2
  import { n as createShadowStyle, r as ensureGlobalStyle, t as applyShadowStyles } from "./shadow-styles-I-_QR-PM.js";
3
3
 
4
4
  //#region ../utils/dist/dom/template.js
@@ -52,4 +52,4 @@ var SkinElement = class extends ReactiveElement {
52
52
 
53
53
  //#endregion
54
54
  export { createTemplate as n, SkinElement as t };
55
- //# sourceMappingURL=skin-element-ih3VrnYx.js.map
55
+ //# sourceMappingURL=skin-element-BTPr5DoY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skin-element-ih3VrnYx.js","names":["sharedStyles","rootStyles"],"sources":["../../utils/dist/dom/template.js","../inline-css:src/define/base.js","../inline-css:src/define/shared.js","../src/define/skin-element.ts"],"sourcesContent":["//#region src/dom/template.ts\n/** Create an `HTMLTemplateElement` from an HTML string, or `null` when `document` is unavailable (SSR). */\nfunction createTemplate(html) {\n\tconst doc = globalThis.document;\n\tif (!doc) return null;\n\tconst template = doc.createElement(\"template\");\n\ttemplate.innerHTML = html;\n\treturn template;\n}\n/** Deep-clone a template's content into a container. */\nfunction renderTemplate(container, template) {\n\tcontainer.appendChild(container.ownerDocument.importNode(template.content, true));\n}\n//#endregion\nexport { createTemplate, renderTemplate };\n\n//# sourceMappingURL=template.js.map","export default \"/* -------------------------------------------------------------------------- */\\n/* Base */\\n/* -------------------------------------------------------------------------- */\\n\\nvideo-player {\\n display: contents;\\n}\\n\\n/*\\nRequired to override any default video and image styles (such as\\nTailwind's CSS reset) and ensure they fill the container as expected.\\n*/\\nvideo-player video,\\nvideo-player [slot=\\\"poster\\\"] {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\nvideo-player video::-webkit-media-text-track-container {\\n transition: translate var(--media-caption-track-duration, 0) ease-out;\\n transition-delay: var(--media-caption-track-delay, 0);\\n translate: 0 var(--media-caption-track-y, 0);\\n scale: 0.98;\\n z-index: 1;\\n font-family: inherit;\\n}\\n\";","export default \"media-tooltip-group {\\n display: contents;\\n}\\n\\n:host {\\n /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */\\n display: grid;\\n width: 100%;\\n}\\n\\n/* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */\\n.media-popover--volume:has(media-volume-slider[data-availability=\\\"unsupported\\\"]) {\\n display: none;\\n}\\n\";","import { ReactiveElement } from '@videojs/element';\nimport {\n applyShadowStyles,\n createShadowStyle,\n ensureGlobalStyle,\n renderTemplate,\n type ShadowStyle,\n} from '@videojs/utils/dom';\nimport rootStyles from './base.css?inline';\nimport sharedStyles from './shared.css?inline';\n\nconst STYLES_ID = '__media-styles';\nconst sharedSheet = createShadowStyle(sharedStyles);\n\n/**\n * Base element for skin definitions. Attaches a shadow root, clones\n * `static template` into it, and applies shared + per-skin styles\n * via `adoptedStyleSheets` (or `<style>` fallback).\n */\nexport class SkinElement extends ReactiveElement {\n static shadowRootOptions: ShadowRootInit = { mode: 'open' };\n static styles?: ShadowStyle;\n static template?: HTMLTemplateElement | null;\n\n constructor() {\n super();\n\n ensureGlobalStyle(STYLES_ID, rootStyles);\n\n if (!this.shadowRoot) {\n const ctor = this.constructor as typeof SkinElement;\n this.attachShadow(ctor.shadowRootOptions);\n\n if (ctor.template) {\n renderTemplate(this.shadowRoot!, ctor.template);\n }\n\n const sheets: ShadowStyle[] = [sharedSheet];\n if (ctor.styles) {\n sheets.push(ctor.styles);\n }\n applyShadowStyles(this.shadowRoot!, sheets);\n }\n }\n}\n"],"mappings":";;;;;AAEA,SAAS,eAAe,MAAM;CAC7B,MAAM,MAAM,WAAW;AACvB,KAAI,CAAC,IAAK,QAAO;CACjB,MAAM,WAAW,IAAI,cAAc,WAAW;AAC9C,UAAS,YAAY;AACrB,QAAO;;;AAGR,SAAS,eAAe,WAAW,UAAU;AAC5C,WAAU,YAAY,UAAU,cAAc,WAAW,SAAS,SAAS,KAAK,CAAC;;;;;ACXlF,mBAAe;;;;ACAf,qBAAe;;;;ACWf,MAAM,YAAY;AAClB,MAAM,cAAc,kBAAkBA,eAAa;;;;;;AAOnD,IAAa,cAAb,cAAiC,gBAAgB;;2BACJ,EAAE,MAAM,QAAQ;;CAI3D,cAAc;AACZ,SAAO;AAEP,oBAAkB,WAAWC,aAAW;AAExC,MAAI,CAAC,KAAK,YAAY;GACpB,MAAM,OAAO,KAAK;AAClB,QAAK,aAAa,KAAK,kBAAkB;AAEzC,OAAI,KAAK,SACP,gBAAe,KAAK,YAAa,KAAK,SAAS;GAGjD,MAAM,SAAwB,CAAC,YAAY;AAC3C,OAAI,KAAK,OACP,QAAO,KAAK,KAAK,OAAO;AAE1B,qBAAkB,KAAK,YAAa,OAAO"}
1
+ {"version":3,"file":"skin-element-BTPr5DoY.js","names":["sharedStyles","rootStyles"],"sources":["../../utils/dist/dom/template.js","../inline-css:src/define/base.js","../inline-css:src/define/shared.js","../src/define/skin-element.ts"],"sourcesContent":["//#region src/dom/template.ts\n/** Create an `HTMLTemplateElement` from an HTML string, or `null` when `document` is unavailable (SSR). */\nfunction createTemplate(html) {\n\tconst doc = globalThis.document;\n\tif (!doc) return null;\n\tconst template = doc.createElement(\"template\");\n\ttemplate.innerHTML = html;\n\treturn template;\n}\n/** Deep-clone a template's content into a container. */\nfunction renderTemplate(container, template) {\n\tcontainer.appendChild(container.ownerDocument.importNode(template.content, true));\n}\n//#endregion\nexport { createTemplate, renderTemplate };\n\n//# sourceMappingURL=template.js.map","export default \"/* -------------------------------------------------------------------------- */\\n/* Base */\\n/* -------------------------------------------------------------------------- */\\n\\nvideo-player {\\n display: contents;\\n}\\n\\n/*\\nRequired to override any default video and image styles (such as\\nTailwind's CSS reset) and ensure they fill the container as expected.\\n*/\\nvideo-player video,\\nvideo-player [slot=\\\"poster\\\"] {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\nvideo-player video::-webkit-media-text-track-container {\\n transition: translate var(--media-caption-track-duration, 0) ease-out;\\n transition-delay: var(--media-caption-track-delay, 0);\\n translate: 0 var(--media-caption-track-y, 0);\\n scale: 0.98;\\n z-index: 1;\\n font-family: inherit;\\n}\\n\";","export default \"media-tooltip-group {\\n display: contents;\\n}\\n\\n:host {\\n /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */\\n display: grid;\\n width: 100%;\\n}\\n\\n/* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */\\n.media-popover--volume:has(media-volume-slider[data-availability=\\\"unsupported\\\"]) {\\n display: none;\\n}\\n\";","import { ReactiveElement } from '@videojs/element';\nimport {\n applyShadowStyles,\n createShadowStyle,\n ensureGlobalStyle,\n renderTemplate,\n type ShadowStyle,\n} from '@videojs/utils/dom';\nimport rootStyles from './base.css?inline';\nimport sharedStyles from './shared.css?inline';\n\nconst STYLES_ID = '__media-styles';\nconst sharedSheet = createShadowStyle(sharedStyles);\n\n/**\n * Base element for skin definitions. Attaches a shadow root, clones\n * `static template` into it, and applies shared + per-skin styles\n * via `adoptedStyleSheets` (or `<style>` fallback).\n */\nexport class SkinElement extends ReactiveElement {\n static shadowRootOptions: ShadowRootInit = { mode: 'open' };\n static styles?: ShadowStyle;\n static template?: HTMLTemplateElement | null;\n\n constructor() {\n super();\n\n ensureGlobalStyle(STYLES_ID, rootStyles);\n\n if (!this.shadowRoot) {\n const ctor = this.constructor as typeof SkinElement;\n this.attachShadow(ctor.shadowRootOptions);\n\n if (ctor.template) {\n renderTemplate(this.shadowRoot!, ctor.template);\n }\n\n const sheets: ShadowStyle[] = [sharedSheet];\n if (ctor.styles) {\n sheets.push(ctor.styles);\n }\n applyShadowStyles(this.shadowRoot!, sheets);\n }\n }\n}\n"],"mappings":";;;;;AAEA,SAAS,eAAe,MAAM;CAC7B,MAAM,MAAM,WAAW;AACvB,KAAI,CAAC,IAAK,QAAO;CACjB,MAAM,WAAW,IAAI,cAAc,WAAW;AAC9C,UAAS,YAAY;AACrB,QAAO;;;AAGR,SAAS,eAAe,WAAW,UAAU;AAC5C,WAAU,YAAY,UAAU,cAAc,WAAW,SAAS,SAAS,KAAK,CAAC;;;;;ACXlF,mBAAe;;;;ACAf,qBAAe;;;;ACWf,MAAM,YAAY;AAClB,MAAM,cAAc,kBAAkBA,eAAa;;;;;;AAOnD,IAAa,cAAb,cAAiC,gBAAgB;;2BACJ,EAAE,MAAM,QAAQ;;CAI3D,cAAc;AACZ,SAAO;AAEP,oBAAkB,WAAWC,aAAW;AAExC,MAAI,CAAC,KAAK,YAAY;GACpB,MAAM,OAAO,KAAK;AAClB,QAAK,aAAa,KAAK,kBAAkB;AAEzC,OAAI,KAAK,SACP,gBAAe,KAAK,YAAa,KAAK,SAAS;GAGjD,MAAM,SAAwB,CAAC,YAAY;AAC3C,OAAI,KAAK,OACP,QAAO,KAAK,KAAK,OAAO;AAE1B,qBAAkB,KAAK,YAAa,OAAO"}
@@ -1,2 +1,2 @@
1
- import{A as e}from"./create-player-B_oNyyb5.js";import{n as t,r as n,t as r}from"./shadow-styles-62Yo__Ni.js";function i(e){let t=globalThis.document;if(!t)return null;let n=t.createElement(`template`);return n.innerHTML=e,n}function a(e,t){e.appendChild(e.ownerDocument.importNode(t.content,!0))}var o=`video-player{display:contents}video-player video,video-player [slot=poster]{width:100%;height:100%;display:block}video-player video::-webkit-media-text-track-container{transition:translate var(--media-caption-track-duration,0) ease-out;transition-delay:var(--media-caption-track-delay,0);translate:0 var(--media-caption-track-y,0);z-index:1;font-family:inherit;scale:.98}`;const s=t(`media-tooltip-group{display:contents}:host{width:100%;display:grid}.media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}`);var c=class extends e{static{this.shadowRootOptions={mode:`open`}}constructor(){if(super(),n(`__media-styles`,o),!this.shadowRoot){let e=this.constructor;this.attachShadow(e.shadowRootOptions),e.template&&a(this.shadowRoot,e.template);let t=[s];e.styles&&t.push(e.styles),r(this.shadowRoot,t)}}};export{i as n,c as t};
2
- //# sourceMappingURL=skin-element-DbmY-ske.js.map
1
+ import{j as e}from"./create-player-Gom2ZZe3.js";import{n as t,r as n,t as r}from"./shadow-styles-62Yo__Ni.js";function i(e){let t=globalThis.document;if(!t)return null;let n=t.createElement(`template`);return n.innerHTML=e,n}function a(e,t){e.appendChild(e.ownerDocument.importNode(t.content,!0))}var o=`video-player{display:contents}video-player video,video-player [slot=poster]{width:100%;height:100%;display:block}video-player video::-webkit-media-text-track-container{transition:translate var(--media-caption-track-duration,0) ease-out;transition-delay:var(--media-caption-track-delay,0);translate:0 var(--media-caption-track-y,0);z-index:1;font-family:inherit;scale:.98}`;const s=t(`media-tooltip-group{display:contents}:host{width:100%;display:grid}.media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}`);var c=class extends e{static{this.shadowRootOptions={mode:`open`}}constructor(){if(super(),n(`__media-styles`,o),!this.shadowRoot){let e=this.constructor;this.attachShadow(e.shadowRootOptions),e.template&&a(this.shadowRoot,e.template);let t=[s];e.styles&&t.push(e.styles),r(this.shadowRoot,t)}}};export{i as n,c as t};
2
+ //# sourceMappingURL=skin-element-u6pdmSSs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skin-element-DbmY-ske.js","names":["sharedStyles","rootStyles"],"sources":["../../utils/dist/dom/template.js","../inline-css:src/define/base.js","../inline-css:src/define/shared.js","../src/define/skin-element.ts"],"sourcesContent":["//#region src/dom/template.ts\n/** Create an `HTMLTemplateElement` from an HTML string, or `null` when `document` is unavailable (SSR). */\nfunction createTemplate(html) {\n\tconst doc = globalThis.document;\n\tif (!doc) return null;\n\tconst template = doc.createElement(\"template\");\n\ttemplate.innerHTML = html;\n\treturn template;\n}\n/** Deep-clone a template's content into a container. */\nfunction renderTemplate(container, template) {\n\tcontainer.appendChild(container.ownerDocument.importNode(template.content, true));\n}\n//#endregion\nexport { createTemplate, renderTemplate };\n\n//# sourceMappingURL=template.js.map","export default \"video-player{display:contents}video-player video,video-player [slot=poster]{width:100%;height:100%;display:block}video-player video::-webkit-media-text-track-container{transition:translate var(--media-caption-track-duration,0) ease-out;transition-delay:var(--media-caption-track-delay,0);translate:0 var(--media-caption-track-y,0);z-index:1;font-family:inherit;scale:.98}\";","export default \"media-tooltip-group{display:contents}:host{width:100%;display:grid}.media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}\";","import { ReactiveElement } from '@videojs/element';\nimport {\n applyShadowStyles,\n createShadowStyle,\n ensureGlobalStyle,\n renderTemplate,\n type ShadowStyle,\n} from '@videojs/utils/dom';\nimport rootStyles from './base.css?inline';\nimport sharedStyles from './shared.css?inline';\n\nconst STYLES_ID = '__media-styles';\nconst sharedSheet = createShadowStyle(sharedStyles);\n\n/**\n * Base element for skin definitions. Attaches a shadow root, clones\n * `static template` into it, and applies shared + per-skin styles\n * via `adoptedStyleSheets` (or `<style>` fallback).\n */\nexport class SkinElement extends ReactiveElement {\n static shadowRootOptions: ShadowRootInit = { mode: 'open' };\n static styles?: ShadowStyle;\n static template?: HTMLTemplateElement | null;\n\n constructor() {\n super();\n\n ensureGlobalStyle(STYLES_ID, rootStyles);\n\n if (!this.shadowRoot) {\n const ctor = this.constructor as typeof SkinElement;\n this.attachShadow(ctor.shadowRootOptions);\n\n if (ctor.template) {\n renderTemplate(this.shadowRoot!, ctor.template);\n }\n\n const sheets: ShadowStyle[] = [sharedSheet];\n if (ctor.styles) {\n sheets.push(ctor.styles);\n }\n applyShadowStyles(this.shadowRoot!, sheets);\n }\n }\n}\n"],"mappings":"8GAEA,SAAS,EAAe,EAAM,CAC7B,IAAM,EAAM,WAAW,SACvB,GAAI,CAAC,EAAK,OAAO,KACjB,IAAM,EAAW,EAAI,cAAc,WAAW,CAE9C,MADA,GAAS,UAAY,EACd,EAGR,SAAS,EAAe,EAAW,EAAU,CAC5C,EAAU,YAAY,EAAU,cAAc,WAAW,EAAS,QAAS,GAAK,CAAC,CCXlF,IAAA,EAAe,sXEWf,MACM,EAAc,EDZL,kKCYoC,CAOnD,IAAa,EAAb,cAAiC,CAAgB,+BACJ,CAAE,KAAM,OAAQ,CAI3D,aAAc,CAKZ,GAJA,OAAO,CAEP,EAAkB,iBAAWC,EAAW,CAEpC,CAAC,KAAK,WAAY,CACpB,IAAM,EAAO,KAAK,YAClB,KAAK,aAAa,EAAK,kBAAkB,CAErC,EAAK,UACP,EAAe,KAAK,WAAa,EAAK,SAAS,CAGjD,IAAM,EAAwB,CAAC,EAAY,CACvC,EAAK,QACP,EAAO,KAAK,EAAK,OAAO,CAE1B,EAAkB,KAAK,WAAa,EAAO"}
1
+ {"version":3,"file":"skin-element-u6pdmSSs.js","names":["sharedStyles","rootStyles"],"sources":["../../utils/dist/dom/template.js","../inline-css:src/define/base.js","../inline-css:src/define/shared.js","../src/define/skin-element.ts"],"sourcesContent":["//#region src/dom/template.ts\n/** Create an `HTMLTemplateElement` from an HTML string, or `null` when `document` is unavailable (SSR). */\nfunction createTemplate(html) {\n\tconst doc = globalThis.document;\n\tif (!doc) return null;\n\tconst template = doc.createElement(\"template\");\n\ttemplate.innerHTML = html;\n\treturn template;\n}\n/** Deep-clone a template's content into a container. */\nfunction renderTemplate(container, template) {\n\tcontainer.appendChild(container.ownerDocument.importNode(template.content, true));\n}\n//#endregion\nexport { createTemplate, renderTemplate };\n\n//# sourceMappingURL=template.js.map","export default \"video-player{display:contents}video-player video,video-player [slot=poster]{width:100%;height:100%;display:block}video-player video::-webkit-media-text-track-container{transition:translate var(--media-caption-track-duration,0) ease-out;transition-delay:var(--media-caption-track-delay,0);translate:0 var(--media-caption-track-y,0);z-index:1;font-family:inherit;scale:.98}\";","export default \"media-tooltip-group{display:contents}:host{width:100%;display:grid}.media-popover--volume:has(media-volume-slider[data-availability=unsupported]){display:none}\";","import { ReactiveElement } from '@videojs/element';\nimport {\n applyShadowStyles,\n createShadowStyle,\n ensureGlobalStyle,\n renderTemplate,\n type ShadowStyle,\n} from '@videojs/utils/dom';\nimport rootStyles from './base.css?inline';\nimport sharedStyles from './shared.css?inline';\n\nconst STYLES_ID = '__media-styles';\nconst sharedSheet = createShadowStyle(sharedStyles);\n\n/**\n * Base element for skin definitions. Attaches a shadow root, clones\n * `static template` into it, and applies shared + per-skin styles\n * via `adoptedStyleSheets` (or `<style>` fallback).\n */\nexport class SkinElement extends ReactiveElement {\n static shadowRootOptions: ShadowRootInit = { mode: 'open' };\n static styles?: ShadowStyle;\n static template?: HTMLTemplateElement | null;\n\n constructor() {\n super();\n\n ensureGlobalStyle(STYLES_ID, rootStyles);\n\n if (!this.shadowRoot) {\n const ctor = this.constructor as typeof SkinElement;\n this.attachShadow(ctor.shadowRootOptions);\n\n if (ctor.template) {\n renderTemplate(this.shadowRoot!, ctor.template);\n }\n\n const sheets: ShadowStyle[] = [sharedSheet];\n if (ctor.styles) {\n sheets.push(ctor.styles);\n }\n applyShadowStyles(this.shadowRoot!, sheets);\n }\n }\n}\n"],"mappings":"8GAEA,SAAS,EAAe,EAAM,CAC7B,IAAM,EAAM,WAAW,SACvB,GAAI,CAAC,EAAK,OAAO,KACjB,IAAM,EAAW,EAAI,cAAc,WAAW,CAE9C,MADA,GAAS,UAAY,EACd,EAGR,SAAS,EAAe,EAAW,EAAU,CAC5C,EAAU,YAAY,EAAU,cAAc,WAAW,EAAS,QAAS,GAAK,CAAC,CCXlF,IAAA,EAAe,sXEWf,MACM,EAAc,EDZL,kKCYoC,CAOnD,IAAa,EAAb,cAAiC,CAAgB,+BACJ,CAAE,KAAM,OAAQ,CAI3D,aAAc,CAKZ,GAJA,OAAO,CAEP,EAAkB,iBAAWC,EAAW,CAEpC,CAAC,KAAK,WAAY,CACpB,IAAM,EAAO,KAAK,YAClB,KAAK,aAAa,EAAK,kBAAkB,CAErC,EAAK,UACP,EAAe,KAAK,WAAa,EAAK,SAAS,CAGjD,IAAM,EAAwB,CAAC,EAAY,CACvC,EAAK,QACP,EAAO,KAAK,EAAK,OAAO,CAE1B,EAAkB,KAAK,WAAa,EAAO"}
@@ -0,0 +1,25 @@
1
+ import { a as defineVolumeSlider, c as SeekButtonElement, d as PlayButtonElement, f as MuteButtonElement, i as defineTimeSlider, l as PopoverElement, n as defineErrorDialog, o as TooltipGroupElement, r as defineTime, s as TooltipElement, u as PlaybackRateButtonElement } from "./compounds-VFPcCeRV.js";
2
+ import { D as MediaContainerElement } from "./create-player-CyG77t-m.js";
3
+ import { o as safeDefine } from "./context-CvJ83xGk.js";
4
+ import { n as GestureElement, t as HotkeyElement } from "./hotkey-element-Dlta37Be.js";
5
+ import { t as AudioPlayerElement } from "./player-DxBoqZVw.js";
6
+
7
+ //#region src/define/audio/ui.ts
8
+ safeDefine(AudioPlayerElement);
9
+ safeDefine(MediaContainerElement);
10
+ defineErrorDialog();
11
+ defineTimeSlider();
12
+ defineVolumeSlider();
13
+ defineTime();
14
+ safeDefine(GestureElement);
15
+ safeDefine(HotkeyElement);
16
+ safeDefine(MuteButtonElement);
17
+ safeDefine(PlayButtonElement);
18
+ safeDefine(PlaybackRateButtonElement);
19
+ safeDefine(PopoverElement);
20
+ safeDefine(SeekButtonElement);
21
+ safeDefine(TooltipElement);
22
+ safeDefine(TooltipGroupElement);
23
+
24
+ //#endregion
25
+ //# sourceMappingURL=ui-34pkHFdT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-34pkHFdT.js","names":[],"sources":["../src/define/audio/ui.ts"],"sourcesContent":["// Registers the audio player, container, and all audio UI custom elements\n// without creating a skin element. Use this entry when building an ejected\n// (light DOM) player layout.\nimport { MediaContainerElement } from '../../media/container-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PlaybackRateButtonElement } from '../../ui/playback-rate-button/playback-rate-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { SeekButtonElement } from '../../ui/seek-button/seek-button-element';\nimport { TooltipElement } from '../../ui/tooltip/tooltip-element';\nimport { TooltipGroupElement } from '../../ui/tooltip/tooltip-group-element';\nimport { safeDefine } from '../safe-define';\nimport { defineErrorDialog, defineTime, defineTimeSlider, defineVolumeSlider } from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { AudioPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(AudioPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineErrorDialog();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\n\n// Standalone elements.\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PlaybackRateButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(SeekButtonElement);\nsafeDefine(TooltipElement);\nsafeDefine(TooltipGroupElement);\n"],"mappings":";;;;;;;AAqBA,WAAW,mBAAmB;AAC9B,WAAW,sBAAsB;AAGjC,mBAAmB;AACnB,kBAAkB;AAClB,oBAAoB;AACpB,YAAY;AAGZ,WAAW,eAAe;AAC1B,WAAW,cAAc;AACzB,WAAW,kBAAkB;AAC7B,WAAW,kBAAkB;AAC7B,WAAW,0BAA0B;AACrC,WAAW,eAAe;AAC1B,WAAW,kBAAkB;AAC7B,WAAW,eAAe;AAC1B,WAAW,oBAAoB"}
@@ -0,0 +1,2 @@
1
+ import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./compounds-Df_1JbZD.js";import{D as f}from"./create-player-Gom2ZZe3.js";import{o as p}from"./context-C-IpVHEt.js";import{a as m,i as h,n as g,o as _,r as v,t as y}from"./player-eEH-XjnF.js";import{n as b,t as x}from"./hotkey-element-DR3ZAqKa.js";p(y),p(f),u(),o(),i(),e(),c(),p(_),p(m),p(h),p(b),p(x),p(r),p(v),p(n),p(d),p(a),p(g),p(t),p(l),p(s);
2
+ //# sourceMappingURL=ui-DWoV_Da1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-DWoV_Da1.js","names":[],"sources":["../src/define/video/ui.ts"],"sourcesContent":["// Registers the video player, container, and all video UI custom elements\n// without creating a skin element. Use this entry when building an ejected\n// (light DOM) player layout.\nimport { MediaContainerElement } from '../../media/container-element';\nimport { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PlaybackRateButtonElement } from '../../ui/playback-rate-button/playback-rate-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { PosterElement } from '../../ui/poster/poster-element';\nimport { SeekButtonElement } from '../../ui/seek-button/seek-button-element';\nimport { TooltipElement } from '../../ui/tooltip/tooltip-element';\nimport { TooltipGroupElement } from '../../ui/tooltip/tooltip-group-element';\nimport { safeDefine } from '../safe-define';\nimport { defineControls, defineErrorDialog, defineTime, defineTimeSlider, defineVolumeSlider } from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { VideoPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(VideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineControls();\ndefineErrorDialog();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\n\n// Standalone elements.\nsafeDefine(BufferingIndicatorElement);\nsafeDefine(CaptionsButtonElement);\nsafeDefine(FullscreenButtonElement);\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PiPButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PlaybackRateButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(PosterElement);\nsafeDefine(SeekButtonElement);\nsafeDefine(TooltipElement);\nsafeDefine(TooltipGroupElement);\n"],"mappings":"kVA0BA,EAAW,EAAmB,CAC9B,EAAW,EAAsB,CAGjC,GAAgB,CAChB,GAAmB,CACnB,GAAkB,CAClB,GAAoB,CACpB,GAAY,CAGZ,EAAW,EAA0B,CACrC,EAAW,EAAsB,CACjC,EAAW,EAAwB,CACnC,EAAW,EAAe,CAC1B,EAAW,EAAc,CACzB,EAAW,EAAkB,CAC7B,EAAW,EAAiB,CAC5B,EAAW,EAAkB,CAC7B,EAAW,EAA0B,CACrC,EAAW,EAAe,CAC1B,EAAW,EAAc,CACzB,EAAW,EAAkB,CAC7B,EAAW,EAAe,CAC1B,EAAW,EAAoB"}
@@ -0,0 +1,2 @@
1
+ import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,u}from"./compounds-Df_1JbZD.js";import{D as d}from"./create-player-Gom2ZZe3.js";import{o as f}from"./context-C-IpVHEt.js";import{n as p,t as m}from"./hotkey-element-DR3ZAqKa.js";import{t as h}from"./player-Cu5_r0Gk.js";f(h),f(d),o(),i(),e(),c(),f(p),f(m),f(r),f(n),f(u),f(a),f(t),f(l),f(s);
2
+ //# sourceMappingURL=ui-DXtTKomo.js.map