@therealtinhtute/baroiplayer 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/package.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/context/media.js +0 -2
  5. package/dist/context/media.js.map +0 -1
  6. package/dist/context/media.mjs +0 -15
  7. package/dist/context/media.mjs.map +0 -1
  8. package/dist/context/store.js +0 -2
  9. package/dist/context/store.js.map +0 -1
  10. package/dist/context/store.mjs +0 -5
  11. package/dist/context/store.mjs.map +0 -1
  12. package/dist/context-Af84FynT.js +0 -1179
  13. package/dist/context-Af84FynT.js.map +0 -1
  14. package/dist/context-CwZnPdz0.cjs +0 -23
  15. package/dist/context-CwZnPdz0.cjs.map +0 -1
  16. package/dist/core-events-B5W_j8yU.js +0 -480
  17. package/dist/core-events-B5W_j8yU.js.map +0 -1
  18. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  19. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  20. package/dist/core-plugins-Bq9KLany.js +0 -696
  21. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  22. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  23. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  24. package/dist/core.js +0 -37
  25. package/dist/core.js.map +0 -1
  26. package/dist/core.mjs +0 -1217
  27. package/dist/core.mjs.map +0 -1
  28. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  29. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  30. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  31. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  32. package/dist/hooks-BCMilGRf.cjs +0 -4
  33. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  34. package/dist/hooks-BPtHV1ZT.js +0 -2042
  35. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  36. package/dist/index.js.map +0 -1
  37. package/dist/index.mjs.map +0 -1
  38. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  39. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  40. package/dist/minimal-components-BmqRefl1.js +0 -2002
  41. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  42. package/dist/mona-loading.gif +0 -0
  43. package/dist/performance-monitor--rzKTlbj.js +0 -302
  44. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  45. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  46. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  47. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  48. package/dist/src/adapters/videojs-adapter.js +0 -350
  49. package/dist/src/assets/mona-loading.gif +0 -0
  50. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  51. package/dist/src/components/AnimateLoading.js +0 -41
  52. package/dist/src/components/LoadingState.d.ts.map +0 -1
  53. package/dist/src/components/LoadingState.js +0 -111
  54. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  55. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  56. package/dist/src/components/audio-player.d.ts.map +0 -1
  57. package/dist/src/components/audio-player.js +0 -31
  58. package/dist/src/components/basic/index.d.ts.map +0 -1
  59. package/dist/src/components/basic/index.js +0 -29
  60. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  61. package/dist/src/components/enhanced/advanced-features.js +0 -64
  62. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  63. package/dist/src/components/enhanced/debug-panel.js +0 -94
  64. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  65. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  66. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  67. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  68. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  69. package/dist/src/components/enhanced/error-handling.js +0 -153
  70. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  71. package/dist/src/components/enhanced/index.js +0 -10
  72. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  73. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  74. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  75. package/dist/src/components/examples/basic-video-player.js +0 -16
  76. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  77. package/dist/src/components/examples/custom-controls-example.js +0 -12
  78. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  79. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  80. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  81. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  82. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  83. package/dist/src/components/examples/loading-states-demo.js +0 -41
  84. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  85. package/dist/src/components/examples/react-19-demo.js +0 -104
  86. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  87. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  88. package/dist/src/components/icon-demo.d.ts.map +0 -1
  89. package/dist/src/components/icon-demo.js +0 -16
  90. package/dist/src/components/icons/index.d.ts.map +0 -1
  91. package/dist/src/components/icons/index.js +0 -59
  92. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  93. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  94. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  95. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  96. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  97. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  98. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  99. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  100. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  101. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  102. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  103. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  104. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  105. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  106. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  107. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  108. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  114. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  118. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  120. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  122. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  132. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  134. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  140. package/dist/src/components/legacy.d.ts.map +0 -1
  141. package/dist/src/components/legacy.js +0 -52
  142. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  143. package/dist/src/components/media-metadata-display.js +0 -20
  144. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  145. package/dist/src/components/media-player-audio.js +0 -18
  146. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  147. package/dist/src/components/media-player-controls.js +0 -150
  148. package/dist/src/components/media-player-error.d.ts.map +0 -1
  149. package/dist/src/components/media-player-error.js +0 -85
  150. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  151. package/dist/src/components/media-player-fullscreen.js +0 -68
  152. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  153. package/dist/src/components/media-player-hls.js +0 -20
  154. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  155. package/dist/src/components/media-player-loading.js +0 -53
  156. package/dist/src/components/media-player-play.d.ts.map +0 -1
  157. package/dist/src/components/media-player-play.js +0 -44
  158. package/dist/src/components/media-player-root.d.ts.map +0 -1
  159. package/dist/src/components/media-player-root.js +0 -243
  160. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  161. package/dist/src/components/media-player-seek.js +0 -92
  162. package/dist/src/components/media-player-time.d.ts.map +0 -1
  163. package/dist/src/components/media-player-time.js +0 -57
  164. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  165. package/dist/src/components/media-player-tooltip.js +0 -14
  166. package/dist/src/components/media-player-video.d.ts.map +0 -1
  167. package/dist/src/components/media-player-video.js +0 -18
  168. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  169. package/dist/src/components/media-player-volume.js +0 -88
  170. package/dist/src/components/media-player.d.ts.map +0 -1
  171. package/dist/src/components/media-player.js +0 -67
  172. package/dist/src/components/media-suspense.d.ts.map +0 -1
  173. package/dist/src/components/media-suspense.js +0 -173
  174. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  175. package/dist/src/components/player-settings-form.js +0 -46
  176. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  177. package/dist/src/components/react-player-wrapper.js +0 -163
  178. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  179. package/dist/src/components/simple-video-player.js +0 -41
  180. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  181. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  182. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  183. package/dist/src/components/ui/fullscreen-button.js +0 -21
  184. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  185. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  186. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  187. package/dist/src/components/ui/play-button.js +0 -26
  188. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  189. package/dist/src/components/ui/seek-bar.js +0 -54
  190. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  191. package/dist/src/components/ui/time-display.js +0 -18
  192. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  193. package/dist/src/components/ui/volume-control.js +0 -71
  194. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  195. package/dist/src/components/unified/base-media-player.js +0 -104
  196. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  197. package/dist/src/components/unified/media-player.js +0 -41
  198. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  199. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  200. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  201. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  202. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  203. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  204. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  205. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  206. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  207. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  208. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  209. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  210. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  211. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  212. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  213. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  214. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  216. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  218. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  220. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  222. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  224. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  226. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  228. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  230. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  232. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  234. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  236. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  238. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  240. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/index.js +0 -8
  242. package/dist/src/components/video-player.d.ts.map +0 -1
  243. package/dist/src/components/video-player.js +0 -38
  244. package/dist/src/context/error-handling.d.ts.map +0 -1
  245. package/dist/src/context/error-handling.js +0 -300
  246. package/dist/src/context/media-context.d.ts.map +0 -1
  247. package/dist/src/context/media-context.js +0 -121
  248. package/dist/src/context/media-provider.d.ts.map +0 -1
  249. package/dist/src/context/media-provider.js +0 -164
  250. package/dist/src/context/media-store.d.ts.map +0 -1
  251. package/dist/src/context/media-store.js +0 -273
  252. package/dist/src/context/persistence.d.ts.map +0 -1
  253. package/dist/src/context/persistence.js +0 -356
  254. package/dist/src/core/events/event-system.d.ts.map +0 -1
  255. package/dist/src/core/events/event-system.js +0 -288
  256. package/dist/src/core/events/hooks.d.ts.map +0 -1
  257. package/dist/src/core/events/hooks.js +0 -198
  258. package/dist/src/core/events/index.d.ts.map +0 -1
  259. package/dist/src/core/events/index.js +0 -7
  260. package/dist/src/core/events/middleware.d.ts.map +0 -1
  261. package/dist/src/core/events/middleware.js +0 -219
  262. package/dist/src/core/index.d.ts.map +0 -1
  263. package/dist/src/core/index.js +0 -15
  264. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  265. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  266. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  267. package/dist/src/core/performance/cicd.js +0 -83
  268. package/dist/src/core/performance/index.d.ts.map +0 -1
  269. package/dist/src/core/performance/index.js +0 -14
  270. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  271. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  272. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  273. package/dist/src/core/performance/performance-budgets.js +0 -326
  274. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  275. package/dist/src/core/performance/performance-monitor.js +0 -297
  276. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  277. package/dist/src/core/performance/performance-testing.js +0 -314
  278. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  279. package/dist/src/core/plugins/base-plugin.js +0 -151
  280. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  281. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  282. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  283. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  284. package/dist/src/core/plugins/index.d.ts.map +0 -1
  285. package/dist/src/core/plugins/index.js +0 -9
  286. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  287. package/dist/src/core/plugins/registry.js +0 -261
  288. package/dist/src/core/plugins/types.d.ts.map +0 -1
  289. package/dist/src/core/plugins/types.js +0 -31
  290. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  291. package/dist/src/core/plugins/utils.js +0 -274
  292. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  293. package/dist/src/core/progressive-loading.js +0 -239
  294. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  295. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  296. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  297. package/dist/src/core/providers/service-provider.js +0 -105
  298. package/dist/src/core/utils.d.ts.map +0 -1
  299. package/dist/src/core/utils.js +0 -21
  300. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  301. package/dist/src/features/media-session/media-session-manager.js +0 -331
  302. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  303. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  304. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  305. package/dist/src/features/playlist/playlist-manager.js +0 -475
  306. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  307. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  308. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  309. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  310. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  311. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  312. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  313. package/dist/src/hooks/accessibility/index.js +0 -4
  314. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  315. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  316. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  317. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  318. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  319. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  320. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  321. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  322. package/dist/src/hooks/core/index.d.ts.map +0 -1
  323. package/dist/src/hooks/core/index.js +0 -19
  324. package/dist/src/hooks/legacy.d.ts.map +0 -1
  325. package/dist/src/hooks/legacy.js +0 -17
  326. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  327. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  328. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  329. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  330. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  331. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  332. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  333. package/dist/src/hooks/use-media-actions.js +0 -121
  334. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  335. package/dist/src/hooks/use-media-metadata.js +0 -74
  336. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  337. package/dist/src/hooks/use-media-optimistic.js +0 -205
  338. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  339. package/dist/src/hooks/use-media-player.js +0 -251
  340. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  341. package/dist/src/hooks/use-media-state.js +0 -162
  342. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  343. package/dist/src/hooks/use-memory-optimization.js +0 -288
  344. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  345. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  346. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  347. package/dist/src/hooks/use-optimized-media.js +0 -211
  348. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  349. package/dist/src/hooks/use-touch-gestures.js +0 -289
  350. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  351. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  352. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  353. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  354. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  355. package/dist/src/hooks/useMediaControls.js +0 -44
  356. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  357. package/dist/src/hooks/useScreenshot.js +0 -56
  358. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  359. package/dist/src/hooks/useSubtitles.js +0 -73
  360. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  361. package/dist/src/hooks/useVideoPlayer.js +0 -184
  362. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  363. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  364. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  365. package/dist/src/icons/components/SettingsIcon.js +0 -11
  366. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  367. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  368. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  369. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  370. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  371. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  372. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  373. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  374. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  375. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  376. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  377. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  378. package/dist/src/icons/index.d.ts.map +0 -1
  379. package/dist/src/icons/index.js +0 -45
  380. package/dist/src/icons/provider.d.ts.map +0 -1
  381. package/dist/src/icons/provider.js +0 -37
  382. package/dist/src/icons/types.d.ts.map +0 -1
  383. package/dist/src/icons/types.js +0 -1
  384. package/dist/src/index-enhanced.d.ts.map +0 -1
  385. package/dist/src/index-enhanced.js +0 -16
  386. package/dist/src/index-legacy.d.ts.map +0 -1
  387. package/dist/src/index-legacy.js +0 -97
  388. package/dist/src/index.d.ts.map +0 -1
  389. package/dist/src/index.js +0 -90
  390. package/dist/src/index.minimal.d.ts.map +0 -1
  391. package/dist/src/index.minimal.js +0 -3
  392. package/dist/src/lib/deprecation.d.ts.map +0 -1
  393. package/dist/src/lib/deprecation.js +0 -31
  394. package/dist/src/lib/format-time.d.ts.map +0 -1
  395. package/dist/src/lib/format-time.js +0 -32
  396. package/dist/src/lib/index.d.ts.map +0 -1
  397. package/dist/src/lib/index.js +0 -3
  398. package/dist/src/lib/utils.d.ts.map +0 -1
  399. package/dist/src/lib/utils.js +0 -5
  400. package/dist/src/test/setup.d.ts.map +0 -1
  401. package/dist/src/test/setup.js +0 -65
  402. package/dist/src/types/events.d.ts.map +0 -1
  403. package/dist/src/types/events.js +0 -2
  404. package/dist/src/types/formats.d.ts.map +0 -1
  405. package/dist/src/types/formats.js +0 -63
  406. package/dist/src/types/index.d.ts.map +0 -1
  407. package/dist/src/types/index.js +0 -4
  408. package/dist/utils-Db13763z.cjs +0 -9
  409. package/dist/utils-Db13763z.cjs.map +0 -1
  410. package/dist/utils-nTO4AnHo.js +0 -2809
  411. package/dist/utils-nTO4AnHo.js.map +0 -1
  412. package/dist/utils.js +0 -2
  413. package/dist/utils.js.map +0 -1
  414. package/dist/utils.mjs +0 -7
  415. package/dist/utils.mjs.map +0 -1
  416. package/src/adapters/videojs-adapter.js +0 -350
  417. package/src/components/AnimateLoading.js +0 -41
  418. package/src/components/LoadingState.js +0 -111
  419. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  420. package/src/components/audio-player.js +0 -31
  421. package/src/components/basic/index.js +0 -29
  422. package/src/components/enhanced/advanced-features.js +0 -64
  423. package/src/components/enhanced/debug-panel.js +0 -94
  424. package/src/components/enhanced/enhanced-controls.js +0 -233
  425. package/src/components/enhanced/enhanced-media-player.js +0 -316
  426. package/src/components/enhanced/error-handling.js +0 -153
  427. package/src/components/enhanced/index.js +0 -10
  428. package/src/components/enhanced/media-player-enhanced.js +0 -250
  429. package/src/components/examples/basic-video-player.js +0 -16
  430. package/src/components/examples/custom-controls-example.js +0 -12
  431. package/src/components/examples/enhanced-controls-example.js +0 -18
  432. package/src/components/examples/enhanced-media-player-example.js +0 -13
  433. package/src/components/examples/loading-states-demo.js +0 -41
  434. package/src/components/examples/react-19-demo.js +0 -104
  435. package/src/components/examples/volume-orientation-demo.js +0 -31
  436. package/src/components/icon-demo.js +0 -16
  437. package/src/components/icons/index.js +0 -59
  438. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  439. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  440. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  441. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  442. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  443. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  444. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  445. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  446. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  447. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  448. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  449. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  450. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  451. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  452. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  453. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  454. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  455. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  456. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  457. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  458. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  459. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  460. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  461. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  462. package/src/components/legacy.js +0 -52
  463. package/src/components/media-metadata-display.js +0 -20
  464. package/src/components/media-player-audio.js +0 -18
  465. package/src/components/media-player-controls.js +0 -150
  466. package/src/components/media-player-error.js +0 -85
  467. package/src/components/media-player-fullscreen.js +0 -68
  468. package/src/components/media-player-hls.js +0 -20
  469. package/src/components/media-player-loading.js +0 -53
  470. package/src/components/media-player-play.js +0 -44
  471. package/src/components/media-player-root.js +0 -243
  472. package/src/components/media-player-seek.js +0 -92
  473. package/src/components/media-player-time.js +0 -57
  474. package/src/components/media-player-tooltip.js +0 -14
  475. package/src/components/media-player-video.js +0 -18
  476. package/src/components/media-player-volume.js +0 -88
  477. package/src/components/media-player.js +0 -67
  478. package/src/components/media-suspense.js +0 -173
  479. package/src/components/player-settings-form.js +0 -46
  480. package/src/components/react-player-wrapper.js +0 -163
  481. package/src/components/simple-video-player.js +0 -41
  482. package/src/components/ui/enhanced-seek-bar.js +0 -112
  483. package/src/components/ui/fullscreen-button.js +0 -21
  484. package/src/components/ui/media-resource-preloader.js +0 -295
  485. package/src/components/ui/play-button.js +0 -26
  486. package/src/components/ui/seek-bar.js +0 -54
  487. package/src/components/ui/time-display.js +0 -18
  488. package/src/components/ui/volume-control.js +0 -71
  489. package/src/components/unified/base-media-player.js +0 -104
  490. package/src/components/unified/media-player.js +0 -41
  491. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  492. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  493. package/src/components/variants/minimal/MinimalControls.js +0 -19
  494. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  495. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  496. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  497. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  498. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  499. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  500. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  501. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  502. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  503. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  504. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  505. package/src/components/variants/minimal/components/RightControls.js +0 -40
  506. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  507. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  508. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  509. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  510. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  511. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  512. package/src/components/variants/minimal/index.js +0 -8
  513. package/src/components/video-player.js +0 -38
  514. package/src/context/error-handling.js +0 -300
  515. package/src/context/media-context.js +0 -121
  516. package/src/context/media-provider.js +0 -164
  517. package/src/context/media-store.js +0 -273
  518. package/src/context/persistence.js +0 -356
  519. package/src/core/events/event-system.js +0 -288
  520. package/src/core/events/hooks.js +0 -198
  521. package/src/core/events/index.js +0 -7
  522. package/src/core/events/middleware.js +0 -219
  523. package/src/core/index.js +0 -15
  524. package/src/core/optimization/bundle-optimizer.js +0 -217
  525. package/src/core/performance/cicd.js +0 -83
  526. package/src/core/performance/index.js +0 -14
  527. package/src/core/performance/media-loading-optimizer.js +0 -404
  528. package/src/core/performance/performance-budgets.js +0 -326
  529. package/src/core/performance/performance-monitor.js +0 -297
  530. package/src/core/performance/performance-testing.js +0 -314
  531. package/src/core/plugins/base-plugin.js +0 -151
  532. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  533. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  534. package/src/core/plugins/index.js +0 -9
  535. package/src/core/plugins/registry.js +0 -261
  536. package/src/core/plugins/types.js +0 -31
  537. package/src/core/plugins/utils.js +0 -274
  538. package/src/core/progressive-loading.js +0 -239
  539. package/src/core/providers/enhanced-hls-provider.js +0 -273
  540. package/src/core/providers/service-provider.js +0 -105
  541. package/src/core/utils.js +0 -21
  542. package/src/features/media-session/media-session-manager.js +0 -331
  543. package/src/features/picture-in-picture/pip-manager.js +0 -353
  544. package/src/features/playlist/playlist-manager.js +0 -475
  545. package/src/features/subtitles/subtitle-manager.js +0 -335
  546. package/src/features/subtitles/subtitle-parser.js +0 -217
  547. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  548. package/src/hooks/accessibility/index.js +0 -4
  549. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  550. package/src/hooks/accessibility/use-focus-management.js +0 -142
  551. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  552. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  553. package/src/hooks/core/index.js +0 -19
  554. package/src/hooks/legacy.js +0 -17
  555. package/src/hooks/use-enhanced-media-player.js +0 -395
  556. package/src/hooks/use-intelligent-preloading.js +0 -258
  557. package/src/hooks/use-keyboard-controls.js +0 -83
  558. package/src/hooks/use-media-actions.js +0 -121
  559. package/src/hooks/use-media-metadata.js +0 -74
  560. package/src/hooks/use-media-optimistic.js +0 -205
  561. package/src/hooks/use-media-player.js +0 -251
  562. package/src/hooks/use-media-state.js +0 -162
  563. package/src/hooks/use-memory-optimization.js +0 -288
  564. package/src/hooks/use-optimistic-controls.js +0 -60
  565. package/src/hooks/use-optimized-media.js +0 -211
  566. package/src/hooks/use-touch-gestures.js +0 -289
  567. package/src/hooks/useEnhancedSubtitles.js +0 -205
  568. package/src/hooks/useKeyboardShortcuts.js +0 -59
  569. package/src/hooks/useMediaControls.js +0 -44
  570. package/src/hooks/useScreenshot.js +0 -56
  571. package/src/hooks/useSubtitles.js +0 -73
  572. package/src/hooks/useVideoPlayer.js +0 -184
  573. package/src/icons/components/FullscreenIcon.js +0 -11
  574. package/src/icons/components/SettingsIcon.js +0 -11
  575. package/src/icons/components/animated/LoadingIcon.js +0 -11
  576. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  577. package/src/icons/components/media/PauseIcon.js +0 -12
  578. package/src/icons/components/media/PlayIcon.js +0 -12
  579. package/src/icons/components/volume/VolumeIcon.js +0 -11
  580. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  581. package/src/icons/index.js +0 -45
  582. package/src/icons/provider.js +0 -37
  583. package/src/icons/types.js +0 -1
  584. package/src/index-enhanced.js +0 -16
  585. package/src/index-legacy.js +0 -97
  586. package/src/index.js +0 -90
  587. package/src/index.minimal.js +0 -3
  588. package/src/lib/deprecation.js +0 -31
  589. package/src/lib/format-time.js +0 -32
  590. package/src/lib/index.js +0 -3
  591. package/src/lib/utils.js +0 -5
  592. package/src/test/setup.js +0 -65
  593. package/src/types/events.js +0 -2
  594. package/src/types/formats.js +0 -63
  595. package/src/types/index.js +0 -4
@@ -1,326 +0,0 @@
1
- // Default performance budgets for media player
2
- export const defaultPerformanceBudgets = [
3
- // Bundle size budgets
4
- {
5
- name: 'Main Bundle Size (ESM)',
6
- category: 'bundle',
7
- limit: 250 * 1024, // 250KB
8
- unit: 'bytes',
9
- severity: 'error',
10
- description: 'Main bundle should stay under 250KB for fast initial loading'
11
- },
12
- {
13
- name: 'Main Bundle Size (CJS)',
14
- category: 'bundle',
15
- limit: 200 * 1024, // 200KB
16
- unit: 'bytes',
17
- severity: 'error',
18
- description: 'CJS bundle should be smaller due to better compression'
19
- },
20
- {
21
- name: 'Core Module Size',
22
- category: 'bundle',
23
- limit: 15 * 1024, // 15KB
24
- unit: 'bytes',
25
- severity: 'warning',
26
- description: 'Core architecture should remain lightweight'
27
- },
28
- {
29
- name: 'Enhanced Components Size',
30
- category: 'bundle',
31
- limit: 40 * 1024, // 40KB
32
- unit: 'bytes',
33
- severity: 'warning',
34
- description: 'Enhanced components bundle size'
35
- },
36
- // Runtime performance budgets
37
- {
38
- name: 'Component Render Time',
39
- category: 'runtime',
40
- limit: 16, // 16ms for 60fps
41
- unit: 'ms',
42
- severity: 'error',
43
- description: 'Component rendering should complete within one frame'
44
- },
45
- {
46
- name: 'First Input Delay',
47
- category: 'runtime',
48
- limit: 100, // 100ms
49
- unit: 'ms',
50
- severity: 'error',
51
- description: 'First Input Delay should be under 100ms for good UX'
52
- },
53
- {
54
- name: 'Largest Contentful Paint',
55
- category: 'runtime',
56
- limit: 2500, // 2.5s
57
- unit: 'ms',
58
- severity: 'warning',
59
- description: 'LCP should be under 2.5s for good Core Web Vitals score'
60
- },
61
- {
62
- name: 'Cumulative Layout Shift',
63
- category: 'runtime',
64
- limit: 0.1,
65
- unit: 'score',
66
- severity: 'warning',
67
- description: 'CLS should be under 0.1 for good visual stability'
68
- },
69
- // Memory budgets
70
- {
71
- name: 'Memory Usage',
72
- category: 'memory',
73
- limit: 50 * 1024 * 1024, // 50MB
74
- unit: 'bytes',
75
- severity: 'warning',
76
- description: 'Memory usage should stay under 50MB for good performance'
77
- },
78
- {
79
- name: 'Memory Increase Per Operation',
80
- category: 'memory',
81
- limit: 1024 * 1024, // 1MB
82
- unit: 'bytes',
83
- severity: 'error',
84
- description: 'Each operation should not increase memory by more than 1MB'
85
- },
86
- // Network budgets (for media loading)
87
- {
88
- name: 'Media Load Time',
89
- category: 'network',
90
- limit: 3000, // 3s
91
- unit: 'ms',
92
- severity: 'warning',
93
- description: 'Media should start loading within 3 seconds'
94
- }
95
- ];
96
- // Performance budget monitor
97
- export class PerformanceBudgetMonitor {
98
- budgets = new Map();
99
- violations = [];
100
- alertConfig;
101
- lastAlertTime = 0;
102
- constructor(budgets = defaultPerformanceBudgets, alertConfig = {
103
- enabled: true,
104
- channels: [{ type: 'console', config: {} }],
105
- threshold: 1,
106
- cooldown: 5 * 60 * 1000 // 5 minutes
107
- }) {
108
- budgets.forEach(budget => {
109
- this.budgets.set(budget.name, budget);
110
- });
111
- this.alertConfig = alertConfig;
112
- }
113
- // Check a single metric against budgets
114
- checkMetric(metricName, value, category = 'runtime') {
115
- const violations = [];
116
- for (const [name, budget] of this.budgets) {
117
- if (budget.category === category &&
118
- (name.includes(metricName) || metricName.includes(name.split(' ')[0]?.toLowerCase() || ''))) {
119
- if (value > budget.limit) {
120
- const violation = {
121
- budget,
122
- actualValue: value,
123
- overageAmount: value - budget.limit,
124
- overagePercentage: ((value - budget.limit) / budget.limit) * 100,
125
- timestamp: Date.now()
126
- };
127
- violations.push(violation);
128
- this.violations.push(violation);
129
- }
130
- }
131
- }
132
- if (violations.length > 0) {
133
- this.handleViolations(violations);
134
- }
135
- return violations;
136
- }
137
- // Check bundle sizes
138
- async checkBundleSizes(distPath) {
139
- const violations = [];
140
- // Only check bundle sizes in Node.js environment
141
- if (typeof window !== 'undefined' || typeof process === 'undefined') {
142
- console.warn('Bundle size checking is only available in Node.js environment');
143
- return violations;
144
- }
145
- // Bundle size checking is disabled in browser environments
146
- console.warn('Bundle size checking disabled - use Node.js cicdIntegration from @rp/baroiplayer/core/performance/cicd for CI/CD environments');
147
- return violations;
148
- }
149
- // Check runtime performance
150
- checkRuntimeMetrics(metrics) {
151
- const allViolations = [];
152
- if (metrics.renderTime !== undefined) {
153
- allViolations.push(...this.checkMetric('Component Render Time', metrics.renderTime, 'runtime'));
154
- }
155
- if (metrics.fid !== undefined) {
156
- allViolations.push(...this.checkMetric('First Input Delay', metrics.fid, 'runtime'));
157
- }
158
- if (metrics.lcp !== undefined) {
159
- allViolations.push(...this.checkMetric('Largest Contentful Paint', metrics.lcp, 'runtime'));
160
- }
161
- if (metrics.cls !== undefined) {
162
- allViolations.push(...this.checkMetric('Cumulative Layout Shift', metrics.cls, 'runtime'));
163
- }
164
- if (metrics.memoryUsage !== undefined) {
165
- allViolations.push(...this.checkMetric('Memory Usage', metrics.memoryUsage, 'memory'));
166
- }
167
- if (metrics.mediaLoadTime !== undefined) {
168
- allViolations.push(...this.checkMetric('Media Load Time', metrics.mediaLoadTime, 'network'));
169
- }
170
- return allViolations;
171
- }
172
- // Handle budget violations
173
- async handleViolations(violations) {
174
- if (!this.alertConfig.enabled)
175
- return;
176
- const now = Date.now();
177
- const errorViolations = violations.filter(v => v.budget.severity === 'error');
178
- // Check if we should send an alert based on threshold and cooldown
179
- if (errorViolations.length >= this.alertConfig.threshold &&
180
- now - this.lastAlertTime >= this.alertConfig.cooldown) {
181
- await this.sendAlerts(violations);
182
- this.lastAlertTime = now;
183
- }
184
- }
185
- // Send alerts through configured channels
186
- async sendAlerts(violations) {
187
- const message = this.formatAlertMessage(violations);
188
- for (const channel of this.alertConfig.channels) {
189
- try {
190
- await this.sendAlert(channel, message);
191
- }
192
- catch (error) {
193
- console.error(`Failed to send alert via ${channel.type}:`, error);
194
- }
195
- }
196
- }
197
- // Format alert message
198
- formatAlertMessage(violations) {
199
- let message = `🚨 Performance Budget Violations Detected!\n\n`;
200
- violations.forEach(violation => {
201
- const { budget, actualValue, overageAmount, overagePercentage } = violation;
202
- const unit = this.getUnitDisplay(budget.unit);
203
- message += `❌ ${budget.name}\n`;
204
- message += ` Limit: ${this.formatValue(budget.limit, budget.unit)}\n`;
205
- message += ` Actual: ${this.formatValue(actualValue, budget.unit)}\n`;
206
- message += ` Overage: ${this.formatValue(overageAmount, budget.unit)} (+${overagePercentage.toFixed(1)}%)\n`;
207
- message += ` Severity: ${budget.severity.toUpperCase()}\n\n`;
208
- });
209
- message += `Time: ${new Date().toISOString()}\n`;
210
- message += `Total Violations: ${violations.length}`;
211
- return message;
212
- }
213
- // Send alert to specific channel
214
- async sendAlert(channel, message) {
215
- switch (channel.type) {
216
- case 'console':
217
- console.error(message);
218
- break;
219
- case 'webhook':
220
- if (channel.config.url) {
221
- const response = await fetch(channel.config.url, {
222
- method: 'POST',
223
- headers: { 'Content-Type': 'application/json' },
224
- body: JSON.stringify({ text: message, timestamp: Date.now() })
225
- });
226
- if (!response.ok) {
227
- throw new Error(`Webhook failed: ${response.status}`);
228
- }
229
- }
230
- break;
231
- case 'slack':
232
- if (channel.config.url) {
233
- const response = await fetch(channel.config.url, {
234
- method: 'POST',
235
- headers: { 'Content-Type': 'application/json' },
236
- body: JSON.stringify({
237
- text: message,
238
- channel: channel.config.channel,
239
- username: 'BaroiPlayer Performance Monitor'
240
- })
241
- });
242
- if (!response.ok) {
243
- throw new Error(`Slack webhook failed: ${response.status}`);
244
- }
245
- }
246
- break;
247
- default:
248
- console.warn(`Unsupported alert channel: ${channel.type}`);
249
- }
250
- }
251
- // Helper methods
252
- formatValue(value, unit) {
253
- switch (unit) {
254
- case 'bytes':
255
- return this.formatBytes(value);
256
- case 'ms':
257
- return `${value.toFixed(2)}ms`;
258
- case 'score':
259
- return value.toFixed(3);
260
- case 'percent':
261
- return `${value.toFixed(1)}%`;
262
- default:
263
- return value.toString();
264
- }
265
- }
266
- formatBytes(bytes) {
267
- if (bytes >= 1024 * 1024) {
268
- return `${(bytes / 1024 / 1024).toFixed(2)}MB`;
269
- }
270
- if (bytes >= 1024) {
271
- return `${(bytes / 1024).toFixed(2)}KB`;
272
- }
273
- return `${bytes}B`;
274
- }
275
- getUnitDisplay(unit) {
276
- const displays = {
277
- 'bytes': 'bytes',
278
- 'ms': 'milliseconds',
279
- 'score': 'score',
280
- 'percent': 'percent'
281
- };
282
- return displays[unit] || unit;
283
- }
284
- // Management methods
285
- addBudget(budget) {
286
- this.budgets.set(budget.name, budget);
287
- }
288
- removeBudget(name) {
289
- this.budgets.delete(name);
290
- }
291
- updateBudget(name, updates) {
292
- const existing = this.budgets.get(name);
293
- if (existing) {
294
- this.budgets.set(name, { ...existing, ...updates });
295
- }
296
- }
297
- getBudgets() {
298
- return Array.from(this.budgets.values());
299
- }
300
- getViolations(since) {
301
- if (since) {
302
- return this.violations.filter(v => v.timestamp >= since);
303
- }
304
- return [...this.violations];
305
- }
306
- clearViolations() {
307
- this.violations = [];
308
- }
309
- getViolationSummary() {
310
- const byCategory = {};
311
- const bySeverity = {};
312
- this.violations.forEach(violation => {
313
- const category = violation.budget.category;
314
- const severity = violation.budget.severity;
315
- byCategory[category] = (byCategory[category] || 0) + 1;
316
- bySeverity[severity] = (bySeverity[severity] || 0) + 1;
317
- });
318
- return {
319
- total: this.violations.length,
320
- byCategory,
321
- bySeverity
322
- };
323
- }
324
- }
325
- // Global performance budget monitor
326
- export const performanceBudgetMonitor = new PerformanceBudgetMonitor();
@@ -1,297 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useRef, useCallback } from 'react';
3
- export const defaultThresholds = {
4
- lcp: { good: 2500, poor: 4000 },
5
- fid: { good: 100, poor: 300 },
6
- cls: { good: 0.1, poor: 0.25 },
7
- renderTime: { good: 16, poor: 100 }, // Target 60fps = 16.67ms per frame
8
- memoryUsage: { good: 50 * 1024 * 1024, poor: 100 * 1024 * 1024 } // 50MB good, 100MB poor
9
- };
10
- // Performance monitoring class
11
- export class PerformanceMonitor {
12
- metrics = [];
13
- listeners = new Set();
14
- thresholds;
15
- observer;
16
- isMonitoring = false;
17
- constructor(thresholds = defaultThresholds) {
18
- this.thresholds = thresholds;
19
- this.initializeWebVitals();
20
- this.initializePerformanceObserver();
21
- }
22
- async initializeWebVitals() {
23
- if (typeof window === 'undefined')
24
- return;
25
- try {
26
- // Try to import web-vitals dynamically and handle different versions
27
- const webVitals = await import('web-vitals').catch(() => null);
28
- if (!webVitals) {
29
- console.warn('web-vitals package not available, Core Web Vitals tracking disabled');
30
- return;
31
- }
32
- const reportHandler = (metric) => {
33
- this.updateMetric(metric.name.toLowerCase(), metric.value);
34
- };
35
- // Handle different web-vitals versions safely
36
- const vitalsAny = webVitals;
37
- if (vitalsAny.getCLS)
38
- vitalsAny.getCLS(reportHandler);
39
- if (vitalsAny.getFID)
40
- vitalsAny.getFID(reportHandler);
41
- if (vitalsAny.getFCP)
42
- vitalsAny.getFCP(reportHandler);
43
- if (vitalsAny.getLCP)
44
- vitalsAny.getLCP(reportHandler);
45
- if (vitalsAny.getTTFB)
46
- vitalsAny.getTTFB(reportHandler);
47
- if (vitalsAny.onINP)
48
- vitalsAny.onINP(reportHandler);
49
- }
50
- catch (error) {
51
- console.warn('Web Vitals initialization failed:', error);
52
- }
53
- }
54
- initializePerformanceObserver() {
55
- if (typeof window === 'undefined' || !('PerformanceObserver' in window))
56
- return;
57
- try {
58
- this.observer = new PerformanceObserver((list) => {
59
- for (const entry of list.getEntries()) {
60
- this.handlePerformanceEntry(entry);
61
- }
62
- });
63
- this.observer.observe({ entryTypes: ['measure', 'navigation', 'resource', 'paint'] });
64
- }
65
- catch (error) {
66
- console.warn('PerformanceObserver not supported:', error);
67
- }
68
- }
69
- handlePerformanceEntry(entry) {
70
- switch (entry.entryType) {
71
- case 'measure':
72
- if (entry.name.startsWith('baroiplayer-render')) {
73
- this.updateMetric('componentRenderTime', entry.duration);
74
- }
75
- break;
76
- case 'resource':
77
- if (entry.name.includes('.js') || entry.name.includes('.css')) {
78
- this.updateMetric('bundleLoadTime', entry.duration);
79
- }
80
- break;
81
- case 'paint':
82
- if (entry.name === 'first-contentful-paint') {
83
- this.updateMetric('fcp', entry.startTime);
84
- }
85
- break;
86
- }
87
- }
88
- updateMetric(key, value) {
89
- const currentMetrics = this.getCurrentMetrics();
90
- const updatedMetrics = {
91
- ...currentMetrics,
92
- [key]: value,
93
- timestamp: Date.now(),
94
- performanceScore: this.calculatePerformanceScore({ ...currentMetrics, [key]: value })
95
- };
96
- this.metrics.push(updatedMetrics);
97
- // Keep only last 100 metrics
98
- if (this.metrics.length > 100) {
99
- this.metrics = this.metrics.slice(-100);
100
- }
101
- this.listeners.forEach(listener => listener(updatedMetrics));
102
- }
103
- getCurrentMetrics() {
104
- const latest = this.metrics[this.metrics.length - 1];
105
- return latest || {
106
- componentRenderTime: 0,
107
- bundleLoadTime: 0,
108
- mediaLoadTime: 0,
109
- memoryUsage: this.getMemoryUsage(),
110
- performanceScore: 0,
111
- timestamp: Date.now()
112
- };
113
- }
114
- getMemoryUsage() {
115
- if ('memory' in performance) {
116
- return performance.memory.usedJSHeapSize || 0;
117
- }
118
- return 0;
119
- }
120
- calculatePerformanceScore(metrics) {
121
- let score = 100;
122
- // Penalize based on thresholds
123
- if (metrics.lcp && metrics.lcp > this.thresholds.lcp.good) {
124
- score -= metrics.lcp > this.thresholds.lcp.poor ? 30 : 15;
125
- }
126
- if (metrics.fid && metrics.fid > this.thresholds.fid.good) {
127
- score -= metrics.fid > this.thresholds.fid.poor ? 25 : 10;
128
- }
129
- if (metrics.cls && metrics.cls > this.thresholds.cls.good) {
130
- score -= metrics.cls > this.thresholds.cls.poor ? 20 : 10;
131
- }
132
- if (metrics.componentRenderTime > this.thresholds.renderTime.good) {
133
- score -= metrics.componentRenderTime > this.thresholds.renderTime.poor ? 20 : 10;
134
- }
135
- if (metrics.memoryUsage > this.thresholds.memoryUsage.good) {
136
- score -= metrics.memoryUsage > this.thresholds.memoryUsage.poor ? 15 : 5;
137
- }
138
- return Math.max(0, score);
139
- }
140
- // Public API
141
- startMonitoring() {
142
- this.isMonitoring = true;
143
- this.startMemoryMonitoring();
144
- }
145
- stopMonitoring() {
146
- this.isMonitoring = false;
147
- if (this.observer) {
148
- this.observer.disconnect();
149
- }
150
- }
151
- startMemoryMonitoring() {
152
- if (!this.isMonitoring)
153
- return;
154
- this.updateMetric('memoryUsage', this.getMemoryUsage());
155
- setTimeout(() => this.startMemoryMonitoring(), 5000); // Check every 5 seconds
156
- }
157
- measureComponentRender(componentName, renderFn) {
158
- const startMark = `baroiplayer-render-${componentName}-start`;
159
- const endMark = `baroiplayer-render-${componentName}-end`;
160
- const measureName = `baroiplayer-render-${componentName}`;
161
- performance.mark(startMark);
162
- const result = renderFn();
163
- performance.mark(endMark);
164
- try {
165
- performance.measure(measureName, startMark, endMark);
166
- }
167
- catch (error) {
168
- console.warn('Performance measurement failed:', error);
169
- }
170
- return result;
171
- }
172
- subscribe(listener) {
173
- this.listeners.add(listener);
174
- return () => this.listeners.delete(listener);
175
- }
176
- getLatestMetrics() {
177
- return this.metrics[this.metrics.length - 1] || null;
178
- }
179
- getAllMetrics() {
180
- return [...this.metrics];
181
- }
182
- getAverageMetrics(count = 10) {
183
- const recentMetrics = this.metrics.slice(-count);
184
- if (recentMetrics.length === 0)
185
- return {};
186
- const averages = {};
187
- const keys = [
188
- 'lcp', 'fid', 'cls', 'fcp', 'ttfb', 'inp',
189
- 'componentRenderTime', 'bundleLoadTime', 'mediaLoadTime',
190
- 'memoryUsage', 'performanceScore'
191
- ];
192
- keys.forEach(key => {
193
- const values = recentMetrics
194
- .map(m => m[key])
195
- .filter(v => typeof v === 'number' && !isNaN(v));
196
- if (values.length > 0) {
197
- averages[key] = values.reduce((sum, v) => sum + v, 0) / values.length;
198
- }
199
- });
200
- return averages;
201
- }
202
- getThresholds() {
203
- return this.thresholds;
204
- }
205
- updateThresholds(newThresholds) {
206
- this.thresholds = { ...this.thresholds, ...newThresholds };
207
- }
208
- }
209
- // Global performance monitor instance
210
- export const performanceMonitor = new PerformanceMonitor();
211
- // React hook for performance monitoring
212
- export function usePerformanceMonitor() {
213
- const [metrics, setMetrics] = useState(null);
214
- const [isSupported, setIsSupported] = useState(true);
215
- useEffect(() => {
216
- setIsSupported(typeof window !== 'undefined' && 'performance' in window);
217
- if (!isSupported)
218
- return;
219
- performanceMonitor.startMonitoring();
220
- const unsubscribe = performanceMonitor.subscribe(setMetrics);
221
- return () => {
222
- unsubscribe();
223
- performanceMonitor.stopMonitoring();
224
- };
225
- }, [isSupported]);
226
- const measureRender = useCallback((componentName, renderFn) => {
227
- return performanceMonitor.measureComponentRender(componentName, renderFn);
228
- }, []);
229
- return {
230
- metrics,
231
- isSupported,
232
- measureRender,
233
- averageMetrics: performanceMonitor.getAverageMetrics(),
234
- allMetrics: performanceMonitor.getAllMetrics(),
235
- thresholds: performanceMonitor.getThresholds()
236
- };
237
- }
238
- // HOC for performance monitoring
239
- export function withPerformanceMonitoring(WrappedComponent, componentName) {
240
- const displayName = componentName || WrappedComponent.displayName || WrappedComponent.name || 'Component';
241
- function PerformanceMonitoredComponent(props) {
242
- const renderRef = useRef(0);
243
- const { measureRender } = usePerformanceMonitor();
244
- return measureRender(`${displayName}-${renderRef.current++}`, () => (_jsx(WrappedComponent, { ...props })));
245
- }
246
- PerformanceMonitoredComponent.displayName = `withPerformanceMonitoring(${displayName})`;
247
- return PerformanceMonitoredComponent;
248
- }
249
- // Performance regression detector
250
- export class PerformanceRegressionDetector {
251
- baselineMetrics = null;
252
- regressionThreshold = 0.2; // 20% degradation threshold
253
- setBaseline(metrics) {
254
- this.baselineMetrics = metrics;
255
- }
256
- detectRegression(currentMetrics) {
257
- if (!this.baselineMetrics)
258
- return [];
259
- const regressions = [];
260
- const metricsToCheck = [
261
- 'componentRenderTime', 'bundleLoadTime', 'mediaLoadTime', 'memoryUsage'
262
- ];
263
- metricsToCheck.forEach(metric => {
264
- const baseline = this.baselineMetrics[metric];
265
- const current = currentMetrics[metric];
266
- if (baseline && current && baseline > 0) {
267
- const degradation = (current - baseline) / baseline;
268
- if (degradation > this.regressionThreshold) {
269
- regressions.push({ metric, baseline, current, degradation });
270
- }
271
- }
272
- });
273
- return regressions;
274
- }
275
- setRegressionThreshold(threshold) {
276
- this.regressionThreshold = Math.max(0, Math.min(1, threshold));
277
- }
278
- }
279
- export function PerformanceDashboard({ className = '', showAdvanced = false }) {
280
- const { metrics, averageMetrics, thresholds, isSupported } = usePerformanceMonitor();
281
- if (!isSupported || !metrics) {
282
- return (_jsx("div", { className: `performance-dashboard ${className}`, children: _jsx("p", { children: "Performance monitoring not supported in this environment" }) }));
283
- }
284
- const getScoreColor = (score) => {
285
- if (score >= 90)
286
- return 'text-green-600';
287
- if (score >= 70)
288
- return 'text-yellow-600';
289
- return 'text-red-600';
290
- };
291
- const formatBytes = (bytes) => {
292
- return `${(bytes / 1024 / 1024).toFixed(2)} MB`;
293
- };
294
- return (_jsxs("div", { className: `performance-dashboard rounded-lg bg-white p-4 shadow ${className}`, children: [_jsx("h3", { className: "mb-4 font-semibold text-lg", children: "Performance Dashboard" }), _jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Performance Score" }), _jsx("span", { className: `font-bold ${getScoreColor(metrics.performanceScore)}`, children: metrics.performanceScore.toFixed(0) })] }), _jsx("div", { className: "mt-1 h-2 w-full rounded-full bg-gray-200", children: _jsx("div", { className: `h-2 rounded-full transition-all duration-300 ${metrics.performanceScore >= 90 ? 'bg-green-500' :
295
- metrics.performanceScore >= 70 ? 'bg-yellow-500' : 'bg-red-500'}`, style: { width: `${metrics.performanceScore}%` } }) })] }), _jsxs("div", { className: "mb-4 grid grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsx("h4", { className: "mb-2 font-medium", children: "Core Web Vitals" }), _jsxs("div", { className: "space-y-1 text-sm", children: [metrics.lcp && (_jsxs("div", { children: ["LCP: ", metrics.lcp.toFixed(0), "ms"] })), metrics.fid && (_jsxs("div", { children: ["FID: ", metrics.fid.toFixed(0), "ms"] })), metrics.cls && (_jsxs("div", { children: ["CLS: ", metrics.cls.toFixed(3)] }))] })] }), _jsxs("div", { children: [_jsx("h4", { className: "mb-2 font-medium", children: "Custom Metrics" }), _jsxs("div", { className: "space-y-1 text-sm", children: [_jsxs("div", { children: ["Render: ", metrics.componentRenderTime.toFixed(2), "ms"] }), _jsxs("div", { children: ["Memory: ", formatBytes(metrics.memoryUsage)] }), metrics.bundleLoadTime > 0 && (_jsxs("div", { children: ["Bundle: ", metrics.bundleLoadTime.toFixed(0), "ms"] }))] })] })] }), showAdvanced && (_jsxs("div", { children: [_jsx("h4", { className: "mb-2 font-medium", children: "Advanced Metrics" }), _jsxs("div", { className: "space-y-1 text-sm", children: [_jsxs("div", { children: ["Average Render Time: ", (averageMetrics.componentRenderTime || 0).toFixed(2), "ms"] }), _jsxs("div", { children: ["Average Memory: ", formatBytes(averageMetrics.memoryUsage || 0)] }), _jsxs("div", { children: ["Average Score: ", (averageMetrics.performanceScore || 0).toFixed(0)] })] })] }))] }));
296
- }
297
- export default PerformanceMonitor;