@videojs/html 10.0.0-rc.5 → 10.0.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 (122) hide show
  1. package/README.md +0 -2
  2. package/dist/default/define/media/dash-video.js +1 -1
  3. package/dist/default/define/media/hls-video.js +1 -1
  4. package/dist/default/define/media/hlsjs-video.js +1 -1
  5. package/dist/default/define/media/native-hls-video.js +1 -1
  6. package/dist/default/extensions/mux-data/extension.js +1 -1
  7. package/dist/default/ui/thumbnail/element.js +2 -2
  8. package/dist/default/version.js +1 -1
  9. package/dist/dev/define/audio/compat-skin2.js.map +1 -1
  10. package/dist/dev/define/audio/neutral-skin2.js.map +1 -1
  11. package/dist/dev/define/audio/skin2.js.map +1 -1
  12. package/dist/dev/define/live-audio/compat-skin2.js.map +1 -1
  13. package/dist/dev/define/live-video/compat-skin2.js.map +1 -1
  14. package/dist/dev/define/live-video/neutral-skin2.js.map +1 -1
  15. package/dist/dev/define/live-video/skin2.js.map +1 -1
  16. package/dist/dev/define/media/dash-video.d.ts +1 -1
  17. package/dist/dev/define/media/dash-video.js +1 -1
  18. package/dist/dev/define/media/dash-video.js.map +1 -1
  19. package/dist/dev/define/media/hls-video.d.ts +1 -1
  20. package/dist/dev/define/media/hls-video.js +1 -1
  21. package/dist/dev/define/media/hls-video.js.map +1 -1
  22. package/dist/dev/define/media/hlsjs-video.d.ts +1 -1
  23. package/dist/dev/define/media/hlsjs-video.js +1 -1
  24. package/dist/dev/define/media/hlsjs-video.js.map +1 -1
  25. package/dist/dev/define/media/native-hls-video.d.ts +1 -1
  26. package/dist/dev/define/media/native-hls-video.js +1 -1
  27. package/dist/dev/define/media/native-hls-video.js.map +1 -1
  28. package/dist/dev/extensions/mux-data/extension.d.ts +1 -1
  29. package/dist/dev/extensions/mux-data/extension.js +1 -1
  30. package/dist/dev/extensions/mux-data/extension.js.map +1 -1
  31. package/dist/dev/ui/thumbnail/element.js +2 -2
  32. package/dist/dev/ui/thumbnail/element.js.map +1 -1
  33. package/dist/dev/version.js +1 -1
  34. package/docs/README.md +1 -1
  35. package/docs/guides/architecture.md +3 -3
  36. package/docs/guides/autoplay.md +3 -3
  37. package/docs/guides/captions.md +5 -5
  38. package/docs/guides/casting.md +5 -5
  39. package/docs/guides/cdn.md +11 -11
  40. package/docs/guides/customize-skins.md +2 -2
  41. package/docs/guides/features.md +1 -1
  42. package/docs/guides/fullscreen.md +1 -1
  43. package/docs/guides/installation-cdn.md +2 -6
  44. package/docs/guides/installation-shadcn.md +4 -8
  45. package/docs/guides/installation-svelte.md +2 -6
  46. package/docs/guides/installation-vue.md +2 -6
  47. package/docs/guides/installation.md +2 -6
  48. package/docs/guides/internationalization.md +5 -5
  49. package/docs/guides/live-streams.md +3 -3
  50. package/docs/guides/llms.txt +5 -4
  51. package/docs/guides/media-sources.md +2 -2
  52. package/docs/guides/migrate-from-media-chrome.md +4 -4
  53. package/docs/guides/migrate-from-mux-player.md +7 -7
  54. package/docs/guides/migrate-from-plyr.md +8 -8
  55. package/docs/guides/migrate-from-video-js-8.md +9 -9
  56. package/docs/guides/migrate-from-vidstack.md +9 -9
  57. package/docs/guides/migrate.md +17 -0
  58. package/docs/guides/mux-data.md +1 -1
  59. package/docs/guides/playback-errors.md +4 -4
  60. package/docs/guides/presets.md +13 -13
  61. package/docs/guides/quality.md +3 -3
  62. package/docs/guides/self-hosting.md +6 -6
  63. package/docs/guides/skins.md +5 -5
  64. package/docs/guides/thumbnails.md +2 -2
  65. package/docs/guides/user-preferences.md +2 -2
  66. package/docs/guides/v10-roadmap.md +19 -54
  67. package/docs/llms.txt +5 -4
  68. package/docs/reference/api/feature-fullscreen.md +2 -2
  69. package/docs/reference/api/feature-metadata.md +2 -2
  70. package/docs/reference/api/feature-source.md +1 -1
  71. package/docs/reference/api/feature-text-tracks.md +2 -2
  72. package/docs/reference/api/llms.txt +1 -1
  73. package/docs/reference/api/media-capabilities.md +1 -1
  74. package/docs/reference/api/player-store.md +3 -3
  75. package/docs/reference/api/preset-audio.md +2 -2
  76. package/docs/reference/api/preset-background.md +3 -3
  77. package/docs/reference/api/preset-live-audio.md +3 -3
  78. package/docs/reference/api/preset-live-video.md +3 -3
  79. package/docs/reference/api/preset-video.md +2 -2
  80. package/docs/reference/api/resolve-adapter-type.md +2 -2
  81. package/docs/reference/api/vjs8-legacy-options.md +1 -1
  82. package/docs/reference/components/audio-compat-skin.md +33 -3
  83. package/docs/reference/components/audio-neutral-skin.md +34 -4
  84. package/docs/reference/components/audio-skin.md +34 -4
  85. package/docs/reference/components/audio.md +1 -1
  86. package/docs/reference/components/background-video-skin.md +36 -4
  87. package/docs/reference/components/background-video.md +1 -1
  88. package/docs/reference/components/cast-button.md +1 -1
  89. package/docs/reference/components/cloudflare-video.md +1 -1
  90. package/docs/reference/components/dash-video.md +1 -1
  91. package/docs/reference/components/google-cast.md +1 -1
  92. package/docs/reference/components/hls-audio.md +1 -1
  93. package/docs/reference/components/hls-background-video.md +1 -1
  94. package/docs/reference/components/hls-video.md +1 -1
  95. package/docs/reference/components/hlsjs-video.md +1 -1
  96. package/docs/reference/components/live-audio-compat-skin.md +35 -4
  97. package/docs/reference/components/live-audio-neutral-skin.md +36 -5
  98. package/docs/reference/components/live-audio-skin.md +36 -5
  99. package/docs/reference/components/live-video-compat-skin.md +36 -4
  100. package/docs/reference/components/live-video-neutral-skin.md +37 -5
  101. package/docs/reference/components/live-video-skin.md +37 -5
  102. package/docs/reference/components/llms.txt +1 -1
  103. package/docs/reference/components/mux-audio.md +2 -2
  104. package/docs/reference/components/mux-background-video.md +1 -1
  105. package/docs/reference/components/mux-data.md +1 -1
  106. package/docs/reference/components/mux-video.md +2 -2
  107. package/docs/reference/components/native-hls-video.md +1 -1
  108. package/docs/reference/components/player-container.md +1 -1
  109. package/docs/reference/components/player.md +4 -4
  110. package/docs/reference/components/shaka-video.md +1 -1
  111. package/docs/reference/components/spotify-audio.md +1 -1
  112. package/docs/reference/components/thumbnail.md +5 -5
  113. package/docs/reference/components/tiktok-video.md +1 -1
  114. package/docs/reference/components/twitch-video.md +1 -1
  115. package/docs/reference/components/video-compat-skin.md +36 -3
  116. package/docs/reference/components/video-neutral-skin.md +37 -4
  117. package/docs/reference/components/video-skin.md +37 -4
  118. package/docs/reference/components/video.md +1 -1
  119. package/docs/reference/components/vimeo-video.md +1 -1
  120. package/docs/reference/components/wistia-video.md +1 -1
  121. package/docs/reference/components/youtube-video.md +1 -1
  122. package/package.json +38 -40
@@ -1,11 +1,18 @@
1
1
  # v10 Roadmap
2
2
 
3
- Timeline and milestones for Video.js v10 rebuild and the future of v8
3
+ Where Video.js v10 stands, what comes after 10.0, and the support plan for Video.js 8
4
4
 
5
5
  Video.js v10 is a complete rebuild from the ground up, designed to be more modular, framework-flexible, and aligned with modern web development practices.
6
6
 
7
7
  ## Current versions
8
8
 
9
+ ### Version 10
10
+
11
+ - Stable and recommended for new projects. Start with the [installation guide](./installation.md)
12
+ - Follows semantic versioning: breaking changes wait for a new major version
13
+ - Covers the fundamentals of Video.js 8
14
+ - Migration guides for [Video.js 8](./migrate-from-video-js-8.md), [Mux Player](./migrate-from-mux-player.md), [Plyr](./migrate-from-plyr.md), [Media Chrome](./migrate-from-media-chrome.md), and [Vidstack](./migrate-from-vidstack.md), each listing its known gaps
15
+
9
16
  ### Version 8
10
17
 
11
18
  - Maintained with bug fixes and critical security patches only
@@ -17,72 +24,30 @@ Video.js v10 is a complete rebuild from the ground up, designed to be more modul
17
24
 
18
25
  - Reserved only for urgent API-breaking changes that cannot be avoided
19
26
 
20
- ## March 2026: v10 Beta Release
21
-
22
- Wider testing release to the community.
23
-
24
- ### Core feature parity target
25
-
26
- - Basic control set (play, pause, seek, volume, fullscreen)
27
- - Adaptive streaming support via existing community engines
28
- - No plugin migrations yet, without plugin author contribution
29
-
30
- ### What to expect
31
-
32
- - Close to stable, but API changes are still possible
33
- - Intended for experimental adoption in real-world projects
34
- - Developers encouraged to follow the [installation guide](./installation.md), try it out, and report issues
35
-
36
- ## September 2026: v10 Release Candidate
37
-
38
- Feature-complete release ahead of GA.
39
-
40
- ### What to expect
41
-
42
- - Close to stable. Remaining API changes are driven by feedback on the release candidate
43
- - Intended for adoption in real-world projects
44
- - Migration guides and reference documentation ready for review
27
+ ## After 10.0
45
28
 
46
- ## Fall 2026: v10 GA Release
29
+ These land in 10.x minor releases as they’re ready.
47
30
 
48
- **Stable release** of Video.js v10
31
+ ### Feature parity with Video.js 8 contrib
49
32
 
50
- ### Feature targets
51
-
52
- - Core feature parity with v8 in terms of fundamentals
53
- - Feature parity with Media Chrome, Vidstack, Plyr, and Mux Player
54
- - Community encouraged to begin full reintegration projects, following the migration guides for [Video.js 8](./migrate-from-video-js-8.md), [Mux Player](./migrate-from-mux-player.md), [Plyr](./migrate-from-plyr.md), [Media Chrome](./migrate-from-media-chrome.md), and [Vidstack](./migrate-from-vidstack.md)
55
- - Plugin ecosystem migration begins in earnest
33
+ - Ads integration
34
+ - Analytics support
35
+ - Plugin ecosystem migration, dependent on community contributions
56
36
 
57
37
  ### Engine development focus
58
38
 
59
39
  - Lightweight adaptive streaming
60
40
  - MoQ (Media over QUIC) support
61
41
 
62
- ## Late-2026: Feature parity with v8 Contrib
63
-
64
- **Extended feature parity** with Video.js “contrib” plugins:
65
-
66
- - Ads integration
67
- - Analytics support
68
- - Further community plugin migration dependent on contributions
69
-
70
- ## End-of-life plan for Video.js v8
71
-
72
- ### Mid-2026
73
-
74
- - v8/v9 moved to “video.js-legacy” repository and package
75
- - Documentation preserved at [legacy.videojs.org](https://legacy.videojs.org)
76
- - Hosted CDN copies will remain available
77
-
78
- ### 2027 and beyond
42
+ ## Support plan for Video.js 8
79
43
 
80
- - Security patches only
81
- - Community contributions de-prioritized
44
+ - Documentation stays at [legacy.videojs.org](https://legacy.videojs.org)
45
+ - Hosted CDN copies remain available
46
+ - From 2027, security patches only, and community contributions are de-prioritized
82
47
 
83
48
  ---
84
49
 
85
- **Want to contribute?** Check out the [v10 repository on GitHub](https://github.com/videojs/v10) to get involved in the rebuild
50
+ **Want to contribute?** Check out the [v10 repository on GitHub](https://github.com/videojs/v10) to get involved.
86
51
 
87
52
  ## Related pages
88
53
 
package/docs/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Video.js v10 — HTML Documentation
2
2
 
3
- > Bundled with `@videojs/html` v10.0.0-rc.5. Links are relative paths to files in this directory.
3
+ > Bundled with `@videojs/html` v10.0.1. Links are relative paths to files in this directory.
4
4
 
5
5
  > Install the [Video.js skill](https://github.com/videojs/skills) to help AI coding agents find version-matched pages from this index.
6
6
 
@@ -31,7 +31,7 @@ Install Video.js, customize a skin, understand its main pieces, check browser an
31
31
  - [Why Video.js?](./guides/why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
32
32
  - [Browser support](./guides/browser-support.md): Browsers and rendering environments supported by Video.js 10, and how the packaged skins reach them
33
33
  - [Build with AI](./guides/build-with-ai.md): Install the Video.js skill and give AI coding agents version-matched docs for building and migrating players
34
- - [v10 Roadmap](./guides/v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
34
+ - [v10 Roadmap](./guides/v10-roadmap.md): Where Video.js v10 stands, what comes after 10.0, and the support plan for Video.js 8
35
35
  - [Contribute to Video.js](https://github.com/videojs/v10/blob/main/CONTRIBUTING.md)
36
36
 
37
37
  ### Frameworks
@@ -57,10 +57,10 @@ Understanding-oriented pages that explain how and why things work. Read these to
57
57
 
58
58
  - [Features](./guides/features.md): The state and actions each feature adds to the player
59
59
  - [Skins](./guides/skins.md): Packaged player designs that include both UI components and their styles.
60
- - [Presets](./guides/presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
60
+ - [Presets](./guides/presets.md): Pre-packaged player configurations that bundle state management, skins, and media components for specific use cases.
61
61
  - [UI components](./guides/ui-components.md): How Video.js UI components use focused elements, data attributes for state, and compound composition.
62
62
  - [Accessibility](./guides/accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
63
- - [Media sources](./guides/media-sources.md): Set what a media element plays and how its engine plays it with the structured source property
63
+ - [Media sources](./guides/media-sources.md): Set what a media component plays and how its engine plays it with the structured source property
64
64
 
65
65
  ### Playback
66
66
 
@@ -87,6 +87,7 @@ Guides for one player capability each: the recommended setup, how it works, brow
87
87
 
88
88
  Guides for moving an existing player integration to Video.js v10, one per player you might be coming from.
89
89
 
90
+ - [Migrate to Video.js v10](./guides/migrate.md): Understand how Video.js v10 differs from the players it brings together, and choose the migration guide for the player you use today.
90
91
  - [Migrate from Video.js 8](./guides/migrate-from-video-js-8.md): Move a Video.js 8 integration to v10, mapping the options object, techs, plugins, and player API onto composed components
91
92
  - [Migrate from Mux Player](./guides/migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10 using a player, media component, skin, and analytics extension
92
93
  - [Migrate from Plyr](./guides/migrate-from-plyr.md): Move an existing Plyr integration to Video.js v10, mapping Plyr options and its instance API onto components and player state
@@ -2,7 +2,7 @@
2
2
 
3
3
  Fullscreen state and actions for the player store
4
4
 
5
- Controls fullscreen mode. Tries the container element first, falls back to the media element.
5
+ Controls fullscreen mode. Tries the container element first, falls back to the media component.
6
6
 
7
7
  ## Import
8
8
 
@@ -25,7 +25,7 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
25
25
 
26
26
  | Action | Type | Description |
27
27
  | --- | --- | --- |
28
- | `requestFullscreen` | `() => Promise<void>` | Enter fullscreen mode. Tries container first, falls back to media element. |
28
+ | `requestFullscreen` | `() => Promise<void>` | Enter fullscreen mode. Tries container first, falls back to media component. |
29
29
  | `exitFullscreen` | `() => Promise<void>` | Exit fullscreen mode. |
30
30
 
31
31
  ### Selector
@@ -34,7 +34,7 @@ Attributes and matching properties the player element accepts. They exist only w
34
34
  | Property | Type | Description |
35
35
  | --- | --- | --- |
36
36
  | `title` | `string` | The resolved content title. Set it through the player, not through the store. |
37
- | `poster` | `string` | The resolved poster URL, independent of the media element's own `poster`. Set it through the player, not through the store. |
37
+ | `poster` | `string` | The resolved poster URL, independent of the media component's own `poster`. Set it through the player, not through the store. |
38
38
 
39
39
  ### Selector
40
40
 
@@ -88,6 +88,6 @@ The flow between an attribute and its property runs one way: an attribute change
88
88
 
89
89
  The media tier comes from media that reports content data and announces changes to it, and it covers `title` and `poster`. A media reports only the keys it can vouch for, so either may be absent while the other arrives. A key that never arrives means that tier never contributes, and the resolved value is whatever you set. Detaching the media clears its values; the values you set survive and apply to the next source.
90
90
 
91
- `poster` is the feature’s own resolved value, not the media element’s `poster` attribute. Setting one does not set the other.
91
+ `poster` is the feature’s own resolved value, not the media component’s `poster` attribute. Setting one does not set the other.
92
92
 
93
93
  A low-resolution stand-in to show while the poster loads is not part of this feature. The [poster](../components/poster.md) renders an `<img>` you control, so give it a `background-image` and that shows until the poster itself paints over it. [Add a poster and loading placeholder](../../guides/poster.md) walks through that technique for each framework.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Media source state and actions for the player store
4
4
 
5
- Tracks the loaded media resource and how much of it is ready. To change the source, set `src` or `source` on the media element, which also carries type and engine configuration.
5
+ Tracks the loaded media resource and how much of it is ready. To change the source, set `src` or `source` on the media component, which also carries type and engine configuration.
6
6
 
7
7
  ## Import
8
8
 
@@ -6,7 +6,7 @@ Manages subtitles, captions, chapters, and thumbnail tracks.
6
6
 
7
7
  A default `kind="chapters"` track can also divide the [time slider](../components/time-slider.md) into chapter ranges and label the chapter at the current interaction position.
8
8
 
9
- `thumbnailsTrack` is the first `kind="metadata"` track labeled `thumbnails`, or `null` when there is none. Its `crossOrigin` reports the media element’s CORS mode, or `null` when the media is not CORS-enabled. [Thumbnail](../components/thumbnail.md) reads it to fetch sprite sheets the same way the browser fetched the track.
9
+ `thumbnailsTrack` is the first `kind="metadata"` track labeled `thumbnails`, or `null` when there is none. Its `crossOrigin` reports the media component’s CORS mode, or `null` when the media is not CORS-enabled. [Thumbnail](../components/thumbnail.md) reads it to fetch sprite sheets the same way the browser fetched the track.
10
10
 
11
11
  ## Import
12
12
 
@@ -22,7 +22,7 @@ The `liveVideoFeatures` and `videoFeatures` [feature bundles](../../guides/prese
22
22
 
23
23
  | Property | Type | Description |
24
24
  | --- | --- | --- |
25
- | `textTrackList` | `MediaTextTrack[]` | All text tracks available on the media element. |
25
+ | `textTrackList` | `MediaTextTrack[]` | All text tracks available on the media component. |
26
26
  | `subtitlesShowing` | `boolean` | Whether a captions/subtitles track is showing. |
27
27
  | `chaptersCues` | `MediaTextCue[]` | Cues from the first `kind="chapters"` track, with cue ends clamped to a finite media duration. |
28
28
  | `thumbnailsTrack` | `{ cues: MediaTextCue[]; src: string \| null; crossOrigin: 'anonymous' \| 'use-credentials' \| null } \| null` | The first thumbnails track, or `null` when there is none. |
@@ -1,6 +1,6 @@
1
1
  # Video.js v10 — HTML API
2
2
 
3
- > API reference for the player factory, presets, store controllers, features, translation tools, and utilities. Bundled with `@videojs/html` v10.0.0-rc.5. Links are relative paths to files in this directory.
3
+ > API reference for the player factory, presets, store controllers, features, translation tools, and utilities. Bundled with `@videojs/html` v10.0.1. Links are relative paths to files in this directory.
4
4
 
5
5
  ## Player
6
6
 
@@ -14,7 +14,7 @@ Every guard on this page is a named export of the same package.
14
14
 
15
15
  ## Usage
16
16
 
17
- The player element’s `store.target` holds the media the player attached. It’s `null` until a media element inside the player registers, so read it when you need it rather than once at startup:
17
+ The player element’s `store.target` holds the media the player attached. It’s `null` until a media component inside the player registers, so read it when you need it rather than once at startup:
18
18
 
19
19
  **index.ts**
20
20
 
@@ -45,7 +45,7 @@ Each feature links to the same entry on its reference page.
45
45
  | `setMuted` | `(muted: boolean) => boolean` | [`volumeFeature`](./feature-volume.md#volume-action-setMuted) | Set the muted state, updating the store immediately. Unmuting at volume 0 restores volume to 0.25. Returns the new muted value. |
46
46
  | `isFullscreen` | `boolean` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-state-isFullscreen) | Whether fullscreen mode is currently active. |
47
47
  | `fullscreenAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-state-fullscreenAvailability) | Whether fullscreen can be requested on this platform. |
48
- | `requestFullscreen` | `() => Promise<void>` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-action-requestFullscreen) | Enter fullscreen mode. Tries container first, falls back to media element. |
48
+ | `requestFullscreen` | `() => Promise<void>` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-action-requestFullscreen) | Enter fullscreen mode. Tries container first, falls back to media component. |
49
49
  | `exitFullscreen` | `() => Promise<void>` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-action-exitFullscreen) | Exit fullscreen mode. |
50
50
  | `userActive` | `boolean` | [`controlsFeature`](./feature-controls.md#controls-state-userActive) | Whether the user has recently interacted with the player. |
51
51
  | `controlsVisible` | `boolean` | [`controlsFeature`](./feature-controls.md#controls-state-controlsVisible) | Whether controls should be visible. |
@@ -53,7 +53,7 @@ Each feature links to the same entry on its reference page.
53
53
  | `toggleControls` | `(forceShow?: boolean) => boolean` | [`controlsFeature`](./feature-controls.md#controls-action-toggleControls) | Toggle controls visibility, or force it with `forceShow`. Returns the new `controlsVisible` value. |
54
54
  | `buffered` | `[number, number][]` | [`bufferFeature`](./feature-buffer.md#buffer-state-buffered) | Buffered time ranges as \[start, end\] tuples. |
55
55
  | `seekable` | `[number, number][]` | [`bufferFeature`](./feature-buffer.md#buffer-state-seekable) | Seekable time ranges as \[start, end\] tuples. |
56
- | `textTrackList` | `MediaTextTrack[]` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-textTrackList) | All text tracks available on the media element. |
56
+ | `textTrackList` | `MediaTextTrack[]` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-textTrackList) | All text tracks available on the media component. |
57
57
  | `subtitlesShowing` | `boolean` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-subtitlesShowing) | Whether a captions/subtitles track is showing. |
58
58
  | `chaptersCues` | `MediaTextCue[]` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-chaptersCues) | Cues from the first `kind="chapters"` track, with cue ends clamped to a finite media duration. |
59
59
  | `thumbnailsTrack` | `{ cues: MediaTextCue[]; src: string \| null; crossOrigin: 'anonymous' \| 'use-credentials' \| null } \| null` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-thumbnailsTrack) | The first thumbnails track, or `null` when there is none. |
@@ -69,7 +69,7 @@ Each feature links to the same entry on its reference page.
69
69
  | `error` | `{ code: number; message: string } \| null` | [`errorFeature`](./feature-error.md#error-state-error) | The current media error, or null if none. |
70
70
  | `dismissError` | `() => void` | [`errorFeature`](./feature-error.md#error-action-dismissError) | Dismiss the current error by clearing it. |
71
71
  | `title` | `string` | [`metadataFeature`](./feature-metadata.md#metadata-state-title) | The resolved content title. Set it through the player, not through the store. |
72
- | `poster` | `string` | [`metadataFeature`](./feature-metadata.md#metadata-state-poster) | The resolved poster URL, independent of the media element's own `poster`. Set it through the player, not through the store. |
72
+ | `poster` | `string` | [`metadataFeature`](./feature-metadata.md#metadata-state-poster) | The resolved poster URL, independent of the media component's own `poster`. Set it through the player, not through the store. |
73
73
  | `currentSrc` | `string` | [`sourceFeature`](./feature-source.md#source-state-currentSrc) | Current media source URL (empty string if none). |
74
74
  | `canPlay` | `boolean` | [`sourceFeature`](./feature-source.md#source-state-canPlay) | Whether enough data is loaded to begin playback. |
75
75
  | `videoRenditionList` | `MediaVideoRendition[]` | [`qualityFeature`](./feature-quality.md#quality-state-videoRenditionList) | Video renditions available for manual quality selection. |
@@ -14,7 +14,7 @@ import '@videojs/html/audio/skin';
14
14
  Import `@videojs/html/audio/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
15
 
16
16
  ```html
17
- <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0-rc.5/audio.js"></script>
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/audio.js"></script>
18
18
  ```
19
19
 
20
20
  `audio-neutral.js` registers the neutral skin instead, and `audio-player.js` registers `<audio-player>` alone.
@@ -91,7 +91,7 @@ customElements.define('my-audio-player', PlayerElement);
91
91
 
92
92
  ## Media
93
93
 
94
- The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media element of its own. Swap it for any compatible [media element](../../guides/media-sources.md), such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
94
+ The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media component of its own. Swap it for any compatible [media component](../../guides/media-sources.md), such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
95
95
 
96
96
  ## Exports
97
97
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  The background video preset — a player, feature bundle, skin, and media for ambient video with no controls
4
4
 
5
- `@videojs/html/background` is the preset for ambient background video with no user controls. It bundles the `<background-video-player>` element, the `backgroundFeatures` bundle it is configured with, one chrome-less skin, and the `<background-video>` media element, which autoplays, mutes, and loops. See [Presets](../../guides/presets.md) for how presets fit together and [Background video](../../guides/background-video.md) for building one.
5
+ `@videojs/html/background` is the preset for ambient background video with no user controls. It bundles the `<background-video-player>` element, the `backgroundFeatures` bundle it is configured with, one chrome-less skin, and the `<background-video>` media component, which autoplays, mutes, and loops. See [Presets](../../guides/presets.md) for how presets fit together and [Background video](../../guides/background-video.md) for building one.
6
6
 
7
7
  ## Import
8
8
 
@@ -15,7 +15,7 @@ import '@videojs/html/background/video';
15
15
  Or load the [CDN](../../guides/cdn.md) bundle that registers all three:
16
16
 
17
17
  ```html
18
- <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0-rc.5/background.js"></script>
18
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/background.js"></script>
19
19
  ```
20
20
 
21
21
  Unlike the other presets, the background preset has one bundle and no player-only bundle.
@@ -52,7 +52,7 @@ The preset root also exports a `PlayerController` bound to the background player
52
52
 
53
53
  ## Feature bundle
54
54
 
55
- `backgroundFeatures` is the array of [features](../../guides/features.md) the player is configured with. The background media element handles autoplay, muting, and looping on its own:
55
+ `backgroundFeatures` is the array of [features](../../guides/features.md) the player is configured with. The background media component handles autoplay, muting, and looping on its own:
56
56
 
57
57
  `backgroundFeatures` is currently empty, so the player's store holds no feature state or actions.
58
58
 
@@ -14,14 +14,14 @@ import '@videojs/html/live-audio/skin';
14
14
  Import `@videojs/html/live-audio/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
15
 
16
16
  ```html
17
- <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0-rc.5/live-audio.js"></script>
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/live-audio.js"></script>
18
18
  ```
19
19
 
20
20
  `live-audio-neutral.js` registers the neutral skin instead, and `live-audio-player.js` registers `<live-audio-player>` alone.
21
21
 
22
22
  ## Usage
23
23
 
24
- Live streams are usually HLS, so this example plays through an HLS media element instead of the preset’s native audio.
24
+ Live streams are usually HLS, so this example plays through an HLS media component instead of the preset’s native audio.
25
25
 
26
26
  **index.html**
27
27
 
@@ -94,7 +94,7 @@ customElements.define('my-live-audio-player', PlayerElement);
94
94
 
95
95
  ## Media
96
96
 
97
- The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media element of its own. Most browsers need a streaming [media element](../../guides/media-sources.md) to play a live source, such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
97
+ The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media component of its own. Most browsers need a streaming [media component](../../guides/media-sources.md) to play a live source, such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
98
98
 
99
99
  ## Exports
100
100
 
@@ -14,14 +14,14 @@ import '@videojs/html/live-video/skin';
14
14
  Import `@videojs/html/live-video/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
15
 
16
16
  ```html
17
- <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0-rc.5/live-video.js"></script>
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/live-video.js"></script>
18
18
  ```
19
19
 
20
20
  `live-video-neutral.js` registers the neutral skin instead, and `live-video-player.js` registers `<live-video-player>` alone.
21
21
 
22
22
  ## Usage
23
23
 
24
- Live streams are usually HLS, so this example plays through an HLS media element instead of the preset’s native video.
24
+ Live streams are usually HLS, so this example plays through an HLS media component instead of the preset’s native video.
25
25
 
26
26
  **index.html**
27
27
 
@@ -99,7 +99,7 @@ customElements.define('my-live-video-player', PlayerElement);
99
99
 
100
100
  ## Media
101
101
 
102
- The preset plays through a native [`<video>`](../components/video.md), so it registers no media element of its own. Most browsers need a streaming [media element](../../guides/media-sources.md) to play a live source, such as [`<hlsjs-video>`](../components/hlsjs-video.md) for HLS.
102
+ The preset plays through a native [`<video>`](../components/video.md), so it registers no media component of its own. Most browsers need a streaming [media component](../../guides/media-sources.md) to play a live source, such as [`<hlsjs-video>`](../components/hlsjs-video.md) for HLS.
103
103
 
104
104
  ## Exports
105
105
 
@@ -14,7 +14,7 @@ import '@videojs/html/video/skin';
14
14
  Import `@videojs/html/video/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
15
 
16
16
  ```html
17
- <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0-rc.5/video.js"></script>
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/video.js"></script>
18
18
  ```
19
19
 
20
20
  `video-neutral.js` registers the neutral skin instead, and `video-player.js` registers `<video-player>` alone.
@@ -98,7 +98,7 @@ customElements.define('my-video-player', PlayerElement);
98
98
 
99
99
  ## Media
100
100
 
101
- The preset plays through a native [`<video>`](../components/video.md), so it registers no media element of its own. Swap it for any compatible [media element](../../guides/media-sources.md), such as [`<hlsjs-video>`](../components/hlsjs-video.md) for HLS.
101
+ The preset plays through a native [`<video>`](../components/video.md), so it registers no media component of its own. Swap it for any compatible [media component](../../guides/media-sources.md), such as [`<hlsjs-video>`](../components/hlsjs-video.md) for HLS.
102
102
 
103
103
  ## Exports
104
104
 
@@ -14,7 +14,7 @@ Resolution is a pure string check. It doesn’t fetch the source, load an engine
14
14
 
15
15
  ## Usage
16
16
 
17
- Look up the media element for the result and give it the same `src`:
17
+ Look up the media component for the result and give it the same `src`:
18
18
 
19
19
  ```ts
20
20
  import { resolveAdapterType } from '@videojs/html';
@@ -39,7 +39,7 @@ Each media module you import adds its engine to your bundle, so import the rarel
39
39
 
40
40
  ### Adapter types
41
41
 
42
- | Adapter type | Recognized sources | Media element |
42
+ | Adapter type | Recognized sources | Media component |
43
43
  | --- | --- | --- |
44
44
  | `youtube` | `youtube.com`, `youtu.be`, and `youtube-nocookie.com` video and playlist URLs | `<youtube-video>` |
45
45
  | `vimeo` | `vimeo.com` and `player.vimeo.com` URLs | `<vimeo-video>` |
@@ -12,7 +12,7 @@ videojs.options.autoplay = true;
12
12
 
13
13
  ## Video.js 10 equivalent
14
14
 
15
- Set attributes on `<video-player>`, `<video-skin>`, and the media element.
15
+ Set attributes on `<video-player>`, `<video-skin>`, and the media component.
16
16
 
17
17
  See [Migrate from Video.js 8](../../guides/migrate-from-video-js-8.md) for the full setup.
18
18
 
@@ -10,14 +10,14 @@ The Compat skin of the audio preset provides basic controls and plain surfaces,
10
10
  import '@videojs/html/audio/compat-skin';
11
11
  ```
12
12
 
13
- ## Usage
13
+ ## Anatomy
14
14
 
15
- The skin goes between the player and the media element. It renders its controls around the media.
15
+ The skin goes between the player and the media component. It renders its controls around the media.
16
16
 
17
17
  ```html
18
18
  <audio-player>
19
19
  <audio-compat-skin>
20
- <audio src="audio.mp3"></audio>
20
+ <audio></audio>
21
21
  </audio-compat-skin>
22
22
  </audio-player>
23
23
  ```
@@ -26,6 +26,36 @@ The skin goes between the player and the media element. It renders its controls
26
26
 
27
27
  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.
28
28
 
29
+ ## Examples
30
+
31
+ ### Basic Usage
32
+
33
+ **index.html**
34
+
35
+ ```html
36
+ <audio-player>
37
+ <audio-compat-skin class="html-audio-compat-skin-basic">
38
+ <audio src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/audio.m4a" crossorigin="anonymous"></audio>
39
+ </audio-compat-skin>
40
+ </audio-player>
41
+ ```
42
+
43
+ **index.css**
44
+
45
+ ```css
46
+ .html-audio-compat-skin-basic {
47
+ display: block;
48
+ width: 100%;
49
+ }
50
+ ```
51
+
52
+ **index.ts**
53
+
54
+ ```ts
55
+ import '@videojs/html/audio/player';
56
+ import '@videojs/html/audio/compat-skin';
57
+ ```
58
+
29
59
  ## Own the UI
30
60
 
31
61
  Packaged skins keep their controls and layout inside Video.js. When you need to add, remove, rearrange, or deeply restyle controls, use Shadcn to add the skin source to your project. Its components, layout, styles, and interactions become local files you can change.
@@ -13,17 +13,17 @@ import '@videojs/html/audio/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.0.0-rc.5/audio-neutral.js"></script>
16
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/audio-neutral.js"></script>
17
17
  ```
18
18
 
19
- ## Usage
19
+ ## Anatomy
20
20
 
21
- The skin goes between the player and the media element. It renders its controls around the media.
21
+ The skin goes between the player and the media component. It renders its controls around the media.
22
22
 
23
23
  ```html
24
24
  <audio-player>
25
25
  <audio-neutral-skin>
26
- <audio src="audio.mp3"></audio>
26
+ <audio></audio>
27
27
  </audio-neutral-skin>
28
28
  </audio-player>
29
29
  ```
@@ -32,6 +32,36 @@ The skin goes between the player and the media element. It renders its controls
32
32
 
33
33
  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.
34
34
 
35
+ ## Examples
36
+
37
+ ### Basic Usage
38
+
39
+ **index.html**
40
+
41
+ ```html
42
+ <audio-player>
43
+ <audio-neutral-skin class="html-audio-neutral-skin-basic">
44
+ <audio src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/audio.m4a" crossorigin="anonymous"></audio>
45
+ </audio-neutral-skin>
46
+ </audio-player>
47
+ ```
48
+
49
+ **index.css**
50
+
51
+ ```css
52
+ .html-audio-neutral-skin-basic {
53
+ display: block;
54
+ width: 100%;
55
+ }
56
+ ```
57
+
58
+ **index.ts**
59
+
60
+ ```ts
61
+ import '@videojs/html/audio/player';
62
+ import '@videojs/html/audio/neutral-skin';
63
+ ```
64
+
35
65
  ## Own the UI
36
66
 
37
67
  Packaged skins keep their controls and layout inside Video.js. When you need to add, remove, rearrange, or deeply restyle controls, use Shadcn to add the skin source to your project. Its components, layout, styles, and interactions become local files you can change.
@@ -13,17 +13,17 @@ import '@videojs/html/audio/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.0.0-rc.5/audio.js"></script>
16
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.1/audio.js"></script>
17
17
  ```
18
18
 
19
- ## Usage
19
+ ## Anatomy
20
20
 
21
- The skin goes between the player and the media element. It renders its controls around the media.
21
+ The skin goes between the player and the media component. It renders its controls around the media.
22
22
 
23
23
  ```html
24
24
  <audio-player>
25
25
  <audio-skin>
26
- <audio src="audio.mp3"></audio>
26
+ <audio></audio>
27
27
  </audio-skin>
28
28
  </audio-player>
29
29
  ```
@@ -32,6 +32,36 @@ The skin goes between the player and the media element. It renders its controls
32
32
 
33
33
  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.
34
34
 
35
+ ## Examples
36
+
37
+ ### Basic Usage
38
+
39
+ **index.html**
40
+
41
+ ```html
42
+ <audio-player>
43
+ <audio-skin class="html-audio-skin-basic">
44
+ <audio src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/audio.m4a" crossorigin="anonymous"></audio>
45
+ </audio-skin>
46
+ </audio-player>
47
+ ```
48
+
49
+ **index.css**
50
+
51
+ ```css
52
+ .html-audio-skin-basic {
53
+ display: block;
54
+ width: 100%;
55
+ }
56
+ ```
57
+
58
+ **index.ts**
59
+
60
+ ```ts
61
+ import '@videojs/html/audio/player';
62
+ import '@videojs/html/audio/skin';
63
+ ```
64
+
35
65
  ## Own the UI
36
66
 
37
67
  Packaged skins keep their controls and layout inside Video.js. When you need to add, remove, rearrange, or deeply restyle controls, use Shadcn to add the skin source to your project. Its components, layout, styles, and interactions become local files you can change.
@@ -4,7 +4,7 @@ Native audio playback that can provide media to a Video.js player
4
4
 
5
5
  ## Import
6
6
 
7
- The media element is the browser’s native `<audio>`. Import the audio player registration when it should provide media to Video.js:
7
+ The media component is the browser’s native `<audio>`. Import the audio player registration when it should provide media to Video.js:
8
8
 
9
9
  ```ts
10
10
  import '@videojs/html/audio/player';