@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,104 +0,0 @@
1
- /**
2
- * Base Media Player - Core unified functionality for video and audio
3
- * This consolidates the logic from MediaPlayer, VideoPlayer, and AudioPlayer
4
- */
5
- "use client";
6
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
- import { forwardRef, useMemo, useTransition } from "react";
8
- import { useKeyboardControls } from "../../hooks/use-keyboard-controls";
9
- import { useEnhancedMediaPlayer } from "../../hooks/use-enhanced-media-player";
10
- import { useMemoryOptimization } from "../../hooks/use-memory-optimization";
11
- import { EnhancedMediaWrapper } from "../media-suspense";
12
- import { cn } from "../../lib/utils";
13
- export const BaseMediaPlayer = forwardRef(({ src, mediaType = 'auto', className, children, keyboardControls = true, showControls = true, customControls = false, crossOrigin, enablePerformanceMonitoring = true, bufferingStrategy = "adaptive", preloadStrategy = "progressive", enableOptimizations = true,
14
- // Video-specific props
15
- poster, aspectRatio = "16/9", width = "100%", height = "auto", ...options }, ref) => {
16
- // React 19 concurrent features
17
- const [isPending] = useTransition();
18
- // Auto-detect media type if not specified
19
- const detectedMediaType = useMemo(() => {
20
- if (mediaType !== 'auto')
21
- return mediaType;
22
- // Simple detection based on file extension
23
- if (typeof src === 'string') {
24
- const videoExtensions = ['.mp4', '.webm', '.ogg', '.mov', '.avi', '.mkv'];
25
- const audioExtensions = ['.mp3', '.wav', '.ogg', '.aac', '.flac', '.m4a'];
26
- const extension = src.toLowerCase().split('.').pop();
27
- if (extension && videoExtensions.some(ext => extension.endsWith(ext))) {
28
- return 'video';
29
- }
30
- if (extension && audioExtensions.some(ext => extension.endsWith(ext))) {
31
- return 'audio';
32
- }
33
- }
34
- // Default to video for unknown types
35
- return 'video';
36
- }, [src, mediaType]);
37
- // Enhanced media player with optimizations
38
- const { state, controls, mediaRef, containerRef, performanceMetrics, isEnhanced } = useEnhancedMediaPlayer({
39
- src,
40
- crossOrigin,
41
- enablePerformanceMonitoring,
42
- bufferingStrategy,
43
- preloadStrategy,
44
- enableTimeUpdateThrottling: true,
45
- timeUpdateThrottleMs: 100,
46
- enableSeekPreview: true,
47
- ...options
48
- });
49
- // Memory optimization
50
- const { memoryStats, addEventListener } = useMemoryOptimization({
51
- maxMemoryUsage: 50, // 50MB for media player
52
- cleanupInterval: 15000, // 15 seconds
53
- enableGC: true,
54
- monitorMemory: enableOptimizations
55
- });
56
- // Keyboard controls
57
- useKeyboardControls({
58
- enabled: keyboardControls,
59
- state,
60
- controls
61
- });
62
- // Determine the media element based on type
63
- const MediaElement = useMemo(() => {
64
- const commonProps = {
65
- ref: mediaRef,
66
- src,
67
- className: cn("w-full h-full", state.isLoading && "opacity-0", !customControls && showControls && "cursor-pointer"),
68
- onPlay: controls.play,
69
- onPause: controls.pause,
70
- onVolumeChange: (e) => controls.setVolume(e.target.volume),
71
- onTimeUpdate: (e) => controls.setCurrentTime(e.target.currentTime),
72
- onSeeked: (e) => controls.setCurrentTime(e.target.currentTime),
73
- crossOrigin
74
- };
75
- if (detectedMediaType === 'audio') {
76
- return (_jsxs("audio", { ...commonProps, controls: !customControls && showControls, children: [src && _jsx("source", { src: typeof src === 'string' ? src : src.src }), "Your browser does not support the audio element."] }));
77
- }
78
- // Video (default)
79
- return (_jsxs("video", { ...commonProps, poster: poster, muted: state.isMuted, playsInline: true, controls: !customControls && showControls, children: [Array.isArray(src) ? (src.map((source, index) => (_jsx("source", { src: source.src, type: source.type }, index)))) : src ? (_jsx("source", { src: typeof src === 'string' ? src : src.src })) : null, "Your browser does not support the video element."] }));
80
- }, [detectedMediaType, src, mediaRef, state, controls, customControls, showControls, poster]);
81
- // Container styles based on media type
82
- const containerStyles = useMemo(() => {
83
- if (detectedMediaType === 'audio') {
84
- return cn("relative bg-gradient-to-br from-gray-900 to-gray-800 rounded-lg overflow-hidden", "flex items-center justify-center p-8", className);
85
- }
86
- // Video styles
87
- return cn("relative bg-black rounded-lg overflow-hidden", className);
88
- }, [detectedMediaType, className]);
89
- // Video-specific aspect ratio
90
- const aspectRatioStyles = useMemo(() => {
91
- if (detectedMediaType === 'video' && aspectRatio) {
92
- return {
93
- aspectRatio,
94
- width: typeof width === 'number' ? `${width}px` : width,
95
- height: typeof height === 'number' ? `${height}px` : height
96
- };
97
- }
98
- return {};
99
- }, [detectedMediaType, aspectRatio, width, height]);
100
- return (_jsx(EnhancedMediaWrapper, { children: _jsxs("div", { ref: containerRef, className: containerStyles, style: aspectRatioStyles, "data-media-type": detectedMediaType, "data-enhanced": isEnhanced, children: [MediaElement, state.isLoading && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/50 backdrop-blur-sm", children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-4 border-white/20 border-t-white" }), _jsx("p", { className: "font-medium text-sm text-white", children: state.isBuffering ? "Buffering..." : "Loading..." })] }) })), state.error && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/50 backdrop-blur-sm", children: _jsxs("div", { className: "p-4 text-center text-white", children: [_jsx("div", { className: "mb-2 text-lg text-red-400", children: "\u26A0\uFE0F" }), _jsx("p", { className: "text-sm", children: "Failed to load media" }), _jsx("p", { className: "mt-1 text-xs opacity-75", children: state.error.message })] }) })), children && (_jsx("div", { className: "pointer-events-none absolute inset-0", children: typeof children === "function"
101
- ? children({ state, controls, mediaType: detectedMediaType })
102
- : children })), process.env.NODE_ENV === 'development' && enablePerformanceMonitoring && (_jsxs("div", { className: "absolute bottom-2 left-2 rounded bg-black/50 px-2 py-1 text-white text-xs", children: [_jsxs("div", { children: ["FPS: ", performanceMetrics.frameRate || 0] }), _jsxs("div", { children: ["Memory: ", memoryStats.usage.toFixed(1), "MB"] }), _jsxs("div", { children: ["Type: ", detectedMediaType] }), isEnhanced && _jsx("div", { children: "Enhanced \u2713" })] }))] }) }));
103
- });
104
- BaseMediaPlayer.displayName = "BaseMediaPlayer";
@@ -1,41 +0,0 @@
1
- /**
2
- * Unified MediaPlayer - The primary media player component
3
- * Consolidates MediaPlayer, VideoPlayer, and AudioPlayer into one component
4
- */
5
- "use client";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { forwardRef } from "react";
8
- import { BaseMediaPlayer } from "./base-media-player";
9
- /**
10
- * The primary MediaPlayer component
11
- *
12
- * @example
13
- * // Video player (auto-detected)
14
- * <MediaPlayer src="/video.mp4" poster="/poster.jpg" />
15
- *
16
- * @example
17
- * // Audio player (auto-detected)
18
- * <MediaPlayer src="/audio.mp3" />
19
- *
20
- * @example
21
- * // Explicit media type
22
- * <MediaPlayer src="/media.mp4" mediaType="video" />
23
- */
24
- export const MediaPlayer = forwardRef((props, ref) => {
25
- return _jsx(BaseMediaPlayer, { ...props, ref: ref });
26
- });
27
- MediaPlayer.displayName = "MediaPlayer";
28
- /**
29
- * Video-specific component with video defaults
30
- */
31
- export const VideoPlayer = forwardRef((props, ref) => {
32
- return (_jsx(BaseMediaPlayer, { ...props, ref: ref, mediaType: "video", aspectRatio: props.aspectRatio || "16/9", showControls: props.showControls ?? true }));
33
- });
34
- VideoPlayer.displayName = "VideoPlayer";
35
- /**
36
- * Audio-specific component with audio defaults
37
- */
38
- export const AudioPlayer = forwardRef((props, ref) => {
39
- return (_jsx(BaseMediaPlayer, { ...props, ref: ref, mediaType: "audio", showControls: props.showControls ?? true }));
40
- });
41
- AudioPlayer.displayName = "AudioPlayer";
@@ -1,322 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useCallback, useEffect, useRef, useState } from "react";
4
- import { MediaPlayerRoot } from "../../media-player-root";
5
- import { MediaPlayerVideo } from "../../media-player-video";
6
- import { MinimalControls } from "./MinimalControls";
7
- import { MinimalOverlay } from "./MinimalOverlay";
8
- import { MinimalLoading } from "./MinimalLoading";
9
- import { cn } from "../../../lib/utils";
10
- import { defaultMinimalIcons } from "../../icons";
11
- import { useKeyboardShortcuts, createMediaKeyboardShortcuts, useMediaPlayerFocus, useMediaScreenReader, useAccessibilityStyles, useFocusVisible } from '../../../hooks/accessibility';
12
- import { KeyboardHelpOverlay } from '../../accessibility/keyboard-help-overlay';
13
- export function AccessibleMinimalPlayer({ src, poster, autoPlay = false, muted = false, loop = false, autoHideControls = true, hideDelay = 2500, theme = "dark", customIcons, showCenterPlayButton = true, showLoadingSpinner = true, className, onPlay, onPause, onEnded, onTimeUpdate, onVolumeChange, onSeek, onError, watermark, qualities, showQualitySelector = false, showSpeedControl = false, thumbnails, enableKeyboardShortcuts = true, showKeyboardHelpButton = true, ariaLabel = "Media player", ariaDescribedBy, }) {
14
- // Existing state
15
- const [controlsVisible, setControlsVisible] = useState(true);
16
- const [isPlaying, setIsPlaying] = useState(false);
17
- const [isLoading, setIsLoading] = useState(false);
18
- const [error, setError] = useState(null);
19
- const [volume, setVolume] = useState(1);
20
- const [isMuted, setIsMuted] = useState(muted);
21
- const [currentTime, setCurrentTime] = useState(0);
22
- const [duration, setDuration] = useState(0);
23
- const [isFullscreen, setIsFullscreen] = useState(false);
24
- // Accessibility state
25
- const [showKeyboardHelp, setShowKeyboardHelp] = useState(false);
26
- // Refs
27
- const hideTimeoutRef = useRef(null);
28
- const containerRef = useRef(null);
29
- const videoRef = useRef(null);
30
- const [isHovered, setIsHovered] = useState(false);
31
- const [userInteracting, setUserInteracting] = useState(false);
32
- // Accessibility hooks
33
- const { applyStyles, preferences } = useAccessibilityStyles();
34
- const focusManager = useMediaPlayerFocus();
35
- const screenReader = useMediaScreenReader();
36
- const isFocusVisible = useFocusVisible();
37
- // Merge default icons with custom icons
38
- const icons = { ...defaultMinimalIcons, ...customIcons };
39
- // Media control functions
40
- const togglePlayPause = useCallback(() => {
41
- if (!videoRef.current)
42
- return;
43
- if (isPlaying) {
44
- videoRef.current.pause();
45
- }
46
- else {
47
- videoRef.current.play();
48
- }
49
- }, [isPlaying]);
50
- const seekForward = useCallback((seconds = 10) => {
51
- if (!videoRef.current)
52
- return;
53
- const newTime = Math.min(videoRef.current.currentTime + seconds, duration);
54
- videoRef.current.currentTime = newTime;
55
- screenReader.announceTime(newTime, duration);
56
- }, [duration, screenReader]);
57
- const seekBackward = useCallback((seconds = 10) => {
58
- if (!videoRef.current)
59
- return;
60
- const newTime = Math.max(videoRef.current.currentTime - seconds, 0);
61
- videoRef.current.currentTime = newTime;
62
- screenReader.announceTime(newTime, duration);
63
- }, [duration, screenReader]);
64
- const volumeUp = useCallback(() => {
65
- if (!videoRef.current)
66
- return;
67
- const newVolume = Math.min(volume + 0.1, 1);
68
- setVolume(newVolume);
69
- videoRef.current.volume = newVolume;
70
- if (isMuted) {
71
- setIsMuted(false);
72
- videoRef.current.muted = false;
73
- }
74
- screenReader.announceVolume(newVolume, false);
75
- }, [volume, isMuted, screenReader]);
76
- const volumeDown = useCallback(() => {
77
- if (!videoRef.current)
78
- return;
79
- const newVolume = Math.max(volume - 0.1, 0);
80
- setVolume(newVolume);
81
- videoRef.current.volume = newVolume;
82
- if (isMuted) {
83
- setIsMuted(false);
84
- videoRef.current.muted = false;
85
- }
86
- screenReader.announceVolume(newVolume, false);
87
- }, [volume, isMuted, screenReader]);
88
- const toggleMute = useCallback(() => {
89
- if (!videoRef.current)
90
- return;
91
- const newMuted = !isMuted;
92
- setIsMuted(newMuted);
93
- videoRef.current.muted = newMuted;
94
- screenReader.announceVolume(volume, newMuted);
95
- }, [isMuted, volume, screenReader]);
96
- const toggleFullscreen = useCallback(async () => {
97
- if (!containerRef.current)
98
- return;
99
- try {
100
- if (!isFullscreen) {
101
- if (containerRef.current.requestFullscreen) {
102
- await containerRef.current.requestFullscreen();
103
- }
104
- }
105
- else {
106
- if (document.exitFullscreen) {
107
- await document.exitFullscreen();
108
- }
109
- }
110
- }
111
- catch (error) {
112
- console.error('Fullscreen toggle failed:', error);
113
- }
114
- }, [isFullscreen]);
115
- const showHelp = useCallback(() => {
116
- setShowKeyboardHelp(true);
117
- }, []);
118
- // Create keyboard shortcuts
119
- const keyboardShortcuts = createMediaKeyboardShortcuts({
120
- play: () => videoRef.current?.play(),
121
- pause: () => videoRef.current?.pause(),
122
- togglePlayPause,
123
- seekForward,
124
- seekBackward,
125
- volumeUp,
126
- volumeDown,
127
- toggleMute,
128
- toggleFullscreen,
129
- showHelp: showKeyboardHelpButton ? showHelp : undefined
130
- });
131
- // Enable keyboard shortcuts
132
- const { shortcuts } = useKeyboardShortcuts({
133
- shortcuts: enableKeyboardShortcuts ? keyboardShortcuts : [],
134
- enabled: enableKeyboardShortcuts,
135
- target: containerRef.current
136
- });
137
- // Auto-hide controls logic
138
- const resetHideTimer = useCallback(() => {
139
- if (!autoHideControls)
140
- return;
141
- if (hideTimeoutRef.current) {
142
- clearTimeout(hideTimeoutRef.current);
143
- }
144
- setControlsVisible(true);
145
- if (!userInteracting && isPlaying && !preferences.prefersReducedMotion) {
146
- hideTimeoutRef.current = setTimeout(() => {
147
- setControlsVisible(false);
148
- }, hideDelay);
149
- }
150
- }, [autoHideControls, userInteracting, isPlaying, hideDelay, preferences.prefersReducedMotion]);
151
- // Handle mouse movement
152
- const handleMouseMove = useCallback(() => {
153
- resetHideTimer();
154
- }, [resetHideTimer]);
155
- // Handle mouse enter/leave
156
- const handleMouseEnter = useCallback(() => {
157
- setIsHovered(true);
158
- setControlsVisible(true);
159
- if (hideTimeoutRef.current) {
160
- clearTimeout(hideTimeoutRef.current);
161
- }
162
- }, []);
163
- const handleMouseLeave = useCallback(() => {
164
- setIsHovered(false);
165
- if (isPlaying && autoHideControls && !userInteracting) {
166
- hideTimeoutRef.current = setTimeout(() => {
167
- setControlsVisible(false);
168
- }, 500);
169
- }
170
- }, [isPlaying, autoHideControls, userInteracting]);
171
- // Handle user interaction
172
- const handleUserInteractionStart = useCallback(() => {
173
- setUserInteracting(true);
174
- setControlsVisible(true);
175
- if (hideTimeoutRef.current) {
176
- clearTimeout(hideTimeoutRef.current);
177
- }
178
- }, []);
179
- const handleUserInteractionEnd = useCallback(() => {
180
- setUserInteracting(false);
181
- resetHideTimer();
182
- }, [resetHideTimer]);
183
- // Video event handlers
184
- const handlePlayStateChange = useCallback((playing) => {
185
- setIsPlaying(playing);
186
- screenReader.announcePlaybackState(playing);
187
- if (playing) {
188
- onPlay?.();
189
- resetHideTimer();
190
- }
191
- else {
192
- onPause?.();
193
- setControlsVisible(true);
194
- if (hideTimeoutRef.current) {
195
- clearTimeout(hideTimeoutRef.current);
196
- }
197
- }
198
- }, [onPlay, onPause, resetHideTimer, screenReader]);
199
- const handleTimeUpdate = useCallback((time) => {
200
- setCurrentTime(time);
201
- onTimeUpdate?.(time);
202
- }, [onTimeUpdate]);
203
- const handleLoadedMetadata = useCallback((event) => {
204
- const video = event.currentTarget;
205
- setDuration(video.duration);
206
- setIsLoading(false);
207
- }, []);
208
- const handleLoadStart = useCallback(() => {
209
- setIsLoading(true);
210
- setError(null);
211
- screenReader.announceLoading(true);
212
- }, [screenReader]);
213
- const handleLoadedData = useCallback(() => {
214
- setIsLoading(false);
215
- screenReader.announceLoading(false);
216
- }, [screenReader]);
217
- const handleError = useCallback((e) => {
218
- setIsLoading(false);
219
- setError(e.message || "An error occurred");
220
- screenReader.announceError(e.message || "An error occurred");
221
- onError?.(e);
222
- }, [onError, screenReader]);
223
- const handleVolumeChange = useCallback((event) => {
224
- const video = event.currentTarget;
225
- const newVolume = video.volume;
226
- const newMuted = video.muted;
227
- setVolume(newVolume);
228
- setIsMuted(newMuted);
229
- onVolumeChange?.(newVolume);
230
- }, [onVolumeChange]);
231
- // Fullscreen change handler
232
- useEffect(() => {
233
- const handleFullscreenChange = () => {
234
- const isCurrentlyFullscreen = !!document.fullscreenElement;
235
- setIsFullscreen(isCurrentlyFullscreen);
236
- screenReader.announceFullscreen(isCurrentlyFullscreen);
237
- };
238
- document.addEventListener('fullscreenchange', handleFullscreenChange);
239
- return () => {
240
- document.removeEventListener('fullscreenchange', handleFullscreenChange);
241
- };
242
- }, [screenReader]);
243
- // Cleanup on unmount
244
- useEffect(() => {
245
- return () => {
246
- if (hideTimeoutRef.current) {
247
- clearTimeout(hideTimeoutRef.current);
248
- }
249
- };
250
- }, []);
251
- // Determine video source
252
- const videoSrc = qualities && qualities.length > 0
253
- ? qualities.find(q => q.default)?.src || qualities[0]?.src || (typeof src === 'string' ? src : src[0])
254
- : (typeof src === 'string' ? src : src[0]);
255
- return (_jsxs(_Fragment, { children: [_jsx("div", { ref: containerRef, className: cn("accessible-minimal-player theme-minimal relative overflow-hidden rounded-lg bg-black", `theme-minimal-${theme}`, isFocusVisible && "focus-visible-enabled", className), "data-theme": theme, onMouseMove: handleMouseMove, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, role: "application", "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, tabIndex: 0, "data-testid": "media-player", children: _jsxs(MediaPlayerRoot, { className: "relative h-full w-full", ref: focusManager.containerRef, children: [_jsx(MediaPlayerVideo, { ref: videoRef, src: videoSrc, poster: poster, autoPlay: autoPlay, muted: muted, loop: loop, onPlay: () => handlePlayStateChange(true), onPause: () => handlePlayStateChange(false), onEnded: onEnded, onTimeUpdate: (e) => handleTimeUpdate(e.currentTarget.currentTime), onLoadStart: handleLoadStart, onLoadedData: handleLoadedData, onLoadedMetadata: handleLoadedMetadata, onError: (e) => handleError(new Error('Video loading failed')), onVolumeChange: handleVolumeChange, className: "h-full w-full object-contain", "aria-hidden": "true" }), watermark && (_jsx("div", { className: cn("pointer-events-none absolute z-10", {
256
- "top-4 left-4": watermark.position === "top-left",
257
- "top-4 right-4": watermark.position === "top-right",
258
- "bottom-4 left-4": watermark.position === "bottom-left",
259
- "right-4 bottom-4": watermark.position === "bottom-right",
260
- }), style: { opacity: watermark.opacity || 0.7 }, "aria-hidden": "true", children: _jsx("img", { src: watermark.src, alt: "", className: cn("h-auto", {
261
- "w-12": watermark.size === "small",
262
- "w-16": watermark.size === "medium",
263
- "w-24": watermark.size === "large",
264
- }) }) })), _jsx(MinimalOverlay, { isVisible: showCenterPlayButton && (!isPlaying || isLoading), icons: icons, onPlay: togglePlayPause, isLoading: isLoading, showLoadingSpinner: showLoadingSpinner, error: error, theme: theme }), _jsx(MinimalControls, { isVisible: controlsVisible || !autoHideControls || isHovered, isPlaying: isPlaying, volume: volume, isMuted: isMuted, currentTime: currentTime, duration: duration, isFullscreen: isFullscreen, icons: icons, theme: theme, qualities: qualities, showQualitySelector: showQualitySelector, showSpeedControl: showSpeedControl, thumbnails: thumbnails, onPlayPause: togglePlayPause, onVolumeChange: (vol) => {
265
- setVolume(vol);
266
- if (videoRef.current) {
267
- videoRef.current.volume = vol;
268
- }
269
- }, onMuteToggle: toggleMute, onSeek: (time) => {
270
- if (videoRef.current) {
271
- videoRef.current.currentTime = time;
272
- onSeek?.(time);
273
- }
274
- }, onFullscreenToggle: toggleFullscreen, onUserInteractionStart: handleUserInteractionStart, onUserInteractionEnd: handleUserInteractionEnd, showKeyboardHelpButton: showKeyboardHelpButton, onShowKeyboardHelp: showHelp }), showLoadingSpinner && (_jsx(MinimalLoading, { isVisible: isLoading, theme: theme }))] }) }), _jsx(KeyboardHelpOverlay, { isOpen: showKeyboardHelp, onClose: () => setShowKeyboardHelp(false), shortcuts: shortcuts }), _jsxs("div", { id: `${ariaDescribedBy || 'media-player'}-status`, className: "sr-only", "aria-live": "polite", "aria-atomic": "true", children: [isLoading && "Loading media", error && `Error: ${error}`, !isLoading && !error && (isPlaying ? "Playing" : "Paused")] }), _jsx("style", { jsx: true, global: true, children: `
275
- .accessible-minimal-player {
276
- /* Accessibility-specific styles */
277
- --media-focus-outline: var(--media-focus-outline-width, 2px) solid #3b82f6;
278
- --media-transition: ${preferences.prefersReducedMotion ? 'none' : 'var(--media-transition-duration, 200ms)'};
279
- }
280
-
281
- .accessible-minimal-player:focus-visible {
282
- outline: var(--media-focus-outline);
283
- outline-offset: 2px;
284
- }
285
-
286
- .accessible-minimal-player .focus-visible-enabled button:focus-visible,
287
- .accessible-minimal-player .focus-visible-enabled [role="slider"]:focus-visible {
288
- outline: var(--media-focus-outline);
289
- outline-offset: 2px;
290
- }
291
-
292
- /* High contrast mode support */
293
- @media (prefers-contrast: high) {
294
- .accessible-minimal-player {
295
- --media-bg-opacity: 1;
296
- --media-border-width: 2px;
297
- }
298
- }
299
-
300
- /* Reduced motion support */
301
- @media (prefers-reduced-motion: reduce) {
302
- .accessible-minimal-player * {
303
- animation-duration: 0.01ms !important;
304
- animation-iteration-count: 1 !important;
305
- transition-duration: 0.01ms !important;
306
- }
307
- }
308
-
309
- /* Screen reader only class */
310
- .sr-only {
311
- position: absolute;
312
- width: 1px;
313
- height: 1px;
314
- padding: 0;
315
- margin: -1px;
316
- overflow: hidden;
317
- clip: rect(0, 0, 0, 0);
318
- white-space: nowrap;
319
- border: 0;
320
- }
321
- ` })] }));
322
- }