@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,251 +0,0 @@
1
- "use client";
2
- import { useEffect, useRef } from "react";
3
- import { useMediaState } from "./use-media-state";
4
- export function useMediaPlayer(options) {
5
- const mediaRef = useRef(null);
6
- const containerRef = useRef(null);
7
- const { state, setPlaying, setCurrentTime, setDuration, setVolume, setMuted, setLoading, setFullscreen, setError, setBuffered } = useMediaState();
8
- // Initialize media element with options
9
- useEffect(() => {
10
- const media = mediaRef.current;
11
- if (!media)
12
- return;
13
- // Set initial properties
14
- if (options.volume !== undefined) {
15
- media.volume = options.volume;
16
- setVolume(options.volume);
17
- }
18
- if (options.muted !== undefined) {
19
- media.muted = options.muted;
20
- setMuted(options.muted);
21
- }
22
- if (options.autoPlay !== undefined) {
23
- media.autoplay = options.autoPlay;
24
- }
25
- if (options.loop !== undefined) {
26
- media.loop = options.loop;
27
- }
28
- if (options.preload !== undefined) {
29
- media.preload = options.preload;
30
- }
31
- if (options.crossOrigin !== undefined) {
32
- media.crossOrigin = options.crossOrigin;
33
- }
34
- }, [options, setVolume, setMuted]);
35
- // Event handlers
36
- const handlePlay = () => {
37
- setPlaying(true);
38
- options.onPlay?.();
39
- };
40
- const handlePause = () => {
41
- setPlaying(false);
42
- options.onPause?.();
43
- };
44
- const handleTimeUpdate = () => {
45
- const media = mediaRef.current;
46
- if (!media)
47
- return;
48
- setCurrentTime(media.currentTime);
49
- options.onTimeUpdate?.(media.currentTime);
50
- };
51
- const handleDurationChange = () => {
52
- const media = mediaRef.current;
53
- if (!media)
54
- return;
55
- setDuration(media.duration);
56
- options.onDurationChange?.(media.duration);
57
- };
58
- const handleVolumeChange = () => {
59
- const media = mediaRef.current;
60
- if (!media)
61
- return;
62
- setVolume(media.volume);
63
- setMuted(media.muted);
64
- options.onVolumeChange?.(media.volume);
65
- };
66
- const handleLoadStart = () => {
67
- setLoading(true);
68
- setError(null);
69
- options.onLoadStart?.();
70
- };
71
- const handleLoadedData = () => {
72
- setLoading(false);
73
- options.onLoadedData?.();
74
- };
75
- const handleError = () => {
76
- const media = mediaRef.current;
77
- if (!media)
78
- return;
79
- const errorMessage = media.error?.message || "An error occurred while loading the media";
80
- setError(errorMessage);
81
- setLoading(false);
82
- options.onError?.(errorMessage);
83
- };
84
- const handleEnded = () => {
85
- setPlaying(false);
86
- options.onEnded?.();
87
- };
88
- const handleProgress = () => {
89
- const media = mediaRef.current;
90
- if (!media)
91
- return;
92
- setBuffered(media.buffered);
93
- };
94
- // Attach event listeners
95
- useEffect(() => {
96
- const media = mediaRef.current;
97
- if (!media)
98
- return;
99
- media.addEventListener("play", handlePlay);
100
- media.addEventListener("pause", handlePause);
101
- media.addEventListener("timeupdate", handleTimeUpdate);
102
- media.addEventListener("durationchange", handleDurationChange);
103
- media.addEventListener("volumechange", handleVolumeChange);
104
- media.addEventListener("loadstart", handleLoadStart);
105
- media.addEventListener("loadeddata", handleLoadedData);
106
- media.addEventListener("error", handleError);
107
- media.addEventListener("ended", handleEnded);
108
- media.addEventListener("progress", handleProgress);
109
- return () => {
110
- media.removeEventListener("play", handlePlay);
111
- media.removeEventListener("pause", handlePause);
112
- media.removeEventListener("timeupdate", handleTimeUpdate);
113
- media.removeEventListener("durationchange", handleDurationChange);
114
- media.removeEventListener("volumechange", handleVolumeChange);
115
- media.removeEventListener("loadstart", handleLoadStart);
116
- media.removeEventListener("loadeddata", handleLoadedData);
117
- media.removeEventListener("error", handleError);
118
- media.removeEventListener("ended", handleEnded);
119
- media.removeEventListener("progress", handleProgress);
120
- };
121
- }, [
122
- handlePlay,
123
- handlePause,
124
- handleTimeUpdate,
125
- handleDurationChange,
126
- handleVolumeChange,
127
- handleLoadStart,
128
- handleLoadedData,
129
- handleError,
130
- handleEnded,
131
- handleProgress
132
- ]);
133
- // Control functions
134
- const play = async () => {
135
- const media = mediaRef.current;
136
- if (!media)
137
- return;
138
- try {
139
- await media.play();
140
- }
141
- catch (error) {
142
- console.error("Failed to play media:", error);
143
- setError("Failed to play media");
144
- }
145
- };
146
- const pause = () => {
147
- const media = mediaRef.current;
148
- if (!media)
149
- return;
150
- media.pause();
151
- };
152
- const toggle = () => {
153
- if (state.isPlaying) {
154
- pause();
155
- }
156
- else {
157
- play();
158
- }
159
- };
160
- const seek = (time) => {
161
- const media = mediaRef.current;
162
- if (!media)
163
- return;
164
- media.currentTime = Math.max(0, Math.min(time, media.duration || 0));
165
- };
166
- const setVolumeControl = (volume) => {
167
- const media = mediaRef.current;
168
- if (!media)
169
- return;
170
- const clampedVolume = Math.max(0, Math.min(1, volume));
171
- media.volume = clampedVolume;
172
- };
173
- const mute = () => {
174
- const media = mediaRef.current;
175
- if (!media)
176
- return;
177
- media.muted = true;
178
- };
179
- const unmute = () => {
180
- const media = mediaRef.current;
181
- if (!media)
182
- return;
183
- media.muted = false;
184
- };
185
- const toggleMute = () => {
186
- const media = mediaRef.current;
187
- if (!media)
188
- return;
189
- media.muted = !media.muted;
190
- };
191
- const enterFullscreen = async () => {
192
- const container = containerRef.current;
193
- if (!container || !document.fullscreenEnabled)
194
- return;
195
- try {
196
- await container.requestFullscreen();
197
- setFullscreen(true);
198
- }
199
- catch (error) {
200
- console.error("Failed to enter fullscreen:", error);
201
- }
202
- };
203
- const exitFullscreen = async () => {
204
- if (!document.fullscreenElement)
205
- return;
206
- try {
207
- await document.exitFullscreen();
208
- setFullscreen(false);
209
- }
210
- catch (error) {
211
- console.error("Failed to exit fullscreen:", error);
212
- }
213
- };
214
- const toggleFullscreen = () => {
215
- if (document.fullscreenElement) {
216
- exitFullscreen();
217
- }
218
- else {
219
- enterFullscreen();
220
- }
221
- };
222
- // Listen for fullscreen changes
223
- useEffect(() => {
224
- const handleFullscreenChange = () => {
225
- setFullscreen(!!document.fullscreenElement);
226
- };
227
- document.addEventListener("fullscreenchange", handleFullscreenChange);
228
- return () => {
229
- document.removeEventListener("fullscreenchange", handleFullscreenChange);
230
- };
231
- }, [setFullscreen]);
232
- const controls = {
233
- play,
234
- pause,
235
- toggle,
236
- seek,
237
- setVolume: setVolumeControl,
238
- mute,
239
- unmute,
240
- toggleMute,
241
- enterFullscreen,
242
- exitFullscreen,
243
- toggleFullscreen
244
- };
245
- return {
246
- state,
247
- controls,
248
- mediaRef,
249
- containerRef
250
- };
251
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-media-state.d.ts","sourceRoot":"","sources":["use-media-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAOtD,wBAAgB,aAAa;;2BAaE,OAAO,CAAC,gBAAgB,CAAC;4BAIxB,OAAO;kCAID,MAAM;4BAIZ,MAAM;wBAIV,MAAM;wBAIN,OAAO;4BAIH,OAAO;kCAID,OAAO;sBAInB,MAAM,GAAG,IAAI;4BAIP,UAAU,GAAG,IAAI;EAiBhD;AAGD,wBAAgB,qBAAqB,QAkGpC;AAGD,wBAAgB,qBAAqB,QASpC"}
@@ -1,162 +0,0 @@
1
- "use client";
2
- import { useState } from "react";
3
- import { useMediaStore } from "../context/media-context";
4
- import { useMediaOptimistic } from "./use-media-optimistic";
5
- import { useMediaActions } from "./use-media-actions";
6
- // Legacy hook for backward compatibility
7
- export function useMediaState() {
8
- const [state, setState] = useState({
9
- isPlaying: false,
10
- currentTime: 0,
11
- duration: 0,
12
- volume: 1,
13
- isMuted: false,
14
- isLoading: false,
15
- isFullscreen: false,
16
- error: null,
17
- buffered: null
18
- });
19
- const updateState = (updates) => {
20
- setState((prev) => ({ ...prev, ...updates }));
21
- };
22
- const setPlaying = (isPlaying) => {
23
- updateState({ isPlaying });
24
- };
25
- const setCurrentTime = (currentTime) => {
26
- updateState({ currentTime });
27
- };
28
- const setDuration = (duration) => {
29
- updateState({ duration });
30
- };
31
- const setVolume = (volume) => {
32
- updateState({ volume: Math.max(0, Math.min(1, volume)) });
33
- };
34
- const setMuted = (isMuted) => {
35
- updateState({ isMuted });
36
- };
37
- const setLoading = (isLoading) => {
38
- updateState({ isLoading });
39
- };
40
- const setFullscreen = (isFullscreen) => {
41
- updateState({ isFullscreen });
42
- };
43
- const setError = (error) => {
44
- updateState({ error });
45
- };
46
- const setBuffered = (buffered) => {
47
- updateState({ buffered });
48
- };
49
- return {
50
- state,
51
- updateState,
52
- setPlaying,
53
- setCurrentTime,
54
- setDuration,
55
- setVolume,
56
- setMuted,
57
- setLoading,
58
- setFullscreen,
59
- setError,
60
- setBuffered
61
- };
62
- }
63
- // React 19 enhanced media state hook
64
- export function useEnhancedMediaState() {
65
- const store = useMediaStore();
66
- // Check if this is an enhanced store
67
- const isEnhanced = 'getOptimisticState' in store;
68
- if (!isEnhanced) {
69
- // Fall back to regular media state if not enhanced
70
- return useMediaState();
71
- }
72
- // Cast to enhanced store type
73
- const enhancedStore = store;
74
- // Use React 19 optimistic updates
75
- const optimisticState = useMediaOptimistic(enhancedStore);
76
- // Get action handlers with React 19 features
77
- const actions = useMediaActions(enhancedStore);
78
- return {
79
- // State (optimistic values for immediate UI feedback)
80
- state: optimisticState.state,
81
- actualState: optimisticState.actualState,
82
- // Individual state selectors
83
- isPlaying: optimisticState.isPlaying,
84
- currentTime: optimisticState.currentTime,
85
- duration: optimisticState.state.duration,
86
- volume: optimisticState.volume,
87
- isMuted: optimisticState.isMuted,
88
- isLoading: optimisticState.isBuffering,
89
- isFullscreen: optimisticState.isFullscreen,
90
- error: optimisticState.state.error,
91
- buffered: optimisticState.state.buffered,
92
- // Computed values
93
- progress: optimisticState.progress,
94
- formattedTime: optimisticState.formattedTime,
95
- formattedDuration: optimisticState.formattedDuration,
96
- // Actions with optimistic updates
97
- actions,
98
- // Action state for loading/error handling
99
- isActionLoading: actions.isLoading,
100
- actionError: actions.errorMessage,
101
- retryLastAction: actions.retryLastAction,
102
- // Legacy compatibility methods
103
- updateState: (updates) => {
104
- // Map legacy updates to new actions
105
- if ('isPlaying' in updates) {
106
- updates.isPlaying ? actions.play() : actions.pause();
107
- }
108
- if ('currentTime' in updates) {
109
- actions.setCurrentTime(updates.currentTime);
110
- }
111
- if ('duration' in updates) {
112
- actions.setDuration(updates.duration);
113
- }
114
- if ('volume' in updates) {
115
- actions.setVolume(updates.volume);
116
- }
117
- if ('isMuted' in updates) {
118
- updates.isMuted ? actions.mute() : actions.unmute();
119
- }
120
- if ('isLoading' in updates) {
121
- actions.setLoading(updates.isLoading);
122
- }
123
- if ('isFullscreen' in updates) {
124
- updates.isFullscreen ? actions.enterFullscreen() : actions.exitFullscreen();
125
- }
126
- if ('error' in updates) {
127
- actions.setError(updates.error ?? null);
128
- }
129
- if ('buffered' in updates) {
130
- actions.setBuffered(updates.buffered ?? null);
131
- }
132
- },
133
- // Individual action methods for legacy compatibility
134
- setPlaying: (isPlaying) => {
135
- isPlaying ? actions.play(true) : actions.pause(true); // Use optimistic updates
136
- },
137
- setCurrentTime: (time) => actions.setCurrentTime(time),
138
- setDuration: (duration) => actions.setDuration(duration),
139
- setVolume: (volume) => actions.setVolume(volume, true),
140
- setMuted: (muted) => {
141
- muted ? actions.mute(true) : actions.unmute(true);
142
- },
143
- setLoading: (loading) => actions.setLoading(loading),
144
- setFullscreen: (fullscreen) => {
145
- fullscreen ? actions.enterFullscreen(true) : actions.exitFullscreen(true);
146
- },
147
- setError: (error) => actions.setError(error),
148
- setBuffered: (buffered) => actions.setBuffered(buffered)
149
- };
150
- }
151
- // Hook that automatically chooses between legacy and enhanced based on context availability
152
- export function useAdaptiveMediaState() {
153
- try {
154
- // Try to use the enhanced version if MediaStore context is available
155
- return useEnhancedMediaState();
156
- }
157
- catch (error) {
158
- // Fall back to legacy version if not in MediaProvider context
159
- console.warn('MediaStore context not available, using legacy state management');
160
- return useMediaState();
161
- }
162
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-memory-optimization.d.ts","sourceRoot":"","sources":["use-memory-optimization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAGtE,wBAAgB,qBAAqB,CAAC,OAAO,GAAE;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CAClB;;;;;;;;;;;;;;gCAwGK,OAAO,SACT,MAAM,WACJ,aAAa,YACZ,uBAAuB;4BA0BS,MAAM,IAAI,SAAS,MAAM;2BAW1B,MAAM,IAAI,SAAS,MAAM;sCAWd,oBAAoB;4BAW9B,gBAAgB;yBAgCrC,MAAM;EAQ5B;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;;wCAmC7F,MAAM,WACJ,aAAa,YACZ,uBAAuB;EAiBlC;AAGD,wBAAgB,wBAAwB;;;;;;;EAiFvC"}
@@ -1,288 +0,0 @@
1
- "use client";
2
- import React, { useEffect, useRef, useCallback } from "react";
3
- // Memory optimization hook for media players
4
- export function useMemoryOptimization(options = {}) {
5
- const { maxMemoryUsage = 100, // 100MB default
6
- cleanupInterval = 30000, // 30 seconds default
7
- enableGC = true, monitorMemory = true } = options;
8
- const cleanupTimeoutRef = useRef();
9
- const observersRef = useRef(new Set());
10
- const eventListenersRef = useRef(new Map());
11
- const intervalRefs = useRef(new Set());
12
- const animationFrameRefs = useRef(new Set());
13
- // Get current memory usage
14
- const getMemoryUsage = useCallback(() => {
15
- if (typeof window === 'undefined' || !('memory' in performance)) {
16
- return { used: 0, total: 0, limit: 0 };
17
- }
18
- const memory = performance.memory;
19
- return {
20
- used: memory.usedJSHeapSize,
21
- total: memory.totalJSHeapSize,
22
- limit: memory.jsHeapSizeLimit
23
- };
24
- }, []);
25
- // Memory monitoring state
26
- const [memoryStats, setMemoryStats] = React.useState({
27
- used: 0,
28
- total: 0,
29
- limit: 0,
30
- usage: 0,
31
- isHighUsage: false
32
- });
33
- // Memory monitoring
34
- useEffect(() => {
35
- if (!monitorMemory)
36
- return;
37
- const checkMemory = () => {
38
- const memory = getMemoryUsage();
39
- const usage = (memory.used / 1024 / 1024); // Convert to MB
40
- const isHighUsage = usage > maxMemoryUsage;
41
- setMemoryStats({
42
- ...memory,
43
- usage,
44
- isHighUsage
45
- });
46
- // Trigger cleanup if memory usage is high
47
- if (isHighUsage && enableGC) {
48
- performCleanup();
49
- }
50
- };
51
- checkMemory();
52
- const interval = setInterval(checkMemory, cleanupInterval);
53
- intervalRefs.current.add(interval);
54
- return () => {
55
- clearInterval(interval);
56
- intervalRefs.current.delete(interval);
57
- };
58
- }, [monitorMemory, getMemoryUsage, maxMemoryUsage, enableGC, cleanupInterval]);
59
- // Cleanup function
60
- const performCleanup = useCallback(() => {
61
- // Clear all timeouts
62
- intervalRefs.current.forEach(timeout => {
63
- clearTimeout(timeout);
64
- });
65
- intervalRefs.current.clear();
66
- // Cancel all animation frames
67
- animationFrameRefs.current.forEach(frameId => {
68
- cancelAnimationFrame(frameId);
69
- });
70
- animationFrameRefs.current.clear();
71
- // Disconnect all observers
72
- observersRef.current.forEach(observer => {
73
- observer.disconnect();
74
- });
75
- observersRef.current.clear();
76
- // Remove all event listeners
77
- eventListenersRef.current.forEach((listeners, element) => {
78
- listeners.forEach(({ event, handler }) => {
79
- element.removeEventListener(event, handler);
80
- });
81
- });
82
- eventListenersRef.current.clear();
83
- // Trigger garbage collection if available
84
- if (enableGC && 'gc' in window) {
85
- window.gc();
86
- }
87
- }, [enableGC]);
88
- // Safe event listener management
89
- const addEventListener = useCallback((element, event, handler, options) => {
90
- element.addEventListener(event, handler, options);
91
- if (!eventListenersRef.current.has(element)) {
92
- eventListenersRef.current.set(element, []);
93
- }
94
- eventListenersRef.current.get(element).push({ event, handler });
95
- // Return cleanup function
96
- return () => {
97
- element.removeEventListener(event, handler);
98
- const listeners = eventListenersRef.current.get(element);
99
- if (listeners) {
100
- const index = listeners.findIndex(l => l.event === event && l.handler === handler);
101
- if (index > -1) {
102
- listeners.splice(index, 1);
103
- }
104
- if (listeners.length === 0) {
105
- eventListenersRef.current.delete(element);
106
- }
107
- }
108
- };
109
- }, []);
110
- // Safe interval management
111
- const setInterval = useCallback((callback, delay) => {
112
- const timeoutId = setInterval(callback, delay);
113
- intervalRefs.current.add(timeoutId);
114
- return () => {
115
- clearInterval(timeoutId);
116
- intervalRefs.current.delete(timeoutId);
117
- };
118
- }, []);
119
- // Safe timeout management
120
- const setTimeout = useCallback((callback, delay) => {
121
- const timeoutId = setTimeout(callback, delay);
122
- intervalRefs.current.add(timeoutId);
123
- return () => {
124
- clearTimeout(timeoutId);
125
- intervalRefs.current.delete(timeoutId);
126
- };
127
- }, []);
128
- // Safe animation frame management
129
- const requestAnimationFrame = useCallback((callback) => {
130
- const frameId = requestAnimationFrame(callback);
131
- animationFrameRefs.current.add(frameId);
132
- return () => {
133
- cancelAnimationFrame(frameId);
134
- animationFrameRefs.current.delete(frameId);
135
- };
136
- }, []);
137
- // Safe observer management
138
- const addObserver = useCallback((observer) => {
139
- observersRef.current.add(observer);
140
- return () => {
141
- observer.disconnect();
142
- observersRef.current.delete(observer);
143
- };
144
- }, []);
145
- // Cleanup on unmount
146
- useEffect(() => {
147
- return () => {
148
- performCleanup();
149
- };
150
- }, [performCleanup]);
151
- return {
152
- // Memory stats
153
- memoryStats,
154
- getMemoryUsage,
155
- // Cleanup functions
156
- performCleanup,
157
- // Safe API functions
158
- addEventListener,
159
- setInterval,
160
- setTimeout,
161
- requestAnimationFrame,
162
- addObserver,
163
- // Utilities
164
- formatBytes: (bytes) => {
165
- if (bytes === 0)
166
- return '0 Bytes';
167
- const k = 1024;
168
- const sizes = ['Bytes', 'KB', 'MB', 'GB'];
169
- const i = Math.floor(Math.log(bytes) / Math.log(k));
170
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
171
- }
172
- };
173
- }
174
- // Resource cleanup hook for media elements
175
- export function useMediaResourceCleanup(mediaRef) {
176
- const { addEventListener, performCleanup } = useMemoryOptimization();
177
- // Track resource cleanup
178
- const cleanupResources = useCallback(() => {
179
- const media = mediaRef.current;
180
- if (!media)
181
- return;
182
- // Stop media playback
183
- if (!media.paused) {
184
- _media.pause();
185
- }
186
- // Clear source
187
- if (media.src) {
188
- media.src = '';
189
- media.load();
190
- }
191
- // Remove source elements
192
- while (media.firstChild) {
193
- media.removeChild(media.firstChild);
194
- }
195
- // Clear any pending seeks
196
- media.currentTime = 0;
197
- // Clear buffered data
198
- if ('clearBuffered' in media) {
199
- media.clearBuffered();
200
- }
201
- }, [mediaRef]);
202
- // Enhanced event listener registration
203
- const registerMediaEventListener = useCallback((event, handler, options) => {
204
- const media = mediaRef.current;
205
- if (!media)
206
- return () => { };
207
- return addEventListener(media, event, handler, options);
208
- }, [mediaRef, addEventListener]);
209
- // Cleanup on unmount
210
- useEffect(() => {
211
- return cleanupResources;
212
- }, [cleanupResources]);
213
- return {
214
- cleanupResources,
215
- registerMediaEventListener
216
- };
217
- }
218
- // Performance monitoring hook
219
- export function usePerformanceMonitoring() {
220
- const [metrics, setMetrics] = React.useState({
221
- fps: 0,
222
- frameDrops: 0,
223
- longTasks: 0,
224
- totalLongTaskDuration: 0
225
- });
226
- const frameCountRef = useRef(0);
227
- const lastFrameTimeRef = useRef(performance.now());
228
- const longTaskObserverRef = useRef();
229
- // FPS monitoring
230
- useEffect(() => {
231
- let rafId;
232
- const measureFrame = () => {
233
- frameCountRef.current++;
234
- const now = performance.now();
235
- // Calculate FPS every second
236
- if (now - lastFrameTimeRef.current >= 1000) {
237
- const fps = Math.round((frameCountRef.current * 1000) / (now - lastFrameTimeRef.current));
238
- const expectedFrames = Math.round((now - lastFrameTimeRef.current) / 16.67); // 60fps
239
- const frameDrops = Math.max(0, expectedFrames - frameCountRef.current);
240
- setMetrics(prev => ({
241
- ...prev,
242
- fps,
243
- frameDrops: prev.frameDrops + frameDrops
244
- }));
245
- frameCountRef.current = 0;
246
- lastFrameTimeRef.current = now;
247
- }
248
- rafId = requestAnimationFrame(measureFrame);
249
- };
250
- rafId = requestAnimationFrame(measureFrame);
251
- return () => {
252
- cancelAnimationFrame(rafId);
253
- };
254
- }, []);
255
- // Long task monitoring
256
- useEffect(() => {
257
- if (!('PerformanceObserver' in window))
258
- return;
259
- try {
260
- const observer = new PerformanceObserver((list) => {
261
- for (const entry of list.getEntries()) {
262
- if (entry.duration > 50) { // Long task threshold
263
- setMetrics(prev => ({
264
- ...prev,
265
- longTasks: prev.longTasks + 1,
266
- totalLongTaskDuration: prev.totalLongTaskDuration + entry.duration
267
- }));
268
- }
269
- }
270
- });
271
- observer.observe({ entryTypes: ['longtask'] });
272
- longTaskObserverRef.current = observer;
273
- return () => {
274
- observer.disconnect();
275
- };
276
- }
277
- catch (error) {
278
- console.warn('Long task monitoring not supported:', error);
279
- }
280
- }, []);
281
- return {
282
- ...metrics,
283
- averageLongTaskDuration: metrics.longTasks > 0
284
- ? metrics.totalLongTaskDuration / metrics.longTasks
285
- : 0,
286
- isPerformanceGood: metrics.fps >= 50 && metrics.frameDrops < 5
287
- };
288
- }