@therealtinhtute/baroiplayer 1.0.5 → 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 (611) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/package.json +1 -1
  3. package/dist/src/components/media-player-error.tsx +2 -2
  4. package/dist/src/components/media-player-fullscreen.tsx +2 -2
  5. package/dist/src/components/media-player-play.tsx +2 -2
  6. package/dist/src/components/media-player-seek.tsx +1 -1
  7. package/dist/src/components/media-player-tooltip.tsx +1 -1
  8. package/dist/src/components/media-player-volume.tsx +3 -3
  9. package/dist/src/components/react-player-wrapper.tsx +5 -5
  10. package/dist/src/hooks/use-touch-gestures.ts +1 -1
  11. package/package.json +1 -1
  12. package/src/components/media-player-error.tsx +2 -2
  13. package/src/components/media-player-fullscreen.tsx +2 -2
  14. package/src/components/media-player-play.tsx +2 -2
  15. package/src/components/media-player-seek.tsx +1 -1
  16. package/src/components/media-player-tooltip.tsx +1 -1
  17. package/src/components/media-player-volume.tsx +3 -3
  18. package/src/components/react-player-wrapper.tsx +5 -5
  19. package/src/hooks/use-touch-gestures.ts +1 -1
  20. package/dist/context/media.js +0 -2
  21. package/dist/context/media.js.map +0 -1
  22. package/dist/context/media.mjs +0 -15
  23. package/dist/context/media.mjs.map +0 -1
  24. package/dist/context/store.js +0 -2
  25. package/dist/context/store.js.map +0 -1
  26. package/dist/context/store.mjs +0 -5
  27. package/dist/context/store.mjs.map +0 -1
  28. package/dist/context-Af84FynT.js +0 -1179
  29. package/dist/context-Af84FynT.js.map +0 -1
  30. package/dist/context-CwZnPdz0.cjs +0 -23
  31. package/dist/context-CwZnPdz0.cjs.map +0 -1
  32. package/dist/core-events-B5W_j8yU.js +0 -480
  33. package/dist/core-events-B5W_j8yU.js.map +0 -1
  34. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  35. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  36. package/dist/core-plugins-Bq9KLany.js +0 -696
  37. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  38. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  39. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  40. package/dist/core.js +0 -37
  41. package/dist/core.js.map +0 -1
  42. package/dist/core.mjs +0 -1217
  43. package/dist/core.mjs.map +0 -1
  44. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  45. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  46. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  47. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  48. package/dist/hooks-BCMilGRf.cjs +0 -4
  49. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  50. package/dist/hooks-BPtHV1ZT.js +0 -2042
  51. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  52. package/dist/index.js.map +0 -1
  53. package/dist/index.mjs.map +0 -1
  54. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  55. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  56. package/dist/minimal-components-BmqRefl1.js +0 -2002
  57. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  58. package/dist/mona-loading.gif +0 -0
  59. package/dist/performance-monitor--rzKTlbj.js +0 -302
  60. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  61. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  62. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  63. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  64. package/dist/src/adapters/videojs-adapter.js +0 -350
  65. package/dist/src/assets/mona-loading.gif +0 -0
  66. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  67. package/dist/src/components/AnimateLoading.js +0 -41
  68. package/dist/src/components/LoadingState.d.ts.map +0 -1
  69. package/dist/src/components/LoadingState.js +0 -111
  70. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  71. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  72. package/dist/src/components/audio-player.d.ts.map +0 -1
  73. package/dist/src/components/audio-player.js +0 -31
  74. package/dist/src/components/basic/index.d.ts.map +0 -1
  75. package/dist/src/components/basic/index.js +0 -29
  76. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  77. package/dist/src/components/enhanced/advanced-features.js +0 -64
  78. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  79. package/dist/src/components/enhanced/debug-panel.js +0 -94
  80. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  81. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  82. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  83. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  84. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  85. package/dist/src/components/enhanced/error-handling.js +0 -153
  86. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  87. package/dist/src/components/enhanced/index.js +0 -10
  88. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  89. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  90. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  91. package/dist/src/components/examples/basic-video-player.js +0 -16
  92. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  93. package/dist/src/components/examples/custom-controls-example.js +0 -12
  94. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  95. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  96. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  97. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  98. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  99. package/dist/src/components/examples/loading-states-demo.js +0 -41
  100. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  101. package/dist/src/components/examples/react-19-demo.js +0 -104
  102. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  103. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  104. package/dist/src/components/icon-demo.d.ts.map +0 -1
  105. package/dist/src/components/icon-demo.js +0 -16
  106. package/dist/src/components/icons/index.d.ts.map +0 -1
  107. package/dist/src/components/icons/index.js +0 -59
  108. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  114. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  118. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  120. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  122. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  132. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  134. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  140. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  141. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  142. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  143. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  144. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  145. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  146. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  147. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  148. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  149. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  150. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  151. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  152. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  153. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  154. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  155. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  156. package/dist/src/components/legacy.d.ts.map +0 -1
  157. package/dist/src/components/legacy.js +0 -52
  158. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  159. package/dist/src/components/media-metadata-display.js +0 -20
  160. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  161. package/dist/src/components/media-player-audio.js +0 -18
  162. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  163. package/dist/src/components/media-player-controls.js +0 -150
  164. package/dist/src/components/media-player-error.d.ts.map +0 -1
  165. package/dist/src/components/media-player-error.js +0 -85
  166. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  167. package/dist/src/components/media-player-fullscreen.js +0 -68
  168. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  169. package/dist/src/components/media-player-hls.js +0 -20
  170. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  171. package/dist/src/components/media-player-loading.js +0 -53
  172. package/dist/src/components/media-player-play.d.ts.map +0 -1
  173. package/dist/src/components/media-player-play.js +0 -44
  174. package/dist/src/components/media-player-root.d.ts.map +0 -1
  175. package/dist/src/components/media-player-root.js +0 -243
  176. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  177. package/dist/src/components/media-player-seek.js +0 -92
  178. package/dist/src/components/media-player-time.d.ts.map +0 -1
  179. package/dist/src/components/media-player-time.js +0 -57
  180. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  181. package/dist/src/components/media-player-tooltip.js +0 -14
  182. package/dist/src/components/media-player-video.d.ts.map +0 -1
  183. package/dist/src/components/media-player-video.js +0 -18
  184. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  185. package/dist/src/components/media-player-volume.js +0 -88
  186. package/dist/src/components/media-player.d.ts.map +0 -1
  187. package/dist/src/components/media-player.js +0 -67
  188. package/dist/src/components/media-suspense.d.ts.map +0 -1
  189. package/dist/src/components/media-suspense.js +0 -173
  190. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  191. package/dist/src/components/player-settings-form.js +0 -46
  192. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  193. package/dist/src/components/react-player-wrapper.js +0 -163
  194. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  195. package/dist/src/components/simple-video-player.js +0 -41
  196. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  197. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  198. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  199. package/dist/src/components/ui/fullscreen-button.js +0 -21
  200. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  201. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  202. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  203. package/dist/src/components/ui/play-button.js +0 -26
  204. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  205. package/dist/src/components/ui/seek-bar.js +0 -54
  206. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  207. package/dist/src/components/ui/time-display.js +0 -18
  208. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  209. package/dist/src/components/ui/volume-control.js +0 -71
  210. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  211. package/dist/src/components/unified/base-media-player.js +0 -104
  212. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  213. package/dist/src/components/unified/media-player.js +0 -41
  214. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  216. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  218. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  220. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  222. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  224. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  226. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  228. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  230. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  232. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  234. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  236. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  238. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  240. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  242. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  243. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  244. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  245. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  246. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  247. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  248. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  249. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  250. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  251. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  252. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  253. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  254. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  255. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  256. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  257. package/dist/src/components/variants/minimal/index.js +0 -8
  258. package/dist/src/components/video-player.d.ts.map +0 -1
  259. package/dist/src/components/video-player.js +0 -38
  260. package/dist/src/context/error-handling.d.ts.map +0 -1
  261. package/dist/src/context/error-handling.js +0 -300
  262. package/dist/src/context/media-context.d.ts.map +0 -1
  263. package/dist/src/context/media-context.js +0 -121
  264. package/dist/src/context/media-provider.d.ts.map +0 -1
  265. package/dist/src/context/media-provider.js +0 -164
  266. package/dist/src/context/media-store.d.ts.map +0 -1
  267. package/dist/src/context/media-store.js +0 -273
  268. package/dist/src/context/persistence.d.ts.map +0 -1
  269. package/dist/src/context/persistence.js +0 -356
  270. package/dist/src/core/events/event-system.d.ts.map +0 -1
  271. package/dist/src/core/events/event-system.js +0 -288
  272. package/dist/src/core/events/hooks.d.ts.map +0 -1
  273. package/dist/src/core/events/hooks.js +0 -198
  274. package/dist/src/core/events/index.d.ts.map +0 -1
  275. package/dist/src/core/events/index.js +0 -7
  276. package/dist/src/core/events/middleware.d.ts.map +0 -1
  277. package/dist/src/core/events/middleware.js +0 -219
  278. package/dist/src/core/index.d.ts.map +0 -1
  279. package/dist/src/core/index.js +0 -15
  280. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  281. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  282. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  283. package/dist/src/core/performance/cicd.js +0 -83
  284. package/dist/src/core/performance/index.d.ts.map +0 -1
  285. package/dist/src/core/performance/index.js +0 -14
  286. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  287. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  288. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  289. package/dist/src/core/performance/performance-budgets.js +0 -326
  290. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  291. package/dist/src/core/performance/performance-monitor.js +0 -297
  292. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  293. package/dist/src/core/performance/performance-testing.js +0 -314
  294. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  295. package/dist/src/core/plugins/base-plugin.js +0 -151
  296. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  297. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  298. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  299. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  300. package/dist/src/core/plugins/index.d.ts.map +0 -1
  301. package/dist/src/core/plugins/index.js +0 -9
  302. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  303. package/dist/src/core/plugins/registry.js +0 -261
  304. package/dist/src/core/plugins/types.d.ts.map +0 -1
  305. package/dist/src/core/plugins/types.js +0 -31
  306. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  307. package/dist/src/core/plugins/utils.js +0 -274
  308. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  309. package/dist/src/core/progressive-loading.js +0 -239
  310. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  311. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  312. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  313. package/dist/src/core/providers/service-provider.js +0 -105
  314. package/dist/src/core/utils.d.ts.map +0 -1
  315. package/dist/src/core/utils.js +0 -21
  316. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  317. package/dist/src/features/media-session/media-session-manager.js +0 -331
  318. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  319. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  320. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  321. package/dist/src/features/playlist/playlist-manager.js +0 -475
  322. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  323. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  324. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  325. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  326. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  327. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  328. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  329. package/dist/src/hooks/accessibility/index.js +0 -4
  330. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  331. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  332. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  333. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  334. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  335. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  336. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  337. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  338. package/dist/src/hooks/core/index.d.ts.map +0 -1
  339. package/dist/src/hooks/core/index.js +0 -19
  340. package/dist/src/hooks/legacy.d.ts.map +0 -1
  341. package/dist/src/hooks/legacy.js +0 -17
  342. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  343. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  344. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  345. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  346. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  347. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  348. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  349. package/dist/src/hooks/use-media-actions.js +0 -121
  350. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  351. package/dist/src/hooks/use-media-metadata.js +0 -74
  352. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  353. package/dist/src/hooks/use-media-optimistic.js +0 -205
  354. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  355. package/dist/src/hooks/use-media-player.js +0 -251
  356. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  357. package/dist/src/hooks/use-media-state.js +0 -162
  358. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  359. package/dist/src/hooks/use-memory-optimization.js +0 -288
  360. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  361. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  362. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  363. package/dist/src/hooks/use-optimized-media.js +0 -211
  364. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  365. package/dist/src/hooks/use-touch-gestures.js +0 -289
  366. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  367. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  368. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  369. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  370. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  371. package/dist/src/hooks/useMediaControls.js +0 -44
  372. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  373. package/dist/src/hooks/useScreenshot.js +0 -56
  374. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  375. package/dist/src/hooks/useSubtitles.js +0 -73
  376. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  377. package/dist/src/hooks/useVideoPlayer.js +0 -184
  378. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  379. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  380. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  381. package/dist/src/icons/components/SettingsIcon.js +0 -11
  382. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  383. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  384. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  385. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  386. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  387. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  388. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  389. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  390. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  391. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  392. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  393. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  394. package/dist/src/icons/index.d.ts.map +0 -1
  395. package/dist/src/icons/index.js +0 -45
  396. package/dist/src/icons/provider.d.ts.map +0 -1
  397. package/dist/src/icons/provider.js +0 -37
  398. package/dist/src/icons/types.d.ts.map +0 -1
  399. package/dist/src/icons/types.js +0 -1
  400. package/dist/src/index-enhanced.d.ts.map +0 -1
  401. package/dist/src/index-enhanced.js +0 -16
  402. package/dist/src/index-legacy.d.ts.map +0 -1
  403. package/dist/src/index-legacy.js +0 -97
  404. package/dist/src/index.d.ts.map +0 -1
  405. package/dist/src/index.js +0 -90
  406. package/dist/src/index.minimal.d.ts.map +0 -1
  407. package/dist/src/index.minimal.js +0 -3
  408. package/dist/src/lib/deprecation.d.ts.map +0 -1
  409. package/dist/src/lib/deprecation.js +0 -31
  410. package/dist/src/lib/format-time.d.ts.map +0 -1
  411. package/dist/src/lib/format-time.js +0 -32
  412. package/dist/src/lib/index.d.ts.map +0 -1
  413. package/dist/src/lib/index.js +0 -3
  414. package/dist/src/lib/utils.d.ts.map +0 -1
  415. package/dist/src/lib/utils.js +0 -5
  416. package/dist/src/test/setup.d.ts.map +0 -1
  417. package/dist/src/test/setup.js +0 -65
  418. package/dist/src/types/events.d.ts.map +0 -1
  419. package/dist/src/types/events.js +0 -2
  420. package/dist/src/types/formats.d.ts.map +0 -1
  421. package/dist/src/types/formats.js +0 -63
  422. package/dist/src/types/index.d.ts.map +0 -1
  423. package/dist/src/types/index.js +0 -4
  424. package/dist/utils-Db13763z.cjs +0 -9
  425. package/dist/utils-Db13763z.cjs.map +0 -1
  426. package/dist/utils-nTO4AnHo.js +0 -2809
  427. package/dist/utils-nTO4AnHo.js.map +0 -1
  428. package/dist/utils.js +0 -2
  429. package/dist/utils.js.map +0 -1
  430. package/dist/utils.mjs +0 -7
  431. package/dist/utils.mjs.map +0 -1
  432. package/src/adapters/videojs-adapter.js +0 -350
  433. package/src/components/AnimateLoading.js +0 -41
  434. package/src/components/LoadingState.js +0 -111
  435. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  436. package/src/components/audio-player.js +0 -31
  437. package/src/components/basic/index.js +0 -29
  438. package/src/components/enhanced/advanced-features.js +0 -64
  439. package/src/components/enhanced/debug-panel.js +0 -94
  440. package/src/components/enhanced/enhanced-controls.js +0 -233
  441. package/src/components/enhanced/enhanced-media-player.js +0 -316
  442. package/src/components/enhanced/error-handling.js +0 -153
  443. package/src/components/enhanced/index.js +0 -10
  444. package/src/components/enhanced/media-player-enhanced.js +0 -250
  445. package/src/components/examples/basic-video-player.js +0 -16
  446. package/src/components/examples/custom-controls-example.js +0 -12
  447. package/src/components/examples/enhanced-controls-example.js +0 -18
  448. package/src/components/examples/enhanced-media-player-example.js +0 -13
  449. package/src/components/examples/loading-states-demo.js +0 -41
  450. package/src/components/examples/react-19-demo.js +0 -104
  451. package/src/components/examples/volume-orientation-demo.js +0 -31
  452. package/src/components/icon-demo.js +0 -16
  453. package/src/components/icons/index.js +0 -59
  454. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  455. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  456. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  457. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  458. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  459. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  460. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  461. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  462. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  463. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  464. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  465. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  466. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  467. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  468. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  469. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  470. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  471. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  472. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  473. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  474. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  475. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  476. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  477. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  478. package/src/components/legacy.js +0 -52
  479. package/src/components/media-metadata-display.js +0 -20
  480. package/src/components/media-player-audio.js +0 -18
  481. package/src/components/media-player-controls.js +0 -150
  482. package/src/components/media-player-error.js +0 -85
  483. package/src/components/media-player-fullscreen.js +0 -68
  484. package/src/components/media-player-hls.js +0 -20
  485. package/src/components/media-player-loading.js +0 -53
  486. package/src/components/media-player-play.js +0 -44
  487. package/src/components/media-player-root.js +0 -243
  488. package/src/components/media-player-seek.js +0 -92
  489. package/src/components/media-player-time.js +0 -57
  490. package/src/components/media-player-tooltip.js +0 -14
  491. package/src/components/media-player-video.js +0 -18
  492. package/src/components/media-player-volume.js +0 -88
  493. package/src/components/media-player.js +0 -67
  494. package/src/components/media-suspense.js +0 -173
  495. package/src/components/player-settings-form.js +0 -46
  496. package/src/components/react-player-wrapper.js +0 -163
  497. package/src/components/simple-video-player.js +0 -41
  498. package/src/components/ui/enhanced-seek-bar.js +0 -112
  499. package/src/components/ui/fullscreen-button.js +0 -21
  500. package/src/components/ui/media-resource-preloader.js +0 -295
  501. package/src/components/ui/play-button.js +0 -26
  502. package/src/components/ui/seek-bar.js +0 -54
  503. package/src/components/ui/time-display.js +0 -18
  504. package/src/components/ui/volume-control.js +0 -71
  505. package/src/components/unified/base-media-player.js +0 -104
  506. package/src/components/unified/media-player.js +0 -41
  507. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  508. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  509. package/src/components/variants/minimal/MinimalControls.js +0 -19
  510. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  511. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  512. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  513. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  514. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  515. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  516. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  517. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  518. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  519. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  520. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  521. package/src/components/variants/minimal/components/RightControls.js +0 -40
  522. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  523. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  524. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  525. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  526. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  527. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  528. package/src/components/variants/minimal/index.js +0 -8
  529. package/src/components/video-player.js +0 -38
  530. package/src/context/error-handling.js +0 -300
  531. package/src/context/media-context.js +0 -121
  532. package/src/context/media-provider.js +0 -164
  533. package/src/context/media-store.js +0 -273
  534. package/src/context/persistence.js +0 -356
  535. package/src/core/events/event-system.js +0 -288
  536. package/src/core/events/hooks.js +0 -198
  537. package/src/core/events/index.js +0 -7
  538. package/src/core/events/middleware.js +0 -219
  539. package/src/core/index.js +0 -15
  540. package/src/core/optimization/bundle-optimizer.js +0 -217
  541. package/src/core/performance/cicd.js +0 -83
  542. package/src/core/performance/index.js +0 -14
  543. package/src/core/performance/media-loading-optimizer.js +0 -404
  544. package/src/core/performance/performance-budgets.js +0 -326
  545. package/src/core/performance/performance-monitor.js +0 -297
  546. package/src/core/performance/performance-testing.js +0 -314
  547. package/src/core/plugins/base-plugin.js +0 -151
  548. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  549. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  550. package/src/core/plugins/index.js +0 -9
  551. package/src/core/plugins/registry.js +0 -261
  552. package/src/core/plugins/types.js +0 -31
  553. package/src/core/plugins/utils.js +0 -274
  554. package/src/core/progressive-loading.js +0 -239
  555. package/src/core/providers/enhanced-hls-provider.js +0 -273
  556. package/src/core/providers/service-provider.js +0 -105
  557. package/src/core/utils.js +0 -21
  558. package/src/features/media-session/media-session-manager.js +0 -331
  559. package/src/features/picture-in-picture/pip-manager.js +0 -353
  560. package/src/features/playlist/playlist-manager.js +0 -475
  561. package/src/features/subtitles/subtitle-manager.js +0 -335
  562. package/src/features/subtitles/subtitle-parser.js +0 -217
  563. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  564. package/src/hooks/accessibility/index.js +0 -4
  565. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  566. package/src/hooks/accessibility/use-focus-management.js +0 -142
  567. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  568. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  569. package/src/hooks/core/index.js +0 -19
  570. package/src/hooks/legacy.js +0 -17
  571. package/src/hooks/use-enhanced-media-player.js +0 -395
  572. package/src/hooks/use-intelligent-preloading.js +0 -258
  573. package/src/hooks/use-keyboard-controls.js +0 -83
  574. package/src/hooks/use-media-actions.js +0 -121
  575. package/src/hooks/use-media-metadata.js +0 -74
  576. package/src/hooks/use-media-optimistic.js +0 -205
  577. package/src/hooks/use-media-player.js +0 -251
  578. package/src/hooks/use-media-state.js +0 -162
  579. package/src/hooks/use-memory-optimization.js +0 -288
  580. package/src/hooks/use-optimistic-controls.js +0 -60
  581. package/src/hooks/use-optimized-media.js +0 -211
  582. package/src/hooks/use-touch-gestures.js +0 -289
  583. package/src/hooks/useEnhancedSubtitles.js +0 -205
  584. package/src/hooks/useKeyboardShortcuts.js +0 -59
  585. package/src/hooks/useMediaControls.js +0 -44
  586. package/src/hooks/useScreenshot.js +0 -56
  587. package/src/hooks/useSubtitles.js +0 -73
  588. package/src/hooks/useVideoPlayer.js +0 -184
  589. package/src/icons/components/FullscreenIcon.js +0 -11
  590. package/src/icons/components/SettingsIcon.js +0 -11
  591. package/src/icons/components/animated/LoadingIcon.js +0 -11
  592. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  593. package/src/icons/components/media/PauseIcon.js +0 -12
  594. package/src/icons/components/media/PlayIcon.js +0 -12
  595. package/src/icons/components/volume/VolumeIcon.js +0 -11
  596. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  597. package/src/icons/index.js +0 -45
  598. package/src/icons/provider.js +0 -37
  599. package/src/icons/types.js +0 -1
  600. package/src/index-enhanced.js +0 -16
  601. package/src/index-legacy.js +0 -97
  602. package/src/index.js +0 -90
  603. package/src/index.minimal.js +0 -3
  604. package/src/lib/deprecation.js +0 -31
  605. package/src/lib/format-time.js +0 -32
  606. package/src/lib/index.js +0 -3
  607. package/src/lib/utils.js +0 -5
  608. package/src/test/setup.js +0 -65
  609. package/src/types/events.js +0 -2
  610. package/src/types/formats.js +0 -63
  611. package/src/types/index.js +0 -4
@@ -1,316 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Enhanced Media Player with all optimizations applied
4
- * Integrates React 19 features, HLS optimization, and intelligent preloading
5
- */
6
- import { useRef, useState, useEffect, useCallback, useMemo, useTransition, useOptimistic, useDeferredValue, } from 'react';
7
- import { MediaResourcePreloader } from '../ui/media-resource-preloader';
8
- import { useIntelligentPreloading } from '../../hooks/use-intelligent-preloading';
9
- import { EnhancedHLSProvider, ENHANCED_HLS_DEFAULTS } from '../../core/providers/enhanced-hls-provider';
10
- import { EnhancedPluginManager } from '../../core/plugins/enhanced-plugin-system';
11
- import { cn } from '../../lib/utils';
12
- /**
13
- * Enhanced Media Player Component
14
- */
15
- export const EnhancedMediaPlayer = ({ src, sources, poster, autoPlay = false, muted = false, loop = false, controls = true, className, enableEnhancedHLS = true, enableIntelligentPreloading = true, enablePerformanceMonitoring = process.env.NODE_ENV === 'development', hlsConfig = {}, preloadingStrategy = 'balanced', showDebugPanel = false, onPlay, onPause, onEnded, onError, onTimeUpdate, onLoadStart, onCanPlay, ...props }) => {
16
- const videoRef = useRef(null);
17
- const containerRef = useRef(null);
18
- const hlsProviderRef = useRef(null);
19
- const pluginManagerRef = useRef(null);
20
- // React 19 concurrent features
21
- const [isPending, startTransition] = useTransition();
22
- const optimisticState = useOptimistic({ isPlaying: false, volume: 1 }, (state, update) => ({ ...state, ...update }));
23
- // Media state
24
- const [mediaState, setMediaState] = useState({
25
- isPlaying: false,
26
- currentTime: 0,
27
- duration: 0,
28
- volume: 1,
29
- isMuted: muted,
30
- isFullscreen: false,
31
- isBuffering: false,
32
- quality: 0,
33
- error: null,
34
- });
35
- // Performance metrics
36
- const [performanceMetrics, setPerformanceMetrics] = useState({
37
- fps: 0,
38
- memoryUsage: 0,
39
- bufferHealth: 0,
40
- networkBandwidth: 0,
41
- droppedFrames: 0,
42
- });
43
- // Deferred values for non-critical updates
44
- const deferredCurrentTime = useDeferredValue(mediaState.currentTime);
45
- const deferredVolume = useDeferredValue(mediaState.volume);
46
- // Prepare media sources
47
- const mediaSources = useMemo(() => {
48
- if (sources) {
49
- return sources;
50
- }
51
- if (src) {
52
- const extension = src.split('.').pop()?.toLowerCase();
53
- const type = getMediaTypeFromExtension(extension);
54
- return [{ src, type }];
55
- }
56
- return [];
57
- }, [src, sources]);
58
- // Intelligent preloading
59
- const preloadingControls = useIntelligentPreloading(mediaSources, {
60
- trackUserBehavior: enableIntelligentPreloading,
61
- adaptToNetwork: true,
62
- strategy: preloadingStrategy,
63
- maxPreloadItems: 3,
64
- });
65
- // Initialize HLS provider
66
- const initializeHLS = useCallback(async () => {
67
- if (!videoRef.current || !enableEnhancedHLS)
68
- return;
69
- const hlsConfig = { ...ENHANCED_HLS_DEFAULTS, ...hlsConfig };
70
- const provider = new EnhancedHLSProvider(hlsConfig);
71
- hlsProviderRef.current = provider;
72
- try {
73
- const hls = provider.initialize(videoRef.current, mediaSources[0].src, {
74
- hlsConfig: hlsConfig,
75
- onError: handleMediaError,
76
- });
77
- // Setup HLS event listeners
78
- hls.on(Hls.Events.LEVEL_SWITCHED, handleQualityChange);
79
- hls.on(Hls.Events.FRAG_BUFFERED, handleFragmentBuffered);
80
- hls.on(Hls.Events.ERROR, handleHLSError);
81
- }
82
- catch (error) {
83
- console.error('HLS initialization failed:', error);
84
- fallbackToNativePlayback();
85
- }
86
- }, [enableEnhancedHLS, hlsConfig, mediaSources]);
87
- // Fallback to native playback
88
- const fallbackToNativePlayback = useCallback(() => {
89
- if (!videoRef.current || !mediaSources[0])
90
- return;
91
- const source = document.createElement('source');
92
- source.src = mediaSources[0].src;
93
- source.type = getMediaTypeFromUrl(mediaSources[0].src);
94
- videoRef.current.appendChild(source);
95
- videoRef.current.load();
96
- }, [mediaSources]);
97
- // Media event handlers
98
- const handlePlay = useCallback(() => {
99
- startTransition(() => {
100
- setMediaState(prev => ({ ...prev, isPlaying: true }));
101
- });
102
- onPlay?.();
103
- }, [onPlay]);
104
- const handlePause = useCallback(() => {
105
- startTransition(() => {
106
- setMediaState(prev => ({ ...prev, isPlaying: false }));
107
- });
108
- onPause?.();
109
- }, [onPause]);
110
- const handleEnded = useCallback(() => {
111
- startTransition(() => {
112
- setMediaState(prev => ({ ...prev, isPlaying: false }));
113
- });
114
- onEnded?.();
115
- }, [onEnded]);
116
- const handleTimeUpdate = useCallback(() => {
117
- if (!videoRef.current)
118
- return;
119
- startTransition(() => {
120
- setMediaState(prev => ({
121
- ...prev,
122
- currentTime: videoRef.current.currentTime,
123
- }));
124
- });
125
- onTimeUpdate?.();
126
- }, [onTimeUpdate]);
127
- const handleLoadedMetadata = useCallback(() => {
128
- if (!videoRef.current)
129
- return;
130
- startTransition(() => {
131
- setMediaState(prev => ({
132
- ...prev,
133
- duration: videoRef.current.duration,
134
- }));
135
- });
136
- }, []);
137
- const handleVolumeChange = useCallback(() => {
138
- if (!videoRef.current)
139
- return;
140
- startTransition(() => {
141
- setMediaState(prev => ({
142
- ...prev,
143
- volume: videoRef.current.volume,
144
- isMuted: videoRef.current.muted,
145
- }));
146
- });
147
- }, []);
148
- const handleQualityChange = useCallback((event, data) => {
149
- startTransition(() => {
150
- setMediaState(prev => ({ ...prev, quality: data.level }));
151
- });
152
- }, []);
153
- const handleFragmentBuffered = useCallback(() => {
154
- // Update buffer health
155
- if (videoRef.current) {
156
- const buffered = videoRef.current.buffered;
157
- const currentTime = videoRef.current.currentTime;
158
- let bufferHealth = 0;
159
- for (let i = 0; i < buffered.length; i++) {
160
- const start = buffered.start(i);
161
- const end = buffered.end(i);
162
- if (start <= currentTime && end > currentTime) {
163
- bufferHealth = end - currentTime;
164
- break;
165
- }
166
- }
167
- setPerformanceMetrics(prev => ({ ...prev, bufferHealth }));
168
- }
169
- }, []);
170
- const handleMediaError = useCallback((error) => {
171
- startTransition(() => {
172
- setMediaState(prev => ({ ...prev, error }));
173
- });
174
- onError?.(error);
175
- }, [onError]);
176
- const handleHLSError = useCallback((event, data) => {
177
- if (data.fatal) {
178
- console.error('Fatal HLS error:', data);
179
- handleMediaError(new Error(`HLS Error: ${data.details}`));
180
- }
181
- }, [handleMediaError]);
182
- // Performance monitoring
183
- useEffect(() => {
184
- if (!enablePerformanceMonitoring)
185
- return;
186
- let frameCount = 0;
187
- let lastTime = performance.now();
188
- const measureFPS = () => {
189
- frameCount++;
190
- const currentTime = performance.now();
191
- if (currentTime - lastTime >= 1000) {
192
- const fps = Math.round((frameCount * 1000) / (currentTime - lastTime));
193
- setPerformanceMetrics(prev => ({ ...prev, fps }));
194
- frameCount = 0;
195
- lastTime = currentTime;
196
- }
197
- if (videoRef.current && !videoRef.current.paused) {
198
- requestAnimationFrame(measureFPS);
199
- }
200
- };
201
- if (videoRef.current) {
202
- videoRef.current.addEventListener('play', measureFPS);
203
- }
204
- return () => {
205
- if (videoRef.current) {
206
- videoRef.current.removeEventListener('play', measureFPS);
207
- }
208
- };
209
- }, [enablePerformanceMonitoring]);
210
- // Memory monitoring
211
- useEffect(() => {
212
- if (!enablePerformanceMonitoring || !('memory' in performance))
213
- return;
214
- const interval = setInterval(() => {
215
- const memory = performance.memory;
216
- setPerformanceMetrics(prev => ({
217
- ...prev,
218
- memoryUsage: memory.usedJSHeapSize / 1024 / 1024, // MB
219
- }));
220
- }, 2000);
221
- return () => clearInterval(interval);
222
- }, [enablePerformanceMonitoring]);
223
- // Initialize player
224
- useEffect(() => {
225
- if (!videoRef.current || mediaSources.length === 0)
226
- return;
227
- // Setup native event listeners
228
- const video = videoRef.current;
229
- video.addEventListener('play', handlePlay);
230
- video.addEventListener('pause', handlePause);
231
- video.addEventListener('ended', handleEnded);
232
- video.addEventListener('timeupdate', handleTimeUpdate);
233
- video.addEventListener('loadedmetadata', handleLoadedMetadata);
234
- video.addEventListener('volumechange', handleVolumeChange);
235
- video.addEventListener('loadstart', onLoadStart);
236
- video.addEventListener('canplay', onCanPlay);
237
- // Initialize HLS if needed
238
- if (mediaSources[0].type === 'hls' && enableEnhancedHLS) {
239
- initializeHLS();
240
- }
241
- else {
242
- fallbackToNativePlayback();
243
- }
244
- // Initialize plugin manager
245
- if (video) {
246
- pluginManagerRef.current = new EnhancedPluginManager(video);
247
- }
248
- return () => {
249
- // Cleanup
250
- video.removeEventListener('play', handlePlay);
251
- video.removeEventListener('pause', handlePause);
252
- video.removeEventListener('ended', handleEnded);
253
- video.removeEventListener('timeupdate', handleTimeUpdate);
254
- video.removeEventListener('loadedmetadata', handleLoadedMetadata);
255
- video.removeEventListener('volumechange', handleVolumeChange);
256
- video.removeEventListener('loadstart', onLoadStart);
257
- video.removeEventListener('canplay', onCanPlay);
258
- hlsProviderRef.current?.destroy();
259
- pluginManagerRef.current?.dispose();
260
- };
261
- }, [
262
- mediaSources,
263
- enableEnhancedHLS,
264
- handlePlay,
265
- handlePause,
266
- handleEnded,
267
- handleTimeUpdate,
268
- handleLoadedMetadata,
269
- handleVolumeChange,
270
- onLoadStart,
271
- onCanPlay,
272
- initializeHLS,
273
- fallbackToNativePlayback,
274
- ]);
275
- // Auto-play handling
276
- useEffect(() => {
277
- if (autoPlay && videoRef.current) {
278
- videoRef.current.play().catch(error => {
279
- console.warn('Auto-play failed:', error);
280
- });
281
- }
282
- }, [autoPlay]);
283
- // Render debug panel
284
- const DebugPanel = useMemo(() => {
285
- if (!showDebugPanel || process.env.NODE_ENV !== 'development')
286
- return null;
287
- return (_jsxs("div", { className: "fixed top-4 right-4 z-50 rounded-lg bg-black/80 p-4 font-mono text-white text-xs", children: [_jsx("h3", { className: "mb-2 font-bold", children: "Performance Metrics" }), _jsxs("div", { children: ["FPS: ", performanceMetrics.fps] }), _jsxs("div", { children: ["Memory: ", performanceMetrics.memoryUsage.toFixed(2), " MB"] }), _jsxs("div", { children: ["Buffer: ", performanceMetrics.bufferHealth.toFixed(2), "s"] }), _jsxs("div", { children: ["Time: ", deferredCurrentTime.toFixed(2), "s / ", mediaState.duration.toFixed(2), "s"] }), _jsxs("div", { children: ["Volume: ", Math.round(deferredVolume * 100), "%"] }), _jsxs("div", { children: ["Quality: ", mediaState.quality] }), _jsxs("div", { children: ["Playing: ", mediaState.isPlaying ? 'Yes' : 'No'] }), _jsxs("div", { children: ["Buffering: ", isPending ? 'Yes' : 'No'] }), _jsx("h3", { className: "mt-3 mb-2 font-bold", children: "Preloading Stats" }), _jsxs("div", { children: ["Preloaded: ", preloadingControls.getStats().preloadedItems] }), _jsxs("div", { children: ["Engagement: ", preloadingControls.getStats().engagementScore.toFixed(1), "%"] }), _jsxs("div", { children: ["Queue: ", preloadingControls.getStats().queueLength] })] }));
288
- }, [showDebugPanel, performanceMetrics, deferredCurrentTime, deferredVolume, mediaState, isPending, preloadingControls]);
289
- return (_jsxs("div", { ref: containerRef, className: cn("relative aspect-video overflow-hidden rounded-lg bg-black", className), ...props, children: [enableIntelligentPreloading && (_jsx(MediaResourcePreloader, { sources: mediaSources, enableIntelligentPreloading: true, adaptToNetworkConditions: true, priority: "auto", strategy: preloadingStrategy })), _jsx("video", { ref: videoRef, className: "h-full w-full", poster: poster, muted: muted, loop: loop, playsInline: true, preload: "metadata", crossOrigin: "anonymous" }), isPending && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/50", children: _jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-white border-t-transparent" }) })), mediaState.error && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/75", children: _jsxs("div", { className: "p-4 text-center text-white", children: [_jsx("h3", { className: "mb-2 font-semibold text-lg", children: "Playback Error" }), _jsx("p", { className: "text-sm opacity-75", children: mediaState.error.message })] }) })), controls && (_jsx("div", { className: "absolute right-0 bottom-0 left-0" })), DebugPanel] }));
290
- };
291
- // Helper functions
292
- function getMediaTypeFromExtension(extension) {
293
- switch (extension) {
294
- case 'mp4':
295
- return 'video/mp4';
296
- case 'webm':
297
- return 'video/webm';
298
- case 'ogg':
299
- return 'video/ogg';
300
- case 'mp3':
301
- return 'audio/mp3';
302
- case 'wav':
303
- return 'audio/wav';
304
- case 'm3u8':
305
- return 'hls';
306
- case 'hls':
307
- return 'hls';
308
- default:
309
- return 'video/mp4';
310
- }
311
- }
312
- function getMediaTypeFromUrl(url) {
313
- const extension = url.split('.').pop()?.toLowerCase();
314
- return getMediaTypeFromExtension(extension);
315
- }
316
- export default EnhancedMediaPlayer;
@@ -1,153 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React from "react";
4
- import { useMediaSelector, useMediaDispatch, MediaActionTypes } from "../../context/media-context";
5
- import { cn } from "../../lib/utils";
6
- // Enhanced loading component with skeleton and progress
7
- export const EnhancedLoading = function EnhancedLoading({ className, showProgress = false, message = "Loading..." }) {
8
- const isLoading = useMediaSelector(state => state.isLoading);
9
- const [progress, setProgress] = React.useState(0);
10
- // Simulate loading progress for better UX
11
- React.useEffect(() => {
12
- if (!isLoading) {
13
- setProgress(0);
14
- return;
15
- }
16
- const interval = setInterval(() => {
17
- setProgress(prev => {
18
- if (prev >= 90)
19
- return prev;
20
- return prev + Math.random() * 10;
21
- });
22
- }, 200);
23
- return () => clearInterval(interval);
24
- }, [isLoading]);
25
- if (!isLoading)
26
- return null;
27
- return (_jsx("div", { className: cn("absolute inset-0 z-40 flex items-center justify-center bg-black/50 backdrop-blur-sm", className), children: _jsxs("div", { className: "flex flex-col items-center gap-4 text-white", children: [_jsxs("div", { className: "relative", children: [_jsx("div", { className: "h-12 w-12 animate-spin rounded-full border-4 border-white/20 border-t-white" }), showProgress && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsxs("span", { className: "font-medium text-xs", children: [Math.round(progress), "%"] }) }))] }), _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "font-medium text-sm", children: message }), showProgress && (_jsx("div", { className: "mt-2 h-1 w-48 overflow-hidden rounded-full bg-white/20", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300 ease-out", style: { width: `${progress}%` } }) }))] })] }) }));
28
- };
29
- // Enhanced error component with retry and detailed messages
30
- export const EnhancedError = function EnhancedError({ className, onRetry, showDetails = false }) {
31
- const error = useMediaSelector(state => state.error);
32
- const dispatch = useMediaDispatch();
33
- const [showFullError, setShowFullError] = React.useState(false);
34
- const handleRetry = React.useCallback(() => {
35
- dispatch({ type: MediaActionTypes.SET_ERROR, detail: null });
36
- onRetry?.();
37
- }, [dispatch, onRetry]);
38
- const handleDismiss = React.useCallback(() => {
39
- dispatch({ type: MediaActionTypes.SET_ERROR, detail: null });
40
- }, [dispatch]);
41
- if (!error)
42
- return null;
43
- // Parse error types for better user messages
44
- const getErrorMessage = (error) => {
45
- if (error.includes('network') || error.includes('fetch')) {
46
- return {
47
- title: "Network Error",
48
- message: "Unable to load the video. Please check your internet connection.",
49
- icon: "🌐"
50
- };
51
- }
52
- if (error.includes('format') || error.includes('codec')) {
53
- return {
54
- title: "Format Not Supported",
55
- message: "This video format is not supported by your browser.",
56
- icon: "🎥"
57
- };
58
- }
59
- if (error.includes('permission') || error.includes('cors')) {
60
- return {
61
- title: "Access Denied",
62
- message: "Unable to access the video due to permission restrictions.",
63
- icon: "🔒"
64
- };
65
- }
66
- return {
67
- title: "Playback Error",
68
- message: "An error occurred while trying to play the video.",
69
- icon: "⚠️"
70
- };
71
- };
72
- const errorInfo = getErrorMessage(error);
73
- return (_jsx("div", { className: cn("absolute inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm", className), children: _jsxs("div", { className: "mx-4 max-w-md rounded-lg border border-red-500/20 bg-black/90 p-6 text-center", children: [_jsx("div", { className: "mb-4 text-4xl", children: errorInfo.icon }), _jsx("h3", { className: "mb-2 font-semibold text-lg text-white", children: errorInfo.title }), _jsx("p", { className: "mb-4 text-sm text-white/80", children: errorInfo.message }), showDetails && (_jsxs("div", { className: "mb-4", children: [_jsxs("button", { onClick: () => setShowFullError(!showFullError), className: "text-white/60 text-xs transition-colors hover:text-white/80", children: [showFullError ? "Hide" : "Show", " technical details"] }), showFullError && (_jsx("div", { className: "mt-2 rounded border border-red-500/30 bg-red-900/20 p-3", children: _jsx("code", { className: "break-all text-red-300 text-xs", children: error }) }))] })), _jsxs("div", { className: "flex justify-center gap-3", children: [onRetry && (_jsx("button", { onClick: handleRetry, className: "rounded-lg bg-primary px-4 py-2 font-medium text-sm text-white transition-colors hover:bg-primary/80", children: "Try Again" })), _jsx("button", { onClick: handleDismiss, className: "rounded-lg bg-white/10 px-4 py-2 font-medium text-sm text-white transition-colors hover:bg-white/20", children: "Dismiss" })] })] }) }));
74
- };
75
- export class MediaPlayerErrorBoundary extends React.Component {
76
- constructor(props) {
77
- super(props);
78
- this.state = { hasError: false };
79
- }
80
- static getDerivedStateFromError(error) {
81
- return { hasError: true, error };
82
- }
83
- componentDidCatch(error, errorInfo) {
84
- console.error('MediaPlayer Error:', error, errorInfo);
85
- }
86
- retry = () => {
87
- this.setState({ hasError: false, error: undefined });
88
- };
89
- render() {
90
- if (this.state.hasError) {
91
- if (this.props.fallback) {
92
- const Fallback = this.props.fallback;
93
- return _jsx(Fallback, { error: this.state.error, retry: this.retry });
94
- }
95
- return (_jsx("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm", children: _jsxs("div", { className: "mx-4 max-w-md rounded-lg border border-red-500/20 bg-black/90 p-6 text-center", children: [_jsx("div", { className: "mb-4 text-4xl", children: "\uD83D\uDCA5" }), _jsx("h3", { className: "mb-2 font-semibold text-lg text-white", children: "Something went wrong" }), _jsx("p", { className: "mb-4 text-sm text-white/80", children: "The media player encountered an unexpected error." }), _jsx("button", { onClick: this.retry, className: "rounded-lg bg-primary px-4 py-2 font-medium text-sm text-white transition-colors hover:bg-primary/80", children: "Reload Player" })] }) }));
96
- }
97
- return this.props.children;
98
- }
99
- }
100
- // Connection status indicator
101
- export const ConnectionStatus = function ConnectionStatus({ className }) {
102
- const [isOnline, setIsOnline] = React.useState(navigator.onLine);
103
- const [showOfflineMessage, setShowOfflineMessage] = React.useState(false);
104
- React.useEffect(() => {
105
- const handleOnline = () => {
106
- setIsOnline(true);
107
- setShowOfflineMessage(false);
108
- };
109
- const handleOffline = () => {
110
- setIsOnline(false);
111
- setShowOfflineMessage(true);
112
- };
113
- window.addEventListener('online', handleOnline);
114
- window.addEventListener('offline', handleOffline);
115
- return () => {
116
- window.removeEventListener('online', handleOnline);
117
- window.removeEventListener('offline', handleOffline);
118
- };
119
- }, []);
120
- if (!showOfflineMessage)
121
- return null;
122
- return (_jsx("div", { className: cn("absolute top-4 right-4 left-4 z-50 rounded-lg border border-orange-400/30 bg-orange-500/90 p-3 backdrop-blur-sm", className), children: _jsxs("div", { className: "flex items-center gap-3 text-white", children: [_jsx("div", { className: "h-2 w-2 animate-pulse rounded-full bg-orange-300" }), _jsx("span", { className: "font-medium text-sm", children: "You're offline. Video playback may be affected." })] }) }));
123
- };
124
- // Buffer health indicator
125
- export const BufferHealthIndicator = function BufferHealthIndicator({ className }) {
126
- const buffered = useMediaSelector(state => state.buffered);
127
- const currentTime = useMediaSelector(state => state.currentTime);
128
- const duration = useMediaSelector(state => state.duration);
129
- const bufferHealth = React.useMemo(() => {
130
- if (!buffered || duration === 0)
131
- return 0;
132
- let bufferedAhead = 0;
133
- for (let i = 0; i < buffered.length; i++) {
134
- const start = buffered.start(i);
135
- const end = buffered.end(i);
136
- if (start <= currentTime && end > currentTime) {
137
- bufferedAhead = end - currentTime;
138
- break;
139
- }
140
- }
141
- return Math.min(100, (bufferedAhead / 30) * 100); // 30 seconds = 100%
142
- }, [buffered, currentTime, duration]);
143
- const getHealthColor = (health) => {
144
- if (health > 70)
145
- return "bg-green-500";
146
- if (health > 30)
147
- return "bg-yellow-500";
148
- return "bg-red-500";
149
- };
150
- if (bufferHealth > 80)
151
- return null; // Don't show when buffer is healthy
152
- return (_jsx("div", { className: cn("absolute top-4 right-4 z-40 rounded-lg border border-white/20 bg-black/80 p-2 backdrop-blur-sm", className), children: _jsxs("div", { className: "flex items-center gap-2 text-white text-xs", children: [_jsx("span", { children: "Buffer:" }), _jsx("div", { className: "h-1 w-16 overflow-hidden rounded-full bg-white/20", children: _jsx("div", { className: cn("h-full transition-all duration-300", getHealthColor(bufferHealth)), style: { width: `${bufferHealth}%` } }) }), _jsxs("span", { children: [Math.round(bufferHealth), "%"] })] }) }));
153
- };
@@ -1,10 +0,0 @@
1
- // Enhanced Components with Advanced Features
2
- export { ChaptersPanel, PictureInPictureButton, PlaybackSpeedSelector, QualitySelector, SubtitleSelector } from "./advanced-features";
3
- // Enhanced Control Components
4
- export { EnhancedPlayButton, EnhancedSeekBar, EnhancedTimeDisplay, EnhancedVolumeControl, EnhancedBackwardButton, EnhancedForwardButton, EnhancedControlBar } from "./enhanced-controls";
5
- // Enhanced Error Handling
6
- export { BufferHealthIndicator, ConnectionStatus, EnhancedError, EnhancedLoading, MediaPlayerErrorBoundary } from "./error-handling";
7
- // Main Enhanced Media Player
8
- export { EnhancedMediaPlayer } from "./media-player-enhanced";
9
- // Enhanced Examples
10
- export { EnhancedControlsExample, CustomEnhancedControlsExample, SkipButtonsOnlyExample } from "../examples/enhanced-controls-example";