@therealtinhtute/baroiplayer 1.0.6 → 1.0.8

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 (597) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -7
  3. package/dist/index.mjs +1 -2
  4. package/dist/package.json +1 -1
  5. package/package.json +1 -1
  6. package/dist/context/media.js +0 -2
  7. package/dist/context/media.js.map +0 -1
  8. package/dist/context/media.mjs +0 -15
  9. package/dist/context/media.mjs.map +0 -1
  10. package/dist/context/store.js +0 -2
  11. package/dist/context/store.js.map +0 -1
  12. package/dist/context/store.mjs +0 -5
  13. package/dist/context/store.mjs.map +0 -1
  14. package/dist/context-Af84FynT.js +0 -1179
  15. package/dist/context-Af84FynT.js.map +0 -1
  16. package/dist/context-CwZnPdz0.cjs +0 -23
  17. package/dist/context-CwZnPdz0.cjs.map +0 -1
  18. package/dist/core-events-B5W_j8yU.js +0 -480
  19. package/dist/core-events-B5W_j8yU.js.map +0 -1
  20. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  21. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  22. package/dist/core-plugins-Bq9KLany.js +0 -696
  23. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  24. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  25. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  26. package/dist/core.js +0 -37
  27. package/dist/core.js.map +0 -1
  28. package/dist/core.mjs +0 -1217
  29. package/dist/core.mjs.map +0 -1
  30. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  31. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  32. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  33. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  34. package/dist/hooks-BCMilGRf.cjs +0 -4
  35. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  36. package/dist/hooks-BPtHV1ZT.js +0 -2042
  37. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  38. package/dist/index.js.map +0 -1
  39. package/dist/index.mjs.map +0 -1
  40. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  41. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  42. package/dist/minimal-components-BmqRefl1.js +0 -2002
  43. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  44. package/dist/mona-loading.gif +0 -0
  45. package/dist/performance-monitor--rzKTlbj.js +0 -302
  46. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  47. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  48. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  49. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  50. package/dist/src/adapters/videojs-adapter.js +0 -350
  51. package/dist/src/assets/mona-loading.gif +0 -0
  52. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  53. package/dist/src/components/AnimateLoading.js +0 -41
  54. package/dist/src/components/LoadingState.d.ts.map +0 -1
  55. package/dist/src/components/LoadingState.js +0 -111
  56. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  57. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  58. package/dist/src/components/audio-player.d.ts.map +0 -1
  59. package/dist/src/components/audio-player.js +0 -31
  60. package/dist/src/components/basic/index.d.ts.map +0 -1
  61. package/dist/src/components/basic/index.js +0 -29
  62. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  63. package/dist/src/components/enhanced/advanced-features.js +0 -64
  64. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  65. package/dist/src/components/enhanced/debug-panel.js +0 -94
  66. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  67. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  68. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  69. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  70. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  71. package/dist/src/components/enhanced/error-handling.js +0 -153
  72. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  73. package/dist/src/components/enhanced/index.js +0 -10
  74. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  75. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  76. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  77. package/dist/src/components/examples/basic-video-player.js +0 -16
  78. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  79. package/dist/src/components/examples/custom-controls-example.js +0 -12
  80. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  81. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  82. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  83. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  84. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  85. package/dist/src/components/examples/loading-states-demo.js +0 -41
  86. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  87. package/dist/src/components/examples/react-19-demo.js +0 -104
  88. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  89. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  90. package/dist/src/components/icon-demo.d.ts.map +0 -1
  91. package/dist/src/components/icon-demo.js +0 -16
  92. package/dist/src/components/icons/index.d.ts.map +0 -1
  93. package/dist/src/components/icons/index.js +0 -59
  94. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  95. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  96. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  97. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  98. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  99. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  100. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  101. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  102. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  103. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  104. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  105. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  106. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  107. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  108. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  114. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  118. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  120. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  122. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  132. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  134. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  140. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  141. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  142. package/dist/src/components/legacy.d.ts.map +0 -1
  143. package/dist/src/components/legacy.js +0 -52
  144. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  145. package/dist/src/components/media-metadata-display.js +0 -20
  146. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  147. package/dist/src/components/media-player-audio.js +0 -18
  148. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  149. package/dist/src/components/media-player-controls.js +0 -150
  150. package/dist/src/components/media-player-error.d.ts.map +0 -1
  151. package/dist/src/components/media-player-error.js +0 -85
  152. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  153. package/dist/src/components/media-player-fullscreen.js +0 -68
  154. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  155. package/dist/src/components/media-player-hls.js +0 -20
  156. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  157. package/dist/src/components/media-player-loading.js +0 -53
  158. package/dist/src/components/media-player-play.d.ts.map +0 -1
  159. package/dist/src/components/media-player-play.js +0 -44
  160. package/dist/src/components/media-player-root.d.ts.map +0 -1
  161. package/dist/src/components/media-player-root.js +0 -243
  162. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  163. package/dist/src/components/media-player-seek.js +0 -92
  164. package/dist/src/components/media-player-time.d.ts.map +0 -1
  165. package/dist/src/components/media-player-time.js +0 -57
  166. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  167. package/dist/src/components/media-player-tooltip.js +0 -14
  168. package/dist/src/components/media-player-video.d.ts.map +0 -1
  169. package/dist/src/components/media-player-video.js +0 -18
  170. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  171. package/dist/src/components/media-player-volume.js +0 -88
  172. package/dist/src/components/media-player.d.ts.map +0 -1
  173. package/dist/src/components/media-player.js +0 -67
  174. package/dist/src/components/media-suspense.d.ts.map +0 -1
  175. package/dist/src/components/media-suspense.js +0 -173
  176. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  177. package/dist/src/components/player-settings-form.js +0 -46
  178. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  179. package/dist/src/components/react-player-wrapper.js +0 -163
  180. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  181. package/dist/src/components/simple-video-player.js +0 -41
  182. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  183. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  184. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  185. package/dist/src/components/ui/fullscreen-button.js +0 -21
  186. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  187. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  188. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  189. package/dist/src/components/ui/play-button.js +0 -26
  190. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  191. package/dist/src/components/ui/seek-bar.js +0 -54
  192. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  193. package/dist/src/components/ui/time-display.js +0 -18
  194. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  195. package/dist/src/components/ui/volume-control.js +0 -71
  196. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  197. package/dist/src/components/unified/base-media-player.js +0 -104
  198. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  199. package/dist/src/components/unified/media-player.js +0 -41
  200. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  201. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  202. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  203. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  204. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  205. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  206. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  207. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  208. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  209. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  210. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  211. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  212. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  213. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  214. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  216. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  218. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  220. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  222. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  224. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  226. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  228. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  230. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  232. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  234. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  236. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  238. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  240. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  242. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  243. package/dist/src/components/variants/minimal/index.js +0 -8
  244. package/dist/src/components/video-player.d.ts.map +0 -1
  245. package/dist/src/components/video-player.js +0 -38
  246. package/dist/src/context/error-handling.d.ts.map +0 -1
  247. package/dist/src/context/error-handling.js +0 -300
  248. package/dist/src/context/media-context.d.ts.map +0 -1
  249. package/dist/src/context/media-context.js +0 -121
  250. package/dist/src/context/media-provider.d.ts.map +0 -1
  251. package/dist/src/context/media-provider.js +0 -164
  252. package/dist/src/context/media-store.d.ts.map +0 -1
  253. package/dist/src/context/media-store.js +0 -273
  254. package/dist/src/context/persistence.d.ts.map +0 -1
  255. package/dist/src/context/persistence.js +0 -356
  256. package/dist/src/core/events/event-system.d.ts.map +0 -1
  257. package/dist/src/core/events/event-system.js +0 -288
  258. package/dist/src/core/events/hooks.d.ts.map +0 -1
  259. package/dist/src/core/events/hooks.js +0 -198
  260. package/dist/src/core/events/index.d.ts.map +0 -1
  261. package/dist/src/core/events/index.js +0 -7
  262. package/dist/src/core/events/middleware.d.ts.map +0 -1
  263. package/dist/src/core/events/middleware.js +0 -219
  264. package/dist/src/core/index.d.ts.map +0 -1
  265. package/dist/src/core/index.js +0 -15
  266. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  267. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  268. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  269. package/dist/src/core/performance/cicd.js +0 -83
  270. package/dist/src/core/performance/index.d.ts.map +0 -1
  271. package/dist/src/core/performance/index.js +0 -14
  272. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  273. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  274. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  275. package/dist/src/core/performance/performance-budgets.js +0 -326
  276. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  277. package/dist/src/core/performance/performance-monitor.js +0 -297
  278. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  279. package/dist/src/core/performance/performance-testing.js +0 -314
  280. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  281. package/dist/src/core/plugins/base-plugin.js +0 -151
  282. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  283. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  284. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  285. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  286. package/dist/src/core/plugins/index.d.ts.map +0 -1
  287. package/dist/src/core/plugins/index.js +0 -9
  288. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  289. package/dist/src/core/plugins/registry.js +0 -261
  290. package/dist/src/core/plugins/types.d.ts.map +0 -1
  291. package/dist/src/core/plugins/types.js +0 -31
  292. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  293. package/dist/src/core/plugins/utils.js +0 -274
  294. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  295. package/dist/src/core/progressive-loading.js +0 -239
  296. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  297. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  298. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  299. package/dist/src/core/providers/service-provider.js +0 -105
  300. package/dist/src/core/utils.d.ts.map +0 -1
  301. package/dist/src/core/utils.js +0 -21
  302. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  303. package/dist/src/features/media-session/media-session-manager.js +0 -331
  304. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  305. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  306. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  307. package/dist/src/features/playlist/playlist-manager.js +0 -475
  308. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  309. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  310. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  311. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  312. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  313. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  314. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  315. package/dist/src/hooks/accessibility/index.js +0 -4
  316. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  317. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  318. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  319. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  320. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  321. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  322. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  323. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  324. package/dist/src/hooks/core/index.d.ts.map +0 -1
  325. package/dist/src/hooks/core/index.js +0 -19
  326. package/dist/src/hooks/legacy.d.ts.map +0 -1
  327. package/dist/src/hooks/legacy.js +0 -17
  328. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  329. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  330. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  331. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  332. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  333. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  334. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  335. package/dist/src/hooks/use-media-actions.js +0 -121
  336. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  337. package/dist/src/hooks/use-media-metadata.js +0 -74
  338. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  339. package/dist/src/hooks/use-media-optimistic.js +0 -205
  340. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  341. package/dist/src/hooks/use-media-player.js +0 -251
  342. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  343. package/dist/src/hooks/use-media-state.js +0 -162
  344. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  345. package/dist/src/hooks/use-memory-optimization.js +0 -288
  346. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  347. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  348. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  349. package/dist/src/hooks/use-optimized-media.js +0 -211
  350. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  351. package/dist/src/hooks/use-touch-gestures.js +0 -289
  352. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  353. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  354. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  355. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  356. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  357. package/dist/src/hooks/useMediaControls.js +0 -44
  358. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  359. package/dist/src/hooks/useScreenshot.js +0 -56
  360. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  361. package/dist/src/hooks/useSubtitles.js +0 -73
  362. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  363. package/dist/src/hooks/useVideoPlayer.js +0 -184
  364. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  365. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  366. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  367. package/dist/src/icons/components/SettingsIcon.js +0 -11
  368. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  369. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  370. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  371. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  372. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  373. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  374. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  375. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  376. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  377. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  378. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  379. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  380. package/dist/src/icons/index.d.ts.map +0 -1
  381. package/dist/src/icons/index.js +0 -45
  382. package/dist/src/icons/provider.d.ts.map +0 -1
  383. package/dist/src/icons/provider.js +0 -37
  384. package/dist/src/icons/types.d.ts.map +0 -1
  385. package/dist/src/icons/types.js +0 -1
  386. package/dist/src/index-enhanced.d.ts.map +0 -1
  387. package/dist/src/index-enhanced.js +0 -16
  388. package/dist/src/index-legacy.d.ts.map +0 -1
  389. package/dist/src/index-legacy.js +0 -97
  390. package/dist/src/index.d.ts.map +0 -1
  391. package/dist/src/index.js +0 -90
  392. package/dist/src/index.minimal.d.ts.map +0 -1
  393. package/dist/src/index.minimal.js +0 -3
  394. package/dist/src/lib/deprecation.d.ts.map +0 -1
  395. package/dist/src/lib/deprecation.js +0 -31
  396. package/dist/src/lib/format-time.d.ts.map +0 -1
  397. package/dist/src/lib/format-time.js +0 -32
  398. package/dist/src/lib/index.d.ts.map +0 -1
  399. package/dist/src/lib/index.js +0 -3
  400. package/dist/src/lib/utils.d.ts.map +0 -1
  401. package/dist/src/lib/utils.js +0 -5
  402. package/dist/src/test/setup.d.ts.map +0 -1
  403. package/dist/src/test/setup.js +0 -65
  404. package/dist/src/types/events.d.ts.map +0 -1
  405. package/dist/src/types/events.js +0 -2
  406. package/dist/src/types/formats.d.ts.map +0 -1
  407. package/dist/src/types/formats.js +0 -63
  408. package/dist/src/types/index.d.ts.map +0 -1
  409. package/dist/src/types/index.js +0 -4
  410. package/dist/utils-Db13763z.cjs +0 -9
  411. package/dist/utils-Db13763z.cjs.map +0 -1
  412. package/dist/utils-nTO4AnHo.js +0 -2809
  413. package/dist/utils-nTO4AnHo.js.map +0 -1
  414. package/dist/utils.js +0 -2
  415. package/dist/utils.js.map +0 -1
  416. package/dist/utils.mjs +0 -7
  417. package/dist/utils.mjs.map +0 -1
  418. package/src/adapters/videojs-adapter.js +0 -350
  419. package/src/components/AnimateLoading.js +0 -41
  420. package/src/components/LoadingState.js +0 -111
  421. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  422. package/src/components/audio-player.js +0 -31
  423. package/src/components/basic/index.js +0 -29
  424. package/src/components/enhanced/advanced-features.js +0 -64
  425. package/src/components/enhanced/debug-panel.js +0 -94
  426. package/src/components/enhanced/enhanced-controls.js +0 -233
  427. package/src/components/enhanced/enhanced-media-player.js +0 -316
  428. package/src/components/enhanced/error-handling.js +0 -153
  429. package/src/components/enhanced/index.js +0 -10
  430. package/src/components/enhanced/media-player-enhanced.js +0 -250
  431. package/src/components/examples/basic-video-player.js +0 -16
  432. package/src/components/examples/custom-controls-example.js +0 -12
  433. package/src/components/examples/enhanced-controls-example.js +0 -18
  434. package/src/components/examples/enhanced-media-player-example.js +0 -13
  435. package/src/components/examples/loading-states-demo.js +0 -41
  436. package/src/components/examples/react-19-demo.js +0 -104
  437. package/src/components/examples/volume-orientation-demo.js +0 -31
  438. package/src/components/icon-demo.js +0 -16
  439. package/src/components/icons/index.js +0 -59
  440. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  441. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  442. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  443. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  444. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  445. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  446. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  447. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  448. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  449. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  450. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  451. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  452. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  453. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  454. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  455. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  456. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  457. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  458. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  459. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  460. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  461. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  462. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  463. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  464. package/src/components/legacy.js +0 -52
  465. package/src/components/media-metadata-display.js +0 -20
  466. package/src/components/media-player-audio.js +0 -18
  467. package/src/components/media-player-controls.js +0 -150
  468. package/src/components/media-player-error.js +0 -85
  469. package/src/components/media-player-fullscreen.js +0 -68
  470. package/src/components/media-player-hls.js +0 -20
  471. package/src/components/media-player-loading.js +0 -53
  472. package/src/components/media-player-play.js +0 -44
  473. package/src/components/media-player-root.js +0 -243
  474. package/src/components/media-player-seek.js +0 -92
  475. package/src/components/media-player-time.js +0 -57
  476. package/src/components/media-player-tooltip.js +0 -14
  477. package/src/components/media-player-video.js +0 -18
  478. package/src/components/media-player-volume.js +0 -88
  479. package/src/components/media-player.js +0 -67
  480. package/src/components/media-suspense.js +0 -173
  481. package/src/components/player-settings-form.js +0 -46
  482. package/src/components/react-player-wrapper.js +0 -163
  483. package/src/components/simple-video-player.js +0 -41
  484. package/src/components/ui/enhanced-seek-bar.js +0 -112
  485. package/src/components/ui/fullscreen-button.js +0 -21
  486. package/src/components/ui/media-resource-preloader.js +0 -295
  487. package/src/components/ui/play-button.js +0 -26
  488. package/src/components/ui/seek-bar.js +0 -54
  489. package/src/components/ui/time-display.js +0 -18
  490. package/src/components/ui/volume-control.js +0 -71
  491. package/src/components/unified/base-media-player.js +0 -104
  492. package/src/components/unified/media-player.js +0 -41
  493. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  494. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  495. package/src/components/variants/minimal/MinimalControls.js +0 -19
  496. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  497. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  498. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  499. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  500. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  501. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  502. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  503. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  504. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  505. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  506. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  507. package/src/components/variants/minimal/components/RightControls.js +0 -40
  508. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  509. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  510. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  511. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  512. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  513. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  514. package/src/components/variants/minimal/index.js +0 -8
  515. package/src/components/video-player.js +0 -38
  516. package/src/context/error-handling.js +0 -300
  517. package/src/context/media-context.js +0 -121
  518. package/src/context/media-provider.js +0 -164
  519. package/src/context/media-store.js +0 -273
  520. package/src/context/persistence.js +0 -356
  521. package/src/core/events/event-system.js +0 -288
  522. package/src/core/events/hooks.js +0 -198
  523. package/src/core/events/index.js +0 -7
  524. package/src/core/events/middleware.js +0 -219
  525. package/src/core/index.js +0 -15
  526. package/src/core/optimization/bundle-optimizer.js +0 -217
  527. package/src/core/performance/cicd.js +0 -83
  528. package/src/core/performance/index.js +0 -14
  529. package/src/core/performance/media-loading-optimizer.js +0 -404
  530. package/src/core/performance/performance-budgets.js +0 -326
  531. package/src/core/performance/performance-monitor.js +0 -297
  532. package/src/core/performance/performance-testing.js +0 -314
  533. package/src/core/plugins/base-plugin.js +0 -151
  534. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  535. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  536. package/src/core/plugins/index.js +0 -9
  537. package/src/core/plugins/registry.js +0 -261
  538. package/src/core/plugins/types.js +0 -31
  539. package/src/core/plugins/utils.js +0 -274
  540. package/src/core/progressive-loading.js +0 -239
  541. package/src/core/providers/enhanced-hls-provider.js +0 -273
  542. package/src/core/providers/service-provider.js +0 -105
  543. package/src/core/utils.js +0 -21
  544. package/src/features/media-session/media-session-manager.js +0 -331
  545. package/src/features/picture-in-picture/pip-manager.js +0 -353
  546. package/src/features/playlist/playlist-manager.js +0 -475
  547. package/src/features/subtitles/subtitle-manager.js +0 -335
  548. package/src/features/subtitles/subtitle-parser.js +0 -217
  549. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  550. package/src/hooks/accessibility/index.js +0 -4
  551. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  552. package/src/hooks/accessibility/use-focus-management.js +0 -142
  553. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  554. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  555. package/src/hooks/core/index.js +0 -19
  556. package/src/hooks/legacy.js +0 -17
  557. package/src/hooks/use-enhanced-media-player.js +0 -395
  558. package/src/hooks/use-intelligent-preloading.js +0 -258
  559. package/src/hooks/use-keyboard-controls.js +0 -83
  560. package/src/hooks/use-media-actions.js +0 -121
  561. package/src/hooks/use-media-metadata.js +0 -74
  562. package/src/hooks/use-media-optimistic.js +0 -205
  563. package/src/hooks/use-media-player.js +0 -251
  564. package/src/hooks/use-media-state.js +0 -162
  565. package/src/hooks/use-memory-optimization.js +0 -288
  566. package/src/hooks/use-optimistic-controls.js +0 -60
  567. package/src/hooks/use-optimized-media.js +0 -211
  568. package/src/hooks/use-touch-gestures.js +0 -289
  569. package/src/hooks/useEnhancedSubtitles.js +0 -205
  570. package/src/hooks/useKeyboardShortcuts.js +0 -59
  571. package/src/hooks/useMediaControls.js +0 -44
  572. package/src/hooks/useScreenshot.js +0 -56
  573. package/src/hooks/useSubtitles.js +0 -73
  574. package/src/hooks/useVideoPlayer.js +0 -184
  575. package/src/icons/components/FullscreenIcon.js +0 -11
  576. package/src/icons/components/SettingsIcon.js +0 -11
  577. package/src/icons/components/animated/LoadingIcon.js +0 -11
  578. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  579. package/src/icons/components/media/PauseIcon.js +0 -12
  580. package/src/icons/components/media/PlayIcon.js +0 -12
  581. package/src/icons/components/volume/VolumeIcon.js +0 -11
  582. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  583. package/src/icons/index.js +0 -45
  584. package/src/icons/provider.js +0 -37
  585. package/src/icons/types.js +0 -1
  586. package/src/index-enhanced.js +0 -16
  587. package/src/index-legacy.js +0 -97
  588. package/src/index.js +0 -90
  589. package/src/index.minimal.js +0 -3
  590. package/src/lib/deprecation.js +0 -31
  591. package/src/lib/format-time.js +0 -32
  592. package/src/lib/index.js +0 -3
  593. package/src/lib/utils.js +0 -5
  594. package/src/test/setup.js +0 -65
  595. package/src/types/events.js +0 -2
  596. package/src/types/formats.js +0 -63
  597. package/src/types/index.js +0 -4
@@ -1,205 +0,0 @@
1
- import { useState, useEffect } from "react";
2
- export function useEnhancedSubtitles({ subtitleSrc, subtitleTracks = [], defaultFontSize = "medium", onLoadError } = {}) {
3
- const [subtitlesEnabled, setSubtitlesEnabled] = useState(false);
4
- const [subtitleCues, setSubtitleCues] = useState([]);
5
- const [currentSubtitle, setCurrentSubtitle] = useState("");
6
- const [currentTrackId, setCurrentTrackId] = useState(null);
7
- const [fontSize, setFontSize] = useState(defaultFontSize);
8
- const [loadError, setLoadError] = useState(null);
9
- const [isLoading, setIsLoading] = useState(false);
10
- // Size mapping for subtitle font sizes
11
- const sizeMap = {
12
- small: "text-sm",
13
- medium: "text-base",
14
- large: "text-lg"
15
- };
16
- // Determine if subtitles are available
17
- const hasSubtitles = !!(subtitleSrc || (subtitleTracks && subtitleTracks.length > 0));
18
- // Parse VTT/WebVTT timestamp
19
- const parseVTTTime = (timeStr) => {
20
- const parts = timeStr.split(":");
21
- const seconds = parts[2] ? parseFloat(parts[2]) : 0;
22
- const minutes = parts[1] ? parseInt(parts[1], 10) * 60 : 0;
23
- const hours = parts[0] ? parseInt(parts[0], 10) * 3600 : 0;
24
- return hours + minutes + seconds;
25
- };
26
- // Parse SRT timestamp
27
- const parseSRTTime = (timeStr) => {
28
- // SRT format: 00:00:00,000 (hours:minutes:seconds,milliseconds)
29
- const [time, ms] = timeStr.split(",");
30
- const parts = (time || "").split(":");
31
- const milliseconds = ms ? parseInt(ms, 10) / 1000 : 0;
32
- const seconds = parts[2] ? parseInt(parts[2], 10) : 0;
33
- const minutes = parts[1] ? parseInt(parts[1], 10) * 60 : 0;
34
- const hours = parts[0] ? parseInt(parts[0], 10) * 3600 : 0;
35
- return hours + minutes + seconds + milliseconds;
36
- };
37
- // Load and parse subtitle file
38
- const loadSubtitles = async (url) => {
39
- setIsLoading(true);
40
- setLoadError(null);
41
- try {
42
- const response = await fetch(url);
43
- if (!response.ok) {
44
- throw new Error(`Failed to load subtitles: ${response.status} ${response.statusText}`);
45
- }
46
- const text = await response.text();
47
- const cues = [];
48
- const lines = text.split("\n");
49
- let i = 0;
50
- // Detect format (VTT or SRT)
51
- const isVTT = text.includes("WEBVTT") || url.endsWith(".vtt");
52
- const isSRT = url.endsWith(".srt") || /^\d+$/.test(lines[0]?.trim() || "");
53
- if (isVTT) {
54
- // Parse VTT format
55
- while (i < lines.length) {
56
- if (lines[i]?.includes("-->")) {
57
- const [startStr, endStr] = (lines[i] || "").split("-->").map((s) => s.trim());
58
- const start = parseVTTTime(startStr || "");
59
- const end = parseVTTTime(endStr || "");
60
- i++;
61
- let subtitleText = "";
62
- while (i < lines.length && lines[i]?.trim() !== "") {
63
- subtitleText += (subtitleText ? " " : "") + lines[i]?.trim();
64
- i++;
65
- }
66
- if (subtitleText) {
67
- cues.push({ start, end, text: subtitleText });
68
- }
69
- }
70
- i++;
71
- }
72
- }
73
- else if (isSRT) {
74
- // Parse SRT format
75
- while (i < lines.length) {
76
- // Skip the sequence number
77
- if (/^\d+$/.test(lines[i]?.trim() || "")) {
78
- i++;
79
- // Parse timestamp line
80
- if (lines[i]?.includes("-->")) {
81
- const [startStr, endStr] = (lines[i] || "").split("-->").map((s) => s.trim());
82
- const start = parseSRTTime(startStr || "");
83
- const end = parseSRTTime(endStr || "");
84
- i++;
85
- let subtitleText = "";
86
- while (i < lines.length && lines[i]?.trim() !== "") {
87
- subtitleText += (subtitleText ? " " : "") + lines[i]?.trim();
88
- i++;
89
- }
90
- if (subtitleText) {
91
- cues.push({ start, end, text: subtitleText });
92
- }
93
- }
94
- }
95
- i++;
96
- }
97
- }
98
- else {
99
- throw new Error("Unsupported subtitle format. Only VTT and SRT are supported.");
100
- }
101
- if (cues.length === 0) {
102
- throw new Error("No subtitle cues found in file");
103
- }
104
- setSubtitleCues(cues);
105
- setIsLoading(false);
106
- }
107
- catch (error) {
108
- const err = error instanceof Error ? error : new Error("Failed to load subtitles");
109
- console.error("Failed to load subtitles:", err);
110
- setLoadError(err);
111
- setIsLoading(false);
112
- setSubtitleCues([]);
113
- onLoadError?.(err);
114
- }
115
- };
116
- // Get current subtitle text based on time
117
- const getCurrentSubtitle = (currentTime) => {
118
- if (!subtitlesEnabled || subtitleCues.length === 0)
119
- return "";
120
- const currentCue = subtitleCues.find((cue) => currentTime >= cue.start && currentTime <= cue.end);
121
- return currentCue?.text || "";
122
- };
123
- // Toggle subtitles on/off
124
- const toggleSubtitles = () => {
125
- setSubtitlesEnabled(prev => {
126
- const newEnabled = !prev;
127
- if (newEnabled && !loadError) {
128
- // Try to load subtitles if not already loaded
129
- if (subtitleCues.length === 0 && !isLoading) {
130
- // Load default subtitle source or first track
131
- const srcToLoad = subtitleSrc || subtitleTracks[0]?.src;
132
- if (srcToLoad) {
133
- loadSubtitles(srcToLoad);
134
- if (subtitleTracks[0]) {
135
- setCurrentTrackId(subtitleTracks[0].id);
136
- }
137
- }
138
- }
139
- }
140
- else if (!newEnabled) {
141
- setCurrentSubtitle("");
142
- }
143
- return newEnabled;
144
- });
145
- };
146
- // Select a specific subtitle track
147
- const selectSubtitleTrack = (trackId) => {
148
- if (!trackId) {
149
- // Turn off subtitles
150
- setSubtitlesEnabled(false);
151
- setCurrentTrackId(null);
152
- setCurrentSubtitle("");
153
- return;
154
- }
155
- const track = subtitleTracks.find(t => t.id === trackId);
156
- if (track?.src) {
157
- setCurrentTrackId(trackId);
158
- loadSubtitles(track.src);
159
- setSubtitlesEnabled(true);
160
- }
161
- };
162
- // Change subtitle font size
163
- const changeSubtitleFontSize = (size) => {
164
- setFontSize(size);
165
- };
166
- // Get CSS classes for subtitle display
167
- const getSubtitleStyles = {
168
- fontSize: sizeMap[fontSize],
169
- className: `${sizeMap[fontSize]} font-medium`
170
- };
171
- // Clear subtitle on disable
172
- useEffect(() => {
173
- if (!subtitlesEnabled) {
174
- setCurrentSubtitle("");
175
- }
176
- }, [subtitlesEnabled]);
177
- // Auto-load default subtitles on mount if available
178
- useEffect(() => {
179
- if (subtitleSrc && !subtitleCues.length && !loadError && !isLoading) {
180
- // Don't auto-load, wait for user to enable
181
- // This prevents errors on initial load
182
- }
183
- }, []);
184
- return {
185
- // State
186
- subtitlesEnabled,
187
- currentSubtitle,
188
- subtitleCues,
189
- currentTrackId,
190
- fontSize,
191
- loadError,
192
- isLoading,
193
- hasSubtitles,
194
- // Actions
195
- toggleSubtitles,
196
- selectSubtitleTrack,
197
- changeSubtitleFontSize,
198
- setCurrentSubtitle,
199
- // Utilities
200
- getCurrentSubtitle,
201
- getSubtitleStyles,
202
- // Track info
203
- availableTracks: subtitleTracks
204
- };
205
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["useKeyboardShortcuts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,UAAU,yBAAyB;IAClC,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,oBAAoB,CAAC,EACpC,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EACR,EAAE,yBAAyB,QA0D3B"}
@@ -1,59 +0,0 @@
1
- import { useEffect } from "react";
2
- export function useKeyboardShortcuts({ videoControls, toggleSubtitles, takeScreenshot, duration }) {
3
- const handleKeyDown = (e) => {
4
- const video = document.querySelector('video');
5
- if (!video)
6
- return;
7
- switch (e.key.toLowerCase()) {
8
- case " ":
9
- case "k":
10
- e.preventDefault();
11
- videoControls.togglePlay();
12
- break;
13
- case "j":
14
- e.preventDefault();
15
- videoControls.seekBackward();
16
- break;
17
- case "l":
18
- e.preventDefault();
19
- videoControls.seekForward();
20
- break;
21
- case "arrowleft":
22
- e.preventDefault();
23
- video.currentTime = Math.max(0, video.currentTime - 5);
24
- break;
25
- case "arrowright":
26
- e.preventDefault();
27
- video.currentTime = Math.min(duration, video.currentTime + 5);
28
- break;
29
- case "arrowup":
30
- e.preventDefault();
31
- video.volume = Math.min(1, video.volume + 0.1);
32
- break;
33
- case "arrowdown":
34
- e.preventDefault();
35
- video.volume = Math.max(0, video.volume - 0.1);
36
- break;
37
- case "m":
38
- e.preventDefault();
39
- videoControls.toggleMute();
40
- break;
41
- case "f":
42
- e.preventDefault();
43
- videoControls.toggleFullscreen();
44
- break;
45
- case "c":
46
- e.preventDefault();
47
- toggleSubtitles();
48
- break;
49
- case "s":
50
- e.preventDefault();
51
- takeScreenshot(e.ctrlKey || e.metaKey);
52
- break;
53
- }
54
- };
55
- useEffect(() => {
56
- document.addEventListener("keydown", handleKeyDown);
57
- return () => document.removeEventListener("keydown", handleKeyDown);
58
- }, [handleKeyDown]);
59
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMediaControls.d.ts","sourceRoot":"","sources":["useMediaControls.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO;;;;;;;EAiDzE"}
@@ -1,44 +0,0 @@
1
- import { useState, useRef, useEffect } from "react";
2
- export function useMediaControls(isPlaying, showSettings) {
3
- const [controlsVisible, setControlsVisible] = useState(true);
4
- const [showVolumeSlider, setShowVolumeSlider] = useState(false);
5
- const hideTimeoutRef = useRef(null);
6
- const showControls = () => {
7
- setControlsVisible(true);
8
- if (hideTimeoutRef.current) {
9
- clearTimeout(hideTimeoutRef.current);
10
- }
11
- if (isPlaying && !showSettings) {
12
- hideTimeoutRef.current = setTimeout(() => {
13
- setControlsVisible(false);
14
- }, 3000);
15
- }
16
- };
17
- const handleMouseMove = () => {
18
- showControls();
19
- };
20
- const handleMouseEnter = () => {
21
- setControlsVisible(true);
22
- };
23
- const handleMouseLeave = () => {
24
- if (isPlaying) {
25
- setControlsVisible(false);
26
- }
27
- };
28
- useEffect(() => {
29
- showControls();
30
- return () => {
31
- if (hideTimeoutRef.current) {
32
- clearTimeout(hideTimeoutRef.current);
33
- }
34
- };
35
- }, [showControls]);
36
- return {
37
- controlsVisible,
38
- showVolumeSlider,
39
- setShowVolumeSlider,
40
- handleMouseMove,
41
- handleMouseEnter,
42
- handleMouseLeave
43
- };
44
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScreenshot.d.ts","sourceRoot":"","sources":["useScreenshot.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;+BAC9C,OAAO;EAqDxC"}
@@ -1,56 +0,0 @@
1
- export function useScreenshot(videoRef) {
2
- const takeScreenshot = (ctrlKey = false) => {
3
- if (!videoRef.current)
4
- return;
5
- const video = videoRef.current;
6
- const canvas = document.createElement("canvas");
7
- canvas.width = video.videoWidth;
8
- canvas.height = video.videoHeight;
9
- const ctx = canvas.getContext("2d");
10
- if (!ctx)
11
- return;
12
- try {
13
- // Draw the video frame to canvas
14
- ctx.drawImage(video, 0, 0);
15
- // Try to export the canvas
16
- canvas.toBlob((blob) => {
17
- if (!blob) {
18
- console.error("Failed to create blob from canvas");
19
- return;
20
- }
21
- if (ctrlKey) {
22
- // Copy to clipboard
23
- if (navigator.clipboard && window.ClipboardItem) {
24
- const item = new ClipboardItem({ "image/png": blob });
25
- navigator.clipboard.write([item]).catch(err => {
26
- console.error("Failed to copy to clipboard:", err);
27
- });
28
- }
29
- else {
30
- console.warn("Clipboard API not supported");
31
- }
32
- }
33
- else {
34
- // Download
35
- const url = URL.createObjectURL(blob);
36
- const a = document.createElement("a");
37
- a.href = url;
38
- a.download = `screenshot-${Date.now()}.png`;
39
- a.click();
40
- URL.revokeObjectURL(url);
41
- }
42
- }, "image/png");
43
- }
44
- catch (error) {
45
- if (error instanceof Error && error.message.includes("tainted")) {
46
- console.error("Canvas is tainted - video source may not have proper CORS headers. Try setting crossOrigin='anonymous' on the video element.");
47
- alert("Screenshot failed: The video source doesn't allow screenshots due to CORS policy. Please ensure the video server includes proper CORS headers or set crossOrigin='anonymous' on the video player.");
48
- }
49
- else {
50
- console.error("Screenshot failed:", error);
51
- alert("Screenshot failed: " + (error instanceof Error ? error.message : "Unknown error"));
52
- }
53
- }
54
- };
55
- return { takeScreenshot };
56
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSubtitles.d.ts","sourceRoot":"","sources":["useSubtitles.ts"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM;;;;sCAgDP,MAAM;;EAkC/C"}
@@ -1,73 +0,0 @@
1
- import { useState, useEffect } from "react";
2
- export function useSubtitles(subtitleSrc) {
3
- const [subtitlesEnabled, setSubtitlesEnabled] = useState(false);
4
- const [subtitleCues, setSubtitleCues] = useState([]);
5
- const [currentSubtitle, setCurrentSubtitle] = useState("");
6
- const parseVTTTime = (timeStr) => {
7
- const parts = timeStr.split(":");
8
- const seconds = parts[2] ? parseFloat(parts[2]) : 0;
9
- const minutes = parts[1] ? parseInt(parts[1], 10) * 60 : 0;
10
- const hours = parts[0] ? parseInt(parts[0], 10) * 3600 : 0;
11
- return hours + minutes + seconds;
12
- };
13
- const loadSubtitles = async (url) => {
14
- try {
15
- const response = await fetch(url);
16
- const text = await response.text();
17
- const cues = [];
18
- const lines = text.split("\n");
19
- let i = 0;
20
- while (i < lines.length) {
21
- if (lines[i]?.includes("-->")) {
22
- const [startStr, endStr] = (lines[i] || "").split("-->").map((s) => s.trim());
23
- const start = parseVTTTime(startStr || "");
24
- const end = parseVTTTime(endStr || "");
25
- i++;
26
- let subtitleText = "";
27
- while (i < lines.length && lines[i]?.trim() !== "") {
28
- subtitleText += (subtitleText ? " " : "") + lines[i]?.trim();
29
- i++;
30
- }
31
- if (subtitleText) {
32
- cues.push({ start, end, text: subtitleText });
33
- }
34
- }
35
- i++;
36
- }
37
- setSubtitleCues(cues);
38
- }
39
- catch (error) {
40
- console.error("Failed to load subtitles:", error);
41
- }
42
- };
43
- const getCurrentSubtitle = (currentTime) => {
44
- if (!subtitlesEnabled || subtitleCues.length === 0)
45
- return "";
46
- const currentCue = subtitleCues.find((cue) => currentTime >= cue.start && currentTime <= cue.end);
47
- return currentCue?.text || "";
48
- };
49
- const toggleSubtitles = () => {
50
- setSubtitlesEnabled(prev => {
51
- const newEnabled = !prev;
52
- if (newEnabled && subtitleSrc && subtitleCues.length === 0) {
53
- loadSubtitles(subtitleSrc);
54
- }
55
- else if (!newEnabled) {
56
- setCurrentSubtitle("");
57
- }
58
- return newEnabled;
59
- });
60
- };
61
- useEffect(() => {
62
- if (!subtitlesEnabled) {
63
- setCurrentSubtitle("");
64
- }
65
- }, [subtitlesEnabled]);
66
- return {
67
- subtitlesEnabled,
68
- currentSubtitle,
69
- toggleSubtitles,
70
- getCurrentSubtitle,
71
- setCurrentSubtitle
72
- };
73
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"useVideoPlayer.d.ts","sourceRoot":"","sources":["useVideoPlayer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,aAAa,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;;;;EAwMlF"}
@@ -1,184 +0,0 @@
1
- import { useState, useRef, useEffect } from "react";
2
- export function useVideoPlayer(containerRef) {
3
- const videoRef = useRef(null);
4
- const [state, setState] = useState({
5
- isPlaying: false,
6
- currentTime: 0,
7
- duration: 0,
8
- volume: 1,
9
- isMuted: false,
10
- isFullscreen: false,
11
- isLoading: true,
12
- isSeeking: false,
13
- isBuffering: false,
14
- bufferedRanges: []
15
- });
16
- useEffect(() => {
17
- const video = videoRef.current;
18
- if (!video)
19
- return;
20
- const handleTimeUpdate = () => {
21
- setState(prev => ({ ...prev, currentTime: video.currentTime }));
22
- };
23
- const handleLoadedMetadata = () => {
24
- setState(prev => ({ ...prev, duration: video.duration }));
25
- };
26
- const handlePlay = () => {
27
- setState(prev => ({ ...prev, isPlaying: true, isBuffering: false }));
28
- };
29
- const handlePause = () => {
30
- setState(prev => ({ ...prev, isPlaying: false }));
31
- };
32
- const handleVolumeChange = () => {
33
- setState(prev => ({
34
- ...prev,
35
- volume: video.volume,
36
- isMuted: video.muted
37
- }));
38
- };
39
- // Loading state handlers
40
- const handleLoadStart = () => {
41
- setState(prev => ({ ...prev, isLoading: true }));
42
- };
43
- const handleLoadedData = () => {
44
- setState(prev => ({ ...prev, isLoading: false }));
45
- };
46
- // Seeking state handlers
47
- const handleSeeking = () => {
48
- setState(prev => ({ ...prev, isSeeking: true }));
49
- };
50
- const handleSeeked = () => {
51
- setState(prev => ({ ...prev, isSeeking: false }));
52
- };
53
- // Buffering state handlers
54
- const handleWaiting = () => {
55
- setState(prev => ({ ...prev, isBuffering: true }));
56
- };
57
- const handlePlaying = () => {
58
- setState(prev => ({ ...prev, isBuffering: false, isLoading: false }));
59
- };
60
- const handleCanPlay = () => {
61
- setState(prev => ({ ...prev, isLoading: false, isBuffering: false }));
62
- };
63
- // Progress handler for buffered ranges
64
- const handleProgress = () => {
65
- if (!video.buffered || video.buffered.length === 0 || video.duration === 0) {
66
- setState(prev => ({ ...prev, bufferedRanges: [] }));
67
- return;
68
- }
69
- const ranges = [];
70
- for (let i = 0; i < video.buffered.length; i++) {
71
- const start = video.buffered.start(i);
72
- const end = video.buffered.end(i);
73
- ranges.push({
74
- start,
75
- end,
76
- percentage: ((end - start) / video.duration) * 100
77
- });
78
- }
79
- setState(prev => ({ ...prev, bufferedRanges: ranges }));
80
- };
81
- video.addEventListener("timeupdate", handleTimeUpdate);
82
- video.addEventListener("loadedmetadata", handleLoadedMetadata);
83
- video.addEventListener("play", handlePlay);
84
- video.addEventListener("pause", handlePause);
85
- video.addEventListener("volumechange", handleVolumeChange);
86
- video.addEventListener("loadstart", handleLoadStart);
87
- video.addEventListener("loadeddata", handleLoadedData);
88
- video.addEventListener("seeking", handleSeeking);
89
- video.addEventListener("seeked", handleSeeked);
90
- video.addEventListener("waiting", handleWaiting);
91
- video.addEventListener("playing", handlePlaying);
92
- video.addEventListener("canplay", handleCanPlay);
93
- video.addEventListener("progress", handleProgress);
94
- return () => {
95
- video.removeEventListener("timeupdate", handleTimeUpdate);
96
- video.removeEventListener("loadedmetadata", handleLoadedMetadata);
97
- video.removeEventListener("play", handlePlay);
98
- video.removeEventListener("pause", handlePause);
99
- video.removeEventListener("volumechange", handleVolumeChange);
100
- video.removeEventListener("loadstart", handleLoadStart);
101
- video.removeEventListener("loadeddata", handleLoadedData);
102
- video.removeEventListener("seeking", handleSeeking);
103
- video.removeEventListener("seeked", handleSeeked);
104
- video.removeEventListener("waiting", handleWaiting);
105
- video.removeEventListener("playing", handlePlaying);
106
- video.removeEventListener("canplay", handleCanPlay);
107
- video.removeEventListener("progress", handleProgress);
108
- };
109
- }, []);
110
- const togglePlay = () => {
111
- const video = videoRef.current;
112
- if (!video)
113
- return;
114
- if (state.isPlaying) {
115
- video.pause();
116
- }
117
- else {
118
- video.play();
119
- }
120
- };
121
- const seekForward = (seconds = 10) => {
122
- const video = videoRef.current;
123
- if (!video)
124
- return;
125
- video.currentTime = Math.min(state.duration, video.currentTime + seconds);
126
- };
127
- const seekBackward = (seconds = 10) => {
128
- const video = videoRef.current;
129
- if (!video)
130
- return;
131
- video.currentTime = Math.max(0, video.currentTime - seconds);
132
- };
133
- const toggleMute = () => {
134
- const video = videoRef.current;
135
- if (!video)
136
- return;
137
- video.muted = !state.isMuted;
138
- };
139
- const setVolume = (volume) => {
140
- const video = videoRef.current;
141
- if (!video)
142
- return;
143
- video.volume = volume;
144
- if (volume > 0 && state.isMuted) {
145
- video.muted = false;
146
- }
147
- };
148
- const toggleFullscreen = () => {
149
- const container = containerRef.current;
150
- if (!container)
151
- return;
152
- if (!state.isFullscreen) {
153
- if (container.requestFullscreen) {
154
- container.requestFullscreen();
155
- }
156
- }
157
- else {
158
- if (document.exitFullscreen) {
159
- document.exitFullscreen();
160
- }
161
- }
162
- setState(prev => ({ ...prev, isFullscreen: !prev.isFullscreen }));
163
- };
164
- const seekTo = (time) => {
165
- const video = videoRef.current;
166
- if (!video || state.duration === 0)
167
- return;
168
- video.currentTime = Math.max(0, Math.min(state.duration, time));
169
- };
170
- const controls = {
171
- togglePlay,
172
- seekForward,
173
- seekBackward,
174
- toggleMute,
175
- setVolume,
176
- toggleFullscreen,
177
- seekTo
178
- };
179
- return {
180
- videoRef,
181
- state,
182
- controls
183
- };
184
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"FullscreenIcon.d.ts","sourceRoot":"","sources":["FullscreenIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,8KAiC9C"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useIconTheme, useCustomIcon } from '../provider';
3
- export function FullscreenIcon(props) {
4
- const theme = useIconTheme();
5
- const customIcon = useCustomIcon('fullscreen');
6
- if (customIcon) {
7
- return customIcon(props);
8
- }
9
- const { size = theme.size, color = theme.color, strokeWidth = theme.strokeWidth, className = theme.className, ...rest } = props;
10
- return (_jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", className: className, "aria-hidden": "true", ...rest, children: _jsx("path", { d: "M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3" }) }));
11
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingsIcon.d.ts","sourceRoot":"","sources":["SettingsIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,8KAkC5C"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useIconTheme, useCustomIcon } from '../provider';
3
- export function SettingsIcon(props) {
4
- const theme = useIconTheme();
5
- const customIcon = useCustomIcon('settings');
6
- if (customIcon) {
7
- return customIcon(props);
8
- }
9
- const { size = theme.size, color = theme.color, strokeWidth = theme.strokeWidth, className = theme.className, ...rest } = props;
10
- return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", className: className, "aria-hidden": "true", ...rest, children: [_jsx("circle", { cx: "12", cy: "12", r: "3" }), _jsx("path", { d: "M12 1v6m0 6v6m11-7h-6m-6 0H1m10.5-4A1.5 1.5 0 0 1 15 12a1.5 1.5 0 0 1-3.5 0 1.5 1.5 0 0 1 3.5 0Z" })] }));
11
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadingIcon.d.ts","sourceRoot":"","sources":["LoadingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,8KAuC3C"}