@therealtinhtute/baroiplayer 1.0.0 → 1.0.2

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 (1330) hide show
  1. package/dist/context/media.js +1 -1
  2. package/dist/context/media.mjs +5 -5
  3. package/dist/context/store.js +1 -1
  4. package/dist/context/store.mjs +1 -1
  5. package/dist/{context-BMteAJDN.js → context-Af84FynT.js} +304 -265
  6. package/dist/context-Af84FynT.js.map +1 -0
  7. package/dist/context-CwZnPdz0.cjs +23 -0
  8. package/dist/context-CwZnPdz0.cjs.map +1 -0
  9. package/dist/core.js +2 -2
  10. package/dist/core.mjs +27 -27
  11. package/dist/{enhanced-components-DTIObgB7.cjs → enhanced-components-CXnYiOt6.cjs} +2 -2
  12. package/dist/{enhanced-components-DTIObgB7.cjs.map → enhanced-components-CXnYiOt6.cjs.map} +1 -1
  13. package/dist/{enhanced-components-DHv0MFvG.js → enhanced-components-Da0TSvKe.js} +158 -158
  14. package/dist/{enhanced-components-DHv0MFvG.js.map → enhanced-components-Da0TSvKe.js.map} +1 -1
  15. package/dist/hooks-BhW_i-9L.js +2013 -0
  16. package/dist/hooks-BhW_i-9L.js.map +1 -0
  17. package/dist/hooks-DTXeB5Z-.cjs +4 -0
  18. package/dist/hooks-DTXeB5Z-.cjs.map +1 -0
  19. package/dist/index.css +102 -1
  20. package/dist/index.d.ts +1388 -0
  21. package/dist/index.js +27 -112
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +17 -6126
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/{minimal-components-DSq5sQpy.js → minimal-components-B0bILe18.js} +236 -236
  26. package/dist/{minimal-components-DSq5sQpy.js.map → minimal-components-B0bILe18.js.map} +1 -1
  27. package/dist/{minimal-components-DflWiihN.cjs → minimal-components-BsqodtY8.cjs} +2 -2
  28. package/dist/{minimal-components-DflWiihN.cjs.map → minimal-components-BsqodtY8.cjs.map} +1 -1
  29. package/dist/minimal-components.css +589 -1
  30. package/dist/package.json +28 -0
  31. package/dist/{performance-monitor-rMW1RgV3.js → performance-monitor--rzKTlbj.js} +2 -2
  32. package/dist/{performance-monitor-rMW1RgV3.js.map → performance-monitor--rzKTlbj.js.map} +1 -1
  33. package/dist/{performance-monitor-CUW6f5ll.cjs → performance-monitor-cjIvZE2D.cjs} +2 -2
  34. package/dist/{performance-monitor-CUW6f5ll.cjs.map → performance-monitor-cjIvZE2D.cjs.map} +1 -1
  35. package/dist/src/adapters/videojs-adapter.d.ts +38 -0
  36. package/dist/src/adapters/videojs-adapter.d.ts.map +1 -0
  37. package/dist/src/adapters/videojs-adapter.js +350 -0
  38. package/dist/src/adapters/videojs-adapter.tsx +470 -0
  39. package/dist/src/assets/mona-loading.gif +0 -0
  40. package/dist/src/components/AnimateLoading.d.ts +9 -0
  41. package/dist/src/components/AnimateLoading.d.ts.map +1 -0
  42. package/dist/src/components/AnimateLoading.js +41 -0
  43. package/dist/src/components/AnimateLoading.tsx +115 -0
  44. package/dist/src/components/LoadingState.d.ts +33 -0
  45. package/dist/src/components/LoadingState.d.ts.map +1 -0
  46. package/dist/src/components/LoadingState.js +111 -0
  47. package/dist/src/components/LoadingState.tsx +248 -0
  48. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts +17 -0
  49. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +1 -0
  50. package/dist/src/components/accessibility/keyboard-help-overlay.js +90 -0
  51. package/dist/src/components/accessibility/keyboard-help-overlay.tsx +213 -0
  52. package/dist/src/components/audio-player.d.ts +3 -0
  53. package/dist/src/components/audio-player.d.ts.map +1 -0
  54. package/dist/src/components/audio-player.js +31 -0
  55. package/dist/src/components/audio-player.tsx +85 -0
  56. package/dist/src/components/basic/index.d.ts +26 -0
  57. package/dist/src/components/basic/index.d.ts.map +1 -0
  58. package/dist/src/components/basic/index.js +29 -0
  59. package/dist/src/components/basic/index.ts +37 -0
  60. package/dist/src/components/enhanced/advanced-features.d.ts +45 -0
  61. package/dist/src/components/enhanced/advanced-features.d.ts.map +1 -0
  62. package/dist/src/components/enhanced/advanced-features.js +64 -0
  63. package/dist/src/components/enhanced/advanced-features.tsx +316 -0
  64. package/dist/src/components/enhanced/debug-panel.d.ts +70 -0
  65. package/dist/src/components/enhanced/debug-panel.d.ts.map +1 -0
  66. package/dist/src/components/enhanced/debug-panel.js +94 -0
  67. package/dist/src/components/enhanced/debug-panel.tsx +422 -0
  68. package/dist/src/components/enhanced/enhanced-controls.d.ts +50 -0
  69. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +1 -0
  70. package/dist/src/components/enhanced/enhanced-controls.js +233 -0
  71. package/dist/src/components/enhanced/enhanced-controls.tsx +600 -0
  72. package/dist/src/components/enhanced/enhanced-media-player.d.ts +26 -0
  73. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +1 -0
  74. package/dist/src/components/enhanced/enhanced-media-player.js +316 -0
  75. package/dist/src/components/enhanced/enhanced-media-player.tsx +509 -0
  76. package/dist/src/components/enhanced/error-handling.d.ts +36 -0
  77. package/dist/src/components/enhanced/error-handling.d.ts.map +1 -0
  78. package/dist/src/components/enhanced/error-handling.js +153 -0
  79. package/dist/src/components/enhanced/error-handling.tsx +345 -0
  80. package/dist/src/components/enhanced/index.d.ts +7 -0
  81. package/dist/src/components/enhanced/index.d.ts.map +1 -0
  82. package/dist/src/components/enhanced/index.js +10 -0
  83. package/dist/src/components/enhanced/index.ts +39 -0
  84. package/dist/src/components/enhanced/media-player-enhanced.d.ts +21 -0
  85. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +1 -0
  86. package/dist/src/components/enhanced/media-player-enhanced.js +250 -0
  87. package/dist/src/components/enhanced/media-player-enhanced.tsx +349 -0
  88. package/dist/src/components/examples/basic-video-player.d.ts +10 -0
  89. package/dist/src/components/examples/basic-video-player.d.ts.map +1 -0
  90. package/dist/src/components/examples/basic-video-player.js +16 -0
  91. package/dist/src/components/examples/basic-video-player.tsx +55 -0
  92. package/dist/src/components/examples/custom-controls-example.d.ts +10 -0
  93. package/dist/src/components/examples/custom-controls-example.d.ts.map +1 -0
  94. package/dist/src/components/examples/custom-controls-example.js +12 -0
  95. package/dist/src/components/examples/custom-controls-example.tsx +63 -0
  96. package/dist/src/components/examples/enhanced-controls-example.d.ts +9 -0
  97. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +1 -0
  98. package/dist/src/components/examples/enhanced-controls-example.js +18 -0
  99. package/dist/src/components/examples/enhanced-controls-example.tsx +114 -0
  100. package/dist/src/components/examples/enhanced-media-player-example.d.ts +9 -0
  101. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +1 -0
  102. package/dist/src/components/examples/enhanced-media-player-example.js +13 -0
  103. package/dist/src/components/examples/enhanced-media-player-example.tsx +293 -0
  104. package/dist/src/components/examples/loading-states-demo.d.ts +2 -0
  105. package/dist/src/components/examples/loading-states-demo.d.ts.map +1 -0
  106. package/dist/src/components/examples/loading-states-demo.js +41 -0
  107. package/dist/src/components/examples/loading-states-demo.tsx +142 -0
  108. package/dist/src/components/examples/react-19-demo.d.ts +10 -0
  109. package/dist/src/components/examples/react-19-demo.d.ts.map +1 -0
  110. package/dist/src/components/examples/react-19-demo.js +104 -0
  111. package/dist/src/components/examples/react-19-demo.tsx +381 -0
  112. package/dist/src/components/examples/volume-orientation-demo.d.ts +2 -0
  113. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +1 -0
  114. package/dist/src/components/examples/volume-orientation-demo.js +31 -0
  115. package/dist/src/components/examples/volume-orientation-demo.tsx +114 -0
  116. package/dist/src/components/icon-demo.d.ts +2 -0
  117. package/dist/src/components/icon-demo.d.ts.map +1 -0
  118. package/dist/src/components/icon-demo.js +16 -0
  119. package/dist/src/components/icon-demo.tsx +209 -0
  120. package/dist/src/components/icons/index.d.ts +36 -0
  121. package/dist/src/components/icons/index.d.ts.map +1 -0
  122. package/dist/src/components/icons/index.js +59 -0
  123. package/dist/src/components/icons/index.tsx +166 -0
  124. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts +4 -0
  125. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +1 -0
  126. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +3 -0
  127. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.tsx +18 -0
  128. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts +4 -0
  129. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +1 -0
  130. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +3 -0
  131. package/dist/src/components/icons/svg-icons/ArrowRightIcon.tsx +18 -0
  132. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts +4 -0
  133. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +1 -0
  134. package/dist/src/components/icons/svg-icons/AudioIcon.js +4 -0
  135. package/dist/src/components/icons/svg-icons/AudioIcon.tsx +22 -0
  136. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts +4 -0
  137. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +1 -0
  138. package/dist/src/components/icons/svg-icons/BackwardIcon.js +3 -0
  139. package/dist/src/components/icons/svg-icons/BackwardIcon.tsx +12 -0
  140. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts +4 -0
  141. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +1 -0
  142. package/dist/src/components/icons/svg-icons/CameraIcon.js +4 -0
  143. package/dist/src/components/icons/svg-icons/CameraIcon.tsx +19 -0
  144. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts +4 -0
  145. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +1 -0
  146. package/dist/src/components/icons/svg-icons/CheckIcon.js +4 -0
  147. package/dist/src/components/icons/svg-icons/CheckIcon.tsx +19 -0
  148. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts +4 -0
  149. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +1 -0
  150. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +5 -0
  151. package/dist/src/components/icons/svg-icons/EnablePiPIcon.tsx +17 -0
  152. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts +4 -0
  153. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +1 -0
  154. package/dist/src/components/icons/svg-icons/ForwardIcon.js +3 -0
  155. package/dist/src/components/icons/svg-icons/ForwardIcon.tsx +12 -0
  156. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts +4 -0
  157. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +1 -0
  158. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +3 -0
  159. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.tsx +23 -0
  160. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts +4 -0
  161. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +1 -0
  162. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +3 -0
  163. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.tsx +23 -0
  164. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts +4 -0
  165. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +1 -0
  166. package/dist/src/components/icons/svg-icons/LoadingIcon.js +3 -0
  167. package/dist/src/components/icons/svg-icons/LoadingIcon.tsx +32 -0
  168. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts +4 -0
  169. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +1 -0
  170. package/dist/src/components/icons/svg-icons/PauseIcon.js +3 -0
  171. package/dist/src/components/icons/svg-icons/PauseIcon.tsx +23 -0
  172. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts +4 -0
  173. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +1 -0
  174. package/dist/src/components/icons/svg-icons/PlayIcon.js +3 -0
  175. package/dist/src/components/icons/svg-icons/PlayIcon.tsx +21 -0
  176. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +4 -0
  177. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +1 -0
  178. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +3 -0
  179. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.tsx +23 -0
  180. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts +4 -0
  181. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +1 -0
  182. package/dist/src/components/icons/svg-icons/QualityIcon.js +3 -0
  183. package/dist/src/components/icons/svg-icons/QualityIcon.tsx +21 -0
  184. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts +4 -0
  185. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +1 -0
  186. package/dist/src/components/icons/svg-icons/SettingsIcon.js +3 -0
  187. package/dist/src/components/icons/svg-icons/SettingsIcon.tsx +12 -0
  188. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts +4 -0
  189. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +1 -0
  190. package/dist/src/components/icons/svg-icons/SliderIcon.js +3 -0
  191. package/dist/src/components/icons/svg-icons/SliderIcon.tsx +21 -0
  192. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts +4 -0
  193. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +1 -0
  194. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +3 -0
  195. package/dist/src/components/icons/svg-icons/SubtitleIcon.tsx +21 -0
  196. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts +4 -0
  197. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +1 -0
  198. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +3 -0
  199. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.tsx +25 -0
  200. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts +4 -0
  201. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +1 -0
  202. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +5 -0
  203. package/dist/src/components/icons/svg-icons/UnPiPIcon.tsx +17 -0
  204. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts +4 -0
  205. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +1 -0
  206. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +3 -0
  207. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.tsx +16 -0
  208. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts +4 -0
  209. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +1 -0
  210. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +3 -0
  211. package/dist/src/components/icons/svg-icons/VolumeOneIcon.tsx +22 -0
  212. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts +4 -0
  213. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +1 -0
  214. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +3 -0
  215. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.tsx +16 -0
  216. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts +4 -0
  217. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +1 -0
  218. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +3 -0
  219. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.tsx +16 -0
  220. package/dist/src/components/legacy.d.ts +13 -0
  221. package/dist/src/components/legacy.d.ts.map +1 -0
  222. package/dist/src/components/legacy.js +52 -0
  223. package/dist/src/components/legacy.tsx +93 -0
  224. package/dist/src/components/media-metadata-display.d.ts +11 -0
  225. package/dist/src/components/media-metadata-display.d.ts.map +1 -0
  226. package/dist/src/components/media-metadata-display.js +20 -0
  227. package/dist/src/components/media-metadata-display.tsx +100 -0
  228. package/dist/src/components/media-player-audio.d.ts +9 -0
  229. package/dist/src/components/media-player-audio.d.ts.map +1 -0
  230. package/dist/src/components/media-player-audio.js +18 -0
  231. package/dist/src/components/media-player-audio.tsx +39 -0
  232. package/dist/src/components/media-player-controls.d.ts +23 -0
  233. package/dist/src/components/media-player-controls.d.ts.map +1 -0
  234. package/dist/src/components/media-player-controls.js +150 -0
  235. package/dist/src/components/media-player-controls.tsx +226 -0
  236. package/dist/src/components/media-player-error.d.ts +16 -0
  237. package/dist/src/components/media-player-error.d.ts.map +1 -0
  238. package/dist/src/components/media-player-error.js +85 -0
  239. package/dist/src/components/media-player-error.tsx +163 -0
  240. package/dist/src/components/media-player-fullscreen.d.ts +12 -0
  241. package/dist/src/components/media-player-fullscreen.d.ts.map +1 -0
  242. package/dist/src/components/media-player-fullscreen.js +68 -0
  243. package/dist/src/components/media-player-fullscreen.tsx +109 -0
  244. package/dist/src/components/media-player-hls.d.ts +23 -0
  245. package/dist/src/components/media-player-hls.d.ts.map +1 -0
  246. package/dist/src/components/media-player-hls.js +20 -0
  247. package/dist/src/components/media-player-hls.tsx +111 -0
  248. package/dist/src/components/media-player-loading.d.ts +12 -0
  249. package/dist/src/components/media-player-loading.d.ts.map +1 -0
  250. package/dist/src/components/media-player-loading.js +53 -0
  251. package/dist/src/components/media-player-loading.tsx +76 -0
  252. package/dist/src/components/media-player-play.d.ts +11 -0
  253. package/dist/src/components/media-player-play.d.ts.map +1 -0
  254. package/dist/src/components/media-player-play.js +44 -0
  255. package/dist/src/components/media-player-play.tsx +75 -0
  256. package/dist/src/components/media-player-root.d.ts +28 -0
  257. package/dist/src/components/media-player-root.d.ts.map +1 -0
  258. package/dist/src/components/media-player-root.js +243 -0
  259. package/dist/src/components/media-player-root.tsx +340 -0
  260. package/dist/src/components/media-player-seek.d.ts +15 -0
  261. package/dist/src/components/media-player-seek.d.ts.map +1 -0
  262. package/dist/src/components/media-player-seek.js +92 -0
  263. package/dist/src/components/media-player-seek.tsx +168 -0
  264. package/dist/src/components/media-player-time.d.ts +12 -0
  265. package/dist/src/components/media-player-time.d.ts.map +1 -0
  266. package/dist/src/components/media-player-time.js +57 -0
  267. package/dist/src/components/media-player-time.tsx +99 -0
  268. package/dist/src/components/media-player-tooltip.d.ts +13 -0
  269. package/dist/src/components/media-player-tooltip.d.ts.map +1 -0
  270. package/dist/src/components/media-player-tooltip.js +14 -0
  271. package/dist/src/components/media-player-tooltip.tsx +58 -0
  272. package/dist/src/components/media-player-video.d.ts +9 -0
  273. package/dist/src/components/media-player-video.d.ts.map +1 -0
  274. package/dist/src/components/media-player-video.js +18 -0
  275. package/dist/src/components/media-player-video.tsx +39 -0
  276. package/dist/src/components/media-player-volume.d.ts +13 -0
  277. package/dist/src/components/media-player-volume.d.ts.map +1 -0
  278. package/dist/src/components/media-player-volume.js +88 -0
  279. package/dist/src/components/media-player-volume.tsx +155 -0
  280. package/dist/src/components/media-player.d.ts +3 -0
  281. package/dist/src/components/media-player.d.ts.map +1 -0
  282. package/dist/src/components/media-player.js +67 -0
  283. package/dist/src/components/media-player.tsx +257 -0
  284. package/dist/src/components/media-suspense.d.ts +78 -0
  285. package/dist/src/components/media-suspense.d.ts.map +1 -0
  286. package/dist/src/components/media-suspense.js +173 -0
  287. package/dist/src/components/media-suspense.tsx +362 -0
  288. package/dist/src/components/player-settings-form.d.ts +8 -0
  289. package/dist/src/components/player-settings-form.d.ts.map +1 -0
  290. package/dist/src/components/player-settings-form.js +46 -0
  291. package/dist/src/components/player-settings-form.tsx +163 -0
  292. package/dist/src/components/react-player-wrapper.d.ts +64 -0
  293. package/dist/src/components/react-player-wrapper.d.ts.map +1 -0
  294. package/dist/src/components/react-player-wrapper.js +163 -0
  295. package/dist/src/components/react-player-wrapper.tsx +651 -0
  296. package/dist/src/components/simple-video-player.d.ts +9 -0
  297. package/dist/src/components/simple-video-player.d.ts.map +1 -0
  298. package/dist/src/components/simple-video-player.js +41 -0
  299. package/dist/src/components/simple-video-player.tsx +60 -0
  300. package/dist/src/components/ui/enhanced-seek-bar.d.ts +3 -0
  301. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +1 -0
  302. package/dist/src/components/ui/enhanced-seek-bar.js +112 -0
  303. package/dist/src/components/ui/enhanced-seek-bar.tsx +235 -0
  304. package/dist/src/components/ui/fullscreen-button.d.ts +3 -0
  305. package/dist/src/components/ui/fullscreen-button.d.ts.map +1 -0
  306. package/dist/src/components/ui/fullscreen-button.js +21 -0
  307. package/dist/src/components/ui/fullscreen-button.tsx +60 -0
  308. package/dist/src/components/ui/media-resource-preloader.d.ts +21 -0
  309. package/dist/src/components/ui/media-resource-preloader.d.ts.map +1 -0
  310. package/dist/src/components/ui/media-resource-preloader.js +295 -0
  311. package/dist/src/components/ui/media-resource-preloader.tsx +393 -0
  312. package/dist/src/components/ui/play-button.d.ts +3 -0
  313. package/dist/src/components/ui/play-button.d.ts.map +1 -0
  314. package/dist/src/components/ui/play-button.js +26 -0
  315. package/dist/src/components/ui/play-button.tsx +107 -0
  316. package/dist/src/components/ui/seek-bar.d.ts +3 -0
  317. package/dist/src/components/ui/seek-bar.d.ts.map +1 -0
  318. package/dist/src/components/ui/seek-bar.js +54 -0
  319. package/dist/src/components/ui/seek-bar.tsx +161 -0
  320. package/dist/src/components/ui/time-display.d.ts +3 -0
  321. package/dist/src/components/ui/time-display.d.ts.map +1 -0
  322. package/dist/src/components/ui/time-display.js +18 -0
  323. package/dist/src/components/ui/time-display.tsx +40 -0
  324. package/dist/src/components/ui/volume-control.d.ts +3 -0
  325. package/dist/src/components/ui/volume-control.d.ts.map +1 -0
  326. package/dist/src/components/ui/volume-control.js +71 -0
  327. package/dist/src/components/ui/volume-control.tsx +143 -0
  328. package/dist/src/components/unified/base-media-player.d.ts +18 -0
  329. package/dist/src/components/unified/base-media-player.d.ts.map +1 -0
  330. package/dist/src/components/unified/base-media-player.js +104 -0
  331. package/dist/src/components/unified/base-media-player.tsx +246 -0
  332. package/dist/src/components/unified/media-player.d.ts +37 -0
  333. package/dist/src/components/unified/media-player.d.ts.map +1 -0
  334. package/dist/src/components/unified/media-player.js +41 -0
  335. package/dist/src/components/unified/media-player.tsx +75 -0
  336. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts +42 -0
  337. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +1 -0
  338. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +322 -0
  339. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.tsx +561 -0
  340. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts +44 -0
  341. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +1 -0
  342. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +280 -0
  343. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.tsx +552 -0
  344. package/dist/src/components/variants/minimal/MinimalControls.d.ts +19 -0
  345. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +1 -0
  346. package/dist/src/components/variants/minimal/MinimalControls.js +19 -0
  347. package/dist/src/components/variants/minimal/MinimalControls.tsx +142 -0
  348. package/dist/src/components/variants/minimal/MinimalLoading.d.ts +10 -0
  349. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +1 -0
  350. package/dist/src/components/variants/minimal/MinimalLoading.js +6 -0
  351. package/dist/src/components/variants/minimal/MinimalLoading.tsx +32 -0
  352. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts +38 -0
  353. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +1 -0
  354. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +135 -0
  355. package/dist/src/components/variants/minimal/MinimalMediaPlayer.tsx +315 -0
  356. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts +11 -0
  357. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +1 -0
  358. package/dist/src/components/variants/minimal/MinimalOverlay.js +15 -0
  359. package/dist/src/components/variants/minimal/MinimalOverlay.tsx +64 -0
  360. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts +9 -0
  361. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +1 -0
  362. package/dist/src/components/variants/minimal/MinimalPlayButton.js +29 -0
  363. package/dist/src/components/variants/minimal/MinimalPlayButton.tsx +65 -0
  364. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts +7 -0
  365. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +1 -0
  366. package/dist/src/components/variants/minimal/MinimalSeekBar.js +73 -0
  367. package/dist/src/components/variants/minimal/MinimalSeekBar.tsx +150 -0
  368. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts +7 -0
  369. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +1 -0
  370. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +29 -0
  371. package/dist/src/components/variants/minimal/MinimalVolumeControl.tsx +80 -0
  372. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts +22 -0
  373. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +1 -0
  374. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +51 -0
  375. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.tsx +209 -0
  376. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts +7 -0
  377. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +1 -0
  378. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +8 -0
  379. package/dist/src/components/variants/minimal/components/CenterPlayButton.tsx +22 -0
  380. package/dist/src/components/variants/minimal/components/ControlBar.d.ts +43 -0
  381. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +1 -0
  382. package/dist/src/components/variants/minimal/components/ControlBar.js +10 -0
  383. package/dist/src/components/variants/minimal/components/ControlBar.tsx +146 -0
  384. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts +24 -0
  385. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +1 -0
  386. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +68 -0
  387. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.tsx +361 -0
  388. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts +9 -0
  389. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +1 -0
  390. package/dist/src/components/variants/minimal/components/PlaybackControls.js +9 -0
  391. package/dist/src/components/variants/minimal/components/PlaybackControls.tsx +51 -0
  392. package/dist/src/components/variants/minimal/components/RightControls.d.ts +25 -0
  393. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +1 -0
  394. package/dist/src/components/variants/minimal/components/RightControls.js +40 -0
  395. package/dist/src/components/variants/minimal/components/RightControls.tsx +173 -0
  396. package/dist/src/components/variants/minimal/components/SeekBar.d.ts +11 -0
  397. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +1 -0
  398. package/dist/src/components/variants/minimal/components/SeekBar.js +43 -0
  399. package/dist/src/components/variants/minimal/components/SeekBar.tsx +131 -0
  400. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts +9 -0
  401. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +1 -0
  402. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +18 -0
  403. package/dist/src/components/variants/minimal/components/SettingsDropdown.tsx +70 -0
  404. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts +7 -0
  405. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +1 -0
  406. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +6 -0
  407. package/dist/src/components/variants/minimal/components/SubtitleDisplay.tsx +21 -0
  408. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts +7 -0
  409. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +1 -0
  410. package/dist/src/components/variants/minimal/components/TimeDisplay.js +5 -0
  411. package/dist/src/components/variants/minimal/components/TimeDisplay.tsx +18 -0
  412. package/dist/src/components/variants/minimal/components/VideoElement.d.ts +13 -0
  413. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +1 -0
  414. package/dist/src/components/variants/minimal/components/VideoElement.js +4 -0
  415. package/dist/src/components/variants/minimal/components/VideoElement.tsx +40 -0
  416. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts +13 -0
  417. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +1 -0
  418. package/dist/src/components/variants/minimal/components/VolumeControl.js +99 -0
  419. package/dist/src/components/variants/minimal/components/VolumeControl.tsx +217 -0
  420. package/dist/src/components/variants/minimal/index.d.ts +17 -0
  421. package/dist/src/components/variants/minimal/index.d.ts.map +1 -0
  422. package/dist/src/components/variants/minimal/index.js +8 -0
  423. package/dist/src/components/variants/minimal/index.ts +23 -0
  424. package/dist/src/components/video-player.d.ts +3 -0
  425. package/dist/src/components/video-player.d.ts.map +1 -0
  426. package/dist/src/components/video-player.js +38 -0
  427. package/dist/src/components/video-player.tsx +100 -0
  428. package/dist/src/context/error-handling.d.ts +72 -0
  429. package/dist/src/context/error-handling.d.ts.map +1 -0
  430. package/dist/src/context/error-handling.js +300 -0
  431. package/dist/src/context/error-handling.ts +394 -0
  432. package/dist/src/context/media-context.d.ts +104 -0
  433. package/dist/src/context/media-context.d.ts.map +1 -0
  434. package/dist/src/context/media-context.js +121 -0
  435. package/dist/src/context/media-context.tsx +208 -0
  436. package/dist/src/context/media-provider.d.ts +26 -0
  437. package/dist/src/context/media-provider.d.ts.map +1 -0
  438. package/dist/src/context/media-provider.js +164 -0
  439. package/dist/src/context/media-provider.tsx +265 -0
  440. package/dist/src/context/media-store.d.ts +33 -0
  441. package/dist/src/context/media-store.d.ts.map +1 -0
  442. package/dist/src/context/media-store.js +273 -0
  443. package/dist/src/context/media-store.ts +379 -0
  444. package/dist/src/context/persistence.d.ts +83 -0
  445. package/dist/src/context/persistence.d.ts.map +1 -0
  446. package/dist/src/context/persistence.js +356 -0
  447. package/dist/src/context/persistence.ts +453 -0
  448. package/dist/src/core/events/event-system.d.ts +170 -0
  449. package/dist/src/core/events/event-system.d.ts.map +1 -0
  450. package/dist/src/core/events/event-system.js +288 -0
  451. package/dist/src/core/events/event-system.ts +442 -0
  452. package/dist/src/core/events/hooks.d.ts +33 -0
  453. package/dist/src/core/events/hooks.d.ts.map +1 -0
  454. package/dist/src/core/events/hooks.js +198 -0
  455. package/dist/src/core/events/hooks.ts +302 -0
  456. package/dist/src/core/events/index.d.ts +6 -0
  457. package/dist/src/core/events/index.d.ts.map +1 -0
  458. package/dist/src/core/events/index.js +7 -0
  459. package/dist/src/core/events/index.ts +22 -0
  460. package/dist/src/core/events/middleware.d.ts +39 -0
  461. package/dist/src/core/events/middleware.d.ts.map +1 -0
  462. package/dist/src/core/events/middleware.js +219 -0
  463. package/dist/src/core/events/middleware.ts +269 -0
  464. package/dist/src/core/index.d.ts +8 -0
  465. package/dist/src/core/index.d.ts.map +1 -0
  466. package/dist/src/core/index.js +15 -0
  467. package/dist/src/core/index.ts +22 -0
  468. package/dist/src/core/optimization/bundle-optimizer.d.ts +44 -0
  469. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +1 -0
  470. package/dist/src/core/optimization/bundle-optimizer.js +217 -0
  471. package/dist/src/core/optimization/bundle-optimizer.tsx +308 -0
  472. package/dist/src/core/performance/cicd.d.ts +8 -0
  473. package/dist/src/core/performance/cicd.d.ts.map +1 -0
  474. package/dist/src/core/performance/cicd.js +83 -0
  475. package/dist/src/core/performance/cicd.ts +96 -0
  476. package/dist/src/core/performance/index.d.ts +10 -0
  477. package/dist/src/core/performance/index.d.ts.map +1 -0
  478. package/dist/src/core/performance/index.js +14 -0
  479. package/dist/src/core/performance/index.ts +38 -0
  480. package/dist/src/core/performance/media-loading-optimizer.d.ts +105 -0
  481. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +1 -0
  482. package/dist/src/core/performance/media-loading-optimizer.js +404 -0
  483. package/dist/src/core/performance/media-loading-optimizer.ts +538 -0
  484. package/dist/src/core/performance/performance-budgets.d.ts +68 -0
  485. package/dist/src/core/performance/performance-budgets.d.ts.map +1 -0
  486. package/dist/src/core/performance/performance-budgets.js +326 -0
  487. package/dist/src/core/performance/performance-budgets.ts +432 -0
  488. package/dist/src/core/performance/performance-monitor.d.ts +95 -0
  489. package/dist/src/core/performance/performance-monitor.d.ts.map +1 -0
  490. package/dist/src/core/performance/performance-monitor.js +297 -0
  491. package/dist/src/core/performance/performance-monitor.tsx +476 -0
  492. package/dist/src/core/performance/performance-testing.d.ts +69 -0
  493. package/dist/src/core/performance/performance-testing.d.ts.map +1 -0
  494. package/dist/src/core/performance/performance-testing.js +314 -0
  495. package/dist/src/core/performance/performance-testing.ts +459 -0
  496. package/dist/src/core/plugins/base-plugin.d.ts +52 -0
  497. package/dist/src/core/plugins/base-plugin.d.ts.map +1 -0
  498. package/dist/src/core/plugins/base-plugin.js +151 -0
  499. package/dist/src/core/plugins/base-plugin.ts +224 -0
  500. package/dist/src/core/plugins/enhanced-plugin-system.d.ts +160 -0
  501. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +1 -0
  502. package/dist/src/core/plugins/enhanced-plugin-system.js +305 -0
  503. package/dist/src/core/plugins/enhanced-plugin-system.ts +417 -0
  504. package/dist/src/core/plugins/examples/analytics-plugin.d.ts +30 -0
  505. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +1 -0
  506. package/dist/src/core/plugins/examples/analytics-plugin.js +191 -0
  507. package/dist/src/core/plugins/examples/analytics-plugin.ts +242 -0
  508. package/dist/src/core/plugins/index.d.ts +8 -0
  509. package/dist/src/core/plugins/index.d.ts.map +1 -0
  510. package/dist/src/core/plugins/index.js +9 -0
  511. package/dist/src/core/plugins/index.ts +39 -0
  512. package/dist/src/core/plugins/registry.d.ts +31 -0
  513. package/dist/src/core/plugins/registry.d.ts.map +1 -0
  514. package/dist/src/core/plugins/registry.js +261 -0
  515. package/dist/src/core/plugins/registry.ts +327 -0
  516. package/dist/src/core/plugins/types.d.ts +101 -0
  517. package/dist/src/core/plugins/types.d.ts.map +1 -0
  518. package/dist/src/core/plugins/types.js +31 -0
  519. package/dist/src/core/plugins/types.ts +159 -0
  520. package/dist/src/core/plugins/utils.d.ts +38 -0
  521. package/dist/src/core/plugins/utils.d.ts.map +1 -0
  522. package/dist/src/core/plugins/utils.js +274 -0
  523. package/dist/src/core/plugins/utils.ts +316 -0
  524. package/dist/src/core/progressive-loading.d.ts +88 -0
  525. package/dist/src/core/progressive-loading.d.ts.map +1 -0
  526. package/dist/src/core/progressive-loading.js +239 -0
  527. package/dist/src/core/progressive-loading.tsx +322 -0
  528. package/dist/src/core/providers/enhanced-hls-provider.d.ts +50 -0
  529. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +1 -0
  530. package/dist/src/core/providers/enhanced-hls-provider.js +273 -0
  531. package/dist/src/core/providers/enhanced-hls-provider.ts +308 -0
  532. package/dist/src/core/providers/service-provider.d.ts +49 -0
  533. package/dist/src/core/providers/service-provider.d.ts.map +1 -0
  534. package/dist/src/core/providers/service-provider.js +105 -0
  535. package/dist/src/core/providers/service-provider.tsx +168 -0
  536. package/dist/src/core/utils.d.ts +25 -0
  537. package/dist/src/core/utils.d.ts.map +1 -0
  538. package/dist/src/core/utils.js +21 -0
  539. package/dist/src/core/utils.tsx +38 -0
  540. package/dist/src/features/media-session/media-session-manager.d.ts +132 -0
  541. package/dist/src/features/media-session/media-session-manager.d.ts.map +1 -0
  542. package/dist/src/features/media-session/media-session-manager.js +331 -0
  543. package/dist/src/features/media-session/media-session-manager.ts +429 -0
  544. package/dist/src/features/picture-in-picture/pip-manager.d.ts +94 -0
  545. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +1 -0
  546. package/dist/src/features/picture-in-picture/pip-manager.js +353 -0
  547. package/dist/src/features/picture-in-picture/pip-manager.ts +429 -0
  548. package/dist/src/features/playlist/playlist-manager.d.ts +208 -0
  549. package/dist/src/features/playlist/playlist-manager.d.ts.map +1 -0
  550. package/dist/src/features/playlist/playlist-manager.js +475 -0
  551. package/dist/src/features/playlist/playlist-manager.ts +606 -0
  552. package/dist/src/features/subtitles/subtitle-manager.d.ts +136 -0
  553. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +1 -0
  554. package/dist/src/features/subtitles/subtitle-manager.js +335 -0
  555. package/dist/src/features/subtitles/subtitle-manager.ts +441 -0
  556. package/dist/src/features/subtitles/subtitle-parser.d.ts +60 -0
  557. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +1 -0
  558. package/dist/src/features/subtitles/subtitle-parser.js +217 -0
  559. package/dist/src/features/subtitles/subtitle-parser.ts +280 -0
  560. package/dist/src/features/thumbnails/thumbnail-generator.d.ts +136 -0
  561. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +1 -0
  562. package/dist/src/features/thumbnails/thumbnail-generator.js +388 -0
  563. package/dist/src/features/thumbnails/thumbnail-generator.ts +519 -0
  564. package/dist/src/hooks/accessibility/index.d.ts +5 -0
  565. package/dist/src/hooks/accessibility/index.d.ts.map +1 -0
  566. package/dist/src/hooks/accessibility/index.js +4 -0
  567. package/dist/src/hooks/accessibility/index.ts +27 -0
  568. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts +14 -0
  569. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +1 -0
  570. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +156 -0
  571. package/dist/src/hooks/accessibility/use-accessibility-preferences.ts +188 -0
  572. package/dist/src/hooks/accessibility/use-focus-management.d.ts +31 -0
  573. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +1 -0
  574. package/dist/src/hooks/accessibility/use-focus-management.js +142 -0
  575. package/dist/src/hooks/accessibility/use-focus-management.ts +176 -0
  576. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts +38 -0
  577. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +1 -0
  578. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +101 -0
  579. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.ts +144 -0
  580. package/dist/src/hooks/accessibility/use-screen-reader.d.ts +22 -0
  581. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +1 -0
  582. package/dist/src/hooks/accessibility/use-screen-reader.js +148 -0
  583. package/dist/src/hooks/accessibility/use-screen-reader.ts +182 -0
  584. package/dist/src/hooks/core/index.d.ts +18 -0
  585. package/dist/src/hooks/core/index.d.ts.map +1 -0
  586. package/dist/src/hooks/core/index.js +19 -0
  587. package/dist/src/hooks/core/index.ts +47 -0
  588. package/dist/src/hooks/legacy.d.ts +18 -0
  589. package/dist/src/hooks/legacy.d.ts.map +1 -0
  590. package/dist/src/hooks/legacy.js +17 -0
  591. package/dist/src/hooks/legacy.ts +27 -0
  592. package/dist/src/hooks/use-enhanced-media-player.d.ts +88 -0
  593. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +1 -0
  594. package/dist/src/hooks/use-enhanced-media-player.js +395 -0
  595. package/dist/src/hooks/use-enhanced-media-player.ts +485 -0
  596. package/dist/src/hooks/use-intelligent-preloading.d.ts +66 -0
  597. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +1 -0
  598. package/dist/src/hooks/use-intelligent-preloading.js +258 -0
  599. package/dist/src/hooks/use-intelligent-preloading.ts +358 -0
  600. package/dist/src/hooks/use-keyboard-controls.d.ts +13 -0
  601. package/dist/src/hooks/use-keyboard-controls.d.ts.map +1 -0
  602. package/dist/src/hooks/use-keyboard-controls.js +83 -0
  603. package/dist/src/hooks/use-keyboard-controls.ts +115 -0
  604. package/dist/src/hooks/use-media-actions.d.ts +62 -0
  605. package/dist/src/hooks/use-media-actions.d.ts.map +1 -0
  606. package/dist/src/hooks/use-media-actions.js +121 -0
  607. package/dist/src/hooks/use-media-actions.ts +175 -0
  608. package/dist/src/hooks/use-media-metadata.d.ts +11 -0
  609. package/dist/src/hooks/use-media-metadata.d.ts.map +1 -0
  610. package/dist/src/hooks/use-media-metadata.js +74 -0
  611. package/dist/src/hooks/use-media-metadata.ts +89 -0
  612. package/dist/src/hooks/use-media-optimistic.d.ts +36 -0
  613. package/dist/src/hooks/use-media-optimistic.d.ts.map +1 -0
  614. package/dist/src/hooks/use-media-optimistic.js +205 -0
  615. package/dist/src/hooks/use-media-optimistic.ts +270 -0
  616. package/dist/src/hooks/use-media-player.d.ts +31 -0
  617. package/dist/src/hooks/use-media-player.d.ts.map +1 -0
  618. package/dist/src/hooks/use-media-player.js +251 -0
  619. package/dist/src/hooks/use-media-player.ts +312 -0
  620. package/dist/src/hooks/use-media-state.d.ts +17 -0
  621. package/dist/src/hooks/use-media-state.d.ts.map +1 -0
  622. package/dist/src/hooks/use-media-state.js +162 -0
  623. package/dist/src/hooks/use-media-state.ts +190 -0
  624. package/dist/src/hooks/use-memory-optimization.d.ts +40 -0
  625. package/dist/src/hooks/use-memory-optimization.d.ts.map +1 -0
  626. package/dist/src/hooks/use-memory-optimization.js +288 -0
  627. package/dist/src/hooks/use-memory-optimization.ts +358 -0
  628. package/dist/src/hooks/use-optimistic-controls.d.ts +22 -0
  629. package/dist/src/hooks/use-optimistic-controls.d.ts.map +1 -0
  630. package/dist/src/hooks/use-optimistic-controls.js +60 -0
  631. package/dist/src/hooks/use-optimistic-controls.ts +92 -0
  632. package/dist/src/hooks/use-optimized-media.d.ts +46 -0
  633. package/dist/src/hooks/use-optimized-media.d.ts.map +1 -0
  634. package/dist/src/hooks/use-optimized-media.js +211 -0
  635. package/dist/src/hooks/use-optimized-media.ts +263 -0
  636. package/dist/src/hooks/use-touch-gestures.d.ts +47 -0
  637. package/dist/src/hooks/use-touch-gestures.d.ts.map +1 -0
  638. package/dist/src/hooks/use-touch-gestures.js +289 -0
  639. package/dist/src/hooks/use-touch-gestures.ts +417 -0
  640. package/dist/src/hooks/useEnhancedSubtitles.d.ts +39 -0
  641. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +1 -0
  642. package/dist/src/hooks/useEnhancedSubtitles.js +205 -0
  643. package/dist/src/hooks/useEnhancedSubtitles.ts +258 -0
  644. package/dist/src/hooks/useKeyboardShortcuts.d.ts +10 -0
  645. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  646. package/dist/src/hooks/useKeyboardShortcuts.js +59 -0
  647. package/dist/src/hooks/useKeyboardShortcuts.ts +74 -0
  648. package/dist/src/hooks/useMediaControls.d.ts +9 -0
  649. package/dist/src/hooks/useMediaControls.d.ts.map +1 -0
  650. package/dist/src/hooks/useMediaControls.js +44 -0
  651. package/dist/src/hooks/useMediaControls.ts +52 -0
  652. package/dist/src/hooks/useScreenshot.d.ts +4 -0
  653. package/dist/src/hooks/useScreenshot.d.ts.map +1 -0
  654. package/dist/src/hooks/useScreenshot.js +56 -0
  655. package/dist/src/hooks/useScreenshot.ts +57 -0
  656. package/dist/src/hooks/useSubtitles.d.ts +8 -0
  657. package/dist/src/hooks/useSubtitles.d.ts.map +1 -0
  658. package/dist/src/hooks/useSubtitles.js +73 -0
  659. package/dist/src/hooks/useSubtitles.ts +91 -0
  660. package/dist/src/hooks/useVideoPlayer.d.ts +32 -0
  661. package/dist/src/hooks/useVideoPlayer.d.ts.map +1 -0
  662. package/dist/src/hooks/useVideoPlayer.js +184 -0
  663. package/dist/src/hooks/useVideoPlayer.ts +232 -0
  664. package/dist/src/icons/components/FullscreenIcon.d.ts +3 -0
  665. package/dist/src/icons/components/FullscreenIcon.d.ts.map +1 -0
  666. package/dist/src/icons/components/FullscreenIcon.js +11 -0
  667. package/dist/src/icons/components/FullscreenIcon.tsx +37 -0
  668. package/dist/src/icons/components/SettingsIcon.d.ts +3 -0
  669. package/dist/src/icons/components/SettingsIcon.d.ts.map +1 -0
  670. package/dist/src/icons/components/SettingsIcon.js +11 -0
  671. package/dist/src/icons/components/SettingsIcon.tsx +38 -0
  672. package/dist/src/icons/components/animated/LoadingIcon.d.ts +3 -0
  673. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +1 -0
  674. package/dist/src/icons/components/animated/LoadingIcon.js +11 -0
  675. package/dist/src/icons/components/animated/LoadingIcon.tsx +43 -0
  676. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts +7 -0
  677. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +1 -0
  678. package/dist/src/icons/components/animated/PlayPauseIcon.js +9 -0
  679. package/dist/src/icons/components/animated/PlayPauseIcon.tsx +50 -0
  680. package/dist/src/icons/components/media/PauseIcon.d.ts +3 -0
  681. package/dist/src/icons/components/media/PauseIcon.d.ts.map +1 -0
  682. package/dist/src/icons/components/media/PauseIcon.js +12 -0
  683. package/dist/src/icons/components/media/PauseIcon.tsx +39 -0
  684. package/dist/src/icons/components/media/PlayIcon.d.ts +3 -0
  685. package/dist/src/icons/components/media/PlayIcon.d.ts.map +1 -0
  686. package/dist/src/icons/components/media/PlayIcon.js +12 -0
  687. package/dist/src/icons/components/media/PlayIcon.tsx +38 -0
  688. package/dist/src/icons/components/volume/VolumeIcon.d.ts +3 -0
  689. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +1 -0
  690. package/dist/src/icons/components/volume/VolumeIcon.js +11 -0
  691. package/dist/src/icons/components/volume/VolumeIcon.tsx +39 -0
  692. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts +3 -0
  693. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +1 -0
  694. package/dist/src/icons/components/volume/VolumeOffIcon.js +11 -0
  695. package/dist/src/icons/components/volume/VolumeOffIcon.tsx +39 -0
  696. package/dist/src/icons/index.d.ts +28 -0
  697. package/dist/src/icons/index.d.ts.map +1 -0
  698. package/dist/src/icons/index.js +45 -0
  699. package/dist/src/icons/index.ts +56 -0
  700. package/dist/src/icons/provider.d.ts +13 -0
  701. package/dist/src/icons/provider.d.ts.map +1 -0
  702. package/dist/src/icons/provider.js +37 -0
  703. package/dist/src/icons/provider.tsx +64 -0
  704. package/dist/src/icons/types.d.ts +18 -0
  705. package/dist/src/icons/types.d.ts.map +1 -0
  706. package/dist/src/icons/types.js +1 -0
  707. package/dist/src/icons/types.ts +40 -0
  708. package/dist/src/index-enhanced.d.ts +13 -0
  709. package/dist/src/index-enhanced.d.ts.map +1 -0
  710. package/dist/src/index-enhanced.js +16 -0
  711. package/dist/src/index-enhanced.ts +35 -0
  712. package/dist/src/index-legacy.d.ts +81 -0
  713. package/dist/src/index-legacy.d.ts.map +1 -0
  714. package/dist/src/index-legacy.js +97 -0
  715. package/dist/src/index-legacy.ts +326 -0
  716. package/dist/src/index.css +102 -0
  717. package/dist/src/index.d.ts +38 -0
  718. package/dist/src/index.d.ts.map +1 -0
  719. package/dist/src/index.js +90 -0
  720. package/dist/src/index.minimal.d.ts +2 -0
  721. package/dist/src/index.minimal.d.ts.map +1 -0
  722. package/dist/src/index.minimal.js +3 -0
  723. package/dist/src/index.minimal.ts +4 -0
  724. package/dist/src/index.ts +216 -0
  725. package/dist/src/lib/deprecation.d.ts +7 -0
  726. package/dist/src/lib/deprecation.d.ts.map +1 -0
  727. package/dist/src/lib/deprecation.js +31 -0
  728. package/dist/src/lib/deprecation.ts +51 -0
  729. package/dist/src/lib/format-time.d.ts +9 -0
  730. package/dist/src/lib/format-time.d.ts.map +1 -0
  731. package/dist/src/lib/format-time.js +32 -0
  732. package/dist/src/lib/format-time.ts +37 -0
  733. package/dist/src/lib/index.d.ts +3 -0
  734. package/dist/src/lib/index.d.ts.map +1 -0
  735. package/dist/src/lib/index.js +3 -0
  736. package/dist/src/lib/index.ts +3 -0
  737. package/dist/src/lib/utils.d.ts +3 -0
  738. package/dist/src/lib/utils.d.ts.map +1 -0
  739. package/dist/src/lib/utils.js +5 -0
  740. package/dist/src/lib/utils.ts +6 -0
  741. package/dist/src/styles/globals.css +462 -0
  742. package/dist/src/styles/minimal-player.css +589 -0
  743. package/dist/src/styles/pixel-art.css +46 -0
  744. package/dist/src/styles/videojs.css +100 -0
  745. package/dist/src/test/setup.d.ts +2 -0
  746. package/dist/src/test/setup.d.ts.map +1 -0
  747. package/dist/src/test/setup.js +65 -0
  748. package/dist/src/test/setup.ts +79 -0
  749. package/dist/src/types/events.d.ts +41 -0
  750. package/dist/src/types/events.d.ts.map +1 -0
  751. package/dist/src/types/events.js +2 -0
  752. package/dist/src/types/events.ts +47 -0
  753. package/dist/src/types/formats.d.ts +45 -0
  754. package/dist/src/types/formats.d.ts.map +1 -0
  755. package/dist/src/types/formats.js +63 -0
  756. package/dist/src/types/formats.ts +95 -0
  757. package/dist/src/types/index.d.ts +128 -0
  758. package/dist/src/types/index.d.ts.map +1 -0
  759. package/dist/src/types/index.js +4 -0
  760. package/dist/src/types/index.ts +225 -0
  761. package/dist/src/types/videojs-plugins.d.ts +14 -0
  762. package/dist/styles/minimal-player.css +589 -0
  763. package/dist/utils-Db13763z.cjs +9 -0
  764. package/dist/utils-Db13763z.cjs.map +1 -0
  765. package/dist/{utils-BnscpYYd.js → utils-nTO4AnHo.js} +210 -199
  766. package/dist/utils-nTO4AnHo.js.map +1 -0
  767. package/dist/utils.js +1 -1
  768. package/dist/utils.mjs +1 -1
  769. package/package.json +7 -4
  770. package/src/adapters/videojs-adapter.d.ts +38 -0
  771. package/src/adapters/videojs-adapter.d.ts.map +1 -0
  772. package/src/adapters/videojs-adapter.js +350 -0
  773. package/src/components/AnimateLoading.d.ts +9 -0
  774. package/src/components/AnimateLoading.d.ts.map +1 -0
  775. package/src/components/AnimateLoading.js +41 -0
  776. package/src/components/AnimateLoading.tsx +1 -1
  777. package/src/components/LoadingState.d.ts +33 -0
  778. package/src/components/LoadingState.d.ts.map +1 -0
  779. package/src/components/LoadingState.js +111 -0
  780. package/src/components/accessibility/keyboard-help-overlay.d.ts +17 -0
  781. package/src/components/accessibility/keyboard-help-overlay.d.ts.map +1 -0
  782. package/src/components/accessibility/keyboard-help-overlay.js +90 -0
  783. package/src/components/audio-player.d.ts +3 -0
  784. package/src/components/audio-player.d.ts.map +1 -0
  785. package/src/components/audio-player.js +31 -0
  786. package/src/components/basic/index.d.ts +26 -0
  787. package/src/components/basic/index.d.ts.map +1 -0
  788. package/src/components/basic/index.js +29 -0
  789. package/src/components/enhanced/advanced-features.d.ts +45 -0
  790. package/src/components/enhanced/advanced-features.d.ts.map +1 -0
  791. package/src/components/enhanced/advanced-features.js +64 -0
  792. package/src/components/enhanced/debug-panel.d.ts +70 -0
  793. package/src/components/enhanced/debug-panel.d.ts.map +1 -0
  794. package/src/components/enhanced/debug-panel.js +94 -0
  795. package/src/components/enhanced/debug-panel.tsx +1 -1
  796. package/src/components/enhanced/enhanced-controls.d.ts +50 -0
  797. package/src/components/enhanced/enhanced-controls.d.ts.map +1 -0
  798. package/src/components/enhanced/enhanced-controls.js +233 -0
  799. package/src/components/enhanced/enhanced-media-player.d.ts +26 -0
  800. package/src/components/enhanced/enhanced-media-player.d.ts.map +1 -0
  801. package/src/components/enhanced/enhanced-media-player.js +316 -0
  802. package/src/components/enhanced/error-handling.d.ts +36 -0
  803. package/src/components/enhanced/error-handling.d.ts.map +1 -0
  804. package/src/components/enhanced/error-handling.js +153 -0
  805. package/src/components/enhanced/index.d.ts +7 -0
  806. package/src/components/enhanced/index.d.ts.map +1 -0
  807. package/src/components/enhanced/index.js +10 -0
  808. package/src/components/enhanced/media-player-enhanced.d.ts +21 -0
  809. package/src/components/enhanced/media-player-enhanced.d.ts.map +1 -0
  810. package/src/components/enhanced/media-player-enhanced.js +250 -0
  811. package/src/components/examples/basic-video-player.d.ts +10 -0
  812. package/src/components/examples/basic-video-player.d.ts.map +1 -0
  813. package/src/components/examples/basic-video-player.js +16 -0
  814. package/src/components/examples/custom-controls-example.d.ts +10 -0
  815. package/src/components/examples/custom-controls-example.d.ts.map +1 -0
  816. package/src/components/examples/custom-controls-example.js +12 -0
  817. package/src/components/examples/enhanced-controls-example.d.ts +9 -0
  818. package/src/components/examples/enhanced-controls-example.d.ts.map +1 -0
  819. package/src/components/examples/enhanced-controls-example.js +18 -0
  820. package/src/components/examples/enhanced-media-player-example.d.ts +9 -0
  821. package/src/components/examples/enhanced-media-player-example.d.ts.map +1 -0
  822. package/src/components/examples/enhanced-media-player-example.js +13 -0
  823. package/src/components/examples/loading-states-demo.d.ts +2 -0
  824. package/src/components/examples/loading-states-demo.d.ts.map +1 -0
  825. package/src/components/examples/loading-states-demo.js +41 -0
  826. package/src/components/examples/react-19-demo.d.ts +10 -0
  827. package/src/components/examples/react-19-demo.d.ts.map +1 -0
  828. package/src/components/examples/react-19-demo.js +104 -0
  829. package/src/components/examples/volume-orientation-demo.d.ts +2 -0
  830. package/src/components/examples/volume-orientation-demo.d.ts.map +1 -0
  831. package/src/components/examples/volume-orientation-demo.js +31 -0
  832. package/src/components/icon-demo.d.ts +2 -0
  833. package/src/components/icon-demo.d.ts.map +1 -0
  834. package/src/components/icon-demo.js +16 -0
  835. package/src/components/icons/index.d.ts +36 -0
  836. package/src/components/icons/index.d.ts.map +1 -0
  837. package/src/components/icons/index.js +59 -0
  838. package/src/components/icons/svg-icons/ArrowLeftIcon.d.ts +4 -0
  839. package/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +1 -0
  840. package/src/components/icons/svg-icons/ArrowLeftIcon.js +3 -0
  841. package/src/components/icons/svg-icons/ArrowRightIcon.d.ts +4 -0
  842. package/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +1 -0
  843. package/src/components/icons/svg-icons/ArrowRightIcon.js +3 -0
  844. package/src/components/icons/svg-icons/AudioIcon.d.ts +4 -0
  845. package/src/components/icons/svg-icons/AudioIcon.d.ts.map +1 -0
  846. package/src/components/icons/svg-icons/AudioIcon.js +4 -0
  847. package/src/components/icons/svg-icons/BackwardIcon.d.ts +4 -0
  848. package/src/components/icons/svg-icons/BackwardIcon.d.ts.map +1 -0
  849. package/src/components/icons/svg-icons/BackwardIcon.js +3 -0
  850. package/src/components/icons/svg-icons/CameraIcon.d.ts +4 -0
  851. package/src/components/icons/svg-icons/CameraIcon.d.ts.map +1 -0
  852. package/src/components/icons/svg-icons/CameraIcon.js +4 -0
  853. package/src/components/icons/svg-icons/CheckIcon.d.ts +4 -0
  854. package/src/components/icons/svg-icons/CheckIcon.d.ts.map +1 -0
  855. package/src/components/icons/svg-icons/CheckIcon.js +4 -0
  856. package/src/components/icons/svg-icons/EnablePiPIcon.d.ts +4 -0
  857. package/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +1 -0
  858. package/src/components/icons/svg-icons/EnablePiPIcon.js +5 -0
  859. package/src/components/icons/svg-icons/ForwardIcon.d.ts +4 -0
  860. package/src/components/icons/svg-icons/ForwardIcon.d.ts.map +1 -0
  861. package/src/components/icons/svg-icons/ForwardIcon.js +3 -0
  862. package/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts +4 -0
  863. package/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +1 -0
  864. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +3 -0
  865. package/src/components/icons/svg-icons/FullscreenExitIcon.d.ts +4 -0
  866. package/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +1 -0
  867. package/src/components/icons/svg-icons/FullscreenExitIcon.js +3 -0
  868. package/src/components/icons/svg-icons/LoadingIcon.d.ts +4 -0
  869. package/src/components/icons/svg-icons/LoadingIcon.d.ts.map +1 -0
  870. package/src/components/icons/svg-icons/LoadingIcon.js +3 -0
  871. package/src/components/icons/svg-icons/PauseIcon.d.ts +4 -0
  872. package/src/components/icons/svg-icons/PauseIcon.d.ts.map +1 -0
  873. package/src/components/icons/svg-icons/PauseIcon.js +3 -0
  874. package/src/components/icons/svg-icons/PlayIcon.d.ts +4 -0
  875. package/src/components/icons/svg-icons/PlayIcon.d.ts.map +1 -0
  876. package/src/components/icons/svg-icons/PlayIcon.js +3 -0
  877. package/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +4 -0
  878. package/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +1 -0
  879. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +3 -0
  880. package/src/components/icons/svg-icons/QualityIcon.d.ts +4 -0
  881. package/src/components/icons/svg-icons/QualityIcon.d.ts.map +1 -0
  882. package/src/components/icons/svg-icons/QualityIcon.js +3 -0
  883. package/src/components/icons/svg-icons/SettingsIcon.d.ts +4 -0
  884. package/src/components/icons/svg-icons/SettingsIcon.d.ts.map +1 -0
  885. package/src/components/icons/svg-icons/SettingsIcon.js +3 -0
  886. package/src/components/icons/svg-icons/SliderIcon.d.ts +4 -0
  887. package/src/components/icons/svg-icons/SliderIcon.d.ts.map +1 -0
  888. package/src/components/icons/svg-icons/SliderIcon.js +3 -0
  889. package/src/components/icons/svg-icons/SubtitleIcon.d.ts +4 -0
  890. package/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +1 -0
  891. package/src/components/icons/svg-icons/SubtitleIcon.js +3 -0
  892. package/src/components/icons/svg-icons/SubtitleOffIcon.d.ts +4 -0
  893. package/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +1 -0
  894. package/src/components/icons/svg-icons/SubtitleOffIcon.js +3 -0
  895. package/src/components/icons/svg-icons/UnPiPIcon.d.ts +4 -0
  896. package/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +1 -0
  897. package/src/components/icons/svg-icons/UnPiPIcon.js +5 -0
  898. package/src/components/icons/svg-icons/VolumeMutedIcon.d.ts +4 -0
  899. package/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +1 -0
  900. package/src/components/icons/svg-icons/VolumeMutedIcon.js +3 -0
  901. package/src/components/icons/svg-icons/VolumeOneIcon.d.ts +4 -0
  902. package/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +1 -0
  903. package/src/components/icons/svg-icons/VolumeOneIcon.js +3 -0
  904. package/src/components/icons/svg-icons/VolumeThreeIcon.d.ts +4 -0
  905. package/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +1 -0
  906. package/src/components/icons/svg-icons/VolumeThreeIcon.js +3 -0
  907. package/src/components/icons/svg-icons/VolumeTwoIcon.d.ts +4 -0
  908. package/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +1 -0
  909. package/src/components/icons/svg-icons/VolumeTwoIcon.js +3 -0
  910. package/src/components/legacy.d.ts +13 -0
  911. package/src/components/legacy.d.ts.map +1 -0
  912. package/src/components/legacy.js +52 -0
  913. package/src/components/media-metadata-display.d.ts +11 -0
  914. package/src/components/media-metadata-display.d.ts.map +1 -0
  915. package/src/components/media-metadata-display.js +20 -0
  916. package/src/components/media-player-audio.d.ts +9 -0
  917. package/src/components/media-player-audio.d.ts.map +1 -0
  918. package/src/components/media-player-audio.js +18 -0
  919. package/src/components/media-player-controls.d.ts +23 -0
  920. package/src/components/media-player-controls.d.ts.map +1 -0
  921. package/src/components/media-player-controls.js +150 -0
  922. package/src/components/media-player-error.d.ts +16 -0
  923. package/src/components/media-player-error.d.ts.map +1 -0
  924. package/src/components/media-player-error.js +85 -0
  925. package/src/components/media-player-fullscreen.d.ts +12 -0
  926. package/src/components/media-player-fullscreen.d.ts.map +1 -0
  927. package/src/components/media-player-fullscreen.js +68 -0
  928. package/src/components/media-player-hls.d.ts +23 -0
  929. package/src/components/media-player-hls.d.ts.map +1 -0
  930. package/src/components/media-player-hls.js +20 -0
  931. package/src/components/media-player-loading.d.ts +12 -0
  932. package/src/components/media-player-loading.d.ts.map +1 -0
  933. package/src/components/media-player-loading.js +53 -0
  934. package/src/components/media-player-play.d.ts +11 -0
  935. package/src/components/media-player-play.d.ts.map +1 -0
  936. package/src/components/media-player-play.js +44 -0
  937. package/src/components/media-player-root.d.ts +28 -0
  938. package/src/components/media-player-root.d.ts.map +1 -0
  939. package/src/components/media-player-root.js +243 -0
  940. package/src/components/media-player-seek.d.ts +15 -0
  941. package/src/components/media-player-seek.d.ts.map +1 -0
  942. package/src/components/media-player-seek.js +92 -0
  943. package/src/components/media-player-time.d.ts +12 -0
  944. package/src/components/media-player-time.d.ts.map +1 -0
  945. package/src/components/media-player-time.js +57 -0
  946. package/src/components/media-player-tooltip.d.ts +13 -0
  947. package/src/components/media-player-tooltip.d.ts.map +1 -0
  948. package/src/components/media-player-tooltip.js +14 -0
  949. package/src/components/media-player-video.d.ts +9 -0
  950. package/src/components/media-player-video.d.ts.map +1 -0
  951. package/src/components/media-player-video.js +18 -0
  952. package/src/components/media-player-volume.d.ts +13 -0
  953. package/src/components/media-player-volume.d.ts.map +1 -0
  954. package/src/components/media-player-volume.js +88 -0
  955. package/src/components/media-player.d.ts +3 -0
  956. package/src/components/media-player.d.ts.map +1 -0
  957. package/src/components/media-player.js +67 -0
  958. package/src/components/media-player.tsx +2 -2
  959. package/src/components/media-suspense.d.ts +78 -0
  960. package/src/components/media-suspense.d.ts.map +1 -0
  961. package/src/components/media-suspense.js +173 -0
  962. package/src/components/player-settings-form.d.ts +8 -0
  963. package/src/components/player-settings-form.d.ts.map +1 -0
  964. package/src/components/player-settings-form.js +46 -0
  965. package/src/components/react-player-wrapper.d.ts +64 -0
  966. package/src/components/react-player-wrapper.d.ts.map +1 -0
  967. package/src/components/react-player-wrapper.js +163 -0
  968. package/src/components/simple-video-player.d.ts +9 -0
  969. package/src/components/simple-video-player.d.ts.map +1 -0
  970. package/src/components/simple-video-player.js +41 -0
  971. package/src/components/ui/enhanced-seek-bar.d.ts +3 -0
  972. package/src/components/ui/enhanced-seek-bar.d.ts.map +1 -0
  973. package/src/components/ui/enhanced-seek-bar.js +112 -0
  974. package/src/components/ui/fullscreen-button.d.ts +3 -0
  975. package/src/components/ui/fullscreen-button.d.ts.map +1 -0
  976. package/src/components/ui/fullscreen-button.js +21 -0
  977. package/src/components/ui/media-resource-preloader.d.ts +21 -0
  978. package/src/components/ui/media-resource-preloader.d.ts.map +1 -0
  979. package/src/components/ui/media-resource-preloader.js +295 -0
  980. package/src/components/ui/media-resource-preloader.tsx +9 -11
  981. package/src/components/ui/play-button.d.ts +3 -0
  982. package/src/components/ui/play-button.d.ts.map +1 -0
  983. package/src/components/ui/play-button.js +26 -0
  984. package/src/components/ui/seek-bar.d.ts +3 -0
  985. package/src/components/ui/seek-bar.d.ts.map +1 -0
  986. package/src/components/ui/seek-bar.js +54 -0
  987. package/src/components/ui/seek-bar.tsx +1 -1
  988. package/src/components/ui/time-display.d.ts +3 -0
  989. package/src/components/ui/time-display.d.ts.map +1 -0
  990. package/src/components/ui/time-display.js +18 -0
  991. package/src/components/ui/volume-control.d.ts +3 -0
  992. package/src/components/ui/volume-control.d.ts.map +1 -0
  993. package/src/components/ui/volume-control.js +71 -0
  994. package/src/components/unified/base-media-player.d.ts +18 -0
  995. package/src/components/unified/base-media-player.d.ts.map +1 -0
  996. package/src/components/unified/base-media-player.js +104 -0
  997. package/src/components/unified/media-player.d.ts +37 -0
  998. package/src/components/unified/media-player.d.ts.map +1 -0
  999. package/src/components/unified/media-player.js +41 -0
  1000. package/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts +42 -0
  1001. package/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +1 -0
  1002. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +322 -0
  1003. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts +44 -0
  1004. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +1 -0
  1005. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +280 -0
  1006. package/src/components/variants/minimal/MinimalControls.d.ts +19 -0
  1007. package/src/components/variants/minimal/MinimalControls.d.ts.map +1 -0
  1008. package/src/components/variants/minimal/MinimalControls.js +19 -0
  1009. package/src/components/variants/minimal/MinimalLoading.d.ts +10 -0
  1010. package/src/components/variants/minimal/MinimalLoading.d.ts.map +1 -0
  1011. package/src/components/variants/minimal/MinimalLoading.js +6 -0
  1012. package/src/components/variants/minimal/MinimalMediaPlayer.d.ts +38 -0
  1013. package/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +1 -0
  1014. package/src/components/variants/minimal/MinimalMediaPlayer.js +135 -0
  1015. package/src/components/variants/minimal/MinimalOverlay.d.ts +11 -0
  1016. package/src/components/variants/minimal/MinimalOverlay.d.ts.map +1 -0
  1017. package/src/components/variants/minimal/MinimalOverlay.js +15 -0
  1018. package/src/components/variants/minimal/MinimalPlayButton.d.ts +9 -0
  1019. package/src/components/variants/minimal/MinimalPlayButton.d.ts.map +1 -0
  1020. package/src/components/variants/minimal/MinimalPlayButton.js +29 -0
  1021. package/src/components/variants/minimal/MinimalSeekBar.d.ts +7 -0
  1022. package/src/components/variants/minimal/MinimalSeekBar.d.ts.map +1 -0
  1023. package/src/components/variants/minimal/MinimalSeekBar.js +73 -0
  1024. package/src/components/variants/minimal/MinimalVolumeControl.d.ts +7 -0
  1025. package/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +1 -0
  1026. package/src/components/variants/minimal/MinimalVolumeControl.js +29 -0
  1027. package/src/components/variants/minimal/SimpleMinimalPlayer.d.ts +22 -0
  1028. package/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +1 -0
  1029. package/src/components/variants/minimal/SimpleMinimalPlayer.js +51 -0
  1030. package/src/components/variants/minimal/SimpleMinimalPlayer.tsx +0 -1
  1031. package/src/components/variants/minimal/components/CenterPlayButton.d.ts +7 -0
  1032. package/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +1 -0
  1033. package/src/components/variants/minimal/components/CenterPlayButton.js +8 -0
  1034. package/src/components/variants/minimal/components/ControlBar.d.ts +43 -0
  1035. package/src/components/variants/minimal/components/ControlBar.d.ts.map +1 -0
  1036. package/src/components/variants/minimal/components/ControlBar.js +10 -0
  1037. package/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts +24 -0
  1038. package/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +1 -0
  1039. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +68 -0
  1040. package/src/components/variants/minimal/components/PlaybackControls.d.ts +9 -0
  1041. package/src/components/variants/minimal/components/PlaybackControls.d.ts.map +1 -0
  1042. package/src/components/variants/minimal/components/PlaybackControls.js +9 -0
  1043. package/src/components/variants/minimal/components/RightControls.d.ts +25 -0
  1044. package/src/components/variants/minimal/components/RightControls.d.ts.map +1 -0
  1045. package/src/components/variants/minimal/components/RightControls.js +40 -0
  1046. package/src/components/variants/minimal/components/SeekBar.d.ts +11 -0
  1047. package/src/components/variants/minimal/components/SeekBar.d.ts.map +1 -0
  1048. package/src/components/variants/minimal/components/SeekBar.js +43 -0
  1049. package/src/components/variants/minimal/components/SettingsDropdown.d.ts +9 -0
  1050. package/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +1 -0
  1051. package/src/components/variants/minimal/components/SettingsDropdown.js +18 -0
  1052. package/src/components/variants/minimal/components/SubtitleDisplay.d.ts +7 -0
  1053. package/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +1 -0
  1054. package/src/components/variants/minimal/components/SubtitleDisplay.js +6 -0
  1055. package/src/components/variants/minimal/components/TimeDisplay.d.ts +7 -0
  1056. package/src/components/variants/minimal/components/TimeDisplay.d.ts.map +1 -0
  1057. package/src/components/variants/minimal/components/TimeDisplay.js +5 -0
  1058. package/src/components/variants/minimal/components/VideoElement.d.ts +13 -0
  1059. package/src/components/variants/minimal/components/VideoElement.d.ts.map +1 -0
  1060. package/src/components/variants/minimal/components/VideoElement.js +4 -0
  1061. package/src/components/variants/minimal/components/VolumeControl.d.ts +13 -0
  1062. package/src/components/variants/minimal/components/VolumeControl.d.ts.map +1 -0
  1063. package/src/components/variants/minimal/components/VolumeControl.js +99 -0
  1064. package/src/components/variants/minimal/index.d.ts +17 -0
  1065. package/src/components/variants/minimal/index.d.ts.map +1 -0
  1066. package/src/components/variants/minimal/index.js +8 -0
  1067. package/src/components/video-player.d.ts +3 -0
  1068. package/src/components/video-player.d.ts.map +1 -0
  1069. package/src/components/video-player.js +38 -0
  1070. package/src/context/error-handling.d.ts +72 -0
  1071. package/src/context/error-handling.d.ts.map +1 -0
  1072. package/src/context/error-handling.js +300 -0
  1073. package/src/context/media-context.d.ts +104 -0
  1074. package/src/context/media-context.d.ts.map +1 -0
  1075. package/src/context/media-context.js +121 -0
  1076. package/src/context/media-provider.d.ts +26 -0
  1077. package/src/context/media-provider.d.ts.map +1 -0
  1078. package/src/context/media-provider.js +164 -0
  1079. package/src/context/media-store.d.ts +33 -0
  1080. package/src/context/media-store.d.ts.map +1 -0
  1081. package/src/context/media-store.js +273 -0
  1082. package/src/context/persistence.d.ts +83 -0
  1083. package/src/context/persistence.d.ts.map +1 -0
  1084. package/src/context/persistence.js +356 -0
  1085. package/src/core/events/event-system.d.ts +170 -0
  1086. package/src/core/events/event-system.d.ts.map +1 -0
  1087. package/src/core/events/event-system.js +288 -0
  1088. package/src/core/events/hooks.d.ts +33 -0
  1089. package/src/core/events/hooks.d.ts.map +1 -0
  1090. package/src/core/events/hooks.js +198 -0
  1091. package/src/core/events/index.d.ts +6 -0
  1092. package/src/core/events/index.d.ts.map +1 -0
  1093. package/src/core/events/index.js +7 -0
  1094. package/src/core/events/middleware.d.ts +39 -0
  1095. package/src/core/events/middleware.d.ts.map +1 -0
  1096. package/src/core/events/middleware.js +219 -0
  1097. package/src/core/index.d.ts +8 -0
  1098. package/src/core/index.d.ts.map +1 -0
  1099. package/src/core/index.js +15 -0
  1100. package/src/core/optimization/bundle-optimizer.d.ts +44 -0
  1101. package/src/core/optimization/bundle-optimizer.d.ts.map +1 -0
  1102. package/src/core/optimization/bundle-optimizer.js +217 -0
  1103. package/src/core/performance/cicd.d.ts +8 -0
  1104. package/src/core/performance/cicd.d.ts.map +1 -0
  1105. package/src/core/performance/cicd.js +83 -0
  1106. package/src/core/performance/index.d.ts +10 -0
  1107. package/src/core/performance/index.d.ts.map +1 -0
  1108. package/src/core/performance/index.js +14 -0
  1109. package/src/core/performance/media-loading-optimizer.d.ts +105 -0
  1110. package/src/core/performance/media-loading-optimizer.d.ts.map +1 -0
  1111. package/src/core/performance/media-loading-optimizer.js +404 -0
  1112. package/src/core/performance/performance-budgets.d.ts +68 -0
  1113. package/src/core/performance/performance-budgets.d.ts.map +1 -0
  1114. package/src/core/performance/performance-budgets.js +326 -0
  1115. package/src/core/performance/performance-monitor.d.ts +95 -0
  1116. package/src/core/performance/performance-monitor.d.ts.map +1 -0
  1117. package/src/core/performance/performance-monitor.js +297 -0
  1118. package/src/core/performance/performance-testing.d.ts +69 -0
  1119. package/src/core/performance/performance-testing.d.ts.map +1 -0
  1120. package/src/core/performance/performance-testing.js +314 -0
  1121. package/src/core/plugins/base-plugin.d.ts +52 -0
  1122. package/src/core/plugins/base-plugin.d.ts.map +1 -0
  1123. package/src/core/plugins/base-plugin.js +151 -0
  1124. package/src/core/plugins/enhanced-plugin-system.d.ts +160 -0
  1125. package/src/core/plugins/enhanced-plugin-system.d.ts.map +1 -0
  1126. package/src/core/plugins/enhanced-plugin-system.js +305 -0
  1127. package/src/core/plugins/enhanced-plugin-system.ts +14 -8
  1128. package/src/core/plugins/examples/analytics-plugin.d.ts +30 -0
  1129. package/src/core/plugins/examples/analytics-plugin.d.ts.map +1 -0
  1130. package/src/core/plugins/examples/analytics-plugin.js +191 -0
  1131. package/src/core/plugins/index.d.ts +8 -0
  1132. package/src/core/plugins/index.d.ts.map +1 -0
  1133. package/src/core/plugins/index.js +9 -0
  1134. package/src/core/plugins/registry.d.ts +31 -0
  1135. package/src/core/plugins/registry.d.ts.map +1 -0
  1136. package/src/core/plugins/registry.js +261 -0
  1137. package/src/core/plugins/types.d.ts +101 -0
  1138. package/src/core/plugins/types.d.ts.map +1 -0
  1139. package/src/core/plugins/types.js +31 -0
  1140. package/src/core/plugins/utils.d.ts +38 -0
  1141. package/src/core/plugins/utils.d.ts.map +1 -0
  1142. package/src/core/plugins/utils.js +274 -0
  1143. package/src/core/progressive-loading.d.ts +88 -0
  1144. package/src/core/progressive-loading.d.ts.map +1 -0
  1145. package/src/core/progressive-loading.js +239 -0
  1146. package/src/core/providers/enhanced-hls-provider.d.ts +50 -0
  1147. package/src/core/providers/enhanced-hls-provider.d.ts.map +1 -0
  1148. package/src/core/providers/enhanced-hls-provider.js +273 -0
  1149. package/src/core/providers/enhanced-hls-provider.ts +22 -53
  1150. package/src/core/providers/service-provider.d.ts +49 -0
  1151. package/src/core/providers/service-provider.d.ts.map +1 -0
  1152. package/src/core/providers/service-provider.js +105 -0
  1153. package/src/core/utils.d.ts +25 -0
  1154. package/src/core/utils.d.ts.map +1 -0
  1155. package/src/core/utils.js +21 -0
  1156. package/src/features/media-session/media-session-manager.d.ts +132 -0
  1157. package/src/features/media-session/media-session-manager.d.ts.map +1 -0
  1158. package/src/features/media-session/media-session-manager.js +331 -0
  1159. package/src/features/picture-in-picture/pip-manager.d.ts +94 -0
  1160. package/src/features/picture-in-picture/pip-manager.d.ts.map +1 -0
  1161. package/src/features/picture-in-picture/pip-manager.js +353 -0
  1162. package/src/features/playlist/playlist-manager.d.ts +208 -0
  1163. package/src/features/playlist/playlist-manager.d.ts.map +1 -0
  1164. package/src/features/playlist/playlist-manager.js +475 -0
  1165. package/src/features/subtitles/subtitle-manager.d.ts +136 -0
  1166. package/src/features/subtitles/subtitle-manager.d.ts.map +1 -0
  1167. package/src/features/subtitles/subtitle-manager.js +335 -0
  1168. package/src/features/subtitles/subtitle-parser.d.ts +60 -0
  1169. package/src/features/subtitles/subtitle-parser.d.ts.map +1 -0
  1170. package/src/features/subtitles/subtitle-parser.js +217 -0
  1171. package/src/features/thumbnails/thumbnail-generator.d.ts +136 -0
  1172. package/src/features/thumbnails/thumbnail-generator.d.ts.map +1 -0
  1173. package/src/features/thumbnails/thumbnail-generator.js +388 -0
  1174. package/src/hooks/accessibility/index.d.ts +5 -0
  1175. package/src/hooks/accessibility/index.d.ts.map +1 -0
  1176. package/src/hooks/accessibility/index.js +4 -0
  1177. package/src/hooks/accessibility/use-accessibility-preferences.d.ts +14 -0
  1178. package/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +1 -0
  1179. package/src/hooks/accessibility/use-accessibility-preferences.js +156 -0
  1180. package/src/hooks/accessibility/use-focus-management.d.ts +31 -0
  1181. package/src/hooks/accessibility/use-focus-management.d.ts.map +1 -0
  1182. package/src/hooks/accessibility/use-focus-management.js +142 -0
  1183. package/src/hooks/accessibility/use-keyboard-shortcuts.d.ts +38 -0
  1184. package/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +1 -0
  1185. package/src/hooks/accessibility/use-keyboard-shortcuts.js +101 -0
  1186. package/src/hooks/accessibility/use-screen-reader.d.ts +22 -0
  1187. package/src/hooks/accessibility/use-screen-reader.d.ts.map +1 -0
  1188. package/src/hooks/accessibility/use-screen-reader.js +148 -0
  1189. package/src/hooks/core/index.d.ts +18 -0
  1190. package/src/hooks/core/index.d.ts.map +1 -0
  1191. package/src/hooks/core/index.js +19 -0
  1192. package/src/hooks/legacy.d.ts +18 -0
  1193. package/src/hooks/legacy.d.ts.map +1 -0
  1194. package/src/hooks/legacy.js +17 -0
  1195. package/src/hooks/use-enhanced-media-player.d.ts +88 -0
  1196. package/src/hooks/use-enhanced-media-player.d.ts.map +1 -0
  1197. package/src/hooks/use-enhanced-media-player.js +395 -0
  1198. package/src/hooks/use-enhanced-media-player.ts +19 -2
  1199. package/src/hooks/use-intelligent-preloading.d.ts +66 -0
  1200. package/src/hooks/use-intelligent-preloading.d.ts.map +1 -0
  1201. package/src/hooks/use-intelligent-preloading.js +258 -0
  1202. package/src/hooks/use-keyboard-controls.d.ts +13 -0
  1203. package/src/hooks/use-keyboard-controls.d.ts.map +1 -0
  1204. package/src/hooks/use-keyboard-controls.js +83 -0
  1205. package/src/hooks/use-media-actions.d.ts +62 -0
  1206. package/src/hooks/use-media-actions.d.ts.map +1 -0
  1207. package/src/hooks/use-media-actions.js +121 -0
  1208. package/src/hooks/use-media-metadata.d.ts +11 -0
  1209. package/src/hooks/use-media-metadata.d.ts.map +1 -0
  1210. package/src/hooks/use-media-metadata.js +74 -0
  1211. package/src/hooks/use-media-optimistic.d.ts +36 -0
  1212. package/src/hooks/use-media-optimistic.d.ts.map +1 -0
  1213. package/src/hooks/use-media-optimistic.js +205 -0
  1214. package/src/hooks/use-media-player.d.ts +31 -0
  1215. package/src/hooks/use-media-player.d.ts.map +1 -0
  1216. package/src/hooks/use-media-player.js +251 -0
  1217. package/src/hooks/use-media-state.d.ts +17 -0
  1218. package/src/hooks/use-media-state.d.ts.map +1 -0
  1219. package/src/hooks/use-media-state.js +162 -0
  1220. package/src/hooks/use-memory-optimization.d.ts +40 -0
  1221. package/src/hooks/use-memory-optimization.d.ts.map +1 -0
  1222. package/src/hooks/use-memory-optimization.js +288 -0
  1223. package/src/hooks/use-optimistic-controls.d.ts +22 -0
  1224. package/src/hooks/use-optimistic-controls.d.ts.map +1 -0
  1225. package/src/hooks/use-optimistic-controls.js +60 -0
  1226. package/src/hooks/use-optimized-media.d.ts +46 -0
  1227. package/src/hooks/use-optimized-media.d.ts.map +1 -0
  1228. package/src/hooks/use-optimized-media.js +211 -0
  1229. package/src/hooks/use-touch-gestures.d.ts +47 -0
  1230. package/src/hooks/use-touch-gestures.d.ts.map +1 -0
  1231. package/src/hooks/use-touch-gestures.js +289 -0
  1232. package/src/hooks/useEnhancedSubtitles.d.ts +39 -0
  1233. package/src/hooks/useEnhancedSubtitles.d.ts.map +1 -0
  1234. package/src/hooks/useEnhancedSubtitles.js +205 -0
  1235. package/src/hooks/useKeyboardShortcuts.d.ts +10 -0
  1236. package/src/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  1237. package/src/hooks/useKeyboardShortcuts.js +59 -0
  1238. package/src/hooks/useMediaControls.d.ts +9 -0
  1239. package/src/hooks/useMediaControls.d.ts.map +1 -0
  1240. package/src/hooks/useMediaControls.js +44 -0
  1241. package/src/hooks/useScreenshot.d.ts +4 -0
  1242. package/src/hooks/useScreenshot.d.ts.map +1 -0
  1243. package/src/hooks/useScreenshot.js +56 -0
  1244. package/src/hooks/useSubtitles.d.ts +8 -0
  1245. package/src/hooks/useSubtitles.d.ts.map +1 -0
  1246. package/src/hooks/useSubtitles.js +73 -0
  1247. package/src/hooks/useVideoPlayer.d.ts +32 -0
  1248. package/src/hooks/useVideoPlayer.d.ts.map +1 -0
  1249. package/src/hooks/useVideoPlayer.js +184 -0
  1250. package/src/icons/components/FullscreenIcon.d.ts +3 -0
  1251. package/src/icons/components/FullscreenIcon.d.ts.map +1 -0
  1252. package/src/icons/components/FullscreenIcon.js +11 -0
  1253. package/src/icons/components/SettingsIcon.d.ts +3 -0
  1254. package/src/icons/components/SettingsIcon.d.ts.map +1 -0
  1255. package/src/icons/components/SettingsIcon.js +11 -0
  1256. package/src/icons/components/animated/LoadingIcon.d.ts +3 -0
  1257. package/src/icons/components/animated/LoadingIcon.d.ts.map +1 -0
  1258. package/src/icons/components/animated/LoadingIcon.js +11 -0
  1259. package/src/icons/components/animated/PlayPauseIcon.d.ts +7 -0
  1260. package/src/icons/components/animated/PlayPauseIcon.d.ts.map +1 -0
  1261. package/src/icons/components/animated/PlayPauseIcon.js +9 -0
  1262. package/src/icons/components/media/PauseIcon.d.ts +3 -0
  1263. package/src/icons/components/media/PauseIcon.d.ts.map +1 -0
  1264. package/src/icons/components/media/PauseIcon.js +12 -0
  1265. package/src/icons/components/media/PlayIcon.d.ts +3 -0
  1266. package/src/icons/components/media/PlayIcon.d.ts.map +1 -0
  1267. package/src/icons/components/media/PlayIcon.js +12 -0
  1268. package/src/icons/components/volume/VolumeIcon.d.ts +3 -0
  1269. package/src/icons/components/volume/VolumeIcon.d.ts.map +1 -0
  1270. package/src/icons/components/volume/VolumeIcon.js +11 -0
  1271. package/src/icons/components/volume/VolumeOffIcon.d.ts +3 -0
  1272. package/src/icons/components/volume/VolumeOffIcon.d.ts.map +1 -0
  1273. package/src/icons/components/volume/VolumeOffIcon.js +11 -0
  1274. package/src/icons/index.d.ts +28 -0
  1275. package/src/icons/index.d.ts.map +1 -0
  1276. package/src/icons/index.js +45 -0
  1277. package/src/icons/provider.d.ts +13 -0
  1278. package/src/icons/provider.d.ts.map +1 -0
  1279. package/src/icons/provider.js +37 -0
  1280. package/src/icons/types.d.ts +18 -0
  1281. package/src/icons/types.d.ts.map +1 -0
  1282. package/src/icons/types.js +1 -0
  1283. package/src/index-enhanced.d.ts +13 -0
  1284. package/src/index-enhanced.d.ts.map +1 -0
  1285. package/src/index-enhanced.js +16 -0
  1286. package/src/index-legacy.d.ts +81 -0
  1287. package/src/index-legacy.d.ts.map +1 -0
  1288. package/src/index-legacy.js +97 -0
  1289. package/src/index.d.ts +38 -0
  1290. package/src/index.d.ts.map +1 -0
  1291. package/src/index.js +90 -0
  1292. package/src/index.minimal.d.ts +2 -0
  1293. package/src/index.minimal.d.ts.map +1 -0
  1294. package/src/index.minimal.js +3 -0
  1295. package/src/index.minimal.ts +4 -0
  1296. package/src/lib/deprecation.d.ts +7 -0
  1297. package/src/lib/deprecation.d.ts.map +1 -0
  1298. package/src/lib/deprecation.js +31 -0
  1299. package/src/lib/format-time.d.ts +9 -0
  1300. package/src/lib/format-time.d.ts.map +1 -0
  1301. package/src/lib/format-time.js +32 -0
  1302. package/src/lib/index.d.ts +3 -0
  1303. package/src/lib/index.d.ts.map +1 -0
  1304. package/src/lib/index.js +3 -0
  1305. package/src/lib/utils.d.ts +3 -0
  1306. package/src/lib/utils.d.ts.map +1 -0
  1307. package/src/lib/utils.js +5 -0
  1308. package/src/test/setup.d.ts +2 -0
  1309. package/src/test/setup.d.ts.map +1 -0
  1310. package/src/test/setup.js +65 -0
  1311. package/src/types/events.d.ts +41 -0
  1312. package/src/types/events.d.ts.map +1 -0
  1313. package/src/types/events.js +2 -0
  1314. package/src/types/formats.d.ts +45 -0
  1315. package/src/types/formats.d.ts.map +1 -0
  1316. package/src/types/formats.js +63 -0
  1317. package/src/types/index.d.ts +128 -0
  1318. package/src/types/index.d.ts.map +1 -0
  1319. package/src/types/index.js +4 -0
  1320. package/src/types/index.ts +40 -5
  1321. package/dist/context-BMteAJDN.js.map +0 -1
  1322. package/dist/context-DCJ_scmO.cjs +0 -23
  1323. package/dist/context-DCJ_scmO.cjs.map +0 -1
  1324. package/dist/hooks-C_r8wexn.cjs +0 -4
  1325. package/dist/hooks-C_r8wexn.cjs.map +0 -1
  1326. package/dist/hooks-Da2wVXlF.js +0 -1630
  1327. package/dist/hooks-Da2wVXlF.js.map +0 -1
  1328. package/dist/utils-BnscpYYd.js.map +0 -1
  1329. package/dist/utils-D_czS_0K.cjs +0 -9
  1330. package/dist/utils-D_czS_0K.cjs.map +0 -1
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var z=Object.defineProperty;var _=(o,e,t)=>e in o?z(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var u=(o,e,t)=>_(o,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./core-plugins-CPDSHMiQ.cjs"),g=require("./core-events-CN0-Vhhq.cjs"),w=require("./context-DCJ_scmO.cjs"),d=require("react"),f=require("./performance-monitor-CUW6f5ll.cjs");class M{constructor(){u(this,"results",[]);u(this,"regressionDetector",new f.PerformanceRegressionDetector)}async runTest(e,t){const r=[];let n=0,i=0,s;try{for(let h=0;h<e.warmupIterations;h++)await t();global.gc&&global.gc(),n=this.getMemoryUsage();for(let h=0;h<e.iterations;h++){const b=performance.now();await t();const O=performance.now();r.push(O-b)}i=this.getMemoryUsage()}catch(h){s=h instanceof Error?h.message:String(h)}const a=r.reduce((h,b)=>h+b,0)/r.length,c=Math.min(...r),p=Math.max(...r),P=i-n,v=!s&&a<=e.expectedThreshold.renderTime&&P<=e.expectedThreshold.memoryUsage,S={testName:e.name,passed:v,metrics:{averageRenderTime:a,minRenderTime:isFinite(c)?c:0,maxRenderTime:isFinite(p)?p:0,memoryUsage:P,iterations:e.iterations},threshold:e.expectedThreshold,error:s};return this.results.push(S),S}getMemoryUsage(){return"memory"in performance&&performance.memory.usedJSHeapSize||0}async testComponentRender(e,t,r=16){const n={name:`${e} Render Performance`,iterations:100,warmupIterations:10,timeout:5e3,expectedThreshold:{renderTime:r,memoryUsage:1048576}};return this.runTest(n,t)}async testBundleLoading(e,t=1e3){const r={name:`Bundle Loading: ${e}`,iterations:5,warmupIterations:1,timeout:1e4,expectedThreshold:{renderTime:t,memoryUsage:5242880}};return this.runTest(r,async()=>{const n=performance.now();try{const s=await fetch(e);if(!s.ok)throw new Error(`Failed to load bundle: ${s.status}`);await s.blob()}catch(s){console.warn(`Bundle loading test failed for ${e}:`,s)}return performance.now()-n})}async testMemoryLeaks(e,t=1e3){const r={name:"Memory Leak Detection",iterations:t,warmupIterations:100,timeout:3e4,expectedThreshold:{renderTime:1/0,memoryUsage:10485760}},n=this.getMemoryUsage(),i=await this.runTest(r,e),a=this.getMemoryUsage()-n,c=a>r.expectedThreshold.memoryUsage;return{...i,passed:i.passed&&!c,error:c?`Potential memory leak detected: ${Math.round(a/1024/1024)}MB increase`:i.error}}async testInteractionDelay(e,t=100){const r={name:"Interaction Delay",iterations:50,warmupIterations:5,timeout:5e3,expectedThreshold:{renderTime:t,memoryUsage:1048576}};return this.runTest(r,e)}async runRegressionTests(e,t){t&&this.regressionDetector.setBaseline(t);const r=this.regressionDetector.detectRegression(e);return{passed:r.length===0,regressions:r}}getResults(){return[...this.results]}getSummary(){const e=this.results.length,t=this.results.filter(i=>i.passed).length,r=e-t,n=e>0?t/e*100:0;return{totalTests:e,passedTests:t,failedTests:r,passRate:n}}clearResults(){this.results=[]}generateReport(){const e=this.getSummary();let t=`Performance Test Report
1
+ "use strict";var z=Object.defineProperty;var _=(o,e,t)=>e in o?z(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var u=(o,e,t)=>_(o,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./core-plugins-CPDSHMiQ.cjs"),g=require("./core-events-CN0-Vhhq.cjs"),w=require("./context-CwZnPdz0.cjs"),d=require("react"),f=require("./performance-monitor-cjIvZE2D.cjs");class M{constructor(){u(this,"results",[]);u(this,"regressionDetector",new f.PerformanceRegressionDetector)}async runTest(e,t){const r=[];let n=0,i=0,s;try{for(let h=0;h<e.warmupIterations;h++)await t();global.gc&&global.gc(),n=this.getMemoryUsage();for(let h=0;h<e.iterations;h++){const b=performance.now();await t();const O=performance.now();r.push(O-b)}i=this.getMemoryUsage()}catch(h){s=h instanceof Error?h.message:String(h)}const a=r.reduce((h,b)=>h+b,0)/r.length,c=Math.min(...r),p=Math.max(...r),P=i-n,v=!s&&a<=e.expectedThreshold.renderTime&&P<=e.expectedThreshold.memoryUsage,S={testName:e.name,passed:v,metrics:{averageRenderTime:a,minRenderTime:isFinite(c)?c:0,maxRenderTime:isFinite(p)?p:0,memoryUsage:P,iterations:e.iterations},threshold:e.expectedThreshold,error:s};return this.results.push(S),S}getMemoryUsage(){return"memory"in performance&&performance.memory.usedJSHeapSize||0}async testComponentRender(e,t,r=16){const n={name:`${e} Render Performance`,iterations:100,warmupIterations:10,timeout:5e3,expectedThreshold:{renderTime:r,memoryUsage:1048576}};return this.runTest(n,t)}async testBundleLoading(e,t=1e3){const r={name:`Bundle Loading: ${e}`,iterations:5,warmupIterations:1,timeout:1e4,expectedThreshold:{renderTime:t,memoryUsage:5242880}};return this.runTest(r,async()=>{const n=performance.now();try{const s=await fetch(e);if(!s.ok)throw new Error(`Failed to load bundle: ${s.status}`);await s.blob()}catch(s){console.warn(`Bundle loading test failed for ${e}:`,s)}return performance.now()-n})}async testMemoryLeaks(e,t=1e3){const r={name:"Memory Leak Detection",iterations:t,warmupIterations:100,timeout:3e4,expectedThreshold:{renderTime:1/0,memoryUsage:10485760}},n=this.getMemoryUsage(),i=await this.runTest(r,e),a=this.getMemoryUsage()-n,c=a>r.expectedThreshold.memoryUsage;return{...i,passed:i.passed&&!c,error:c?`Potential memory leak detected: ${Math.round(a/1024/1024)}MB increase`:i.error}}async testInteractionDelay(e,t=100){const r={name:"Interaction Delay",iterations:50,warmupIterations:5,timeout:5e3,expectedThreshold:{renderTime:t,memoryUsage:1048576}};return this.runTest(r,e)}async runRegressionTests(e,t){t&&this.regressionDetector.setBaseline(t);const r=this.regressionDetector.detectRegression(e);return{passed:r.length===0,regressions:r}}getResults(){return[...this.results]}getSummary(){const e=this.results.length,t=this.results.filter(i=>i.passed).length,r=e-t,n=e>0?t/e*100:0;return{totalTests:e,passedTests:t,failedTests:r,passRate:n}}clearResults(){this.results=[]}generateReport(){const e=this.getSummary();let t=`Performance Test Report
2
2
  `;return t+=`========================
3
3
 
4
4
  `,t+=`Total Tests: ${e.totalTests}
@@ -33,5 +33,5 @@ Test Suites:
33
33
  `,t+=` Severity: ${n.severity.toUpperCase()}
34
34
 
35
35
  `}),t+=`Time: ${new Date().toISOString()}
36
- `,t+=`Total Violations: ${e.length}`,t}async sendAlert(e,t){switch(e.type){case"console":console.error(t);break;case"webhook":if(e.config.url){const r=await fetch(e.config.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,timestamp:Date.now()})});if(!r.ok)throw new Error(`Webhook failed: ${r.status}`)}break;case"slack":if(e.config.url){const r=await fetch(e.config.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,channel:e.config.channel,username:"BaroiPlayer Performance Monitor"})});if(!r.ok)throw new Error(`Slack webhook failed: ${r.status}`)}break;default:console.warn(`Unsupported alert channel: ${e.type}`)}}formatValue(e,t){switch(t){case"bytes":return this.formatBytes(e);case"ms":return`${e.toFixed(2)}ms`;case"score":return e.toFixed(3);case"percent":return`${e.toFixed(1)}%`;default:return e.toString()}}formatBytes(e){return e>=1024*1024?`${(e/1024/1024).toFixed(2)}MB`:e>=1024?`${(e/1024).toFixed(2)}KB`:`${e}B`}getUnitDisplay(e){return{bytes:"bytes",ms:"milliseconds",score:"score",percent:"percent"}[e]||e}addBudget(e){this.budgets.set(e.name,e)}removeBudget(e){this.budgets.delete(e)}updateBudget(e,t){const r=this.budgets.get(e);r&&this.budgets.set(e,{...r,...t})}getBudgets(){return Array.from(this.budgets.values())}getViolations(e){return e?this.violations.filter(t=>t.timestamp>=e):[...this.violations]}clearViolations(){this.violations=[]}getViolationSummary(){const e={},t={};return this.violations.forEach(r=>{const n=r.budget.category,i=r.budget.severity;e[n]=(e[n]||0)+1,t[i]=(t[i]||0)+1}),{total:this.violations.length,byCategory:e,bySeverity:t}}}const q=new R,B={preloadStrategy:"metadata",adaptiveBitrate:!0,maxPreloadSize:2*1024*1024,networkThresholds:{"2g":{maxBitrate:128,preload:!1},"3g":{maxBitrate:500,preload:!1},"4g":{maxBitrate:2e3,preload:!0},"5g":{maxBitrate:1e4,preload:!0}},bufferSize:10,enableServiceWorker:!0};class I{constructor(){u(this,"connection");u(this,"listeners",new Set);u(this,"currentInfo");if(typeof window>"u"||typeof navigator>"u"){this.connection=null,this.currentInfo={effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:!0};return}this.connection=navigator.connection||navigator.mozConnection||navigator.webkitConnection,this.currentInfo=this.getNetworkInfo(),this.initializeListeners()}getNetworkInfo(){if(typeof navigator>"u")return{effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:!0};const e=navigator.onLine;return this.connection?{effectiveType:this.connection.effectiveType||"unknown",downlink:this.connection.downlink||0,rtt:this.connection.rtt||0,saveData:this.connection.saveData||!1,isOnline:e}:{effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:e}}initializeListeners(){typeof window>"u"||(this.connection&&this.connection.addEventListener("change",this.handleNetworkChange.bind(this)),window.addEventListener("online",this.handleNetworkChange.bind(this)),window.addEventListener("offline",this.handleNetworkChange.bind(this)))}handleNetworkChange(){const e=this.getNetworkInfo();this.currentInfo=e,this.listeners.forEach(t=>t(e))}getCurrentNetworkInfo(){return{...this.currentInfo}}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}async estimateBandwidth(){if(this.connection&&this.connection.downlink)return this.connection.downlink*1e3;try{const e=performance.now(),n=await(await fetch("/api/bandwidth-test?size=100kb")).blob(),s=(performance.now()-e)/1e3;return n.size*8/s/1e3}catch(e){return console.warn("Bandwidth estimation failed:",e),1e3}}}class L{constructor(e={}){u(this,"config");u(this,"networkMonitor");u(this,"loadingMetrics",new Map);u(this,"preloadCache",new Map);this.config={...B,...e},this.networkMonitor=new I,this.initializeNetworkMonitoring()}initializeNetworkMonitoring(){this.networkMonitor.subscribe(e=>{this.handleNetworkChange(e)})}handleNetworkChange(e){console.log("Network changed:",e),this.config.adaptiveBitrate&&this.adjustQualityForNetwork(e),(e.effectiveType==="2g"||e.saveData)&&this.clearPreloadCache()}async optimizeMediaLoading(e,t,r={}){const n=performance.now(),i=this.networkMonitor.getCurrentNetworkInfo(),s={loadStartTime:n,bytesLoaded:0,loadSpeed:0,networkType:i.effectiveType,quality:r.quality||"auto",bufferHealth:0,stallsCount:0,stallsDuration:0};this.loadingMetrics.set(e,s);try{const a=this.chooseLoadingStrategy(i,r);return a.shouldPreload&&await this.preloadMedia(e,a.preloadAmount),t.preload=a.preloadAttribute,this.monitorLoadingProgress(t,s),this.config.adaptiveBitrate&&a.suggestedQuality&&this.applyQualitySettings(t,a.suggestedQuality),s}catch(a){return console.error("Media loading optimization failed:",a),s}}chooseLoadingStrategy(e,t){const r=e.effectiveType==="unknown"?"4g":e.effectiveType,n=this.config.networkThresholds[r]||this.config.networkThresholds["4g"];return{shouldPreload:t.preload!==!1&&n.preload&&!e.saveData,preloadAmount:e.saveData?0:this.config.maxPreloadSize,preloadAttribute:this.getPreloadAttribute(e),suggestedQuality:this.getSuggestedQuality(e,n.maxBitrate),bufferTarget:this.getBufferTarget(e)}}getPreloadAttribute(e){return e.saveData||e.effectiveType==="2g"?"none":e.effectiveType==="3g"?"metadata":this.config.preloadStrategy}getSuggestedQuality(e,t){const r=e.downlink*1e3;return r>=t*2?"high":r>=t?"medium":"low"}getBufferTarget(e){switch(e.effectiveType){case"2g":return 2;case"3g":return 5;case"4g":return this.config.bufferSize;case"5g":return this.config.bufferSize*1.5;default:return this.config.bufferSize}}async preloadMedia(e,t){if(this.preloadCache.has(e))return;const r=this.fetchWithProgress(e,t);this.preloadCache.set(e,r);try{await r}catch(n){console.warn(`Preload failed for ${e}:`,n),this.preloadCache.delete(e)}}async fetchWithProgress(e,t){const r=await fetch(e,{headers:{Range:`bytes=0-${t-1}`}});if(!r.ok)throw new Error(`Failed to preload: ${r.status}`);const n=r.body?.getReader();if(!n)throw new Error("Response body not readable");const i=[];let s=0;try{for(;s<t;){const{done:a,value:c}=await n.read();if(a)break;i.push(c),s+=c.length}}finally{n.releaseLock()}return new Blob(i)}monitorLoadingProgress(e,t){let r=null;const n=()=>{if(e.buffered.length>0){const v=e.buffered.end(e.buffered.length-1),S=e.currentTime;t.bufferHealth=Math.min((v-S)/this.config.bufferSize,1)}},i=()=>{t.firstByteTime=performance.now()},s=()=>{t.loadCompleteTime=performance.now(),t.totalLoadTime=t.loadCompleteTime-t.loadStartTime,t.totalLoadTime&&t.bytesLoaded>0&&(t.loadSpeed=t.bytesLoaded/(t.totalLoadTime/1e3))},a=()=>{r===null&&(r=performance.now(),t.stallsCount++)},c=()=>{r!==null&&(t.stallsDuration+=performance.now()-r,r=null),n()},p=()=>{if(e.buffered.length>0){const v=e.buffered.end(0)*1e3;t.bytesLoaded=v}n()};e.addEventListener("loadstart",i),e.addEventListener("canplay",s),e.addEventListener("waiting",a),e.addEventListener("playing",c),e.addEventListener("progress",p),setTimeout(()=>{e.removeEventListener("loadstart",i),e.removeEventListener("canplay",s),e.removeEventListener("waiting",a),e.removeEventListener("playing",c),e.removeEventListener("progress",p)},300*1e3)}applyQualitySettings(e,t){console.log(`Applying quality setting: ${t} to`,e)}adjustQualityForNetwork(e){console.log("Adjusting quality for network conditions:",e.effectiveType)}clearPreloadCache(){this.preloadCache.clear()}getLoadingMetrics(e){return this.loadingMetrics.get(e)}getAllMetrics(){return Array.from(this.loadingMetrics.values())}getAverageLoadingTime(){const t=this.getAllMetrics().filter(n=>n.totalLoadTime!==void 0);return t.length===0?0:t.reduce((n,i)=>n+(i.totalLoadTime||0),0)/t.length}getNetworkPerformanceStats(){const e=new Map;return this.getAllMetrics().forEach(t=>{const r=t.networkType;e.has(r)||e.set(r,[]),e.get(r).push(t)}),Array.from(e.entries()).map(([t,r])=>({networkType:t,avgLoadTime:r.reduce((n,i)=>n+(i.totalLoadTime||0),0)/r.length,avgStalls:r.reduce((n,i)=>n+i.stallsCount,0)/r.length,avgBufferHealth:r.reduce((n,i)=>n+i.bufferHealth,0)/r.length}))}}const F=new L;function j(o){const[e]=d.useState(()=>o?new L(o):F),[t,r]=d.useState(null),[n,i]=d.useState([]);d.useEffect(()=>{const a=e.networkMonitor.subscribe(r);r(e.networkMonitor.getCurrentNetworkInfo());const c=setInterval(()=>{i(e.getAllMetrics())},1e3);return()=>{a(),clearInterval(c)}},[e]);const s=d.useCallback((a,c,p)=>e.optimizeMediaLoading(a,c,p),[e]);return{networkInfo:t,loadingMetrics:n,optimizeLoading:s,averageLoadTime:e.getAverageLoadingTime(),networkStats:e.getNetworkPerformanceStats()}}class Y{get(e){try{const t=localStorage.getItem(`baroi-player-${e}`);return t?JSON.parse(t):null}catch{return null}}set(e,t){try{localStorage.setItem(`baroi-player-${e}`,JSON.stringify(t))}catch(r){console.warn("Failed to store data:",r)}}remove(e){try{localStorage.removeItem(`baroi-player-${e}`)}catch(t){console.warn("Failed to remove data:",t)}}clear(){try{Object.keys(localStorage).forEach(e=>{e.startsWith("baroi-player-")&&localStorage.removeItem(e)})}catch(e){console.warn("Failed to clear data:",e)}}}class Q{track(e,t){console.log("Analytics:",e,t)}identify(e,t){console.log("Analytics identify:",e,t)}page(e,t){console.log("Analytics page:",e,t)}}const N=d.createContext(null);function x({children:o,services:e={}}){const t=d.useMemo(()=>{const r=e.logger||new m.ConsolePluginLogger("[BaroiPlayer]"),n=e.eventBus||new g.EventBus,i=e.pluginRegistry||new m.PluginRegistry(r),s=e.storage||new Y,a=e.analytics||new Q;return{eventBus:n,pluginRegistry:i,storage:s,analytics:a,logger:r}},[e]);return w.jsxRuntimeExports.jsx(N.Provider,{value:t,children:o})}function y(){const o=d.useContext(N);if(!o)throw new Error("useServices must be used within ServiceProvider");return o}function K(){return y().eventBus}function W(){return y().pluginRegistry}function J(){return y().storage}function G(){return y().analytics}function X(){return y().logger}function Z(o){return function(t){const r=y();return w.jsxRuntimeExports.jsx(o,{...t,services:r})}}function ee(o={}){return function({children:t}){return w.jsxRuntimeExports.jsx(x,{services:o.services,children:t})}}const l={SUBTITLES:"subtitles",PLAYLISTS:"playlists",ADVANCED_CONTROLS:"advanced_controls",ANALYTICS:"analytics",PICTURE_IN_PICTURE:"picture_in_picture",QUALITY_SELECTOR:"quality_selector",PLAYBACK_SPEED:"playback_speed",CHAPTERS:"chapters",THUMBNAILS:"thumbnails",KEYBOARD_SHORTCUTS:"keyboard_shortcuts"},D={enabledFeatures:[l.SUBTITLES,l.ADVANCED_CONTROLS,l.KEYBOARD_SHORTCUTS],loadingStrategy:"lazy",fallbackTimeout:5e3,retryAttempts:3},te={SubtitleSelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector}))),PlaylistManager:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector}))),QualitySelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.QualitySelector}))),PlaybackSpeedSelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.PlaybackSpeedSelector}))),ChaptersPanel:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.ChaptersPanel}))),PictureInPictureButton:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.PictureInPictureButton}))),AnalyticsTracker:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector})))};class C{static async isSupported(e){if(this.cache.has(e))return this.cache.get(e);const t=await this.checkFeatureSupport(e);return this.cache.set(e,t),t}static async checkFeatureSupport(e){if(typeof window>"u"||typeof document>"u")return!0;switch(e){case l.SUBTITLES:return"TextTrack"in window;case l.PICTURE_IN_PICTURE:return"pictureInPictureEnabled"in document;case l.ADVANCED_CONTROLS:return!0;case l.PLAYLISTS:return"MediaSession"in window;case l.ANALYTICS:return"IntersectionObserver"in window;case l.QUALITY_SELECTOR:return"MediaSource"in window;case l.PLAYBACK_SPEED:return!0;case l.CHAPTERS:return"TextTrack"in window;case l.THUMBNAILS:return"OffscreenCanvas"in window||"canvas"in document.createElement("canvas");case l.KEYBOARD_SHORTCUTS:return"KeyboardEvent"in window;default:return!1}}}u(C,"cache",new Map);class ${constructor(e={}){u(this,"config");u(this,"loadedFeatures",new Set);u(this,"loadingPromises",new Map);this.config={...D,...e}}async loadFeature(e){if(!this.config.enabledFeatures.includes(e))return null;if(this.loadedFeatures.has(e))return this.getLoadedFeature(e);if(this.loadingPromises.has(e))return this.loadingPromises.get(e);if(!await C.isSupported(e))return console.warn(`Feature ${e} is not supported in this browser`),null;const r=this.loadWithRetry(e);this.loadingPromises.set(e,r);try{const n=await r;return this.loadedFeatures.add(e),n}catch(n){return console.error(`Failed to load feature ${e}:`,n),this.loadingPromises.delete(e),null}}async loadWithRetry(e,t=1){try{return await this.loadFeatureModule(e)}catch(r){if(t<this.config.retryAttempts)return console.warn(`Loading feature ${e} failed, retrying (${t}/${this.config.retryAttempts})`),await new Promise(n=>setTimeout(n,1e3*t)),this.loadWithRetry(e,t+1);throw r}}async loadFeatureModule(e){switch(e){case l.SUBTITLES:return Promise.resolve().then(()=>require("./hooks-C_r8wexn.cjs")).then(t=>t.useEnhancedSubtitles$2);case l.PLAYLISTS:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.ADVANCED_CONTROLS:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.ANALYTICS:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.PICTURE_IN_PICTURE:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.QUALITY_SELECTOR:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.PLAYBACK_SPEED:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.CHAPTERS:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.THUMBNAILS:return Promise.resolve().then(()=>require("./enhanced-components-DTIObgB7.cjs")).then(t=>t.advancedFeatures);case l.KEYBOARD_SHORTCUTS:return Promise.resolve().then(()=>require("./hooks-C_r8wexn.cjs")).then(t=>t.useKeyboardControls$1);default:throw new Error(`Unknown feature: ${e}`)}}getLoadedFeature(e){return this.loadingPromises.get(e)}async preloadFeatures(e=this.config.enabledFeatures){const t=e.map(r=>this.loadFeature(r));await Promise.allSettled(t)}getLoadingState(){return{loaded:Array.from(this.loadedFeatures),loading:Array.from(this.loadingPromises.keys()),enabled:this.config.enabledFeatures}}}const E=new $;function U(o){const[e,t]=d.useState(null),[r,n]=d.useState(!1),[i,s]=d.useState(null),a=d.useCallback(async()=>{if(!(r||e)){n(!0),s(null);try{const c=await E.loadFeature(o);t(c)}catch(c){s(c)}finally{n(!1)}}},[o,r,e]);return d.useEffect(()=>{E.config.loadingStrategy==="immediate"&&a()},[a]),{feature:e,loading:r,error:i,load:a}}function re(o,e,t){return function(n){const{feature:i,loading:s,error:a}=U(e);if(s)return w.jsxRuntimeExports.jsx("div",{className:"h-8 animate-pulse rounded bg-gray-200"});if(a||!i){const c=t;return c?w.jsxRuntimeExports.jsx(c,{...n}):null}return w.jsxRuntimeExports.jsx(o,{...n})}}const ne="1.0.0";exports.AnalyticsPlugin=m.AnalyticsPlugin;exports.BasePlugin=m.BasePlugin;exports.ConsolePluginLogger=m.ConsolePluginLogger;exports.PLUGIN_SYSTEM_VERSION=m.PLUGIN_SYSTEM_VERSION;exports.PluginConflictError=m.PluginConflictError;exports.PluginDependencyError=m.PluginDependencyError;exports.PluginDevelopmentHelpers=m.PluginDevelopmentHelpers;exports.PluginError=m.PluginError;exports.PluginPerformanceMonitor=m.PluginPerformanceMonitor;exports.PluginRegistry=m.PluginRegistry;exports.PluginStorage=m.PluginStorage;exports.PluginValidator=m.PluginValidator;exports.createAnalyticsPlugin=m.createAnalyticsPlugin;exports.createPlugin=m.createPlugin;exports.defaultPerformanceMonitor=m.defaultPerformanceMonitor;exports.defaultPluginLogger=m.defaultPluginLogger;exports.EVENT_SYSTEM_VERSION=g.EVENT_SYSTEM_VERSION;exports.EventBus=g.EventBus;exports.EventDelegator=g.EventDelegator;exports.MiddlewareBuilder=g.MiddlewareBuilder;exports.commonMiddlewares=g.commonMiddlewares;exports.createMiddleware=g.createMiddleware;exports.defaultEventBus=g.defaultEventBus;exports.eventMiddlewares=g.eventMiddlewares;exports.useConditionalEventListener=g.useConditionalEventListener;exports.useEventBus=g.useEventBus;exports.useEventDebugger=g.useEventDebugger;exports.useEventEffect=g.useEventEffect;exports.useEventEmitter=g.useEventEmitter;exports.useEventHandlers=g.useEventHandlers;exports.useEventHistory=g.useEventHistory;exports.useEventListener=g.useEventListener;exports.useEventMetrics=g.useEventMetrics;exports.useEventOnce=g.useEventOnce;exports.useEventState=g.useEventState;exports.PerformanceDashboard=f.PerformanceDashboard;exports.PerformanceMonitor=f.PerformanceMonitor;exports.PerformanceRegressionDetector=f.PerformanceRegressionDetector;exports.defaultThresholds=f.defaultThresholds;exports.performanceMonitor=f.performanceMonitor;exports.usePerformanceMonitor=f.usePerformanceMonitor;exports.withPerformanceMonitoring=f.withPerformanceMonitoring;exports.CORE_ARCHITECTURE_VERSION=ne;exports.FEATURES=l;exports.FeatureDetector=C;exports.MediaLoadingOptimizer=L;exports.NetworkMonitor=I;exports.PerformanceBenchmark=M;exports.PerformanceBudgetMonitor=R;exports.PerformanceTestFramework=k;exports.ProgressiveLoader=$;exports.ServiceProvider=x;exports.createArchitecture=ee;exports.defaultMediaLoadingConfig=B;exports.defaultPerformanceBudgets=A;exports.defaultProgressiveConfig=D;exports.lazyComponents=te;exports.mediaLoadingOptimizer=F;exports.performanceBenchmark=T;exports.performanceBudgetMonitor=q;exports.performanceTestFramework=H;exports.performanceTestUtils=V;exports.progressiveLoader=E;exports.useAnalytics=G;exports.useLogger=X;exports.useMediaLoadingOptimizer=j;exports.usePluginRegistry=W;exports.useProgressiveFeature=U;exports.useServiceEventBus=K;exports.useServices=y;exports.useStorage=J;exports.withProgressiveFeature=re;exports.withServices=Z;
36
+ `,t+=`Total Violations: ${e.length}`,t}async sendAlert(e,t){switch(e.type){case"console":console.error(t);break;case"webhook":if(e.config.url){const r=await fetch(e.config.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,timestamp:Date.now()})});if(!r.ok)throw new Error(`Webhook failed: ${r.status}`)}break;case"slack":if(e.config.url){const r=await fetch(e.config.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,channel:e.config.channel,username:"BaroiPlayer Performance Monitor"})});if(!r.ok)throw new Error(`Slack webhook failed: ${r.status}`)}break;default:console.warn(`Unsupported alert channel: ${e.type}`)}}formatValue(e,t){switch(t){case"bytes":return this.formatBytes(e);case"ms":return`${e.toFixed(2)}ms`;case"score":return e.toFixed(3);case"percent":return`${e.toFixed(1)}%`;default:return e.toString()}}formatBytes(e){return e>=1024*1024?`${(e/1024/1024).toFixed(2)}MB`:e>=1024?`${(e/1024).toFixed(2)}KB`:`${e}B`}getUnitDisplay(e){return{bytes:"bytes",ms:"milliseconds",score:"score",percent:"percent"}[e]||e}addBudget(e){this.budgets.set(e.name,e)}removeBudget(e){this.budgets.delete(e)}updateBudget(e,t){const r=this.budgets.get(e);r&&this.budgets.set(e,{...r,...t})}getBudgets(){return Array.from(this.budgets.values())}getViolations(e){return e?this.violations.filter(t=>t.timestamp>=e):[...this.violations]}clearViolations(){this.violations=[]}getViolationSummary(){const e={},t={};return this.violations.forEach(r=>{const n=r.budget.category,i=r.budget.severity;e[n]=(e[n]||0)+1,t[i]=(t[i]||0)+1}),{total:this.violations.length,byCategory:e,bySeverity:t}}}const q=new R,B={preloadStrategy:"metadata",adaptiveBitrate:!0,maxPreloadSize:2*1024*1024,networkThresholds:{"2g":{maxBitrate:128,preload:!1},"3g":{maxBitrate:500,preload:!1},"4g":{maxBitrate:2e3,preload:!0},"5g":{maxBitrate:1e4,preload:!0}},bufferSize:10,enableServiceWorker:!0};class I{constructor(){u(this,"connection");u(this,"listeners",new Set);u(this,"currentInfo");if(typeof window>"u"||typeof navigator>"u"){this.connection=null,this.currentInfo={effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:!0};return}this.connection=navigator.connection||navigator.mozConnection||navigator.webkitConnection,this.currentInfo=this.getNetworkInfo(),this.initializeListeners()}getNetworkInfo(){if(typeof navigator>"u")return{effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:!0};const e=navigator.onLine;return this.connection?{effectiveType:this.connection.effectiveType||"unknown",downlink:this.connection.downlink||0,rtt:this.connection.rtt||0,saveData:this.connection.saveData||!1,isOnline:e}:{effectiveType:"unknown",downlink:0,rtt:0,saveData:!1,isOnline:e}}initializeListeners(){typeof window>"u"||(this.connection&&this.connection.addEventListener("change",this.handleNetworkChange.bind(this)),window.addEventListener("online",this.handleNetworkChange.bind(this)),window.addEventListener("offline",this.handleNetworkChange.bind(this)))}handleNetworkChange(){const e=this.getNetworkInfo();this.currentInfo=e,this.listeners.forEach(t=>t(e))}getCurrentNetworkInfo(){return{...this.currentInfo}}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}async estimateBandwidth(){if(this.connection&&this.connection.downlink)return this.connection.downlink*1e3;try{const e=performance.now(),n=await(await fetch("/api/bandwidth-test?size=100kb")).blob(),s=(performance.now()-e)/1e3;return n.size*8/s/1e3}catch(e){return console.warn("Bandwidth estimation failed:",e),1e3}}}class L{constructor(e={}){u(this,"config");u(this,"networkMonitor");u(this,"loadingMetrics",new Map);u(this,"preloadCache",new Map);this.config={...B,...e},this.networkMonitor=new I,this.initializeNetworkMonitoring()}initializeNetworkMonitoring(){this.networkMonitor.subscribe(e=>{this.handleNetworkChange(e)})}handleNetworkChange(e){console.log("Network changed:",e),this.config.adaptiveBitrate&&this.adjustQualityForNetwork(e),(e.effectiveType==="2g"||e.saveData)&&this.clearPreloadCache()}async optimizeMediaLoading(e,t,r={}){const n=performance.now(),i=this.networkMonitor.getCurrentNetworkInfo(),s={loadStartTime:n,bytesLoaded:0,loadSpeed:0,networkType:i.effectiveType,quality:r.quality||"auto",bufferHealth:0,stallsCount:0,stallsDuration:0};this.loadingMetrics.set(e,s);try{const a=this.chooseLoadingStrategy(i,r);return a.shouldPreload&&await this.preloadMedia(e,a.preloadAmount),t.preload=a.preloadAttribute,this.monitorLoadingProgress(t,s),this.config.adaptiveBitrate&&a.suggestedQuality&&this.applyQualitySettings(t,a.suggestedQuality),s}catch(a){return console.error("Media loading optimization failed:",a),s}}chooseLoadingStrategy(e,t){const r=e.effectiveType==="unknown"?"4g":e.effectiveType,n=this.config.networkThresholds[r]||this.config.networkThresholds["4g"];return{shouldPreload:t.preload!==!1&&n.preload&&!e.saveData,preloadAmount:e.saveData?0:this.config.maxPreloadSize,preloadAttribute:this.getPreloadAttribute(e),suggestedQuality:this.getSuggestedQuality(e,n.maxBitrate),bufferTarget:this.getBufferTarget(e)}}getPreloadAttribute(e){return e.saveData||e.effectiveType==="2g"?"none":e.effectiveType==="3g"?"metadata":this.config.preloadStrategy}getSuggestedQuality(e,t){const r=e.downlink*1e3;return r>=t*2?"high":r>=t?"medium":"low"}getBufferTarget(e){switch(e.effectiveType){case"2g":return 2;case"3g":return 5;case"4g":return this.config.bufferSize;case"5g":return this.config.bufferSize*1.5;default:return this.config.bufferSize}}async preloadMedia(e,t){if(this.preloadCache.has(e))return;const r=this.fetchWithProgress(e,t);this.preloadCache.set(e,r);try{await r}catch(n){console.warn(`Preload failed for ${e}:`,n),this.preloadCache.delete(e)}}async fetchWithProgress(e,t){const r=await fetch(e,{headers:{Range:`bytes=0-${t-1}`}});if(!r.ok)throw new Error(`Failed to preload: ${r.status}`);const n=r.body?.getReader();if(!n)throw new Error("Response body not readable");const i=[];let s=0;try{for(;s<t;){const{done:a,value:c}=await n.read();if(a)break;i.push(c),s+=c.length}}finally{n.releaseLock()}return new Blob(i)}monitorLoadingProgress(e,t){let r=null;const n=()=>{if(e.buffered.length>0){const v=e.buffered.end(e.buffered.length-1),S=e.currentTime;t.bufferHealth=Math.min((v-S)/this.config.bufferSize,1)}},i=()=>{t.firstByteTime=performance.now()},s=()=>{t.loadCompleteTime=performance.now(),t.totalLoadTime=t.loadCompleteTime-t.loadStartTime,t.totalLoadTime&&t.bytesLoaded>0&&(t.loadSpeed=t.bytesLoaded/(t.totalLoadTime/1e3))},a=()=>{r===null&&(r=performance.now(),t.stallsCount++)},c=()=>{r!==null&&(t.stallsDuration+=performance.now()-r,r=null),n()},p=()=>{if(e.buffered.length>0){const v=e.buffered.end(0)*1e3;t.bytesLoaded=v}n()};e.addEventListener("loadstart",i),e.addEventListener("canplay",s),e.addEventListener("waiting",a),e.addEventListener("playing",c),e.addEventListener("progress",p),setTimeout(()=>{e.removeEventListener("loadstart",i),e.removeEventListener("canplay",s),e.removeEventListener("waiting",a),e.removeEventListener("playing",c),e.removeEventListener("progress",p)},300*1e3)}applyQualitySettings(e,t){console.log(`Applying quality setting: ${t} to`,e)}adjustQualityForNetwork(e){console.log("Adjusting quality for network conditions:",e.effectiveType)}clearPreloadCache(){this.preloadCache.clear()}getLoadingMetrics(e){return this.loadingMetrics.get(e)}getAllMetrics(){return Array.from(this.loadingMetrics.values())}getAverageLoadingTime(){const t=this.getAllMetrics().filter(n=>n.totalLoadTime!==void 0);return t.length===0?0:t.reduce((n,i)=>n+(i.totalLoadTime||0),0)/t.length}getNetworkPerformanceStats(){const e=new Map;return this.getAllMetrics().forEach(t=>{const r=t.networkType;e.has(r)||e.set(r,[]),e.get(r).push(t)}),Array.from(e.entries()).map(([t,r])=>({networkType:t,avgLoadTime:r.reduce((n,i)=>n+(i.totalLoadTime||0),0)/r.length,avgStalls:r.reduce((n,i)=>n+i.stallsCount,0)/r.length,avgBufferHealth:r.reduce((n,i)=>n+i.bufferHealth,0)/r.length}))}}const F=new L;function j(o){const[e]=d.useState(()=>o?new L(o):F),[t,r]=d.useState(null),[n,i]=d.useState([]);d.useEffect(()=>{const a=e.networkMonitor.subscribe(r);r(e.networkMonitor.getCurrentNetworkInfo());const c=setInterval(()=>{i(e.getAllMetrics())},1e3);return()=>{a(),clearInterval(c)}},[e]);const s=d.useCallback((a,c,p)=>e.optimizeMediaLoading(a,c,p),[e]);return{networkInfo:t,loadingMetrics:n,optimizeLoading:s,averageLoadTime:e.getAverageLoadingTime(),networkStats:e.getNetworkPerformanceStats()}}class Y{get(e){try{const t=localStorage.getItem(`baroi-player-${e}`);return t?JSON.parse(t):null}catch{return null}}set(e,t){try{localStorage.setItem(`baroi-player-${e}`,JSON.stringify(t))}catch(r){console.warn("Failed to store data:",r)}}remove(e){try{localStorage.removeItem(`baroi-player-${e}`)}catch(t){console.warn("Failed to remove data:",t)}}clear(){try{Object.keys(localStorage).forEach(e=>{e.startsWith("baroi-player-")&&localStorage.removeItem(e)})}catch(e){console.warn("Failed to clear data:",e)}}}class Q{track(e,t){console.log("Analytics:",e,t)}identify(e,t){console.log("Analytics identify:",e,t)}page(e,t){console.log("Analytics page:",e,t)}}const N=d.createContext(null);function x({children:o,services:e={}}){const t=d.useMemo(()=>{const r=e.logger||new m.ConsolePluginLogger("[BaroiPlayer]"),n=e.eventBus||new g.EventBus,i=e.pluginRegistry||new m.PluginRegistry(r),s=e.storage||new Y,a=e.analytics||new Q;return{eventBus:n,pluginRegistry:i,storage:s,analytics:a,logger:r}},[e]);return w.jsxRuntimeExports.jsx(N.Provider,{value:t,children:o})}function y(){const o=d.useContext(N);if(!o)throw new Error("useServices must be used within ServiceProvider");return o}function K(){return y().eventBus}function W(){return y().pluginRegistry}function J(){return y().storage}function G(){return y().analytics}function X(){return y().logger}function Z(o){return function(t){const r=y();return w.jsxRuntimeExports.jsx(o,{...t,services:r})}}function ee(o={}){return function({children:t}){return w.jsxRuntimeExports.jsx(x,{services:o.services,children:t})}}const l={SUBTITLES:"subtitles",PLAYLISTS:"playlists",ADVANCED_CONTROLS:"advanced_controls",ANALYTICS:"analytics",PICTURE_IN_PICTURE:"picture_in_picture",QUALITY_SELECTOR:"quality_selector",PLAYBACK_SPEED:"playback_speed",CHAPTERS:"chapters",THUMBNAILS:"thumbnails",KEYBOARD_SHORTCUTS:"keyboard_shortcuts"},D={enabledFeatures:[l.SUBTITLES,l.ADVANCED_CONTROLS,l.KEYBOARD_SHORTCUTS],loadingStrategy:"lazy",fallbackTimeout:5e3,retryAttempts:3},te={SubtitleSelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector}))),PlaylistManager:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector}))),QualitySelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.QualitySelector}))),PlaybackSpeedSelector:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.PlaybackSpeedSelector}))),ChaptersPanel:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.ChaptersPanel}))),PictureInPictureButton:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.PictureInPictureButton}))),AnalyticsTracker:d.lazy(()=>Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(o=>o.advancedFeatures).then(o=>({default:o.SubtitleSelector})))};class C{static async isSupported(e){if(this.cache.has(e))return this.cache.get(e);const t=await this.checkFeatureSupport(e);return this.cache.set(e,t),t}static async checkFeatureSupport(e){if(typeof window>"u"||typeof document>"u")return!0;switch(e){case l.SUBTITLES:return"TextTrack"in window;case l.PICTURE_IN_PICTURE:return"pictureInPictureEnabled"in document;case l.ADVANCED_CONTROLS:return!0;case l.PLAYLISTS:return"MediaSession"in window;case l.ANALYTICS:return"IntersectionObserver"in window;case l.QUALITY_SELECTOR:return"MediaSource"in window;case l.PLAYBACK_SPEED:return!0;case l.CHAPTERS:return"TextTrack"in window;case l.THUMBNAILS:return"OffscreenCanvas"in window||"canvas"in document.createElement("canvas");case l.KEYBOARD_SHORTCUTS:return"KeyboardEvent"in window;default:return!1}}}u(C,"cache",new Map);class ${constructor(e={}){u(this,"config");u(this,"loadedFeatures",new Set);u(this,"loadingPromises",new Map);this.config={...D,...e}}async loadFeature(e){if(!this.config.enabledFeatures.includes(e))return null;if(this.loadedFeatures.has(e))return this.getLoadedFeature(e);if(this.loadingPromises.has(e))return this.loadingPromises.get(e);if(!await C.isSupported(e))return console.warn(`Feature ${e} is not supported in this browser`),null;const r=this.loadWithRetry(e);this.loadingPromises.set(e,r);try{const n=await r;return this.loadedFeatures.add(e),n}catch(n){return console.error(`Failed to load feature ${e}:`,n),this.loadingPromises.delete(e),null}}async loadWithRetry(e,t=1){try{return await this.loadFeatureModule(e)}catch(r){if(t<this.config.retryAttempts)return console.warn(`Loading feature ${e} failed, retrying (${t}/${this.config.retryAttempts})`),await new Promise(n=>setTimeout(n,1e3*t)),this.loadWithRetry(e,t+1);throw r}}async loadFeatureModule(e){switch(e){case l.SUBTITLES:return Promise.resolve().then(()=>require("./hooks-DTXeB5Z-.cjs")).then(t=>t.useEnhancedSubtitles$2);case l.PLAYLISTS:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.ADVANCED_CONTROLS:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.ANALYTICS:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.PICTURE_IN_PICTURE:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.QUALITY_SELECTOR:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.PLAYBACK_SPEED:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.CHAPTERS:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.THUMBNAILS:return Promise.resolve().then(()=>require("./enhanced-components-CXnYiOt6.cjs")).then(t=>t.advancedFeatures);case l.KEYBOARD_SHORTCUTS:return Promise.resolve().then(()=>require("./hooks-DTXeB5Z-.cjs")).then(t=>t.useKeyboardControls$2);default:throw new Error(`Unknown feature: ${e}`)}}getLoadedFeature(e){return this.loadingPromises.get(e)}async preloadFeatures(e=this.config.enabledFeatures){const t=e.map(r=>this.loadFeature(r));await Promise.allSettled(t)}getLoadingState(){return{loaded:Array.from(this.loadedFeatures),loading:Array.from(this.loadingPromises.keys()),enabled:this.config.enabledFeatures}}}const E=new $;function U(o){const[e,t]=d.useState(null),[r,n]=d.useState(!1),[i,s]=d.useState(null),a=d.useCallback(async()=>{if(!(r||e)){n(!0),s(null);try{const c=await E.loadFeature(o);t(c)}catch(c){s(c)}finally{n(!1)}}},[o,r,e]);return d.useEffect(()=>{E.config.loadingStrategy==="immediate"&&a()},[a]),{feature:e,loading:r,error:i,load:a}}function re(o,e,t){return function(n){const{feature:i,loading:s,error:a}=U(e);if(s)return w.jsxRuntimeExports.jsx("div",{className:"h-8 animate-pulse rounded bg-gray-200"});if(a||!i){const c=t;return c?w.jsxRuntimeExports.jsx(c,{...n}):null}return w.jsxRuntimeExports.jsx(o,{...n})}}const ne="1.0.0";exports.AnalyticsPlugin=m.AnalyticsPlugin;exports.BasePlugin=m.BasePlugin;exports.ConsolePluginLogger=m.ConsolePluginLogger;exports.PLUGIN_SYSTEM_VERSION=m.PLUGIN_SYSTEM_VERSION;exports.PluginConflictError=m.PluginConflictError;exports.PluginDependencyError=m.PluginDependencyError;exports.PluginDevelopmentHelpers=m.PluginDevelopmentHelpers;exports.PluginError=m.PluginError;exports.PluginPerformanceMonitor=m.PluginPerformanceMonitor;exports.PluginRegistry=m.PluginRegistry;exports.PluginStorage=m.PluginStorage;exports.PluginValidator=m.PluginValidator;exports.createAnalyticsPlugin=m.createAnalyticsPlugin;exports.createPlugin=m.createPlugin;exports.defaultPerformanceMonitor=m.defaultPerformanceMonitor;exports.defaultPluginLogger=m.defaultPluginLogger;exports.EVENT_SYSTEM_VERSION=g.EVENT_SYSTEM_VERSION;exports.EventBus=g.EventBus;exports.EventDelegator=g.EventDelegator;exports.MiddlewareBuilder=g.MiddlewareBuilder;exports.commonMiddlewares=g.commonMiddlewares;exports.createMiddleware=g.createMiddleware;exports.defaultEventBus=g.defaultEventBus;exports.eventMiddlewares=g.eventMiddlewares;exports.useConditionalEventListener=g.useConditionalEventListener;exports.useEventBus=g.useEventBus;exports.useEventDebugger=g.useEventDebugger;exports.useEventEffect=g.useEventEffect;exports.useEventEmitter=g.useEventEmitter;exports.useEventHandlers=g.useEventHandlers;exports.useEventHistory=g.useEventHistory;exports.useEventListener=g.useEventListener;exports.useEventMetrics=g.useEventMetrics;exports.useEventOnce=g.useEventOnce;exports.useEventState=g.useEventState;exports.PerformanceDashboard=f.PerformanceDashboard;exports.PerformanceMonitor=f.PerformanceMonitor;exports.PerformanceRegressionDetector=f.PerformanceRegressionDetector;exports.defaultThresholds=f.defaultThresholds;exports.performanceMonitor=f.performanceMonitor;exports.usePerformanceMonitor=f.usePerformanceMonitor;exports.withPerformanceMonitoring=f.withPerformanceMonitoring;exports.CORE_ARCHITECTURE_VERSION=ne;exports.FEATURES=l;exports.FeatureDetector=C;exports.MediaLoadingOptimizer=L;exports.NetworkMonitor=I;exports.PerformanceBenchmark=M;exports.PerformanceBudgetMonitor=R;exports.PerformanceTestFramework=k;exports.ProgressiveLoader=$;exports.ServiceProvider=x;exports.createArchitecture=ee;exports.defaultMediaLoadingConfig=B;exports.defaultPerformanceBudgets=A;exports.defaultProgressiveConfig=D;exports.lazyComponents=te;exports.mediaLoadingOptimizer=F;exports.performanceBenchmark=T;exports.performanceBudgetMonitor=q;exports.performanceTestFramework=H;exports.performanceTestUtils=V;exports.progressiveLoader=E;exports.useAnalytics=G;exports.useLogger=X;exports.useMediaLoadingOptimizer=j;exports.usePluginRegistry=W;exports.useProgressiveFeature=U;exports.useServiceEventBus=K;exports.useServices=y;exports.useStorage=J;exports.withProgressiveFeature=re;exports.withServices=Z;
37
37
  //# sourceMappingURL=core.js.map
package/dist/core.mjs CHANGED
@@ -4,15 +4,15 @@ var u = (o, e, t) => A(o, typeof e != "symbol" ? e + "" : e, t);
4
4
  import { C as B, P as R } from "./core-plugins-Bq9KLany.js";
5
5
  import { A as ye, B as we, a as Te, d as Se, c as ve, i as be, b as Pe, h as Me, j as Le, g as Ee, f as Ce, e as ke, l as Ae, k as Be } from "./core-plugins-Bq9KLany.js";
6
6
  import { E as I } from "./core-events-B5W_j8yU.js";
7
- import { a as Ie, b as Ne, M as $e, f as Fe, c as xe, d as Ue, e as De, n as Oe, u as ze, m as _e, p as Ve, h as He, j as je, k as Ye, g as Qe, l as We, i as Ke, o as Je } from "./core-events-B5W_j8yU.js";
8
- import { j as f } from "./context-BMteAJDN.js";
9
- import m, { useMemo as N, createContext as $, useContext as F, lazy as h } from "react";
10
- import { a as x } from "./performance-monitor-rMW1RgV3.js";
11
- import { b as Ge, P as Xe, d as Ze, p as et, u as tt, w as rt } from "./performance-monitor-rMW1RgV3.js";
7
+ import { a as Ie, b as Ne, M as $e, f as xe, c as Fe, d as Ue, e as De, n as Oe, u as ze, m as _e, p as Ve, h as He, j as je, k as Ye, g as Qe, l as We, i as Ke, o as Je } from "./core-events-B5W_j8yU.js";
8
+ import { j as f } from "./context-Af84FynT.js";
9
+ import m, { useMemo as N, createContext as $, useContext as x, lazy as h } from "react";
10
+ import { a as F } from "./performance-monitor--rzKTlbj.js";
11
+ import { b as Ge, P as Xe, d as Ze, p as et, u as tt, w as rt } from "./performance-monitor--rzKTlbj.js";
12
12
  class P {
13
13
  constructor() {
14
14
  u(this, "results", []);
15
- u(this, "regressionDetector", new x());
15
+ u(this, "regressionDetector", new F());
16
16
  }
17
17
  async runTest(e, t) {
18
18
  const r = [];
@@ -899,7 +899,7 @@ function Y({ children: o, services: e = {} }) {
899
899
  return /* @__PURE__ */ f.jsx(L.Provider, { value: t, children: o });
900
900
  }
901
901
  function p() {
902
- const o = F(L);
902
+ const o = x(L);
903
903
  if (!o)
904
904
  throw new Error("useServices must be used within ServiceProvider");
905
905
  return o;
@@ -953,29 +953,29 @@ const l = {
953
953
  }, me = {
954
954
  // Subtitle system
955
955
  SubtitleSelector: h(
956
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
956
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
957
957
  ),
958
958
  // Playlist functionality
959
959
  PlaylistManager: h(
960
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
960
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
961
961
  // Use existing component as placeholder
962
962
  ),
963
963
  // Advanced controls
964
964
  QualitySelector: h(
965
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.QualitySelector }))
965
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.QualitySelector }))
966
966
  ),
967
967
  PlaybackSpeedSelector: h(
968
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.PlaybackSpeedSelector }))
968
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.PlaybackSpeedSelector }))
969
969
  ),
970
970
  ChaptersPanel: h(
971
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.ChaptersPanel }))
971
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.ChaptersPanel }))
972
972
  ),
973
973
  PictureInPictureButton: h(
974
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.PictureInPictureButton }))
974
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.PictureInPictureButton }))
975
975
  ),
976
976
  // Analytics
977
977
  AnalyticsTracker: h(
978
- () => import("./enhanced-components-DHv0MFvG.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
978
+ () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
979
979
  // Use existing component as placeholder
980
980
  )
981
981
  };
@@ -1055,32 +1055,32 @@ class W {
1055
1055
  async loadFeatureModule(e) {
1056
1056
  switch (e) {
1057
1057
  case l.SUBTITLES:
1058
- return import("./hooks-Da2wVXlF.js").then((t) => t.v);
1058
+ return import("./hooks-BhW_i-9L.js").then((t) => t.x);
1059
1059
  case l.PLAYLISTS:
1060
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1060
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1061
1061
  // Use existing features
1062
1062
  case l.ADVANCED_CONTROLS:
1063
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1063
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1064
1064
  case l.ANALYTICS:
1065
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1065
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1066
1066
  // Use existing features
1067
1067
  case l.PICTURE_IN_PICTURE:
1068
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1068
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1069
1069
  // Use existing features
1070
1070
  case l.QUALITY_SELECTOR:
1071
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1071
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1072
1072
  // Use existing features
1073
1073
  case l.PLAYBACK_SPEED:
1074
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1074
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1075
1075
  // Use existing features
1076
1076
  case l.CHAPTERS:
1077
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1077
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1078
1078
  // Use existing features
1079
1079
  case l.THUMBNAILS:
1080
- return import("./enhanced-components-DHv0MFvG.js").then((t) => t.g);
1080
+ return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1081
1081
  // Use existing features
1082
1082
  case l.KEYBOARD_SHORTCUTS:
1083
- return import("./hooks-Da2wVXlF.js").then((t) => t.t);
1083
+ return import("./hooks-BhW_i-9L.js").then((t) => t.w);
1084
1084
  default:
1085
1085
  throw new Error(`Unknown feature: ${e}`);
1086
1086
  }
@@ -1157,7 +1157,7 @@ export {
1157
1157
  O as PerformanceBudgetMonitor,
1158
1158
  Ge as PerformanceDashboard,
1159
1159
  Xe as PerformanceMonitor,
1160
- x as PerformanceRegressionDetector,
1160
+ F as PerformanceRegressionDetector,
1161
1161
  U as PerformanceTestFramework,
1162
1162
  Se as PluginConflictError,
1163
1163
  ve as PluginDependencyError,
@@ -1169,10 +1169,10 @@ export {
1169
1169
  Ee as PluginValidator,
1170
1170
  W as ProgressiveLoader,
1171
1171
  Y as ServiceProvider,
1172
- Fe as commonMiddlewares,
1172
+ xe as commonMiddlewares,
1173
1173
  Ce as createAnalyticsPlugin,
1174
1174
  de as createArchitecture,
1175
- xe as createMiddleware,
1175
+ Fe as createMiddleware,
1176
1176
  ke as createPlugin,
1177
1177
  Ue as defaultEventBus,
1178
1178
  z as defaultMediaLoadingConfig,
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./context-DCJ_scmO.cjs"),i=require("react"),x=require("./utils-D_czS_0K.cjs");function Y(u,o,s,n){const[t,a]=i.useState(!0),[r,c]=i.useState(!1),[l,p]=i.useState(!1),d=i.useRef(null),v=i.useCallback(()=>{d.current&&clearTimeout(d.current),u&&(d.current=setTimeout(()=>{!r&&!l&&a(!1)},o))},[u,o,r,l]),N=i.useCallback(()=>{a(!0),v()},[v]);i.useEffect(()=>(u?v():a(!0),()=>{d.current&&clearTimeout(d.current)}),[u,v]);const f=i.useCallback(()=>{s&&(c(!0),a(!0))},[s]),R=i.useCallback(()=>{s&&(c(!1),v())},[s,v]),m=i.useCallback(()=>{n&&(p(!0),N())},[n,N]),b=i.useCallback(()=>{n&&(p(!1),v())},[n,v]);return{showControls:t,showControlsTemporarily:N,handleMouseEnter:f,handleMouseLeave:R,handleTouchStart:m,handleTouchEnd:b}}function W(u){const o=e.useMediaDispatch(),s=e.useMediaSelector(f=>f.isPlaying),n=e.useMediaSelector(f=>f.currentTime),t=e.useMediaSelector(f=>f.duration),a=e.useMediaSelector(f=>f.volume),[r,c]=i.useState(null),[l,p]=i.useState(!1),d=i.useCallback(f=>{if(!u)return;const R=f.touches[0];if(!R)return;const m=Date.now();r&&m-r.time<300?(p(!0),o({type:s?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY})):(c({x:R.clientX,y:R.clientY,time:m}),p(!1))},[u,r,s,o]),v=i.useCallback(f=>{if(!u||!r||l)return;const R=f.touches[0];if(!R)return;const m=R.clientX-r.x,b=R.clientY-r.y;if(Math.abs(m)>Math.abs(b)&&Math.abs(m)>50){const g=m/window.innerWidth*30,M=Math.max(0,Math.min(t,n+g));o({type:e.MediaActionTypes.SEEK,detail:M})}if(Math.abs(b)>Math.abs(m)&&Math.abs(b)>50&&r.x>window.innerWidth/2){const g=-(b/window.innerHeight)*1,M=Math.max(0,Math.min(1,a+g));o({type:e.MediaActionTypes.SET_VOLUME,detail:M})}},[u,r,l,t,n,a,o]),N=i.useCallback(()=>{u&&setTimeout(()=>{c(null),p(!1)},300)},[u]);return{handleTouchStart:d,handleTouchMove:v,handleTouchEnd:N}}const D=function({children:o,className:s,autoHide:n=!0,autoHideDelay:t=3e3,showControlsOnHover:a=!0,showControlsOnTouch:r=!0,enableKeyboardControls:c=!0,enableTouchGestures:l=!0,onPlay:p,onPause:d,onTimeUpdate:v,onVolumeChange:N,onFullscreenChange:f}){const R=e.useMediaContext(),m=e.useMediaDispatch(),b=e.useMediaSelector(i.useCallback(y=>y.isPlaying,[])),g=e.useMediaSelector(i.useCallback(y=>y.isFullscreen,[])),M=e.useMediaSelector(i.useCallback(y=>y.currentTime,[])),C=e.useMediaSelector(i.useCallback(y=>y.volume,[])),h=e.useMediaSelector(i.useCallback(y=>y.error,[])),{showControls:j,showControlsTemporarily:S,handleMouseEnter:k,handleMouseLeave:P,handleTouchStart:E,handleTouchEnd:w}=Y(n,t,a,r),{handleTouchStart:A,handleTouchMove:L,handleTouchEnd:z}=W(l),$=i.useCallback(y=>{E(),A(y)},[E,A]),X=i.useCallback(()=>{w(),z()},[w,z]),G=i.useCallback(()=>{S()},[S]);return i.useEffect(()=>{if(!c)return;const y=T=>{if(!(T.target instanceof HTMLInputElement||T.target instanceof HTMLTextAreaElement))switch(T.code){case"Space":case"KeyK":T.preventDefault(),m({type:b?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY});break;case"KeyF":T.preventDefault(),m({type:g?e.MediaActionTypes.EXIT_FULLSCREEN:e.MediaActionTypes.ENTER_FULLSCREEN});break;case"KeyM":T.preventDefault(),m({type:e.MediaActionTypes.TOGGLE_MUTE});break;case"ArrowLeft":T.preventDefault(),m({type:e.MediaActionTypes.SEEK,detail:Math.max(0,M-10)});break;case"ArrowRight":T.preventDefault(),m({type:e.MediaActionTypes.SEEK,detail:M+10});break;case"ArrowUp":T.preventDefault(),m({type:e.MediaActionTypes.SET_VOLUME,detail:Math.min(1,C+.1)});break;case"ArrowDown":T.preventDefault(),m({type:e.MediaActionTypes.SET_VOLUME,detail:Math.max(0,C-.1)});break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[c,m,b,g,M,C]),i.useEffect(()=>{b?p?.():d?.()},[b,p,d]),i.useEffect(()=>{v?.(M)},[M,v]),i.useEffect(()=>{N?.(C)},[C,N]),i.useEffect(()=>{f?.(g)},[g,f]),e.jsxRuntimeExports.jsx("div",{ref:R.rootRef,className:x.cn("relative isolate flex flex-col overflow-hidden rounded-lg bg-black outline-none","focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",g&&"fixed inset-0 z-50 rounded-none",s),"data-state":g?"fullscreen":"inline","data-disabled":h?"":void 0,"data-controls-visible":j?"":void 0,tabIndex:0,onMouseEnter:k,onMouseLeave:P,onTouchStart:$,onTouchMove:L,onTouchEnd:X,onClick:G,children:o})};D.displayName="EnhancedMediaPlayer";const F=function({qualities:o,currentQuality:s,onQualityChange:n,className:t}){const[a,r]=i.useState(!1),c=i.useMemo(()=>o.find(l=>l.id===s)?.label||"Auto",[o,s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",t),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>r(!a),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select quality",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:c}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",a&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),a&&e.jsxRuntimeExports.jsx("div",{className:"absolute right-0 bottom-full mb-2 min-w-32 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:o.map(l=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>{n(l.id),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l.id===s&&"bg-primary/20 text-primary"),children:[l.label,l.bitrate&&e.jsxRuntimeExports.jsxs("span",{className:"ml-2 text-white/60 text-xs",children:["(",Math.round(l.bitrate/1e3),"k)"]})]},l.id))})]})},V=function({subtitles:o,currentSubtitle:s,onSubtitleChange:n,className:t}){const[a,r]=i.useState(!1),c=i.useMemo(()=>s&&o.find(l=>l.id===s)?.label||"Off",[o,s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",t),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>r(!a),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select subtitles",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z"})}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:c}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",a&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),a&&e.jsxRuntimeExports.jsxs("div",{className:"absolute right-0 bottom-full mb-2 min-w-32 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:[e.jsxRuntimeExports.jsx("button",{onClick:()=>{n(null),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",!s&&"bg-primary/20 text-primary"),children:"Off"}),o.map(l=>e.jsxRuntimeExports.jsx("button",{onClick:()=>{n(l.id),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l.id===s&&"bg-primary/20 text-primary"),children:l.label},l.id))]})]})},I=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(l=>l.playbackRate),[t,a]=i.useState(!1),r=[.25,.5,.75,1,1.25,1.5,1.75,2],c=i.useCallback(l=>{s({type:e.MediaActionTypes.SET_PLAYBACK_RATE,detail:l}),a(!1)},[s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",o),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>a(!t),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select playback speed",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M13,8A4,4 0 0,0 9,12A4,4 0 0,0 13,16A4,4 0 0,0 17,12A4,4 0 0,0 13,8M13,14A2,2 0 0,1 11,12A2,2 0 0,1 13,10A2,2 0 0,1 15,12A2,2 0 0,1 13,14M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4Z"})}),e.jsxRuntimeExports.jsxs("span",{className:"text-sm",children:[n,"x"]}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",t&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),t&&e.jsxRuntimeExports.jsx("div",{className:"absolute right-0 bottom-full mb-2 min-w-20 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:r.map(l=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>c(l),className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l===n&&"bg-primary/20 text-primary"),children:[l,"x"]},l))})]})},_=function({chapters:o,onChapterSelect:s,className:n}){const t=e.useMediaSelector(r=>r.currentTime),a=i.useMemo(()=>o.find(r=>t>=r.startTime&&t<r.endTime),[o,t]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("rounded-lg border border-white/20 bg-black/90 p-4 backdrop-blur-sm",n),children:[e.jsxRuntimeExports.jsx("h3",{className:"mb-3 font-semibold text-white",children:"Chapters"}),e.jsxRuntimeExports.jsx("div",{className:"max-h-64 space-y-2 overflow-y-auto",children:o.map(r=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>s(r),className:x.cn("flex w-full items-center gap-3 rounded-lg p-3 text-left transition-colors","hover:bg-white/10",r.id===a?.id&&"border border-primary/30 bg-primary/20"),children:[r.thumbnail&&e.jsxRuntimeExports.jsx("img",{src:r.thumbnail,alt:r.title,className:"h-9 w-16 rounded object-cover"}),e.jsxRuntimeExports.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxRuntimeExports.jsx("div",{className:"truncate font-medium text-white",children:r.title}),e.jsxRuntimeExports.jsxs("div",{className:"text-sm text-white/60",children:[x.formatTime(r.startTime)," - ",x.formatTime(r.endTime)]})]})]},r.id))})]})},H=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(a=>a.isPictureInPicture),t=i.useCallback(()=>{s({type:n?e.MediaActionTypes.EXIT_PIP:e.MediaActionTypes.ENTER_PIP})},[s,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:t,className:x.cn("flex h-10 w-10 items-center justify-center rounded-full text-white","transition-colors hover:bg-white/10",o),"aria-label":n?"Exit Picture-in-Picture":"Enter Picture-in-Picture",children:e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14z"})})})},Q=Object.freeze(Object.defineProperty({__proto__:null,ChaptersPanel:_,PictureInPictureButton:H,PlaybackSpeedSelector:I,QualitySelector:F,SubtitleSelector:V},Symbol.toStringTag,{value:"Module"})),O=function({className:o,size:s="md"}){const n=e.useMediaDispatch(),t=e.useMediaSelector(p=>p.isPlaying),a=e.useMediaSelector(p=>p.isLoading),r={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16"},c={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},l=i.useCallback(()=>{n({type:t?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY})},[n,t]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:l,disabled:a,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50","disabled:cursor-not-allowed disabled:opacity-50",r[s],o),"aria-label":t?"Pause":"Play",children:a?e.jsxRuntimeExports.jsx("div",{className:x.cn("animate-spin rounded-full border-2 border-white/30 border-t-white",c[s])}):e.jsxRuntimeExports.jsx("div",{className:x.cn("transition-transform duration-200",c[s]),children:t?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:e.jsxRuntimeExports.jsx("path",{d:"M6 4h4v16H6V4zm8 0h4v16h-4V4z"})}):e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"ml-0.5 h-full w-full",children:e.jsxRuntimeExports.jsx("path",{d:"M8 5v14l11-7z"})})})})},K=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(h=>h.currentTime),t=e.useMediaSelector(h=>h.duration),a=e.useMediaSelector(h=>h.buffered),r=e.useMediaSelector(h=>h.previewTime),[c,l]=i.useState(!1),[p,d]=i.useState(null),v=i.useRef(null),N=t>0?n/t*100:0,f=t>0&&r!==null?r/t*100:null,R=i.useMemo(()=>{if(!a||t===0)return[];const h=[];for(let j=0;j<a.length;j++)h.push({start:a.start(j)/t*100,end:a.end(j)/t*100});return h},[a,t]),m=i.useCallback(h=>{if(!v.current)return 0;const j=v.current.getBoundingClientRect();return Math.max(0,Math.min(1,(h-j.left)/j.width))*t},[t]),b=i.useCallback(h=>{if(!c){const j=m(h.clientX);d(j),s({type:e.MediaActionTypes.PREVIEW_TIME,detail:j})}},[c,m,s]),g=i.useCallback(()=>{c||(d(null),s({type:e.MediaActionTypes.CLEAR_PREVIEW}))},[c,s]),M=i.useCallback(h=>{l(!0);const j=m(h.clientX);s({type:e.MediaActionTypes.SEEK,detail:j})},[m,s]),C=i.useCallback(h=>{l(!0);const j=m(h.touches[0]?.clientX||0);s({type:e.MediaActionTypes.SEEK,detail:j})},[m,s]);return i.useEffect(()=>{const h=k=>{if(c){const P=m(k.clientX);s({type:e.MediaActionTypes.SEEK,detail:P})}},j=()=>{l(!1),d(null),s({type:e.MediaActionTypes.CLEAR_PREVIEW})},S=k=>{if(c){const P=m(k.touches[0]?.clientX||0);s({type:e.MediaActionTypes.SEEK,detail:P})}};return c&&(document.addEventListener("mousemove",h),document.addEventListener("mouseup",j),document.addEventListener("touchmove",S),document.addEventListener("touchend",j)),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",j),document.removeEventListener("touchmove",S),document.removeEventListener("touchend",j)}},[c,m,s]),e.jsxRuntimeExports.jsxs("div",{className:x.cn("group relative flex items-center",o),children:[(p!==null||r!==null)&&e.jsxRuntimeExports.jsx("div",{className:"pointer-events-none absolute bottom-full mb-2 rounded bg-black/80 px-2 py-1 text-white text-xs",style:{left:`${f||(p||0)/t*100}%`,transform:"translateX(-50%)"},children:x.formatTime(p||r||0)}),e.jsxRuntimeExports.jsxs("div",{ref:v,className:"relative h-2 w-full cursor-pointer rounded-full bg-white/20 transition-all duration-200 group-hover:h-3",onMouseMove:b,onMouseLeave:g,onMouseDown:M,onTouchStart:C,children:[R.map((h,j)=>e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full rounded-full bg-white/30",style:{left:`${h.start}%`,width:`${h.end-h.start}%`}},j)),e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full rounded-full bg-primary transition-all duration-100",style:{width:`${N}%`}}),f!==null&&e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full w-1 rounded-full bg-white/80",style:{left:`${f}%`}}),e.jsxRuntimeExports.jsx("div",{className:"-translate-y-1/2 absolute top-1/2 h-4 w-4 rounded-full border-2 border-white bg-primary opacity-0 shadow-lg transition-all duration-200 group-hover:opacity-100",style:{left:`${N}%`,transform:"translateX(-50%) translateY(-50%)"}})]})]})},U=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(d=>d.volume),t=e.useMediaSelector(d=>d.isMuted),[a,r]=i.useState(!1),c=i.useCallback(()=>{s({type:e.MediaActionTypes.TOGGLE_MUTE})},[s]),l=i.useCallback(d=>{s({type:e.MediaActionTypes.SET_VOLUME,detail:d})},[s]),p=i.useMemo(()=>t||n===0?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"})}):n<.5?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z"})}):e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"})}),[t,n]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative flex items-center",o),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:c,className:"flex h-10 w-10 items-center justify-center rounded-full text-white transition-colors hover:bg-white/10","aria-label":t?"Unmute":"Mute",children:p}),e.jsxRuntimeExports.jsx("div",{className:x.cn("absolute left-full ml-2 flex items-center transition-all duration-200",a?"translate-x-0 opacity-100":"-translate-x-2 pointer-events-none opacity-0"),children:e.jsxRuntimeExports.jsx("input",{type:"range",min:"0",max:"1",step:"0.01",value:t?0:n,onChange:d=>l(parseFloat(d.target.value)),className:"slider h-1 w-20 cursor-pointer appearance-none rounded-lg bg-white/20"})})]})},q=function({className:o,size:s="md",skipTime:n=10}){const t=e.useMediaDispatch(),a=e.useMediaSelector(p=>p.currentTime),r={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},c={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},l=i.useCallback(()=>{const p=Math.max(0,a-n);t({type:e.MediaActionTypes.SEEK,detail:p})},[t,a,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:l,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50",r[s],o),"aria-label":`Backward ${n} seconds`,title:`Backward ${n}s`,children:e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center transition-transform duration-200",c[s]),children:[e.jsxRuntimeExports.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:[e.jsxRuntimeExports.jsx("path",{d:"M7 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1zM15.5 7.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-9z"}),e.jsxRuntimeExports.jsx("path",{d:"M5.5 12l7-4.5v9l-7-4.5z",opacity:"0.8"})]}),n&&e.jsxRuntimeExports.jsx("span",{className:"-bottom-1 absolute font-bold text-[10px]",children:n})]})})},J=function({className:o,size:s="md",skipTime:n=10}){const t=e.useMediaDispatch(),a=e.useMediaSelector(d=>d.currentTime),r=e.useMediaSelector(d=>d.duration),c={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},l={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},p=i.useCallback(()=>{const d=Math.min(r,a+n);t({type:e.MediaActionTypes.SEEK,detail:d})},[t,a,r,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:p,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50",c[s],o),"aria-label":`Forward ${n} seconds`,title:`Forward ${n}s`,children:e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center transition-transform duration-200",l[s]),children:[e.jsxRuntimeExports.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:[e.jsxRuntimeExports.jsx("path",{d:"M17 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1zM8.5 7.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5v-9z"}),e.jsxRuntimeExports.jsx("path",{d:"M18.5 12l-7-4.5v9l7-4.5z",opacity:"0.8"})]}),n&&e.jsxRuntimeExports.jsx("span",{className:"-bottom-1 absolute font-bold text-[10px]",children:n})]})})},B=function({variant:o="current",className:s}){const n=e.useMediaSelector(r=>r.currentTime),t=e.useMediaSelector(r=>r.duration),a=i.useMemo(()=>{switch(o){case"current":return x.formatTime(n);case"duration":return x.formatTime(t);case"remaining":return`-${x.formatTime(t-n)}`;default:return x.formatTime(n)}},[o,n,t]);return e.jsxRuntimeExports.jsx("div",{className:x.cn("font-mono text-sm text-white tabular-nums",s),children:a})},Z=function({metrics:o,className:s}){if(!o||process.env.NODE_ENV!=="development")return null;const n=a=>a>=50?"text-green-400":a>=30?"text-yellow-400":"text-red-400",t=a=>a>=5?"text-green-400":a>=2?"text-yellow-400":"text-red-400";return e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-3 font-mono text-xs",s),children:[o.fps!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-1",n(o.fps)),children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.fps," FPS"]})]}),o.bufferHealth!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-1",t(o.bufferHealth)),children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.bufferHealth.toFixed(1),"s"]})]}),o.quality!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 text-blue-400",children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.quality,"p"]})]})]})},ee=function({className:o,showSkipButtons:s=!0,showVolumeControl:n=!0,showTimeDisplay:t=!0,playButtonSize:a="xl",skipButtonSize:r="md",skipTime:c=10,showPerformanceIndicators:l=process.env.NODE_ENV==="development",performanceMetrics:p}){return e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex flex-col gap-4 bg-gradient-to-t from-black/80 to-transparent p-4",o),children:[e.jsxRuntimeExports.jsx(K,{className:"w-full"}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[s&&e.jsxRuntimeExports.jsx(q,{size:r,skipTime:c,className:"shrink-0"}),e.jsxRuntimeExports.jsx(O,{size:a,className:"shrink-0"}),s&&e.jsxRuntimeExports.jsx(J,{size:r,skipTime:c,className:"shrink-0"}),n&&e.jsxRuntimeExports.jsx(U,{className:"shrink-0"}),t&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 font-mono text-sm",children:[e.jsxRuntimeExports.jsx(B,{variant:"current"}),e.jsxRuntimeExports.jsx("span",{className:"text-white/60",children:"/"}),e.jsxRuntimeExports.jsx(B,{variant:"duration"})]})]}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:l&&e.jsxRuntimeExports.jsx(Z,{metrics:p,className:"text-white/80"})})]})]})},se=({performanceMetrics:u={},preloadingStats:o={},playbackState:s={},hlsMetrics:n={},pluginInfo:t={},debugInfo:a={},className:r,position:c="top-right",defaultCollapsed:l=!1,title:p="BaroiPlayer Debug Panel"})=>{const[d,v]=i.useState(l),[N,f]=i.useState("performance"),R=i.useMemo(()=>{switch(c){case"top-left":return"top-4 left-4";case"top-right":return"top-4 right-4";case"bottom-left":return"bottom-4 left-4";case"bottom-right":return"bottom-4 right-4";default:return"top-4 right-4"}},[c]),m=E=>{if(E===0)return"0 B";const w=1024,A=["B","KB","MB","GB"],L=Math.floor(Math.log(E)/Math.log(w));return parseFloat((E/Math.pow(w,L)).toFixed(2))+" "+A[L]},b=E=>{const w=Math.floor(E/60),A=Math.floor(E%60);return`${w}:${A.toString().padStart(2,"0")}`},g=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"FPS:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:u.fps||0})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Memory:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[((u.memoryUsage||0)/1024/1024).toFixed(1)," MB"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Buffer:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(u.bufferHealth||0).toFixed(2),"s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Bandwidth:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[m(u.networkBandwidth||0),"/s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Dropped:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[u.droppedFrames||0," frames"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-cyan-400",children:"Decoded:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[u.decodedFrames||0," frames"]})]})]})}),M=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Status:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:s.isPlaying?e.jsxRuntimeExports.jsx("span",{className:"text-green-300",children:"Playing"}):e.jsxRuntimeExports.jsx("span",{className:"text-red-300",children:"Paused"})})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Time:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[b(s.currentTime||0)," / ",b(s.duration||0)]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Volume:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[Math.round((s.volume||0)*100),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Quality:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[s.quality||0,"p"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Buffering:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:s.isBuffering?e.jsxRuntimeExports.jsx("span",{className:"text-yellow-300",children:"Yes"}):e.jsxRuntimeExports.jsx("span",{className:"text-green-300",children:"No"})})]}),s.error&&e.jsxRuntimeExports.jsxs("div",{className:"col-span-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Error:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 break-all font-mono text-red-300 text-xs",children:s.error})]})]})}),C=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Preloaded:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[o.preloadedItems||0," items"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Engagement:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(o.engagementScore||0).toFixed(1),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Queue:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[o.queueLength||0," items"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Hit Rate:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(o.hitRate||0).toFixed(1),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{className:"col-span-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-cyan-400",children:"Saved:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:m(o.totalSaved||0)})]})]})}),h=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Level:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[n.currentLevel||0," / ",n.availableLevels||0]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Bandwidth:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[m(n.bandwidthEstimate||0),"/s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Dropped:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[n.droppedFrames||0," frames"]})]})]})}),j=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Total:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[t.pluginCount||0," plugins"]})]}),e.jsxRuntimeExports.jsxs("div",{className:"mt-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Active:"}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 space-y-1 font-mono text-xs",children:t.activePlugins?.map((E,w)=>e.jsxRuntimeExports.jsxs("div",{className:"text-green-300",children:["• ",E]},w))||e.jsxRuntimeExports.jsx("div",{className:"text-gray-400",children:"None"})})]}),t.loadedPlugins&&t.loadedPlugins.length>t.activePlugins?.length&&e.jsxRuntimeExports.jsxs("div",{className:"mt-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Loaded (inactive):"}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 space-y-1 font-mono text-xs",children:t.loadedPlugins.filter(E=>!t.activePlugins?.includes(E)).map((E,w)=>e.jsxRuntimeExports.jsxs("div",{className:"text-yellow-300",children:["• ",E]},w))})]})]})}),S=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsx("div",{className:"space-y-1 font-mono text-xs",children:Object.entries(a).map(([E,w])=>e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("span",{className:"text-yellow-400",children:[E,":"]}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 text-gray-300",children:typeof w=="object"?JSON.stringify(w,null,2):String(w)})]},E))})}),k=()=>e.jsxRuntimeExports.jsx("div",{className:"flex space-x-1 border-gray-600 border-b",children:[{id:"performance",label:"Performance"},{id:"hls",label:"HLS"},{id:"plugins",label:"Plugins"},{id:"debug",label:"Debug"}].map(E=>e.jsxRuntimeExports.jsx("button",{onClick:()=>f(E.id),className:x.cn("px-2 py-1 font-medium text-xs transition-colors",N===E.id?"border-blue-400 border-b text-blue-400":"text-gray-400 hover:text-white"),children:E.label},E.id))}),P=()=>{switch(N){case"performance":return e.jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[g(),e.jsxRuntimeExports.jsx("hr",{className:"border-gray-600"}),M(),e.jsxRuntimeExports.jsx("hr",{className:"border-gray-600"}),C()]});case"hls":return h();case"plugins":return j();case"debug":return S();default:return g()}};return process.env.NODE_ENV!=="development"?null:e.jsxRuntimeExports.jsxs("div",{className:x.cn("fixed z-50 min-w-80 max-w-96 rounded-lg border border-gray-700 bg-black/90 p-3 font-mono text-white text-xs backdrop-blur-sm",R,r),children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[e.jsxRuntimeExports.jsx("h3",{className:"font-bold text-blue-400 text-sm",children:p}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:e.jsxRuntimeExports.jsx("button",{onClick:()=>v(!d),className:"text-gray-400 transition-colors hover:text-white","aria-label":d?"Expand":"Collapse",children:d?e.jsxRuntimeExports.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:e.jsxRuntimeExports.jsx("path",{d:"M3 4.5L6 7.5L9 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):e.jsxRuntimeExports.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:e.jsxRuntimeExports.jsx("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})})]}),d?e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"FPS:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-1 font-mono",children:u.fps||0})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Memory:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-1 font-mono",children:[((u.memoryUsage||0)/1024/1024).toFixed(1),"MB"]})]})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[k(),e.jsxRuntimeExports.jsx("div",{className:"mt-3 max-h-64 overflow-y-auto",children:P()})]})]})};exports.ChaptersPanel=_;exports.DebugPanel=se;exports.EnhancedControlBar=ee;exports.EnhancedMediaPlayer=D;exports.EnhancedPlayButton=O;exports.EnhancedSeekBar=K;exports.EnhancedTimeDisplay=B;exports.EnhancedVolumeControl=U;exports.PictureInPictureButton=H;exports.PlaybackSpeedSelector=I;exports.QualitySelector=F;exports.SubtitleSelector=V;exports.advancedFeatures=Q;
2
- //# sourceMappingURL=enhanced-components-DTIObgB7.cjs.map
1
+ "use strict";const e=require("./context-CwZnPdz0.cjs"),i=require("react"),x=require("./utils-Db13763z.cjs");function Y(u,o,s,n){const[t,a]=i.useState(!0),[r,c]=i.useState(!1),[l,p]=i.useState(!1),d=i.useRef(null),v=i.useCallback(()=>{d.current&&clearTimeout(d.current),u&&(d.current=setTimeout(()=>{!r&&!l&&a(!1)},o))},[u,o,r,l]),N=i.useCallback(()=>{a(!0),v()},[v]);i.useEffect(()=>(u?v():a(!0),()=>{d.current&&clearTimeout(d.current)}),[u,v]);const f=i.useCallback(()=>{s&&(c(!0),a(!0))},[s]),R=i.useCallback(()=>{s&&(c(!1),v())},[s,v]),m=i.useCallback(()=>{n&&(p(!0),N())},[n,N]),b=i.useCallback(()=>{n&&(p(!1),v())},[n,v]);return{showControls:t,showControlsTemporarily:N,handleMouseEnter:f,handleMouseLeave:R,handleTouchStart:m,handleTouchEnd:b}}function W(u){const o=e.useMediaDispatch(),s=e.useMediaSelector(f=>f.isPlaying),n=e.useMediaSelector(f=>f.currentTime),t=e.useMediaSelector(f=>f.duration),a=e.useMediaSelector(f=>f.volume),[r,c]=i.useState(null),[l,p]=i.useState(!1),d=i.useCallback(f=>{if(!u)return;const R=f.touches[0];if(!R)return;const m=Date.now();r&&m-r.time<300?(p(!0),o({type:s?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY})):(c({x:R.clientX,y:R.clientY,time:m}),p(!1))},[u,r,s,o]),v=i.useCallback(f=>{if(!u||!r||l)return;const R=f.touches[0];if(!R)return;const m=R.clientX-r.x,b=R.clientY-r.y;if(Math.abs(m)>Math.abs(b)&&Math.abs(m)>50){const g=m/window.innerWidth*30,M=Math.max(0,Math.min(t,n+g));o({type:e.MediaActionTypes.SEEK,detail:M})}if(Math.abs(b)>Math.abs(m)&&Math.abs(b)>50&&r.x>window.innerWidth/2){const g=-(b/window.innerHeight)*1,M=Math.max(0,Math.min(1,a+g));o({type:e.MediaActionTypes.SET_VOLUME,detail:M})}},[u,r,l,t,n,a,o]),N=i.useCallback(()=>{u&&setTimeout(()=>{c(null),p(!1)},300)},[u]);return{handleTouchStart:d,handleTouchMove:v,handleTouchEnd:N}}const D=function({children:o,className:s,autoHide:n=!0,autoHideDelay:t=3e3,showControlsOnHover:a=!0,showControlsOnTouch:r=!0,enableKeyboardControls:c=!0,enableTouchGestures:l=!0,onPlay:p,onPause:d,onTimeUpdate:v,onVolumeChange:N,onFullscreenChange:f}){const R=e.useMediaContext(),m=e.useMediaDispatch(),b=e.useMediaSelector(i.useCallback(y=>y.isPlaying,[])),g=e.useMediaSelector(i.useCallback(y=>y.isFullscreen,[])),M=e.useMediaSelector(i.useCallback(y=>y.currentTime,[])),C=e.useMediaSelector(i.useCallback(y=>y.volume,[])),h=e.useMediaSelector(i.useCallback(y=>y.error,[])),{showControls:j,showControlsTemporarily:S,handleMouseEnter:k,handleMouseLeave:P,handleTouchStart:E,handleTouchEnd:w}=Y(n,t,a,r),{handleTouchStart:A,handleTouchMove:L,handleTouchEnd:z}=W(l),U=i.useCallback(y=>{E(),A(y)},[E,A]),X=i.useCallback(()=>{w(),z()},[w,z]),G=i.useCallback(()=>{S()},[S]);return i.useEffect(()=>{if(!c)return;const y=T=>{if(!(T.target instanceof HTMLInputElement||T.target instanceof HTMLTextAreaElement))switch(T.code){case"Space":case"KeyK":T.preventDefault(),m({type:b?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY});break;case"KeyF":T.preventDefault(),m({type:g?e.MediaActionTypes.EXIT_FULLSCREEN:e.MediaActionTypes.ENTER_FULLSCREEN});break;case"KeyM":T.preventDefault(),m({type:e.MediaActionTypes.TOGGLE_MUTE});break;case"ArrowLeft":T.preventDefault(),m({type:e.MediaActionTypes.SEEK,detail:Math.max(0,M-10)});break;case"ArrowRight":T.preventDefault(),m({type:e.MediaActionTypes.SEEK,detail:M+10});break;case"ArrowUp":T.preventDefault(),m({type:e.MediaActionTypes.SET_VOLUME,detail:Math.min(1,C+.1)});break;case"ArrowDown":T.preventDefault(),m({type:e.MediaActionTypes.SET_VOLUME,detail:Math.max(0,C-.1)});break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[c,m,b,g,M,C]),i.useEffect(()=>{b?p?.():d?.()},[b,p,d]),i.useEffect(()=>{v?.(M)},[M,v]),i.useEffect(()=>{N?.(C)},[C,N]),i.useEffect(()=>{f?.(g)},[g,f]),e.jsxRuntimeExports.jsx("div",{ref:R.rootRef,className:x.cn("relative isolate flex flex-col overflow-hidden rounded-lg bg-black outline-none","focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",g&&"fixed inset-0 z-50 rounded-none",s),"data-state":g?"fullscreen":"inline","data-disabled":h?"":void 0,"data-controls-visible":j?"":void 0,tabIndex:0,onMouseEnter:k,onMouseLeave:P,onTouchStart:U,onTouchMove:L,onTouchEnd:X,onClick:G,children:o})};D.displayName="EnhancedMediaPlayer";const F=function({qualities:o,currentQuality:s,onQualityChange:n,className:t}){const[a,r]=i.useState(!1),c=i.useMemo(()=>o.find(l=>l.id===s)?.label||"Auto",[o,s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",t),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>r(!a),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select quality",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:c}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",a&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),a&&e.jsxRuntimeExports.jsx("div",{className:"absolute right-0 bottom-full mb-2 min-w-32 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:o.map(l=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>{n(l.id),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l.id===s&&"bg-primary/20 text-primary"),children:[l.label,l.bitrate&&e.jsxRuntimeExports.jsxs("span",{className:"ml-2 text-white/60 text-xs",children:["(",Math.round(l.bitrate/1e3),"k)"]})]},l.id))})]})},V=function({subtitles:o,currentSubtitle:s,onSubtitleChange:n,className:t}){const[a,r]=i.useState(!1),c=i.useMemo(()=>s&&o.find(l=>l.id===s)?.label||"Off",[o,s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",t),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>r(!a),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select subtitles",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z"})}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:c}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",a&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),a&&e.jsxRuntimeExports.jsxs("div",{className:"absolute right-0 bottom-full mb-2 min-w-32 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:[e.jsxRuntimeExports.jsx("button",{onClick:()=>{n(null),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",!s&&"bg-primary/20 text-primary"),children:"Off"}),o.map(l=>e.jsxRuntimeExports.jsx("button",{onClick:()=>{n(l.id),r(!1)},className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l.id===s&&"bg-primary/20 text-primary"),children:l.label},l.id))]})]})},I=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(l=>l.playbackRate),[t,a]=i.useState(!1),r=[.25,.5,.75,1,1.25,1.5,1.75,2],c=i.useCallback(l=>{s({type:e.MediaActionTypes.SET_PLAYBACK_RATE,detail:l}),a(!1)},[s]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative",o),children:[e.jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>a(!t),className:"flex items-center gap-2 rounded-lg bg-black/50 px-3 py-2 text-white transition-colors hover:bg-black/70","aria-label":"Select playback speed",children:[e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4",children:e.jsxRuntimeExports.jsx("path",{d:"M13,8A4,4 0 0,0 9,12A4,4 0 0,0 13,16A4,4 0 0,0 17,12A4,4 0 0,0 13,8M13,14A2,2 0 0,1 11,12A2,2 0 0,1 13,10A2,2 0 0,1 15,12A2,2 0 0,1 13,14M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4Z"})}),e.jsxRuntimeExports.jsxs("span",{className:"text-sm",children:[n,"x"]}),e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:x.cn("h-4 w-4 transition-transform",t&&"rotate-180"),children:e.jsxRuntimeExports.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),t&&e.jsxRuntimeExports.jsx("div",{className:"absolute right-0 bottom-full mb-2 min-w-20 rounded-lg border border-white/20 bg-black/90 py-2 backdrop-blur-sm",children:r.map(l=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>c(l),className:x.cn("w-full px-4 py-2 text-left text-sm text-white transition-colors hover:bg-white/10",l===n&&"bg-primary/20 text-primary"),children:[l,"x"]},l))})]})},_=function({chapters:o,onChapterSelect:s,className:n}){const t=e.useMediaSelector(r=>r.currentTime),a=i.useMemo(()=>o.find(r=>t>=r.startTime&&t<r.endTime),[o,t]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("rounded-lg border border-white/20 bg-black/90 p-4 backdrop-blur-sm",n),children:[e.jsxRuntimeExports.jsx("h3",{className:"mb-3 font-semibold text-white",children:"Chapters"}),e.jsxRuntimeExports.jsx("div",{className:"max-h-64 space-y-2 overflow-y-auto",children:o.map(r=>e.jsxRuntimeExports.jsxs("button",{onClick:()=>s(r),className:x.cn("flex w-full items-center gap-3 rounded-lg p-3 text-left transition-colors","hover:bg-white/10",r.id===a?.id&&"border border-primary/30 bg-primary/20"),children:[r.thumbnail&&e.jsxRuntimeExports.jsx("img",{src:r.thumbnail,alt:r.title,className:"h-9 w-16 rounded object-cover"}),e.jsxRuntimeExports.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxRuntimeExports.jsx("div",{className:"truncate font-medium text-white",children:r.title}),e.jsxRuntimeExports.jsxs("div",{className:"text-sm text-white/60",children:[x.formatTime(r.startTime)," - ",x.formatTime(r.endTime)]})]})]},r.id))})]})},H=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(a=>a.isPictureInPicture),t=i.useCallback(()=>{s({type:n?e.MediaActionTypes.EXIT_PIP:e.MediaActionTypes.ENTER_PIP})},[s,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:t,className:x.cn("flex h-10 w-10 items-center justify-center rounded-full text-white","transition-colors hover:bg-white/10",o),"aria-label":n?"Exit Picture-in-Picture":"Enter Picture-in-Picture",children:e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14z"})})})},Q=Object.freeze(Object.defineProperty({__proto__:null,ChaptersPanel:_,PictureInPictureButton:H,PlaybackSpeedSelector:I,QualitySelector:F,SubtitleSelector:V},Symbol.toStringTag,{value:"Module"})),O=function({className:o,size:s="md"}){const n=e.useMediaDispatch(),t=e.useMediaSelector(p=>p.isPlaying),a=e.useMediaSelector(p=>p.isLoading),r={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16"},c={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},l=i.useCallback(()=>{n({type:t?e.MediaActionTypes.PAUSE:e.MediaActionTypes.PLAY})},[n,t]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:l,disabled:a,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50","disabled:cursor-not-allowed disabled:opacity-50",r[s],o),"aria-label":t?"Pause":"Play",children:a?e.jsxRuntimeExports.jsx("div",{className:x.cn("animate-spin rounded-full border-2 border-white/30 border-t-white",c[s])}):e.jsxRuntimeExports.jsx("div",{className:x.cn("transition-transform duration-200",c[s]),children:t?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:e.jsxRuntimeExports.jsx("path",{d:"M6 4h4v16H6V4zm8 0h4v16h-4V4z"})}):e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"ml-0.5 h-full w-full",children:e.jsxRuntimeExports.jsx("path",{d:"M8 5v14l11-7z"})})})})},$=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(h=>h.currentTime),t=e.useMediaSelector(h=>h.duration),a=e.useMediaSelector(h=>h.buffered),r=e.useMediaSelector(h=>h.previewTime),[c,l]=i.useState(!1),[p,d]=i.useState(null),v=i.useRef(null),N=t>0?n/t*100:0,f=t>0&&r!==null?r/t*100:null,R=i.useMemo(()=>{if(!a||t===0)return[];const h=[];for(let j=0;j<a.length;j++)h.push({start:a.start(j)/t*100,end:a.end(j)/t*100});return h},[a,t]),m=i.useCallback(h=>{if(!v.current)return 0;const j=v.current.getBoundingClientRect();return Math.max(0,Math.min(1,(h-j.left)/j.width))*t},[t]),b=i.useCallback(h=>{if(!c){const j=m(h.clientX);d(j),s({type:e.MediaActionTypes.PREVIEW_TIME,detail:j})}},[c,m,s]),g=i.useCallback(()=>{c||(d(null),s({type:e.MediaActionTypes.CLEAR_PREVIEW}))},[c,s]),M=i.useCallback(h=>{l(!0);const j=m(h.clientX);s({type:e.MediaActionTypes.SEEK,detail:j})},[m,s]),C=i.useCallback(h=>{l(!0);const j=m(h.touches[0]?.clientX||0);s({type:e.MediaActionTypes.SEEK,detail:j})},[m,s]);return i.useEffect(()=>{const h=k=>{if(c){const P=m(k.clientX);s({type:e.MediaActionTypes.SEEK,detail:P})}},j=()=>{l(!1),d(null),s({type:e.MediaActionTypes.CLEAR_PREVIEW})},S=k=>{if(c){const P=m(k.touches[0]?.clientX||0);s({type:e.MediaActionTypes.SEEK,detail:P})}};return c&&(document.addEventListener("mousemove",h),document.addEventListener("mouseup",j),document.addEventListener("touchmove",S),document.addEventListener("touchend",j)),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",j),document.removeEventListener("touchmove",S),document.removeEventListener("touchend",j)}},[c,m,s]),e.jsxRuntimeExports.jsxs("div",{className:x.cn("group relative flex items-center",o),children:[(p!==null||r!==null)&&e.jsxRuntimeExports.jsx("div",{className:"pointer-events-none absolute bottom-full mb-2 rounded bg-black/80 px-2 py-1 text-white text-xs",style:{left:`${f||(p||0)/t*100}%`,transform:"translateX(-50%)"},children:x.formatTime(p||r||0)}),e.jsxRuntimeExports.jsxs("div",{ref:v,className:"relative h-2 w-full cursor-pointer rounded-full bg-white/20 transition-all duration-200 group-hover:h-3",onMouseMove:b,onMouseLeave:g,onMouseDown:M,onTouchStart:C,children:[R.map((h,j)=>e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full rounded-full bg-white/30",style:{left:`${h.start}%`,width:`${h.end-h.start}%`}},j)),e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full rounded-full bg-primary transition-all duration-100",style:{width:`${N}%`}}),f!==null&&e.jsxRuntimeExports.jsx("div",{className:"absolute top-0 h-full w-1 rounded-full bg-white/80",style:{left:`${f}%`}}),e.jsxRuntimeExports.jsx("div",{className:"-translate-y-1/2 absolute top-1/2 h-4 w-4 rounded-full border-2 border-white bg-primary opacity-0 shadow-lg transition-all duration-200 group-hover:opacity-100",style:{left:`${N}%`,transform:"translateX(-50%) translateY(-50%)"}})]})]})},K=function({className:o}){const s=e.useMediaDispatch(),n=e.useMediaSelector(d=>d.volume),t=e.useMediaSelector(d=>d.isMuted),[a,r]=i.useState(!1),c=i.useCallback(()=>{s({type:e.MediaActionTypes.TOGGLE_MUTE})},[s]),l=i.useCallback(d=>{s({type:e.MediaActionTypes.SET_VOLUME,detail:d})},[s]),p=i.useMemo(()=>t||n===0?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"})}):n<.5?e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z"})}):e.jsxRuntimeExports.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-5 w-5",children:e.jsxRuntimeExports.jsx("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"})}),[t,n]);return e.jsxRuntimeExports.jsxs("div",{className:x.cn("relative flex items-center",o),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:c,className:"flex h-10 w-10 items-center justify-center rounded-full text-white transition-colors hover:bg-white/10","aria-label":t?"Unmute":"Mute",children:p}),e.jsxRuntimeExports.jsx("div",{className:x.cn("absolute left-full ml-2 flex items-center transition-all duration-200",a?"translate-x-0 opacity-100":"-translate-x-2 pointer-events-none opacity-0"),children:e.jsxRuntimeExports.jsx("input",{type:"range",min:"0",max:"1",step:"0.01",value:t?0:n,onChange:d=>l(parseFloat(d.target.value)),className:"slider h-1 w-20 cursor-pointer appearance-none rounded-lg bg-white/20"})})]})},q=function({className:o,size:s="md",skipTime:n=10}){const t=e.useMediaDispatch(),a=e.useMediaSelector(p=>p.currentTime),r={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},c={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},l=i.useCallback(()=>{const p=Math.max(0,a-n);t({type:e.MediaActionTypes.SEEK,detail:p})},[t,a,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:l,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50",r[s],o),"aria-label":`Backward ${n} seconds`,title:`Backward ${n}s`,children:e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center transition-transform duration-200",c[s]),children:[e.jsxRuntimeExports.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:[e.jsxRuntimeExports.jsx("path",{d:"M7 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1zM15.5 7.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-9z"}),e.jsxRuntimeExports.jsx("path",{d:"M5.5 12l7-4.5v9l-7-4.5z",opacity:"0.8"})]}),n&&e.jsxRuntimeExports.jsx("span",{className:"-bottom-1 absolute font-bold text-[10px]",children:n})]})})},J=function({className:o,size:s="md",skipTime:n=10}){const t=e.useMediaDispatch(),a=e.useMediaSelector(d=>d.currentTime),r=e.useMediaSelector(d=>d.duration),c={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},l={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},p=i.useCallback(()=>{const d=Math.min(r,a+n);t({type:e.MediaActionTypes.SEEK,detail:d})},[t,a,r,n]);return e.jsxRuntimeExports.jsx("button",{type:"button",onClick:p,className:x.cn("group relative flex items-center justify-center rounded-full bg-white/10 backdrop-blur-sm","border border-white/20 text-white transition-all duration-200","hover:scale-105 hover:bg-white/20 active:scale-95","focus:outline-none focus:ring-2 focus:ring-white/50",c[s],o),"aria-label":`Forward ${n} seconds`,title:`Forward ${n}s`,children:e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center transition-transform duration-200",l[s]),children:[e.jsxRuntimeExports.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-full w-full",children:[e.jsxRuntimeExports.jsx("path",{d:"M17 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1zM8.5 7.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5v-9z"}),e.jsxRuntimeExports.jsx("path",{d:"M18.5 12l-7-4.5v9l7-4.5z",opacity:"0.8"})]}),n&&e.jsxRuntimeExports.jsx("span",{className:"-bottom-1 absolute font-bold text-[10px]",children:n})]})})},B=function({variant:o="current",className:s}){const n=e.useMediaSelector(r=>r.currentTime),t=e.useMediaSelector(r=>r.duration),a=i.useMemo(()=>{switch(o){case"current":return x.formatTime(n);case"duration":return x.formatTime(t);case"remaining":return`-${x.formatTime(t-n)}`;default:return x.formatTime(n)}},[o,n,t]);return e.jsxRuntimeExports.jsx("div",{className:x.cn("font-mono text-sm text-white tabular-nums",s),children:a})},Z=function({metrics:o,className:s}){if(!o||process.env.NODE_ENV!=="development")return null;const n=a=>a>=50?"text-green-400":a>=30?"text-yellow-400":"text-red-400",t=a=>a>=5?"text-green-400":a>=2?"text-yellow-400":"text-red-400";return e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-3 font-mono text-xs",s),children:[o.fps!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-1",n(o.fps)),children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.fps," FPS"]})]}),o.bufferHealth!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex items-center gap-1",t(o.bufferHealth)),children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.bufferHealth.toFixed(1),"s"]})]}),o.quality!==void 0&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 text-blue-400",children:[e.jsxRuntimeExports.jsx("div",{className:"h-2 w-2 rounded-full bg-current"}),e.jsxRuntimeExports.jsxs("span",{children:[o.quality,"p"]})]})]})},ee=function({className:o,showSkipButtons:s=!0,showVolumeControl:n=!0,showTimeDisplay:t=!0,playButtonSize:a="xl",skipButtonSize:r="md",skipTime:c=10,showPerformanceIndicators:l=process.env.NODE_ENV==="development",performanceMetrics:p}){return e.jsxRuntimeExports.jsxs("div",{className:x.cn("flex flex-col gap-4 bg-gradient-to-t from-black/80 to-transparent p-4",o),children:[e.jsxRuntimeExports.jsx($,{className:"w-full"}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[s&&e.jsxRuntimeExports.jsx(q,{size:r,skipTime:c,className:"shrink-0"}),e.jsxRuntimeExports.jsx(O,{size:a,className:"shrink-0"}),s&&e.jsxRuntimeExports.jsx(J,{size:r,skipTime:c,className:"shrink-0"}),n&&e.jsxRuntimeExports.jsx(K,{className:"shrink-0"}),t&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-1 font-mono text-sm",children:[e.jsxRuntimeExports.jsx(B,{variant:"current"}),e.jsxRuntimeExports.jsx("span",{className:"text-white/60",children:"/"}),e.jsxRuntimeExports.jsx(B,{variant:"duration"})]})]}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:l&&e.jsxRuntimeExports.jsx(Z,{metrics:p,className:"text-white/80"})})]})]})},se=({performanceMetrics:u={},preloadingStats:o={},playbackState:s={},hlsMetrics:n={},pluginInfo:t={},debugInfo:a={},className:r,position:c="top-right",defaultCollapsed:l=!1,title:p="BaroiPlayer Debug Panel"})=>{const[d,v]=i.useState(l),[N,f]=i.useState("performance"),R=i.useMemo(()=>{switch(c){case"top-left":return"top-4 left-4";case"top-right":return"top-4 right-4";case"bottom-left":return"bottom-4 left-4";case"bottom-right":return"bottom-4 right-4";default:return"top-4 right-4"}},[c]),m=E=>{if(E===0)return"0 B";const w=1024,A=["B","KB","MB","GB"],L=Math.floor(Math.log(E)/Math.log(w));return parseFloat((E/Math.pow(w,L)).toFixed(2))+" "+A[L]},b=E=>{const w=Math.floor(E/60),A=Math.floor(E%60);return`${w}:${A.toString().padStart(2,"0")}`},g=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"FPS:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:u.fps||0})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Memory:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[((u.memoryUsage||0)/1024/1024).toFixed(1)," MB"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Buffer:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(u.bufferHealth||0).toFixed(2),"s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Bandwidth:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[m(u.networkBandwidth||0),"/s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Dropped:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[u.droppedFrames||0," frames"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-cyan-400",children:"Decoded:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[u.decodedFrames||0," frames"]})]})]})}),M=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Status:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:s.isPlaying?e.jsxRuntimeExports.jsx("span",{className:"text-green-300",children:"Playing"}):e.jsxRuntimeExports.jsx("span",{className:"text-red-300",children:"Paused"})})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Time:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[b(s.currentTime||0)," / ",b(s.duration||0)]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Volume:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[Math.round((s.volume||0)*100),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Quality:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[s.quality||0,"p"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Buffering:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:s.isBuffering?e.jsxRuntimeExports.jsx("span",{className:"text-yellow-300",children:"Yes"}):e.jsxRuntimeExports.jsx("span",{className:"text-green-300",children:"No"})})]}),s.error&&e.jsxRuntimeExports.jsxs("div",{className:"col-span-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Error:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 break-all font-mono text-red-300 text-xs",children:s.error})]})]})}),C=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Preloaded:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[o.preloadedItems||0," items"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Engagement:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(o.engagementScore||0).toFixed(1),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Queue:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[o.queueLength||0," items"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-purple-400",children:"Hit Rate:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[(o.hitRate||0).toFixed(1),"%"]})]}),e.jsxRuntimeExports.jsxs("div",{className:"col-span-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-cyan-400",children:"Saved:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 font-mono",children:m(o.totalSaved||0)})]})]})}),h=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Level:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[n.currentLevel||0," / ",n.availableLevels||0]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Bandwidth:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[m(n.bandwidthEstimate||0),"/s"]})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-red-400",children:"Dropped:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[n.droppedFrames||0," frames"]})]})]})}),j=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsxs("div",{className:"text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"Total:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-2 font-mono",children:[t.pluginCount||0," plugins"]})]}),e.jsxRuntimeExports.jsxs("div",{className:"mt-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Active:"}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 space-y-1 font-mono text-xs",children:t.activePlugins?.map((E,w)=>e.jsxRuntimeExports.jsxs("div",{className:"text-green-300",children:["• ",E]},w))||e.jsxRuntimeExports.jsx("div",{className:"text-gray-400",children:"None"})})]}),t.loadedPlugins&&t.loadedPlugins.length>(t.activePlugins?.length??0)&&e.jsxRuntimeExports.jsxs("div",{className:"mt-2",children:[e.jsxRuntimeExports.jsx("span",{className:"text-yellow-400",children:"Loaded (inactive):"}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 space-y-1 font-mono text-xs",children:t.loadedPlugins.filter(E=>!t.activePlugins?.includes(E)).map((E,w)=>e.jsxRuntimeExports.jsxs("div",{className:"text-yellow-300",children:["• ",E]},w))})]})]})}),S=()=>e.jsxRuntimeExports.jsx("div",{className:"space-y-2",children:e.jsxRuntimeExports.jsx("div",{className:"space-y-1 font-mono text-xs",children:Object.entries(a).map(([E,w])=>e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("span",{className:"text-yellow-400",children:[E,":"]}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 text-gray-300",children:typeof w=="object"?JSON.stringify(w,null,2):String(w)})]},E))})}),k=()=>e.jsxRuntimeExports.jsx("div",{className:"flex space-x-1 border-gray-600 border-b",children:[{id:"performance",label:"Performance"},{id:"hls",label:"HLS"},{id:"plugins",label:"Plugins"},{id:"debug",label:"Debug"}].map(E=>e.jsxRuntimeExports.jsx("button",{onClick:()=>f(E.id),className:x.cn$1("px-2 py-1 font-medium text-xs transition-colors",N===E.id?"border-blue-400 border-b text-blue-400":"text-gray-400 hover:text-white"),children:E.label},E.id))}),P=()=>{switch(N){case"performance":return e.jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[g(),e.jsxRuntimeExports.jsx("hr",{className:"border-gray-600"}),M(),e.jsxRuntimeExports.jsx("hr",{className:"border-gray-600"}),C()]});case"hls":return h();case"plugins":return j();case"debug":return S();default:return g()}};return process.env.NODE_ENV!=="development"?null:e.jsxRuntimeExports.jsxs("div",{className:x.cn$1("fixed z-50 min-w-80 max-w-96 rounded-lg border border-gray-700 bg-black/90 p-3 font-mono text-white text-xs backdrop-blur-sm",R,r),children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[e.jsxRuntimeExports.jsx("h3",{className:"font-bold text-blue-400 text-sm",children:p}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:e.jsxRuntimeExports.jsx("button",{onClick:()=>v(!d),className:"text-gray-400 transition-colors hover:text-white","aria-label":d?"Expand":"Collapse",children:d?e.jsxRuntimeExports.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:e.jsxRuntimeExports.jsx("path",{d:"M3 4.5L6 7.5L9 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):e.jsxRuntimeExports.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:e.jsxRuntimeExports.jsx("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})})]}),d?e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-green-400",children:"FPS:"}),e.jsxRuntimeExports.jsx("span",{className:"ml-1 font-mono",children:u.fps||0})]}),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-blue-400",children:"Memory:"}),e.jsxRuntimeExports.jsxs("span",{className:"ml-1 font-mono",children:[((u.memoryUsage||0)/1024/1024).toFixed(1),"MB"]})]})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[k(),e.jsxRuntimeExports.jsx("div",{className:"mt-3 max-h-64 overflow-y-auto",children:P()})]})]})};exports.ChaptersPanel=_;exports.DebugPanel=se;exports.EnhancedControlBar=ee;exports.EnhancedMediaPlayer=D;exports.EnhancedPlayButton=O;exports.EnhancedSeekBar=$;exports.EnhancedTimeDisplay=B;exports.EnhancedVolumeControl=K;exports.PictureInPictureButton=H;exports.PlaybackSpeedSelector=I;exports.QualitySelector=F;exports.SubtitleSelector=V;exports.advancedFeatures=Q;
2
+ //# sourceMappingURL=enhanced-components-CXnYiOt6.cjs.map