@fusion.dev/helix-headless 0.0.0-dev → 0.0.3
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/custom-elements.json +4513 -4483
- package/dist/accordion/item/accordion-item.d.ts +13 -15
- package/dist/accordion/item/accordion-item.js +15 -17
- package/dist/announcement/root/announcement-root.d.ts +7 -25
- package/dist/announcement/root/announcement-root.js +7 -20
- package/dist/app-header/root/app-header-root.d.ts +10 -17
- package/dist/app-header/root/app-header-root.js +9 -18
- package/dist/avatar/group/avatar-group.d.ts +10 -19
- package/dist/avatar/group/avatar-group.js +12 -17
- package/dist/avatar/root/avatar-root.d.ts +8 -8
- package/dist/avatar/root/avatar-root.js +19 -20
- package/dist/badge/root/badge-root.d.ts +6 -6
- package/dist/badge/root/badge-root.js +13 -13
- package/dist/bar-chart/root/bar-chart-root.d.ts +21 -29
- package/dist/bar-chart/root/bar-chart-root.js +42 -57
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +12 -18
- package/dist/breadcrumbs/breadcrumb/breadcrumb.js +13 -16
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +9 -28
- package/dist/breadcrumbs/root/breadcrumbs-root.js +9 -28
- package/dist/button/root/button-root.d.ts +84 -94
- package/dist/button/root/button-root.js +82 -92
- package/dist/callout/root/callout-root.d.ts +4 -5
- package/dist/carousel/root/carousel-root.d.ts +59 -71
- package/dist/carousel/root/carousel-root.js +73 -101
- package/dist/chat/composer/chat-composer.d.ts +29 -33
- package/dist/chat/composer/chat-composer.js +40 -44
- package/dist/chat/message/chat-message.d.ts +25 -25
- package/dist/chat/message/chat-message.js +26 -26
- package/dist/chat/root/chat-root.d.ts +28 -41
- package/dist/chat/root/chat-root.js +27 -40
- package/dist/checkbox/root/checkbox-root.d.ts +10 -12
- package/dist/checkbox/root/checkbox-root.js +29 -35
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +32 -45
- package/dist/checkbox-group/root/checkbox-group-root.js +53 -79
- package/dist/code-block/root/code-block-root.d.ts +3 -4
- package/dist/code-block/root/code-block-root.js +8 -12
- package/dist/color-input/root/color-input-root.d.ts +36 -37
- package/dist/color-input/root/color-input-root.js +29 -34
- package/dist/color-picker/color.d.ts +7 -8
- package/dist/color-picker/color.js +7 -8
- package/dist/color-picker/root/color-picker-root.d.ts +55 -57
- package/dist/color-picker/root/color-picker-root.js +60 -64
- package/dist/combobox/root/combobox-root.d.ts +53 -58
- package/dist/combobox/root/combobox-root.js +85 -94
- package/dist/command/root/command-root.d.ts +8 -8
- package/dist/command/root/command-root.js +29 -33
- package/dist/copy-button/root/copy-button-root.d.ts +21 -24
- package/dist/copy-button/root/copy-button-root.js +25 -35
- package/dist/data-table/root/data-table-root.d.ts +77 -76
- package/dist/data-table/root/data-table-root.js +95 -84
- package/dist/data-table/root/order.d.ts +2 -2
- package/dist/data-table/root/order.js +1 -3
- package/dist/date-input/root/date-input-root.d.ts +88 -93
- package/dist/date-input/root/date-input-root.js +147 -158
- package/dist/date-picker/root/date-picker-root.d.ts +75 -83
- package/dist/date-picker/root/date-picker-root.js +120 -143
- package/dist/dialog/root/dialog-root.d.ts +41 -24
- package/dist/dialog/root/dialog-root.js +47 -24
- package/dist/divider/root/divider-root.d.ts +5 -6
- package/dist/divider/root/divider-root.js +4 -5
- package/dist/donut-chart/root/donut-chart-root.d.ts +22 -25
- package/dist/donut-chart/root/donut-chart-root.js +37 -51
- package/dist/drawer/root/drawer-root.d.ts +24 -29
- package/dist/drawer/root/drawer-root.js +15 -22
- package/dist/drilldown/item/drilldown-item.d.ts +14 -14
- package/dist/drilldown/item/drilldown-item.js +24 -26
- package/dist/drilldown/root/drilldown-root.d.ts +8 -10
- package/dist/drilldown/root/drilldown-root.js +6 -7
- package/dist/element-events.generated.js +1 -1
- package/dist/file-input/root/file-input-root.d.ts +20 -24
- package/dist/file-input/root/file-input-root.js +42 -57
- package/dist/format-date/root/format-date-root.js +1 -1
- package/dist/heatmap/root/buckets.d.ts +8 -8
- package/dist/heatmap/root/buckets.js +8 -8
- package/dist/heatmap/root/heatmap-root.d.ts +57 -63
- package/dist/heatmap/root/heatmap-root.js +72 -83
- package/dist/icon/root/icon-root.d.ts +4 -4
- package/dist/icon/root/icon-root.js +9 -9
- package/dist/icon-button/root/icon-button-root.d.ts +4 -6
- package/dist/icon-button/root/icon-button-root.js +4 -6
- package/dist/image/root/image-root.d.ts +49 -59
- package/dist/image/root/image-root.js +55 -65
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/input/root/input-root.d.ts +61 -85
- package/dist/input/root/input-root.js +79 -106
- package/dist/kbd/root/kbd-root.d.ts +8 -7
- package/dist/kbd/root/kbd-root.js +71 -11
- package/dist/legend/root/legend-root.d.ts +1 -1
- package/dist/legend/root/legend-root.js +4 -5
- package/dist/line-chart/root/line-chart-root.d.ts +26 -30
- package/dist/line-chart/root/line-chart-root.js +10 -10
- package/dist/list/item/list-item.d.ts +14 -18
- package/dist/list/item/list-item.js +18 -22
- package/dist/list/root/list-root.d.ts +4 -4
- package/dist/list/root/list-root.js +3 -3
- package/dist/listbox/root/listbox-root.d.ts +31 -58
- package/dist/listbox/root/listbox-root.js +66 -109
- package/dist/megamenu/root/megamenu-root.d.ts +34 -35
- package/dist/megamenu/root/megamenu-root.js +53 -58
- package/dist/menu/item/menu-item.d.ts +39 -53
- package/dist/menu/item/menu-item.js +50 -64
- package/dist/menu/root/menu-root.d.ts +30 -40
- package/dist/menu/root/menu-root.js +49 -82
- package/dist/meter/root/meter-root.d.ts +49 -53
- package/dist/meter/root/meter-root.js +22 -27
- package/dist/navigation/root/navigation-root.js +11 -19
- package/dist/notifications/notification/notification.d.ts +16 -22
- package/dist/notifications/notification/notification.js +21 -27
- package/dist/notifications/root/notifications-root.d.ts +31 -39
- package/dist/notifications/root/notifications-root.js +41 -52
- package/dist/number-input/root/number-input-root.d.ts +31 -33
- package/dist/number-input/root/number-input-root.js +37 -39
- package/dist/option/root/option-root.d.ts +73 -74
- package/dist/option/root/option-root.js +62 -64
- package/dist/outline/root/outline-root.d.ts +38 -44
- package/dist/outline/root/outline-root.js +66 -82
- package/dist/pagination/root/pagination-root.d.ts +87 -92
- package/dist/pagination/root/pagination-root.js +116 -123
- package/dist/pagination/size/pagination-size.d.ts +31 -50
- package/dist/pagination/size/pagination-size.js +35 -55
- package/dist/pagination/summary/pagination-summary.d.ts +12 -12
- package/dist/pagination/summary/pagination-summary.js +18 -18
- package/dist/pin-input/root/pin-input-root.d.ts +53 -70
- package/dist/pin-input/root/pin-input-root.js +74 -94
- package/dist/popover/root/popover-root.d.ts +15 -20
- package/dist/popover/root/popover-root.js +19 -36
- package/dist/progress/root/progress-root.d.ts +12 -14
- package/dist/progress/root/progress-root.js +22 -25
- package/dist/qr-code/root/qr-code-root.d.ts +11 -11
- package/dist/qr-code/root/qr-code-root.js +12 -14
- package/dist/radio/group/radio-group.js +19 -26
- package/dist/radio/root/radio-root.d.ts +12 -13
- package/dist/radio/root/radio-root.js +12 -13
- package/dist/rating/root/rating-root.d.ts +25 -30
- package/dist/rating/root/rating-root.js +43 -50
- package/dist/scroll-area/root/scroll-area-root.d.ts +11 -14
- package/dist/scroll-area/root/scroll-area-root.js +39 -33
- package/dist/select/root/select-root.d.ts +7 -12
- package/dist/select/root/select-root.js +40 -55
- package/dist/slider/root/slider-root.d.ts +53 -60
- package/dist/slider/root/slider-root.js +74 -85
- package/dist/sparkline/root/sparkline-root.d.ts +43 -47
- package/dist/sparkline/root/sparkline-root.js +23 -32
- package/dist/speed-dial/item/speed-dial-item.d.ts +6 -6
- package/dist/speed-dial/item/speed-dial-item.js +9 -9
- package/dist/speed-dial/root/speed-dial-root.d.ts +21 -25
- package/dist/speed-dial/root/speed-dial-root.js +32 -40
- package/dist/splitter/root/splitter-root.d.ts +98 -111
- package/dist/splitter/root/splitter-root.js +96 -123
- package/dist/stat/root/stat-root.d.ts +2 -7
- package/dist/stat/root/stat-root.js +0 -5
- package/dist/steps/step/step.d.ts +19 -24
- package/dist/steps/step/step.js +27 -32
- package/dist/switch/root/switch-root.js +2 -2
- package/dist/table/column/table-column.d.ts +54 -60
- package/dist/table/column/table-column.js +95 -68
- package/dist/table/root/table-root.d.ts +5 -6
- package/dist/table/root/table-root.js +7 -10
- package/dist/tabs/panel/tab-panel.d.ts +21 -25
- package/dist/tabs/panel/tab-panel.js +25 -29
- package/dist/tabs/root/tabs-root.d.ts +25 -34
- package/dist/tabs/root/tabs-root.js +22 -28
- package/dist/tabs/tab/tab.d.ts +12 -12
- package/dist/tabs/tab/tab.js +19 -20
- package/dist/textarea/root/textarea-root.d.ts +36 -36
- package/dist/textarea/root/textarea-root.js +43 -47
- package/dist/time-input/root/time-input-root.d.ts +58 -68
- package/dist/time-input/root/time-input-root.js +62 -77
- package/dist/time-picker/root/time-picker-root.d.ts +73 -79
- package/dist/time-picker/root/time-picker-root.js +72 -84
- package/dist/timeline/item/timeline-item.d.ts +8 -11
- package/dist/timeline/item/timeline-item.js +8 -11
- package/dist/timeline/root/timeline-root.d.ts +5 -7
- package/dist/timeline/root/timeline-root.js +5 -7
- package/dist/toast/item/toast-item.d.ts +9 -27
- package/dist/toast/item/toast-item.js +19 -41
- package/dist/toast/root/toast-root.d.ts +10 -14
- package/dist/toast/root/toast-root.js +4 -5
- package/dist/toggle/group/toggle-group.d.ts +6 -15
- package/dist/toggle/group/toggle-group.js +21 -36
- package/dist/toggle/root/toggle-root.d.ts +26 -27
- package/dist/toggle/root/toggle-root.js +30 -31
- package/dist/toolbar/root/toolbar-root.d.ts +7 -10
- package/dist/toolbar/root/toolbar-root.js +10 -14
- package/dist/tooltip/root/tooltip-root.d.ts +52 -59
- package/dist/tooltip/root/tooltip-root.js +98 -93
- package/dist/tour/root/tour-root.d.ts +19 -23
- package/dist/tour/root/tour-root.js +31 -41
- package/dist/tour/stop/tour-stop.d.ts +14 -15
- package/dist/tour/stop/tour-stop.js +31 -34
- package/dist/tree/item/tree-item.d.ts +30 -35
- package/dist/tree/item/tree-item.js +43 -55
- package/dist/tree/root/tree-root.d.ts +7 -10
- package/dist/tree/root/tree-root.js +33 -42
- package/dist/trend/root/trend-root.d.ts +3 -5
- package/dist/trend/root/trend-root.js +5 -9
- package/dist/video/root/video-root.d.ts +100 -124
- package/dist/video/root/video-root.js +142 -176
- package/dist/video-playlist/item/video-playlist-item.d.ts +16 -16
- package/dist/video-playlist/item/video-playlist-item.js +24 -24
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +5 -8
- package/dist/video-playlist/menu/video-playlist-menu.js +20 -29
- package/dist/video-playlist/root/video-playlist-root.d.ts +16 -11
- package/dist/video-playlist/root/video-playlist-root.js +21 -25
- package/dist/virtual-list/root/virtual-list-root.d.ts +8 -12
- package/dist/virtual-list/root/virtual-list-root.js +11 -16
- package/jsx.d.ts +9797 -12561
- package/package.json +6 -6
- package/vue.d.ts +2684 -3228
|
@@ -74,11 +74,11 @@ import '../../menu/index.js';
|
|
|
74
74
|
* @slot controls - Added to the control bar, before fullscreen.
|
|
75
75
|
* @slot poster - Shown over the video until it starts.
|
|
76
76
|
*
|
|
77
|
-
* @event {Event} ended - Relayed
|
|
77
|
+
* @event {Event} ended - Relayed, because it does not cross a shadow boundary.
|
|
78
78
|
* @event {HelixNextEvent} helix-next - Fired when the reader asks for the next item.
|
|
79
79
|
* @event {HelixPreviousEvent} helix-previous - Fired when they ask for the previous one.
|
|
80
80
|
* @event {Event} pause - Relayed for the same reason.
|
|
81
|
-
* @event {Event} play - Relayed
|
|
81
|
+
* @event {Event} play - Relayed for the same reason.
|
|
82
82
|
*
|
|
83
83
|
* @csspart back - The region top left, for a way out of a set.
|
|
84
84
|
* @csspart captions - Subtitles on and off.
|
|
@@ -100,7 +100,6 @@ import '../../menu/index.js';
|
|
|
100
100
|
* @csspart failure - What is said when the source will not play.
|
|
101
101
|
* @csspart forward - The control that goes on ten seconds.
|
|
102
102
|
* @csspart fullscreen - The whole screen, and back.
|
|
103
|
-
* @csspart icon - A glyph this component draws.
|
|
104
103
|
* @csspart loading - What is said while the picture waits for more of itself.
|
|
105
104
|
* @csspart loading-mark - The part of that which spins.
|
|
106
105
|
* @csspart more - The button that opens it.
|
|
@@ -136,39 +135,14 @@ import '../../menu/index.js';
|
|
|
136
135
|
*/
|
|
137
136
|
export declare class HelixHeadlessVideo extends HelixElement {
|
|
138
137
|
/**
|
|
139
|
-
*
|
|
140
|
-
*/
|
|
141
|
-
src: string;
|
|
142
|
-
/**
|
|
143
|
-
* A still shown before it plays, which the platform draws itself.
|
|
144
|
-
*/
|
|
145
|
-
poster: string;
|
|
146
|
-
/**
|
|
147
|
-
* Accessible name, since a video is not described by its filename.
|
|
148
|
-
*/
|
|
149
|
-
label: string;
|
|
150
|
-
/**
|
|
151
|
-
* Whether it starts again at the end.
|
|
152
|
-
*/
|
|
153
|
-
loop: boolean;
|
|
154
|
-
/**
|
|
155
|
-
* Whether it *starts* silent, which is what an autoplaying video must do.
|
|
138
|
+
* Whether it starts on its own, which a browser only allows while silent.
|
|
156
139
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* bound it to the attribute, and tracked the live state privately as
|
|
162
|
-
* `silent`, so `<helix-video>.muted` answered what the author wrote rather
|
|
163
|
-
* than whether there was sound. A name matching the platform's while meaning
|
|
164
|
-
* something else is worse than a name the platform does not have, and
|
|
165
|
-
* `check:platform-fidelity` could not see it: it compares names.
|
|
166
|
-
*/
|
|
167
|
-
defaultMuted: boolean;
|
|
168
|
-
/**
|
|
169
|
-
* Whether it plays where it sits rather than taking over the screen.
|
|
140
|
+
* Forwarded rather than acted on. Whether an unprompted play is permitted is
|
|
141
|
+
* the browser's policy and not this element's, and `play()` already swallows
|
|
142
|
+
* the refusal: what follows a refused autoplay is a paused player showing its
|
|
143
|
+
* start control, which is the correct thing to be looking at.
|
|
170
144
|
*/
|
|
171
|
-
|
|
145
|
+
autoplay: boolean;
|
|
172
146
|
/**
|
|
173
147
|
* Whether the browser draws the controls instead of this element.
|
|
174
148
|
*
|
|
@@ -176,24 +150,22 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
176
150
|
* either alone, so this one is not drawn at all when it is set.
|
|
177
151
|
*/
|
|
178
152
|
controls: boolean;
|
|
179
|
-
/**
|
|
180
|
-
* How much to fetch before anything is asked for.
|
|
181
|
-
*/
|
|
182
|
-
preload: 'auto' | 'metadata' | 'none';
|
|
183
|
-
/**
|
|
184
|
-
* Whether it starts on its own, which a browser only allows while silent.
|
|
185
|
-
*
|
|
186
|
-
* Forwarded rather than acted on. Whether an unprompted play is permitted is
|
|
187
|
-
* the browser's policy and not this element's, and `play()` already swallows
|
|
188
|
-
* the refusal: what follows a refused autoplay is a paused player showing its
|
|
189
|
-
* start control, which is the correct thing to be looking at.
|
|
190
|
-
*/
|
|
191
|
-
autoplay: boolean;
|
|
192
153
|
/**
|
|
193
154
|
* How the media is fetched across origins, which decides whether a track can
|
|
194
155
|
* be read.
|
|
195
156
|
*/
|
|
196
157
|
crossOrigin: 'anonymous' | 'use-credentials' | null;
|
|
158
|
+
/**
|
|
159
|
+
* Whether it *starts* silent, which is what an autoplaying video must do.
|
|
160
|
+
*
|
|
161
|
+
* **Named for the platform's split, which is real.** The `muted` content
|
|
162
|
+
* attribute reflects to `defaultMuted`; the `muted` property is live state a
|
|
163
|
+
* reader's click moves without touching the attribute. One property called
|
|
164
|
+
* `muted` bound to the attribute answers what the author wrote rather than
|
|
165
|
+
* whether there is sound, which is a name matching the platform's while
|
|
166
|
+
* meaning something else.
|
|
167
|
+
*/
|
|
168
|
+
defaultMuted: boolean;
|
|
197
169
|
/**
|
|
198
170
|
* Whether the browser may offer picture in picture.
|
|
199
171
|
*/
|
|
@@ -202,13 +174,17 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
202
174
|
* Whether the browser may offer playback on a remote device.
|
|
203
175
|
*/
|
|
204
176
|
disableRemotePlayback: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* And what they are told when it will not play at all.
|
|
179
|
+
*/
|
|
180
|
+
errorLabel: string;
|
|
205
181
|
/**
|
|
206
182
|
* Controls beyond the ones every player has, named in the order they appear.
|
|
207
183
|
*
|
|
208
184
|
* A list rather than a property apiece. A bar is a row with a budget, and a
|
|
209
185
|
* boolean per feature invites a consumer to switch all of them on: naming
|
|
210
186
|
* them makes the row a decision, and makes the order theirs. Anything
|
|
211
|
-
*
|
|
187
|
+
* unrecognized is skipped rather than throwing, since the list is markup and
|
|
212
188
|
* a typo should cost a control, not a page.
|
|
213
189
|
*
|
|
214
190
|
* `pip` is offered only where the platform has it, checked rather than
|
|
@@ -225,6 +201,30 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
225
201
|
* and not something a player can work around.
|
|
226
202
|
*/
|
|
227
203
|
extraControls: string;
|
|
204
|
+
/**
|
|
205
|
+
* How long the bar waits after the pointer stops before it goes, in ms.
|
|
206
|
+
*
|
|
207
|
+
* A wait rather than leaving with the pointer, or a reader moving across the
|
|
208
|
+
* picture to reach a control watches the bar vanish under them. Zero turns
|
|
209
|
+
* the wait off and the bar goes immediately; a large number keeps it up for
|
|
210
|
+
* as long as anyone is likely to look.
|
|
211
|
+
*
|
|
212
|
+
* The wait is only ever about *idling*. A video that is paused keeps its bar
|
|
213
|
+
* regardless, because a reader who stopped it is deciding what to do next.
|
|
214
|
+
*/
|
|
215
|
+
idleDelay: number;
|
|
216
|
+
/**
|
|
217
|
+
* Accessible name, since a video is not described by its filename.
|
|
218
|
+
*/
|
|
219
|
+
label: string;
|
|
220
|
+
/**
|
|
221
|
+
* What a reader is told while the picture is waiting for more of itself.
|
|
222
|
+
*/
|
|
223
|
+
loadingLabel: string;
|
|
224
|
+
/**
|
|
225
|
+
* Whether it starts again at the end.
|
|
226
|
+
*/
|
|
227
|
+
loop: boolean;
|
|
228
228
|
/**
|
|
229
229
|
* Controls that go behind one button instead of onto the bar, named the same
|
|
230
230
|
* way.
|
|
@@ -244,28 +244,13 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
244
244
|
*/
|
|
245
245
|
overflowControls: string;
|
|
246
246
|
/**
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
* **On unless it is turned off, because a stopped video has nothing else.**
|
|
250
|
-
* Measured on the bar as it was: the play glyph is 16 by 16 in a 24 by 24
|
|
251
|
-
* target, which is 0.12% of a 528 by 396 picture and 0.33% at 320. What a
|
|
252
|
-
* reader meets first is a still frame with some chrome along the bottom, and
|
|
253
|
-
* nothing in it says "press to watch".
|
|
254
|
-
*
|
|
255
|
-
* `none` is for the cases where that is wrong rather than right: a muted loop
|
|
256
|
-
* behind a hero, a grid of eight thumbnails, anything where the video is
|
|
257
|
-
* decoration rather than something to start.
|
|
258
|
-
*
|
|
259
|
-
* **Only before the first play.** A video paused halfway already has its bar
|
|
260
|
-
* up, because a paused video never idles, so the small control is visible and
|
|
261
|
-
* the reader has just used it. Covering the picture they stopped to look at
|
|
262
|
-
* would be the opposite of helpful.
|
|
263
|
-
*
|
|
264
|
-
* A value rather than a boolean, so the resting state is the attribute's
|
|
265
|
-
* absence: a boolean defaulting to on would have to be spelled as its own
|
|
266
|
-
* negation.
|
|
247
|
+
* And while it would stop it.
|
|
267
248
|
*/
|
|
268
|
-
|
|
249
|
+
pauseLabel: string;
|
|
250
|
+
/**
|
|
251
|
+
* What the play control is called while it would start the video.
|
|
252
|
+
*/
|
|
253
|
+
playLabel: string;
|
|
269
254
|
/**
|
|
270
255
|
* Whether the file this points at is ours to hand over.
|
|
271
256
|
*
|
|
@@ -277,37 +262,43 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
277
262
|
*/
|
|
278
263
|
private get localFile();
|
|
279
264
|
/**
|
|
280
|
-
*
|
|
265
|
+
* Whether it plays where it sits rather than taking over the screen.
|
|
281
266
|
*/
|
|
282
|
-
|
|
267
|
+
playsInline: boolean;
|
|
283
268
|
/**
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
* It used to leave the moment the pointer did, which is not how a player
|
|
287
|
-
* behaves: a reader moving across the picture to reach a control watched it
|
|
288
|
-
* vanish under them. Zero turns the wait off and the bar goes immediately;
|
|
289
|
-
* a large number keeps it up for as long as anyone is likely to look.
|
|
290
|
-
*
|
|
291
|
-
* The wait is only ever about *idling*. A video that is paused keeps its bar
|
|
292
|
-
* regardless, because a reader who stopped it is deciding what to do next.
|
|
269
|
+
* A still shown before it plays, which the platform draws itself.
|
|
293
270
|
*/
|
|
294
|
-
|
|
271
|
+
poster: string;
|
|
295
272
|
/**
|
|
296
|
-
*
|
|
273
|
+
* How much to fetch before anything is asked for.
|
|
297
274
|
*/
|
|
298
|
-
|
|
275
|
+
preload: 'auto' | 'metadata' | 'none';
|
|
299
276
|
/**
|
|
300
|
-
*
|
|
277
|
+
* The speeds offered, slowest first, as multipliers of normal.
|
|
301
278
|
*/
|
|
302
|
-
|
|
279
|
+
speeds: string;
|
|
303
280
|
/**
|
|
304
|
-
*
|
|
281
|
+
* Where the video is, for the common case of one file.
|
|
305
282
|
*/
|
|
306
|
-
|
|
283
|
+
src: string;
|
|
307
284
|
/**
|
|
308
|
-
*
|
|
285
|
+
* The big mark over the picture whenever it is not playing, or `none`.
|
|
286
|
+
*
|
|
287
|
+
* **On unless it is turned off, because a stopped video has nothing else.**
|
|
288
|
+
* Measured on the bar as it was: the play glyph is 16 by 16 in a 24 by 24
|
|
289
|
+
* target, which is 0.12% of a 528 by 396 picture and 0.33% at 320. What a
|
|
290
|
+
* reader meets first is a still frame with some chrome along the bottom, and
|
|
291
|
+
* nothing in it says "press to watch".
|
|
292
|
+
*
|
|
293
|
+
* `none` is for the cases where that is wrong rather than right: a muted loop
|
|
294
|
+
* behind a hero, a grid of eight thumbnails, anything where the video is
|
|
295
|
+
* decoration rather than something to start.
|
|
296
|
+
*
|
|
297
|
+
* A value rather than a boolean, so the resting state is the attribute's
|
|
298
|
+
* absence: a boolean defaulting to on would have to be spelled as its own
|
|
299
|
+
* negation.
|
|
309
300
|
*/
|
|
310
|
-
|
|
301
|
+
startControl?: 'none';
|
|
311
302
|
/**
|
|
312
303
|
* Whether playback has stopped to wait for data.
|
|
313
304
|
*
|
|
@@ -344,12 +335,11 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
344
335
|
/**
|
|
345
336
|
* How many caption tracks there are, which decides which control is drawn.
|
|
346
337
|
*
|
|
347
|
-
* A count and not a boolean
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
* the videos it exists for.
|
|
338
|
+
* A count and not a boolean. Tracks resolve after the element renders, so
|
|
339
|
+
* this is what schedules the update that draws the control at all, and a
|
|
340
|
+
* boolean goes false to true when the first track arrives and then never
|
|
341
|
+
* moves again: a second one landing leaves the toggle in place and the
|
|
342
|
+
* language menu unreachable on exactly the videos it exists for.
|
|
353
343
|
*/
|
|
354
344
|
private captionCount;
|
|
355
345
|
/**
|
|
@@ -401,13 +391,9 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
401
391
|
/**
|
|
402
392
|
* The media's own state, under the platform's own names.
|
|
403
393
|
*
|
|
404
|
-
* **
|
|
405
|
-
*
|
|
406
|
-
*
|
|
407
|
-
* them, and published none of them, so a consumer asking where the video had
|
|
408
|
-
* reached had nowhere to ask: the `<video>` is inside this shadow root and
|
|
409
|
-
* `querySelector` does not cross it. 295 is that finding across the library
|
|
410
|
-
* and this is its clearest case.
|
|
394
|
+
* **Published because there is no other way in.** The `<video>` is inside
|
|
395
|
+
* this shadow root and `querySelector` does not cross it, so a consumer
|
|
396
|
+
* asking where the video has reached has nowhere else to ask.
|
|
411
397
|
*
|
|
412
398
|
* **Read from the element, with the mirror as the fallback.** The element is
|
|
413
399
|
* the truth and the mirror is a render cache that a media event refreshes, so
|
|
@@ -490,10 +476,9 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
490
476
|
* name Video never promised, carrying a seconds count or a level between zero
|
|
491
477
|
* and one rather than anything about the element.
|
|
492
478
|
*
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
* control
|
|
496
|
-
* chrome is neither a form control nor exempt from the mechanism. See 308.
|
|
479
|
+
* Every family that renders a native control needs this, not only the form
|
|
480
|
+
* controls: a media component with two rails in its chrome is neither a form
|
|
481
|
+
* control nor exempt from the mechanism.
|
|
497
482
|
*/
|
|
498
483
|
private takeScrub;
|
|
499
484
|
/** The volume rail's new level, stopped for the reason `takeScrub` carries. */
|
|
@@ -509,13 +494,6 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
509
494
|
private readonly handleMedia;
|
|
510
495
|
private readonly handleLoaded;
|
|
511
496
|
private readonly handleTime;
|
|
512
|
-
/**
|
|
513
|
-
* Relayed, because none of these cross a shadow boundary on their own.
|
|
514
|
-
*
|
|
515
|
-
* The video is inside this element's shadow root, so a consumer listening on
|
|
516
|
-
* the element they wrote hears nothing at all without this. Input relays
|
|
517
|
-
* `change` for the same reason.
|
|
518
|
-
*/
|
|
519
497
|
private readonly handleWaiting;
|
|
520
498
|
private readonly handleReady;
|
|
521
499
|
private readonly handleError;
|
|
@@ -623,11 +601,11 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
623
601
|
* user activation. Both are `TypeError: Permissions check failed`, which is
|
|
624
602
|
* the same message for two different causes.
|
|
625
603
|
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
604
|
+
* Caught rather than `void`ed, or a refusal becomes an unhandled rejection
|
|
605
|
+
* naming neither the element nor the reason. The state stays honest either
|
|
606
|
+
* way, because `aria-pressed` follows `fullscreenchange` rather than this
|
|
607
|
+
* call, so a refused request leaves a button that correctly reports "not
|
|
608
|
+
* fullscreen".
|
|
631
609
|
*/
|
|
632
610
|
private toggleFullscreen;
|
|
633
611
|
/**
|
|
@@ -662,9 +640,8 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
662
640
|
*
|
|
663
641
|
* Because CSS cannot ask. `paused` is a property of a `<video>` and never an
|
|
664
642
|
* attribute, so `video:not([paused])` matches every video that has ever
|
|
665
|
-
* existed
|
|
666
|
-
*
|
|
667
|
-
* was written to keep it in.
|
|
643
|
+
* existed and a rule written on it hides the bar always, including on the
|
|
644
|
+
* paused video it was written to keep the bar up for.
|
|
668
645
|
*
|
|
669
646
|
* **A `data-` attribute is right here because of when it is written.** A fact
|
|
670
647
|
* that can be true on the first update mirrors to a custom state instead, or
|
|
@@ -672,9 +649,8 @@ export declare class HelixHeadlessVideo extends HelixElement {
|
|
|
672
649
|
* React reports a mismatch it will not patch up. Nothing plays until somebody
|
|
673
650
|
* presses play, so this one is written long past hydration and there is
|
|
674
651
|
* nothing for it to disagree with. `data-closed` on `Toast.Item` and
|
|
675
|
-
* `data-
|
|
676
|
-
* `:state(checked)` are the other one
|
|
677
|
-
* 27 Aug 2026.
|
|
652
|
+
* `data-scrolled` on `AppHeader` are the same case; `:state(open)` and
|
|
653
|
+
* `:state(checked)` are the other one.
|
|
678
654
|
*/
|
|
679
655
|
protected updated(changed: PropertyValues): void;
|
|
680
656
|
/**
|