@therealtinhtute/baroiplayer 1.0.5 → 1.0.7

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