@therealtinhtute/baroiplayer 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -7
  3. package/dist/index.mjs +1 -2
  4. package/dist/package.json +1 -1
  5. package/package.json +1 -1
  6. package/dist/context/media.js +0 -2
  7. package/dist/context/media.js.map +0 -1
  8. package/dist/context/media.mjs +0 -15
  9. package/dist/context/media.mjs.map +0 -1
  10. package/dist/context/store.js +0 -2
  11. package/dist/context/store.js.map +0 -1
  12. package/dist/context/store.mjs +0 -5
  13. package/dist/context/store.mjs.map +0 -1
  14. package/dist/context-Af84FynT.js +0 -1179
  15. package/dist/context-Af84FynT.js.map +0 -1
  16. package/dist/context-CwZnPdz0.cjs +0 -23
  17. package/dist/context-CwZnPdz0.cjs.map +0 -1
  18. package/dist/core-events-B5W_j8yU.js +0 -480
  19. package/dist/core-events-B5W_j8yU.js.map +0 -1
  20. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  21. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  22. package/dist/core-plugins-Bq9KLany.js +0 -696
  23. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  24. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  25. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  26. package/dist/core.js +0 -37
  27. package/dist/core.js.map +0 -1
  28. package/dist/core.mjs +0 -1217
  29. package/dist/core.mjs.map +0 -1
  30. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  31. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  32. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  33. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  34. package/dist/hooks-BCMilGRf.cjs +0 -4
  35. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  36. package/dist/hooks-BPtHV1ZT.js +0 -2042
  37. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  38. package/dist/index.js.map +0 -1
  39. package/dist/index.mjs.map +0 -1
  40. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  41. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  42. package/dist/minimal-components-BmqRefl1.js +0 -2002
  43. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  44. package/dist/mona-loading.gif +0 -0
  45. package/dist/performance-monitor--rzKTlbj.js +0 -302
  46. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  47. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  48. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  49. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  50. package/dist/src/adapters/videojs-adapter.js +0 -350
  51. package/dist/src/assets/mona-loading.gif +0 -0
  52. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  53. package/dist/src/components/AnimateLoading.js +0 -41
  54. package/dist/src/components/LoadingState.d.ts.map +0 -1
  55. package/dist/src/components/LoadingState.js +0 -111
  56. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  57. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  58. package/dist/src/components/audio-player.d.ts.map +0 -1
  59. package/dist/src/components/audio-player.js +0 -31
  60. package/dist/src/components/basic/index.d.ts.map +0 -1
  61. package/dist/src/components/basic/index.js +0 -29
  62. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  63. package/dist/src/components/enhanced/advanced-features.js +0 -64
  64. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  65. package/dist/src/components/enhanced/debug-panel.js +0 -94
  66. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  67. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  68. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  69. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  70. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  71. package/dist/src/components/enhanced/error-handling.js +0 -153
  72. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  73. package/dist/src/components/enhanced/index.js +0 -10
  74. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  75. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  76. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  77. package/dist/src/components/examples/basic-video-player.js +0 -16
  78. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  79. package/dist/src/components/examples/custom-controls-example.js +0 -12
  80. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  81. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  82. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  83. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  84. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  85. package/dist/src/components/examples/loading-states-demo.js +0 -41
  86. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  87. package/dist/src/components/examples/react-19-demo.js +0 -104
  88. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  89. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  90. package/dist/src/components/icon-demo.d.ts.map +0 -1
  91. package/dist/src/components/icon-demo.js +0 -16
  92. package/dist/src/components/icons/index.d.ts.map +0 -1
  93. package/dist/src/components/icons/index.js +0 -59
  94. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  95. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  96. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  97. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  98. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  99. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  100. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  101. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  102. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  103. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  104. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  105. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  106. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  107. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  108. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  114. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  118. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  120. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  122. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  132. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  134. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  140. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  141. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  142. package/dist/src/components/legacy.d.ts.map +0 -1
  143. package/dist/src/components/legacy.js +0 -52
  144. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  145. package/dist/src/components/media-metadata-display.js +0 -20
  146. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  147. package/dist/src/components/media-player-audio.js +0 -18
  148. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  149. package/dist/src/components/media-player-controls.js +0 -150
  150. package/dist/src/components/media-player-error.d.ts.map +0 -1
  151. package/dist/src/components/media-player-error.js +0 -85
  152. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  153. package/dist/src/components/media-player-fullscreen.js +0 -68
  154. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  155. package/dist/src/components/media-player-hls.js +0 -20
  156. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  157. package/dist/src/components/media-player-loading.js +0 -53
  158. package/dist/src/components/media-player-play.d.ts.map +0 -1
  159. package/dist/src/components/media-player-play.js +0 -44
  160. package/dist/src/components/media-player-root.d.ts.map +0 -1
  161. package/dist/src/components/media-player-root.js +0 -243
  162. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  163. package/dist/src/components/media-player-seek.js +0 -92
  164. package/dist/src/components/media-player-time.d.ts.map +0 -1
  165. package/dist/src/components/media-player-time.js +0 -57
  166. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  167. package/dist/src/components/media-player-tooltip.js +0 -14
  168. package/dist/src/components/media-player-video.d.ts.map +0 -1
  169. package/dist/src/components/media-player-video.js +0 -18
  170. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  171. package/dist/src/components/media-player-volume.js +0 -88
  172. package/dist/src/components/media-player.d.ts.map +0 -1
  173. package/dist/src/components/media-player.js +0 -67
  174. package/dist/src/components/media-suspense.d.ts.map +0 -1
  175. package/dist/src/components/media-suspense.js +0 -173
  176. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  177. package/dist/src/components/player-settings-form.js +0 -46
  178. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  179. package/dist/src/components/react-player-wrapper.js +0 -163
  180. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  181. package/dist/src/components/simple-video-player.js +0 -41
  182. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  183. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  184. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  185. package/dist/src/components/ui/fullscreen-button.js +0 -21
  186. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  187. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  188. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  189. package/dist/src/components/ui/play-button.js +0 -26
  190. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  191. package/dist/src/components/ui/seek-bar.js +0 -54
  192. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  193. package/dist/src/components/ui/time-display.js +0 -18
  194. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  195. package/dist/src/components/ui/volume-control.js +0 -71
  196. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  197. package/dist/src/components/unified/base-media-player.js +0 -104
  198. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  199. package/dist/src/components/unified/media-player.js +0 -41
  200. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  201. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  202. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  203. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  204. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  205. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  206. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  207. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  208. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  209. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  210. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  211. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  212. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  213. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  214. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  216. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  218. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  220. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  222. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  224. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  226. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  228. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  230. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  232. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  234. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  236. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  238. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  240. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  242. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  243. package/dist/src/components/variants/minimal/index.js +0 -8
  244. package/dist/src/components/video-player.d.ts.map +0 -1
  245. package/dist/src/components/video-player.js +0 -38
  246. package/dist/src/context/error-handling.d.ts.map +0 -1
  247. package/dist/src/context/error-handling.js +0 -300
  248. package/dist/src/context/media-context.d.ts.map +0 -1
  249. package/dist/src/context/media-context.js +0 -121
  250. package/dist/src/context/media-provider.d.ts.map +0 -1
  251. package/dist/src/context/media-provider.js +0 -164
  252. package/dist/src/context/media-store.d.ts.map +0 -1
  253. package/dist/src/context/media-store.js +0 -273
  254. package/dist/src/context/persistence.d.ts.map +0 -1
  255. package/dist/src/context/persistence.js +0 -356
  256. package/dist/src/core/events/event-system.d.ts.map +0 -1
  257. package/dist/src/core/events/event-system.js +0 -288
  258. package/dist/src/core/events/hooks.d.ts.map +0 -1
  259. package/dist/src/core/events/hooks.js +0 -198
  260. package/dist/src/core/events/index.d.ts.map +0 -1
  261. package/dist/src/core/events/index.js +0 -7
  262. package/dist/src/core/events/middleware.d.ts.map +0 -1
  263. package/dist/src/core/events/middleware.js +0 -219
  264. package/dist/src/core/index.d.ts.map +0 -1
  265. package/dist/src/core/index.js +0 -15
  266. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  267. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  268. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  269. package/dist/src/core/performance/cicd.js +0 -83
  270. package/dist/src/core/performance/index.d.ts.map +0 -1
  271. package/dist/src/core/performance/index.js +0 -14
  272. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  273. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  274. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  275. package/dist/src/core/performance/performance-budgets.js +0 -326
  276. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  277. package/dist/src/core/performance/performance-monitor.js +0 -297
  278. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  279. package/dist/src/core/performance/performance-testing.js +0 -314
  280. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  281. package/dist/src/core/plugins/base-plugin.js +0 -151
  282. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  283. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  284. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  285. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  286. package/dist/src/core/plugins/index.d.ts.map +0 -1
  287. package/dist/src/core/plugins/index.js +0 -9
  288. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  289. package/dist/src/core/plugins/registry.js +0 -261
  290. package/dist/src/core/plugins/types.d.ts.map +0 -1
  291. package/dist/src/core/plugins/types.js +0 -31
  292. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  293. package/dist/src/core/plugins/utils.js +0 -274
  294. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  295. package/dist/src/core/progressive-loading.js +0 -239
  296. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  297. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  298. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  299. package/dist/src/core/providers/service-provider.js +0 -105
  300. package/dist/src/core/utils.d.ts.map +0 -1
  301. package/dist/src/core/utils.js +0 -21
  302. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  303. package/dist/src/features/media-session/media-session-manager.js +0 -331
  304. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  305. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  306. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  307. package/dist/src/features/playlist/playlist-manager.js +0 -475
  308. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  309. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  310. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  311. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  312. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  313. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  314. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  315. package/dist/src/hooks/accessibility/index.js +0 -4
  316. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  317. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  318. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  319. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  320. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  321. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  322. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  323. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  324. package/dist/src/hooks/core/index.d.ts.map +0 -1
  325. package/dist/src/hooks/core/index.js +0 -19
  326. package/dist/src/hooks/legacy.d.ts.map +0 -1
  327. package/dist/src/hooks/legacy.js +0 -17
  328. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  329. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  330. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  331. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  332. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  333. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  334. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  335. package/dist/src/hooks/use-media-actions.js +0 -121
  336. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  337. package/dist/src/hooks/use-media-metadata.js +0 -74
  338. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  339. package/dist/src/hooks/use-media-optimistic.js +0 -205
  340. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  341. package/dist/src/hooks/use-media-player.js +0 -251
  342. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  343. package/dist/src/hooks/use-media-state.js +0 -162
  344. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  345. package/dist/src/hooks/use-memory-optimization.js +0 -288
  346. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  347. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  348. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  349. package/dist/src/hooks/use-optimized-media.js +0 -211
  350. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  351. package/dist/src/hooks/use-touch-gestures.js +0 -289
  352. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  353. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  354. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  355. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  356. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  357. package/dist/src/hooks/useMediaControls.js +0 -44
  358. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  359. package/dist/src/hooks/useScreenshot.js +0 -56
  360. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  361. package/dist/src/hooks/useSubtitles.js +0 -73
  362. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  363. package/dist/src/hooks/useVideoPlayer.js +0 -184
  364. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  365. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  366. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  367. package/dist/src/icons/components/SettingsIcon.js +0 -11
  368. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  369. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  370. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  371. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  372. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  373. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  374. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  375. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  376. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  377. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  378. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  379. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  380. package/dist/src/icons/index.d.ts.map +0 -1
  381. package/dist/src/icons/index.js +0 -45
  382. package/dist/src/icons/provider.d.ts.map +0 -1
  383. package/dist/src/icons/provider.js +0 -37
  384. package/dist/src/icons/types.d.ts.map +0 -1
  385. package/dist/src/icons/types.js +0 -1
  386. package/dist/src/index-enhanced.d.ts.map +0 -1
  387. package/dist/src/index-enhanced.js +0 -16
  388. package/dist/src/index-legacy.d.ts.map +0 -1
  389. package/dist/src/index-legacy.js +0 -97
  390. package/dist/src/index.d.ts.map +0 -1
  391. package/dist/src/index.js +0 -90
  392. package/dist/src/index.minimal.d.ts.map +0 -1
  393. package/dist/src/index.minimal.js +0 -3
  394. package/dist/src/lib/deprecation.d.ts.map +0 -1
  395. package/dist/src/lib/deprecation.js +0 -31
  396. package/dist/src/lib/format-time.d.ts.map +0 -1
  397. package/dist/src/lib/format-time.js +0 -32
  398. package/dist/src/lib/index.d.ts.map +0 -1
  399. package/dist/src/lib/index.js +0 -3
  400. package/dist/src/lib/utils.d.ts.map +0 -1
  401. package/dist/src/lib/utils.js +0 -5
  402. package/dist/src/test/setup.d.ts.map +0 -1
  403. package/dist/src/test/setup.js +0 -65
  404. package/dist/src/types/events.d.ts.map +0 -1
  405. package/dist/src/types/events.js +0 -2
  406. package/dist/src/types/formats.d.ts.map +0 -1
  407. package/dist/src/types/formats.js +0 -63
  408. package/dist/src/types/index.d.ts.map +0 -1
  409. package/dist/src/types/index.js +0 -4
  410. package/dist/utils-Db13763z.cjs +0 -9
  411. package/dist/utils-Db13763z.cjs.map +0 -1
  412. package/dist/utils-nTO4AnHo.js +0 -2809
  413. package/dist/utils-nTO4AnHo.js.map +0 -1
  414. package/dist/utils.js +0 -2
  415. package/dist/utils.js.map +0 -1
  416. package/dist/utils.mjs +0 -7
  417. package/dist/utils.mjs.map +0 -1
  418. package/src/adapters/videojs-adapter.js +0 -350
  419. package/src/components/AnimateLoading.js +0 -41
  420. package/src/components/LoadingState.js +0 -111
  421. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  422. package/src/components/audio-player.js +0 -31
  423. package/src/components/basic/index.js +0 -29
  424. package/src/components/enhanced/advanced-features.js +0 -64
  425. package/src/components/enhanced/debug-panel.js +0 -94
  426. package/src/components/enhanced/enhanced-controls.js +0 -233
  427. package/src/components/enhanced/enhanced-media-player.js +0 -316
  428. package/src/components/enhanced/error-handling.js +0 -153
  429. package/src/components/enhanced/index.js +0 -10
  430. package/src/components/enhanced/media-player-enhanced.js +0 -250
  431. package/src/components/examples/basic-video-player.js +0 -16
  432. package/src/components/examples/custom-controls-example.js +0 -12
  433. package/src/components/examples/enhanced-controls-example.js +0 -18
  434. package/src/components/examples/enhanced-media-player-example.js +0 -13
  435. package/src/components/examples/loading-states-demo.js +0 -41
  436. package/src/components/examples/react-19-demo.js +0 -104
  437. package/src/components/examples/volume-orientation-demo.js +0 -31
  438. package/src/components/icon-demo.js +0 -16
  439. package/src/components/icons/index.js +0 -59
  440. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  441. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  442. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  443. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  444. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  445. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  446. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  447. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  448. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  449. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  450. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  451. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  452. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  453. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  454. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  455. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  456. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  457. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  458. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  459. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  460. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  461. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  462. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  463. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  464. package/src/components/legacy.js +0 -52
  465. package/src/components/media-metadata-display.js +0 -20
  466. package/src/components/media-player-audio.js +0 -18
  467. package/src/components/media-player-controls.js +0 -150
  468. package/src/components/media-player-error.js +0 -85
  469. package/src/components/media-player-fullscreen.js +0 -68
  470. package/src/components/media-player-hls.js +0 -20
  471. package/src/components/media-player-loading.js +0 -53
  472. package/src/components/media-player-play.js +0 -44
  473. package/src/components/media-player-root.js +0 -243
  474. package/src/components/media-player-seek.js +0 -92
  475. package/src/components/media-player-time.js +0 -57
  476. package/src/components/media-player-tooltip.js +0 -14
  477. package/src/components/media-player-video.js +0 -18
  478. package/src/components/media-player-volume.js +0 -88
  479. package/src/components/media-player.js +0 -67
  480. package/src/components/media-suspense.js +0 -173
  481. package/src/components/player-settings-form.js +0 -46
  482. package/src/components/react-player-wrapper.js +0 -163
  483. package/src/components/simple-video-player.js +0 -41
  484. package/src/components/ui/enhanced-seek-bar.js +0 -112
  485. package/src/components/ui/fullscreen-button.js +0 -21
  486. package/src/components/ui/media-resource-preloader.js +0 -295
  487. package/src/components/ui/play-button.js +0 -26
  488. package/src/components/ui/seek-bar.js +0 -54
  489. package/src/components/ui/time-display.js +0 -18
  490. package/src/components/ui/volume-control.js +0 -71
  491. package/src/components/unified/base-media-player.js +0 -104
  492. package/src/components/unified/media-player.js +0 -41
  493. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  494. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  495. package/src/components/variants/minimal/MinimalControls.js +0 -19
  496. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  497. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  498. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  499. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  500. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  501. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  502. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  503. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  504. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  505. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  506. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  507. package/src/components/variants/minimal/components/RightControls.js +0 -40
  508. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  509. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  510. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  511. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  512. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  513. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  514. package/src/components/variants/minimal/index.js +0 -8
  515. package/src/components/video-player.js +0 -38
  516. package/src/context/error-handling.js +0 -300
  517. package/src/context/media-context.js +0 -121
  518. package/src/context/media-provider.js +0 -164
  519. package/src/context/media-store.js +0 -273
  520. package/src/context/persistence.js +0 -356
  521. package/src/core/events/event-system.js +0 -288
  522. package/src/core/events/hooks.js +0 -198
  523. package/src/core/events/index.js +0 -7
  524. package/src/core/events/middleware.js +0 -219
  525. package/src/core/index.js +0 -15
  526. package/src/core/optimization/bundle-optimizer.js +0 -217
  527. package/src/core/performance/cicd.js +0 -83
  528. package/src/core/performance/index.js +0 -14
  529. package/src/core/performance/media-loading-optimizer.js +0 -404
  530. package/src/core/performance/performance-budgets.js +0 -326
  531. package/src/core/performance/performance-monitor.js +0 -297
  532. package/src/core/performance/performance-testing.js +0 -314
  533. package/src/core/plugins/base-plugin.js +0 -151
  534. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  535. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  536. package/src/core/plugins/index.js +0 -9
  537. package/src/core/plugins/registry.js +0 -261
  538. package/src/core/plugins/types.js +0 -31
  539. package/src/core/plugins/utils.js +0 -274
  540. package/src/core/progressive-loading.js +0 -239
  541. package/src/core/providers/enhanced-hls-provider.js +0 -273
  542. package/src/core/providers/service-provider.js +0 -105
  543. package/src/core/utils.js +0 -21
  544. package/src/features/media-session/media-session-manager.js +0 -331
  545. package/src/features/picture-in-picture/pip-manager.js +0 -353
  546. package/src/features/playlist/playlist-manager.js +0 -475
  547. package/src/features/subtitles/subtitle-manager.js +0 -335
  548. package/src/features/subtitles/subtitle-parser.js +0 -217
  549. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  550. package/src/hooks/accessibility/index.js +0 -4
  551. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  552. package/src/hooks/accessibility/use-focus-management.js +0 -142
  553. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  554. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  555. package/src/hooks/core/index.js +0 -19
  556. package/src/hooks/legacy.js +0 -17
  557. package/src/hooks/use-enhanced-media-player.js +0 -395
  558. package/src/hooks/use-intelligent-preloading.js +0 -258
  559. package/src/hooks/use-keyboard-controls.js +0 -83
  560. package/src/hooks/use-media-actions.js +0 -121
  561. package/src/hooks/use-media-metadata.js +0 -74
  562. package/src/hooks/use-media-optimistic.js +0 -205
  563. package/src/hooks/use-media-player.js +0 -251
  564. package/src/hooks/use-media-state.js +0 -162
  565. package/src/hooks/use-memory-optimization.js +0 -288
  566. package/src/hooks/use-optimistic-controls.js +0 -60
  567. package/src/hooks/use-optimized-media.js +0 -211
  568. package/src/hooks/use-touch-gestures.js +0 -289
  569. package/src/hooks/useEnhancedSubtitles.js +0 -205
  570. package/src/hooks/useKeyboardShortcuts.js +0 -59
  571. package/src/hooks/useMediaControls.js +0 -44
  572. package/src/hooks/useScreenshot.js +0 -56
  573. package/src/hooks/useSubtitles.js +0 -73
  574. package/src/hooks/useVideoPlayer.js +0 -184
  575. package/src/icons/components/FullscreenIcon.js +0 -11
  576. package/src/icons/components/SettingsIcon.js +0 -11
  577. package/src/icons/components/animated/LoadingIcon.js +0 -11
  578. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  579. package/src/icons/components/media/PauseIcon.js +0 -12
  580. package/src/icons/components/media/PlayIcon.js +0 -12
  581. package/src/icons/components/volume/VolumeIcon.js +0 -11
  582. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  583. package/src/icons/index.js +0 -45
  584. package/src/icons/provider.js +0 -37
  585. package/src/icons/types.js +0 -1
  586. package/src/index-enhanced.js +0 -16
  587. package/src/index-legacy.js +0 -97
  588. package/src/index.js +0 -90
  589. package/src/index.minimal.js +0 -3
  590. package/src/lib/deprecation.js +0 -31
  591. package/src/lib/format-time.js +0 -32
  592. package/src/lib/index.js +0 -3
  593. package/src/lib/utils.js +0 -5
  594. package/src/test/setup.js +0 -65
  595. package/src/types/events.js +0 -2
  596. package/src/types/formats.js +0 -63
  597. package/src/types/index.js +0 -4
package/dist/core.mjs DELETED
@@ -1,1217 +0,0 @@
1
- var k = Object.defineProperty;
2
- var A = (o, e, t) => e in o ? k(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var u = (o, e, t) => A(o, typeof e != "symbol" ? e + "" : e, t);
4
- import { C as B, P as R } from "./core-plugins-Bq9KLany.js";
5
- import { A as ye, B as we, a as Te, d as Se, c as ve, i as be, b as Pe, h as Me, j as Le, g as Ee, f as Ce, e as ke, l as Ae, k as Be } from "./core-plugins-Bq9KLany.js";
6
- import { E as I } from "./core-events-B5W_j8yU.js";
7
- import { a as Ie, b as Ne, M as $e, f as xe, c as Fe, d as Ue, e as De, n as Oe, u as ze, m as _e, p as Ve, h as He, j as je, k as Ye, g as Qe, l as We, i as Ke, o as Je } from "./core-events-B5W_j8yU.js";
8
- import { j as f } from "./context-Af84FynT.js";
9
- import m, { useMemo as N, createContext as $, useContext as x, lazy as h } from "react";
10
- import { a as F } from "./performance-monitor--rzKTlbj.js";
11
- import { b as Ge, P as Xe, d as Ze, p as et, u as tt, w as rt } from "./performance-monitor--rzKTlbj.js";
12
- class P {
13
- constructor() {
14
- u(this, "results", []);
15
- u(this, "regressionDetector", new F());
16
- }
17
- async runTest(e, t) {
18
- const r = [];
19
- let n = 0, s = 0, i;
20
- try {
21
- for (let d = 0; d < e.warmupIterations; d++)
22
- await t();
23
- global.gc && global.gc(), n = this.getMemoryUsage();
24
- for (let d = 0; d < e.iterations; d++) {
25
- const S = performance.now();
26
- await t();
27
- const C = performance.now();
28
- r.push(C - S);
29
- }
30
- s = this.getMemoryUsage();
31
- } catch (d) {
32
- i = d instanceof Error ? d.message : String(d);
33
- }
34
- const a = r.reduce((d, S) => d + S, 0) / r.length, c = Math.min(...r), g = Math.max(...r), T = s - n, y = !i && a <= e.expectedThreshold.renderTime && T <= e.expectedThreshold.memoryUsage, w = {
35
- testName: e.name,
36
- passed: y,
37
- metrics: {
38
- averageRenderTime: a,
39
- minRenderTime: isFinite(c) ? c : 0,
40
- maxRenderTime: isFinite(g) ? g : 0,
41
- memoryUsage: T,
42
- iterations: e.iterations
43
- },
44
- threshold: e.expectedThreshold,
45
- error: i
46
- };
47
- return this.results.push(w), w;
48
- }
49
- getMemoryUsage() {
50
- return "memory" in performance && performance.memory.usedJSHeapSize || 0;
51
- }
52
- // Component rendering performance test
53
- async testComponentRender(e, t, r = 16) {
54
- const n = {
55
- name: `${e} Render Performance`,
56
- iterations: 100,
57
- warmupIterations: 10,
58
- timeout: 5e3,
59
- expectedThreshold: {
60
- renderTime: r,
61
- memoryUsage: 1048576
62
- // 1MB
63
- }
64
- };
65
- return this.runTest(n, t);
66
- }
67
- // Bundle loading performance test
68
- async testBundleLoading(e, t = 1e3) {
69
- const r = {
70
- name: `Bundle Loading: ${e}`,
71
- iterations: 5,
72
- warmupIterations: 1,
73
- timeout: 1e4,
74
- expectedThreshold: {
75
- renderTime: t,
76
- memoryUsage: 5242880
77
- // 5MB
78
- }
79
- };
80
- return this.runTest(r, async () => {
81
- const n = performance.now();
82
- try {
83
- const i = await fetch(e);
84
- if (!i.ok)
85
- throw new Error(`Failed to load bundle: ${i.status}`);
86
- await i.blob();
87
- } catch (i) {
88
- console.warn(`Bundle loading test failed for ${e}:`, i);
89
- }
90
- return performance.now() - n;
91
- });
92
- }
93
- // Memory leak detection test
94
- async testMemoryLeaks(e, t = 1e3) {
95
- const r = {
96
- name: "Memory Leak Detection",
97
- iterations: t,
98
- warmupIterations: 100,
99
- timeout: 3e4,
100
- expectedThreshold: {
101
- renderTime: 1 / 0,
102
- // Not testing render time
103
- memoryUsage: 10485760
104
- // 10MB max increase
105
- }
106
- }, n = this.getMemoryUsage(), s = await this.runTest(r, e), a = this.getMemoryUsage() - n, c = a > r.expectedThreshold.memoryUsage;
107
- return {
108
- ...s,
109
- passed: s.passed && !c,
110
- error: c ? `Potential memory leak detected: ${Math.round(a / 1024 / 1024)}MB increase` : s.error
111
- };
112
- }
113
- // Interaction delay test
114
- async testInteractionDelay(e, t = 100) {
115
- const r = {
116
- name: "Interaction Delay",
117
- iterations: 50,
118
- warmupIterations: 5,
119
- timeout: 5e3,
120
- expectedThreshold: {
121
- renderTime: t,
122
- memoryUsage: 1048576
123
- // 1MB
124
- }
125
- };
126
- return this.runTest(r, e);
127
- }
128
- // Regression testing
129
- async runRegressionTests(e, t) {
130
- t && this.regressionDetector.setBaseline(t);
131
- const r = this.regressionDetector.detectRegression(e);
132
- return { passed: r.length === 0, regressions: r };
133
- }
134
- // Get all test results
135
- getResults() {
136
- return [...this.results];
137
- }
138
- // Get test summary
139
- getSummary() {
140
- const e = this.results.length, t = this.results.filter((s) => s.passed).length, r = e - t, n = e > 0 ? t / e * 100 : 0;
141
- return { totalTests: e, passedTests: t, failedTests: r, passRate: n };
142
- }
143
- // Clear test results
144
- clearResults() {
145
- this.results = [];
146
- }
147
- // Generate performance report
148
- generateReport() {
149
- const e = this.getSummary();
150
- let t = `Performance Test Report
151
- `;
152
- return t += `========================
153
-
154
- `, t += `Total Tests: ${e.totalTests}
155
- `, t += `Passed: ${e.passedTests}
156
- `, t += `Failed: ${e.failedTests}
157
- `, t += `Pass Rate: ${e.passRate.toFixed(1)}%
158
-
159
- `, this.results.length > 0 && (t += `Detailed Results:
160
- `, t += `-----------------
161
-
162
- `, this.results.forEach((r, n) => {
163
- t += `${n + 1}. ${r.testName}
164
- `, t += ` Status: ${r.passed ? "PASS" : "FAIL"}
165
- `, t += ` Average Render Time: ${r.metrics.averageRenderTime.toFixed(2)}ms
166
- `, t += ` Min/Max Render Time: ${r.metrics.minRenderTime.toFixed(2)}ms / ${r.metrics.maxRenderTime.toFixed(2)}ms
167
- `, t += ` Memory Usage: ${Math.round(r.metrics.memoryUsage / 1024)} KB
168
- `, t += ` Iterations: ${r.metrics.iterations}
169
- `, r.error && (t += ` Error: ${r.error}
170
- `), t += `
171
- `;
172
- })), t;
173
- }
174
- }
175
- const v = new P(), te = {
176
- // Test component rendering performance
177
- async testComponent(o, e = {}, t = 16) {
178
- return v.testComponentRender(
179
- o.displayName || o.name || "Component",
180
- () => ({ type: o, props: e }),
181
- t
182
- );
183
- },
184
- // Test hook performance
185
- async testHook(o, e, t = 1) {
186
- const r = {
187
- name: `Hook Performance: ${e}`,
188
- iterations: 1e3,
189
- warmupIterations: 100,
190
- timeout: 5e3,
191
- expectedThreshold: {
192
- renderTime: t,
193
- memoryUsage: 1048576
194
- // 1MB
195
- }
196
- };
197
- return v.runTest(r, o);
198
- },
199
- // Test async operation performance
200
- async testAsyncOperation(o, e, t = 1e3) {
201
- const r = {
202
- name: `Async Operation: ${e}`,
203
- iterations: 10,
204
- warmupIterations: 2,
205
- timeout: 3e4,
206
- expectedThreshold: {
207
- renderTime: t,
208
- memoryUsage: 2097152
209
- // 2MB
210
- }
211
- };
212
- return v.runTest(r, o);
213
- },
214
- // Test bundle size impact
215
- async measureBundleImpact(o, e, t) {
216
- const r = performance.memory?.usedJSHeapSize || 0, n = performance.now();
217
- o();
218
- const s = performance.memory?.usedJSHeapSize || 0, i = performance.now();
219
- e();
220
- const a = performance.memory?.usedJSHeapSize || 0, c = performance.now();
221
- return {
222
- bundleIncrease: a - r,
223
- memoryIncrease: s - r,
224
- renderTimeImpact: c - i - (i - n)
225
- };
226
- }
227
- };
228
- class U {
229
- constructor() {
230
- u(this, "benchmark", new P());
231
- u(this, "suites", /* @__PURE__ */ new Map());
232
- }
233
- // Register a test suite
234
- registerSuite(e, t) {
235
- this.suites.set(e, t);
236
- }
237
- // Run all tests in a suite
238
- async runSuite(e, t) {
239
- const r = this.suites.get(e);
240
- if (!r)
241
- throw new Error(`Test suite '${e}' not found`);
242
- const n = [];
243
- for (const s of r) {
244
- const i = t.get(s.name);
245
- if (!i) {
246
- console.warn(`No implementation found for test '${s.name}'`);
247
- continue;
248
- }
249
- const a = await this.benchmark.runTest(s, i);
250
- n.push(a);
251
- }
252
- return n;
253
- }
254
- // Run all registered test suites
255
- async runAllSuites(e) {
256
- const t = /* @__PURE__ */ new Map();
257
- for (const [r] of this.suites) {
258
- const n = e.get(r);
259
- if (!n) {
260
- console.warn(`No implementations found for suite '${r}'`);
261
- continue;
262
- }
263
- const s = await this.runSuite(r, n);
264
- t.set(r, s);
265
- }
266
- return t;
267
- }
268
- // Generate comprehensive report
269
- generateComprehensiveReport() {
270
- this.benchmark.getSummary();
271
- let e = this.benchmark.generateReport();
272
- if (this.suites.size > 0) {
273
- e += `
274
- Test Suites:
275
- `, e += `============
276
-
277
- `;
278
- for (const [t, r] of this.suites)
279
- e += `Suite: ${t}
280
- `, e += `Tests: ${r.length}
281
-
282
- `;
283
- }
284
- return e;
285
- }
286
- }
287
- const re = new U(), D = [
288
- // Bundle size budgets
289
- {
290
- name: "Main Bundle Size (ESM)",
291
- category: "bundle",
292
- limit: 250 * 1024,
293
- // 250KB
294
- unit: "bytes",
295
- severity: "error",
296
- description: "Main bundle should stay under 250KB for fast initial loading"
297
- },
298
- {
299
- name: "Main Bundle Size (CJS)",
300
- category: "bundle",
301
- limit: 200 * 1024,
302
- // 200KB
303
- unit: "bytes",
304
- severity: "error",
305
- description: "CJS bundle should be smaller due to better compression"
306
- },
307
- {
308
- name: "Core Module Size",
309
- category: "bundle",
310
- limit: 15 * 1024,
311
- // 15KB
312
- unit: "bytes",
313
- severity: "warning",
314
- description: "Core architecture should remain lightweight"
315
- },
316
- {
317
- name: "Enhanced Components Size",
318
- category: "bundle",
319
- limit: 40 * 1024,
320
- // 40KB
321
- unit: "bytes",
322
- severity: "warning",
323
- description: "Enhanced components bundle size"
324
- },
325
- // Runtime performance budgets
326
- {
327
- name: "Component Render Time",
328
- category: "runtime",
329
- limit: 16,
330
- // 16ms for 60fps
331
- unit: "ms",
332
- severity: "error",
333
- description: "Component rendering should complete within one frame"
334
- },
335
- {
336
- name: "First Input Delay",
337
- category: "runtime",
338
- limit: 100,
339
- // 100ms
340
- unit: "ms",
341
- severity: "error",
342
- description: "First Input Delay should be under 100ms for good UX"
343
- },
344
- {
345
- name: "Largest Contentful Paint",
346
- category: "runtime",
347
- limit: 2500,
348
- // 2.5s
349
- unit: "ms",
350
- severity: "warning",
351
- description: "LCP should be under 2.5s for good Core Web Vitals score"
352
- },
353
- {
354
- name: "Cumulative Layout Shift",
355
- category: "runtime",
356
- limit: 0.1,
357
- unit: "score",
358
- severity: "warning",
359
- description: "CLS should be under 0.1 for good visual stability"
360
- },
361
- // Memory budgets
362
- {
363
- name: "Memory Usage",
364
- category: "memory",
365
- limit: 50 * 1024 * 1024,
366
- // 50MB
367
- unit: "bytes",
368
- severity: "warning",
369
- description: "Memory usage should stay under 50MB for good performance"
370
- },
371
- {
372
- name: "Memory Increase Per Operation",
373
- category: "memory",
374
- limit: 1024 * 1024,
375
- // 1MB
376
- unit: "bytes",
377
- severity: "error",
378
- description: "Each operation should not increase memory by more than 1MB"
379
- },
380
- // Network budgets (for media loading)
381
- {
382
- name: "Media Load Time",
383
- category: "network",
384
- limit: 3e3,
385
- // 3s
386
- unit: "ms",
387
- severity: "warning",
388
- description: "Media should start loading within 3 seconds"
389
- }
390
- ];
391
- class O {
392
- constructor(e = D, t = {
393
- enabled: !0,
394
- channels: [{ type: "console", config: {} }],
395
- threshold: 1,
396
- cooldown: 300 * 1e3
397
- // 5 minutes
398
- }) {
399
- u(this, "budgets", /* @__PURE__ */ new Map());
400
- u(this, "violations", []);
401
- u(this, "alertConfig");
402
- u(this, "lastAlertTime", 0);
403
- e.forEach((r) => {
404
- this.budgets.set(r.name, r);
405
- }), this.alertConfig = t;
406
- }
407
- // Check a single metric against budgets
408
- checkMetric(e, t, r = "runtime") {
409
- const n = [];
410
- for (const [s, i] of this.budgets)
411
- if (i.category === r && (s.includes(e) || e.includes(s.split(" ")[0]?.toLowerCase() || "")) && t > i.limit) {
412
- const a = {
413
- budget: i,
414
- actualValue: t,
415
- overageAmount: t - i.limit,
416
- overagePercentage: (t - i.limit) / i.limit * 100,
417
- timestamp: Date.now()
418
- };
419
- n.push(a), this.violations.push(a);
420
- }
421
- return n.length > 0 && this.handleViolations(n), n;
422
- }
423
- // Check bundle sizes
424
- async checkBundleSizes(e) {
425
- const t = [];
426
- return typeof window < "u" || typeof process > "u" ? (console.warn("Bundle size checking is only available in Node.js environment"), t) : (console.warn("Bundle size checking disabled - use Node.js cicdIntegration from @rp/baroiplayer/core/performance/cicd for CI/CD environments"), t);
427
- }
428
- // Check runtime performance
429
- checkRuntimeMetrics(e) {
430
- const t = [];
431
- return e.renderTime !== void 0 && t.push(...this.checkMetric("Component Render Time", e.renderTime, "runtime")), e.fid !== void 0 && t.push(...this.checkMetric("First Input Delay", e.fid, "runtime")), e.lcp !== void 0 && t.push(...this.checkMetric("Largest Contentful Paint", e.lcp, "runtime")), e.cls !== void 0 && t.push(...this.checkMetric("Cumulative Layout Shift", e.cls, "runtime")), e.memoryUsage !== void 0 && t.push(...this.checkMetric("Memory Usage", e.memoryUsage, "memory")), e.mediaLoadTime !== void 0 && t.push(...this.checkMetric("Media Load Time", e.mediaLoadTime, "network")), t;
432
- }
433
- // Handle budget violations
434
- async handleViolations(e) {
435
- if (!this.alertConfig.enabled) return;
436
- const t = Date.now();
437
- e.filter((n) => n.budget.severity === "error").length >= this.alertConfig.threshold && t - this.lastAlertTime >= this.alertConfig.cooldown && (await this.sendAlerts(e), this.lastAlertTime = t);
438
- }
439
- // Send alerts through configured channels
440
- async sendAlerts(e) {
441
- const t = this.formatAlertMessage(e);
442
- for (const r of this.alertConfig.channels)
443
- try {
444
- await this.sendAlert(r, t);
445
- } catch (n) {
446
- console.error(`Failed to send alert via ${r.type}:`, n);
447
- }
448
- }
449
- // Format alert message
450
- formatAlertMessage(e) {
451
- let t = `🚨 Performance Budget Violations Detected!
452
-
453
- `;
454
- return e.forEach((r) => {
455
- const { budget: n, actualValue: s, overageAmount: i, overagePercentage: a } = r;
456
- this.getUnitDisplay(n.unit), t += `❌ ${n.name}
457
- `, t += ` Limit: ${this.formatValue(n.limit, n.unit)}
458
- `, t += ` Actual: ${this.formatValue(s, n.unit)}
459
- `, t += ` Overage: ${this.formatValue(i, n.unit)} (+${a.toFixed(1)}%)
460
- `, t += ` Severity: ${n.severity.toUpperCase()}
461
-
462
- `;
463
- }), t += `Time: ${(/* @__PURE__ */ new Date()).toISOString()}
464
- `, t += `Total Violations: ${e.length}`, t;
465
- }
466
- // Send alert to specific channel
467
- async sendAlert(e, t) {
468
- switch (e.type) {
469
- case "console":
470
- console.error(t);
471
- break;
472
- case "webhook":
473
- if (e.config.url) {
474
- const r = await fetch(e.config.url, {
475
- method: "POST",
476
- headers: { "Content-Type": "application/json" },
477
- body: JSON.stringify({ text: t, timestamp: Date.now() })
478
- });
479
- if (!r.ok)
480
- throw new Error(`Webhook failed: ${r.status}`);
481
- }
482
- break;
483
- case "slack":
484
- if (e.config.url) {
485
- const r = await fetch(e.config.url, {
486
- method: "POST",
487
- headers: { "Content-Type": "application/json" },
488
- body: JSON.stringify({
489
- text: t,
490
- channel: e.config.channel,
491
- username: "BaroiPlayer Performance Monitor"
492
- })
493
- });
494
- if (!r.ok)
495
- throw new Error(`Slack webhook failed: ${r.status}`);
496
- }
497
- break;
498
- default:
499
- console.warn(`Unsupported alert channel: ${e.type}`);
500
- }
501
- }
502
- // Helper methods
503
- formatValue(e, t) {
504
- switch (t) {
505
- case "bytes":
506
- return this.formatBytes(e);
507
- case "ms":
508
- return `${e.toFixed(2)}ms`;
509
- case "score":
510
- return e.toFixed(3);
511
- case "percent":
512
- return `${e.toFixed(1)}%`;
513
- default:
514
- return e.toString();
515
- }
516
- }
517
- formatBytes(e) {
518
- return e >= 1024 * 1024 ? `${(e / 1024 / 1024).toFixed(2)}MB` : e >= 1024 ? `${(e / 1024).toFixed(2)}KB` : `${e}B`;
519
- }
520
- getUnitDisplay(e) {
521
- return {
522
- bytes: "bytes",
523
- ms: "milliseconds",
524
- score: "score",
525
- percent: "percent"
526
- }[e] || e;
527
- }
528
- // Management methods
529
- addBudget(e) {
530
- this.budgets.set(e.name, e);
531
- }
532
- removeBudget(e) {
533
- this.budgets.delete(e);
534
- }
535
- updateBudget(e, t) {
536
- const r = this.budgets.get(e);
537
- r && this.budgets.set(e, { ...r, ...t });
538
- }
539
- getBudgets() {
540
- return Array.from(this.budgets.values());
541
- }
542
- getViolations(e) {
543
- return e ? this.violations.filter((t) => t.timestamp >= e) : [...this.violations];
544
- }
545
- clearViolations() {
546
- this.violations = [];
547
- }
548
- getViolationSummary() {
549
- const e = {}, t = {};
550
- return this.violations.forEach((r) => {
551
- const n = r.budget.category, s = r.budget.severity;
552
- e[n] = (e[n] || 0) + 1, t[s] = (t[s] || 0) + 1;
553
- }), {
554
- total: this.violations.length,
555
- byCategory: e,
556
- bySeverity: t
557
- };
558
- }
559
- }
560
- const ne = new O(), z = {
561
- preloadStrategy: "metadata",
562
- adaptiveBitrate: !0,
563
- maxPreloadSize: 2 * 1024 * 1024,
564
- // 2MB
565
- networkThresholds: {
566
- "2g": { maxBitrate: 128, preload: !1 },
567
- // 128 kbps
568
- "3g": { maxBitrate: 500, preload: !1 },
569
- // 500 kbps
570
- "4g": { maxBitrate: 2e3, preload: !0 },
571
- // 2 Mbps
572
- "5g": { maxBitrate: 1e4, preload: !0 }
573
- // 10 Mbps
574
- },
575
- bufferSize: 10,
576
- // 10 seconds
577
- enableServiceWorker: !0
578
- };
579
- class _ {
580
- constructor() {
581
- u(this, "connection");
582
- u(this, "listeners", /* @__PURE__ */ new Set());
583
- u(this, "currentInfo");
584
- if (typeof window > "u" || typeof navigator > "u") {
585
- this.connection = null, this.currentInfo = {
586
- effectiveType: "unknown",
587
- downlink: 0,
588
- rtt: 0,
589
- saveData: !1,
590
- isOnline: !0
591
- };
592
- return;
593
- }
594
- this.connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection, this.currentInfo = this.getNetworkInfo(), this.initializeListeners();
595
- }
596
- getNetworkInfo() {
597
- if (typeof navigator > "u")
598
- return {
599
- effectiveType: "unknown",
600
- downlink: 0,
601
- rtt: 0,
602
- saveData: !1,
603
- isOnline: !0
604
- };
605
- const e = navigator.onLine;
606
- return this.connection ? {
607
- effectiveType: this.connection.effectiveType || "unknown",
608
- downlink: this.connection.downlink || 0,
609
- rtt: this.connection.rtt || 0,
610
- saveData: this.connection.saveData || !1,
611
- isOnline: e
612
- } : {
613
- effectiveType: "unknown",
614
- downlink: 0,
615
- rtt: 0,
616
- saveData: !1,
617
- isOnline: e
618
- };
619
- }
620
- initializeListeners() {
621
- typeof window > "u" || (this.connection && this.connection.addEventListener("change", this.handleNetworkChange.bind(this)), window.addEventListener("online", this.handleNetworkChange.bind(this)), window.addEventListener("offline", this.handleNetworkChange.bind(this)));
622
- }
623
- handleNetworkChange() {
624
- const e = this.getNetworkInfo();
625
- this.currentInfo = e, this.listeners.forEach((t) => t(e));
626
- }
627
- getCurrentNetworkInfo() {
628
- return { ...this.currentInfo };
629
- }
630
- subscribe(e) {
631
- return this.listeners.add(e), () => this.listeners.delete(e);
632
- }
633
- // Estimate available bandwidth with fallback detection
634
- async estimateBandwidth() {
635
- if (this.connection && this.connection.downlink)
636
- return this.connection.downlink * 1e3;
637
- try {
638
- const e = performance.now(), n = await (await fetch("/api/bandwidth-test?size=100kb")).blob(), i = (performance.now() - e) / 1e3;
639
- return n.size * 8 / i / 1e3;
640
- } catch (e) {
641
- return console.warn("Bandwidth estimation failed:", e), 1e3;
642
- }
643
- }
644
- }
645
- class M {
646
- constructor(e = {}) {
647
- u(this, "config");
648
- u(this, "networkMonitor");
649
- u(this, "loadingMetrics", /* @__PURE__ */ new Map());
650
- u(this, "preloadCache", /* @__PURE__ */ new Map());
651
- this.config = { ...z, ...e }, this.networkMonitor = new _(), this.initializeNetworkMonitoring();
652
- }
653
- initializeNetworkMonitoring() {
654
- this.networkMonitor.subscribe((e) => {
655
- this.handleNetworkChange(e);
656
- });
657
- }
658
- handleNetworkChange(e) {
659
- console.log("Network changed:", e), this.config.adaptiveBitrate && this.adjustQualityForNetwork(e), (e.effectiveType === "2g" || e.saveData) && this.clearPreloadCache();
660
- }
661
- // Optimize media loading based on network conditions
662
- async optimizeMediaLoading(e, t, r = {}) {
663
- const n = performance.now(), s = this.networkMonitor.getCurrentNetworkInfo(), i = {
664
- loadStartTime: n,
665
- bytesLoaded: 0,
666
- loadSpeed: 0,
667
- networkType: s.effectiveType,
668
- quality: r.quality || "auto",
669
- bufferHealth: 0,
670
- stallsCount: 0,
671
- stallsDuration: 0
672
- };
673
- this.loadingMetrics.set(e, i);
674
- try {
675
- const a = this.chooseLoadingStrategy(s, r);
676
- return a.shouldPreload && await this.preloadMedia(e, a.preloadAmount), t.preload = a.preloadAttribute, this.monitorLoadingProgress(t, i), this.config.adaptiveBitrate && a.suggestedQuality && this.applyQualitySettings(t, a.suggestedQuality), i;
677
- } catch (a) {
678
- return console.error("Media loading optimization failed:", a), i;
679
- }
680
- }
681
- chooseLoadingStrategy(e, t) {
682
- const r = e.effectiveType === "unknown" ? "4g" : e.effectiveType, n = this.config.networkThresholds[r] || this.config.networkThresholds["4g"];
683
- return {
684
- shouldPreload: t.preload !== !1 && n.preload && !e.saveData,
685
- preloadAmount: e.saveData ? 0 : this.config.maxPreloadSize,
686
- preloadAttribute: this.getPreloadAttribute(e),
687
- suggestedQuality: this.getSuggestedQuality(e, n.maxBitrate),
688
- bufferTarget: this.getBufferTarget(e)
689
- };
690
- }
691
- getPreloadAttribute(e) {
692
- return e.saveData || e.effectiveType === "2g" ? "none" : e.effectiveType === "3g" ? "metadata" : this.config.preloadStrategy;
693
- }
694
- getSuggestedQuality(e, t) {
695
- const r = e.downlink * 1e3;
696
- return r >= t * 2 ? "high" : r >= t ? "medium" : "low";
697
- }
698
- getBufferTarget(e) {
699
- switch (e.effectiveType) {
700
- case "2g":
701
- return 2;
702
- // 2 seconds
703
- case "3g":
704
- return 5;
705
- // 5 seconds
706
- case "4g":
707
- return this.config.bufferSize;
708
- case "5g":
709
- return this.config.bufferSize * 1.5;
710
- default:
711
- return this.config.bufferSize;
712
- }
713
- }
714
- // Preload media content
715
- async preloadMedia(e, t) {
716
- if (this.preloadCache.has(e))
717
- return;
718
- const r = this.fetchWithProgress(e, t);
719
- this.preloadCache.set(e, r);
720
- try {
721
- await r;
722
- } catch (n) {
723
- console.warn(`Preload failed for ${e}:`, n), this.preloadCache.delete(e);
724
- }
725
- }
726
- async fetchWithProgress(e, t) {
727
- const r = await fetch(e, {
728
- headers: {
729
- Range: `bytes=0-${t - 1}`
730
- // Limit preload size
731
- }
732
- });
733
- if (!r.ok)
734
- throw new Error(`Failed to preload: ${r.status}`);
735
- const n = r.body?.getReader();
736
- if (!n)
737
- throw new Error("Response body not readable");
738
- const s = [];
739
- let i = 0;
740
- try {
741
- for (; i < t; ) {
742
- const { done: a, value: c } = await n.read();
743
- if (a) break;
744
- s.push(c), i += c.length;
745
- }
746
- } finally {
747
- n.releaseLock();
748
- }
749
- return new Blob(s);
750
- }
751
- // Monitor loading progress and update metrics
752
- monitorLoadingProgress(e, t) {
753
- let r = null;
754
- const n = () => {
755
- if (e.buffered.length > 0) {
756
- const y = e.buffered.end(e.buffered.length - 1), w = e.currentTime;
757
- t.bufferHealth = Math.min((y - w) / this.config.bufferSize, 1);
758
- }
759
- }, s = () => {
760
- t.firstByteTime = performance.now();
761
- }, i = () => {
762
- t.loadCompleteTime = performance.now(), t.totalLoadTime = t.loadCompleteTime - t.loadStartTime, t.totalLoadTime && t.bytesLoaded > 0 && (t.loadSpeed = t.bytesLoaded / (t.totalLoadTime / 1e3));
763
- }, a = () => {
764
- r === null && (r = performance.now(), t.stallsCount++);
765
- }, c = () => {
766
- r !== null && (t.stallsDuration += performance.now() - r, r = null), n();
767
- }, g = () => {
768
- if (e.buffered.length > 0) {
769
- const y = e.buffered.end(0) * 1e3;
770
- t.bytesLoaded = y;
771
- }
772
- n();
773
- };
774
- e.addEventListener("loadstart", s), e.addEventListener("canplay", i), e.addEventListener("waiting", a), e.addEventListener("playing", c), e.addEventListener("progress", g), setTimeout(() => {
775
- e.removeEventListener("loadstart", s), e.removeEventListener("canplay", i), e.removeEventListener("waiting", a), e.removeEventListener("playing", c), e.removeEventListener("progress", g);
776
- }, 300 * 1e3);
777
- }
778
- // Apply quality settings (would integrate with HLS.js or similar)
779
- applyQualitySettings(e, t) {
780
- console.log(`Applying quality setting: ${t} to`, e);
781
- }
782
- adjustQualityForNetwork(e) {
783
- console.log("Adjusting quality for network conditions:", e.effectiveType);
784
- }
785
- // Clear preload cache to save memory
786
- clearPreloadCache() {
787
- this.preloadCache.clear();
788
- }
789
- // Get loading metrics for a specific media URL
790
- getLoadingMetrics(e) {
791
- return this.loadingMetrics.get(e);
792
- }
793
- // Get all loading metrics
794
- getAllMetrics() {
795
- return Array.from(this.loadingMetrics.values());
796
- }
797
- // Calculate average loading performance
798
- getAverageLoadingTime() {
799
- const t = this.getAllMetrics().filter((n) => n.totalLoadTime !== void 0);
800
- return t.length === 0 ? 0 : t.reduce((n, s) => n + (s.totalLoadTime || 0), 0) / t.length;
801
- }
802
- // Get network-specific performance stats
803
- getNetworkPerformanceStats() {
804
- const e = /* @__PURE__ */ new Map();
805
- return this.getAllMetrics().forEach((t) => {
806
- const r = t.networkType;
807
- e.has(r) || e.set(r, []), e.get(r).push(t);
808
- }), Array.from(e.entries()).map(([t, r]) => ({
809
- networkType: t,
810
- avgLoadTime: r.reduce((n, s) => n + (s.totalLoadTime || 0), 0) / r.length,
811
- avgStalls: r.reduce((n, s) => n + s.stallsCount, 0) / r.length,
812
- avgBufferHealth: r.reduce((n, s) => n + s.bufferHealth, 0) / r.length
813
- }));
814
- }
815
- }
816
- const V = new M();
817
- function oe(o) {
818
- const [e] = m.useState(
819
- () => o ? new M(o) : V
820
- ), [t, r] = m.useState(null), [n, s] = m.useState([]);
821
- m.useEffect(() => {
822
- const a = e.networkMonitor.subscribe(r);
823
- r(e.networkMonitor.getCurrentNetworkInfo());
824
- const c = setInterval(() => {
825
- s(e.getAllMetrics());
826
- }, 1e3);
827
- return () => {
828
- a(), clearInterval(c);
829
- };
830
- }, [e]);
831
- const i = m.useCallback(
832
- (a, c, g) => e.optimizeMediaLoading(a, c, g),
833
- [e]
834
- );
835
- return {
836
- networkInfo: t,
837
- loadingMetrics: n,
838
- optimizeLoading: i,
839
- averageLoadTime: e.getAverageLoadingTime(),
840
- networkStats: e.getNetworkPerformanceStats()
841
- };
842
- }
843
- class H {
844
- get(e) {
845
- try {
846
- const t = localStorage.getItem(`baroi-player-${e}`);
847
- return t ? JSON.parse(t) : null;
848
- } catch {
849
- return null;
850
- }
851
- }
852
- set(e, t) {
853
- try {
854
- localStorage.setItem(`baroi-player-${e}`, JSON.stringify(t));
855
- } catch (r) {
856
- console.warn("Failed to store data:", r);
857
- }
858
- }
859
- remove(e) {
860
- try {
861
- localStorage.removeItem(`baroi-player-${e}`);
862
- } catch (t) {
863
- console.warn("Failed to remove data:", t);
864
- }
865
- }
866
- clear() {
867
- try {
868
- Object.keys(localStorage).forEach((e) => {
869
- e.startsWith("baroi-player-") && localStorage.removeItem(e);
870
- });
871
- } catch (e) {
872
- console.warn("Failed to clear data:", e);
873
- }
874
- }
875
- }
876
- class j {
877
- track(e, t) {
878
- console.log("Analytics:", e, t);
879
- }
880
- identify(e, t) {
881
- console.log("Analytics identify:", e, t);
882
- }
883
- page(e, t) {
884
- console.log("Analytics page:", e, t);
885
- }
886
- }
887
- const L = $(null);
888
- function Y({ children: o, services: e = {} }) {
889
- const t = N(() => {
890
- const r = e.logger || new B("[BaroiPlayer]"), n = e.eventBus || new I(), s = e.pluginRegistry || new R(r), i = e.storage || new H(), a = e.analytics || new j();
891
- return {
892
- eventBus: n,
893
- pluginRegistry: s,
894
- storage: i,
895
- analytics: a,
896
- logger: r
897
- };
898
- }, [e]);
899
- return /* @__PURE__ */ f.jsx(L.Provider, { value: t, children: o });
900
- }
901
- function p() {
902
- const o = x(L);
903
- if (!o)
904
- throw new Error("useServices must be used within ServiceProvider");
905
- return o;
906
- }
907
- function se() {
908
- return p().eventBus;
909
- }
910
- function ie() {
911
- return p().pluginRegistry;
912
- }
913
- function ae() {
914
- return p().storage;
915
- }
916
- function ce() {
917
- return p().analytics;
918
- }
919
- function le() {
920
- return p().logger;
921
- }
922
- function ue(o) {
923
- return function(t) {
924
- const r = p();
925
- return /* @__PURE__ */ f.jsx(o, { ...t, services: r });
926
- };
927
- }
928
- function de(o = {}) {
929
- return function({ children: t }) {
930
- return /* @__PURE__ */ f.jsx(Y, { services: o.services, children: t });
931
- };
932
- }
933
- const l = {
934
- SUBTITLES: "subtitles",
935
- PLAYLISTS: "playlists",
936
- ADVANCED_CONTROLS: "advanced_controls",
937
- ANALYTICS: "analytics",
938
- PICTURE_IN_PICTURE: "picture_in_picture",
939
- QUALITY_SELECTOR: "quality_selector",
940
- PLAYBACK_SPEED: "playback_speed",
941
- CHAPTERS: "chapters",
942
- THUMBNAILS: "thumbnails",
943
- KEYBOARD_SHORTCUTS: "keyboard_shortcuts"
944
- }, Q = {
945
- enabledFeatures: [
946
- l.SUBTITLES,
947
- l.ADVANCED_CONTROLS,
948
- l.KEYBOARD_SHORTCUTS
949
- ],
950
- loadingStrategy: "lazy",
951
- fallbackTimeout: 5e3,
952
- retryAttempts: 3
953
- }, me = {
954
- // Subtitle system
955
- SubtitleSelector: h(
956
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
957
- ),
958
- // Playlist functionality
959
- PlaylistManager: h(
960
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
961
- // Use existing component as placeholder
962
- ),
963
- // Advanced controls
964
- QualitySelector: h(
965
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.QualitySelector }))
966
- ),
967
- PlaybackSpeedSelector: h(
968
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.PlaybackSpeedSelector }))
969
- ),
970
- ChaptersPanel: h(
971
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.ChaptersPanel }))
972
- ),
973
- PictureInPictureButton: h(
974
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.PictureInPictureButton }))
975
- ),
976
- // Analytics
977
- AnalyticsTracker: h(
978
- () => import("./enhanced-components-Da0TSvKe.js").then((o) => o.g).then((o) => ({ default: o.SubtitleSelector }))
979
- // Use existing component as placeholder
980
- )
981
- };
982
- class E {
983
- static async isSupported(e) {
984
- if (this.cache.has(e))
985
- return this.cache.get(e);
986
- const t = await this.checkFeatureSupport(e);
987
- return this.cache.set(e, t), t;
988
- }
989
- static async checkFeatureSupport(e) {
990
- if (typeof window > "u" || typeof document > "u")
991
- return !0;
992
- switch (e) {
993
- case l.SUBTITLES:
994
- return "TextTrack" in window;
995
- case l.PICTURE_IN_PICTURE:
996
- return "pictureInPictureEnabled" in document;
997
- case l.ADVANCED_CONTROLS:
998
- return !0;
999
- // Always supported
1000
- case l.PLAYLISTS:
1001
- return "MediaSession" in window;
1002
- case l.ANALYTICS:
1003
- return "IntersectionObserver" in window;
1004
- case l.QUALITY_SELECTOR:
1005
- return "MediaSource" in window;
1006
- case l.PLAYBACK_SPEED:
1007
- return !0;
1008
- // HTML5 video supports this
1009
- case l.CHAPTERS:
1010
- return "TextTrack" in window;
1011
- case l.THUMBNAILS:
1012
- return "OffscreenCanvas" in window || "canvas" in document.createElement("canvas");
1013
- case l.KEYBOARD_SHORTCUTS:
1014
- return "KeyboardEvent" in window;
1015
- default:
1016
- return !1;
1017
- }
1018
- }
1019
- }
1020
- u(E, "cache", /* @__PURE__ */ new Map());
1021
- class W {
1022
- constructor(e = {}) {
1023
- u(this, "config");
1024
- u(this, "loadedFeatures", /* @__PURE__ */ new Set());
1025
- u(this, "loadingPromises", /* @__PURE__ */ new Map());
1026
- this.config = { ...Q, ...e };
1027
- }
1028
- async loadFeature(e) {
1029
- if (!this.config.enabledFeatures.includes(e))
1030
- return null;
1031
- if (this.loadedFeatures.has(e))
1032
- return this.getLoadedFeature(e);
1033
- if (this.loadingPromises.has(e))
1034
- return this.loadingPromises.get(e);
1035
- if (!await E.isSupported(e))
1036
- return console.warn(`Feature ${e} is not supported in this browser`), null;
1037
- const r = this.loadWithRetry(e);
1038
- this.loadingPromises.set(e, r);
1039
- try {
1040
- const n = await r;
1041
- return this.loadedFeatures.add(e), n;
1042
- } catch (n) {
1043
- return console.error(`Failed to load feature ${e}:`, n), this.loadingPromises.delete(e), null;
1044
- }
1045
- }
1046
- async loadWithRetry(e, t = 1) {
1047
- try {
1048
- return await this.loadFeatureModule(e);
1049
- } catch (r) {
1050
- if (t < this.config.retryAttempts)
1051
- return console.warn(`Loading feature ${e} failed, retrying (${t}/${this.config.retryAttempts})`), await new Promise((n) => setTimeout(n, 1e3 * t)), this.loadWithRetry(e, t + 1);
1052
- throw r;
1053
- }
1054
- }
1055
- async loadFeatureModule(e) {
1056
- switch (e) {
1057
- case l.SUBTITLES:
1058
- return import("./hooks-BPtHV1ZT.js").then((t) => t.x);
1059
- case l.PLAYLISTS:
1060
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1061
- // Use existing features
1062
- case l.ADVANCED_CONTROLS:
1063
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1064
- case l.ANALYTICS:
1065
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1066
- // Use existing features
1067
- case l.PICTURE_IN_PICTURE:
1068
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1069
- // Use existing features
1070
- case l.QUALITY_SELECTOR:
1071
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1072
- // Use existing features
1073
- case l.PLAYBACK_SPEED:
1074
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1075
- // Use existing features
1076
- case l.CHAPTERS:
1077
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1078
- // Use existing features
1079
- case l.THUMBNAILS:
1080
- return import("./enhanced-components-Da0TSvKe.js").then((t) => t.g);
1081
- // Use existing features
1082
- case l.KEYBOARD_SHORTCUTS:
1083
- return import("./hooks-BPtHV1ZT.js").then((t) => t.w);
1084
- default:
1085
- throw new Error(`Unknown feature: ${e}`);
1086
- }
1087
- }
1088
- getLoadedFeature(e) {
1089
- return this.loadingPromises.get(e);
1090
- }
1091
- // Preload features for faster access
1092
- async preloadFeatures(e = this.config.enabledFeatures) {
1093
- const t = e.map((r) => this.loadFeature(r));
1094
- await Promise.allSettled(t);
1095
- }
1096
- // Get loading state
1097
- getLoadingState() {
1098
- return {
1099
- loaded: Array.from(this.loadedFeatures),
1100
- loading: Array.from(this.loadingPromises.keys()),
1101
- enabled: this.config.enabledFeatures
1102
- };
1103
- }
1104
- }
1105
- const b = new W();
1106
- function K(o) {
1107
- const [e, t] = m.useState(null), [r, n] = m.useState(!1), [s, i] = m.useState(null), a = m.useCallback(async () => {
1108
- if (!(r || e)) {
1109
- n(!0), i(null);
1110
- try {
1111
- const c = await b.loadFeature(o);
1112
- t(c);
1113
- } catch (c) {
1114
- i(c);
1115
- } finally {
1116
- n(!1);
1117
- }
1118
- }
1119
- }, [o, r, e]);
1120
- return m.useEffect(() => {
1121
- b.config.loadingStrategy === "immediate" && a();
1122
- }, [a]), {
1123
- feature: e,
1124
- loading: r,
1125
- error: s,
1126
- load: a
1127
- };
1128
- }
1129
- function ge(o, e, t) {
1130
- return function(n) {
1131
- const { feature: s, loading: i, error: a } = K(e);
1132
- if (i)
1133
- return /* @__PURE__ */ f.jsx("div", { className: "h-8 animate-pulse rounded bg-gray-200" });
1134
- if (a || !s) {
1135
- const c = t;
1136
- return c ? /* @__PURE__ */ f.jsx(c, { ...n }) : null;
1137
- }
1138
- return /* @__PURE__ */ f.jsx(o, { ...n });
1139
- };
1140
- }
1141
- const he = "1.0.0";
1142
- export {
1143
- ye as AnalyticsPlugin,
1144
- we as BasePlugin,
1145
- he as CORE_ARCHITECTURE_VERSION,
1146
- B as ConsolePluginLogger,
1147
- Ie as EVENT_SYSTEM_VERSION,
1148
- I as EventBus,
1149
- Ne as EventDelegator,
1150
- l as FEATURES,
1151
- E as FeatureDetector,
1152
- M as MediaLoadingOptimizer,
1153
- $e as MiddlewareBuilder,
1154
- _ as NetworkMonitor,
1155
- Te as PLUGIN_SYSTEM_VERSION,
1156
- P as PerformanceBenchmark,
1157
- O as PerformanceBudgetMonitor,
1158
- Ge as PerformanceDashboard,
1159
- Xe as PerformanceMonitor,
1160
- F as PerformanceRegressionDetector,
1161
- U as PerformanceTestFramework,
1162
- Se as PluginConflictError,
1163
- ve as PluginDependencyError,
1164
- be as PluginDevelopmentHelpers,
1165
- Pe as PluginError,
1166
- Me as PluginPerformanceMonitor,
1167
- R as PluginRegistry,
1168
- Le as PluginStorage,
1169
- Ee as PluginValidator,
1170
- W as ProgressiveLoader,
1171
- Y as ServiceProvider,
1172
- xe as commonMiddlewares,
1173
- Ce as createAnalyticsPlugin,
1174
- de as createArchitecture,
1175
- Fe as createMiddleware,
1176
- ke as createPlugin,
1177
- Ue as defaultEventBus,
1178
- z as defaultMediaLoadingConfig,
1179
- D as defaultPerformanceBudgets,
1180
- Ae as defaultPerformanceMonitor,
1181
- Be as defaultPluginLogger,
1182
- Q as defaultProgressiveConfig,
1183
- Ze as defaultThresholds,
1184
- De as eventMiddlewares,
1185
- me as lazyComponents,
1186
- V as mediaLoadingOptimizer,
1187
- v as performanceBenchmark,
1188
- ne as performanceBudgetMonitor,
1189
- et as performanceMonitor,
1190
- re as performanceTestFramework,
1191
- te as performanceTestUtils,
1192
- b as progressiveLoader,
1193
- ce as useAnalytics,
1194
- Oe as useConditionalEventListener,
1195
- ze as useEventBus,
1196
- _e as useEventDebugger,
1197
- Ve as useEventEffect,
1198
- He as useEventEmitter,
1199
- je as useEventHandlers,
1200
- Ye as useEventHistory,
1201
- Qe as useEventListener,
1202
- We as useEventMetrics,
1203
- Ke as useEventOnce,
1204
- Je as useEventState,
1205
- le as useLogger,
1206
- oe as useMediaLoadingOptimizer,
1207
- tt as usePerformanceMonitor,
1208
- ie as usePluginRegistry,
1209
- K as useProgressiveFeature,
1210
- se as useServiceEventBus,
1211
- p as useServices,
1212
- ae as useStorage,
1213
- rt as withPerformanceMonitoring,
1214
- ge as withProgressiveFeature,
1215
- ue as withServices
1216
- };
1217
- //# sourceMappingURL=core.mjs.map