@therealtinhtute/baroiplayer 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -7
  3. package/dist/index.mjs +1 -2
  4. package/dist/package.json +1 -1
  5. package/package.json +1 -1
  6. package/dist/context/media.js +0 -2
  7. package/dist/context/media.js.map +0 -1
  8. package/dist/context/media.mjs +0 -15
  9. package/dist/context/media.mjs.map +0 -1
  10. package/dist/context/store.js +0 -2
  11. package/dist/context/store.js.map +0 -1
  12. package/dist/context/store.mjs +0 -5
  13. package/dist/context/store.mjs.map +0 -1
  14. package/dist/context-Af84FynT.js +0 -1179
  15. package/dist/context-Af84FynT.js.map +0 -1
  16. package/dist/context-CwZnPdz0.cjs +0 -23
  17. package/dist/context-CwZnPdz0.cjs.map +0 -1
  18. package/dist/core-events-B5W_j8yU.js +0 -480
  19. package/dist/core-events-B5W_j8yU.js.map +0 -1
  20. package/dist/core-events-CN0-Vhhq.cjs +0 -2
  21. package/dist/core-events-CN0-Vhhq.cjs.map +0 -1
  22. package/dist/core-plugins-Bq9KLany.js +0 -696
  23. package/dist/core-plugins-Bq9KLany.js.map +0 -1
  24. package/dist/core-plugins-CPDSHMiQ.cjs +0 -2
  25. package/dist/core-plugins-CPDSHMiQ.cjs.map +0 -1
  26. package/dist/core.js +0 -37
  27. package/dist/core.js.map +0 -1
  28. package/dist/core.mjs +0 -1217
  29. package/dist/core.mjs.map +0 -1
  30. package/dist/enhanced-components-CXnYiOt6.cjs +0 -2
  31. package/dist/enhanced-components-CXnYiOt6.cjs.map +0 -1
  32. package/dist/enhanced-components-Da0TSvKe.js +0 -1073
  33. package/dist/enhanced-components-Da0TSvKe.js.map +0 -1
  34. package/dist/hooks-BCMilGRf.cjs +0 -4
  35. package/dist/hooks-BCMilGRf.cjs.map +0 -1
  36. package/dist/hooks-BPtHV1ZT.js +0 -2042
  37. package/dist/hooks-BPtHV1ZT.js.map +0 -1
  38. package/dist/index.js.map +0 -1
  39. package/dist/index.mjs.map +0 -1
  40. package/dist/minimal-components-BHJMuaL7.cjs +0 -2
  41. package/dist/minimal-components-BHJMuaL7.cjs.map +0 -1
  42. package/dist/minimal-components-BmqRefl1.js +0 -2002
  43. package/dist/minimal-components-BmqRefl1.js.map +0 -1
  44. package/dist/mona-loading.gif +0 -0
  45. package/dist/performance-monitor--rzKTlbj.js +0 -302
  46. package/dist/performance-monitor--rzKTlbj.js.map +0 -1
  47. package/dist/performance-monitor-cjIvZE2D.cjs +0 -2
  48. package/dist/performance-monitor-cjIvZE2D.cjs.map +0 -1
  49. package/dist/src/adapters/videojs-adapter.d.ts.map +0 -1
  50. package/dist/src/adapters/videojs-adapter.js +0 -350
  51. package/dist/src/assets/mona-loading.gif +0 -0
  52. package/dist/src/components/AnimateLoading.d.ts.map +0 -1
  53. package/dist/src/components/AnimateLoading.js +0 -41
  54. package/dist/src/components/LoadingState.d.ts.map +0 -1
  55. package/dist/src/components/LoadingState.js +0 -111
  56. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  57. package/dist/src/components/accessibility/keyboard-help-overlay.js +0 -90
  58. package/dist/src/components/audio-player.d.ts.map +0 -1
  59. package/dist/src/components/audio-player.js +0 -31
  60. package/dist/src/components/basic/index.d.ts.map +0 -1
  61. package/dist/src/components/basic/index.js +0 -29
  62. package/dist/src/components/enhanced/advanced-features.d.ts.map +0 -1
  63. package/dist/src/components/enhanced/advanced-features.js +0 -64
  64. package/dist/src/components/enhanced/debug-panel.d.ts.map +0 -1
  65. package/dist/src/components/enhanced/debug-panel.js +0 -94
  66. package/dist/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  67. package/dist/src/components/enhanced/enhanced-controls.js +0 -233
  68. package/dist/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  69. package/dist/src/components/enhanced/enhanced-media-player.js +0 -316
  70. package/dist/src/components/enhanced/error-handling.d.ts.map +0 -1
  71. package/dist/src/components/enhanced/error-handling.js +0 -153
  72. package/dist/src/components/enhanced/index.d.ts.map +0 -1
  73. package/dist/src/components/enhanced/index.js +0 -10
  74. package/dist/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  75. package/dist/src/components/enhanced/media-player-enhanced.js +0 -250
  76. package/dist/src/components/examples/basic-video-player.d.ts.map +0 -1
  77. package/dist/src/components/examples/basic-video-player.js +0 -16
  78. package/dist/src/components/examples/custom-controls-example.d.ts.map +0 -1
  79. package/dist/src/components/examples/custom-controls-example.js +0 -12
  80. package/dist/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  81. package/dist/src/components/examples/enhanced-controls-example.js +0 -18
  82. package/dist/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  83. package/dist/src/components/examples/enhanced-media-player-example.js +0 -13
  84. package/dist/src/components/examples/loading-states-demo.d.ts.map +0 -1
  85. package/dist/src/components/examples/loading-states-demo.js +0 -41
  86. package/dist/src/components/examples/react-19-demo.d.ts.map +0 -1
  87. package/dist/src/components/examples/react-19-demo.js +0 -104
  88. package/dist/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  89. package/dist/src/components/examples/volume-orientation-demo.js +0 -31
  90. package/dist/src/components/icon-demo.d.ts.map +0 -1
  91. package/dist/src/components/icon-demo.js +0 -16
  92. package/dist/src/components/icons/index.d.ts.map +0 -1
  93. package/dist/src/components/icons/index.js +0 -59
  94. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  95. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  96. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  97. package/dist/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  98. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  99. package/dist/src/components/icons/svg-icons/AudioIcon.js +0 -4
  100. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  101. package/dist/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  102. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  103. package/dist/src/components/icons/svg-icons/CameraIcon.js +0 -4
  104. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  105. package/dist/src/components/icons/svg-icons/CheckIcon.js +0 -4
  106. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  107. package/dist/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  108. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  109. package/dist/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  110. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  111. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  112. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  113. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  114. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  115. package/dist/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  116. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  117. package/dist/src/components/icons/svg-icons/PauseIcon.js +0 -3
  118. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  119. package/dist/src/components/icons/svg-icons/PlayIcon.js +0 -3
  120. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  121. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  122. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  123. package/dist/src/components/icons/svg-icons/QualityIcon.js +0 -3
  124. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  125. package/dist/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  126. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  127. package/dist/src/components/icons/svg-icons/SliderIcon.js +0 -3
  128. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  129. package/dist/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  130. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  131. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  132. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  133. package/dist/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  134. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  135. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  136. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  137. package/dist/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  138. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  139. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  140. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  141. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  142. package/dist/src/components/legacy.d.ts.map +0 -1
  143. package/dist/src/components/legacy.js +0 -52
  144. package/dist/src/components/media-metadata-display.d.ts.map +0 -1
  145. package/dist/src/components/media-metadata-display.js +0 -20
  146. package/dist/src/components/media-player-audio.d.ts.map +0 -1
  147. package/dist/src/components/media-player-audio.js +0 -18
  148. package/dist/src/components/media-player-controls.d.ts.map +0 -1
  149. package/dist/src/components/media-player-controls.js +0 -150
  150. package/dist/src/components/media-player-error.d.ts.map +0 -1
  151. package/dist/src/components/media-player-error.js +0 -85
  152. package/dist/src/components/media-player-fullscreen.d.ts.map +0 -1
  153. package/dist/src/components/media-player-fullscreen.js +0 -68
  154. package/dist/src/components/media-player-hls.d.ts.map +0 -1
  155. package/dist/src/components/media-player-hls.js +0 -20
  156. package/dist/src/components/media-player-loading.d.ts.map +0 -1
  157. package/dist/src/components/media-player-loading.js +0 -53
  158. package/dist/src/components/media-player-play.d.ts.map +0 -1
  159. package/dist/src/components/media-player-play.js +0 -44
  160. package/dist/src/components/media-player-root.d.ts.map +0 -1
  161. package/dist/src/components/media-player-root.js +0 -243
  162. package/dist/src/components/media-player-seek.d.ts.map +0 -1
  163. package/dist/src/components/media-player-seek.js +0 -92
  164. package/dist/src/components/media-player-time.d.ts.map +0 -1
  165. package/dist/src/components/media-player-time.js +0 -57
  166. package/dist/src/components/media-player-tooltip.d.ts.map +0 -1
  167. package/dist/src/components/media-player-tooltip.js +0 -14
  168. package/dist/src/components/media-player-video.d.ts.map +0 -1
  169. package/dist/src/components/media-player-video.js +0 -18
  170. package/dist/src/components/media-player-volume.d.ts.map +0 -1
  171. package/dist/src/components/media-player-volume.js +0 -88
  172. package/dist/src/components/media-player.d.ts.map +0 -1
  173. package/dist/src/components/media-player.js +0 -67
  174. package/dist/src/components/media-suspense.d.ts.map +0 -1
  175. package/dist/src/components/media-suspense.js +0 -173
  176. package/dist/src/components/player-settings-form.d.ts.map +0 -1
  177. package/dist/src/components/player-settings-form.js +0 -46
  178. package/dist/src/components/react-player-wrapper.d.ts.map +0 -1
  179. package/dist/src/components/react-player-wrapper.js +0 -163
  180. package/dist/src/components/simple-video-player.d.ts.map +0 -1
  181. package/dist/src/components/simple-video-player.js +0 -41
  182. package/dist/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  183. package/dist/src/components/ui/enhanced-seek-bar.js +0 -112
  184. package/dist/src/components/ui/fullscreen-button.d.ts.map +0 -1
  185. package/dist/src/components/ui/fullscreen-button.js +0 -21
  186. package/dist/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  187. package/dist/src/components/ui/media-resource-preloader.js +0 -295
  188. package/dist/src/components/ui/play-button.d.ts.map +0 -1
  189. package/dist/src/components/ui/play-button.js +0 -26
  190. package/dist/src/components/ui/seek-bar.d.ts.map +0 -1
  191. package/dist/src/components/ui/seek-bar.js +0 -54
  192. package/dist/src/components/ui/time-display.d.ts.map +0 -1
  193. package/dist/src/components/ui/time-display.js +0 -18
  194. package/dist/src/components/ui/volume-control.d.ts.map +0 -1
  195. package/dist/src/components/ui/volume-control.js +0 -71
  196. package/dist/src/components/unified/base-media-player.d.ts.map +0 -1
  197. package/dist/src/components/unified/base-media-player.js +0 -104
  198. package/dist/src/components/unified/media-player.d.ts.map +0 -1
  199. package/dist/src/components/unified/media-player.js +0 -41
  200. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  201. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  202. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  203. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  204. package/dist/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  205. package/dist/src/components/variants/minimal/MinimalControls.js +0 -19
  206. package/dist/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  207. package/dist/src/components/variants/minimal/MinimalLoading.js +0 -6
  208. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  209. package/dist/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  210. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  211. package/dist/src/components/variants/minimal/MinimalOverlay.js +0 -15
  212. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  213. package/dist/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  214. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  215. package/dist/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  216. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  217. package/dist/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  218. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  219. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  220. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  221. package/dist/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  222. package/dist/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  223. package/dist/src/components/variants/minimal/components/ControlBar.js +0 -10
  224. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  225. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  226. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  227. package/dist/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  228. package/dist/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  229. package/dist/src/components/variants/minimal/components/RightControls.js +0 -40
  230. package/dist/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  231. package/dist/src/components/variants/minimal/components/SeekBar.js +0 -43
  232. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  233. package/dist/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  234. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  235. package/dist/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  236. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  237. package/dist/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  238. package/dist/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  239. package/dist/src/components/variants/minimal/components/VideoElement.js +0 -4
  240. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  241. package/dist/src/components/variants/minimal/components/VolumeControl.js +0 -99
  242. package/dist/src/components/variants/minimal/index.d.ts.map +0 -1
  243. package/dist/src/components/variants/minimal/index.js +0 -8
  244. package/dist/src/components/video-player.d.ts.map +0 -1
  245. package/dist/src/components/video-player.js +0 -38
  246. package/dist/src/context/error-handling.d.ts.map +0 -1
  247. package/dist/src/context/error-handling.js +0 -300
  248. package/dist/src/context/media-context.d.ts.map +0 -1
  249. package/dist/src/context/media-context.js +0 -121
  250. package/dist/src/context/media-provider.d.ts.map +0 -1
  251. package/dist/src/context/media-provider.js +0 -164
  252. package/dist/src/context/media-store.d.ts.map +0 -1
  253. package/dist/src/context/media-store.js +0 -273
  254. package/dist/src/context/persistence.d.ts.map +0 -1
  255. package/dist/src/context/persistence.js +0 -356
  256. package/dist/src/core/events/event-system.d.ts.map +0 -1
  257. package/dist/src/core/events/event-system.js +0 -288
  258. package/dist/src/core/events/hooks.d.ts.map +0 -1
  259. package/dist/src/core/events/hooks.js +0 -198
  260. package/dist/src/core/events/index.d.ts.map +0 -1
  261. package/dist/src/core/events/index.js +0 -7
  262. package/dist/src/core/events/middleware.d.ts.map +0 -1
  263. package/dist/src/core/events/middleware.js +0 -219
  264. package/dist/src/core/index.d.ts.map +0 -1
  265. package/dist/src/core/index.js +0 -15
  266. package/dist/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  267. package/dist/src/core/optimization/bundle-optimizer.js +0 -217
  268. package/dist/src/core/performance/cicd.d.ts.map +0 -1
  269. package/dist/src/core/performance/cicd.js +0 -83
  270. package/dist/src/core/performance/index.d.ts.map +0 -1
  271. package/dist/src/core/performance/index.js +0 -14
  272. package/dist/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  273. package/dist/src/core/performance/media-loading-optimizer.js +0 -404
  274. package/dist/src/core/performance/performance-budgets.d.ts.map +0 -1
  275. package/dist/src/core/performance/performance-budgets.js +0 -326
  276. package/dist/src/core/performance/performance-monitor.d.ts.map +0 -1
  277. package/dist/src/core/performance/performance-monitor.js +0 -297
  278. package/dist/src/core/performance/performance-testing.d.ts.map +0 -1
  279. package/dist/src/core/performance/performance-testing.js +0 -314
  280. package/dist/src/core/plugins/base-plugin.d.ts.map +0 -1
  281. package/dist/src/core/plugins/base-plugin.js +0 -151
  282. package/dist/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  283. package/dist/src/core/plugins/enhanced-plugin-system.js +0 -305
  284. package/dist/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  285. package/dist/src/core/plugins/examples/analytics-plugin.js +0 -191
  286. package/dist/src/core/plugins/index.d.ts.map +0 -1
  287. package/dist/src/core/plugins/index.js +0 -9
  288. package/dist/src/core/plugins/registry.d.ts.map +0 -1
  289. package/dist/src/core/plugins/registry.js +0 -261
  290. package/dist/src/core/plugins/types.d.ts.map +0 -1
  291. package/dist/src/core/plugins/types.js +0 -31
  292. package/dist/src/core/plugins/utils.d.ts.map +0 -1
  293. package/dist/src/core/plugins/utils.js +0 -274
  294. package/dist/src/core/progressive-loading.d.ts.map +0 -1
  295. package/dist/src/core/progressive-loading.js +0 -239
  296. package/dist/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  297. package/dist/src/core/providers/enhanced-hls-provider.js +0 -273
  298. package/dist/src/core/providers/service-provider.d.ts.map +0 -1
  299. package/dist/src/core/providers/service-provider.js +0 -105
  300. package/dist/src/core/utils.d.ts.map +0 -1
  301. package/dist/src/core/utils.js +0 -21
  302. package/dist/src/features/media-session/media-session-manager.d.ts.map +0 -1
  303. package/dist/src/features/media-session/media-session-manager.js +0 -331
  304. package/dist/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  305. package/dist/src/features/picture-in-picture/pip-manager.js +0 -353
  306. package/dist/src/features/playlist/playlist-manager.d.ts.map +0 -1
  307. package/dist/src/features/playlist/playlist-manager.js +0 -475
  308. package/dist/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  309. package/dist/src/features/subtitles/subtitle-manager.js +0 -335
  310. package/dist/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  311. package/dist/src/features/subtitles/subtitle-parser.js +0 -217
  312. package/dist/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  313. package/dist/src/features/thumbnails/thumbnail-generator.js +0 -388
  314. package/dist/src/hooks/accessibility/index.d.ts.map +0 -1
  315. package/dist/src/hooks/accessibility/index.js +0 -4
  316. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  317. package/dist/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  318. package/dist/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  319. package/dist/src/hooks/accessibility/use-focus-management.js +0 -142
  320. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  321. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  322. package/dist/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  323. package/dist/src/hooks/accessibility/use-screen-reader.js +0 -148
  324. package/dist/src/hooks/core/index.d.ts.map +0 -1
  325. package/dist/src/hooks/core/index.js +0 -19
  326. package/dist/src/hooks/legacy.d.ts.map +0 -1
  327. package/dist/src/hooks/legacy.js +0 -17
  328. package/dist/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  329. package/dist/src/hooks/use-enhanced-media-player.js +0 -395
  330. package/dist/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  331. package/dist/src/hooks/use-intelligent-preloading.js +0 -258
  332. package/dist/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  333. package/dist/src/hooks/use-keyboard-controls.js +0 -83
  334. package/dist/src/hooks/use-media-actions.d.ts.map +0 -1
  335. package/dist/src/hooks/use-media-actions.js +0 -121
  336. package/dist/src/hooks/use-media-metadata.d.ts.map +0 -1
  337. package/dist/src/hooks/use-media-metadata.js +0 -74
  338. package/dist/src/hooks/use-media-optimistic.d.ts.map +0 -1
  339. package/dist/src/hooks/use-media-optimistic.js +0 -205
  340. package/dist/src/hooks/use-media-player.d.ts.map +0 -1
  341. package/dist/src/hooks/use-media-player.js +0 -251
  342. package/dist/src/hooks/use-media-state.d.ts.map +0 -1
  343. package/dist/src/hooks/use-media-state.js +0 -162
  344. package/dist/src/hooks/use-memory-optimization.d.ts.map +0 -1
  345. package/dist/src/hooks/use-memory-optimization.js +0 -288
  346. package/dist/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  347. package/dist/src/hooks/use-optimistic-controls.js +0 -60
  348. package/dist/src/hooks/use-optimized-media.d.ts.map +0 -1
  349. package/dist/src/hooks/use-optimized-media.js +0 -211
  350. package/dist/src/hooks/use-touch-gestures.d.ts.map +0 -1
  351. package/dist/src/hooks/use-touch-gestures.js +0 -289
  352. package/dist/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  353. package/dist/src/hooks/useEnhancedSubtitles.js +0 -205
  354. package/dist/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  355. package/dist/src/hooks/useKeyboardShortcuts.js +0 -59
  356. package/dist/src/hooks/useMediaControls.d.ts.map +0 -1
  357. package/dist/src/hooks/useMediaControls.js +0 -44
  358. package/dist/src/hooks/useScreenshot.d.ts.map +0 -1
  359. package/dist/src/hooks/useScreenshot.js +0 -56
  360. package/dist/src/hooks/useSubtitles.d.ts.map +0 -1
  361. package/dist/src/hooks/useSubtitles.js +0 -73
  362. package/dist/src/hooks/useVideoPlayer.d.ts.map +0 -1
  363. package/dist/src/hooks/useVideoPlayer.js +0 -184
  364. package/dist/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  365. package/dist/src/icons/components/FullscreenIcon.js +0 -11
  366. package/dist/src/icons/components/SettingsIcon.d.ts.map +0 -1
  367. package/dist/src/icons/components/SettingsIcon.js +0 -11
  368. package/dist/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  369. package/dist/src/icons/components/animated/LoadingIcon.js +0 -11
  370. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  371. package/dist/src/icons/components/animated/PlayPauseIcon.js +0 -9
  372. package/dist/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  373. package/dist/src/icons/components/media/PauseIcon.js +0 -12
  374. package/dist/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  375. package/dist/src/icons/components/media/PlayIcon.js +0 -12
  376. package/dist/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  377. package/dist/src/icons/components/volume/VolumeIcon.js +0 -11
  378. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  379. package/dist/src/icons/components/volume/VolumeOffIcon.js +0 -11
  380. package/dist/src/icons/index.d.ts.map +0 -1
  381. package/dist/src/icons/index.js +0 -45
  382. package/dist/src/icons/provider.d.ts.map +0 -1
  383. package/dist/src/icons/provider.js +0 -37
  384. package/dist/src/icons/types.d.ts.map +0 -1
  385. package/dist/src/icons/types.js +0 -1
  386. package/dist/src/index-enhanced.d.ts.map +0 -1
  387. package/dist/src/index-enhanced.js +0 -16
  388. package/dist/src/index-legacy.d.ts.map +0 -1
  389. package/dist/src/index-legacy.js +0 -97
  390. package/dist/src/index.d.ts.map +0 -1
  391. package/dist/src/index.js +0 -90
  392. package/dist/src/index.minimal.d.ts.map +0 -1
  393. package/dist/src/index.minimal.js +0 -3
  394. package/dist/src/lib/deprecation.d.ts.map +0 -1
  395. package/dist/src/lib/deprecation.js +0 -31
  396. package/dist/src/lib/format-time.d.ts.map +0 -1
  397. package/dist/src/lib/format-time.js +0 -32
  398. package/dist/src/lib/index.d.ts.map +0 -1
  399. package/dist/src/lib/index.js +0 -3
  400. package/dist/src/lib/utils.d.ts.map +0 -1
  401. package/dist/src/lib/utils.js +0 -5
  402. package/dist/src/test/setup.d.ts.map +0 -1
  403. package/dist/src/test/setup.js +0 -65
  404. package/dist/src/types/events.d.ts.map +0 -1
  405. package/dist/src/types/events.js +0 -2
  406. package/dist/src/types/formats.d.ts.map +0 -1
  407. package/dist/src/types/formats.js +0 -63
  408. package/dist/src/types/index.d.ts.map +0 -1
  409. package/dist/src/types/index.js +0 -4
  410. package/dist/utils-Db13763z.cjs +0 -9
  411. package/dist/utils-Db13763z.cjs.map +0 -1
  412. package/dist/utils-nTO4AnHo.js +0 -2809
  413. package/dist/utils-nTO4AnHo.js.map +0 -1
  414. package/dist/utils.js +0 -2
  415. package/dist/utils.js.map +0 -1
  416. package/dist/utils.mjs +0 -7
  417. package/dist/utils.mjs.map +0 -1
  418. package/src/adapters/videojs-adapter.js +0 -350
  419. package/src/components/AnimateLoading.js +0 -41
  420. package/src/components/LoadingState.js +0 -111
  421. package/src/components/accessibility/keyboard-help-overlay.js +0 -90
  422. package/src/components/audio-player.js +0 -31
  423. package/src/components/basic/index.js +0 -29
  424. package/src/components/enhanced/advanced-features.js +0 -64
  425. package/src/components/enhanced/debug-panel.js +0 -94
  426. package/src/components/enhanced/enhanced-controls.js +0 -233
  427. package/src/components/enhanced/enhanced-media-player.js +0 -316
  428. package/src/components/enhanced/error-handling.js +0 -153
  429. package/src/components/enhanced/index.js +0 -10
  430. package/src/components/enhanced/media-player-enhanced.js +0 -250
  431. package/src/components/examples/basic-video-player.js +0 -16
  432. package/src/components/examples/custom-controls-example.js +0 -12
  433. package/src/components/examples/enhanced-controls-example.js +0 -18
  434. package/src/components/examples/enhanced-media-player-example.js +0 -13
  435. package/src/components/examples/loading-states-demo.js +0 -41
  436. package/src/components/examples/react-19-demo.js +0 -104
  437. package/src/components/examples/volume-orientation-demo.js +0 -31
  438. package/src/components/icon-demo.js +0 -16
  439. package/src/components/icons/index.js +0 -59
  440. package/src/components/icons/svg-icons/ArrowLeftIcon.js +0 -3
  441. package/src/components/icons/svg-icons/ArrowRightIcon.js +0 -3
  442. package/src/components/icons/svg-icons/AudioIcon.js +0 -4
  443. package/src/components/icons/svg-icons/BackwardIcon.js +0 -3
  444. package/src/components/icons/svg-icons/CameraIcon.js +0 -4
  445. package/src/components/icons/svg-icons/CheckIcon.js +0 -4
  446. package/src/components/icons/svg-icons/EnablePiPIcon.js +0 -5
  447. package/src/components/icons/svg-icons/ForwardIcon.js +0 -3
  448. package/src/components/icons/svg-icons/FullscreenEnterIcon.js +0 -3
  449. package/src/components/icons/svg-icons/FullscreenExitIcon.js +0 -3
  450. package/src/components/icons/svg-icons/LoadingIcon.js +0 -3
  451. package/src/components/icons/svg-icons/PauseIcon.js +0 -3
  452. package/src/components/icons/svg-icons/PlayIcon.js +0 -3
  453. package/src/components/icons/svg-icons/PlaybackSpeedIcon.js +0 -3
  454. package/src/components/icons/svg-icons/QualityIcon.js +0 -3
  455. package/src/components/icons/svg-icons/SettingsIcon.js +0 -3
  456. package/src/components/icons/svg-icons/SliderIcon.js +0 -3
  457. package/src/components/icons/svg-icons/SubtitleIcon.js +0 -3
  458. package/src/components/icons/svg-icons/SubtitleOffIcon.js +0 -3
  459. package/src/components/icons/svg-icons/UnPiPIcon.js +0 -5
  460. package/src/components/icons/svg-icons/VolumeMutedIcon.js +0 -3
  461. package/src/components/icons/svg-icons/VolumeOneIcon.js +0 -3
  462. package/src/components/icons/svg-icons/VolumeThreeIcon.js +0 -3
  463. package/src/components/icons/svg-icons/VolumeTwoIcon.js +0 -3
  464. package/src/components/legacy.js +0 -52
  465. package/src/components/media-metadata-display.js +0 -20
  466. package/src/components/media-player-audio.js +0 -18
  467. package/src/components/media-player-controls.js +0 -150
  468. package/src/components/media-player-error.js +0 -85
  469. package/src/components/media-player-fullscreen.js +0 -68
  470. package/src/components/media-player-hls.js +0 -20
  471. package/src/components/media-player-loading.js +0 -53
  472. package/src/components/media-player-play.js +0 -44
  473. package/src/components/media-player-root.js +0 -243
  474. package/src/components/media-player-seek.js +0 -92
  475. package/src/components/media-player-time.js +0 -57
  476. package/src/components/media-player-tooltip.js +0 -14
  477. package/src/components/media-player-video.js +0 -18
  478. package/src/components/media-player-volume.js +0 -88
  479. package/src/components/media-player.js +0 -67
  480. package/src/components/media-suspense.js +0 -173
  481. package/src/components/player-settings-form.js +0 -46
  482. package/src/components/react-player-wrapper.js +0 -163
  483. package/src/components/simple-video-player.js +0 -41
  484. package/src/components/ui/enhanced-seek-bar.js +0 -112
  485. package/src/components/ui/fullscreen-button.js +0 -21
  486. package/src/components/ui/media-resource-preloader.js +0 -295
  487. package/src/components/ui/play-button.js +0 -26
  488. package/src/components/ui/seek-bar.js +0 -54
  489. package/src/components/ui/time-display.js +0 -18
  490. package/src/components/ui/volume-control.js +0 -71
  491. package/src/components/unified/base-media-player.js +0 -104
  492. package/src/components/unified/media-player.js +0 -41
  493. package/src/components/variants/minimal/AccessibleMinimalPlayer.js +0 -322
  494. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.js +0 -280
  495. package/src/components/variants/minimal/MinimalControls.js +0 -19
  496. package/src/components/variants/minimal/MinimalLoading.js +0 -6
  497. package/src/components/variants/minimal/MinimalMediaPlayer.js +0 -135
  498. package/src/components/variants/minimal/MinimalOverlay.js +0 -15
  499. package/src/components/variants/minimal/MinimalPlayButton.js +0 -29
  500. package/src/components/variants/minimal/MinimalSeekBar.js +0 -73
  501. package/src/components/variants/minimal/MinimalVolumeControl.js +0 -29
  502. package/src/components/variants/minimal/SimpleMinimalPlayer.js +0 -51
  503. package/src/components/variants/minimal/components/CenterPlayButton.js +0 -8
  504. package/src/components/variants/minimal/components/ControlBar.js +0 -10
  505. package/src/components/variants/minimal/components/EnhancedSettingsMenu.js +0 -68
  506. package/src/components/variants/minimal/components/PlaybackControls.js +0 -9
  507. package/src/components/variants/minimal/components/RightControls.js +0 -40
  508. package/src/components/variants/minimal/components/SeekBar.js +0 -43
  509. package/src/components/variants/minimal/components/SettingsDropdown.js +0 -18
  510. package/src/components/variants/minimal/components/SubtitleDisplay.js +0 -6
  511. package/src/components/variants/minimal/components/TimeDisplay.js +0 -5
  512. package/src/components/variants/minimal/components/VideoElement.js +0 -4
  513. package/src/components/variants/minimal/components/VolumeControl.js +0 -99
  514. package/src/components/variants/minimal/index.js +0 -8
  515. package/src/components/video-player.js +0 -38
  516. package/src/context/error-handling.js +0 -300
  517. package/src/context/media-context.js +0 -121
  518. package/src/context/media-provider.js +0 -164
  519. package/src/context/media-store.js +0 -273
  520. package/src/context/persistence.js +0 -356
  521. package/src/core/events/event-system.js +0 -288
  522. package/src/core/events/hooks.js +0 -198
  523. package/src/core/events/index.js +0 -7
  524. package/src/core/events/middleware.js +0 -219
  525. package/src/core/index.js +0 -15
  526. package/src/core/optimization/bundle-optimizer.js +0 -217
  527. package/src/core/performance/cicd.js +0 -83
  528. package/src/core/performance/index.js +0 -14
  529. package/src/core/performance/media-loading-optimizer.js +0 -404
  530. package/src/core/performance/performance-budgets.js +0 -326
  531. package/src/core/performance/performance-monitor.js +0 -297
  532. package/src/core/performance/performance-testing.js +0 -314
  533. package/src/core/plugins/base-plugin.js +0 -151
  534. package/src/core/plugins/enhanced-plugin-system.js +0 -305
  535. package/src/core/plugins/examples/analytics-plugin.js +0 -191
  536. package/src/core/plugins/index.js +0 -9
  537. package/src/core/plugins/registry.js +0 -261
  538. package/src/core/plugins/types.js +0 -31
  539. package/src/core/plugins/utils.js +0 -274
  540. package/src/core/progressive-loading.js +0 -239
  541. package/src/core/providers/enhanced-hls-provider.js +0 -273
  542. package/src/core/providers/service-provider.js +0 -105
  543. package/src/core/utils.js +0 -21
  544. package/src/features/media-session/media-session-manager.js +0 -331
  545. package/src/features/picture-in-picture/pip-manager.js +0 -353
  546. package/src/features/playlist/playlist-manager.js +0 -475
  547. package/src/features/subtitles/subtitle-manager.js +0 -335
  548. package/src/features/subtitles/subtitle-parser.js +0 -217
  549. package/src/features/thumbnails/thumbnail-generator.js +0 -388
  550. package/src/hooks/accessibility/index.js +0 -4
  551. package/src/hooks/accessibility/use-accessibility-preferences.js +0 -156
  552. package/src/hooks/accessibility/use-focus-management.js +0 -142
  553. package/src/hooks/accessibility/use-keyboard-shortcuts.js +0 -101
  554. package/src/hooks/accessibility/use-screen-reader.js +0 -148
  555. package/src/hooks/core/index.js +0 -19
  556. package/src/hooks/legacy.js +0 -17
  557. package/src/hooks/use-enhanced-media-player.js +0 -395
  558. package/src/hooks/use-intelligent-preloading.js +0 -258
  559. package/src/hooks/use-keyboard-controls.js +0 -83
  560. package/src/hooks/use-media-actions.js +0 -121
  561. package/src/hooks/use-media-metadata.js +0 -74
  562. package/src/hooks/use-media-optimistic.js +0 -205
  563. package/src/hooks/use-media-player.js +0 -251
  564. package/src/hooks/use-media-state.js +0 -162
  565. package/src/hooks/use-memory-optimization.js +0 -288
  566. package/src/hooks/use-optimistic-controls.js +0 -60
  567. package/src/hooks/use-optimized-media.js +0 -211
  568. package/src/hooks/use-touch-gestures.js +0 -289
  569. package/src/hooks/useEnhancedSubtitles.js +0 -205
  570. package/src/hooks/useKeyboardShortcuts.js +0 -59
  571. package/src/hooks/useMediaControls.js +0 -44
  572. package/src/hooks/useScreenshot.js +0 -56
  573. package/src/hooks/useSubtitles.js +0 -73
  574. package/src/hooks/useVideoPlayer.js +0 -184
  575. package/src/icons/components/FullscreenIcon.js +0 -11
  576. package/src/icons/components/SettingsIcon.js +0 -11
  577. package/src/icons/components/animated/LoadingIcon.js +0 -11
  578. package/src/icons/components/animated/PlayPauseIcon.js +0 -9
  579. package/src/icons/components/media/PauseIcon.js +0 -12
  580. package/src/icons/components/media/PlayIcon.js +0 -12
  581. package/src/icons/components/volume/VolumeIcon.js +0 -11
  582. package/src/icons/components/volume/VolumeOffIcon.js +0 -11
  583. package/src/icons/index.js +0 -45
  584. package/src/icons/provider.js +0 -37
  585. package/src/icons/types.js +0 -1
  586. package/src/index-enhanced.js +0 -16
  587. package/src/index-legacy.js +0 -97
  588. package/src/index.js +0 -90
  589. package/src/index.minimal.js +0 -3
  590. package/src/lib/deprecation.js +0 -31
  591. package/src/lib/format-time.js +0 -32
  592. package/src/lib/index.js +0 -3
  593. package/src/lib/utils.js +0 -5
  594. package/src/test/setup.js +0 -65
  595. package/src/types/events.js +0 -2
  596. package/src/types/formats.js +0 -63
  597. package/src/types/index.js +0 -4
@@ -1,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;