@videojs/html 10.3.0 → 10.4.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.
- package/dist/default/define/audio/compat-skin.css +91 -38
- package/dist/default/define/audio/compat-skin2.js +1 -1
- package/dist/default/define/audio/neutral-skin.css +52 -31
- package/dist/default/define/audio/neutral-skin2.js +1 -1
- package/dist/default/define/audio/scaffold-skin.css +105 -40
- package/dist/default/define/audio/scaffold-skin2.js +1 -1
- package/dist/default/define/audio/skin.css +53 -31
- package/dist/default/define/audio/skin2.js +1 -1
- package/dist/default/define/live-audio/compat-skin.css +91 -38
- package/dist/default/define/live-audio/compat-skin2.js +1 -1
- package/dist/default/define/live-audio/neutral-skin.css +50 -29
- package/dist/default/define/live-audio/neutral-skin2.js +1 -1
- package/dist/default/define/live-audio/scaffold-skin.css +105 -40
- package/dist/default/define/live-audio/scaffold-skin2.js +1 -1
- package/dist/default/define/live-audio/skin.css +51 -29
- package/dist/default/define/live-audio/skin2.js +1 -1
- package/dist/default/define/live-video/compat-skin.css +142 -61
- package/dist/default/define/live-video/compat-skin2.js +1 -1
- package/dist/default/define/live-video/neutral-skin.css +241 -55
- package/dist/default/define/live-video/neutral-skin2.js +1 -1
- package/dist/default/define/live-video/scaffold-skin.css +159 -63
- package/dist/default/define/live-video/scaffold-skin2.js +1 -1
- package/dist/default/define/live-video/skin.css +245 -60
- package/dist/default/define/live-video/skin2.js +1 -1
- package/dist/default/define/ui/time-slider-markers.js +5 -0
- package/dist/default/define/video/compat-skin.css +150 -61
- package/dist/default/define/video/compat-skin2.js +1 -1
- package/dist/default/define/video/neutral-skin.css +322 -66
- package/dist/default/define/video/neutral-skin2.js +1 -1
- package/dist/default/define/video/scaffold-skin.css +168 -63
- package/dist/default/define/video/scaffold-skin2.js +1 -1
- package/dist/default/define/video/skin.css +348 -66
- package/dist/default/define/video/skin2.js +1 -1
- package/dist/default/index.js +3 -1
- package/dist/default/internal/skins/compat-audio/skin.css +91 -38
- package/dist/default/internal/skins/compat-live-audio/skin.css +91 -38
- package/dist/default/internal/skins/compat-live-video/skin.css +142 -61
- package/dist/default/internal/skins/compat-live-video/template.js +2 -0
- package/dist/default/internal/skins/compat-video/skin.css +150 -61
- package/dist/default/internal/skins/compat-video/template.js +2 -0
- package/dist/default/internal/skins/default-audio/skin.css +53 -31
- package/dist/default/internal/skins/default-live-audio/skin.css +51 -29
- package/dist/default/internal/skins/default-live-video/skin.css +245 -60
- package/dist/default/internal/skins/default-live-video/template.js +14 -0
- package/dist/default/internal/skins/default-video/register.js +3 -0
- package/dist/default/internal/skins/default-video/skin.css +348 -66
- package/dist/default/internal/skins/default-video/template.js +33 -5
- package/dist/default/internal/skins/neutral-audio/skin.css +52 -31
- package/dist/default/internal/skins/neutral-live-audio/skin.css +50 -29
- package/dist/default/internal/skins/neutral-live-video/skin.css +241 -55
- package/dist/default/internal/skins/neutral-live-video/template.js +14 -0
- package/dist/default/internal/skins/neutral-video/skin.css +322 -66
- package/dist/default/internal/skins/neutral-video/template.js +25 -11
- package/dist/default/internal/skins/scaffold-audio/skin.css +105 -40
- package/dist/default/internal/skins/scaffold-live-audio/skin.css +105 -40
- package/dist/default/internal/skins/scaffold-live-video/skin.css +159 -63
- package/dist/default/internal/skins/scaffold-live-video/template.js +2 -0
- package/dist/default/internal/skins/scaffold-video/skin.css +168 -63
- package/dist/default/internal/skins/scaffold-video/template.js +3 -1
- package/dist/default/media/background-video/adapter.js +13 -35
- package/dist/default/media/background-video/base.js +95 -0
- package/dist/default/media/background-video/template.js +13 -20
- package/dist/default/media/hls-background-video/adapter.js +16 -35
- package/dist/default/ui/captions-radio-group/element.js +14 -1
- package/dist/default/ui/controls/element.js +6 -3
- package/dist/default/ui/time-slider/markers.js +160 -0
- package/dist/default/version.js +1 -1
- package/dist/dev/define/audio/compat-skin.css +91 -38
- package/dist/dev/define/audio/compat-skin2.js +1 -1
- package/dist/dev/define/audio/compat-skin2.js.map +1 -1
- package/dist/dev/define/audio/neutral-skin.css +52 -31
- package/dist/dev/define/audio/neutral-skin2.js +1 -1
- package/dist/dev/define/audio/neutral-skin2.js.map +1 -1
- package/dist/dev/define/audio/scaffold-skin.css +105 -40
- package/dist/dev/define/audio/scaffold-skin2.js +1 -1
- package/dist/dev/define/audio/scaffold-skin2.js.map +1 -1
- package/dist/dev/define/audio/skin.css +53 -31
- package/dist/dev/define/audio/skin2.js +1 -1
- package/dist/dev/define/audio/skin2.js.map +1 -1
- package/dist/dev/define/live-audio/compat-skin.css +91 -38
- package/dist/dev/define/live-audio/compat-skin2.js +1 -1
- package/dist/dev/define/live-audio/compat-skin2.js.map +1 -1
- package/dist/dev/define/live-audio/neutral-skin.css +50 -29
- package/dist/dev/define/live-audio/neutral-skin2.js +1 -1
- package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -1
- package/dist/dev/define/live-audio/scaffold-skin.css +105 -40
- package/dist/dev/define/live-audio/scaffold-skin2.js +1 -1
- package/dist/dev/define/live-audio/scaffold-skin2.js.map +1 -1
- package/dist/dev/define/live-audio/skin.css +51 -29
- package/dist/dev/define/live-audio/skin2.js +1 -1
- package/dist/dev/define/live-audio/skin2.js.map +1 -1
- package/dist/dev/define/live-video/compat-skin.css +142 -61
- package/dist/dev/define/live-video/compat-skin2.js +1 -1
- package/dist/dev/define/live-video/compat-skin2.js.map +1 -1
- package/dist/dev/define/live-video/neutral-skin.css +241 -55
- package/dist/dev/define/live-video/neutral-skin2.js +1 -1
- package/dist/dev/define/live-video/neutral-skin2.js.map +1 -1
- package/dist/dev/define/live-video/scaffold-skin.css +159 -63
- package/dist/dev/define/live-video/scaffold-skin2.js +1 -1
- package/dist/dev/define/live-video/scaffold-skin2.js.map +1 -1
- package/dist/dev/define/live-video/skin.css +245 -60
- package/dist/dev/define/live-video/skin2.js +1 -1
- package/dist/dev/define/live-video/skin2.js.map +1 -1
- package/dist/dev/define/ui/time-slider-markers.d.ts +8 -0
- package/dist/dev/define/ui/time-slider-markers.js +7 -0
- package/dist/dev/define/ui/time-slider-markers.js.map +1 -0
- package/dist/dev/define/video/compat-skin.css +150 -61
- package/dist/dev/define/video/compat-skin2.js +1 -1
- package/dist/dev/define/video/compat-skin2.js.map +1 -1
- package/dist/dev/define/video/neutral-skin.css +322 -66
- package/dist/dev/define/video/neutral-skin2.js +1 -1
- package/dist/dev/define/video/neutral-skin2.js.map +1 -1
- package/dist/dev/define/video/scaffold-skin.css +168 -63
- package/dist/dev/define/video/scaffold-skin2.js +1 -1
- package/dist/dev/define/video/scaffold-skin2.js.map +1 -1
- package/dist/dev/define/video/skin.css +348 -66
- package/dist/dev/define/video/skin2.js +1 -1
- package/dist/dev/define/video/skin2.js.map +1 -1
- package/dist/dev/index.d.ts +5 -4
- package/dist/dev/index.js +3 -1
- package/dist/dev/internal/skins/compat-audio/skin.css +91 -38
- package/dist/dev/internal/skins/compat-live-audio/skin.css +91 -38
- package/dist/dev/internal/skins/compat-live-video/skin.css +142 -61
- package/dist/dev/internal/skins/compat-live-video/template.js +2 -0
- package/dist/dev/internal/skins/compat-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/compat-video/skin.css +150 -61
- package/dist/dev/internal/skins/compat-video/template.js +2 -0
- package/dist/dev/internal/skins/compat-video/template.js.map +1 -1
- package/dist/dev/internal/skins/default-audio/skin.css +53 -31
- package/dist/dev/internal/skins/default-live-audio/skin.css +51 -29
- package/dist/dev/internal/skins/default-live-video/register.js.map +1 -1
- package/dist/dev/internal/skins/default-live-video/skin.css +245 -60
- package/dist/dev/internal/skins/default-live-video/template.js +14 -0
- package/dist/dev/internal/skins/default-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/default-video/register.d.ts +1 -0
- package/dist/dev/internal/skins/default-video/register.js +3 -0
- package/dist/dev/internal/skins/default-video/register.js.map +1 -1
- package/dist/dev/internal/skins/default-video/skin.css +348 -66
- package/dist/dev/internal/skins/default-video/template.js +33 -5
- package/dist/dev/internal/skins/default-video/template.js.map +1 -1
- package/dist/dev/internal/skins/neutral-audio/skin.css +52 -31
- package/dist/dev/internal/skins/neutral-live-audio/skin.css +50 -29
- package/dist/dev/internal/skins/neutral-live-video/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-live-video/skin.css +241 -55
- package/dist/dev/internal/skins/neutral-live-video/template.js +14 -0
- package/dist/dev/internal/skins/neutral-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/neutral-video/register.js.map +1 -1
- package/dist/dev/internal/skins/neutral-video/skin.css +322 -66
- package/dist/dev/internal/skins/neutral-video/template.js +25 -11
- package/dist/dev/internal/skins/neutral-video/template.js.map +1 -1
- package/dist/dev/internal/skins/scaffold-audio/skin.css +105 -40
- package/dist/dev/internal/skins/scaffold-live-audio/skin.css +105 -40
- package/dist/dev/internal/skins/scaffold-live-video/skin.css +159 -63
- package/dist/dev/internal/skins/scaffold-live-video/template.js +2 -0
- package/dist/dev/internal/skins/scaffold-live-video/template.js.map +1 -1
- package/dist/dev/internal/skins/scaffold-video/skin.css +168 -63
- package/dist/dev/internal/skins/scaffold-video/template.js +3 -1
- package/dist/dev/internal/skins/scaffold-video/template.js.map +1 -1
- package/dist/dev/media/background-video/adapter.d.ts +7 -13
- package/dist/dev/media/background-video/adapter.js +13 -35
- package/dist/dev/media/background-video/adapter.js.map +1 -1
- package/dist/dev/media/background-video/base.d.ts +44 -0
- package/dist/dev/media/background-video/base.js +97 -0
- package/dist/dev/media/background-video/base.js.map +1 -0
- package/dist/dev/media/background-video/template.d.ts +3 -0
- package/dist/dev/media/background-video/template.js +13 -20
- package/dist/dev/media/background-video/template.js.map +1 -1
- package/dist/dev/media/hls-background-video/adapter.d.ts +8 -18
- package/dist/dev/media/hls-background-video/adapter.js +16 -35
- package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
- package/dist/dev/ui/captions-button/element.d.ts +2 -0
- package/dist/dev/ui/captions-radio-group/element.d.ts +2 -1
- package/dist/dev/ui/captions-radio-group/element.js +14 -1
- package/dist/dev/ui/captions-radio-group/element.js.map +1 -1
- package/dist/dev/ui/controls/element.d.ts +2 -2
- package/dist/dev/ui/controls/element.js +6 -3
- package/dist/dev/ui/controls/element.js.map +1 -1
- package/dist/dev/ui/time-slider/markers.d.ts +48 -0
- package/dist/dev/ui/time-slider/markers.js +165 -0
- package/dist/dev/ui/time-slider/markers.js.map +1 -0
- package/dist/dev/version.js +1 -1
- package/docs/README.md +1 -1
- package/docs/guides/autoplay.md +1 -1
- package/docs/guides/background-video.md +2 -4
- package/docs/guides/browser-support.md +22 -16
- package/docs/guides/cdn.md +9 -9
- package/docs/guides/customize-skins.md +3 -0
- package/docs/guides/installation-cdn.md +2 -2
- package/docs/guides/installation-shadcn.md +1 -1
- package/docs/guides/installation-svelte.md +2 -2
- package/docs/guides/installation-vue.md +2 -2
- package/docs/guides/installation.md +2 -2
- package/docs/guides/internationalization.md +5 -5
- package/docs/guides/keyboard-shortcuts.md +10 -0
- package/docs/guides/llms.txt +2 -1
- package/docs/guides/migrate-from-media-chrome.md +4 -4
- package/docs/guides/migrate-from-mux-player.md +6 -6
- package/docs/guides/migrate-from-plyr.md +7 -7
- package/docs/guides/migrate-from-video-js-8.md +6 -6
- package/docs/guides/migrate-from-vidstack.md +4 -4
- package/docs/guides/presets.md +4 -4
- package/docs/guides/self-hosting.md +5 -5
- package/docs/guides/skins.md +8 -7
- package/docs/guides/timed-metadata.md +318 -0
- package/docs/llms.txt +16 -2
- package/docs/reference/api/chapters-track.md +71 -0
- package/docs/reference/api/define-text-track.md +113 -0
- package/docs/reference/api/feature-text-cues.md +133 -0
- package/docs/reference/api/feature-text-tracks.md +11 -5
- package/docs/reference/api/get-active-text-cues.md +69 -0
- package/docs/reference/api/get-text-cues.md +69 -0
- package/docs/reference/api/get-text-tracks.md +41 -0
- package/docs/reference/api/hls-metadata-track.md +48 -0
- package/docs/reference/api/html-create-player.md +2 -2
- package/docs/reference/api/llms.txt +13 -1
- package/docs/reference/api/media-capabilities.md +4 -4
- package/docs/reference/api/player-store.md +9 -4
- package/docs/reference/api/preset-audio.md +3 -1
- package/docs/reference/api/preset-background.md +1 -1
- package/docs/reference/api/preset-live-audio.md +3 -1
- package/docs/reference/api/preset-live-video.md +2 -1
- package/docs/reference/api/preset-video.md +2 -1
- package/docs/reference/components/audio-compat-skin.md +1 -1
- package/docs/reference/components/audio-neutral-skin.md +1 -1
- package/docs/reference/components/audio-scaffold-skin.md +1 -1
- package/docs/reference/components/audio-skin.md +1 -1
- package/docs/reference/components/audio.md +19 -1
- package/docs/reference/components/background-video-skin.md +1 -1
- package/docs/reference/components/background-video.md +26 -11
- package/docs/reference/components/captions-radio-group.md +1 -1
- package/docs/reference/components/cloudflare-video.md +1 -1
- package/docs/reference/components/controls.md +16 -3
- package/docs/reference/components/dailymotion-video.md +2 -2
- package/docs/reference/components/dash-video.md +20 -3
- package/docs/reference/components/google-analytics.md +1 -1
- package/docs/reference/components/google-cast.md +1 -1
- package/docs/reference/components/hls-audio.md +56 -2
- package/docs/reference/components/hls-background-video.md +22 -5
- package/docs/reference/components/hls-video.md +99 -7
- package/docs/reference/components/hlsjs-video.md +52 -13
- package/docs/reference/components/live-audio-compat-skin.md +1 -1
- package/docs/reference/components/live-audio-neutral-skin.md +1 -1
- package/docs/reference/components/live-audio-scaffold-skin.md +1 -1
- package/docs/reference/components/live-audio-skin.md +1 -1
- package/docs/reference/components/live-video-compat-skin.md +5 -1
- package/docs/reference/components/live-video-neutral-skin.md +5 -1
- package/docs/reference/components/live-video-scaffold-skin.md +5 -1
- package/docs/reference/components/live-video-skin.md +5 -1
- package/docs/reference/components/llms.txt +2 -1
- package/docs/reference/components/mixcloud-audio.md +2 -2
- package/docs/reference/components/mux-audio.md +34 -3
- package/docs/reference/components/mux-background-video.md +1 -1
- package/docs/reference/components/mux-data.md +1 -1
- package/docs/reference/components/mux-video.md +17 -3
- package/docs/reference/components/native-hls-video.md +32 -3
- package/docs/reference/components/playerjs-video.md +2 -2
- package/docs/reference/components/shaka-video.md +2 -3
- package/docs/reference/components/soundcloud-audio.md +2 -2
- package/docs/reference/components/spotify-audio.md +2 -2
- package/docs/reference/components/tiktok-video.md +2 -2
- package/docs/reference/components/time-slider-markers.md +194 -0
- package/docs/reference/components/time-slider.md +14 -0
- package/docs/reference/components/twitch-video.md +1 -1
- package/docs/reference/components/video-compat-skin.md +5 -1
- package/docs/reference/components/video-neutral-skin.md +5 -1
- package/docs/reference/components/video-scaffold-skin.md +5 -1
- package/docs/reference/components/video-skin.md +5 -1
- package/docs/reference/components/video.md +19 -1
- package/docs/reference/components/vimeo-video.md +1 -2
- package/docs/reference/components/wistia-video.md +1 -1
- package/docs/reference/components/youtube-video.md +1 -2
- package/package.json +48 -48
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# media-time-slider-markers
|
|
2
|
+
|
|
3
|
+
Draws a marker on the time slider for each cue on the text tracks a filter matches, such as ad breaks
|
|
4
|
+
|
|
5
|
+
A part of the [time slider](./time-slider.md) that draws a marker for each cue on the text tracks a filter matches, such as ad breaks, quiz questions, or highlights. Its props, data attributes, and custom properties are listed with the time slider’s other parts.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import '@videojs/html/ui/time-slider-markers';
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Anatomy
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<media-time-slider>
|
|
17
|
+
<media-slider-track>
|
|
18
|
+
<media-slider-fill></media-slider-fill>
|
|
19
|
+
</media-slider-track>
|
|
20
|
+
<media-time-slider-markers label="ads"></media-time-slider-markers>
|
|
21
|
+
<media-slider-thumb></media-slider-thumb>
|
|
22
|
+
</media-time-slider>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Each marker is a `<div>`, or a clone of a `<template>` child. The template must contain exactly one HTML root element, and stays in the light DOM.
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<media-time-slider-markers label="ads">
|
|
29
|
+
<template>
|
|
30
|
+
<div class="ad-marker"></div>
|
|
31
|
+
</template>
|
|
32
|
+
</media-time-slider-markers>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Behavior
|
|
36
|
+
|
|
37
|
+
The `kind`, `label`, and `language` attributes pick the tracks whose cues are drawn. The `filter` property takes a filter object, a function, or a [track definition](../api/define-text-track.md) instead, and takes priority over the attributes. With neither, nothing is drawn.
|
|
38
|
+
|
|
39
|
+
Tracks from the media and from the app are drawn alike. While the markers are rendered, the [text cues feature](../api/feature-text-cues.md) reads the tracks they match, so tracks it skips by default work too.
|
|
40
|
+
|
|
41
|
+
A cue whose end is its start is a point, drawn as a marker with no width and `data-point`. Any other cue is a range, spanning from its start to its end and clamped to the slider. Markers sit on the same span as the slider: from `0` to the media’s duration, or to the end of its seekable range while the duration is unknown. Cues outside that span, and every cue while it’s unknown, aren’t drawn. Markers are ordered by start, then end.
|
|
42
|
+
|
|
43
|
+
## Styling
|
|
44
|
+
|
|
45
|
+
| Attribute | Description |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `data-active` | Present while the marker’s cue is active. |
|
|
48
|
+
| `data-point` | Present when the cue marks one moment rather than a span. |
|
|
49
|
+
|
|
50
|
+
Each marker also carries the slider’s data attributes, such as `data-orientation`, and its geometry through:
|
|
51
|
+
|
|
52
|
+
- `--media-slider-marker-start`
|
|
53
|
+
- `--media-slider-marker-end`
|
|
54
|
+
- `--media-slider-marker-width`, the marker’s size along the slider, `0%` for a point
|
|
55
|
+
|
|
56
|
+
Markers are unstyled. Position each one from its custom properties, and give points a visible width:
|
|
57
|
+
|
|
58
|
+
```css
|
|
59
|
+
media-time-slider-markers > div {
|
|
60
|
+
position: absolute;
|
|
61
|
+
inset-block: 0;
|
|
62
|
+
left: var(--media-slider-marker-start);
|
|
63
|
+
width: var(--media-slider-marker-width);
|
|
64
|
+
min-width: 4px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
media-time-slider-markers > [data-active] {
|
|
68
|
+
background: orange;
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Accessibility
|
|
73
|
+
|
|
74
|
+
The markers render with `aria-hidden="true"`; the slider’s value is what assistive technology reads. When a marker carries meaning a viewer needs, such as an upcoming ad break, convey it another way too.
|
|
75
|
+
|
|
76
|
+
## Examples
|
|
77
|
+
|
|
78
|
+
### Basic usage
|
|
79
|
+
|
|
80
|
+
An app track labeled `ads` holds a point at 8 seconds and a range from 18 to 24 seconds. A marker turns orange while its cue is active.
|
|
81
|
+
|
|
82
|
+
**index.html**
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<video-player class="html-time-slider-markers-basic">
|
|
86
|
+
<media-container class="html-time-slider-markers-basic__container">
|
|
87
|
+
<video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoplay muted playsinline loop></video>
|
|
88
|
+
<media-time-slider class="html-time-slider-markers-basic__slider">
|
|
89
|
+
<media-slider-track class="html-time-slider-markers-basic__track">
|
|
90
|
+
<media-slider-fill class="html-time-slider-markers-basic__fill"></media-slider-fill>
|
|
91
|
+
</media-slider-track>
|
|
92
|
+
<media-time-slider-markers label="ads" class="html-time-slider-markers-basic__markers">
|
|
93
|
+
<template>
|
|
94
|
+
<div class="html-time-slider-markers-basic__marker"></div>
|
|
95
|
+
</template>
|
|
96
|
+
</media-time-slider-markers>
|
|
97
|
+
<media-slider-thumb class="html-time-slider-markers-basic__thumb"></media-slider-thumb>
|
|
98
|
+
</media-time-slider>
|
|
99
|
+
</media-container>
|
|
100
|
+
</video-player>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**index.css**
|
|
104
|
+
|
|
105
|
+
```css
|
|
106
|
+
.html-time-slider-markers-basic__container {
|
|
107
|
+
position: relative;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.html-time-slider-markers-basic__container video {
|
|
111
|
+
width: 100%;
|
|
112
|
+
aspect-ratio: 16 / 9;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.html-time-slider-markers-basic__slider {
|
|
116
|
+
position: absolute;
|
|
117
|
+
right: 12px;
|
|
118
|
+
bottom: 12px;
|
|
119
|
+
left: 12px;
|
|
120
|
+
display: flex;
|
|
121
|
+
align-items: center;
|
|
122
|
+
height: 20px;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.html-time-slider-markers-basic__track,
|
|
127
|
+
.html-time-slider-markers-basic__markers {
|
|
128
|
+
position: absolute;
|
|
129
|
+
right: 0;
|
|
130
|
+
left: 0;
|
|
131
|
+
height: 4px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.html-time-slider-markers-basic__track {
|
|
135
|
+
overflow: hidden;
|
|
136
|
+
background: rgba(255, 255, 255, 0.3);
|
|
137
|
+
border-radius: 9999px;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.html-time-slider-markers-basic__fill {
|
|
141
|
+
position: absolute;
|
|
142
|
+
inset-block: 0;
|
|
143
|
+
left: 0;
|
|
144
|
+
width: var(--media-slider-fill);
|
|
145
|
+
background: white;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.html-time-slider-markers-basic__marker {
|
|
149
|
+
position: absolute;
|
|
150
|
+
inset-block: 0;
|
|
151
|
+
left: var(--media-slider-marker-start);
|
|
152
|
+
width: var(--media-slider-marker-width);
|
|
153
|
+
min-width: 4px;
|
|
154
|
+
background: #facc15;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.html-time-slider-markers-basic__marker[data-point] {
|
|
158
|
+
transform: translateX(-50%);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.html-time-slider-markers-basic__marker[data-active] {
|
|
162
|
+
background: #f97316;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.html-time-slider-markers-basic__thumb {
|
|
166
|
+
position: absolute;
|
|
167
|
+
left: var(--media-slider-fill);
|
|
168
|
+
width: 12px;
|
|
169
|
+
height: 12px;
|
|
170
|
+
background: white;
|
|
171
|
+
border-radius: 50%;
|
|
172
|
+
transform: translateX(-50%);
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**index.ts**
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
import '@videojs/html/video/player';
|
|
180
|
+
import '@videojs/html/ui/container';
|
|
181
|
+
import '@videojs/html/ui/time-slider';
|
|
182
|
+
import '@videojs/html/ui/slider-track';
|
|
183
|
+
import '@videojs/html/ui/slider-fill';
|
|
184
|
+
import '@videojs/html/ui/slider-thumb';
|
|
185
|
+
import '@videojs/html/ui/time-slider-markers';
|
|
186
|
+
|
|
187
|
+
const player = document.querySelector('video-player');
|
|
188
|
+
|
|
189
|
+
player?.store.addTextTrack({
|
|
190
|
+
kind: 'metadata',
|
|
191
|
+
label: 'ads',
|
|
192
|
+
cues: [{ startTime: 8 }, { startTime: 18, endTime: 24 }],
|
|
193
|
+
});
|
|
194
|
+
```
|
|
@@ -50,6 +50,8 @@ Add `<media-time-slider-chapters>` to divide the slider track into sections. Eac
|
|
|
50
50
|
|
|
51
51
|
The required template must contain exactly one HTML root element. It remains in the light DOM and is cloned for each normalized chapter range. When no chapter cues are available, it is cloned once as a full-width, cue-less range.
|
|
52
52
|
|
|
53
|
+
To draw a marker for each cue on a text track, such as an ad break, add the markers element, documented on its own page as [media-time-slider-markers](./time-slider-markers.md).
|
|
54
|
+
|
|
53
55
|
## Behavior
|
|
54
56
|
|
|
55
57
|
Displays and controls the current playback position. Dragging the slider seeks the media. The fill level reflects `currentTime / duration` as a percentage, and the buffer level shows how much media has been buffered.
|
|
@@ -483,6 +485,18 @@ Clones a light-DOM template once per normalized chapter range.
|
|
|
483
485
|
|
|
484
486
|
The required template must contain exactly one HTML root element. When no chapter cues are available, the template is cloned once for a full-duration range.
|
|
485
487
|
|
|
488
|
+
### media-time-slider-markers
|
|
489
|
+
|
|
490
|
+
Draws a marker on the time slider for each cue on the text tracks a filter matches, such as ad breaks. Pick tracks with the `kind`, `label`, and `language` attributes, or with the `filter` property; with neither, nothing is drawn. The store reads the matching tracks while the element is connected, so tracks it doesn't read by default work too.
|
|
491
|
+
|
|
492
|
+
Each marker clones the light-DOM template, which must contain exactly one HTML root element, or is a `<div>` without one. Markers are decorative: the slider's own value is what assistive technology reads.
|
|
493
|
+
|
|
494
|
+
#### Data attributes
|
|
495
|
+
|
|
496
|
+
| Attribute | Description |
|
|
497
|
+
| --- | --- |
|
|
498
|
+
| `data-seeking` | Present when a seek operation is in progress. |
|
|
499
|
+
|
|
486
500
|
### media-slider-buffer
|
|
487
501
|
|
|
488
502
|
Displays the buffered range on the slider track.
|
|
@@ -17,7 +17,7 @@ import '@videojs/html/media/twitch-video';
|
|
|
17
17
|
Or load it from the [CDN](../../guides/cdn.md):
|
|
18
18
|
|
|
19
19
|
```html
|
|
20
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
20
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/media/twitch-video.js"></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Load a source
|
|
@@ -13,7 +13,7 @@ import '@videojs/html/video/compat-skin';
|
|
|
13
13
|
The import registers the skin and every UI element it composes. The [CDN](../../guides/cdn.md) player bundle registers this skin together with its player:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
16
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/video-compat.js"></script>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Anatomy
|
|
@@ -40,6 +40,10 @@ The skin renders a storyboard preview image while scrubbing the time slider. An
|
|
|
40
40
|
|
|
41
41
|
See [Show timeline thumbnail previews](../../guides/thumbnails.md) for complete examples.
|
|
42
42
|
|
|
43
|
+
## Controls before playback
|
|
44
|
+
|
|
45
|
+
Before playback starts, the skin shows only the large center play button. The other controls appear once playback starts or the media begins to autoplay. Set `--media-controls-before-start: visible` to show them from the start. See [Customize skins](../../guides/customize-skins.md#set-the-skins-styles).
|
|
46
|
+
|
|
43
47
|
## Styling
|
|
44
48
|
|
|
45
49
|
Packaged skins style themselves and expose a small set of public CSS custom properties. Everything else inside the skin is private and may change between releases. [Customize skins](../../guides/customize-skins.md#style-a-packaged-skin) documents the properties. For deeper changes, the Video.js registry provides the skin files.
|
|
@@ -13,7 +13,7 @@ import '@videojs/html/video/neutral-skin';
|
|
|
13
13
|
The import registers the skin and every UI element it composes. The [CDN](../../guides/cdn.md) player bundle registers this skin together with its player:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
16
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/video-neutral.js"></script>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Anatomy
|
|
@@ -40,6 +40,10 @@ The skin renders a storyboard preview image while scrubbing the time slider. An
|
|
|
40
40
|
|
|
41
41
|
See [Show timeline thumbnail previews](../../guides/thumbnails.md) for complete examples.
|
|
42
42
|
|
|
43
|
+
## Controls before playback
|
|
44
|
+
|
|
45
|
+
Before playback starts, the skin shows only the large center play button. The other controls appear once playback starts or the media begins to autoplay. Set `--media-controls-before-start: visible` to show them from the start. See [Customize skins](../../guides/customize-skins.md#set-the-skins-styles).
|
|
46
|
+
|
|
43
47
|
## Styling
|
|
44
48
|
|
|
45
49
|
Packaged skins style themselves and expose a small set of public CSS custom properties. Everything else inside the skin is private and may change between releases. [Customize skins](../../guides/customize-skins.md#style-a-packaged-skin) documents the properties. For deeper changes, the Video.js registry provides the skin files.
|
|
@@ -13,7 +13,7 @@ import '@videojs/html/video/scaffold-skin';
|
|
|
13
13
|
The import registers the skin and every UI element it composes. The [CDN](../../guides/cdn.md) player bundle registers this skin together with its player:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
16
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/video-scaffold.js"></script>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
@@ -40,6 +40,10 @@ The skin renders a storyboard preview image while scrubbing the time slider. An
|
|
|
40
40
|
|
|
41
41
|
See [Show timeline thumbnail previews](../../guides/thumbnails.md) for complete examples.
|
|
42
42
|
|
|
43
|
+
## Controls before playback
|
|
44
|
+
|
|
45
|
+
Before playback starts, the skin shows only the large center play button. The other controls appear once playback starts or the media begins to autoplay. Set `--media-controls-before-start: visible` to show them from the start. See [Customize skins](../../guides/customize-skins.md#set-the-skins-styles).
|
|
46
|
+
|
|
43
47
|
## Styling
|
|
44
48
|
|
|
45
49
|
Packaged skins style themselves and expose a small set of public CSS custom properties. Everything else inside the skin is private and may change between releases. [Customize skins](../../guides/customize-skins.md#style-a-packaged-skin) documents the properties. For deeper changes, the Video.js registry provides the skin files.
|
|
@@ -13,7 +13,7 @@ import '@videojs/html/video/skin';
|
|
|
13
13
|
The import registers the skin and every UI element it composes. The [CDN](../../guides/cdn.md) player bundle registers this skin together with its player:
|
|
14
14
|
|
|
15
15
|
```html
|
|
16
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
16
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/video.js"></script>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Anatomy
|
|
@@ -40,6 +40,10 @@ The skin renders a storyboard preview image while scrubbing the time slider. An
|
|
|
40
40
|
|
|
41
41
|
See [Show timeline thumbnail previews](../../guides/thumbnails.md) for complete examples.
|
|
42
42
|
|
|
43
|
+
## Controls before playback
|
|
44
|
+
|
|
45
|
+
Before playback starts, the skin shows only the large center play button. The other controls appear once playback starts or the media begins to autoplay. Set `--media-controls-before-start: visible` to show them from the start. See [Customize skins](../../guides/customize-skins.md#set-the-skins-styles).
|
|
46
|
+
|
|
43
47
|
## Styling
|
|
44
48
|
|
|
45
49
|
Packaged skins style themselves and expose a small set of public CSS custom properties. Everything else inside the skin is private and may change between releases. [Customize skins](../../guides/customize-skins.md#style-a-packaged-skin) documents the properties. For deeper changes, the Video.js registry provides the skin files.
|
|
@@ -74,4 +74,22 @@ This native video uses a child source, captions track, and browser controls whil
|
|
|
74
74
|
```ts
|
|
75
75
|
import '@videojs/html/video/player';
|
|
76
76
|
import '@videojs/html/ui/container';
|
|
77
|
-
```
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## API Reference
|
|
80
|
+
|
|
81
|
+
### Attributes
|
|
82
|
+
|
|
83
|
+
Accepts the standard `<video>` attributes. See the [MDN `<video>` reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/video): `autoplay`, `controls`, `controlslist`, `crossorigin`, `disablepictureinpicture`, `disableremoteplayback`, `height`, `loop`, `muted`, `playsinline`, `poster`, `preload`, `src`, `width`.
|
|
84
|
+
|
|
85
|
+
### Properties
|
|
86
|
+
|
|
87
|
+
Exposes the native media properties. See [`HTMLVideoElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement) for details: `autoplay`, `buffered`, `controls`, `crossOrigin`, `currentSrc`, `currentTime`, `defaultMuted`, `defaultPlaybackRate`, `disablePictureInPicture`, `disableRemotePlayback`, `duration`, `ended`, `error`, `height`, `loop`, `mediaKeys`, `muted`, `networkState`, `paused`, `playbackRate`, `played`, `playsInline`, `poster`, `preload`, `preservesPitch`, `readyState`, `remote`, `seekable`, `seeking`, `sinkId`, `src`, `srcObject`, `textTracks`, `videoHeight`, `videoWidth`, `volume`, `width`.
|
|
88
|
+
|
|
89
|
+
### Methods
|
|
90
|
+
|
|
91
|
+
Supports the native media methods. See [`HTMLVideoElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement) for details: `addTextTrack`, `cancelVideoFrameCallback`, `canPlayType`, `fastSeek`, `getVideoPlaybackQuality`, `load`, `pause`, `play`, `requestPictureInPicture`, `requestVideoFrameCallback`, `setMediaKeys`, `setSinkId`.
|
|
92
|
+
|
|
93
|
+
### Events
|
|
94
|
+
|
|
95
|
+
Fires the standard media events: `abort`, `canplay`, `canplaythrough`, `durationchange`, `emptied`, `encrypted`, `ended`, `enterpictureinpicture`, `error`, `leavepictureinpicture`, `loadeddata`, `loadedmetadata`, `loadstart`, `pause`, `play`, `playing`, `progress`, `ratechange`, `resize`, `seeked`, `seeking`, `stalled`, `suspend`, `timeupdate`, `volumechange`, `waiting`, `waitingforkey`.
|
|
@@ -17,7 +17,7 @@ import '@videojs/html/media/vimeo-video';
|
|
|
17
17
|
Or load it from the [CDN](../../guides/cdn.md):
|
|
18
18
|
|
|
19
19
|
```html
|
|
20
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
20
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/media/vimeo-video.js"></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Load a source
|
|
@@ -119,7 +119,6 @@ These attributes configure the embedded media adapter:
|
|
|
119
119
|
| `muted` | `boolean` | `false` | |
|
|
120
120
|
| `paused` | `boolean` | — | Read-only. |
|
|
121
121
|
| `playbackRate` | `number` | — | |
|
|
122
|
-
| `playbackRateRange` | `{ min: number; max: number }` | — | Read-only. Vimeo plays any rate up to 2, rejects faster ones, and never settles a request slower than the browser allows. |
|
|
123
122
|
| `played` | `{ length: number; start(index: number): number; end(index: number): number }` | — | Read-only. |
|
|
124
123
|
| `playsInline` | `boolean` | `true` | |
|
|
125
124
|
| `poster` | `string` | `''` | |
|
|
@@ -21,7 +21,7 @@ import '@videojs/html/media/wistia-video';
|
|
|
21
21
|
Or load it from the [CDN](../../guides/cdn.md):
|
|
22
22
|
|
|
23
23
|
```html
|
|
24
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
24
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/media/wistia-video.js"></script>
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## Load a source
|
|
@@ -17,7 +17,7 @@ import '@videojs/html/media/youtube-video';
|
|
|
17
17
|
Or load it from the [CDN](../../guides/cdn.md):
|
|
18
18
|
|
|
19
19
|
```html
|
|
20
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.
|
|
20
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.4.0/media/youtube-video.js"></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Load a source
|
|
@@ -98,7 +98,6 @@ These attributes configure the embedded media adapter:
|
|
|
98
98
|
| `muted` | `boolean` | `false` | |
|
|
99
99
|
| `paused` | `boolean` | — | Read-only. |
|
|
100
100
|
| `playbackRate` | `number` | — | |
|
|
101
|
-
| `playbackRateRange` | `{ min: number; max: number }` | — | Read-only. YouTube plays any rate from 0.25 to 2, rounded down to a step of 0.05, though `getAvailablePlaybackRates` lists only quarter steps. |
|
|
102
101
|
| `played` | `{ length: number; start(index: number): number; end(index: number): number }` | — | Read-only. |
|
|
103
102
|
| `playsInline` | `boolean` | `true` | |
|
|
104
103
|
| `poster` | `string` | `''` | |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@videojs/html",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.4.0",
|
|
4
4
|
"description": "Video.js 10 for HTML, Vue, and Svelte: player custom elements and skins for video and audio",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"audio",
|
|
@@ -164,59 +164,59 @@
|
|
|
164
164
|
"access": "public"
|
|
165
165
|
},
|
|
166
166
|
"dependencies": {
|
|
167
|
-
"@videojs/core": "10.
|
|
168
|
-
"@videojs/element": "10.
|
|
169
|
-
"@videojs/media": "10.
|
|
170
|
-
"@videojs/native-hls-video": "10.
|
|
171
|
-
"@videojs/spf": "10.
|
|
172
|
-
"@videojs/store": "10.
|
|
173
|
-
"@videojs/utils": "10.
|
|
167
|
+
"@videojs/core": "10.4.0",
|
|
168
|
+
"@videojs/element": "10.4.0",
|
|
169
|
+
"@videojs/media": "10.4.0",
|
|
170
|
+
"@videojs/native-hls-video": "10.4.0",
|
|
171
|
+
"@videojs/spf": "10.4.0",
|
|
172
|
+
"@videojs/store": "10.4.0",
|
|
173
|
+
"@videojs/utils": "10.4.0"
|
|
174
174
|
},
|
|
175
175
|
"devDependencies": {
|
|
176
|
-
"@videojs/cloudflare-video": "10.
|
|
177
|
-
"@videojs/dailymotion-video": "10.
|
|
178
|
-
"@videojs/dash-video": "10.
|
|
179
|
-
"@videojs/google-analytics": "10.
|
|
180
|
-
"@videojs/google-cast": "10.
|
|
181
|
-
"@videojs/hlsjs-video": "10.
|
|
182
|
-
"@videojs/icons": "10.
|
|
183
|
-
"@videojs/mixcloud-audio": "10.
|
|
184
|
-
"@videojs/mux-audio": "10.
|
|
185
|
-
"@videojs/mux-data": "10.
|
|
186
|
-
"@videojs/mux-video": "10.
|
|
187
|
-
"@videojs/playerjs-video": "10.
|
|
188
|
-
"@videojs/shaka-video": "10.
|
|
189
|
-
"@videojs/skins": "10.
|
|
190
|
-
"@videojs/soundcloud-audio": "10.
|
|
191
|
-
"@videojs/spotify-audio": "10.
|
|
192
|
-
"@videojs/tiktok-video": "10.
|
|
193
|
-
"@videojs/twitch-video": "10.
|
|
194
|
-
"@videojs/vimeo-video": "10.
|
|
195
|
-
"@videojs/wistia-video": "10.
|
|
196
|
-
"@videojs/youtube-video": "10.
|
|
176
|
+
"@videojs/cloudflare-video": "10.4.0",
|
|
177
|
+
"@videojs/dailymotion-video": "10.4.0",
|
|
178
|
+
"@videojs/dash-video": "10.4.0",
|
|
179
|
+
"@videojs/google-analytics": "10.4.0",
|
|
180
|
+
"@videojs/google-cast": "10.4.0",
|
|
181
|
+
"@videojs/hlsjs-video": "10.4.0",
|
|
182
|
+
"@videojs/icons": "10.4.0",
|
|
183
|
+
"@videojs/mixcloud-audio": "10.4.0",
|
|
184
|
+
"@videojs/mux-audio": "10.4.0",
|
|
185
|
+
"@videojs/mux-data": "10.4.0",
|
|
186
|
+
"@videojs/mux-video": "10.4.0",
|
|
187
|
+
"@videojs/playerjs-video": "10.4.0",
|
|
188
|
+
"@videojs/shaka-video": "10.4.0",
|
|
189
|
+
"@videojs/skins": "10.4.0",
|
|
190
|
+
"@videojs/soundcloud-audio": "10.4.0",
|
|
191
|
+
"@videojs/spotify-audio": "10.4.0",
|
|
192
|
+
"@videojs/tiktok-video": "10.4.0",
|
|
193
|
+
"@videojs/twitch-video": "10.4.0",
|
|
194
|
+
"@videojs/vimeo-video": "10.4.0",
|
|
195
|
+
"@videojs/wistia-video": "10.4.0",
|
|
196
|
+
"@videojs/youtube-video": "10.4.0",
|
|
197
197
|
"happy-dom": "^20.11.1",
|
|
198
198
|
"vite-plus": "1.1.0"
|
|
199
199
|
},
|
|
200
200
|
"peerDependencies": {
|
|
201
|
-
"@videojs/cloudflare-video": "10.
|
|
202
|
-
"@videojs/dailymotion-video": "10.
|
|
203
|
-
"@videojs/dash-video": "10.
|
|
204
|
-
"@videojs/google-analytics": "10.
|
|
205
|
-
"@videojs/google-cast": "10.
|
|
206
|
-
"@videojs/hlsjs-video": "10.
|
|
207
|
-
"@videojs/mixcloud-audio": "10.
|
|
208
|
-
"@videojs/mux-audio": "10.
|
|
209
|
-
"@videojs/mux-data": "10.
|
|
210
|
-
"@videojs/mux-video": "10.
|
|
211
|
-
"@videojs/playerjs-video": "10.
|
|
212
|
-
"@videojs/shaka-video": "10.
|
|
213
|
-
"@videojs/soundcloud-audio": "10.
|
|
214
|
-
"@videojs/spotify-audio": "10.
|
|
215
|
-
"@videojs/tiktok-video": "10.
|
|
216
|
-
"@videojs/twitch-video": "10.
|
|
217
|
-
"@videojs/vimeo-video": "10.
|
|
218
|
-
"@videojs/wistia-video": "10.
|
|
219
|
-
"@videojs/youtube-video": "10.
|
|
201
|
+
"@videojs/cloudflare-video": "10.4.0",
|
|
202
|
+
"@videojs/dailymotion-video": "10.4.0",
|
|
203
|
+
"@videojs/dash-video": "10.4.0",
|
|
204
|
+
"@videojs/google-analytics": "10.4.0",
|
|
205
|
+
"@videojs/google-cast": "10.4.0",
|
|
206
|
+
"@videojs/hlsjs-video": "10.4.0",
|
|
207
|
+
"@videojs/mixcloud-audio": "10.4.0",
|
|
208
|
+
"@videojs/mux-audio": "10.4.0",
|
|
209
|
+
"@videojs/mux-data": "10.4.0",
|
|
210
|
+
"@videojs/mux-video": "10.4.0",
|
|
211
|
+
"@videojs/playerjs-video": "10.4.0",
|
|
212
|
+
"@videojs/shaka-video": "10.4.0",
|
|
213
|
+
"@videojs/soundcloud-audio": "10.4.0",
|
|
214
|
+
"@videojs/spotify-audio": "10.4.0",
|
|
215
|
+
"@videojs/tiktok-video": "10.4.0",
|
|
216
|
+
"@videojs/twitch-video": "10.4.0",
|
|
217
|
+
"@videojs/vimeo-video": "10.4.0",
|
|
218
|
+
"@videojs/wistia-video": "10.4.0",
|
|
219
|
+
"@videojs/youtube-video": "10.4.0"
|
|
220
220
|
},
|
|
221
221
|
"peerDependenciesMeta": {
|
|
222
222
|
"@videojs/cloudflare-video": {
|