@therealtinhtute/baroiplayer 1.0.6 → 1.0.7

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 (595) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/package.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/context/media.js +0 -2
  5. package/dist/context/media.js.map +0 -1
  6. package/dist/context/media.mjs +0 -15
  7. package/dist/context/media.mjs.map +0 -1
  8. package/dist/context/store.js +0 -2
  9. package/dist/context/store.js.map +0 -1
  10. package/dist/context/store.mjs +0 -5
  11. package/dist/context/store.mjs.map +0 -1
  12. package/dist/context-Af84FynT.js +0 -1179
  13. package/dist/context-Af84FynT.js.map +0 -1
  14. package/dist/context-CwZnPdz0.cjs +0 -23
  15. package/dist/context-CwZnPdz0.cjs.map +0 -1
  16. package/dist/core-events-B5W_j8yU.js +0 -480
  17. package/dist/core-events-B5W_j8yU.js.map +0 -1
  18. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  19. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  20. package/dist/core-plugins-Bq9KLany.js +0 -696
  21. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  22. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  23. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  24. package/dist/core.js +0 -37
  25. package/dist/core.js.map +0 -1
  26. package/dist/core.mjs +0 -1217
  27. package/dist/core.mjs.map +0 -1
  28. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  29. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  30. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  31. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  32. package/dist/hooks-BCMilGRf.cjs +0 -4
  33. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  34. package/dist/hooks-BPtHV1ZT.js +0 -2042
  35. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  36. package/dist/index.js.map +0 -1
  37. package/dist/index.mjs.map +0 -1
  38. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  39. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  40. package/dist/minimal-components-BmqRefl1.js +0 -2002
  41. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  42. package/dist/mona-loading.gif +0 -0
  43. package/dist/performance-monitor--rzKTlbj.js +0 -302
  44. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  45. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  46. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  47. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  48. package/dist/src/adapters/videojs-adapter.js +0 -350
  49. package/dist/src/assets/mona-loading.gif +0 -0
  50. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  51. package/dist/src/components/AnimateLoading.js +0 -41
  52. package/dist/src/components/LoadingState.d.ts.map +0 -1
  53. package/dist/src/components/LoadingState.js +0 -111
  54. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  55. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  56. package/dist/src/components/audio-player.d.ts.map +0 -1
  57. package/dist/src/components/audio-player.js +0 -31
  58. package/dist/src/components/basic/index.d.ts.map +0 -1
  59. package/dist/src/components/basic/index.js +0 -29
  60. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  61. package/dist/src/components/enhanced/advanced-features.js +0 -64
  62. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  63. package/dist/src/components/enhanced/debug-panel.js +0 -94
  64. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  65. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  66. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  67. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  68. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  69. package/dist/src/components/enhanced/error-handling.js +0 -153
  70. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  71. package/dist/src/components/enhanced/index.js +0 -10
  72. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  73. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  74. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  75. package/dist/src/components/examples/basic-video-player.js +0 -16
  76. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  77. package/dist/src/components/examples/custom-controls-example.js +0 -12
  78. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  79. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  80. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  81. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  82. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  83. package/dist/src/components/examples/loading-states-demo.js +0 -41
  84. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  85. package/dist/src/components/examples/react-19-demo.js +0 -104
  86. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  87. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  88. package/dist/src/components/icon-demo.d.ts.map +0 -1
  89. package/dist/src/components/icon-demo.js +0 -16
  90. package/dist/src/components/icons/index.d.ts.map +0 -1
  91. package/dist/src/components/icons/index.js +0 -59
  92. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  93. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  94. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  95. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  96. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  97. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  98. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  99. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  100. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  101. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  102. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  103. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  104. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  105. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  106. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  107. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  108. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  114. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  118. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  120. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  122. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  132. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  134. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  140. package/dist/src/components/legacy.d.ts.map +0 -1
  141. package/dist/src/components/legacy.js +0 -52
  142. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  143. package/dist/src/components/media-metadata-display.js +0 -20
  144. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  145. package/dist/src/components/media-player-audio.js +0 -18
  146. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  147. package/dist/src/components/media-player-controls.js +0 -150
  148. package/dist/src/components/media-player-error.d.ts.map +0 -1
  149. package/dist/src/components/media-player-error.js +0 -85
  150. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  151. package/dist/src/components/media-player-fullscreen.js +0 -68
  152. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  153. package/dist/src/components/media-player-hls.js +0 -20
  154. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  155. package/dist/src/components/media-player-loading.js +0 -53
  156. package/dist/src/components/media-player-play.d.ts.map +0 -1
  157. package/dist/src/components/media-player-play.js +0 -44
  158. package/dist/src/components/media-player-root.d.ts.map +0 -1
  159. package/dist/src/components/media-player-root.js +0 -243
  160. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  161. package/dist/src/components/media-player-seek.js +0 -92
  162. package/dist/src/components/media-player-time.d.ts.map +0 -1
  163. package/dist/src/components/media-player-time.js +0 -57
  164. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  165. package/dist/src/components/media-player-tooltip.js +0 -14
  166. package/dist/src/components/media-player-video.d.ts.map +0 -1
  167. package/dist/src/components/media-player-video.js +0 -18
  168. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  169. package/dist/src/components/media-player-volume.js +0 -88
  170. package/dist/src/components/media-player.d.ts.map +0 -1
  171. package/dist/src/components/media-player.js +0 -67
  172. package/dist/src/components/media-suspense.d.ts.map +0 -1
  173. package/dist/src/components/media-suspense.js +0 -173
  174. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  175. package/dist/src/components/player-settings-form.js +0 -46
  176. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  177. package/dist/src/components/react-player-wrapper.js +0 -163
  178. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  179. package/dist/src/components/simple-video-player.js +0 -41
  180. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  181. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  182. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  183. package/dist/src/components/ui/fullscreen-button.js +0 -21
  184. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  185. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  186. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  187. package/dist/src/components/ui/play-button.js +0 -26
  188. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  189. package/dist/src/components/ui/seek-bar.js +0 -54
  190. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  191. package/dist/src/components/ui/time-display.js +0 -18
  192. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  193. package/dist/src/components/ui/volume-control.js +0 -71
  194. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  195. package/dist/src/components/unified/base-media-player.js +0 -104
  196. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  197. package/dist/src/components/unified/media-player.js +0 -41
  198. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  199. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  200. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  201. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  202. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  203. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  204. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  205. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  206. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  207. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  208. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  209. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  210. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  211. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  212. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  213. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  214. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  216. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  218. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  220. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  222. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  224. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  226. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  228. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  230. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  232. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  234. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  236. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  238. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  240. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/index.js +0 -8
  242. package/dist/src/components/video-player.d.ts.map +0 -1
  243. package/dist/src/components/video-player.js +0 -38
  244. package/dist/src/context/error-handling.d.ts.map +0 -1
  245. package/dist/src/context/error-handling.js +0 -300
  246. package/dist/src/context/media-context.d.ts.map +0 -1
  247. package/dist/src/context/media-context.js +0 -121
  248. package/dist/src/context/media-provider.d.ts.map +0 -1
  249. package/dist/src/context/media-provider.js +0 -164
  250. package/dist/src/context/media-store.d.ts.map +0 -1
  251. package/dist/src/context/media-store.js +0 -273
  252. package/dist/src/context/persistence.d.ts.map +0 -1
  253. package/dist/src/context/persistence.js +0 -356
  254. package/dist/src/core/events/event-system.d.ts.map +0 -1
  255. package/dist/src/core/events/event-system.js +0 -288
  256. package/dist/src/core/events/hooks.d.ts.map +0 -1
  257. package/dist/src/core/events/hooks.js +0 -198
  258. package/dist/src/core/events/index.d.ts.map +0 -1
  259. package/dist/src/core/events/index.js +0 -7
  260. package/dist/src/core/events/middleware.d.ts.map +0 -1
  261. package/dist/src/core/events/middleware.js +0 -219
  262. package/dist/src/core/index.d.ts.map +0 -1
  263. package/dist/src/core/index.js +0 -15
  264. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  265. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  266. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  267. package/dist/src/core/performance/cicd.js +0 -83
  268. package/dist/src/core/performance/index.d.ts.map +0 -1
  269. package/dist/src/core/performance/index.js +0 -14
  270. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  271. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  272. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  273. package/dist/src/core/performance/performance-budgets.js +0 -326
  274. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  275. package/dist/src/core/performance/performance-monitor.js +0 -297
  276. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  277. package/dist/src/core/performance/performance-testing.js +0 -314
  278. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  279. package/dist/src/core/plugins/base-plugin.js +0 -151
  280. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  281. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  282. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  283. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  284. package/dist/src/core/plugins/index.d.ts.map +0 -1
  285. package/dist/src/core/plugins/index.js +0 -9
  286. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  287. package/dist/src/core/plugins/registry.js +0 -261
  288. package/dist/src/core/plugins/types.d.ts.map +0 -1
  289. package/dist/src/core/plugins/types.js +0 -31
  290. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  291. package/dist/src/core/plugins/utils.js +0 -274
  292. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  293. package/dist/src/core/progressive-loading.js +0 -239
  294. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  295. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  296. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  297. package/dist/src/core/providers/service-provider.js +0 -105
  298. package/dist/src/core/utils.d.ts.map +0 -1
  299. package/dist/src/core/utils.js +0 -21
  300. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  301. package/dist/src/features/media-session/media-session-manager.js +0 -331
  302. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  303. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  304. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  305. package/dist/src/features/playlist/playlist-manager.js +0 -475
  306. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  307. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  308. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  309. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  310. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  311. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  312. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  313. package/dist/src/hooks/accessibility/index.js +0 -4
  314. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  315. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  316. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  317. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  318. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  319. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  320. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  321. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  322. package/dist/src/hooks/core/index.d.ts.map +0 -1
  323. package/dist/src/hooks/core/index.js +0 -19
  324. package/dist/src/hooks/legacy.d.ts.map +0 -1
  325. package/dist/src/hooks/legacy.js +0 -17
  326. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  327. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  328. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  329. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  330. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  331. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  332. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  333. package/dist/src/hooks/use-media-actions.js +0 -121
  334. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  335. package/dist/src/hooks/use-media-metadata.js +0 -74
  336. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  337. package/dist/src/hooks/use-media-optimistic.js +0 -205
  338. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  339. package/dist/src/hooks/use-media-player.js +0 -251
  340. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  341. package/dist/src/hooks/use-media-state.js +0 -162
  342. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  343. package/dist/src/hooks/use-memory-optimization.js +0 -288
  344. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  345. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  346. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  347. package/dist/src/hooks/use-optimized-media.js +0 -211
  348. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  349. package/dist/src/hooks/use-touch-gestures.js +0 -289
  350. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  351. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  352. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  353. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  354. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  355. package/dist/src/hooks/useMediaControls.js +0 -44
  356. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  357. package/dist/src/hooks/useScreenshot.js +0 -56
  358. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  359. package/dist/src/hooks/useSubtitles.js +0 -73
  360. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  361. package/dist/src/hooks/useVideoPlayer.js +0 -184
  362. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  363. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  364. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  365. package/dist/src/icons/components/SettingsIcon.js +0 -11
  366. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  367. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  368. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  369. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  370. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  371. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  372. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  373. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  374. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  375. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  376. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  377. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  378. package/dist/src/icons/index.d.ts.map +0 -1
  379. package/dist/src/icons/index.js +0 -45
  380. package/dist/src/icons/provider.d.ts.map +0 -1
  381. package/dist/src/icons/provider.js +0 -37
  382. package/dist/src/icons/types.d.ts.map +0 -1
  383. package/dist/src/icons/types.js +0 -1
  384. package/dist/src/index-enhanced.d.ts.map +0 -1
  385. package/dist/src/index-enhanced.js +0 -16
  386. package/dist/src/index-legacy.d.ts.map +0 -1
  387. package/dist/src/index-legacy.js +0 -97
  388. package/dist/src/index.d.ts.map +0 -1
  389. package/dist/src/index.js +0 -90
  390. package/dist/src/index.minimal.d.ts.map +0 -1
  391. package/dist/src/index.minimal.js +0 -3
  392. package/dist/src/lib/deprecation.d.ts.map +0 -1
  393. package/dist/src/lib/deprecation.js +0 -31
  394. package/dist/src/lib/format-time.d.ts.map +0 -1
  395. package/dist/src/lib/format-time.js +0 -32
  396. package/dist/src/lib/index.d.ts.map +0 -1
  397. package/dist/src/lib/index.js +0 -3
  398. package/dist/src/lib/utils.d.ts.map +0 -1
  399. package/dist/src/lib/utils.js +0 -5
  400. package/dist/src/test/setup.d.ts.map +0 -1
  401. package/dist/src/test/setup.js +0 -65
  402. package/dist/src/types/events.d.ts.map +0 -1
  403. package/dist/src/types/events.js +0 -2
  404. package/dist/src/types/formats.d.ts.map +0 -1
  405. package/dist/src/types/formats.js +0 -63
  406. package/dist/src/types/index.d.ts.map +0 -1
  407. package/dist/src/types/index.js +0 -4
  408. package/dist/utils-Db13763z.cjs +0 -9
  409. package/dist/utils-Db13763z.cjs.map +0 -1
  410. package/dist/utils-nTO4AnHo.js +0 -2809
  411. package/dist/utils-nTO4AnHo.js.map +0 -1
  412. package/dist/utils.js +0 -2
  413. package/dist/utils.js.map +0 -1
  414. package/dist/utils.mjs +0 -7
  415. package/dist/utils.mjs.map +0 -1
  416. package/src/adapters/videojs-adapter.js +0 -350
  417. package/src/components/AnimateLoading.js +0 -41
  418. package/src/components/LoadingState.js +0 -111
  419. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  420. package/src/components/audio-player.js +0 -31
  421. package/src/components/basic/index.js +0 -29
  422. package/src/components/enhanced/advanced-features.js +0 -64
  423. package/src/components/enhanced/debug-panel.js +0 -94
  424. package/src/components/enhanced/enhanced-controls.js +0 -233
  425. package/src/components/enhanced/enhanced-media-player.js +0 -316
  426. package/src/components/enhanced/error-handling.js +0 -153
  427. package/src/components/enhanced/index.js +0 -10
  428. package/src/components/enhanced/media-player-enhanced.js +0 -250
  429. package/src/components/examples/basic-video-player.js +0 -16
  430. package/src/components/examples/custom-controls-example.js +0 -12
  431. package/src/components/examples/enhanced-controls-example.js +0 -18
  432. package/src/components/examples/enhanced-media-player-example.js +0 -13
  433. package/src/components/examples/loading-states-demo.js +0 -41
  434. package/src/components/examples/react-19-demo.js +0 -104
  435. package/src/components/examples/volume-orientation-demo.js +0 -31
  436. package/src/components/icon-demo.js +0 -16
  437. package/src/components/icons/index.js +0 -59
  438. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  439. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  440. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  441. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  442. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  443. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  444. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  445. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  446. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  447. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  448. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  449. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  450. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  451. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  452. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  453. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  454. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  455. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  456. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  457. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  458. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  459. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  460. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  461. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  462. package/src/components/legacy.js +0 -52
  463. package/src/components/media-metadata-display.js +0 -20
  464. package/src/components/media-player-audio.js +0 -18
  465. package/src/components/media-player-controls.js +0 -150
  466. package/src/components/media-player-error.js +0 -85
  467. package/src/components/media-player-fullscreen.js +0 -68
  468. package/src/components/media-player-hls.js +0 -20
  469. package/src/components/media-player-loading.js +0 -53
  470. package/src/components/media-player-play.js +0 -44
  471. package/src/components/media-player-root.js +0 -243
  472. package/src/components/media-player-seek.js +0 -92
  473. package/src/components/media-player-time.js +0 -57
  474. package/src/components/media-player-tooltip.js +0 -14
  475. package/src/components/media-player-video.js +0 -18
  476. package/src/components/media-player-volume.js +0 -88
  477. package/src/components/media-player.js +0 -67
  478. package/src/components/media-suspense.js +0 -173
  479. package/src/components/player-settings-form.js +0 -46
  480. package/src/components/react-player-wrapper.js +0 -163
  481. package/src/components/simple-video-player.js +0 -41
  482. package/src/components/ui/enhanced-seek-bar.js +0 -112
  483. package/src/components/ui/fullscreen-button.js +0 -21
  484. package/src/components/ui/media-resource-preloader.js +0 -295
  485. package/src/components/ui/play-button.js +0 -26
  486. package/src/components/ui/seek-bar.js +0 -54
  487. package/src/components/ui/time-display.js +0 -18
  488. package/src/components/ui/volume-control.js +0 -71
  489. package/src/components/unified/base-media-player.js +0 -104
  490. package/src/components/unified/media-player.js +0 -41
  491. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  492. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  493. package/src/components/variants/minimal/MinimalControls.js +0 -19
  494. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  495. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  496. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  497. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  498. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  499. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  500. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  501. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  502. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  503. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  504. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  505. package/src/components/variants/minimal/components/RightControls.js +0 -40
  506. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  507. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  508. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  509. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  510. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  511. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  512. package/src/components/variants/minimal/index.js +0 -8
  513. package/src/components/video-player.js +0 -38
  514. package/src/context/error-handling.js +0 -300
  515. package/src/context/media-context.js +0 -121
  516. package/src/context/media-provider.js +0 -164
  517. package/src/context/media-store.js +0 -273
  518. package/src/context/persistence.js +0 -356
  519. package/src/core/events/event-system.js +0 -288
  520. package/src/core/events/hooks.js +0 -198
  521. package/src/core/events/index.js +0 -7
  522. package/src/core/events/middleware.js +0 -219
  523. package/src/core/index.js +0 -15
  524. package/src/core/optimization/bundle-optimizer.js +0 -217
  525. package/src/core/performance/cicd.js +0 -83
  526. package/src/core/performance/index.js +0 -14
  527. package/src/core/performance/media-loading-optimizer.js +0 -404
  528. package/src/core/performance/performance-budgets.js +0 -326
  529. package/src/core/performance/performance-monitor.js +0 -297
  530. package/src/core/performance/performance-testing.js +0 -314
  531. package/src/core/plugins/base-plugin.js +0 -151
  532. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  533. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  534. package/src/core/plugins/index.js +0 -9
  535. package/src/core/plugins/registry.js +0 -261
  536. package/src/core/plugins/types.js +0 -31
  537. package/src/core/plugins/utils.js +0 -274
  538. package/src/core/progressive-loading.js +0 -239
  539. package/src/core/providers/enhanced-hls-provider.js +0 -273
  540. package/src/core/providers/service-provider.js +0 -105
  541. package/src/core/utils.js +0 -21
  542. package/src/features/media-session/media-session-manager.js +0 -331
  543. package/src/features/picture-in-picture/pip-manager.js +0 -353
  544. package/src/features/playlist/playlist-manager.js +0 -475
  545. package/src/features/subtitles/subtitle-manager.js +0 -335
  546. package/src/features/subtitles/subtitle-parser.js +0 -217
  547. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  548. package/src/hooks/accessibility/index.js +0 -4
  549. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  550. package/src/hooks/accessibility/use-focus-management.js +0 -142
  551. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  552. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  553. package/src/hooks/core/index.js +0 -19
  554. package/src/hooks/legacy.js +0 -17
  555. package/src/hooks/use-enhanced-media-player.js +0 -395
  556. package/src/hooks/use-intelligent-preloading.js +0 -258
  557. package/src/hooks/use-keyboard-controls.js +0 -83
  558. package/src/hooks/use-media-actions.js +0 -121
  559. package/src/hooks/use-media-metadata.js +0 -74
  560. package/src/hooks/use-media-optimistic.js +0 -205
  561. package/src/hooks/use-media-player.js +0 -251
  562. package/src/hooks/use-media-state.js +0 -162
  563. package/src/hooks/use-memory-optimization.js +0 -288
  564. package/src/hooks/use-optimistic-controls.js +0 -60
  565. package/src/hooks/use-optimized-media.js +0 -211
  566. package/src/hooks/use-touch-gestures.js +0 -289
  567. package/src/hooks/useEnhancedSubtitles.js +0 -205
  568. package/src/hooks/useKeyboardShortcuts.js +0 -59
  569. package/src/hooks/useMediaControls.js +0 -44
  570. package/src/hooks/useScreenshot.js +0 -56
  571. package/src/hooks/useSubtitles.js +0 -73
  572. package/src/hooks/useVideoPlayer.js +0 -184
  573. package/src/icons/components/FullscreenIcon.js +0 -11
  574. package/src/icons/components/SettingsIcon.js +0 -11
  575. package/src/icons/components/animated/LoadingIcon.js +0 -11
  576. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  577. package/src/icons/components/media/PauseIcon.js +0 -12
  578. package/src/icons/components/media/PlayIcon.js +0 -12
  579. package/src/icons/components/volume/VolumeIcon.js +0 -11
  580. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  581. package/src/icons/index.js +0 -45
  582. package/src/icons/provider.js +0 -37
  583. package/src/icons/types.js +0 -1
  584. package/src/index-enhanced.js +0 -16
  585. package/src/index-legacy.js +0 -97
  586. package/src/index.js +0 -90
  587. package/src/index.minimal.js +0 -3
  588. package/src/lib/deprecation.js +0 -31
  589. package/src/lib/format-time.js +0 -32
  590. package/src/lib/index.js +0 -3
  591. package/src/lib/utils.js +0 -5
  592. package/src/test/setup.js +0 -65
  593. package/src/types/events.js +0 -2
  594. package/src/types/formats.js +0 -63
  595. 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
- }