@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,300 +0,0 @@
1
- "use client";
2
- import React from "react";
3
- // Error types specific to media operations
4
- export var MediaErrorType;
5
- (function (MediaErrorType) {
6
- MediaErrorType["NETWORK_ERROR"] = "NETWORK_ERROR";
7
- MediaErrorType["PLAYBACK_ERROR"] = "PLAYBACK_ERROR";
8
- MediaErrorType["PERMISSION_ERROR"] = "PERMISSION_ERROR";
9
- MediaErrorType["NOT_SUPPORTED_ERROR"] = "NOT_SUPPORTED_ERROR";
10
- MediaErrorType["TIMEOUT_ERROR"] = "TIMEOUT_ERROR";
11
- MediaErrorType["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
12
- })(MediaErrorType || (MediaErrorType = {}));
13
- // Default retry configuration
14
- const DEFAULT_RETRY_CONFIG = {
15
- maxRetries: 3,
16
- baseDelay: 1000,
17
- maxDelay: 10000,
18
- exponentialBackoff: true,
19
- retryableErrors: [
20
- MediaErrorType.NETWORK_ERROR,
21
- MediaErrorType.TIMEOUT_ERROR
22
- ],
23
- retryableActions: [
24
- "PLAY",
25
- "PAUSE",
26
- "SEEK",
27
- "SET_VOLUME",
28
- "ENTER_FULLSCREEN",
29
- "EXIT_FULLSCREEN"
30
- ]
31
- };
32
- // Network error recovery
33
- class NetworkErrorRecovery {
34
- canRecover(error) {
35
- return error.type === MediaErrorType.NETWORK_ERROR && error.retryCount < 3;
36
- }
37
- async recover(error) {
38
- // Wait for network to become available
39
- if (navigator.onLine === false) {
40
- await new Promise(resolve => {
41
- const handleOnline = () => {
42
- window.removeEventListener('online', handleOnline);
43
- resolve(void 0);
44
- };
45
- window.addEventListener('online', handleOnline);
46
- });
47
- }
48
- // Additional delay for network stability
49
- await new Promise(resolve => setTimeout(resolve, 2000));
50
- }
51
- }
52
- // Playback error recovery
53
- class PlaybackErrorRecovery {
54
- canRecover(error) {
55
- return error.type === MediaErrorType.PLAYBACK_ERROR && error.retryCount < 2;
56
- }
57
- async recover(error) {
58
- // Try to reload the media element
59
- const mediaElement = document.querySelector('video, audio');
60
- if (mediaElement) {
61
- mediaElement.load();
62
- await new Promise(resolve => {
63
- const handleCanPlay = () => {
64
- mediaElement.removeEventListener('canplay', handleCanPlay);
65
- resolve(void 0);
66
- };
67
- mediaElement.addEventListener('canplay', handleCanPlay);
68
- });
69
- }
70
- }
71
- }
72
- // Permission error recovery (for fullscreen, etc.)
73
- class PermissionErrorRecovery {
74
- canRecover(error) {
75
- return error.type === MediaErrorType.PERMISSION_ERROR &&
76
- error.action?.type === 'ENTER_FULLSCREEN';
77
- }
78
- async recover(error) {
79
- // Request user interaction for fullscreen
80
- console.warn('Fullscreen requires user interaction');
81
- // In a real implementation, you might show a message to the user
82
- }
83
- }
84
- // Error handler class
85
- export class MediaErrorHandler {
86
- config;
87
- recoveryStrategies;
88
- errorQueue = new Map();
89
- listeners = new Set();
90
- constructor(config = {}, recoveryStrategies = []) {
91
- this.config = { ...DEFAULT_RETRY_CONFIG, ...config };
92
- this.recoveryStrategies = [
93
- new NetworkErrorRecovery(),
94
- new PlaybackErrorRecovery(),
95
- new PermissionErrorRecovery(),
96
- ...recoveryStrategies
97
- ];
98
- }
99
- // Create a media error from a generic error
100
- createMediaError(error, action, retryCount = 0) {
101
- const timestamp = Date.now();
102
- if (error instanceof Error) {
103
- const errorType = this.categorizeError(error, action);
104
- return {
105
- type: errorType,
106
- message: error.message,
107
- action,
108
- timestamp,
109
- retryable: this.isRetryable(errorType, action),
110
- retryCount,
111
- originalError: error
112
- };
113
- }
114
- return {
115
- type: MediaErrorType.UNKNOWN_ERROR,
116
- message: typeof error === 'string' ? error : 'Unknown error occurred',
117
- action,
118
- timestamp,
119
- retryable: this.isRetryable(MediaErrorType.UNKNOWN_ERROR, action),
120
- retryCount
121
- };
122
- }
123
- // Categorize errors based on error properties and action context
124
- categorizeError(error, action) {
125
- const message = error.message.toLowerCase();
126
- // Network-related errors
127
- if (message.includes('network') ||
128
- message.includes('fetch') ||
129
- message.includes('connection') ||
130
- error.name === 'NetworkError') {
131
- return MediaErrorType.NETWORK_ERROR;
132
- }
133
- // Permission errors
134
- if (message.includes('permission') ||
135
- message.includes('denied') ||
136
- message.includes('fullscreen') ||
137
- error.name === 'NotAllowedError') {
138
- return MediaErrorType.PERMISSION_ERROR;
139
- }
140
- // Playback errors
141
- if (message.includes('decode') ||
142
- message.includes('format') ||
143
- message.includes('codec') ||
144
- action?.type === 'PLAY') {
145
- return MediaErrorType.PLAYBACK_ERROR;
146
- }
147
- // Timeout errors
148
- if (message.includes('timeout') ||
149
- error.name === 'TimeoutError') {
150
- return MediaErrorType.TIMEOUT_ERROR;
151
- }
152
- // Not supported errors
153
- if (message.includes('not supported') ||
154
- message.includes('unsupported') ||
155
- error.name === 'NotSupportedError') {
156
- return MediaErrorType.NOT_SUPPORTED_ERROR;
157
- }
158
- return MediaErrorType.UNKNOWN_ERROR;
159
- }
160
- // Check if an error/action combination is retryable
161
- isRetryable(errorType, action) {
162
- const errorRetryable = this.config.retryableErrors.includes(errorType);
163
- const actionRetryable = !action || this.config.retryableActions.includes(action.type);
164
- return errorRetryable && actionRetryable;
165
- }
166
- // Calculate retry delay with exponential backoff
167
- calculateRetryDelay(retryCount) {
168
- if (!this.config.exponentialBackoff) {
169
- return this.config.baseDelay;
170
- }
171
- const delay = this.config.baseDelay * Math.pow(2, retryCount);
172
- return Math.min(delay, this.config.maxDelay);
173
- }
174
- // Handle an error with automatic retry logic
175
- async handleError(error, action, retryCallback) {
176
- const mediaError = this.createMediaError(error, action, action?.retryCount || 0);
177
- const errorId = `${action?.type}-${mediaError.timestamp}`;
178
- // Store error for tracking
179
- this.errorQueue.set(errorId, mediaError);
180
- // Notify listeners
181
- this.listeners.forEach(listener => listener(mediaError));
182
- // Try recovery strategies
183
- for (const strategy of this.recoveryStrategies) {
184
- if (strategy.canRecover(mediaError)) {
185
- try {
186
- await strategy.recover(mediaError);
187
- break;
188
- }
189
- catch (recoveryError) {
190
- console.warn('Recovery strategy failed:', recoveryError);
191
- }
192
- }
193
- }
194
- // Retry if possible
195
- if (mediaError.retryable &&
196
- mediaError.retryCount < this.config.maxRetries &&
197
- retryCallback &&
198
- action) {
199
- const delay = this.calculateRetryDelay(mediaError.retryCount);
200
- console.log(`Retrying action ${action.type} in ${delay}ms (attempt ${mediaError.retryCount + 1}/${this.config.maxRetries})`);
201
- setTimeout(async () => {
202
- try {
203
- await retryCallback({
204
- ...action,
205
- retryCount: mediaError.retryCount + 1
206
- });
207
- // Remove from error queue on successful retry
208
- this.errorQueue.delete(errorId);
209
- }
210
- catch (retryError) {
211
- // Handle retry failure
212
- await this.handleError(retryError, {
213
- ...action,
214
- retryCount: mediaError.retryCount + 1
215
- }, retryCallback);
216
- }
217
- }, delay);
218
- }
219
- return mediaError;
220
- }
221
- // Subscribe to error events
222
- subscribe(listener) {
223
- this.listeners.add(listener);
224
- return () => this.listeners.delete(listener);
225
- }
226
- // Get current errors
227
- getErrors() {
228
- return Array.from(this.errorQueue.values());
229
- }
230
- // Clear specific error
231
- clearError(errorId) {
232
- this.errorQueue.delete(errorId);
233
- }
234
- // Clear all errors
235
- clearAllErrors() {
236
- this.errorQueue.clear();
237
- }
238
- // Get error statistics
239
- getErrorStats() {
240
- const errors = this.getErrors();
241
- const now = Date.now();
242
- const recentThreshold = 5 * 60 * 1000; // 5 minutes
243
- const errorsByType = errors.reduce((acc, error) => {
244
- acc[error.type] = (acc[error.type] || 0) + 1;
245
- return acc;
246
- }, {});
247
- const retryableErrors = errors.filter(e => e.retryable).length;
248
- const recentErrors = errors.filter(e => now - e.timestamp < recentThreshold);
249
- return {
250
- totalErrors: errors.length,
251
- errorsByType,
252
- retryableErrors,
253
- recentErrors
254
- };
255
- }
256
- }
257
- // Hook for using error handling in components
258
- export function useMediaErrorHandler(config) {
259
- const [handler] = React.useState(() => new MediaErrorHandler(config));
260
- const [errors, setErrors] = React.useState([]);
261
- React.useEffect(() => {
262
- const unsubscribe = handler.subscribe((error) => {
263
- setErrors(current => [...current, error]);
264
- });
265
- return unsubscribe;
266
- }, [handler]);
267
- const clearError = React.useCallback((errorId) => {
268
- handler.clearError(errorId);
269
- setErrors(current => current.filter(e => `${e.action?.type}-${e.timestamp}` !== errorId));
270
- }, [handler]);
271
- const clearAllErrors = React.useCallback(() => {
272
- handler.clearAllErrors();
273
- setErrors([]);
274
- }, [handler]);
275
- return {
276
- handler,
277
- errors,
278
- clearError,
279
- clearAllErrors,
280
- errorStats: handler.getErrorStats()
281
- };
282
- }
283
- // Hook for error boundaries
284
- export function useMediaErrorBoundary() {
285
- const [error, setError] = React.useState(null);
286
- const resetError = React.useCallback(() => {
287
- setError(null);
288
- }, []);
289
- const captureError = React.useCallback((error, action) => {
290
- const handler = new MediaErrorHandler();
291
- const mediaError = handler.createMediaError(error, action);
292
- setError(mediaError);
293
- }, []);
294
- return {
295
- error,
296
- hasError: !!error,
297
- resetError,
298
- captureError
299
- };
300
- }
@@ -1,121 +0,0 @@
1
- "use client";
2
- import React from "react";
3
- // Media action types
4
- export const MediaActionTypes = {
5
- PLAY: "PLAY",
6
- PAUSE: "PAUSE",
7
- SEEK: "SEEK",
8
- SET_VOLUME: "SET_VOLUME",
9
- MUTE: "MUTE",
10
- UNMUTE: "UNMUTE",
11
- TOGGLE_MUTE: "TOGGLE_MUTE",
12
- SET_DURATION: "SET_DURATION",
13
- SET_CURRENT_TIME: "SET_CURRENT_TIME",
14
- SET_BUFFERED: "SET_BUFFERED",
15
- SET_LOADING: "SET_LOADING",
16
- SET_ERROR: "SET_ERROR",
17
- ENTER_FULLSCREEN: "ENTER_FULLSCREEN",
18
- EXIT_FULLSCREEN: "EXIT_FULLSCREEN",
19
- ENTER_PIP: "ENTER_PIP",
20
- EXIT_PIP: "EXIT_PIP",
21
- SET_PLAYBACK_RATE: "SET_PLAYBACK_RATE",
22
- SET_SUBTITLE_TRACK: "SET_SUBTITLE_TRACK",
23
- SET_RENDITION: "SET_RENDITION",
24
- TOGGLE_SUBTITLES: "TOGGLE_SUBTITLES",
25
- PREVIEW_TIME: "PREVIEW_TIME",
26
- CLEAR_PREVIEW: "CLEAR_PREVIEW",
27
- // New actions for Video.js adapter
28
- SET_BUFFERING: "SET_BUFFERING",
29
- SET_QUALITY_LEVEL: "SET_QUALITY_LEVEL",
30
- SET_BANDWIDTH_ESTIMATE: "SET_BANDWIDTH_ESTIMATE",
31
- SET_ACTIVE_TEXT_TRACKS: "SET_ACTIVE_TEXT_TRACKS"
32
- };
33
- // Create the media context
34
- export const MediaContext = React.createContext(null);
35
- // Hook to use media context
36
- export function useMediaContext() {
37
- const context = React.useContext(MediaContext);
38
- if (!context) {
39
- throw new Error("useMediaContext must be used within a MediaPlayer");
40
- }
41
- return context;
42
- }
43
- // Store context for state management
44
- export const MediaStoreContext = React.createContext(null);
45
- // Hook to use media store
46
- export function useMediaStore() {
47
- const store = React.useContext(MediaStoreContext);
48
- if (!store) {
49
- throw new Error("useMediaStore must be used within a MediaPlayer");
50
- }
51
- return store;
52
- }
53
- // Hook to select specific state values - React 19 optimized
54
- export function useMediaSelector(selector) {
55
- const store = useMediaStore();
56
- // React 19 compiler will optimize this callback
57
- const getSnapshot = () => selector(store.getState());
58
- return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
59
- }
60
- // Hook to get dispatch function
61
- export function useMediaDispatch() {
62
- const store = useMediaStore();
63
- return store.dispatch;
64
- }
65
- // React 19 enhanced context selector with optimistic updates
66
- export function useOptimisticMediaSelector(selector) {
67
- const store = useMediaStore();
68
- // Check if enhanced store is available
69
- const isEnhanced = 'getOptimisticState' in store;
70
- const getSnapshot = () => {
71
- if (isEnhanced) {
72
- // Use optimistic state for immediate UI feedback
73
- return selector(store.getOptimisticState());
74
- }
75
- else {
76
- // Fall back to regular state
77
- return selector(store.getState());
78
- }
79
- };
80
- return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
81
- }
82
- // Hook for accessing React 19 enhanced features
83
- export function useMediaEnhancements() {
84
- const store = useMediaStore();
85
- const context = useMediaContext();
86
- const isEnhanced = 'getOptimisticState' in store;
87
- const errorHandler = 'errorHandler' in context ? context.errorHandler : null;
88
- const isRehydrated = 'isRehydrated' in context ? context.isRehydrated : true;
89
- return {
90
- isEnhanced,
91
- errorHandler,
92
- isRehydrated,
93
- actionsState: isEnhanced ? store.getActionState() : null
94
- };
95
- }
96
- // Initial media state
97
- export const initialMediaState = {
98
- isPlaying: false,
99
- currentTime: 0,
100
- duration: 0,
101
- buffered: null,
102
- isLoading: false,
103
- isBuffering: false,
104
- error: null,
105
- volume: 1,
106
- isMuted: false,
107
- isFullscreen: false,
108
- isPictureInPicture: false,
109
- playbackRate: 1,
110
- subtitlesShowing: false,
111
- selectedSubtitleTrack: null,
112
- selectedRendition: null,
113
- qualityLevel: -1,
114
- bandwidthEstimate: 0,
115
- activeTextTracks: [],
116
- previewTime: null,
117
- previewImage: null,
118
- previewCoords: null,
119
- subtitlesList: [],
120
- renditionList: []
121
- };
@@ -1,164 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import React from "react";
4
- import { MediaActionTypes, MediaContext, MediaStoreContext, initialMediaState } from "./media-context";
5
- import { createEnhancedMediaStore } from "./media-store";
6
- import { useAutoMediaPersistence } from "./persistence";
7
- import { MediaErrorHandler } from "./error-handling";
8
- // Legacy store for backward compatibility
9
- function createLegacyMediaStore(initialState = initialMediaState) {
10
- let state = { ...initialState };
11
- const listeners = new Set();
12
- const subscribe = (callback) => {
13
- listeners.add(callback);
14
- return () => listeners.delete(callback);
15
- };
16
- const getState = () => state;
17
- const setState = (updates) => {
18
- const newState = { ...state, ...updates };
19
- if (JSON.stringify(newState) !== JSON.stringify(state)) {
20
- state = newState;
21
- listeners.forEach((callback) => callback());
22
- }
23
- };
24
- const dispatch = (action) => {
25
- switch (action.type) {
26
- case MediaActionTypes.PLAY:
27
- setState({ isPlaying: true, error: null });
28
- break;
29
- case MediaActionTypes.PAUSE:
30
- setState({ isPlaying: false });
31
- break;
32
- case MediaActionTypes.SEEK:
33
- setState({ currentTime: action.detail });
34
- break;
35
- case MediaActionTypes.SET_VOLUME:
36
- setState({ volume: Math.max(0, Math.min(1, action.detail)) });
37
- break;
38
- case MediaActionTypes.MUTE:
39
- setState({ isMuted: true });
40
- break;
41
- case MediaActionTypes.UNMUTE:
42
- setState({ isMuted: false });
43
- break;
44
- case MediaActionTypes.TOGGLE_MUTE:
45
- setState({ isMuted: !state.isMuted });
46
- break;
47
- case MediaActionTypes.SET_DURATION:
48
- setState({ duration: action.detail });
49
- break;
50
- case MediaActionTypes.SET_CURRENT_TIME:
51
- setState({ currentTime: action.detail });
52
- break;
53
- case MediaActionTypes.SET_BUFFERED:
54
- setState({ buffered: action.detail });
55
- break;
56
- case MediaActionTypes.SET_LOADING:
57
- setState({ isLoading: action.detail });
58
- break;
59
- case MediaActionTypes.SET_ERROR:
60
- setState({ error: action.detail, isLoading: false });
61
- break;
62
- case MediaActionTypes.ENTER_FULLSCREEN:
63
- setState({ isFullscreen: true });
64
- break;
65
- case MediaActionTypes.EXIT_FULLSCREEN:
66
- setState({ isFullscreen: false });
67
- break;
68
- case MediaActionTypes.ENTER_PIP:
69
- setState({ isPictureInPicture: true });
70
- break;
71
- case MediaActionTypes.EXIT_PIP:
72
- setState({ isPictureInPicture: false });
73
- break;
74
- case MediaActionTypes.SET_PLAYBACK_RATE:
75
- setState({ playbackRate: action.detail });
76
- break;
77
- case MediaActionTypes.SET_SUBTITLE_TRACK:
78
- setState({ selectedSubtitleTrack: action.detail });
79
- break;
80
- case MediaActionTypes.SET_RENDITION:
81
- setState({ selectedRendition: action.detail });
82
- break;
83
- case MediaActionTypes.TOGGLE_SUBTITLES:
84
- setState({ subtitlesShowing: !state.subtitlesShowing });
85
- break;
86
- case MediaActionTypes.PREVIEW_TIME:
87
- setState({ previewTime: action.detail });
88
- break;
89
- case MediaActionTypes.CLEAR_PREVIEW:
90
- setState({ previewTime: null, previewImage: null, previewCoords: null });
91
- break;
92
- default:
93
- console.warn(`Unknown media action type: ${action.type}`);
94
- }
95
- };
96
- return { subscribe, getState, setState, dispatch };
97
- }
98
- // Enhanced media provider component with React 19 features
99
- export function MediaProvider({ children, mediaId = "media-player", labelId = "media-player-label", descriptionId = "media-player-description", dir = "ltr", portalContainer, tooltipDelayDuration = 700, tooltipSideOffset = 4, disabled = false, isVideo = true, withoutTooltip = false, initialState = {},
100
- // React 19 enhancements
101
- useEnhancedStore = true, persistenceConfig, retryConfig, enableOptimisticUpdates = true, enableErrorRecovery = true, onStateRehydrated }) {
102
- const rootRef = React.useRef(null);
103
- const mediaRef = React.useRef(null);
104
- // Create enhanced or legacy store based on configuration
105
- const store = React.useMemo(() => {
106
- const combinedInitialState = { ...initialMediaState, ...initialState };
107
- if (useEnhancedStore) {
108
- return createEnhancedMediaStore(combinedInitialState, persistenceConfig);
109
- }
110
- else {
111
- return createLegacyMediaStore(combinedInitialState);
112
- }
113
- }, [useEnhancedStore, persistenceConfig]);
114
- // Error handler for React 19 features
115
- const errorHandler = React.useMemo(() => {
116
- if (enableErrorRecovery && useEnhancedStore) {
117
- return new MediaErrorHandler(retryConfig);
118
- }
119
- return null;
120
- }, [enableErrorRecovery, useEnhancedStore, retryConfig]);
121
- // Auto-persistence for React 19 enhanced store
122
- const persistenceResult = useEnhancedStore ? useAutoMediaPersistence(store.getState(), mediaId, persistenceConfig) : null;
123
- // Handle state rehydration callback
124
- React.useEffect(() => {
125
- if (persistenceResult?.isRehydrated && onStateRehydrated) {
126
- const currentState = store.getState();
127
- onStateRehydrated(currentState);
128
- }
129
- }, [persistenceResult?.isRehydrated, onStateRehydrated, store]);
130
- // Enhanced context value with React 19 features
131
- const contextValue = React.useMemo(() => ({
132
- mediaId,
133
- labelId,
134
- descriptionId,
135
- dir,
136
- rootRef,
137
- mediaRef,
138
- portalContainer,
139
- tooltipDelayDuration,
140
- tooltipSideOffset,
141
- disabled,
142
- isVideo,
143
- withoutTooltip,
144
- // React 19 enhancements
145
- errorHandler,
146
- isEnhanced: useEnhancedStore,
147
- isRehydrated: persistenceResult?.isRehydrated
148
- }), [
149
- mediaId,
150
- labelId,
151
- descriptionId,
152
- dir,
153
- portalContainer,
154
- tooltipDelayDuration,
155
- tooltipSideOffset,
156
- disabled,
157
- isVideo,
158
- withoutTooltip,
159
- errorHandler,
160
- useEnhancedStore,
161
- persistenceResult?.isRehydrated
162
- ]);
163
- return (_jsx(MediaContext.Provider, { value: contextValue, children: _jsx(MediaStoreContext.Provider, { value: store, children: children }) }));
164
- }