@therealtinhtute/baroiplayer 1.0.8 → 1.2.0

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 (1004) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +15 -15
  3. package/dist/context/media.js +2 -0
  4. package/dist/context/media.js.map +1 -0
  5. package/dist/context/media.mjs +15 -0
  6. package/dist/context/media.mjs.map +1 -0
  7. package/dist/context/store.js +2 -0
  8. package/dist/context/store.js.map +1 -0
  9. package/dist/context/store.mjs +5 -0
  10. package/dist/context/store.mjs.map +1 -0
  11. package/dist/context-BYwDoSRX.js +1172 -0
  12. package/dist/context-BYwDoSRX.js.map +1 -0
  13. package/dist/context-eNS62_ac.cjs +23 -0
  14. package/dist/context-eNS62_ac.cjs.map +1 -0
  15. package/dist/core-events-B1iM2F46.cjs +2 -0
  16. package/dist/core-events-B1iM2F46.cjs.map +1 -0
  17. package/dist/core-events-DunPHKRE.js +484 -0
  18. package/dist/core-events-DunPHKRE.js.map +1 -0
  19. package/dist/core-plugins-By-4-kGs.cjs +2 -0
  20. package/dist/core-plugins-By-4-kGs.cjs.map +1 -0
  21. package/dist/core-plugins-DSBWcTuX.js +821 -0
  22. package/dist/core-plugins-DSBWcTuX.js.map +1 -0
  23. package/dist/core.js +37 -0
  24. package/dist/core.js.map +1 -0
  25. package/dist/core.mjs +1233 -0
  26. package/dist/core.mjs.map +1 -0
  27. package/dist/enhanced-components-B_l3cist.js +1142 -0
  28. package/dist/enhanced-components-B_l3cist.js.map +1 -0
  29. package/dist/enhanced-components-BspFs9OO.cjs +2 -0
  30. package/dist/enhanced-components-BspFs9OO.cjs.map +1 -0
  31. package/dist/hooks-BXwI8QG6.cjs +4 -0
  32. package/dist/hooks-BXwI8QG6.cjs.map +1 -0
  33. package/dist/hooks-Bpi-jDiO.js +1816 -0
  34. package/dist/hooks-Bpi-jDiO.js.map +1 -0
  35. package/dist/index.css +1 -102
  36. package/dist/index.js +112 -21
  37. package/dist/index.js.map +1 -0
  38. package/dist/index.mjs +6273 -16
  39. package/dist/index.mjs.map +1 -0
  40. package/dist/minimal-components-C4z900Ro.js +1926 -0
  41. package/dist/minimal-components-C4z900Ro.js.map +1 -0
  42. package/dist/minimal-components-v4qBp6jv.cjs +2 -0
  43. package/dist/minimal-components-v4qBp6jv.cjs.map +1 -0
  44. package/dist/minimal-components.css +1 -589
  45. package/dist/mona-loading.gif +0 -0
  46. package/dist/performance-monitor-C5k6FDXw.js +301 -0
  47. package/dist/performance-monitor-C5k6FDXw.js.map +1 -0
  48. package/dist/performance-monitor-lJmuUjQQ.cjs +2 -0
  49. package/dist/performance-monitor-lJmuUjQQ.cjs.map +1 -0
  50. package/dist/utils-CFOue_9K.cjs +9 -0
  51. package/dist/utils-CFOue_9K.cjs.map +1 -0
  52. package/dist/utils-Dzpl2ArK.js +2844 -0
  53. package/dist/utils-Dzpl2ArK.js.map +1 -0
  54. package/dist/utils.js +2 -0
  55. package/dist/utils.js.map +1 -0
  56. package/dist/utils.mjs +11 -0
  57. package/dist/utils.mjs.map +1 -0
  58. package/package.json +11 -40
  59. package/src/adapters/videojs-adapter.tsx +441 -441
  60. package/src/components/AnimateLoading.tsx +85 -93
  61. package/src/components/LoadingState.tsx +199 -208
  62. package/src/components/__tests__/media-player-accessibility.test.tsx +510 -0
  63. package/src/components/__tests__/media-player-react19.test.tsx +457 -0
  64. package/src/components/accessibility/keyboard-help-overlay.tsx +201 -207
  65. package/src/components/basic/index.ts +28 -28
  66. package/src/components/enhanced/advanced-features.tsx +49 -54
  67. package/src/components/enhanced/debug-panel.tsx +148 -122
  68. package/src/components/enhanced/enhanced-controls.tsx +117 -120
  69. package/src/components/enhanced/enhanced-media-player.tsx +281 -224
  70. package/src/components/enhanced/error-handling.tsx +50 -57
  71. package/src/components/enhanced/index.ts +27 -27
  72. package/src/components/enhanced/media-player-enhanced.tsx +117 -83
  73. package/src/components/examples/basic-video-player.tsx +35 -40
  74. package/src/components/examples/enhanced-controls-example.tsx +16 -30
  75. package/src/components/examples/enhanced-media-player-example.tsx +196 -187
  76. package/src/components/examples/loading-states-demo.tsx +113 -113
  77. package/src/components/examples/react-19-demo.tsx +88 -116
  78. package/src/components/examples/volume-orientation-demo.tsx +77 -85
  79. package/src/components/icon-demo.tsx +189 -202
  80. package/src/components/icons/svg-icons/ArrowLeftIcon.tsx +13 -13
  81. package/src/components/icons/svg-icons/ArrowRightIcon.tsx +13 -13
  82. package/src/components/icons/svg-icons/AudioIcon.tsx +16 -16
  83. package/src/components/icons/svg-icons/BackwardIcon.tsx +7 -7
  84. package/src/components/icons/svg-icons/CameraIcon.tsx +13 -13
  85. package/src/components/icons/svg-icons/CheckIcon.tsx +13 -13
  86. package/src/components/icons/svg-icons/EnablePiPIcon.tsx +13 -13
  87. package/src/components/icons/svg-icons/ForwardIcon.tsx +7 -7
  88. package/src/components/icons/svg-icons/FullscreenEnterIcon.tsx +18 -18
  89. package/src/components/icons/svg-icons/FullscreenExitIcon.tsx +18 -18
  90. package/src/components/icons/svg-icons/LoadingIcon.tsx +27 -27
  91. package/src/components/icons/svg-icons/PauseIcon.tsx +18 -18
  92. package/src/components/icons/svg-icons/PlayIcon.tsx +16 -16
  93. package/src/components/icons/svg-icons/PlaybackSpeedIcon.tsx +18 -18
  94. package/src/components/icons/svg-icons/QualityIcon.tsx +16 -16
  95. package/src/components/icons/svg-icons/SettingsIcon.tsx +7 -7
  96. package/src/components/icons/svg-icons/SliderIcon.tsx +16 -16
  97. package/src/components/icons/svg-icons/SubtitleIcon.tsx +16 -16
  98. package/src/components/icons/svg-icons/SubtitleOffIcon.tsx +20 -20
  99. package/src/components/icons/svg-icons/UnPiPIcon.tsx +13 -13
  100. package/src/components/icons/svg-icons/VolumeMutedIcon.tsx +11 -11
  101. package/src/components/icons/svg-icons/VolumeOneIcon.tsx +17 -17
  102. package/src/components/icons/svg-icons/VolumeThreeIcon.tsx +11 -11
  103. package/src/components/icons/svg-icons/VolumeTwoIcon.tsx +11 -11
  104. package/src/components/legacy.tsx +14 -20
  105. package/src/components/media-metadata-display.tsx +78 -79
  106. package/src/components/media-player-controls.tsx +37 -40
  107. package/src/components/media-player-error.tsx +2 -2
  108. package/src/components/media-player-fullscreen.tsx +2 -2
  109. package/src/components/media-player-hls.tsx +89 -89
  110. package/src/components/media-player-play.tsx +2 -2
  111. package/src/components/media-player-root.tsx +20 -22
  112. package/src/components/media-player-seek.tsx +1 -1
  113. package/src/components/media-player-tooltip.tsx +1 -1
  114. package/src/components/media-player-video.tsx +21 -6
  115. package/src/components/media-player-volume.tsx +3 -3
  116. package/src/components/media-player.tsx +209 -174
  117. package/src/components/media-suspense.tsx +71 -89
  118. package/src/components/player-settings-form.tsx +143 -148
  119. package/src/components/react-player-wrapper.tsx +23 -23
  120. package/src/components/simple-video-player.tsx +53 -51
  121. package/src/components/ui/blur-poster.tsx +93 -0
  122. package/src/components/ui/empty-state.tsx +91 -0
  123. package/src/components/ui/enhanced-seek-bar.tsx +77 -58
  124. package/src/components/ui/error-state.tsx +124 -0
  125. package/src/components/ui/fullscreen-button.tsx +71 -50
  126. package/src/components/ui/loading-skeleton.tsx +107 -0
  127. package/src/components/ui/media-resource-preloader.tsx +262 -197
  128. package/src/components/ui/offline-message.tsx +98 -0
  129. package/src/components/ui/play-button.tsx +79 -87
  130. package/src/components/ui/seek-bar.tsx +170 -140
  131. package/src/components/ui/time-display.tsx +33 -12
  132. package/src/components/ui/volume-control.tsx +91 -44
  133. package/src/components/unified/base-media-player.tsx +61 -55
  134. package/src/components/unified/media-player.tsx +3 -3
  135. package/src/components/variants/minimal/AccessibleMinimalPlayer.tsx +528 -502
  136. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.tsx +110 -89
  137. package/src/components/variants/minimal/MinimalControls.tsx +100 -118
  138. package/src/components/variants/minimal/MinimalLoading.tsx +19 -23
  139. package/src/components/variants/minimal/MinimalMediaPlayer.tsx +283 -280
  140. package/src/components/variants/minimal/MinimalOverlay.tsx +43 -49
  141. package/src/components/variants/minimal/MinimalPlayButton.tsx +44 -53
  142. package/src/components/variants/minimal/MinimalSeekBar.tsx +130 -140
  143. package/src/components/variants/minimal/MinimalVolumeControl.tsx +59 -64
  144. package/src/components/variants/minimal/SimpleMinimalPlayer.tsx +29 -32
  145. package/src/components/variants/minimal/components/CenterPlayButton.tsx +1 -1
  146. package/src/components/variants/minimal/components/ControlBar.tsx +7 -11
  147. package/src/components/variants/minimal/components/EnhancedSettingsMenu.tsx +381 -330
  148. package/src/components/variants/minimal/components/PlaybackControls.tsx +6 -11
  149. package/src/components/variants/minimal/components/RightControls.tsx +8 -17
  150. package/src/components/variants/minimal/components/SeekBar.tsx +16 -20
  151. package/src/components/variants/minimal/components/SettingsDropdown.tsx +12 -14
  152. package/src/components/variants/minimal/components/SubtitleDisplay.tsx +1 -1
  153. package/src/components/variants/minimal/components/TimeDisplay.tsx +2 -5
  154. package/src/components/variants/minimal/components/VideoElement.tsx +3 -10
  155. package/src/components/variants/minimal/components/VolumeControl.tsx +42 -39
  156. package/src/components/video-player.tsx +10 -10
  157. package/src/context/__tests__/media-store.test.ts +509 -0
  158. package/src/context/error-handling.ts +106 -102
  159. package/src/context/media-context.tsx +56 -10
  160. package/src/context/media-provider.tsx +16 -17
  161. package/src/context/media-store.ts +68 -60
  162. package/src/context/persistence.ts +74 -65
  163. package/src/core/events/event-system.ts +422 -416
  164. package/src/core/events/hooks.ts +275 -252
  165. package/src/core/events/index.ts +14 -14
  166. package/src/core/events/middleware.ts +269 -252
  167. package/src/core/index.ts +8 -8
  168. package/src/core/optimization/bundle-optimizer.tsx +76 -72
  169. package/src/core/performance/cicd.ts +91 -89
  170. package/src/core/performance/index.ts +22 -22
  171. package/src/core/performance/media-loading-optimizer.ts +518 -512
  172. package/src/core/performance/performance-budgets.ts +414 -409
  173. package/src/core/performance/performance-monitor.tsx +451 -439
  174. package/src/core/performance/performance-testing.ts +439 -437
  175. package/src/core/plugins/__tests__/registry.test.ts +595 -0
  176. package/src/core/plugins/base-plugin.ts +197 -196
  177. package/src/core/plugins/enhanced-plugin-system.ts +157 -139
  178. package/src/core/plugins/examples/analytics-plugin.ts +229 -230
  179. package/src/core/plugins/index.ts +26 -26
  180. package/src/core/plugins/registry.ts +544 -325
  181. package/src/core/plugins/types.ts +115 -105
  182. package/src/core/plugins/utils.ts +292 -291
  183. package/src/core/progressive-loading.tsx +297 -288
  184. package/src/core/providers/enhanced-hls-provider.ts +98 -99
  185. package/src/core/providers/lazy-provider.tsx +14 -0
  186. package/src/core/providers/service-provider.tsx +104 -108
  187. package/src/core/utils.tsx +22 -26
  188. package/src/features/media-session/media-session-manager.ts +391 -409
  189. package/src/features/picture-in-picture/pip-manager.ts +364 -365
  190. package/src/features/playlist/playlist-manager.ts +605 -585
  191. package/src/features/subtitles/subtitle-manager.ts +424 -430
  192. package/src/features/subtitles/subtitle-parser.ts +277 -273
  193. package/src/features/thumbnails/thumbnail-generator.ts +511 -502
  194. package/src/hooks/__tests__/currentTime-fix.test.ts +149 -0
  195. package/src/hooks/__tests__/use-media-player.test.ts +712 -0
  196. package/src/hooks/__tests__/use-media-state.test.tsx +316 -0
  197. package/src/hooks/accessibility/index.ts +20 -20
  198. package/src/hooks/accessibility/use-accessibility-preferences.ts +177 -175
  199. package/src/hooks/accessibility/use-focus-management.ts +170 -163
  200. package/src/hooks/accessibility/use-keyboard-shortcuts.ts +132 -124
  201. package/src/hooks/accessibility/use-screen-reader.ts +191 -161
  202. package/src/hooks/core/index.ts +30 -30
  203. package/src/hooks/legacy.ts +3 -9
  204. package/src/hooks/use-buffer-health.ts +218 -0
  205. package/src/hooks/use-enhanced-media-player.ts +171 -81
  206. package/src/hooks/use-focus-trap.tsx +162 -0
  207. package/src/hooks/use-intelligent-preloading.ts +256 -232
  208. package/src/hooks/use-keyboard-controls.ts +80 -80
  209. package/src/hooks/use-keyboard-shortcuts.ts +255 -0
  210. package/src/hooks/use-media-actions.ts +81 -72
  211. package/src/hooks/use-media-metadata.ts +75 -73
  212. package/src/hooks/use-media-optimistic.ts +145 -151
  213. package/src/hooks/use-media-player.ts +193 -160
  214. package/src/hooks/use-media-state.ts +63 -59
  215. package/src/hooks/use-memory-optimization.ts +121 -119
  216. package/src/hooks/use-network-status.ts +124 -0
  217. package/src/hooks/use-optimistic-controls.ts +91 -88
  218. package/src/hooks/use-optimized-media.ts +76 -56
  219. package/src/hooks/use-smart-preload.ts +229 -0
  220. package/src/hooks/use-touch-gestures.ts +427 -383
  221. package/src/hooks/useEnhancedSubtitles.ts +245 -245
  222. package/src/hooks/useKeyboardShortcuts.ts +84 -52
  223. package/src/hooks/useMediaControls.ts +22 -22
  224. package/src/hooks/useScreenshot.ts +51 -47
  225. package/src/hooks/useSubtitles.ts +53 -53
  226. package/src/hooks/useVideoPlayer.ts +107 -61
  227. package/src/icons/components/FullscreenIcon.tsx +34 -35
  228. package/src/icons/components/SettingsIcon.tsx +35 -36
  229. package/src/icons/components/animated/LoadingIcon.tsx +25 -41
  230. package/src/icons/components/animated/PlayPauseIcon.tsx +38 -46
  231. package/src/icons/components/media/PauseIcon.tsx +36 -37
  232. package/src/icons/components/media/PlayIcon.tsx +35 -36
  233. package/src/icons/components/volume/VolumeIcon.tsx +36 -37
  234. package/src/icons/components/volume/VolumeOffIcon.tsx +36 -37
  235. package/src/icons/index.ts +38 -38
  236. package/src/icons/provider.tsx +40 -46
  237. package/src/icons/types.ts +51 -31
  238. package/src/index-enhanced.ts +10 -10
  239. package/src/index-legacy.ts +4 -7
  240. package/src/index.css +80 -80
  241. package/src/index.ts +8 -23
  242. package/src/lib/__tests__/async-utils.test.ts +291 -0
  243. package/src/lib/async-utils.ts +194 -0
  244. package/src/lib/deprecation.ts +4 -4
  245. package/src/lib/index.ts +3 -2
  246. package/src/lib/utils.ts +3 -3
  247. package/src/styles/globals.css +3 -3
  248. package/src/styles/minimal-player.css +606 -574
  249. package/src/styles/pixel-art.css +23 -28
  250. package/src/styles/videojs.css +43 -43
  251. package/src/test/accessibility-utils.ts +208 -0
  252. package/src/test/browser-simulation.ts +235 -0
  253. package/src/test/media-mocks.ts +169 -0
  254. package/src/test/performance-utils.ts +192 -0
  255. package/src/test/setup.ts +256 -41
  256. package/src/types/events.ts +30 -30
  257. package/src/types/formats.ts +56 -72
  258. package/src/types/index.ts +16 -38
  259. package/src/types/videojs-plugins.d.ts +6 -6
  260. package/dist/index.d.ts +0 -1425
  261. package/dist/package.json +0 -62
  262. package/dist/src/adapters/videojs-adapter.d.ts +0 -38
  263. package/dist/src/adapters/videojs-adapter.tsx +0 -470
  264. package/dist/src/components/AnimateLoading.d.ts +0 -9
  265. package/dist/src/components/AnimateLoading.tsx +0 -115
  266. package/dist/src/components/LoadingState.d.ts +0 -33
  267. package/dist/src/components/LoadingState.tsx +0 -248
  268. package/dist/src/components/accessibility/keyboard-help-overlay.d.ts +0 -17
  269. package/dist/src/components/accessibility/keyboard-help-overlay.tsx +0 -213
  270. package/dist/src/components/audio-player.d.ts +0 -3
  271. package/dist/src/components/audio-player.tsx +0 -85
  272. package/dist/src/components/basic/index.d.ts +0 -26
  273. package/dist/src/components/basic/index.ts +0 -37
  274. package/dist/src/components/enhanced/advanced-features.d.ts +0 -45
  275. package/dist/src/components/enhanced/advanced-features.tsx +0 -316
  276. package/dist/src/components/enhanced/debug-panel.d.ts +0 -70
  277. package/dist/src/components/enhanced/debug-panel.tsx +0 -422
  278. package/dist/src/components/enhanced/enhanced-controls.d.ts +0 -50
  279. package/dist/src/components/enhanced/enhanced-controls.tsx +0 -600
  280. package/dist/src/components/enhanced/enhanced-media-player.d.ts +0 -26
  281. package/dist/src/components/enhanced/enhanced-media-player.tsx +0 -509
  282. package/dist/src/components/enhanced/error-handling.d.ts +0 -36
  283. package/dist/src/components/enhanced/error-handling.tsx +0 -345
  284. package/dist/src/components/enhanced/index.d.ts +0 -7
  285. package/dist/src/components/enhanced/index.ts +0 -39
  286. package/dist/src/components/enhanced/media-player-enhanced.d.ts +0 -21
  287. package/dist/src/components/enhanced/media-player-enhanced.tsx +0 -349
  288. package/dist/src/components/examples/basic-video-player.d.ts +0 -10
  289. package/dist/src/components/examples/basic-video-player.tsx +0 -55
  290. package/dist/src/components/examples/custom-controls-example.d.ts +0 -10
  291. package/dist/src/components/examples/custom-controls-example.tsx +0 -63
  292. package/dist/src/components/examples/enhanced-controls-example.d.ts +0 -9
  293. package/dist/src/components/examples/enhanced-controls-example.tsx +0 -114
  294. package/dist/src/components/examples/enhanced-media-player-example.d.ts +0 -9
  295. package/dist/src/components/examples/enhanced-media-player-example.tsx +0 -293
  296. package/dist/src/components/examples/loading-states-demo.d.ts +0 -2
  297. package/dist/src/components/examples/loading-states-demo.tsx +0 -142
  298. package/dist/src/components/examples/react-19-demo.d.ts +0 -10
  299. package/dist/src/components/examples/react-19-demo.tsx +0 -381
  300. package/dist/src/components/examples/volume-orientation-demo.d.ts +0 -2
  301. package/dist/src/components/examples/volume-orientation-demo.tsx +0 -114
  302. package/dist/src/components/icon-demo.d.ts +0 -2
  303. package/dist/src/components/icon-demo.tsx +0 -209
  304. package/dist/src/components/icons/index.d.ts +0 -36
  305. package/dist/src/components/icons/index.tsx +0 -166
  306. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.d.ts +0 -4
  307. package/dist/src/components/icons/svg-icons/ArrowLeftIcon.tsx +0 -18
  308. package/dist/src/components/icons/svg-icons/ArrowRightIcon.d.ts +0 -4
  309. package/dist/src/components/icons/svg-icons/ArrowRightIcon.tsx +0 -18
  310. package/dist/src/components/icons/svg-icons/AudioIcon.d.ts +0 -4
  311. package/dist/src/components/icons/svg-icons/AudioIcon.tsx +0 -22
  312. package/dist/src/components/icons/svg-icons/BackwardIcon.d.ts +0 -4
  313. package/dist/src/components/icons/svg-icons/BackwardIcon.tsx +0 -12
  314. package/dist/src/components/icons/svg-icons/CameraIcon.d.ts +0 -4
  315. package/dist/src/components/icons/svg-icons/CameraIcon.tsx +0 -19
  316. package/dist/src/components/icons/svg-icons/CheckIcon.d.ts +0 -4
  317. package/dist/src/components/icons/svg-icons/CheckIcon.tsx +0 -19
  318. package/dist/src/components/icons/svg-icons/EnablePiPIcon.d.ts +0 -4
  319. package/dist/src/components/icons/svg-icons/EnablePiPIcon.tsx +0 -17
  320. package/dist/src/components/icons/svg-icons/ForwardIcon.d.ts +0 -4
  321. package/dist/src/components/icons/svg-icons/ForwardIcon.tsx +0 -12
  322. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts +0 -4
  323. package/dist/src/components/icons/svg-icons/FullscreenEnterIcon.tsx +0 -23
  324. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.d.ts +0 -4
  325. package/dist/src/components/icons/svg-icons/FullscreenExitIcon.tsx +0 -23
  326. package/dist/src/components/icons/svg-icons/LoadingIcon.d.ts +0 -4
  327. package/dist/src/components/icons/svg-icons/LoadingIcon.tsx +0 -32
  328. package/dist/src/components/icons/svg-icons/PauseIcon.d.ts +0 -4
  329. package/dist/src/components/icons/svg-icons/PauseIcon.tsx +0 -23
  330. package/dist/src/components/icons/svg-icons/PlayIcon.d.ts +0 -4
  331. package/dist/src/components/icons/svg-icons/PlayIcon.tsx +0 -21
  332. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +0 -4
  333. package/dist/src/components/icons/svg-icons/PlaybackSpeedIcon.tsx +0 -23
  334. package/dist/src/components/icons/svg-icons/QualityIcon.d.ts +0 -4
  335. package/dist/src/components/icons/svg-icons/QualityIcon.tsx +0 -21
  336. package/dist/src/components/icons/svg-icons/SettingsIcon.d.ts +0 -4
  337. package/dist/src/components/icons/svg-icons/SettingsIcon.tsx +0 -12
  338. package/dist/src/components/icons/svg-icons/SliderIcon.d.ts +0 -4
  339. package/dist/src/components/icons/svg-icons/SliderIcon.tsx +0 -21
  340. package/dist/src/components/icons/svg-icons/SubtitleIcon.d.ts +0 -4
  341. package/dist/src/components/icons/svg-icons/SubtitleIcon.tsx +0 -21
  342. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.d.ts +0 -4
  343. package/dist/src/components/icons/svg-icons/SubtitleOffIcon.tsx +0 -25
  344. package/dist/src/components/icons/svg-icons/UnPiPIcon.d.ts +0 -4
  345. package/dist/src/components/icons/svg-icons/UnPiPIcon.tsx +0 -17
  346. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.d.ts +0 -4
  347. package/dist/src/components/icons/svg-icons/VolumeMutedIcon.tsx +0 -16
  348. package/dist/src/components/icons/svg-icons/VolumeOneIcon.d.ts +0 -4
  349. package/dist/src/components/icons/svg-icons/VolumeOneIcon.tsx +0 -22
  350. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.d.ts +0 -4
  351. package/dist/src/components/icons/svg-icons/VolumeThreeIcon.tsx +0 -16
  352. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.d.ts +0 -4
  353. package/dist/src/components/icons/svg-icons/VolumeTwoIcon.tsx +0 -16
  354. package/dist/src/components/legacy.d.ts +0 -13
  355. package/dist/src/components/legacy.tsx +0 -93
  356. package/dist/src/components/media-metadata-display.d.ts +0 -11
  357. package/dist/src/components/media-metadata-display.tsx +0 -100
  358. package/dist/src/components/media-player-audio.d.ts +0 -9
  359. package/dist/src/components/media-player-audio.tsx +0 -39
  360. package/dist/src/components/media-player-controls.d.ts +0 -23
  361. package/dist/src/components/media-player-controls.tsx +0 -226
  362. package/dist/src/components/media-player-error.d.ts +0 -16
  363. package/dist/src/components/media-player-error.tsx +0 -163
  364. package/dist/src/components/media-player-fullscreen.d.ts +0 -12
  365. package/dist/src/components/media-player-fullscreen.tsx +0 -109
  366. package/dist/src/components/media-player-hls.d.ts +0 -23
  367. package/dist/src/components/media-player-hls.tsx +0 -111
  368. package/dist/src/components/media-player-loading.d.ts +0 -12
  369. package/dist/src/components/media-player-loading.tsx +0 -76
  370. package/dist/src/components/media-player-play.d.ts +0 -11
  371. package/dist/src/components/media-player-play.tsx +0 -75
  372. package/dist/src/components/media-player-root.d.ts +0 -28
  373. package/dist/src/components/media-player-root.tsx +0 -340
  374. package/dist/src/components/media-player-seek.d.ts +0 -15
  375. package/dist/src/components/media-player-seek.tsx +0 -168
  376. package/dist/src/components/media-player-time.d.ts +0 -12
  377. package/dist/src/components/media-player-time.tsx +0 -99
  378. package/dist/src/components/media-player-tooltip.d.ts +0 -13
  379. package/dist/src/components/media-player-tooltip.tsx +0 -58
  380. package/dist/src/components/media-player-video.d.ts +0 -9
  381. package/dist/src/components/media-player-video.tsx +0 -39
  382. package/dist/src/components/media-player-volume.d.ts +0 -13
  383. package/dist/src/components/media-player-volume.tsx +0 -155
  384. package/dist/src/components/media-player.d.ts +0 -3
  385. package/dist/src/components/media-player.tsx +0 -257
  386. package/dist/src/components/media-suspense.d.ts +0 -78
  387. package/dist/src/components/media-suspense.tsx +0 -362
  388. package/dist/src/components/player-settings-form.d.ts +0 -8
  389. package/dist/src/components/player-settings-form.tsx +0 -163
  390. package/dist/src/components/react-player-wrapper.d.ts +0 -64
  391. package/dist/src/components/react-player-wrapper.tsx +0 -651
  392. package/dist/src/components/simple-video-player.d.ts +0 -9
  393. package/dist/src/components/simple-video-player.tsx +0 -60
  394. package/dist/src/components/ui/button.tsx +0 -49
  395. package/dist/src/components/ui/dropdown-menu.tsx +0 -137
  396. package/dist/src/components/ui/enhanced-seek-bar.d.ts +0 -3
  397. package/dist/src/components/ui/enhanced-seek-bar.tsx +0 -235
  398. package/dist/src/components/ui/fullscreen-button.d.ts +0 -3
  399. package/dist/src/components/ui/fullscreen-button.tsx +0 -60
  400. package/dist/src/components/ui/icons.tsx +0 -174
  401. package/dist/src/components/ui/media-resource-preloader.d.ts +0 -21
  402. package/dist/src/components/ui/media-resource-preloader.tsx +0 -393
  403. package/dist/src/components/ui/play-button.d.ts +0 -3
  404. package/dist/src/components/ui/play-button.tsx +0 -107
  405. package/dist/src/components/ui/seek-bar.d.ts +0 -3
  406. package/dist/src/components/ui/seek-bar.tsx +0 -161
  407. package/dist/src/components/ui/slider.tsx +0 -55
  408. package/dist/src/components/ui/time-display.d.ts +0 -3
  409. package/dist/src/components/ui/time-display.tsx +0 -40
  410. package/dist/src/components/ui/tooltip.tsx +0 -131
  411. package/dist/src/components/ui/volume-control.d.ts +0 -3
  412. package/dist/src/components/ui/volume-control.tsx +0 -143
  413. package/dist/src/components/unified/base-media-player.d.ts +0 -18
  414. package/dist/src/components/unified/base-media-player.tsx +0 -246
  415. package/dist/src/components/unified/media-player.d.ts +0 -37
  416. package/dist/src/components/unified/media-player.tsx +0 -75
  417. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts +0 -42
  418. package/dist/src/components/variants/minimal/AccessibleMinimalPlayer.tsx +0 -561
  419. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts +0 -44
  420. package/dist/src/components/variants/minimal/EnhancedMinimalMediaPlayer.tsx +0 -552
  421. package/dist/src/components/variants/minimal/MinimalControls.d.ts +0 -19
  422. package/dist/src/components/variants/minimal/MinimalControls.tsx +0 -142
  423. package/dist/src/components/variants/minimal/MinimalLoading.d.ts +0 -10
  424. package/dist/src/components/variants/minimal/MinimalLoading.tsx +0 -32
  425. package/dist/src/components/variants/minimal/MinimalMediaPlayer.d.ts +0 -38
  426. package/dist/src/components/variants/minimal/MinimalMediaPlayer.tsx +0 -315
  427. package/dist/src/components/variants/minimal/MinimalOverlay.d.ts +0 -11
  428. package/dist/src/components/variants/minimal/MinimalOverlay.tsx +0 -64
  429. package/dist/src/components/variants/minimal/MinimalPlayButton.d.ts +0 -9
  430. package/dist/src/components/variants/minimal/MinimalPlayButton.tsx +0 -65
  431. package/dist/src/components/variants/minimal/MinimalSeekBar.d.ts +0 -7
  432. package/dist/src/components/variants/minimal/MinimalSeekBar.tsx +0 -150
  433. package/dist/src/components/variants/minimal/MinimalVolumeControl.d.ts +0 -7
  434. package/dist/src/components/variants/minimal/MinimalVolumeControl.tsx +0 -80
  435. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.d.ts +0 -22
  436. package/dist/src/components/variants/minimal/SimpleMinimalPlayer.tsx +0 -209
  437. package/dist/src/components/variants/minimal/components/CenterPlayButton.d.ts +0 -7
  438. package/dist/src/components/variants/minimal/components/CenterPlayButton.tsx +0 -22
  439. package/dist/src/components/variants/minimal/components/ControlBar.d.ts +0 -43
  440. package/dist/src/components/variants/minimal/components/ControlBar.tsx +0 -146
  441. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts +0 -24
  442. package/dist/src/components/variants/minimal/components/EnhancedSettingsMenu.tsx +0 -361
  443. package/dist/src/components/variants/minimal/components/PlaybackControls.d.ts +0 -9
  444. package/dist/src/components/variants/minimal/components/PlaybackControls.tsx +0 -51
  445. package/dist/src/components/variants/minimal/components/RightControls.d.ts +0 -25
  446. package/dist/src/components/variants/minimal/components/RightControls.tsx +0 -173
  447. package/dist/src/components/variants/minimal/components/SeekBar.d.ts +0 -11
  448. package/dist/src/components/variants/minimal/components/SeekBar.tsx +0 -131
  449. package/dist/src/components/variants/minimal/components/SettingsDropdown.d.ts +0 -9
  450. package/dist/src/components/variants/minimal/components/SettingsDropdown.tsx +0 -70
  451. package/dist/src/components/variants/minimal/components/SubtitleDisplay.d.ts +0 -7
  452. package/dist/src/components/variants/minimal/components/SubtitleDisplay.tsx +0 -21
  453. package/dist/src/components/variants/minimal/components/TimeDisplay.d.ts +0 -7
  454. package/dist/src/components/variants/minimal/components/TimeDisplay.tsx +0 -18
  455. package/dist/src/components/variants/minimal/components/VideoElement.d.ts +0 -13
  456. package/dist/src/components/variants/minimal/components/VideoElement.tsx +0 -40
  457. package/dist/src/components/variants/minimal/components/VolumeControl.d.ts +0 -13
  458. package/dist/src/components/variants/minimal/components/VolumeControl.tsx +0 -217
  459. package/dist/src/components/variants/minimal/index.d.ts +0 -17
  460. package/dist/src/components/variants/minimal/index.ts +0 -23
  461. package/dist/src/components/video-player.d.ts +0 -3
  462. package/dist/src/components/video-player.tsx +0 -100
  463. package/dist/src/context/error-handling.d.ts +0 -72
  464. package/dist/src/context/error-handling.ts +0 -394
  465. package/dist/src/context/media-context.d.ts +0 -104
  466. package/dist/src/context/media-context.tsx +0 -208
  467. package/dist/src/context/media-provider.d.ts +0 -26
  468. package/dist/src/context/media-provider.tsx +0 -265
  469. package/dist/src/context/media-store.d.ts +0 -33
  470. package/dist/src/context/media-store.ts +0 -379
  471. package/dist/src/context/persistence.d.ts +0 -83
  472. package/dist/src/context/persistence.ts +0 -453
  473. package/dist/src/core/events/event-system.d.ts +0 -170
  474. package/dist/src/core/events/event-system.ts +0 -442
  475. package/dist/src/core/events/hooks.d.ts +0 -33
  476. package/dist/src/core/events/hooks.ts +0 -302
  477. package/dist/src/core/events/index.d.ts +0 -6
  478. package/dist/src/core/events/index.ts +0 -22
  479. package/dist/src/core/events/middleware.d.ts +0 -39
  480. package/dist/src/core/events/middleware.ts +0 -269
  481. package/dist/src/core/index.d.ts +0 -8
  482. package/dist/src/core/index.ts +0 -22
  483. package/dist/src/core/optimization/bundle-optimizer.d.ts +0 -44
  484. package/dist/src/core/optimization/bundle-optimizer.tsx +0 -308
  485. package/dist/src/core/performance/cicd.d.ts +0 -8
  486. package/dist/src/core/performance/cicd.ts +0 -96
  487. package/dist/src/core/performance/index.d.ts +0 -10
  488. package/dist/src/core/performance/index.ts +0 -38
  489. package/dist/src/core/performance/media-loading-optimizer.d.ts +0 -105
  490. package/dist/src/core/performance/media-loading-optimizer.ts +0 -538
  491. package/dist/src/core/performance/performance-budgets.d.ts +0 -68
  492. package/dist/src/core/performance/performance-budgets.ts +0 -432
  493. package/dist/src/core/performance/performance-monitor.d.ts +0 -95
  494. package/dist/src/core/performance/performance-monitor.tsx +0 -476
  495. package/dist/src/core/performance/performance-testing.d.ts +0 -69
  496. package/dist/src/core/performance/performance-testing.ts +0 -459
  497. package/dist/src/core/plugins/base-plugin.d.ts +0 -52
  498. package/dist/src/core/plugins/base-plugin.ts +0 -224
  499. package/dist/src/core/plugins/enhanced-plugin-system.d.ts +0 -160
  500. package/dist/src/core/plugins/enhanced-plugin-system.ts +0 -417
  501. package/dist/src/core/plugins/examples/analytics-plugin.d.ts +0 -30
  502. package/dist/src/core/plugins/examples/analytics-plugin.ts +0 -242
  503. package/dist/src/core/plugins/index.d.ts +0 -8
  504. package/dist/src/core/plugins/index.ts +0 -39
  505. package/dist/src/core/plugins/registry.d.ts +0 -31
  506. package/dist/src/core/plugins/registry.ts +0 -327
  507. package/dist/src/core/plugins/types.d.ts +0 -101
  508. package/dist/src/core/plugins/types.ts +0 -159
  509. package/dist/src/core/plugins/utils.d.ts +0 -38
  510. package/dist/src/core/plugins/utils.ts +0 -316
  511. package/dist/src/core/progressive-loading.d.ts +0 -88
  512. package/dist/src/core/progressive-loading.tsx +0 -322
  513. package/dist/src/core/providers/enhanced-hls-provider.d.ts +0 -50
  514. package/dist/src/core/providers/enhanced-hls-provider.ts +0 -308
  515. package/dist/src/core/providers/service-provider.d.ts +0 -49
  516. package/dist/src/core/providers/service-provider.tsx +0 -168
  517. package/dist/src/core/utils.d.ts +0 -25
  518. package/dist/src/core/utils.tsx +0 -38
  519. package/dist/src/features/media-session/media-session-manager.d.ts +0 -132
  520. package/dist/src/features/media-session/media-session-manager.ts +0 -429
  521. package/dist/src/features/picture-in-picture/pip-manager.d.ts +0 -94
  522. package/dist/src/features/picture-in-picture/pip-manager.ts +0 -429
  523. package/dist/src/features/playlist/playlist-manager.d.ts +0 -208
  524. package/dist/src/features/playlist/playlist-manager.ts +0 -606
  525. package/dist/src/features/subtitles/subtitle-manager.d.ts +0 -136
  526. package/dist/src/features/subtitles/subtitle-manager.ts +0 -441
  527. package/dist/src/features/subtitles/subtitle-parser.d.ts +0 -60
  528. package/dist/src/features/subtitles/subtitle-parser.ts +0 -280
  529. package/dist/src/features/thumbnails/thumbnail-generator.d.ts +0 -136
  530. package/dist/src/features/thumbnails/thumbnail-generator.ts +0 -519
  531. package/dist/src/hooks/accessibility/index.d.ts +0 -5
  532. package/dist/src/hooks/accessibility/index.ts +0 -27
  533. package/dist/src/hooks/accessibility/use-accessibility-preferences.d.ts +0 -14
  534. package/dist/src/hooks/accessibility/use-accessibility-preferences.ts +0 -188
  535. package/dist/src/hooks/accessibility/use-focus-management.d.ts +0 -31
  536. package/dist/src/hooks/accessibility/use-focus-management.ts +0 -176
  537. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.d.ts +0 -38
  538. package/dist/src/hooks/accessibility/use-keyboard-shortcuts.ts +0 -144
  539. package/dist/src/hooks/accessibility/use-screen-reader.d.ts +0 -22
  540. package/dist/src/hooks/accessibility/use-screen-reader.ts +0 -182
  541. package/dist/src/hooks/core/index.d.ts +0 -18
  542. package/dist/src/hooks/core/index.ts +0 -47
  543. package/dist/src/hooks/legacy.d.ts +0 -18
  544. package/dist/src/hooks/legacy.ts +0 -27
  545. package/dist/src/hooks/use-enhanced-media-player.d.ts +0 -88
  546. package/dist/src/hooks/use-enhanced-media-player.ts +0 -485
  547. package/dist/src/hooks/use-intelligent-preloading.d.ts +0 -66
  548. package/dist/src/hooks/use-intelligent-preloading.ts +0 -363
  549. package/dist/src/hooks/use-keyboard-controls.d.ts +0 -13
  550. package/dist/src/hooks/use-keyboard-controls.ts +0 -115
  551. package/dist/src/hooks/use-media-actions.d.ts +0 -62
  552. package/dist/src/hooks/use-media-actions.ts +0 -175
  553. package/dist/src/hooks/use-media-metadata.d.ts +0 -11
  554. package/dist/src/hooks/use-media-metadata.ts +0 -89
  555. package/dist/src/hooks/use-media-optimistic.d.ts +0 -36
  556. package/dist/src/hooks/use-media-optimistic.ts +0 -270
  557. package/dist/src/hooks/use-media-player.d.ts +0 -31
  558. package/dist/src/hooks/use-media-player.ts +0 -310
  559. package/dist/src/hooks/use-media-state.d.ts +0 -17
  560. package/dist/src/hooks/use-media-state.ts +0 -190
  561. package/dist/src/hooks/use-memory-optimization.d.ts +0 -40
  562. package/dist/src/hooks/use-memory-optimization.ts +0 -358
  563. package/dist/src/hooks/use-mobile.ts +0 -125
  564. package/dist/src/hooks/use-optimistic-controls.d.ts +0 -22
  565. package/dist/src/hooks/use-optimistic-controls.ts +0 -92
  566. package/dist/src/hooks/use-optimized-media.d.ts +0 -46
  567. package/dist/src/hooks/use-optimized-media.ts +0 -263
  568. package/dist/src/hooks/use-touch-gestures.d.ts +0 -47
  569. package/dist/src/hooks/use-touch-gestures.ts +0 -417
  570. package/dist/src/hooks/useEnhancedSubtitles.d.ts +0 -39
  571. package/dist/src/hooks/useEnhancedSubtitles.ts +0 -258
  572. package/dist/src/hooks/useKeyboardShortcuts.d.ts +0 -10
  573. package/dist/src/hooks/useKeyboardShortcuts.ts +0 -74
  574. package/dist/src/hooks/useMediaControls.d.ts +0 -9
  575. package/dist/src/hooks/useMediaControls.ts +0 -52
  576. package/dist/src/hooks/useScreenshot.d.ts +0 -4
  577. package/dist/src/hooks/useScreenshot.ts +0 -57
  578. package/dist/src/hooks/useSubtitles.d.ts +0 -8
  579. package/dist/src/hooks/useSubtitles.ts +0 -91
  580. package/dist/src/hooks/useVideoPlayer.d.ts +0 -32
  581. package/dist/src/hooks/useVideoPlayer.ts +0 -232
  582. package/dist/src/icons/components/FullscreenIcon.d.ts +0 -3
  583. package/dist/src/icons/components/FullscreenIcon.tsx +0 -37
  584. package/dist/src/icons/components/SettingsIcon.d.ts +0 -3
  585. package/dist/src/icons/components/SettingsIcon.tsx +0 -38
  586. package/dist/src/icons/components/animated/LoadingIcon.d.ts +0 -3
  587. package/dist/src/icons/components/animated/LoadingIcon.tsx +0 -43
  588. package/dist/src/icons/components/animated/PlayPauseIcon.d.ts +0 -7
  589. package/dist/src/icons/components/animated/PlayPauseIcon.tsx +0 -50
  590. package/dist/src/icons/components/media/PauseIcon.d.ts +0 -3
  591. package/dist/src/icons/components/media/PauseIcon.tsx +0 -39
  592. package/dist/src/icons/components/media/PlayIcon.d.ts +0 -3
  593. package/dist/src/icons/components/media/PlayIcon.tsx +0 -38
  594. package/dist/src/icons/components/volume/VolumeIcon.d.ts +0 -3
  595. package/dist/src/icons/components/volume/VolumeIcon.tsx +0 -39
  596. package/dist/src/icons/components/volume/VolumeOffIcon.d.ts +0 -3
  597. package/dist/src/icons/components/volume/VolumeOffIcon.tsx +0 -39
  598. package/dist/src/icons/index.d.ts +0 -28
  599. package/dist/src/icons/index.ts +0 -56
  600. package/dist/src/icons/provider.d.ts +0 -13
  601. package/dist/src/icons/provider.tsx +0 -64
  602. package/dist/src/icons/types.d.ts +0 -18
  603. package/dist/src/icons/types.ts +0 -40
  604. package/dist/src/index-enhanced.d.ts +0 -13
  605. package/dist/src/index-enhanced.ts +0 -35
  606. package/dist/src/index-legacy.d.ts +0 -81
  607. package/dist/src/index-legacy.ts +0 -327
  608. package/dist/src/index.css +0 -102
  609. package/dist/src/index.d.ts +0 -38
  610. package/dist/src/index.minimal.d.ts +0 -2
  611. package/dist/src/index.minimal.ts +0 -4
  612. package/dist/src/index.ts +0 -216
  613. package/dist/src/lib/deprecation.d.ts +0 -7
  614. package/dist/src/lib/deprecation.ts +0 -51
  615. package/dist/src/lib/format-time.d.ts +0 -9
  616. package/dist/src/lib/format-time.ts +0 -37
  617. package/dist/src/lib/index.d.ts +0 -3
  618. package/dist/src/lib/index.ts +0 -3
  619. package/dist/src/lib/utils.d.ts +0 -3
  620. package/dist/src/lib/utils.ts +0 -6
  621. package/dist/src/styles/globals.css +0 -462
  622. package/dist/src/styles/minimal-player.css +0 -589
  623. package/dist/src/styles/pixel-art.css +0 -46
  624. package/dist/src/styles/videojs.css +0 -100
  625. package/dist/src/test/setup.d.ts +0 -2
  626. package/dist/src/test/setup.ts +0 -79
  627. package/dist/src/types/events.d.ts +0 -41
  628. package/dist/src/types/events.ts +0 -47
  629. package/dist/src/types/formats.d.ts +0 -45
  630. package/dist/src/types/formats.ts +0 -95
  631. package/dist/src/types/index.d.ts +0 -128
  632. package/dist/src/types/index.ts +0 -225
  633. package/dist/src/types/videojs-plugins.d.ts +0 -14
  634. package/dist/styles/globals.css +0 -462
  635. package/dist/styles/minimal-player.css +0 -589
  636. package/dist/styles/pixel-art.css +0 -46
  637. package/dist/styles/videojs.css +0 -100
  638. package/src/adapters/videojs-adapter.d.ts +0 -38
  639. package/src/adapters/videojs-adapter.d.ts.map +0 -1
  640. package/src/components/AnimateLoading.d.ts +0 -9
  641. package/src/components/AnimateLoading.d.ts.map +0 -1
  642. package/src/components/LoadingState.d.ts +0 -33
  643. package/src/components/LoadingState.d.ts.map +0 -1
  644. package/src/components/accessibility/keyboard-help-overlay.d.ts +0 -17
  645. package/src/components/accessibility/keyboard-help-overlay.d.ts.map +0 -1
  646. package/src/components/audio-player.d.ts +0 -3
  647. package/src/components/audio-player.d.ts.map +0 -1
  648. package/src/components/basic/index.d.ts +0 -26
  649. package/src/components/basic/index.d.ts.map +0 -1
  650. package/src/components/enhanced/advanced-features.d.ts +0 -45
  651. package/src/components/enhanced/advanced-features.d.ts.map +0 -1
  652. package/src/components/enhanced/debug-panel.d.ts +0 -70
  653. package/src/components/enhanced/debug-panel.d.ts.map +0 -1
  654. package/src/components/enhanced/enhanced-controls.d.ts +0 -50
  655. package/src/components/enhanced/enhanced-controls.d.ts.map +0 -1
  656. package/src/components/enhanced/enhanced-media-player.d.ts +0 -26
  657. package/src/components/enhanced/enhanced-media-player.d.ts.map +0 -1
  658. package/src/components/enhanced/error-handling.d.ts +0 -36
  659. package/src/components/enhanced/error-handling.d.ts.map +0 -1
  660. package/src/components/enhanced/index.d.ts +0 -7
  661. package/src/components/enhanced/index.d.ts.map +0 -1
  662. package/src/components/enhanced/media-player-enhanced.d.ts +0 -21
  663. package/src/components/enhanced/media-player-enhanced.d.ts.map +0 -1
  664. package/src/components/examples/basic-video-player.d.ts +0 -10
  665. package/src/components/examples/basic-video-player.d.ts.map +0 -1
  666. package/src/components/examples/custom-controls-example.d.ts +0 -10
  667. package/src/components/examples/custom-controls-example.d.ts.map +0 -1
  668. package/src/components/examples/enhanced-controls-example.d.ts +0 -9
  669. package/src/components/examples/enhanced-controls-example.d.ts.map +0 -1
  670. package/src/components/examples/enhanced-media-player-example.d.ts +0 -9
  671. package/src/components/examples/enhanced-media-player-example.d.ts.map +0 -1
  672. package/src/components/examples/loading-states-demo.d.ts +0 -2
  673. package/src/components/examples/loading-states-demo.d.ts.map +0 -1
  674. package/src/components/examples/react-19-demo.d.ts +0 -10
  675. package/src/components/examples/react-19-demo.d.ts.map +0 -1
  676. package/src/components/examples/volume-orientation-demo.d.ts +0 -2
  677. package/src/components/examples/volume-orientation-demo.d.ts.map +0 -1
  678. package/src/components/icon-demo.d.ts +0 -2
  679. package/src/components/icon-demo.d.ts.map +0 -1
  680. package/src/components/icons/index.d.ts +0 -36
  681. package/src/components/icons/index.d.ts.map +0 -1
  682. package/src/components/icons/svg-icons/ArrowLeftIcon.d.ts +0 -4
  683. package/src/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +0 -1
  684. package/src/components/icons/svg-icons/ArrowRightIcon.d.ts +0 -4
  685. package/src/components/icons/svg-icons/ArrowRightIcon.d.ts.map +0 -1
  686. package/src/components/icons/svg-icons/AudioIcon.d.ts +0 -4
  687. package/src/components/icons/svg-icons/AudioIcon.d.ts.map +0 -1
  688. package/src/components/icons/svg-icons/BackwardIcon.d.ts +0 -4
  689. package/src/components/icons/svg-icons/BackwardIcon.d.ts.map +0 -1
  690. package/src/components/icons/svg-icons/CameraIcon.d.ts +0 -4
  691. package/src/components/icons/svg-icons/CameraIcon.d.ts.map +0 -1
  692. package/src/components/icons/svg-icons/CheckIcon.d.ts +0 -4
  693. package/src/components/icons/svg-icons/CheckIcon.d.ts.map +0 -1
  694. package/src/components/icons/svg-icons/EnablePiPIcon.d.ts +0 -4
  695. package/src/components/icons/svg-icons/EnablePiPIcon.d.ts.map +0 -1
  696. package/src/components/icons/svg-icons/ForwardIcon.d.ts +0 -4
  697. package/src/components/icons/svg-icons/ForwardIcon.d.ts.map +0 -1
  698. package/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts +0 -4
  699. package/src/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +0 -1
  700. package/src/components/icons/svg-icons/FullscreenExitIcon.d.ts +0 -4
  701. package/src/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +0 -1
  702. package/src/components/icons/svg-icons/LoadingIcon.d.ts +0 -4
  703. package/src/components/icons/svg-icons/LoadingIcon.d.ts.map +0 -1
  704. package/src/components/icons/svg-icons/PauseIcon.d.ts +0 -4
  705. package/src/components/icons/svg-icons/PauseIcon.d.ts.map +0 -1
  706. package/src/components/icons/svg-icons/PlayIcon.d.ts +0 -4
  707. package/src/components/icons/svg-icons/PlayIcon.d.ts.map +0 -1
  708. package/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +0 -4
  709. package/src/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +0 -1
  710. package/src/components/icons/svg-icons/QualityIcon.d.ts +0 -4
  711. package/src/components/icons/svg-icons/QualityIcon.d.ts.map +0 -1
  712. package/src/components/icons/svg-icons/SettingsIcon.d.ts +0 -4
  713. package/src/components/icons/svg-icons/SettingsIcon.d.ts.map +0 -1
  714. package/src/components/icons/svg-icons/SliderIcon.d.ts +0 -4
  715. package/src/components/icons/svg-icons/SliderIcon.d.ts.map +0 -1
  716. package/src/components/icons/svg-icons/SubtitleIcon.d.ts +0 -4
  717. package/src/components/icons/svg-icons/SubtitleIcon.d.ts.map +0 -1
  718. package/src/components/icons/svg-icons/SubtitleOffIcon.d.ts +0 -4
  719. package/src/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +0 -1
  720. package/src/components/icons/svg-icons/UnPiPIcon.d.ts +0 -4
  721. package/src/components/icons/svg-icons/UnPiPIcon.d.ts.map +0 -1
  722. package/src/components/icons/svg-icons/VolumeMutedIcon.d.ts +0 -4
  723. package/src/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +0 -1
  724. package/src/components/icons/svg-icons/VolumeOneIcon.d.ts +0 -4
  725. package/src/components/icons/svg-icons/VolumeOneIcon.d.ts.map +0 -1
  726. package/src/components/icons/svg-icons/VolumeThreeIcon.d.ts +0 -4
  727. package/src/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +0 -1
  728. package/src/components/icons/svg-icons/VolumeTwoIcon.d.ts +0 -4
  729. package/src/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +0 -1
  730. package/src/components/legacy.d.ts +0 -13
  731. package/src/components/legacy.d.ts.map +0 -1
  732. package/src/components/media-metadata-display.d.ts +0 -11
  733. package/src/components/media-metadata-display.d.ts.map +0 -1
  734. package/src/components/media-player-audio.d.ts +0 -9
  735. package/src/components/media-player-audio.d.ts.map +0 -1
  736. package/src/components/media-player-controls.d.ts +0 -23
  737. package/src/components/media-player-controls.d.ts.map +0 -1
  738. package/src/components/media-player-error.d.ts +0 -16
  739. package/src/components/media-player-error.d.ts.map +0 -1
  740. package/src/components/media-player-fullscreen.d.ts +0 -12
  741. package/src/components/media-player-fullscreen.d.ts.map +0 -1
  742. package/src/components/media-player-hls.d.ts +0 -23
  743. package/src/components/media-player-hls.d.ts.map +0 -1
  744. package/src/components/media-player-loading.d.ts +0 -12
  745. package/src/components/media-player-loading.d.ts.map +0 -1
  746. package/src/components/media-player-play.d.ts +0 -11
  747. package/src/components/media-player-play.d.ts.map +0 -1
  748. package/src/components/media-player-root.d.ts +0 -28
  749. package/src/components/media-player-root.d.ts.map +0 -1
  750. package/src/components/media-player-seek.d.ts +0 -15
  751. package/src/components/media-player-seek.d.ts.map +0 -1
  752. package/src/components/media-player-time.d.ts +0 -12
  753. package/src/components/media-player-time.d.ts.map +0 -1
  754. package/src/components/media-player-tooltip.d.ts +0 -13
  755. package/src/components/media-player-tooltip.d.ts.map +0 -1
  756. package/src/components/media-player-video.d.ts +0 -9
  757. package/src/components/media-player-video.d.ts.map +0 -1
  758. package/src/components/media-player-volume.d.ts +0 -13
  759. package/src/components/media-player-volume.d.ts.map +0 -1
  760. package/src/components/media-player.d.ts +0 -3
  761. package/src/components/media-player.d.ts.map +0 -1
  762. package/src/components/media-suspense.d.ts +0 -78
  763. package/src/components/media-suspense.d.ts.map +0 -1
  764. package/src/components/player-settings-form.d.ts +0 -8
  765. package/src/components/player-settings-form.d.ts.map +0 -1
  766. package/src/components/react-player-wrapper.d.ts +0 -64
  767. package/src/components/react-player-wrapper.d.ts.map +0 -1
  768. package/src/components/simple-video-player.d.ts +0 -9
  769. package/src/components/simple-video-player.d.ts.map +0 -1
  770. package/src/components/ui/button.tsx +0 -49
  771. package/src/components/ui/dropdown-menu.tsx +0 -137
  772. package/src/components/ui/enhanced-seek-bar.d.ts +0 -3
  773. package/src/components/ui/enhanced-seek-bar.d.ts.map +0 -1
  774. package/src/components/ui/fullscreen-button.d.ts +0 -3
  775. package/src/components/ui/fullscreen-button.d.ts.map +0 -1
  776. package/src/components/ui/icons.tsx +0 -174
  777. package/src/components/ui/media-resource-preloader.d.ts +0 -21
  778. package/src/components/ui/media-resource-preloader.d.ts.map +0 -1
  779. package/src/components/ui/play-button.d.ts +0 -3
  780. package/src/components/ui/play-button.d.ts.map +0 -1
  781. package/src/components/ui/seek-bar.d.ts +0 -3
  782. package/src/components/ui/seek-bar.d.ts.map +0 -1
  783. package/src/components/ui/slider.tsx +0 -55
  784. package/src/components/ui/time-display.d.ts +0 -3
  785. package/src/components/ui/time-display.d.ts.map +0 -1
  786. package/src/components/ui/tooltip.tsx +0 -131
  787. package/src/components/ui/volume-control.d.ts +0 -3
  788. package/src/components/ui/volume-control.d.ts.map +0 -1
  789. package/src/components/unified/base-media-player.d.ts +0 -18
  790. package/src/components/unified/base-media-player.d.ts.map +0 -1
  791. package/src/components/unified/media-player.d.ts +0 -37
  792. package/src/components/unified/media-player.d.ts.map +0 -1
  793. package/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts +0 -42
  794. package/src/components/variants/minimal/AccessibleMinimalPlayer.d.ts.map +0 -1
  795. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts +0 -44
  796. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.d.ts.map +0 -1
  797. package/src/components/variants/minimal/MinimalControls.d.ts +0 -19
  798. package/src/components/variants/minimal/MinimalControls.d.ts.map +0 -1
  799. package/src/components/variants/minimal/MinimalLoading.d.ts +0 -10
  800. package/src/components/variants/minimal/MinimalLoading.d.ts.map +0 -1
  801. package/src/components/variants/minimal/MinimalMediaPlayer.d.ts +0 -38
  802. package/src/components/variants/minimal/MinimalMediaPlayer.d.ts.map +0 -1
  803. package/src/components/variants/minimal/MinimalOverlay.d.ts +0 -11
  804. package/src/components/variants/minimal/MinimalOverlay.d.ts.map +0 -1
  805. package/src/components/variants/minimal/MinimalPlayButton.d.ts +0 -9
  806. package/src/components/variants/minimal/MinimalPlayButton.d.ts.map +0 -1
  807. package/src/components/variants/minimal/MinimalSeekBar.d.ts +0 -7
  808. package/src/components/variants/minimal/MinimalSeekBar.d.ts.map +0 -1
  809. package/src/components/variants/minimal/MinimalVolumeControl.d.ts +0 -7
  810. package/src/components/variants/minimal/MinimalVolumeControl.d.ts.map +0 -1
  811. package/src/components/variants/minimal/SimpleMinimalPlayer.d.ts +0 -22
  812. package/src/components/variants/minimal/SimpleMinimalPlayer.d.ts.map +0 -1
  813. package/src/components/variants/minimal/components/CenterPlayButton.d.ts +0 -7
  814. package/src/components/variants/minimal/components/CenterPlayButton.d.ts.map +0 -1
  815. package/src/components/variants/minimal/components/ControlBar.d.ts +0 -43
  816. package/src/components/variants/minimal/components/ControlBar.d.ts.map +0 -1
  817. package/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts +0 -24
  818. package/src/components/variants/minimal/components/EnhancedSettingsMenu.d.ts.map +0 -1
  819. package/src/components/variants/minimal/components/PlaybackControls.d.ts +0 -9
  820. package/src/components/variants/minimal/components/PlaybackControls.d.ts.map +0 -1
  821. package/src/components/variants/minimal/components/RightControls.d.ts +0 -25
  822. package/src/components/variants/minimal/components/RightControls.d.ts.map +0 -1
  823. package/src/components/variants/minimal/components/SeekBar.d.ts +0 -11
  824. package/src/components/variants/minimal/components/SeekBar.d.ts.map +0 -1
  825. package/src/components/variants/minimal/components/SettingsDropdown.d.ts +0 -9
  826. package/src/components/variants/minimal/components/SettingsDropdown.d.ts.map +0 -1
  827. package/src/components/variants/minimal/components/SubtitleDisplay.d.ts +0 -7
  828. package/src/components/variants/minimal/components/SubtitleDisplay.d.ts.map +0 -1
  829. package/src/components/variants/minimal/components/TimeDisplay.d.ts +0 -7
  830. package/src/components/variants/minimal/components/TimeDisplay.d.ts.map +0 -1
  831. package/src/components/variants/minimal/components/VideoElement.d.ts +0 -13
  832. package/src/components/variants/minimal/components/VideoElement.d.ts.map +0 -1
  833. package/src/components/variants/minimal/components/VolumeControl.d.ts +0 -13
  834. package/src/components/variants/minimal/components/VolumeControl.d.ts.map +0 -1
  835. package/src/components/variants/minimal/index.d.ts +0 -17
  836. package/src/components/variants/minimal/index.d.ts.map +0 -1
  837. package/src/components/video-player.d.ts +0 -3
  838. package/src/components/video-player.d.ts.map +0 -1
  839. package/src/context/error-handling.d.ts +0 -72
  840. package/src/context/error-handling.d.ts.map +0 -1
  841. package/src/context/media-context.d.ts +0 -104
  842. package/src/context/media-context.d.ts.map +0 -1
  843. package/src/context/media-provider.d.ts +0 -26
  844. package/src/context/media-provider.d.ts.map +0 -1
  845. package/src/context/media-store.d.ts +0 -33
  846. package/src/context/media-store.d.ts.map +0 -1
  847. package/src/context/persistence.d.ts +0 -83
  848. package/src/context/persistence.d.ts.map +0 -1
  849. package/src/core/events/event-system.d.ts +0 -170
  850. package/src/core/events/event-system.d.ts.map +0 -1
  851. package/src/core/events/hooks.d.ts +0 -33
  852. package/src/core/events/hooks.d.ts.map +0 -1
  853. package/src/core/events/index.d.ts +0 -6
  854. package/src/core/events/index.d.ts.map +0 -1
  855. package/src/core/events/middleware.d.ts +0 -39
  856. package/src/core/events/middleware.d.ts.map +0 -1
  857. package/src/core/index.d.ts +0 -8
  858. package/src/core/index.d.ts.map +0 -1
  859. package/src/core/optimization/bundle-optimizer.d.ts +0 -44
  860. package/src/core/optimization/bundle-optimizer.d.ts.map +0 -1
  861. package/src/core/performance/cicd.d.ts +0 -8
  862. package/src/core/performance/cicd.d.ts.map +0 -1
  863. package/src/core/performance/index.d.ts +0 -10
  864. package/src/core/performance/index.d.ts.map +0 -1
  865. package/src/core/performance/media-loading-optimizer.d.ts +0 -105
  866. package/src/core/performance/media-loading-optimizer.d.ts.map +0 -1
  867. package/src/core/performance/performance-budgets.d.ts +0 -68
  868. package/src/core/performance/performance-budgets.d.ts.map +0 -1
  869. package/src/core/performance/performance-monitor.d.ts +0 -95
  870. package/src/core/performance/performance-monitor.d.ts.map +0 -1
  871. package/src/core/performance/performance-testing.d.ts +0 -69
  872. package/src/core/performance/performance-testing.d.ts.map +0 -1
  873. package/src/core/plugins/base-plugin.d.ts +0 -52
  874. package/src/core/plugins/base-plugin.d.ts.map +0 -1
  875. package/src/core/plugins/enhanced-plugin-system.d.ts +0 -160
  876. package/src/core/plugins/enhanced-plugin-system.d.ts.map +0 -1
  877. package/src/core/plugins/examples/analytics-plugin.d.ts +0 -30
  878. package/src/core/plugins/examples/analytics-plugin.d.ts.map +0 -1
  879. package/src/core/plugins/index.d.ts +0 -8
  880. package/src/core/plugins/index.d.ts.map +0 -1
  881. package/src/core/plugins/registry.d.ts +0 -31
  882. package/src/core/plugins/registry.d.ts.map +0 -1
  883. package/src/core/plugins/types.d.ts +0 -101
  884. package/src/core/plugins/types.d.ts.map +0 -1
  885. package/src/core/plugins/utils.d.ts +0 -38
  886. package/src/core/plugins/utils.d.ts.map +0 -1
  887. package/src/core/progressive-loading.d.ts +0 -88
  888. package/src/core/progressive-loading.d.ts.map +0 -1
  889. package/src/core/providers/enhanced-hls-provider.d.ts +0 -50
  890. package/src/core/providers/enhanced-hls-provider.d.ts.map +0 -1
  891. package/src/core/providers/service-provider.d.ts +0 -49
  892. package/src/core/providers/service-provider.d.ts.map +0 -1
  893. package/src/core/utils.d.ts +0 -25
  894. package/src/core/utils.d.ts.map +0 -1
  895. package/src/features/media-session/media-session-manager.d.ts +0 -132
  896. package/src/features/media-session/media-session-manager.d.ts.map +0 -1
  897. package/src/features/picture-in-picture/pip-manager.d.ts +0 -94
  898. package/src/features/picture-in-picture/pip-manager.d.ts.map +0 -1
  899. package/src/features/playlist/playlist-manager.d.ts +0 -208
  900. package/src/features/playlist/playlist-manager.d.ts.map +0 -1
  901. package/src/features/subtitles/subtitle-manager.d.ts +0 -136
  902. package/src/features/subtitles/subtitle-manager.d.ts.map +0 -1
  903. package/src/features/subtitles/subtitle-parser.d.ts +0 -60
  904. package/src/features/subtitles/subtitle-parser.d.ts.map +0 -1
  905. package/src/features/thumbnails/thumbnail-generator.d.ts +0 -136
  906. package/src/features/thumbnails/thumbnail-generator.d.ts.map +0 -1
  907. package/src/hooks/accessibility/index.d.ts +0 -5
  908. package/src/hooks/accessibility/index.d.ts.map +0 -1
  909. package/src/hooks/accessibility/use-accessibility-preferences.d.ts +0 -14
  910. package/src/hooks/accessibility/use-accessibility-preferences.d.ts.map +0 -1
  911. package/src/hooks/accessibility/use-focus-management.d.ts +0 -31
  912. package/src/hooks/accessibility/use-focus-management.d.ts.map +0 -1
  913. package/src/hooks/accessibility/use-keyboard-shortcuts.d.ts +0 -38
  914. package/src/hooks/accessibility/use-keyboard-shortcuts.d.ts.map +0 -1
  915. package/src/hooks/accessibility/use-screen-reader.d.ts +0 -22
  916. package/src/hooks/accessibility/use-screen-reader.d.ts.map +0 -1
  917. package/src/hooks/core/index.d.ts +0 -18
  918. package/src/hooks/core/index.d.ts.map +0 -1
  919. package/src/hooks/legacy.d.ts +0 -18
  920. package/src/hooks/legacy.d.ts.map +0 -1
  921. package/src/hooks/use-enhanced-media-player.d.ts +0 -88
  922. package/src/hooks/use-enhanced-media-player.d.ts.map +0 -1
  923. package/src/hooks/use-intelligent-preloading.d.ts +0 -66
  924. package/src/hooks/use-intelligent-preloading.d.ts.map +0 -1
  925. package/src/hooks/use-keyboard-controls.d.ts +0 -13
  926. package/src/hooks/use-keyboard-controls.d.ts.map +0 -1
  927. package/src/hooks/use-media-actions.d.ts +0 -62
  928. package/src/hooks/use-media-actions.d.ts.map +0 -1
  929. package/src/hooks/use-media-metadata.d.ts +0 -11
  930. package/src/hooks/use-media-metadata.d.ts.map +0 -1
  931. package/src/hooks/use-media-optimistic.d.ts +0 -36
  932. package/src/hooks/use-media-optimistic.d.ts.map +0 -1
  933. package/src/hooks/use-media-player.d.ts +0 -31
  934. package/src/hooks/use-media-player.d.ts.map +0 -1
  935. package/src/hooks/use-media-state.d.ts +0 -17
  936. package/src/hooks/use-media-state.d.ts.map +0 -1
  937. package/src/hooks/use-memory-optimization.d.ts +0 -40
  938. package/src/hooks/use-memory-optimization.d.ts.map +0 -1
  939. package/src/hooks/use-mobile.ts +0 -125
  940. package/src/hooks/use-optimistic-controls.d.ts +0 -22
  941. package/src/hooks/use-optimistic-controls.d.ts.map +0 -1
  942. package/src/hooks/use-optimized-media.d.ts +0 -46
  943. package/src/hooks/use-optimized-media.d.ts.map +0 -1
  944. package/src/hooks/use-touch-gestures.d.ts +0 -47
  945. package/src/hooks/use-touch-gestures.d.ts.map +0 -1
  946. package/src/hooks/useEnhancedSubtitles.d.ts +0 -39
  947. package/src/hooks/useEnhancedSubtitles.d.ts.map +0 -1
  948. package/src/hooks/useKeyboardShortcuts.d.ts +0 -10
  949. package/src/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  950. package/src/hooks/useMediaControls.d.ts +0 -9
  951. package/src/hooks/useMediaControls.d.ts.map +0 -1
  952. package/src/hooks/useScreenshot.d.ts +0 -4
  953. package/src/hooks/useScreenshot.d.ts.map +0 -1
  954. package/src/hooks/useSubtitles.d.ts +0 -8
  955. package/src/hooks/useSubtitles.d.ts.map +0 -1
  956. package/src/hooks/useVideoPlayer.d.ts +0 -32
  957. package/src/hooks/useVideoPlayer.d.ts.map +0 -1
  958. package/src/icons/components/FullscreenIcon.d.ts +0 -3
  959. package/src/icons/components/FullscreenIcon.d.ts.map +0 -1
  960. package/src/icons/components/SettingsIcon.d.ts +0 -3
  961. package/src/icons/components/SettingsIcon.d.ts.map +0 -1
  962. package/src/icons/components/animated/LoadingIcon.d.ts +0 -3
  963. package/src/icons/components/animated/LoadingIcon.d.ts.map +0 -1
  964. package/src/icons/components/animated/PlayPauseIcon.d.ts +0 -7
  965. package/src/icons/components/animated/PlayPauseIcon.d.ts.map +0 -1
  966. package/src/icons/components/media/PauseIcon.d.ts +0 -3
  967. package/src/icons/components/media/PauseIcon.d.ts.map +0 -1
  968. package/src/icons/components/media/PlayIcon.d.ts +0 -3
  969. package/src/icons/components/media/PlayIcon.d.ts.map +0 -1
  970. package/src/icons/components/volume/VolumeIcon.d.ts +0 -3
  971. package/src/icons/components/volume/VolumeIcon.d.ts.map +0 -1
  972. package/src/icons/components/volume/VolumeOffIcon.d.ts +0 -3
  973. package/src/icons/components/volume/VolumeOffIcon.d.ts.map +0 -1
  974. package/src/icons/index.d.ts +0 -28
  975. package/src/icons/index.d.ts.map +0 -1
  976. package/src/icons/provider.d.ts +0 -13
  977. package/src/icons/provider.d.ts.map +0 -1
  978. package/src/icons/types.d.ts +0 -18
  979. package/src/icons/types.d.ts.map +0 -1
  980. package/src/index-enhanced.d.ts +0 -13
  981. package/src/index-enhanced.d.ts.map +0 -1
  982. package/src/index-legacy.d.ts +0 -81
  983. package/src/index-legacy.d.ts.map +0 -1
  984. package/src/index.d.ts +0 -38
  985. package/src/index.d.ts.map +0 -1
  986. package/src/index.minimal.d.ts +0 -2
  987. package/src/index.minimal.d.ts.map +0 -1
  988. package/src/index.minimal.ts +0 -4
  989. package/src/lib/deprecation.d.ts +0 -7
  990. package/src/lib/deprecation.d.ts.map +0 -1
  991. package/src/lib/format-time.d.ts +0 -9
  992. package/src/lib/format-time.d.ts.map +0 -1
  993. package/src/lib/index.d.ts +0 -3
  994. package/src/lib/index.d.ts.map +0 -1
  995. package/src/lib/utils.d.ts +0 -3
  996. package/src/lib/utils.d.ts.map +0 -1
  997. package/src/test/setup.d.ts +0 -2
  998. package/src/test/setup.d.ts.map +0 -1
  999. package/src/types/events.d.ts +0 -41
  1000. package/src/types/events.d.ts.map +0 -1
  1001. package/src/types/formats.d.ts +0 -45
  1002. package/src/types/formats.d.ts.map +0 -1
  1003. package/src/types/index.d.ts +0 -128
  1004. package/src/types/index.d.ts.map +0 -1
@@ -1,432 +1,437 @@
1
1
  // Performance budget configuration
2
2
  export interface PerformanceBudget {
3
- name: string;
4
- category: 'bundle' | 'runtime' | 'network' | 'memory';
5
- limit: number;
6
- unit: 'bytes' | 'ms' | 'score' | 'percent';
7
- severity: 'error' | 'warning' | 'info';
8
- description: string;
3
+ name: string
4
+ category: "bundle" | "runtime" | "network" | "memory"
5
+ limit: number
6
+ unit: "bytes" | "ms" | "score" | "percent"
7
+ severity: "error" | "warning" | "info"
8
+ description: string
9
9
  }
10
10
 
11
11
  // Performance budget violation
12
12
  export interface BudgetViolation {
13
- budget: PerformanceBudget;
14
- actualValue: number;
15
- overageAmount: number;
16
- overagePercentage: number;
17
- timestamp: number;
13
+ budget: PerformanceBudget
14
+ actualValue: number
15
+ overageAmount: number
16
+ overagePercentage: number
17
+ timestamp: number
18
18
  }
19
19
 
20
20
  // Alert configuration
21
21
  export interface AlertConfig {
22
- enabled: boolean;
23
- channels: AlertChannel[];
24
- threshold: number; // Number of violations before alerting
25
- cooldown: number; // Minimum time between alerts (ms)
22
+ enabled: boolean
23
+ channels: AlertChannel[]
24
+ threshold: number // Number of violations before alerting
25
+ cooldown: number // Minimum time between alerts (ms)
26
26
  }
27
27
 
28
28
  export interface AlertChannel {
29
- type: 'console' | 'webhook' | 'email' | 'slack';
30
- config: {
31
- url?: string;
32
- email?: string;
33
- token?: string;
34
- channel?: string;
35
- };
29
+ type: "console" | "webhook" | "email" | "slack"
30
+ config: {
31
+ url?: string
32
+ email?: string
33
+ token?: string
34
+ channel?: string
35
+ }
36
36
  }
37
37
 
38
38
  // Default performance budgets for media player
39
39
  export const defaultPerformanceBudgets: PerformanceBudget[] = [
40
- // Bundle size budgets
41
- {
42
- name: 'Main Bundle Size (ESM)',
43
- category: 'bundle',
44
- limit: 250 * 1024, // 250KB
45
- unit: 'bytes',
46
- severity: 'error',
47
- description: 'Main bundle should stay under 250KB for fast initial loading'
48
- },
49
- {
50
- name: 'Main Bundle Size (CJS)',
51
- category: 'bundle',
52
- limit: 200 * 1024, // 200KB
53
- unit: 'bytes',
54
- severity: 'error',
55
- description: 'CJS bundle should be smaller due to better compression'
56
- },
57
- {
58
- name: 'Core Module Size',
59
- category: 'bundle',
60
- limit: 15 * 1024, // 15KB
61
- unit: 'bytes',
62
- severity: 'warning',
63
- description: 'Core architecture should remain lightweight'
64
- },
65
- {
66
- name: 'Enhanced Components Size',
67
- category: 'bundle',
68
- limit: 40 * 1024, // 40KB
69
- unit: 'bytes',
70
- severity: 'warning',
71
- description: 'Enhanced components bundle size'
72
- },
73
-
74
- // Runtime performance budgets
75
- {
76
- name: 'Component Render Time',
77
- category: 'runtime',
78
- limit: 16, // 16ms for 60fps
79
- unit: 'ms',
80
- severity: 'error',
81
- description: 'Component rendering should complete within one frame'
82
- },
83
- {
84
- name: 'First Input Delay',
85
- category: 'runtime',
86
- limit: 100, // 100ms
87
- unit: 'ms',
88
- severity: 'error',
89
- description: 'First Input Delay should be under 100ms for good UX'
90
- },
91
- {
92
- name: 'Largest Contentful Paint',
93
- category: 'runtime',
94
- limit: 2500, // 2.5s
95
- unit: 'ms',
96
- severity: 'warning',
97
- description: 'LCP should be under 2.5s for good Core Web Vitals score'
98
- },
99
- {
100
- name: 'Cumulative Layout Shift',
101
- category: 'runtime',
102
- limit: 0.1,
103
- unit: 'score',
104
- severity: 'warning',
105
- description: 'CLS should be under 0.1 for good visual stability'
106
- },
107
-
108
- // Memory budgets
109
- {
110
- name: 'Memory Usage',
111
- category: 'memory',
112
- limit: 50 * 1024 * 1024, // 50MB
113
- unit: 'bytes',
114
- severity: 'warning',
115
- description: 'Memory usage should stay under 50MB for good performance'
116
- },
117
- {
118
- name: 'Memory Increase Per Operation',
119
- category: 'memory',
120
- limit: 1024 * 1024, // 1MB
121
- unit: 'bytes',
122
- severity: 'error',
123
- description: 'Each operation should not increase memory by more than 1MB'
124
- },
125
-
126
- // Network budgets (for media loading)
127
- {
128
- name: 'Media Load Time',
129
- category: 'network',
130
- limit: 3000, // 3s
131
- unit: 'ms',
132
- severity: 'warning',
133
- description: 'Media should start loading within 3 seconds'
134
- }
135
- ];
40
+ // Bundle size budgets
41
+ {
42
+ name: "Main Bundle Size (ESM)",
43
+ category: "bundle",
44
+ limit: 250 * 1024, // 250KB
45
+ unit: "bytes",
46
+ severity: "error",
47
+ description: "Main bundle should stay under 250KB for fast initial loading"
48
+ },
49
+ {
50
+ name: "Main Bundle Size (CJS)",
51
+ category: "bundle",
52
+ limit: 200 * 1024, // 200KB
53
+ unit: "bytes",
54
+ severity: "error",
55
+ description: "CJS bundle should be smaller due to better compression"
56
+ },
57
+ {
58
+ name: "Core Module Size",
59
+ category: "bundle",
60
+ limit: 15 * 1024, // 15KB
61
+ unit: "bytes",
62
+ severity: "warning",
63
+ description: "Core architecture should remain lightweight"
64
+ },
65
+ {
66
+ name: "Enhanced Components Size",
67
+ category: "bundle",
68
+ limit: 40 * 1024, // 40KB
69
+ unit: "bytes",
70
+ severity: "warning",
71
+ description: "Enhanced components bundle size"
72
+ },
73
+
74
+ // Runtime performance budgets
75
+ {
76
+ name: "Component Render Time",
77
+ category: "runtime",
78
+ limit: 16, // 16ms for 60fps
79
+ unit: "ms",
80
+ severity: "error",
81
+ description: "Component rendering should complete within one frame"
82
+ },
83
+ {
84
+ name: "First Input Delay",
85
+ category: "runtime",
86
+ limit: 100, // 100ms
87
+ unit: "ms",
88
+ severity: "error",
89
+ description: "First Input Delay should be under 100ms for good UX"
90
+ },
91
+ {
92
+ name: "Largest Contentful Paint",
93
+ category: "runtime",
94
+ limit: 2500, // 2.5s
95
+ unit: "ms",
96
+ severity: "warning",
97
+ description: "LCP should be under 2.5s for good Core Web Vitals score"
98
+ },
99
+ {
100
+ name: "Cumulative Layout Shift",
101
+ category: "runtime",
102
+ limit: 0.1,
103
+ unit: "score",
104
+ severity: "warning",
105
+ description: "CLS should be under 0.1 for good visual stability"
106
+ },
107
+
108
+ // Memory budgets
109
+ {
110
+ name: "Memory Usage",
111
+ category: "memory",
112
+ limit: 50 * 1024 * 1024, // 50MB
113
+ unit: "bytes",
114
+ severity: "warning",
115
+ description: "Memory usage should stay under 50MB for good performance"
116
+ },
117
+ {
118
+ name: "Memory Increase Per Operation",
119
+ category: "memory",
120
+ limit: 1024 * 1024, // 1MB
121
+ unit: "bytes",
122
+ severity: "error",
123
+ description: "Each operation should not increase memory by more than 1MB"
124
+ },
125
+
126
+ // Network budgets (for media loading)
127
+ {
128
+ name: "Media Load Time",
129
+ category: "network",
130
+ limit: 3000, // 3s
131
+ unit: "ms",
132
+ severity: "warning",
133
+ description: "Media should start loading within 3 seconds"
134
+ }
135
+ ]
136
136
 
137
137
  // Performance budget monitor
138
138
  export class PerformanceBudgetMonitor {
139
- private budgets: Map<string, PerformanceBudget> = new Map();
140
- private violations: BudgetViolation[] = [];
141
- private alertConfig: AlertConfig;
142
- private lastAlertTime = 0;
143
-
144
- constructor(
145
- budgets: PerformanceBudget[] = defaultPerformanceBudgets,
146
- alertConfig: AlertConfig = {
147
- enabled: true,
148
- channels: [{ type: 'console', config: {} }],
149
- threshold: 1,
150
- cooldown: 5 * 60 * 1000 // 5 minutes
151
- }
152
- ) {
153
- budgets.forEach(budget => {
154
- this.budgets.set(budget.name, budget);
155
- });
156
- this.alertConfig = alertConfig;
157
- }
158
-
159
- // Check a single metric against budgets
160
- checkMetric(
161
- metricName: string,
162
- value: number,
163
- category: PerformanceBudget['category'] = 'runtime'
164
- ): BudgetViolation[] {
165
- const violations: BudgetViolation[] = [];
166
-
167
- for (const [name, budget] of this.budgets) {
168
- if (budget.category === category &&
169
- (name.includes(metricName) || metricName.includes(name.split(' ')[0]?.toLowerCase() || ''))) {
170
-
171
- if (value > budget.limit) {
172
- const violation: BudgetViolation = {
173
- budget,
174
- actualValue: value,
175
- overageAmount: value - budget.limit,
176
- overagePercentage: ((value - budget.limit) / budget.limit) * 100,
177
- timestamp: Date.now()
178
- };
179
-
180
- violations.push(violation);
181
- this.violations.push(violation);
182
- }
183
- }
184
- }
185
-
186
- if (violations.length > 0) {
187
- this.handleViolations(violations);
188
- }
189
-
190
- return violations;
191
- }
192
-
193
- // Check bundle sizes
194
- async checkBundleSizes(distPath: string): Promise<BudgetViolation[]> {
195
- const violations: BudgetViolation[] = [];
196
-
197
- // Only check bundle sizes in Node.js environment
198
- if (typeof window !== 'undefined' || typeof process === 'undefined') {
199
- console.warn('Bundle size checking is only available in Node.js environment');
200
- return violations;
201
- }
202
-
203
- // Bundle size checking is disabled in browser environments
204
- console.warn('Bundle size checking disabled - use Node.js cicdIntegration from @rp/baroiplayer/core/performance/cicd for CI/CD environments');
205
-
206
- return violations;
207
- }
208
-
209
- // Check runtime performance
210
- checkRuntimeMetrics(metrics: {
211
- renderTime?: number;
212
- fid?: number;
213
- lcp?: number;
214
- cls?: number;
215
- memoryUsage?: number;
216
- mediaLoadTime?: number;
217
- }): BudgetViolation[] {
218
- const allViolations: BudgetViolation[] = [];
219
-
220
- if (metrics.renderTime !== undefined) {
221
- allViolations.push(...this.checkMetric('Component Render Time', metrics.renderTime, 'runtime'));
222
- }
223
-
224
- if (metrics.fid !== undefined) {
225
- allViolations.push(...this.checkMetric('First Input Delay', metrics.fid, 'runtime'));
226
- }
227
-
228
- if (metrics.lcp !== undefined) {
229
- allViolations.push(...this.checkMetric('Largest Contentful Paint', metrics.lcp, 'runtime'));
230
- }
231
-
232
- if (metrics.cls !== undefined) {
233
- allViolations.push(...this.checkMetric('Cumulative Layout Shift', metrics.cls, 'runtime'));
234
- }
235
-
236
- if (metrics.memoryUsage !== undefined) {
237
- allViolations.push(...this.checkMetric('Memory Usage', metrics.memoryUsage, 'memory'));
238
- }
239
-
240
- if (metrics.mediaLoadTime !== undefined) {
241
- allViolations.push(...this.checkMetric('Media Load Time', metrics.mediaLoadTime, 'network'));
242
- }
243
-
244
- return allViolations;
245
- }
246
-
247
- // Handle budget violations
248
- private async handleViolations(violations: BudgetViolation[]) {
249
- if (!this.alertConfig.enabled) return;
250
-
251
- const now = Date.now();
252
- const errorViolations = violations.filter(v => v.budget.severity === 'error');
253
-
254
- // Check if we should send an alert based on threshold and cooldown
255
- if (errorViolations.length >= this.alertConfig.threshold &&
256
- now - this.lastAlertTime >= this.alertConfig.cooldown) {
257
-
258
- await this.sendAlerts(violations);
259
- this.lastAlertTime = now;
260
- }
261
- }
262
-
263
- // Send alerts through configured channels
264
- private async sendAlerts(violations: BudgetViolation[]) {
265
- const message = this.formatAlertMessage(violations);
266
-
267
- for (const channel of this.alertConfig.channels) {
268
- try {
269
- await this.sendAlert(channel, message);
270
- } catch (error) {
271
- console.error(`Failed to send alert via ${channel.type}:`, error);
272
- }
273
- }
274
- }
275
-
276
- // Format alert message
277
- private formatAlertMessage(violations: BudgetViolation[]): string {
278
- let message = `🚨 Performance Budget Violations Detected!\n\n`;
279
-
280
- violations.forEach(violation => {
281
- const { budget, actualValue, overageAmount, overagePercentage } = violation;
282
- const unit = this.getUnitDisplay(budget.unit);
283
-
284
- message += `❌ ${budget.name}\n`;
285
- message += ` Limit: ${this.formatValue(budget.limit, budget.unit)}\n`;
286
- message += ` Actual: ${this.formatValue(actualValue, budget.unit)}\n`;
287
- message += ` Overage: ${this.formatValue(overageAmount, budget.unit)} (+${overagePercentage.toFixed(1)}%)\n`;
288
- message += ` Severity: ${budget.severity.toUpperCase()}\n\n`;
289
- });
290
-
291
- message += `Time: ${new Date().toISOString()}\n`;
292
- message += `Total Violations: ${violations.length}`;
293
-
294
- return message;
295
- }
296
-
297
- // Send alert to specific channel
298
- private async sendAlert(channel: AlertChannel, message: string) {
299
- switch (channel.type) {
300
- case 'console':
301
- console.error(message);
302
- break;
303
-
304
- case 'webhook':
305
- if (channel.config.url) {
306
- const response = await fetch(channel.config.url, {
307
- method: 'POST',
308
- headers: { 'Content-Type': 'application/json' },
309
- body: JSON.stringify({ text: message, timestamp: Date.now() })
310
- });
311
- if (!response.ok) {
312
- throw new Error(`Webhook failed: ${response.status}`);
313
- }
314
- }
315
- break;
316
-
317
- case 'slack':
318
- if (channel.config.url) {
319
- const response = await fetch(channel.config.url, {
320
- method: 'POST',
321
- headers: { 'Content-Type': 'application/json' },
322
- body: JSON.stringify({
323
- text: message,
324
- channel: channel.config.channel,
325
- username: 'BaroiPlayer Performance Monitor'
326
- })
327
- });
328
- if (!response.ok) {
329
- throw new Error(`Slack webhook failed: ${response.status}`);
330
- }
331
- }
332
- break;
333
-
334
- default:
335
- console.warn(`Unsupported alert channel: ${channel.type}`);
336
- }
337
- }
338
-
339
- // Helper methods
340
- private formatValue(value: number, unit: PerformanceBudget['unit']): string {
341
- switch (unit) {
342
- case 'bytes':
343
- return this.formatBytes(value);
344
- case 'ms':
345
- return `${value.toFixed(2)}ms`;
346
- case 'score':
347
- return value.toFixed(3);
348
- case 'percent':
349
- return `${value.toFixed(1)}%`;
350
- default:
351
- return value.toString();
352
- }
353
- }
354
-
355
- private formatBytes(bytes: number): string {
356
- if (bytes >= 1024 * 1024) {
357
- return `${(bytes / 1024 / 1024).toFixed(2)}MB`;
358
- }
359
- if (bytes >= 1024) {
360
- return `${(bytes / 1024).toFixed(2)}KB`;
361
- }
362
- return `${bytes}B`;
363
- }
364
-
365
- private getUnitDisplay(unit: PerformanceBudget['unit']): string {
366
- const displays = {
367
- 'bytes': 'bytes',
368
- 'ms': 'milliseconds',
369
- 'score': 'score',
370
- 'percent': 'percent'
371
- };
372
- return displays[unit] || unit;
373
- }
374
-
375
- // Management methods
376
- addBudget(budget: PerformanceBudget) {
377
- this.budgets.set(budget.name, budget);
378
- }
379
-
380
- removeBudget(name: string) {
381
- this.budgets.delete(name);
382
- }
383
-
384
- updateBudget(name: string, updates: Partial<PerformanceBudget>) {
385
- const existing = this.budgets.get(name);
386
- if (existing) {
387
- this.budgets.set(name, { ...existing, ...updates });
388
- }
389
- }
390
-
391
- getBudgets(): PerformanceBudget[] {
392
- return Array.from(this.budgets.values());
393
- }
394
-
395
- getViolations(since?: number): BudgetViolation[] {
396
- if (since) {
397
- return this.violations.filter(v => v.timestamp >= since);
398
- }
399
- return [...this.violations];
400
- }
401
-
402
- clearViolations() {
403
- this.violations = [];
404
- }
405
-
406
- getViolationSummary(): {
407
- total: number;
408
- byCategory: Record<string, number>;
409
- bySeverity: Record<string, number>;
410
- } {
411
- const byCategory: Record<string, number> = {};
412
- const bySeverity: Record<string, number> = {};
413
-
414
- this.violations.forEach(violation => {
415
- const category = violation.budget.category;
416
- const severity = violation.budget.severity;
417
-
418
- byCategory[category] = (byCategory[category] || 0) + 1;
419
- bySeverity[severity] = (bySeverity[severity] || 0) + 1;
420
- });
421
-
422
- return {
423
- total: this.violations.length,
424
- byCategory,
425
- bySeverity
426
- };
427
- }
139
+ private budgets: Map<string, PerformanceBudget> = new Map()
140
+ private violations: BudgetViolation[] = []
141
+ private alertConfig: AlertConfig
142
+ private lastAlertTime = 0
143
+
144
+ constructor(
145
+ budgets: PerformanceBudget[] = defaultPerformanceBudgets,
146
+ alertConfig: AlertConfig = {
147
+ enabled: true,
148
+ channels: [{ type: "console", config: {} }],
149
+ threshold: 1,
150
+ cooldown: 5 * 60 * 1000 // 5 minutes
151
+ }
152
+ ) {
153
+ budgets.forEach((budget) => {
154
+ this.budgets.set(budget.name, budget)
155
+ })
156
+ this.alertConfig = alertConfig
157
+ }
158
+
159
+ // Check a single metric against budgets
160
+ checkMetric(
161
+ metricName: string,
162
+ value: number,
163
+ category: PerformanceBudget["category"] = "runtime"
164
+ ): BudgetViolation[] {
165
+ const violations: BudgetViolation[] = []
166
+
167
+ for (const [name, budget] of this.budgets) {
168
+ if (
169
+ budget.category === category &&
170
+ (name.includes(metricName) || metricName.includes(name.split(" ")[0]?.toLowerCase() || ""))
171
+ ) {
172
+ if (value > budget.limit) {
173
+ const violation: BudgetViolation = {
174
+ budget,
175
+ actualValue: value,
176
+ overageAmount: value - budget.limit,
177
+ overagePercentage: ((value - budget.limit) / budget.limit) * 100,
178
+ timestamp: Date.now()
179
+ }
180
+
181
+ violations.push(violation)
182
+ this.violations.push(violation)
183
+ }
184
+ }
185
+ }
186
+
187
+ if (violations.length > 0) {
188
+ this.handleViolations(violations)
189
+ }
190
+
191
+ return violations
192
+ }
193
+
194
+ // Check bundle sizes
195
+ async checkBundleSizes(distPath: string): Promise<BudgetViolation[]> {
196
+ const violations: BudgetViolation[] = []
197
+
198
+ // Only check bundle sizes in Node.js environment
199
+ if (typeof window !== "undefined" || typeof process === "undefined") {
200
+ console.warn("Bundle size checking is only available in Node.js environment")
201
+ return violations
202
+ }
203
+
204
+ // Bundle size checking is disabled in browser environments
205
+ console.warn(
206
+ "Bundle size checking disabled - use Node.js cicdIntegration from @therealtinhtute/baroiplayer/core/performance/cicd for CI/CD environments"
207
+ )
208
+
209
+ return violations
210
+ }
211
+
212
+ // Check runtime performance
213
+ checkRuntimeMetrics(metrics: {
214
+ renderTime?: number
215
+ fid?: number
216
+ lcp?: number
217
+ cls?: number
218
+ memoryUsage?: number
219
+ mediaLoadTime?: number
220
+ }): BudgetViolation[] {
221
+ const allViolations: BudgetViolation[] = []
222
+
223
+ if (metrics.renderTime !== undefined) {
224
+ allViolations.push(
225
+ ...this.checkMetric("Component Render Time", metrics.renderTime, "runtime")
226
+ )
227
+ }
228
+
229
+ if (metrics.fid !== undefined) {
230
+ allViolations.push(...this.checkMetric("First Input Delay", metrics.fid, "runtime"))
231
+ }
232
+
233
+ if (metrics.lcp !== undefined) {
234
+ allViolations.push(...this.checkMetric("Largest Contentful Paint", metrics.lcp, "runtime"))
235
+ }
236
+
237
+ if (metrics.cls !== undefined) {
238
+ allViolations.push(...this.checkMetric("Cumulative Layout Shift", metrics.cls, "runtime"))
239
+ }
240
+
241
+ if (metrics.memoryUsage !== undefined) {
242
+ allViolations.push(...this.checkMetric("Memory Usage", metrics.memoryUsage, "memory"))
243
+ }
244
+
245
+ if (metrics.mediaLoadTime !== undefined) {
246
+ allViolations.push(...this.checkMetric("Media Load Time", metrics.mediaLoadTime, "network"))
247
+ }
248
+
249
+ return allViolations
250
+ }
251
+
252
+ // Handle budget violations
253
+ private async handleViolations(violations: BudgetViolation[]) {
254
+ if (!this.alertConfig.enabled) return
255
+
256
+ const now = Date.now()
257
+ const errorViolations = violations.filter((v) => v.budget.severity === "error")
258
+
259
+ // Check if we should send an alert based on threshold and cooldown
260
+ if (
261
+ errorViolations.length >= this.alertConfig.threshold &&
262
+ now - this.lastAlertTime >= this.alertConfig.cooldown
263
+ ) {
264
+ await this.sendAlerts(violations)
265
+ this.lastAlertTime = now
266
+ }
267
+ }
268
+
269
+ // Send alerts through configured channels
270
+ private async sendAlerts(violations: BudgetViolation[]) {
271
+ const message = this.formatAlertMessage(violations)
272
+
273
+ for (const channel of this.alertConfig.channels) {
274
+ try {
275
+ await this.sendAlert(channel, message)
276
+ } catch (error) {
277
+ console.error(`Failed to send alert via ${channel.type}:`, error)
278
+ }
279
+ }
280
+ }
281
+
282
+ // Format alert message
283
+ private formatAlertMessage(violations: BudgetViolation[]): string {
284
+ let message = `🚨 Performance Budget Violations Detected!\n\n`
285
+
286
+ violations.forEach((violation) => {
287
+ const { budget, actualValue, overageAmount, overagePercentage } = violation
288
+ const unit = this.getUnitDisplay(budget.unit)
289
+
290
+ message += `❌ ${budget.name}\n`
291
+ message += ` Limit: ${this.formatValue(budget.limit, budget.unit)}\n`
292
+ message += ` Actual: ${this.formatValue(actualValue, budget.unit)}\n`
293
+ message += ` Overage: ${this.formatValue(overageAmount, budget.unit)} (+${overagePercentage.toFixed(1)}%)\n`
294
+ message += ` Severity: ${budget.severity.toUpperCase()}\n\n`
295
+ })
296
+
297
+ message += `Time: ${new Date().toISOString()}\n`
298
+ message += `Total Violations: ${violations.length}`
299
+
300
+ return message
301
+ }
302
+
303
+ // Send alert to specific channel
304
+ private async sendAlert(channel: AlertChannel, message: string) {
305
+ switch (channel.type) {
306
+ case "console":
307
+ console.error(message)
308
+ break
309
+
310
+ case "webhook":
311
+ if (channel.config.url) {
312
+ const response = await fetch(channel.config.url, {
313
+ method: "POST",
314
+ headers: { "Content-Type": "application/json" },
315
+ body: JSON.stringify({ text: message, timestamp: Date.now() })
316
+ })
317
+ if (!response.ok) {
318
+ throw new Error(`Webhook failed: ${response.status}`)
319
+ }
320
+ }
321
+ break
322
+
323
+ case "slack":
324
+ if (channel.config.url) {
325
+ const response = await fetch(channel.config.url, {
326
+ method: "POST",
327
+ headers: { "Content-Type": "application/json" },
328
+ body: JSON.stringify({
329
+ text: message,
330
+ channel: channel.config.channel,
331
+ username: "BaroiPlayer Performance Monitor"
332
+ })
333
+ })
334
+ if (!response.ok) {
335
+ throw new Error(`Slack webhook failed: ${response.status}`)
336
+ }
337
+ }
338
+ break
339
+
340
+ default:
341
+ console.warn(`Unsupported alert channel: ${channel.type}`)
342
+ }
343
+ }
344
+
345
+ // Helper methods
346
+ private formatValue(value: number, unit: PerformanceBudget["unit"]): string {
347
+ switch (unit) {
348
+ case "bytes":
349
+ return this.formatBytes(value)
350
+ case "ms":
351
+ return `${value.toFixed(2)}ms`
352
+ case "score":
353
+ return value.toFixed(3)
354
+ case "percent":
355
+ return `${value.toFixed(1)}%`
356
+ default:
357
+ return value.toString()
358
+ }
359
+ }
360
+
361
+ private formatBytes(bytes: number): string {
362
+ if (bytes >= 1024 * 1024) {
363
+ return `${(bytes / 1024 / 1024).toFixed(2)}MB`
364
+ }
365
+ if (bytes >= 1024) {
366
+ return `${(bytes / 1024).toFixed(2)}KB`
367
+ }
368
+ return `${bytes}B`
369
+ }
370
+
371
+ private getUnitDisplay(unit: PerformanceBudget["unit"]): string {
372
+ const displays = {
373
+ bytes: "bytes",
374
+ ms: "milliseconds",
375
+ score: "score",
376
+ percent: "percent"
377
+ }
378
+ return displays[unit] || unit
379
+ }
380
+
381
+ // Management methods
382
+ addBudget(budget: PerformanceBudget) {
383
+ this.budgets.set(budget.name, budget)
384
+ }
385
+
386
+ removeBudget(name: string) {
387
+ this.budgets.delete(name)
388
+ }
389
+
390
+ updateBudget(name: string, updates: Partial<PerformanceBudget>) {
391
+ const existing = this.budgets.get(name)
392
+ if (existing) {
393
+ this.budgets.set(name, { ...existing, ...updates })
394
+ }
395
+ }
396
+
397
+ getBudgets(): PerformanceBudget[] {
398
+ return Array.from(this.budgets.values())
399
+ }
400
+
401
+ getViolations(since?: number): BudgetViolation[] {
402
+ if (since) {
403
+ return this.violations.filter((v) => v.timestamp >= since)
404
+ }
405
+ return [...this.violations]
406
+ }
407
+
408
+ clearViolations() {
409
+ this.violations = []
410
+ }
411
+
412
+ getViolationSummary(): {
413
+ total: number
414
+ byCategory: Record<string, number>
415
+ bySeverity: Record<string, number>
416
+ } {
417
+ const byCategory: Record<string, number> = {}
418
+ const bySeverity: Record<string, number> = {}
419
+
420
+ this.violations.forEach((violation) => {
421
+ const category = violation.budget.category
422
+ const severity = violation.budget.severity
423
+
424
+ byCategory[category] = (byCategory[category] || 0) + 1
425
+ bySeverity[severity] = (bySeverity[severity] || 0) + 1
426
+ })
427
+
428
+ return {
429
+ total: this.violations.length,
430
+ byCategory,
431
+ bySeverity
432
+ }
433
+ }
428
434
  }
429
435
 
430
436
  // Global performance budget monitor
431
- export const performanceBudgetMonitor = new PerformanceBudgetMonitor();
432
-
437
+ export const performanceBudgetMonitor = new PerformanceBudgetMonitor()