@therealtinhtute/baroiplayer 1.2.0 → 2.0.0-beta.1

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 (305) hide show
  1. package/README.md +91 -73
  2. package/dist/components/icons/index.d.ts +36 -0
  3. package/dist/components/icons/index.d.ts.map +1 -0
  4. package/dist/components/icons/svg-icons/ArrowLeftIcon.d.ts +4 -0
  5. package/dist/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +1 -0
  6. package/dist/components/icons/svg-icons/ArrowRightIcon.d.ts +5 -0
  7. package/dist/components/icons/svg-icons/ArrowRightIcon.d.ts.map +1 -0
  8. package/dist/components/icons/svg-icons/AudioIcon.d.ts +5 -0
  9. package/dist/components/icons/svg-icons/AudioIcon.d.ts.map +1 -0
  10. package/dist/components/icons/svg-icons/BackwardIcon.d.ts +5 -0
  11. package/dist/components/icons/svg-icons/BackwardIcon.d.ts.map +1 -0
  12. package/dist/components/icons/svg-icons/CameraIcon.d.ts +5 -0
  13. package/dist/components/icons/svg-icons/CameraIcon.d.ts.map +1 -0
  14. package/dist/components/icons/svg-icons/CheckIcon.d.ts +5 -0
  15. package/dist/components/icons/svg-icons/CheckIcon.d.ts.map +1 -0
  16. package/dist/components/icons/svg-icons/EnablePiPIcon.d.ts +4 -0
  17. package/dist/components/icons/svg-icons/EnablePiPIcon.d.ts.map +1 -0
  18. package/dist/components/icons/svg-icons/ForwardIcon.d.ts +5 -0
  19. package/dist/components/icons/svg-icons/ForwardIcon.d.ts.map +1 -0
  20. package/dist/components/icons/svg-icons/FullscreenEnterIcon.d.ts +5 -0
  21. package/dist/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +1 -0
  22. package/dist/components/icons/svg-icons/FullscreenExitIcon.d.ts +5 -0
  23. package/dist/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +1 -0
  24. package/dist/components/icons/svg-icons/LoadingIcon.d.ts +5 -0
  25. package/dist/components/icons/svg-icons/LoadingIcon.d.ts.map +1 -0
  26. package/dist/components/icons/svg-icons/PauseIcon.d.ts +5 -0
  27. package/dist/components/icons/svg-icons/PauseIcon.d.ts.map +1 -0
  28. package/dist/components/icons/svg-icons/PlayIcon.d.ts +5 -0
  29. package/dist/components/icons/svg-icons/PlayIcon.d.ts.map +1 -0
  30. package/dist/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +5 -0
  31. package/dist/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +1 -0
  32. package/dist/components/icons/svg-icons/QualityIcon.d.ts +5 -0
  33. package/dist/components/icons/svg-icons/QualityIcon.d.ts.map +1 -0
  34. package/dist/components/icons/svg-icons/SettingsIcon.d.ts +5 -0
  35. package/dist/components/icons/svg-icons/SettingsIcon.d.ts.map +1 -0
  36. package/dist/components/icons/svg-icons/SliderIcon.d.ts +5 -0
  37. package/dist/components/icons/svg-icons/SliderIcon.d.ts.map +1 -0
  38. package/dist/components/icons/svg-icons/SubtitleIcon.d.ts +5 -0
  39. package/dist/components/icons/svg-icons/SubtitleIcon.d.ts.map +1 -0
  40. package/dist/components/icons/svg-icons/SubtitleOffIcon.d.ts +5 -0
  41. package/dist/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +1 -0
  42. package/dist/components/icons/svg-icons/UnPiPIcon.d.ts +4 -0
  43. package/dist/components/icons/svg-icons/UnPiPIcon.d.ts.map +1 -0
  44. package/dist/components/icons/svg-icons/VolumeMutedIcon.d.ts +5 -0
  45. package/dist/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +1 -0
  46. package/dist/components/icons/svg-icons/VolumeOneIcon.d.ts +5 -0
  47. package/dist/components/icons/svg-icons/VolumeOneIcon.d.ts.map +1 -0
  48. package/dist/components/icons/svg-icons/VolumeThreeIcon.d.ts +5 -0
  49. package/dist/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +1 -0
  50. package/dist/components/icons/svg-icons/VolumeTwoIcon.d.ts +5 -0
  51. package/dist/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +1 -0
  52. package/dist/components/variants/gradient/gradient-audio.d.ts +13 -0
  53. package/dist/components/variants/gradient/gradient-audio.d.ts.map +1 -0
  54. package/dist/components/variants/gradient/gradient-controls.d.ts +4 -0
  55. package/dist/components/variants/gradient/gradient-controls.d.ts.map +1 -0
  56. package/dist/components/variants/gradient/gradient-glyphs.d.ts +30 -0
  57. package/dist/components/variants/gradient/gradient-glyphs.d.ts.map +1 -0
  58. package/dist/components/variants/gradient/gradient-video.d.ts +16 -0
  59. package/dist/components/variants/gradient/gradient-video.d.ts.map +1 -0
  60. package/dist/index.css +1 -1
  61. package/dist/index.d.ts +5 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +2 -112
  64. package/dist/index.js.map +1 -1
  65. package/dist/index.mjs +786 -6271
  66. package/dist/index.mjs.map +1 -1
  67. package/dist/package.json +3 -0
  68. package/package.json +110 -108
  69. package/src/components/variants/gradient/gradient-audio.tsx +47 -0
  70. package/src/components/variants/gradient/gradient-controls.tsx +254 -0
  71. package/src/components/variants/gradient/gradient-glyphs.test.tsx +69 -0
  72. package/src/components/variants/gradient/gradient-glyphs.tsx +129 -0
  73. package/src/components/variants/gradient/gradient-skin.css +211 -0
  74. package/src/components/variants/gradient/gradient-video.tsx +70 -0
  75. package/src/index.ts +5 -198
  76. package/src/test/accessibility-utils.ts +0 -59
  77. package/dist/context/media.js +0 -2
  78. package/dist/context/media.js.map +0 -1
  79. package/dist/context/media.mjs +0 -15
  80. package/dist/context/media.mjs.map +0 -1
  81. package/dist/context/store.js +0 -2
  82. package/dist/context/store.js.map +0 -1
  83. package/dist/context/store.mjs +0 -5
  84. package/dist/context/store.mjs.map +0 -1
  85. package/dist/context-BYwDoSRX.js +0 -1172
  86. package/dist/context-BYwDoSRX.js.map +0 -1
  87. package/dist/context-eNS62_ac.cjs +0 -23
  88. package/dist/context-eNS62_ac.cjs.map +0 -1
  89. package/dist/core-events-B1iM2F46.cjs +0 -2
  90. package/dist/core-events-B1iM2F46.cjs.map +0 -1
  91. package/dist/core-events-DunPHKRE.js +0 -484
  92. package/dist/core-events-DunPHKRE.js.map +0 -1
  93. package/dist/core-plugins-By-4-kGs.cjs +0 -2
  94. package/dist/core-plugins-By-4-kGs.cjs.map +0 -1
  95. package/dist/core-plugins-DSBWcTuX.js +0 -821
  96. package/dist/core-plugins-DSBWcTuX.js.map +0 -1
  97. package/dist/core.js +0 -37
  98. package/dist/core.js.map +0 -1
  99. package/dist/core.mjs +0 -1233
  100. package/dist/core.mjs.map +0 -1
  101. package/dist/enhanced-components-B_l3cist.js +0 -1142
  102. package/dist/enhanced-components-B_l3cist.js.map +0 -1
  103. package/dist/enhanced-components-BspFs9OO.cjs +0 -2
  104. package/dist/enhanced-components-BspFs9OO.cjs.map +0 -1
  105. package/dist/hooks-BXwI8QG6.cjs +0 -4
  106. package/dist/hooks-BXwI8QG6.cjs.map +0 -1
  107. package/dist/hooks-Bpi-jDiO.js +0 -1816
  108. package/dist/hooks-Bpi-jDiO.js.map +0 -1
  109. package/dist/minimal-components-C4z900Ro.js +0 -1926
  110. package/dist/minimal-components-C4z900Ro.js.map +0 -1
  111. package/dist/minimal-components-v4qBp6jv.cjs +0 -2
  112. package/dist/minimal-components-v4qBp6jv.cjs.map +0 -1
  113. package/dist/minimal-components.css +0 -1
  114. package/dist/mona-loading.gif +0 -0
  115. package/dist/performance-monitor-C5k6FDXw.js +0 -301
  116. package/dist/performance-monitor-C5k6FDXw.js.map +0 -1
  117. package/dist/performance-monitor-lJmuUjQQ.cjs +0 -2
  118. package/dist/performance-monitor-lJmuUjQQ.cjs.map +0 -1
  119. package/dist/utils-CFOue_9K.cjs +0 -9
  120. package/dist/utils-CFOue_9K.cjs.map +0 -1
  121. package/dist/utils-Dzpl2ArK.js +0 -2844
  122. package/dist/utils-Dzpl2ArK.js.map +0 -1
  123. package/dist/utils.js +0 -2
  124. package/dist/utils.js.map +0 -1
  125. package/dist/utils.mjs +0 -11
  126. package/dist/utils.mjs.map +0 -1
  127. package/src/adapters/videojs-adapter.tsx +0 -470
  128. package/src/assets/mona-loading.gif +0 -0
  129. package/src/components/AnimateLoading.tsx +0 -107
  130. package/src/components/LoadingState.tsx +0 -239
  131. package/src/components/__tests__/media-player-accessibility.test.tsx +0 -510
  132. package/src/components/__tests__/media-player-react19.test.tsx +0 -457
  133. package/src/components/accessibility/keyboard-help-overlay.tsx +0 -207
  134. package/src/components/audio-player.tsx +0 -85
  135. package/src/components/basic/index.ts +0 -37
  136. package/src/components/enhanced/advanced-features.tsx +0 -311
  137. package/src/components/enhanced/debug-panel.tsx +0 -448
  138. package/src/components/enhanced/enhanced-controls.tsx +0 -597
  139. package/src/components/enhanced/enhanced-media-player.tsx +0 -566
  140. package/src/components/enhanced/error-handling.tsx +0 -338
  141. package/src/components/enhanced/index.ts +0 -39
  142. package/src/components/enhanced/media-player-enhanced.tsx +0 -383
  143. package/src/components/examples/basic-video-player.tsx +0 -50
  144. package/src/components/examples/custom-controls-example.tsx +0 -63
  145. package/src/components/examples/enhanced-controls-example.tsx +0 -100
  146. package/src/components/examples/enhanced-media-player-example.tsx +0 -302
  147. package/src/components/examples/loading-states-demo.tsx +0 -142
  148. package/src/components/examples/react-19-demo.tsx +0 -353
  149. package/src/components/examples/volume-orientation-demo.tsx +0 -106
  150. package/src/components/icon-demo.tsx +0 -196
  151. package/src/components/legacy.tsx +0 -87
  152. package/src/components/media-metadata-display.tsx +0 -99
  153. package/src/components/media-player-audio.tsx +0 -39
  154. package/src/components/media-player-controls.tsx +0 -223
  155. package/src/components/media-player-error.tsx +0 -163
  156. package/src/components/media-player-fullscreen.tsx +0 -109
  157. package/src/components/media-player-hls.tsx +0 -111
  158. package/src/components/media-player-loading.tsx +0 -76
  159. package/src/components/media-player-play.tsx +0 -75
  160. package/src/components/media-player-root.tsx +0 -338
  161. package/src/components/media-player-seek.tsx +0 -168
  162. package/src/components/media-player-time.tsx +0 -99
  163. package/src/components/media-player-tooltip.tsx +0 -58
  164. package/src/components/media-player-video.tsx +0 -54
  165. package/src/components/media-player-volume.tsx +0 -155
  166. package/src/components/media-player.tsx +0 -292
  167. package/src/components/media-suspense.tsx +0 -344
  168. package/src/components/player-settings-form.tsx +0 -158
  169. package/src/components/react-player-wrapper.tsx +0 -651
  170. package/src/components/simple-video-player.tsx +0 -62
  171. package/src/components/ui/blur-poster.tsx +0 -93
  172. package/src/components/ui/empty-state.tsx +0 -91
  173. package/src/components/ui/enhanced-seek-bar.tsx +0 -254
  174. package/src/components/ui/error-state.tsx +0 -124
  175. package/src/components/ui/fullscreen-button.tsx +0 -81
  176. package/src/components/ui/loading-skeleton.tsx +0 -107
  177. package/src/components/ui/media-resource-preloader.tsx +0 -458
  178. package/src/components/ui/offline-message.tsx +0 -98
  179. package/src/components/ui/play-button.tsx +0 -99
  180. package/src/components/ui/seek-bar.tsx +0 -191
  181. package/src/components/ui/time-display.tsx +0 -61
  182. package/src/components/ui/volume-control.tsx +0 -190
  183. package/src/components/unified/base-media-player.tsx +0 -252
  184. package/src/components/unified/media-player.tsx +0 -75
  185. package/src/components/variants/minimal/AccessibleMinimalPlayer.tsx +0 -587
  186. package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.tsx +0 -573
  187. package/src/components/variants/minimal/MinimalControls.tsx +0 -124
  188. package/src/components/variants/minimal/MinimalLoading.tsx +0 -28
  189. package/src/components/variants/minimal/MinimalMediaPlayer.tsx +0 -318
  190. package/src/components/variants/minimal/MinimalOverlay.tsx +0 -58
  191. package/src/components/variants/minimal/MinimalPlayButton.tsx +0 -56
  192. package/src/components/variants/minimal/MinimalSeekBar.tsx +0 -140
  193. package/src/components/variants/minimal/MinimalVolumeControl.tsx +0 -75
  194. package/src/components/variants/minimal/SimpleMinimalPlayer.tsx +0 -206
  195. package/src/components/variants/minimal/components/CenterPlayButton.tsx +0 -22
  196. package/src/components/variants/minimal/components/ControlBar.tsx +0 -142
  197. package/src/components/variants/minimal/components/EnhancedSettingsMenu.tsx +0 -412
  198. package/src/components/variants/minimal/components/PlaybackControls.tsx +0 -46
  199. package/src/components/variants/minimal/components/RightControls.tsx +0 -164
  200. package/src/components/variants/minimal/components/SeekBar.tsx +0 -127
  201. package/src/components/variants/minimal/components/SettingsDropdown.tsx +0 -68
  202. package/src/components/variants/minimal/components/SubtitleDisplay.tsx +0 -21
  203. package/src/components/variants/minimal/components/TimeDisplay.tsx +0 -15
  204. package/src/components/variants/minimal/components/VideoElement.tsx +0 -33
  205. package/src/components/variants/minimal/components/VolumeControl.tsx +0 -220
  206. package/src/components/variants/minimal/index.ts +0 -23
  207. package/src/components/video-player.tsx +0 -100
  208. package/src/context/__tests__/media-store.test.ts +0 -509
  209. package/src/context/error-handling.ts +0 -398
  210. package/src/context/media-context.tsx +0 -254
  211. package/src/context/media-provider.tsx +0 -264
  212. package/src/context/media-store.ts +0 -387
  213. package/src/context/persistence.ts +0 -462
  214. package/src/core/events/event-system.ts +0 -448
  215. package/src/core/events/hooks.ts +0 -325
  216. package/src/core/events/index.ts +0 -22
  217. package/src/core/events/middleware.ts +0 -286
  218. package/src/core/index.ts +0 -22
  219. package/src/core/optimization/bundle-optimizer.tsx +0 -312
  220. package/src/core/performance/cicd.ts +0 -98
  221. package/src/core/performance/index.ts +0 -38
  222. package/src/core/performance/media-loading-optimizer.ts +0 -544
  223. package/src/core/performance/performance-budgets.ts +0 -437
  224. package/src/core/performance/performance-monitor.tsx +0 -488
  225. package/src/core/performance/performance-testing.ts +0 -461
  226. package/src/core/plugins/__tests__/registry.test.ts +0 -595
  227. package/src/core/plugins/base-plugin.ts +0 -225
  228. package/src/core/plugins/enhanced-plugin-system.ts +0 -435
  229. package/src/core/plugins/examples/analytics-plugin.ts +0 -241
  230. package/src/core/plugins/index.ts +0 -39
  231. package/src/core/plugins/registry.ts +0 -546
  232. package/src/core/plugins/types.ts +0 -169
  233. package/src/core/plugins/utils.ts +0 -317
  234. package/src/core/progressive-loading.tsx +0 -331
  235. package/src/core/providers/enhanced-hls-provider.ts +0 -307
  236. package/src/core/providers/lazy-provider.tsx +0 -14
  237. package/src/core/providers/service-provider.tsx +0 -164
  238. package/src/core/utils.tsx +0 -34
  239. package/src/features/media-session/media-session-manager.ts +0 -411
  240. package/src/features/picture-in-picture/pip-manager.ts +0 -428
  241. package/src/features/playlist/playlist-manager.ts +0 -626
  242. package/src/features/subtitles/subtitle-manager.ts +0 -435
  243. package/src/features/subtitles/subtitle-parser.ts +0 -284
  244. package/src/features/thumbnails/thumbnail-generator.ts +0 -528
  245. package/src/hooks/__tests__/currentTime-fix.test.ts +0 -149
  246. package/src/hooks/__tests__/use-media-player.test.ts +0 -712
  247. package/src/hooks/__tests__/use-media-state.test.tsx +0 -316
  248. package/src/hooks/accessibility/index.ts +0 -27
  249. package/src/hooks/accessibility/use-accessibility-preferences.ts +0 -190
  250. package/src/hooks/accessibility/use-focus-management.ts +0 -183
  251. package/src/hooks/accessibility/use-keyboard-shortcuts.ts +0 -152
  252. package/src/hooks/accessibility/use-screen-reader.ts +0 -212
  253. package/src/hooks/core/index.ts +0 -47
  254. package/src/hooks/legacy.ts +0 -21
  255. package/src/hooks/use-buffer-health.ts +0 -218
  256. package/src/hooks/use-enhanced-media-player.ts +0 -575
  257. package/src/hooks/use-focus-trap.tsx +0 -162
  258. package/src/hooks/use-intelligent-preloading.ts +0 -387
  259. package/src/hooks/use-keyboard-controls.ts +0 -115
  260. package/src/hooks/use-keyboard-shortcuts.ts +0 -255
  261. package/src/hooks/use-media-actions.ts +0 -184
  262. package/src/hooks/use-media-metadata.ts +0 -91
  263. package/src/hooks/use-media-optimistic.ts +0 -264
  264. package/src/hooks/use-media-player.ts +0 -343
  265. package/src/hooks/use-media-state.ts +0 -194
  266. package/src/hooks/use-memory-optimization.ts +0 -360
  267. package/src/hooks/use-network-status.ts +0 -124
  268. package/src/hooks/use-optimistic-controls.ts +0 -95
  269. package/src/hooks/use-optimized-media.ts +0 -283
  270. package/src/hooks/use-smart-preload.ts +0 -229
  271. package/src/hooks/use-touch-gestures.ts +0 -461
  272. package/src/hooks/useEnhancedSubtitles.ts +0 -258
  273. package/src/hooks/useKeyboardShortcuts.ts +0 -106
  274. package/src/hooks/useMediaControls.ts +0 -52
  275. package/src/hooks/useScreenshot.ts +0 -61
  276. package/src/hooks/useSubtitles.ts +0 -91
  277. package/src/hooks/useVideoPlayer.ts +0 -278
  278. package/src/icons/components/FullscreenIcon.tsx +0 -36
  279. package/src/icons/components/SettingsIcon.tsx +0 -37
  280. package/src/icons/components/animated/LoadingIcon.tsx +0 -27
  281. package/src/icons/components/animated/PlayPauseIcon.tsx +0 -42
  282. package/src/icons/components/media/PauseIcon.tsx +0 -38
  283. package/src/icons/components/media/PlayIcon.tsx +0 -37
  284. package/src/icons/components/volume/VolumeIcon.tsx +0 -38
  285. package/src/icons/components/volume/VolumeOffIcon.tsx +0 -38
  286. package/src/icons/index.ts +0 -56
  287. package/src/icons/provider.tsx +0 -58
  288. package/src/icons/types.ts +0 -60
  289. package/src/index-enhanced.ts +0 -35
  290. package/src/index-legacy.ts +0 -324
  291. package/src/index.css +0 -102
  292. package/src/lib/__tests__/async-utils.test.ts +0 -291
  293. package/src/lib/async-utils.ts +0 -194
  294. package/src/lib/deprecation.ts +0 -51
  295. package/src/lib/format-time.ts +0 -37
  296. package/src/lib/index.ts +0 -4
  297. package/src/lib/utils.ts +0 -6
  298. package/src/styles/globals.css +0 -462
  299. package/src/styles/minimal-player.css +0 -621
  300. package/src/styles/pixel-art.css +0 -41
  301. package/src/styles/videojs.css +0 -100
  302. package/src/types/events.ts +0 -47
  303. package/src/types/formats.ts +0 -79
  304. package/src/types/index.ts +0 -203
  305. package/src/types/videojs-plugins.d.ts +0 -14
package/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  - 🎬 **Multiple Formats**: MP4, HLS/m3u8, MOV, and audio support
8
8
  - 🎨 **Beautiful Design**: Tailwind CSS v4 with OKLCH colors and modern CSS
9
- - ♿ **Accessible**: WCAG 2.1 AA compliant with keyboard navigation and screen reader support
9
+ - ♿ **Accessible**: ARIA attributes, keyboard navigation and screen reader support; the seek and volume controls expose `role="slider"` with the accessible names "Seek" and "Volume" and full keyboard support
10
10
  - ⚡ **Performance Optimized**: Bundle splitting, lazy loading, and size monitoring
11
- - 🔧 **Plugin System**: Extensible architecture with custom plugins
11
+ - 🔧 **Plugin System**: Extensible internal plugin registry (not yet part of the public package exports)
12
12
  - 🎯 **React 19 Ready**: Modern concurrent features, suspense boundaries, and optimistic updates
13
13
  - 📱 **Responsive**: Mobile-first design with touch gestures
14
14
  - 🌙 **Dark Mode**: Built-in dark mode support
@@ -25,6 +25,24 @@ bun add @therealtinhtute/baroiplayer
25
25
  yarn add @therealtinhtute/baroiplayer
26
26
  ```
27
27
 
28
+ ## ⚠️ Known limitation
29
+
30
+ **TypeScript consumers cannot type-check this package today.**
31
+
32
+ `package.json` points `types` at `./src/index.ts` in two places — as the top-level `types` field, and inside `exports["."]` ahead of `import`. TypeScript therefore resolves types to raw source, not to `dist`, on a *normal* install; it is not opt-in. That source imports the internal `@rp/ui` package at 15 sites across 10 files, and `@rp/ui` is `private: true` and unpublished.
33
+
34
+ The consequences, measured against a real install (tarball contents in `node_modules`, no workspace symlink, `moduleResolution: "Bundler"`):
35
+
36
+ - **Runtime works.** `dist/` bundles the `@rp/ui` primitives, so `import { SimpleMinimalPlayer } from "@therealtinhtute/baroiplayer"` runs correctly in a JS build.
37
+ - **`tsc` fails** with `TS2307: Cannot find module '@rp/ui/components/button'` (and `/slider`, `/hooks/use-mobile`, …).
38
+ - **`skipLibCheck` does not help**, because `src/index.ts` is a `.ts` file, not a `.d.ts`.
39
+
40
+ The same applies to the `development` export condition and to the deep-import paths (`./components/*`, `./hooks/*`, `./lib/*`, `./types/*`), which all resolve to source by design.
41
+
42
+ Workaround until this is fixed: map the specifier in your own `tsconfig.json`, e.g. `"paths": { "@rp/ui/*": ["./types/rp-ui-shim.d.ts"] }`, or set `"skipDefaultLibCheck"`-style suppression for the package.
43
+
44
+ The real fix is to emit `.d.ts` files and repoint `types` at `dist` — tracked as P0-1 in `docs/plans/active/v2-videojs10-skin-layer.md`.
45
+
28
46
  ## 🚀 Quick Start
29
47
 
30
48
  ### Basic Usage
@@ -37,8 +55,7 @@ function App() {
37
55
  return (
38
56
  <div className="aspect-video max-w-4xl mx-auto">
39
57
  <SimpleMinimalPlayer
40
- src="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
41
- poster="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg"
58
+ src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4"
42
59
  className="w-full h-full"
43
60
  />
44
61
  </div>
@@ -81,24 +98,25 @@ function App() {
81
98
  ### HLS Streaming
82
99
 
83
100
  ```jsx
84
- import { SimpleMinimalPlayer } from '@therealtinhtute/baroiplayer';
101
+ import { MediaPlayerHLS } from '@therealtinhtute/baroiplayer';
85
102
 
86
103
  function App() {
87
104
  return (
88
- <SimpleMinimalPlayer
89
- src="https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8"
90
- config={{
91
- file: {
92
- attributes: {
93
- crossOrigin: "anonymous"
94
- }
105
+ <MediaPlayerHLS
106
+ sources={[
107
+ {
108
+ src: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
109
+ type: 'application/x-mpegURL'
95
110
  }
96
- }}
111
+ ]}
97
112
  />
98
113
  );
99
114
  }
100
115
  ```
101
116
 
117
+ `MediaPlayerHLS` takes a `sources` array and plays HLS through the video.js adapter
118
+ (`hlsConfig`, `enableQualitySelector` and `enableSubtitles` are also supported).
119
+
102
120
  ## 🎨 Styling
103
121
 
104
122
  ### Global Styles
@@ -143,8 +161,6 @@ The easiest way to get started with a beautiful, accessible player:
143
161
  <SimpleMinimalPlayer
144
162
  src="video.mp4"
145
163
  poster="poster.jpg"
146
- autoPlay={false}
147
- muted={false}
148
164
  subtitleTracks={subtitleTracks}
149
165
  crossOrigin="anonymous"
150
166
  />
@@ -152,14 +168,16 @@ The easiest way to get started with a beautiful, accessible player:
152
168
 
153
169
  ### MediaPlayer
154
170
 
155
- The main player component with full customization:
171
+ Renders a native `<video>`/`<audio>` element inside an overlay container. It does not
172
+ ship custom play/volume/seek/settings UI: native browser controls are used by default
173
+ (`showControls`, with `customControls={false}`), and the overlay is reserved for loading,
174
+ buffering and error states plus any `children` you pass. It supplies its own media store
175
+ when there is no `MediaProvider` above it, so it renders standalone.
156
176
 
157
177
  ```jsx
158
- import { MediaPlayer, MediaPlayerControls } from '@therealtinhtute/baroiplayer';
178
+ import { MediaPlayer } from '@therealtinhtute/baroiplayer';
159
179
 
160
- <MediaPlayer src="video.mp4">
161
- <MediaPlayerControls />
162
- </MediaPlayer>
180
+ <MediaPlayer src="video.mp4" showControls />
163
181
  ```
164
182
 
165
183
  ### AudioPlayer
@@ -178,13 +196,13 @@ import { AudioPlayer } from '@therealtinhtute/baroiplayer';
178
196
 
179
197
  | Prop | Type | Default | Description |
180
198
  |------|------|---------|-------------|
181
- | `src` | `string` | Required | Media source URL |
199
+ | `src` | `string \| string[]` | Required | Media source URL(s) |
182
200
  | `poster` | `string` | - | Poster image for video |
183
201
  | `autoPlay` | `boolean` | `false` | Auto-play media |
184
202
  | `muted` | `boolean` | `false` | Start muted |
185
203
  | `loop` | `boolean` | `false` | Loop media |
186
- | `controls` | `boolean` | `true` | Show controls |
187
- | `subtitleTracks` | `array` | `[]` | Subtitle track objects |
204
+ | `showControls` | `boolean` | `true` | Show controls (`MediaPlayer`, `VideoPlayer`, `AudioPlayer`) |
205
+ | `subtitleTracks` | `array` | `[]` | Subtitle track objects (`SimpleMinimalPlayer`) |
188
206
  | `crossOrigin` | `string` | - | CORS setting |
189
207
 
190
208
  ### Subtitle Tracks
@@ -193,8 +211,9 @@ import { AudioPlayer } from '@therealtinhtute/baroiplayer';
193
211
  interface SubtitleTrack {
194
212
  id: string;
195
213
  label: string;
196
- language: string;
197
- src: string;
214
+ language?: string;
215
+ src?: string;
216
+ kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
198
217
  default?: boolean;
199
218
  }
200
219
  ```
@@ -203,61 +222,58 @@ interface SubtitleTrack {
203
222
 
204
223
  ### Custom Controls
205
224
 
225
+ `useMediaPlayer` returns `{ state, controls, mediaRef, containerRef }`; attach `mediaRef`
226
+ to your own media element and drive it through `controls`:
227
+
206
228
  ```jsx
207
- import { MediaPlayer, useMediaPlayer } from '@therealtinhtute/baroiplayer';
229
+ import { useMediaPlayer } from '@therealtinhtute/baroiplayer';
208
230
 
209
- function CustomControls() {
210
- const { playing, togglePlay, seek, volume } = useMediaPlayer();
231
+ function CustomPlayer() {
232
+ const { state, controls, mediaRef } = useMediaPlayer({ src: 'video.mp4' });
211
233
 
212
234
  return (
213
- <div className="flex items-center gap-4">
214
- <button onClick={togglePlay}>
215
- {playing ? 'Pause' : 'Play'}
216
- </button>
217
- <input
218
- type="range"
219
- min={0}
220
- max={100}
221
- value={volume * 100}
222
- onChange={(e) => setVolume(e.target.value / 100)}
223
- />
235
+ <div className="relative">
236
+ <video ref={mediaRef} className="w-full" />
237
+ <div className="flex items-center gap-4">
238
+ <button onClick={controls.toggle}>
239
+ {state.isPlaying ? 'Pause' : 'Play'}
240
+ </button>
241
+ <input
242
+ type="range"
243
+ min={0}
244
+ max={state.duration || 0}
245
+ value={state.currentTime}
246
+ onChange={(e) => controls.seek(parseFloat(e.target.value))}
247
+ />
248
+ <input
249
+ type="range"
250
+ min={0}
251
+ max={1}
252
+ step={0.1}
253
+ value={state.volume}
254
+ onChange={(e) => controls.setVolume(parseFloat(e.target.value))}
255
+ />
256
+ </div>
224
257
  </div>
225
258
  );
226
259
  }
227
-
228
- function App() {
229
- return (
230
- <MediaPlayer src="video.mp4">
231
- <CustomControls />
232
- </MediaPlayer>
233
- );
234
- }
235
260
  ```
236
261
 
237
262
  ### Plugins
238
263
 
239
- ```jsx
240
- import { MediaPlayer, AnalyticsPlugin } from '@therealtinhtute/baroiplayer';
241
-
242
- const analytics = new AnalyticsPlugin({
243
- trackingId: 'your-tracking-id'
244
- });
245
-
246
- <MediaPlayer src="video.mp4" plugins={[analytics]} />
247
- ```
264
+ The plugin system (`base-plugin`, registry) is currently internal: plugins are not
265
+ re-exported from the package root, so the player components have no public `plugins`
266
+ prop yet.
248
267
 
249
268
  ### Custom Themes
250
269
 
251
- ```jsx
252
- import { SimpleMinimalPlayer } from '@therealtinhtute/baroiplayer';
270
+ Theming is done with CSS custom properties (there is no `theme` object prop):
253
271
 
254
- <SimpleMinimalPlayer
255
- src="video.mp4"
256
- theme={{
257
- primary: 'oklch(70% 0.15 30)', // Orange
258
- bg: 'oklch(15% 0.01 30)', // Dark orange background
259
- }}
260
- />
272
+ ```css
273
+ .player-container {
274
+ --media-primary: oklch(70% 0.15 30); /* Orange */
275
+ --media-bg: oklch(15% 0.01 30); /* Dark orange background */
276
+ }
261
277
  ```
262
278
 
263
279
  ## 🎹 Keyboard Shortcuts
@@ -291,7 +307,7 @@ The player is fully responsive and adapts to different screen sizes:
291
307
 
292
308
  ```bash
293
309
  # Clone the repository
294
- git clone https://github.com/yourusername/baroiplayer.git
310
+ git clone https://github.com/ryanphanrp/baroiplayer.git
295
311
  cd baroiplayer
296
312
 
297
313
  # Install dependencies
@@ -337,10 +353,12 @@ npm publish
337
353
 
338
354
  ### Core Components
339
355
 
340
- - **MediaPlayer**: Main player component
341
- - **MediaPlayerControls**: Control panel component
356
+ - **MediaPlayer**: Native `<video>`/`<audio>` player with overlay states
357
+ - **MediaPlayerRoot**: Headless root that supplies the media store
358
+ - **MediaPlayerHLS**: HLS player built on the video.js adapter
342
359
  - **AudioPlayer**: Audio-specific player
343
- - **SimpleMinimalPlayer**: Easy-to-use minimal player
360
+ - **SimpleMinimalPlayer**: Easy-to-use minimal player with built-in controls
361
+ - **MinimalMediaPlayer**: Configurable minimal player
344
362
 
345
363
  ### Features
346
364
 
@@ -351,7 +369,7 @@ npm publish
351
369
 
352
370
  ## 🤝 Contributing
353
371
 
354
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
372
+ We welcome contributions! Please see our [Contributing Guide](../../CONTRIBUTING.md) for details.
355
373
 
356
374
  ### Development Workflow
357
375
 
@@ -375,9 +393,9 @@ MIT License - see [LICENSE](LICENSE) file for details.
375
393
 
376
394
  ## 📞 Support
377
395
 
378
- - 📚 [Documentation](https://github.com/yourusername/baroiplayer/wiki)
379
- - 🐛 [Issue Tracker](https://github.com/yourusername/baroiplayer/issues)
380
- - 💬 [Discussions](https://github.com/yourusername/baroiplayer/discussions)
396
+ - 📚 [Documentation](https://github.com/ryanphanrp/baroiplayer#readme)
397
+ - 🐛 [Issue Tracker](https://github.com/ryanphanrp/baroiplayer/issues)
398
+ - 💬 [Discussions](https://github.com/ryanphanrp/baroiplayer/discussions)
381
399
 
382
400
  ---
383
401
 
@@ -0,0 +1,36 @@
1
+ import { default as React } from 'react';
2
+ export interface IconProps {
3
+ size?: number;
4
+ className?: string;
5
+ color?: string;
6
+ }
7
+ export declare const MinimalPlayIcon: React.FC<IconProps>;
8
+ export declare const MinimalPauseIcon: React.FC<IconProps>;
9
+ export declare const MinimalVolumeIcon: React.FC<IconProps>;
10
+ export declare const MinimalVolumeMutedIcon: React.FC<IconProps>;
11
+ export declare const MinimalFullscreenIcon: React.FC<IconProps>;
12
+ export declare const MinimalExitFullscreenIcon: React.FC<IconProps>;
13
+ export declare const MinimalSettingsIcon: React.FC<IconProps>;
14
+ export declare const MinimalSpinner: React.FC<IconProps>;
15
+ export declare const MinimalForwardIcon: React.FC<IconProps>;
16
+ export declare const MinimalBackwardIcon: React.FC<IconProps>;
17
+ export declare const MinimalForward10Icon: React.FC<IconProps>;
18
+ export declare const MinimalBackward10Icon: React.FC<IconProps>;
19
+ export declare const MinimalSubtitleIcon: React.FC<IconProps>;
20
+ export declare const MinimalScreenshotIcon: React.FC<IconProps>;
21
+ export declare const MinimalSpeedIcon: React.FC<IconProps>;
22
+ export interface IconSet {
23
+ play?: React.FC<IconProps>;
24
+ pause?: React.FC<IconProps>;
25
+ volume?: React.FC<IconProps>;
26
+ volumeMuted?: React.FC<IconProps>;
27
+ fullscreen?: React.FC<IconProps>;
28
+ exitFullscreen?: React.FC<IconProps>;
29
+ settings?: React.FC<IconProps>;
30
+ forward?: React.FC<IconProps>;
31
+ backward?: React.FC<IconProps>;
32
+ spinner?: React.FC<IconProps>;
33
+ subtitle?: React.FC<IconProps>;
34
+ }
35
+ export declare const defaultMinimalIcons: IconSet;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/icons/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,MAAM,WAAW,SAAS;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIqC,CAAA;AAGrF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIqC,CAAA;AAGtF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIwC,CAAA;AAG1F,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIqC,CAAA;AAG5F,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAI0C,CAAA;AAGhG,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIqC,CAAA;AAG/F,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIqC,CAAA;AAGzF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAW9C,CAAA;AAGD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIsC,CAAA;AAGzF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIoC,CAAA;AAGxF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAImC,CAAA;AAGxF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAImC,CAAA;AAGzF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIwC,CAAA;AAG5F,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIiC,CAAA;AAGvF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAI6C,CAAA;AAG9F,MAAM,WAAW,OAAO;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;CAC9B;AAGD,eAAO,MAAM,mBAAmB,EAAE,OAYjC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as React, SVGProps } from 'react';
2
+ declare const ArrowLeftIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default ArrowLeftIcon;
4
+ //# sourceMappingURL=ArrowLeftIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowLeftIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/ArrowLeftIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,QAAA,MAAM,aAAa,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAYpD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const ArrowRightIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default ArrowRightIcon;
5
+ //# sourceMappingURL=ArrowRightIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowRightIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/ArrowRightIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,cAAc,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAYrD,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const Memo: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default Memo;
5
+ //# sourceMappingURL=AudioIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/AudioIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAmBtC,QAAA,MAAM,IAAI,UAjBgB,QAAQ,CAAC,aAAa,CAAC,sBAiB3B,CAAA;AACtB,eAAe,IAAI,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const BackwardIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default BackwardIcon;
5
+ //# sourceMappingURL=BackwardIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackwardIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/BackwardIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,YAAY,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAMnD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const Memo: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default Memo;
5
+ //# sourceMappingURL=CameraIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/CameraIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAgBtC,QAAA,MAAM,IAAI,UAdiB,QAAQ,CAAC,aAAa,CAAC,sBAc3B,CAAA;AACvB,eAAe,IAAI,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const Memo: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default Memo;
5
+ //# sourceMappingURL=CheckIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/CheckIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAgBtC,QAAA,MAAM,IAAI,UAdgB,QAAQ,CAAC,aAAa,CAAC,sBAc3B,CAAA;AACtB,eAAe,IAAI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as React, SVGProps } from 'react';
2
+ declare function EnablePiPIcon(props: SVGProps<SVGSVGElement>): React.JSX.Element;
3
+ export default EnablePiPIcon;
4
+ //# sourceMappingURL=EnablePiPIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnablePiPIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/EnablePiPIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,iBAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,qBAYpD;AACD,eAAe,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const ForwardIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default ForwardIcon;
5
+ //# sourceMappingURL=ForwardIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForwardIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/ForwardIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,WAAW,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAMlD,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const FullscreenEnterIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default FullscreenEnterIcon;
5
+ //# sourceMappingURL=FullscreenEnterIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullscreenEnterIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/FullscreenEnterIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,mBAAmB,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAiB1D,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const FullscreenExitIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default FullscreenExitIcon;
5
+ //# sourceMappingURL=FullscreenExitIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullscreenExitIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/FullscreenExitIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,kBAAkB,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAiBzD,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const LoadingIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default LoadingIcon;
5
+ //# sourceMappingURL=LoadingIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/LoadingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,WAAW,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBA0BlD,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const PauseIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default PauseIcon;
5
+ //# sourceMappingURL=PauseIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PauseIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/PauseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,SAAS,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAiBhD,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const PlayIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default PlayIcon;
5
+ //# sourceMappingURL=PlayIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/PlayIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,QAAQ,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAe/C,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const PlaybackSpeedIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default PlaybackSpeedIcon;
5
+ //# sourceMappingURL=PlaybackSpeedIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaybackSpeedIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/PlaybackSpeedIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,iBAAiB,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAiBxD,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const QualityIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default QualityIcon;
5
+ //# sourceMappingURL=QualityIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QualityIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/QualityIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,WAAW,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAelD,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const SettingsIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default SettingsIcon;
5
+ //# sourceMappingURL=SettingsIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/SettingsIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,QAAA,MAAM,YAAY,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAMnD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const SliderIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default SliderIcon;
5
+ //# sourceMappingURL=SliderIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/SliderIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,UAAU,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAejD,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const SubtitleIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default SubtitleIcon;
5
+ //# sourceMappingURL=SubtitleIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtitleIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/SubtitleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,YAAY,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAenD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const SubtitleOffIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default SubtitleOffIcon;
5
+ //# sourceMappingURL=SubtitleOffIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtitleOffIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/SubtitleOffIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,eAAe,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAmBtD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as React, SVGProps } from 'react';
2
+ export declare function UnPiPIcon(props: SVGProps<SVGSVGElement>): React.JSX.Element;
3
+ export default UnPiPIcon;
4
+ //# sourceMappingURL=UnPiPIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnPiPIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/UnPiPIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,qBAYvD;AACD,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const VolumeMutedIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default VolumeMutedIcon;
5
+ //# sourceMappingURL=VolumeMutedIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeMutedIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/VolumeMutedIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,eAAe,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAUtD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const VolumeOneIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default VolumeOneIcon;
5
+ //# sourceMappingURL=VolumeOneIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeOneIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/VolumeOneIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,aAAa,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAgBpD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const VolumeThreeIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default VolumeThreeIcon;
5
+ //# sourceMappingURL=VolumeThreeIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeThreeIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/VolumeThreeIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,eAAe,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAUtD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SVGProps } from 'react';
2
+ import * as React from "react";
3
+ declare const VolumeTwoIcon: (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
4
+ export default VolumeTwoIcon;
5
+ //# sourceMappingURL=VolumeTwoIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeTwoIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/svg-icons/VolumeTwoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAQ,MAAM,OAAO,CAAA;AAEtC,QAAA,MAAM,aAAa,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,sBAUpD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,13 @@
1
+ export interface GradientAudioProps {
2
+ src: string;
3
+ className?: string;
4
+ autoPlay?: boolean;
5
+ loop?: boolean;
6
+ title?: string;
7
+ }
8
+ /**
9
+ * Gradient audio skin on Video.js v10 — `AudioPlayer` + `Audio` from the preset, with the
10
+ * same ejected skin layer and glyph bindings as `GradientVideo`.
11
+ */
12
+ export declare function GradientAudio({ src, className, autoPlay, loop, title }: GradientAudioProps): import('react').JSX.Element;
13
+ //# sourceMappingURL=gradient-audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradient-audio.d.ts","sourceRoot":"","sources":["../../../../src/components/variants/gradient/gradient-audio.tsx"],"names":[],"mappings":"AAEA,OAAO,+BAA+B,CAAA;AACtC,OAAO,qBAAqB,CAAA;AAM5B,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,kBAAkB,+BAyB1F"}
@@ -0,0 +1,4 @@
1
+ export declare function GradientControls({ audio }: {
2
+ audio?: boolean;
3
+ }): import('react').JSX.Element;
4
+ //# sourceMappingURL=gradient-controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradient-controls.d.ts","sourceRoot":"","sources":["../../../../src/components/variants/gradient/gradient-controls.tsx"],"names":[],"mappings":"AA6IA,wBAAgB,gBAAgB,CAAC,EAAE,KAAa,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,+BAgHtE"}