@therealtinhtute/baroiplayer 1.2.1 → 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.
- package/README.md +90 -71
- package/dist/components/icons/index.d.ts +36 -0
- package/dist/components/icons/index.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/ArrowLeftIcon.d.ts +4 -0
- package/dist/components/icons/svg-icons/ArrowLeftIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/ArrowRightIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/ArrowRightIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/AudioIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/AudioIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/BackwardIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/BackwardIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/CameraIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/CameraIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/CheckIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/CheckIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/EnablePiPIcon.d.ts +4 -0
- package/dist/components/icons/svg-icons/EnablePiPIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/ForwardIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/ForwardIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/FullscreenEnterIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/FullscreenEnterIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/FullscreenExitIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/FullscreenExitIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/LoadingIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/LoadingIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/PauseIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/PauseIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/PlayIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/PlayIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/PlaybackSpeedIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/PlaybackSpeedIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/QualityIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/QualityIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/SettingsIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/SettingsIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/SliderIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/SliderIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/SubtitleIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/SubtitleIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/SubtitleOffIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/SubtitleOffIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/UnPiPIcon.d.ts +4 -0
- package/dist/components/icons/svg-icons/UnPiPIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/VolumeMutedIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/VolumeMutedIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/VolumeOneIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/VolumeOneIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/VolumeThreeIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/VolumeThreeIcon.d.ts.map +1 -0
- package/dist/components/icons/svg-icons/VolumeTwoIcon.d.ts +5 -0
- package/dist/components/icons/svg-icons/VolumeTwoIcon.d.ts.map +1 -0
- package/dist/components/variants/gradient/gradient-audio.d.ts +13 -0
- package/dist/components/variants/gradient/gradient-audio.d.ts.map +1 -0
- package/dist/components/variants/gradient/gradient-controls.d.ts +4 -0
- package/dist/components/variants/gradient/gradient-controls.d.ts.map +1 -0
- package/dist/components/variants/gradient/gradient-glyphs.d.ts +30 -0
- package/dist/components/variants/gradient/gradient-glyphs.d.ts.map +1 -0
- package/dist/components/variants/gradient/gradient-video.d.ts +16 -0
- package/dist/components/variants/gradient/gradient-video.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +750 -5640
- package/dist/index.mjs.map +1 -1
- package/dist/package.json +3 -0
- package/package.json +110 -114
- package/src/components/variants/gradient/gradient-audio.tsx +47 -0
- package/src/components/variants/gradient/gradient-controls.tsx +254 -0
- package/src/components/variants/gradient/gradient-glyphs.test.tsx +69 -0
- package/src/components/variants/gradient/gradient-glyphs.tsx +129 -0
- package/src/components/variants/gradient/gradient-skin.css +211 -0
- package/src/components/variants/gradient/gradient-video.tsx +70 -0
- package/src/index.ts +5 -198
- package/src/test/accessibility-utils.ts +0 -59
- package/dist/context/media.js +0 -1
- package/dist/context/media.mjs +0 -3
- package/dist/context/store.js +0 -1
- package/dist/context/store.mjs +0 -3
- package/dist/context-Bzd5QCKM.cjs +0 -7
- package/dist/context-Bzd5QCKM.cjs.map +0 -1
- package/dist/context-DD_SH4tT.js +0 -1053
- package/dist/context-DD_SH4tT.js.map +0 -1
- package/dist/core-events-BRnLMB7s.cjs +0 -2
- package/dist/core-events-BRnLMB7s.cjs.map +0 -1
- package/dist/core-events-v_mKdj5p.js +0 -417
- package/dist/core-events-v_mKdj5p.js.map +0 -1
- package/dist/core-plugins-CMBv-yVh.cjs +0 -2
- package/dist/core-plugins-CMBv-yVh.cjs.map +0 -1
- package/dist/core-plugins-CqCxLkbd.js +0 -754
- package/dist/core-plugins-CqCxLkbd.js.map +0 -1
- package/dist/core.js +0 -15
- package/dist/core.js.map +0 -1
- package/dist/core.mjs +0 -960
- package/dist/core.mjs.map +0 -1
- package/dist/enhanced-components-BwjBqSA1.js +0 -2858
- package/dist/enhanced-components-BwjBqSA1.js.map +0 -1
- package/dist/enhanced-components-C-ka-XLp.cjs +0 -2
- package/dist/enhanced-components-C-ka-XLp.cjs.map +0 -1
- package/dist/hooks-B-IIWPJr.js +0 -1842
- package/dist/hooks-B-IIWPJr.js.map +0 -1
- package/dist/hooks-DcHzmBwA.cjs +0 -4
- package/dist/hooks-DcHzmBwA.cjs.map +0 -1
- package/dist/minimal-components-BYsMQde5.js +0 -1610
- package/dist/minimal-components-BYsMQde5.js.map +0 -1
- package/dist/minimal-components-CsxQbDp7.cjs +0 -2
- package/dist/minimal-components-CsxQbDp7.cjs.map +0 -1
- package/dist/minimal-components.css +0 -1
- package/dist/mona-loading.gif +0 -0
- package/dist/performance-monitor-DCSijLJg.js +0 -312
- package/dist/performance-monitor-DCSijLJg.js.map +0 -1
- package/dist/performance-monitor-wNFKmqMr.cjs +0 -2
- package/dist/performance-monitor-wNFKmqMr.cjs.map +0 -1
- package/dist/rolldown-runtime-BmowowmI.js +0 -14
- package/dist/rolldown-runtime-mLOUI7ql.cjs +0 -1
- package/dist/utils-D2gQ7c2R.js +0 -64
- package/dist/utils-D2gQ7c2R.js.map +0 -1
- package/dist/utils-DJaAwiZ9.cjs +0 -2
- package/dist/utils-DJaAwiZ9.cjs.map +0 -1
- package/dist/utils.js +0 -1
- package/dist/utils.mjs +0 -3
- package/src/adapters/videojs-adapter.tsx +0 -470
- package/src/assets/mona-loading.gif +0 -0
- package/src/components/AnimateLoading.tsx +0 -111
- package/src/components/LoadingState.tsx +0 -239
- package/src/components/__tests__/media-player-accessibility.test.tsx +0 -510
- package/src/components/__tests__/media-player-react19.test.tsx +0 -457
- package/src/components/accessibility/keyboard-help-overlay.tsx +0 -207
- package/src/components/audio-player.tsx +0 -85
- package/src/components/basic/index.ts +0 -37
- package/src/components/enhanced/advanced-features.tsx +0 -311
- package/src/components/enhanced/debug-panel.tsx +0 -448
- package/src/components/enhanced/enhanced-controls.tsx +0 -597
- package/src/components/enhanced/enhanced-media-player.tsx +0 -566
- package/src/components/enhanced/error-handling.tsx +0 -338
- package/src/components/enhanced/index.ts +0 -39
- package/src/components/enhanced/media-player-enhanced.tsx +0 -383
- package/src/components/examples/basic-video-player.tsx +0 -50
- package/src/components/examples/custom-controls-example.tsx +0 -63
- package/src/components/examples/enhanced-controls-example.tsx +0 -100
- package/src/components/examples/enhanced-media-player-example.tsx +0 -302
- package/src/components/examples/loading-states-demo.tsx +0 -141
- package/src/components/examples/react-19-demo.tsx +0 -349
- package/src/components/examples/volume-orientation-demo.tsx +0 -105
- package/src/components/icon-demo.tsx +0 -196
- package/src/components/legacy.tsx +0 -87
- package/src/components/media-metadata-display.tsx +0 -99
- package/src/components/media-player-audio.tsx +0 -39
- package/src/components/media-player-controls.tsx +0 -223
- package/src/components/media-player-error.tsx +0 -163
- package/src/components/media-player-fullscreen.tsx +0 -109
- package/src/components/media-player-hls.tsx +0 -111
- package/src/components/media-player-loading.tsx +0 -76
- package/src/components/media-player-play.tsx +0 -75
- package/src/components/media-player-root.tsx +0 -338
- package/src/components/media-player-seek.tsx +0 -168
- package/src/components/media-player-time.tsx +0 -99
- package/src/components/media-player-tooltip.tsx +0 -58
- package/src/components/media-player-video.tsx +0 -54
- package/src/components/media-player-volume.tsx +0 -155
- package/src/components/media-player.tsx +0 -292
- package/src/components/media-suspense.tsx +0 -344
- package/src/components/player-settings-form.tsx +0 -158
- package/src/components/react-player-wrapper.tsx +0 -651
- package/src/components/simple-video-player.tsx +0 -62
- package/src/components/ui/blur-poster.tsx +0 -96
- package/src/components/ui/empty-state.tsx +0 -91
- package/src/components/ui/enhanced-seek-bar.tsx +0 -254
- package/src/components/ui/error-state.tsx +0 -124
- package/src/components/ui/fullscreen-button.tsx +0 -81
- package/src/components/ui/loading-skeleton.tsx +0 -107
- package/src/components/ui/media-resource-preloader.tsx +0 -458
- package/src/components/ui/offline-message.tsx +0 -98
- package/src/components/ui/play-button.tsx +0 -99
- package/src/components/ui/seek-bar.tsx +0 -191
- package/src/components/ui/time-display.tsx +0 -61
- package/src/components/ui/volume-control.tsx +0 -190
- package/src/components/unified/base-media-player.tsx +0 -252
- package/src/components/unified/media-player.tsx +0 -75
- package/src/components/variants/minimal/AccessibleMinimalPlayer.tsx +0 -587
- package/src/components/variants/minimal/EnhancedMinimalMediaPlayer.tsx +0 -573
- package/src/components/variants/minimal/MinimalControls.tsx +0 -124
- package/src/components/variants/minimal/MinimalLoading.tsx +0 -28
- package/src/components/variants/minimal/MinimalMediaPlayer.tsx +0 -318
- package/src/components/variants/minimal/MinimalOverlay.tsx +0 -58
- package/src/components/variants/minimal/MinimalPlayButton.tsx +0 -56
- package/src/components/variants/minimal/MinimalSeekBar.tsx +0 -140
- package/src/components/variants/minimal/MinimalVolumeControl.tsx +0 -75
- package/src/components/variants/minimal/SimpleMinimalPlayer.tsx +0 -206
- package/src/components/variants/minimal/components/CenterPlayButton.tsx +0 -22
- package/src/components/variants/minimal/components/ControlBar.tsx +0 -142
- package/src/components/variants/minimal/components/EnhancedSettingsMenu.tsx +0 -412
- package/src/components/variants/minimal/components/PlaybackControls.tsx +0 -46
- package/src/components/variants/minimal/components/RightControls.tsx +0 -164
- package/src/components/variants/minimal/components/SeekBar.tsx +0 -127
- package/src/components/variants/minimal/components/SettingsDropdown.tsx +0 -68
- package/src/components/variants/minimal/components/SubtitleDisplay.tsx +0 -21
- package/src/components/variants/minimal/components/TimeDisplay.tsx +0 -15
- package/src/components/variants/minimal/components/VideoElement.tsx +0 -35
- package/src/components/variants/minimal/components/VolumeControl.tsx +0 -220
- package/src/components/variants/minimal/index.ts +0 -23
- package/src/components/video-player.tsx +0 -100
- package/src/context/__tests__/media-store.test.ts +0 -509
- package/src/context/error-handling.ts +0 -398
- package/src/context/media-context.tsx +0 -254
- package/src/context/media-provider.tsx +0 -264
- package/src/context/media-store.ts +0 -387
- package/src/context/persistence.ts +0 -462
- package/src/core/events/event-system.ts +0 -448
- package/src/core/events/hooks.ts +0 -325
- package/src/core/events/index.ts +0 -22
- package/src/core/events/middleware.ts +0 -286
- package/src/core/index.ts +0 -22
- package/src/core/optimization/bundle-optimizer.tsx +0 -312
- package/src/core/performance/cicd.ts +0 -98
- package/src/core/performance/index.ts +0 -38
- package/src/core/performance/media-loading-optimizer.ts +0 -545
- package/src/core/performance/performance-budgets.ts +0 -437
- package/src/core/performance/performance-monitor.tsx +0 -488
- package/src/core/performance/performance-testing.ts +0 -461
- package/src/core/plugins/__tests__/registry.test.ts +0 -595
- package/src/core/plugins/base-plugin.ts +0 -225
- package/src/core/plugins/enhanced-plugin-system.ts +0 -435
- package/src/core/plugins/examples/analytics-plugin.ts +0 -241
- package/src/core/plugins/index.ts +0 -39
- package/src/core/plugins/registry.ts +0 -546
- package/src/core/plugins/types.ts +0 -169
- package/src/core/plugins/utils.ts +0 -317
- package/src/core/progressive-loading.tsx +0 -331
- package/src/core/providers/enhanced-hls-provider.ts +0 -307
- package/src/core/providers/lazy-provider.tsx +0 -14
- package/src/core/providers/service-provider.tsx +0 -164
- package/src/core/utils.tsx +0 -34
- package/src/features/media-session/media-session-manager.ts +0 -411
- package/src/features/picture-in-picture/pip-manager.ts +0 -428
- package/src/features/playlist/playlist-manager.ts +0 -626
- package/src/features/subtitles/subtitle-manager.ts +0 -435
- package/src/features/subtitles/subtitle-parser.ts +0 -284
- package/src/features/thumbnails/thumbnail-generator.ts +0 -528
- package/src/hooks/__tests__/currentTime-fix.test.ts +0 -149
- package/src/hooks/__tests__/use-media-player.test.ts +0 -712
- package/src/hooks/__tests__/use-media-state.test.tsx +0 -316
- package/src/hooks/accessibility/index.ts +0 -27
- package/src/hooks/accessibility/use-accessibility-preferences.ts +0 -190
- package/src/hooks/accessibility/use-focus-management.ts +0 -183
- package/src/hooks/accessibility/use-keyboard-shortcuts.ts +0 -152
- package/src/hooks/accessibility/use-screen-reader.ts +0 -212
- package/src/hooks/core/index.ts +0 -47
- package/src/hooks/legacy.ts +0 -21
- package/src/hooks/use-buffer-health.ts +0 -218
- package/src/hooks/use-enhanced-media-player.ts +0 -575
- package/src/hooks/use-focus-trap.tsx +0 -162
- package/src/hooks/use-intelligent-preloading.ts +0 -387
- package/src/hooks/use-keyboard-controls.ts +0 -115
- package/src/hooks/use-keyboard-shortcuts.ts +0 -255
- package/src/hooks/use-media-actions.ts +0 -184
- package/src/hooks/use-media-metadata.ts +0 -91
- package/src/hooks/use-media-optimistic.ts +0 -264
- package/src/hooks/use-media-player.ts +0 -343
- package/src/hooks/use-media-state.ts +0 -194
- package/src/hooks/use-memory-optimization.ts +0 -360
- package/src/hooks/use-network-status.ts +0 -124
- package/src/hooks/use-optimistic-controls.ts +0 -95
- package/src/hooks/use-optimized-media.ts +0 -283
- package/src/hooks/use-smart-preload.ts +0 -229
- package/src/hooks/use-touch-gestures.ts +0 -461
- package/src/hooks/useEnhancedSubtitles.ts +0 -258
- package/src/hooks/useKeyboardShortcuts.ts +0 -106
- package/src/hooks/useMediaControls.ts +0 -52
- package/src/hooks/useScreenshot.ts +0 -77
- package/src/hooks/useSubtitles.ts +0 -91
- package/src/hooks/useVideoPlayer.ts +0 -278
- package/src/icons/components/FullscreenIcon.tsx +0 -36
- package/src/icons/components/SettingsIcon.tsx +0 -37
- package/src/icons/components/animated/LoadingIcon.tsx +0 -27
- package/src/icons/components/animated/PlayPauseIcon.tsx +0 -42
- package/src/icons/components/media/PauseIcon.tsx +0 -38
- package/src/icons/components/media/PlayIcon.tsx +0 -37
- package/src/icons/components/volume/VolumeIcon.tsx +0 -38
- package/src/icons/components/volume/VolumeOffIcon.tsx +0 -38
- package/src/icons/index.ts +0 -56
- package/src/icons/provider.tsx +0 -58
- package/src/icons/types.ts +0 -60
- package/src/index-enhanced.ts +0 -35
- package/src/index-legacy.ts +0 -324
- package/src/index.css +0 -102
- package/src/lib/__tests__/async-utils.test.ts +0 -291
- package/src/lib/async-utils.ts +0 -194
- package/src/lib/deprecation.ts +0 -51
- package/src/lib/format-time.ts +0 -37
- package/src/lib/index.ts +0 -4
- package/src/lib/utils.ts +0 -6
- package/src/styles/globals.css +0 -462
- package/src/styles/minimal-player.css +0 -621
- package/src/styles/pixel-art.css +0 -41
- package/src/styles/videojs.css +0 -100
- package/src/types/assets.d.ts +0 -29
- package/src/types/events.ts +0 -47
- package/src/types/formats.ts +0 -79
- package/src/types/index.ts +0 -203
- package/src/types/videojs-plugins.d.ts +0 -14
package/src/styles/videojs.css
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/* Import Video.js base styles */
|
|
2
|
-
@import "video.js/dist/video-js.css";
|
|
3
|
-
|
|
4
|
-
/* Custom overrides for Video.js to work with Tailwind v4 */
|
|
5
|
-
.video-js {
|
|
6
|
-
font-family: inherit;
|
|
7
|
-
font-size: 1em;
|
|
8
|
-
color: #fff;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.video-js .vjs-big-play-button {
|
|
12
|
-
font-size: 3em;
|
|
13
|
-
line-height: 1.5em;
|
|
14
|
-
height: 1.5em;
|
|
15
|
-
width: 3em;
|
|
16
|
-
border: 0.06666em solid #fff;
|
|
17
|
-
border-radius: 0.3em;
|
|
18
|
-
left: 50%;
|
|
19
|
-
top: 50%;
|
|
20
|
-
margin-left: -1.5em;
|
|
21
|
-
margin-top: -0.75em;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.video-js:hover .vjs-big-play-button,
|
|
25
|
-
.video-js .vjs-big-play-button:focus {
|
|
26
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.video-js .vjs-control-bar {
|
|
30
|
-
display: flex;
|
|
31
|
-
background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.video-js .vjs-progress-control {
|
|
35
|
-
position: absolute;
|
|
36
|
-
bottom: 2.5em;
|
|
37
|
-
left: 0;
|
|
38
|
-
right: 0;
|
|
39
|
-
width: 100%;
|
|
40
|
-
height: 0.3em;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.video-js .vjs-progress-holder {
|
|
44
|
-
margin: 0;
|
|
45
|
-
height: 0.3em;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.video-js .vjs-load-progress,
|
|
49
|
-
.video-js .vjs-play-progress {
|
|
50
|
-
height: 0.3em;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.video-js .vjs-menu-button-popup .vjs-menu {
|
|
54
|
-
background-color: rgba(0, 0, 0, 0.9);
|
|
55
|
-
border-radius: 0.3em;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* Quality selector styling */
|
|
59
|
-
.vjs-quality-selector .vjs-menu-button {
|
|
60
|
-
order: 8;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.vjs-quality-selector .vjs-icon-placeholder:before {
|
|
64
|
-
content: "HD";
|
|
65
|
-
font-family: inherit;
|
|
66
|
-
font-weight: bold;
|
|
67
|
-
font-size: 0.8em;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* Hide default controls when using custom controls */
|
|
71
|
-
.video-js.vjs-controls-disabled .vjs-control-bar {
|
|
72
|
-
display: none;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* Subtitle styling */
|
|
76
|
-
.video-js .vjs-text-track-display {
|
|
77
|
-
pointer-events: none;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.video-js .vjs-text-track-cue {
|
|
81
|
-
background-color: rgba(0, 0, 0, 0.8);
|
|
82
|
-
border-radius: 0.2em;
|
|
83
|
-
padding: 0.2em 0.3em;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* Loading spinner */
|
|
87
|
-
.video-js .vjs-loading-spinner {
|
|
88
|
-
border-color: rgba(255, 255, 255, 0.2);
|
|
89
|
-
border-top-color: #fff;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/* Error display */
|
|
93
|
-
.video-js .vjs-error-display {
|
|
94
|
-
background: rgba(0, 0, 0, 0.9);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
.video-js .vjs-error-display .vjs-modal-dialog-content {
|
|
98
|
-
font-size: 1.2em;
|
|
99
|
-
text-align: center;
|
|
100
|
-
}
|
package/src/types/assets.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
declare module "*.gif" {
|
|
2
|
-
const src: string
|
|
3
|
-
export default src
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
declare module "*.png" {
|
|
7
|
-
const src: string
|
|
8
|
-
export default src
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
declare module "*.jpg" {
|
|
12
|
-
const src: string
|
|
13
|
-
export default src
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
declare module "*.jpeg" {
|
|
17
|
-
const src: string
|
|
18
|
-
export default src
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
declare module "*.webp" {
|
|
22
|
-
const src: string
|
|
23
|
-
export default src
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
declare module "*.svg" {
|
|
27
|
-
const src: string
|
|
28
|
-
export default src
|
|
29
|
-
}
|
package/src/types/events.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Media event types for better type safety
|
|
2
|
-
|
|
3
|
-
export interface MediaEventMap {
|
|
4
|
-
play: Event
|
|
5
|
-
pause: Event
|
|
6
|
-
timeupdate: Event
|
|
7
|
-
durationchange: Event
|
|
8
|
-
volumechange: Event
|
|
9
|
-
loadstart: Event
|
|
10
|
-
loadeddata: Event
|
|
11
|
-
loadedmetadata: Event
|
|
12
|
-
canplay: Event
|
|
13
|
-
canplaythrough: Event
|
|
14
|
-
seeking: Event
|
|
15
|
-
seeked: Event
|
|
16
|
-
ended: Event
|
|
17
|
-
error: Event
|
|
18
|
-
progress: Event
|
|
19
|
-
stalled: Event
|
|
20
|
-
suspend: Event
|
|
21
|
-
waiting: Event
|
|
22
|
-
ratechange: Event
|
|
23
|
-
resize: Event
|
|
24
|
-
fullscreenchange: Event
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export type MediaEventType = keyof MediaEventMap
|
|
28
|
-
|
|
29
|
-
export interface MediaErrorEvent extends Event {
|
|
30
|
-
error: MediaError | null
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface MediaTimeUpdateEvent extends Event {
|
|
34
|
-
currentTime: number
|
|
35
|
-
duration: number
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface MediaVolumeChangeEvent extends Event {
|
|
39
|
-
volume: number
|
|
40
|
-
muted: boolean
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface MediaProgressEvent extends Event {
|
|
44
|
-
buffered: TimeRanges
|
|
45
|
-
loaded: number
|
|
46
|
-
total: number
|
|
47
|
-
}
|
package/src/types/formats.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
// Supported media formats and MIME types
|
|
2
|
-
|
|
3
|
-
export const SUPPORTED_VIDEO_FORMATS = ["mp4", "webm", "ogv", "mov", "avi", "m4v", "mkv"] as const
|
|
4
|
-
|
|
5
|
-
export const SUPPORTED_AUDIO_FORMATS = ["mp3", "aac", "ogg", "wav", "flac", "m4a", "weba"] as const
|
|
6
|
-
|
|
7
|
-
export const VIDEO_MIME_TYPES = {
|
|
8
|
-
mp4: "video/mp4",
|
|
9
|
-
webm: "video/webm",
|
|
10
|
-
ogv: "video/ogg",
|
|
11
|
-
mov: "video/quicktime",
|
|
12
|
-
avi: "video/x-msvideo",
|
|
13
|
-
m4v: "video/x-m4v",
|
|
14
|
-
mkv: "video/x-matroska"
|
|
15
|
-
} as const
|
|
16
|
-
|
|
17
|
-
export const AUDIO_MIME_TYPES = {
|
|
18
|
-
mp3: "audio/mpeg",
|
|
19
|
-
aac: "audio/aac",
|
|
20
|
-
ogg: "audio/ogg",
|
|
21
|
-
wav: "audio/wav",
|
|
22
|
-
flac: "audio/flac",
|
|
23
|
-
m4a: "audio/mp4",
|
|
24
|
-
weba: "audio/webm"
|
|
25
|
-
} as const
|
|
26
|
-
|
|
27
|
-
export type VideoFormat = (typeof SUPPORTED_VIDEO_FORMATS)[number]
|
|
28
|
-
export type AudioFormat = (typeof SUPPORTED_AUDIO_FORMATS)[number]
|
|
29
|
-
export type MediaFormat = VideoFormat | AudioFormat
|
|
30
|
-
|
|
31
|
-
export type VideoMimeType = (typeof VIDEO_MIME_TYPES)[keyof typeof VIDEO_MIME_TYPES]
|
|
32
|
-
export type AudioMimeType = (typeof AUDIO_MIME_TYPES)[keyof typeof AUDIO_MIME_TYPES]
|
|
33
|
-
export type MediaMimeType = VideoMimeType | AudioMimeType
|
|
34
|
-
|
|
35
|
-
export interface MediaSource {
|
|
36
|
-
src: string
|
|
37
|
-
type?: MediaMimeType
|
|
38
|
-
media?: string // Media query for responsive sources
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface MediaCapabilities {
|
|
42
|
-
canPlayType: (type: string) => "" | "maybe" | "probably"
|
|
43
|
-
supportsFormat: (format: MediaFormat) => boolean
|
|
44
|
-
supportsMimeType: (mimeType: MediaMimeType) => boolean
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Utility function to detect media type from file extension
|
|
49
|
-
*/
|
|
50
|
-
export function getMediaTypeFromUrl(url: string): "video" | "audio" | "unknown" {
|
|
51
|
-
const extension = url.split(".").pop()?.toLowerCase()
|
|
52
|
-
|
|
53
|
-
if (extension && SUPPORTED_VIDEO_FORMATS.includes(extension as VideoFormat)) {
|
|
54
|
-
return "video"
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (extension && SUPPORTED_AUDIO_FORMATS.includes(extension as AudioFormat)) {
|
|
58
|
-
return "audio"
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return "unknown"
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Utility function to get MIME type from file extension
|
|
66
|
-
*/
|
|
67
|
-
export function getMimeTypeFromUrl(url: string): MediaMimeType | undefined {
|
|
68
|
-
const extension = url.split(".").pop()?.toLowerCase()
|
|
69
|
-
|
|
70
|
-
if (extension && extension in VIDEO_MIME_TYPES) {
|
|
71
|
-
return VIDEO_MIME_TYPES[extension as keyof typeof VIDEO_MIME_TYPES]
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (extension && extension in AUDIO_MIME_TYPES) {
|
|
75
|
-
return AUDIO_MIME_TYPES[extension as keyof typeof AUDIO_MIME_TYPES]
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return undefined
|
|
79
|
-
}
|
package/src/types/index.ts
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react"
|
|
2
|
-
|
|
3
|
-
// Re-export event types
|
|
4
|
-
export type {
|
|
5
|
-
MediaErrorEvent,
|
|
6
|
-
MediaEventMap,
|
|
7
|
-
MediaEventType,
|
|
8
|
-
MediaProgressEvent,
|
|
9
|
-
MediaTimeUpdateEvent,
|
|
10
|
-
MediaVolumeChangeEvent
|
|
11
|
-
} from "./events"
|
|
12
|
-
// Re-export format types
|
|
13
|
-
export {
|
|
14
|
-
AUDIO_MIME_TYPES,
|
|
15
|
-
getMediaTypeFromUrl,
|
|
16
|
-
getMimeTypeFromUrl,
|
|
17
|
-
SUPPORTED_AUDIO_FORMATS,
|
|
18
|
-
SUPPORTED_VIDEO_FORMATS,
|
|
19
|
-
VIDEO_MIME_TYPES
|
|
20
|
-
} from "./formats"
|
|
21
|
-
export type {
|
|
22
|
-
AudioFormat,
|
|
23
|
-
AudioMimeType,
|
|
24
|
-
MediaCapabilities,
|
|
25
|
-
MediaFormat,
|
|
26
|
-
MediaMimeType,
|
|
27
|
-
MediaSource,
|
|
28
|
-
VideoFormat,
|
|
29
|
-
VideoMimeType
|
|
30
|
-
} from "./formats"
|
|
31
|
-
|
|
32
|
-
// Re-export loading state types
|
|
33
|
-
export type {
|
|
34
|
-
LoadingVariant,
|
|
35
|
-
LoadingContext,
|
|
36
|
-
LoadingSize,
|
|
37
|
-
LoadingStateProps,
|
|
38
|
-
CustomLoadingProps
|
|
39
|
-
} from "../components/LoadingState"
|
|
40
|
-
|
|
41
|
-
// Re-export AnimateLoadingWrapper for external use
|
|
42
|
-
export { AnimateLoadingWrapper } from "../components/LoadingState"
|
|
43
|
-
|
|
44
|
-
// Re-export video player types
|
|
45
|
-
export type {
|
|
46
|
-
BufferedRange,
|
|
47
|
-
VideoState as EnhancedVideoState,
|
|
48
|
-
VideoControls
|
|
49
|
-
} from "../hooks/useVideoPlayer"
|
|
50
|
-
|
|
51
|
-
export interface MediaPlayerState {
|
|
52
|
-
isPlaying: boolean
|
|
53
|
-
currentTime: number
|
|
54
|
-
duration: number
|
|
55
|
-
volume: number
|
|
56
|
-
isMuted: boolean
|
|
57
|
-
isLoading: boolean
|
|
58
|
-
isFullscreen: boolean
|
|
59
|
-
error: string | null
|
|
60
|
-
buffered: TimeRanges | null
|
|
61
|
-
// New loading states
|
|
62
|
-
isSeeking?: boolean
|
|
63
|
-
isBuffering?: boolean
|
|
64
|
-
bufferedRanges?: BufferedRange[]
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface MediaPlayerControls {
|
|
68
|
-
play: () => void
|
|
69
|
-
pause: () => void
|
|
70
|
-
toggle: () => void
|
|
71
|
-
seek: (time: number) => void
|
|
72
|
-
setCurrentTime: (time: number) => void
|
|
73
|
-
setVolume: (volume: number) => void
|
|
74
|
-
mute: () => void
|
|
75
|
-
unmute: () => void
|
|
76
|
-
toggleMute: () => void
|
|
77
|
-
enterFullscreen: () => void
|
|
78
|
-
exitFullscreen: () => void
|
|
79
|
-
toggleFullscreen: () => void
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export interface MediaPlayerConfig {
|
|
83
|
-
autoPlay?: boolean
|
|
84
|
-
loop?: boolean
|
|
85
|
-
muted?: boolean
|
|
86
|
-
volume?: number
|
|
87
|
-
preload?: "none" | "metadata" | "auto"
|
|
88
|
-
crossOrigin?: "anonymous" | "use-credentials"
|
|
89
|
-
playbackRates?: number[]
|
|
90
|
-
keyboardControls?: boolean
|
|
91
|
-
showControls?: boolean
|
|
92
|
-
customControls?: boolean
|
|
93
|
-
enablePerformanceMonitoring?: boolean
|
|
94
|
-
bufferingStrategy?: "aggressive" | "conservative" | "adaptive"
|
|
95
|
-
preloadStrategy?: "eager" | "lazy" | "progressive"
|
|
96
|
-
enableOptimizations?: boolean
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export interface MediaPlayerProps extends MediaPlayerConfig {
|
|
100
|
-
src: string | string[]
|
|
101
|
-
poster?: string
|
|
102
|
-
className?: string
|
|
103
|
-
children?:
|
|
104
|
-
| ReactNode
|
|
105
|
-
| ((props: { state: MediaPlayerState; controls: MediaPlayerControls }) => ReactNode)
|
|
106
|
-
onPlay?: () => void
|
|
107
|
-
onPause?: () => void
|
|
108
|
-
onTimeUpdate?: (currentTime: number) => void
|
|
109
|
-
onDurationChange?: (duration: number) => void
|
|
110
|
-
onVolumeChange?: (volume: number) => void
|
|
111
|
-
onError?: (error: string) => void
|
|
112
|
-
onLoadStart?: () => void
|
|
113
|
-
onLoadedData?: () => void
|
|
114
|
-
onEnded?: () => void
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export interface VideoPlayerProps extends MediaPlayerProps {
|
|
118
|
-
width?: number | string
|
|
119
|
-
height?: number | string
|
|
120
|
-
aspectRatio?: string
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export interface AudioPlayerProps extends MediaPlayerProps {
|
|
124
|
-
// Audio-specific props can be added here
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export interface SupportedFormats {
|
|
128
|
-
video: string[]
|
|
129
|
-
audio: string[]
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export interface PlayButtonProps {
|
|
133
|
-
isPlaying: boolean
|
|
134
|
-
onToggle: () => void
|
|
135
|
-
disabled?: boolean
|
|
136
|
-
size?: "sm" | "md" | "lg" | "xl"
|
|
137
|
-
className?: string
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export interface VolumeControlProps {
|
|
141
|
-
volume: number
|
|
142
|
-
isMuted: boolean
|
|
143
|
-
onVolumeChange: (volume: number) => void
|
|
144
|
-
onToggleMute: () => void
|
|
145
|
-
size?: "md" | "lg" | "xl"
|
|
146
|
-
className?: string
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
export interface SeekBarProps {
|
|
150
|
-
currentTime: number
|
|
151
|
-
duration: number
|
|
152
|
-
buffered?: TimeRanges | null
|
|
153
|
-
onSeek: (time: number) => void
|
|
154
|
-
size?: "md" | "lg" | "xl"
|
|
155
|
-
className?: string
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export interface TimeDisplayProps {
|
|
159
|
-
currentTime: number
|
|
160
|
-
duration: number
|
|
161
|
-
showRemaining?: boolean
|
|
162
|
-
size?: "sm" | "md" | "lg" | "xl"
|
|
163
|
-
className?: string
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export interface FullscreenButtonProps {
|
|
167
|
-
isFullscreen: boolean
|
|
168
|
-
onToggle: () => void
|
|
169
|
-
disabled?: boolean
|
|
170
|
-
size?: "md" | "lg" | "xl"
|
|
171
|
-
className?: string
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// Subtitle track definition
|
|
175
|
-
export interface SubtitleTrack {
|
|
176
|
-
id: string
|
|
177
|
-
label: string
|
|
178
|
-
language?: string
|
|
179
|
-
src?: string
|
|
180
|
-
kind?: "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"
|
|
181
|
-
default?: boolean
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// Custom loading component props
|
|
185
|
-
export interface CustomLoadingComponentProps {
|
|
186
|
-
context: "initial" | "seeking" | "buffering"
|
|
187
|
-
message?: string
|
|
188
|
-
progress?: number
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// Volume orientation type
|
|
192
|
-
export type VolumeOrientation = "horizontal" | "vertical"
|
|
193
|
-
|
|
194
|
-
// Import BufferedRange type for external use
|
|
195
|
-
import type { BufferedRange } from "../hooks/useVideoPlayer"
|
|
196
|
-
|
|
197
|
-
// Media Player Instance for plugins
|
|
198
|
-
export interface MediaPlayerInstance {
|
|
199
|
-
state: MediaPlayerState
|
|
200
|
-
controls: MediaPlayerControls
|
|
201
|
-
element: HTMLVideoElement | HTMLAudioElement | null
|
|
202
|
-
config: MediaPlayerConfig
|
|
203
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
declare module "@videojs/http-streaming" {
|
|
2
|
-
const httpStreaming: any
|
|
3
|
-
export default httpStreaming
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
declare module "videojs-contrib-quality-levels" {
|
|
7
|
-
const qualityLevels: any
|
|
8
|
-
export default qualityLevels
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
declare module "videojs-hls-quality-selector" {
|
|
12
|
-
const hlsQualitySelector: any
|
|
13
|
-
export default hlsQualitySelector
|
|
14
|
-
}
|