@fusion.dev/helix 0.155.0 → 0.156.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.
Files changed (33) hide show
  1. package/custom-elements.json +2453 -21
  2. package/dist/canvas/root/canvas-root.css.js +1 -1
  3. package/dist/command/root/command-root.css.js +1 -1
  4. package/dist/data-table/root/data-table-root.css.js +1 -1
  5. package/dist/data-table/root/data-table-root.d.ts +2 -0
  6. package/dist/date-input/root/date-input-root.css.js +2 -1
  7. package/dist/element-events.generated.js +1 -0
  8. package/dist/graph/root/graph-root.css.js +1 -1
  9. package/dist/list/root/list-root.css.js +1 -1
  10. package/dist/list/root/list-root.d.ts +4 -0
  11. package/dist/number-input/root/number-input-root.css.js +3 -1
  12. package/dist/number-input/root/number-input-root.d.ts +3 -1
  13. package/dist/sandbox/frame.d.ts +9 -2
  14. package/dist/sandbox/frame.js +34 -2
  15. package/dist/sandbox/preview/sandbox-preview.d.ts +22 -1
  16. package/dist/sandbox/preview/sandbox-preview.js +25 -6
  17. package/dist/sandbox/root/sandbox-root.d.ts +4 -3
  18. package/dist/sandbox/root/sandbox-root.js +5 -3
  19. package/dist/table/root/table-root.css.js +1 -1
  20. package/dist/table/root/table-root.d.ts +2 -0
  21. package/dist/time-input/root/time-input-root.css.js +2 -1
  22. package/dist/time-picker/root/time-picker-root.css.js +2 -2
  23. package/dist/timeline/item/timeline-item.css.js +2 -2
  24. package/dist/timeline/item/timeline-item.d.ts +4 -0
  25. package/dist/timeline/root/timeline-root.d.ts +4 -0
  26. package/dist/video-playlist/root/video-playlist-root.js +2 -1
  27. package/dist/virtual-list/root/virtual-list-root.css.js +1 -1
  28. package/dist/virtual-list/root/virtual-list-root.d.ts +1 -0
  29. package/lint.json +1 -1
  30. package/package.json +6 -6
  31. package/types/jsx.d.ts +2588 -221
  32. package/types/vue.d.ts +839 -47
  33. package/types/words.d.ts +94 -0
package/types/vue.d.ts CHANGED
@@ -2497,13 +2497,22 @@ units. */
2497
2497
  card and `{width}` and `{height}` for its new size, in the document's
2498
2498
  units. */
2499
2499
  resizedLabel?: (HelixCanvas["resizedLabel"]) | undefined;
2500
+ /** What a screen reader calls the board in place of its role, after its
2501
+ name: "Release plan, canvas". Said only where the board has a name of its
2502
+ own, since the fallback name is the same word. Empty leaves the role. */
2503
+ "role-label"?: (HelixCanvas["roleLabel"]) | undefined;
2504
+ /** What a screen reader calls the board in place of its role, after its
2505
+ name: "Release plan, canvas". Said only where the board has a name of its
2506
+ own, since the fallback name is the same word. Empty leaves the role. */
2507
+ roleLabel?: (HelixCanvas["roleLabel"]) | undefined;
2500
2508
  /** The names of the selected cards and connections, comma separated. Empty
2501
2509
  when nothing is selected.
2502
2510
 
2503
2511
  **Comma separated, the way `Listbox` writes a multiple value**, so a page
2504
2512
  reads one selection the same way wherever it comes from. A click, or a key
2505
- that lands on one, selects it alone; Shift, Command or Control with a click
2506
- adds or takes one away, and so does Space; Command or Control with A
2513
+ that lands on one, selects it alone; Command or Control with an arrow key
2514
+ moves without selecting; Shift, Command or Control with a click adds or
2515
+ takes one away, and so does Space; Command or Control with A
2507
2516
  selects everything; Shift and a drag across the empty board selects the
2508
2517
  cards the box touches. A click on the empty board, or Escape, selects
2509
2518
  nothing. Dragging, Shift with an arrow, and Delete act on the whole
@@ -3402,6 +3411,16 @@ say that without the component knowing what a row looks like. */
3402
3411
  "loading-text"?: (HelixChat["loadingText"]) | undefined;
3403
3412
  /** The text shown and announced while the rows load. */
3404
3413
  loadingText?: (HelixChat["loadingText"]) | undefined;
3414
+ /** What a screen reader hears when a turn arrives. `{author}` is who wrote
3415
+ it, as its name says it, and `{text}` its words. A turn with no author a
3416
+ reader can be told, a turn by `them` with no `author-label`, says its
3417
+ words alone. */
3418
+ "arrival-label"?: (HelixChat["arrivalLabel"]) | undefined;
3419
+ /** What a screen reader hears when a turn arrives. `{author}` is who wrote
3420
+ it, as its name says it, and `{text}` its words. A turn with no author a
3421
+ reader can be told, a turn by `them` with no `author-label`, says its
3422
+ words alone. */
3423
+ arrivalLabel?: (HelixChat["arrivalLabel"]) | undefined;
3405
3424
  /** Declarations for the turns from `turns` by each author, keyed by `author`,
3406
3425
  as JSON in the attribute: `{"ada": "--chat-message-background-color: …"}`.
3407
3426
 
@@ -3552,8 +3571,36 @@ export type HelixCheckboxGroupVueProps = {
3552
3571
  /** The direction the checkboxes run. Set `horizontal` for a row. Unset is a
3553
3572
  column. */
3554
3573
  orientation?: (HelixCheckboxGroup["orientation"]) | undefined;
3555
- /** */
3556
- "aria-label"?: unknown;
3574
+ /** The name a screen reader says for the field where it shows no label, as
3575
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
3576
+ names the control inside, and a new one renders at once.
3577
+
3578
+ **An `aria-label` is read when the field renders, and nothing else would
3579
+ render it again.** It is the platform's attribute and no property of this
3580
+ element's, so writing a new one scheduled no update and the label kept
3581
+ the old words. Data Table meets this on every column move: each row's
3582
+ checkbox is named by the first column, so reordering renames every one.
3583
+
3584
+ A reactive property on the attribute, which is the one way Lit observes
3585
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
3586
+ mixin's own class, so every field observed only this mixin's attributes
3587
+ and dropped its own. Not reflected: the attribute is the consumer's. */
3588
+ "aria-label"?: (HelixCheckboxGroup["namedBy"]) | undefined;
3589
+ /** The name a screen reader says for the field where it shows no label, as
3590
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
3591
+ names the control inside, and a new one renders at once.
3592
+
3593
+ **An `aria-label` is read when the field renders, and nothing else would
3594
+ render it again.** It is the platform's attribute and no property of this
3595
+ element's, so writing a new one scheduled no update and the label kept
3596
+ the old words. Data Table meets this on every column move: each row's
3597
+ checkbox is named by the first column, so reordering renames every one.
3598
+
3599
+ A reactive property on the attribute, which is the one way Lit observes
3600
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
3601
+ mixin's own class, so every field observed only this mixin's attributes
3602
+ and dropped its own. Not reflected: the attribute is the consumer's. */
3603
+ namedBy?: (HelixCheckboxGroup["namedBy"]) | undefined;
3557
3604
  /** The validation message shown under the control. It replaces the
3558
3605
  browser's message. */
3559
3606
  feedback?: (HelixCheckboxGroup["feedback"]) | undefined;
@@ -3714,8 +3761,36 @@ was, and the control says `aria-readonly`. A script can still set
3714
3761
  The attribute is `readonly`, which is the platform's spelling for the
3715
3762
  text fields. */
3716
3763
  readOnly?: (HelixCheckbox["readOnly"]) | undefined;
3717
- /** */
3718
- "aria-label"?: unknown;
3764
+ /** The name a screen reader says for the field where it shows no label, as
3765
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
3766
+ names the control inside, and a new one renders at once.
3767
+
3768
+ **An `aria-label` is read when the field renders, and nothing else would
3769
+ render it again.** It is the platform's attribute and no property of this
3770
+ element's, so writing a new one scheduled no update and the label kept
3771
+ the old words. Data Table meets this on every column move: each row's
3772
+ checkbox is named by the first column, so reordering renames every one.
3773
+
3774
+ A reactive property on the attribute, which is the one way Lit observes
3775
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
3776
+ mixin's own class, so every field observed only this mixin's attributes
3777
+ and dropped its own. Not reflected: the attribute is the consumer's. */
3778
+ "aria-label"?: (HelixCheckbox["namedBy"]) | undefined;
3779
+ /** The name a screen reader says for the field where it shows no label, as
3780
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
3781
+ names the control inside, and a new one renders at once.
3782
+
3783
+ **An `aria-label` is read when the field renders, and nothing else would
3784
+ render it again.** It is the platform's attribute and no property of this
3785
+ element's, so writing a new one scheduled no update and the label kept
3786
+ the old words. Data Table meets this on every column move: each row's
3787
+ checkbox is named by the first column, so reordering renames every one.
3788
+
3789
+ A reactive property on the attribute, which is the one way Lit observes
3790
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
3791
+ mixin's own class, so every field observed only this mixin's attributes
3792
+ and dropped its own. Not reflected: the attribute is the consumer's. */
3793
+ namedBy?: (HelixCheckbox["namedBy"]) | undefined;
3719
3794
  /** The validation message shown under the control. It replaces the
3720
3795
  browser's message. */
3721
3796
  feedback?: (HelixCheckbox["feedback"]) | undefined;
@@ -4031,8 +4106,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
4031
4106
  same statement in markup, and `default-value` is how markup seeds a value
4032
4107
  a reset should return to. */
4033
4108
  value?: (HelixColorInput["value"]) | undefined;
4034
- /** */
4035
- "aria-label"?: unknown;
4109
+ /** The name a screen reader says for the field where it shows no label, as
4110
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
4111
+ names the control inside, and a new one renders at once.
4112
+
4113
+ **An `aria-label` is read when the field renders, and nothing else would
4114
+ render it again.** It is the platform's attribute and no property of this
4115
+ element's, so writing a new one scheduled no update and the label kept
4116
+ the old words. Data Table meets this on every column move: each row's
4117
+ checkbox is named by the first column, so reordering renames every one.
4118
+
4119
+ A reactive property on the attribute, which is the one way Lit observes
4120
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
4121
+ mixin's own class, so every field observed only this mixin's attributes
4122
+ and dropped its own. Not reflected: the attribute is the consumer's. */
4123
+ "aria-label"?: (HelixColorInput["namedBy"]) | undefined;
4124
+ /** The name a screen reader says for the field where it shows no label, as
4125
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
4126
+ names the control inside, and a new one renders at once.
4127
+
4128
+ **An `aria-label` is read when the field renders, and nothing else would
4129
+ render it again.** It is the platform's attribute and no property of this
4130
+ element's, so writing a new one scheduled no update and the label kept
4131
+ the old words. Data Table meets this on every column move: each row's
4132
+ checkbox is named by the first column, so reordering renames every one.
4133
+
4134
+ A reactive property on the attribute, which is the one way Lit observes
4135
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
4136
+ mixin's own class, so every field observed only this mixin's attributes
4137
+ and dropped its own. Not reflected: the attribute is the consumer's. */
4138
+ namedBy?: (HelixColorInput["namedBy"]) | undefined;
4036
4139
  /** The validation message shown under the control. It replaces the
4037
4140
  browser's message. */
4038
4141
  feedback?: (HelixColorInput["feedback"]) | undefined;
@@ -4670,8 +4773,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
4670
4773
  same statement in markup, and `default-value` is how markup seeds a value
4671
4774
  a reset should return to. */
4672
4775
  value?: (HelixCombobox["value"]) | undefined;
4673
- /** */
4674
- "aria-label"?: unknown;
4776
+ /** The name a screen reader says for the field where it shows no label, as
4777
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
4778
+ names the control inside, and a new one renders at once.
4779
+
4780
+ **An `aria-label` is read when the field renders, and nothing else would
4781
+ render it again.** It is the platform's attribute and no property of this
4782
+ element's, so writing a new one scheduled no update and the label kept
4783
+ the old words. Data Table meets this on every column move: each row's
4784
+ checkbox is named by the first column, so reordering renames every one.
4785
+
4786
+ A reactive property on the attribute, which is the one way Lit observes
4787
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
4788
+ mixin's own class, so every field observed only this mixin's attributes
4789
+ and dropped its own. Not reflected: the attribute is the consumer's. */
4790
+ "aria-label"?: (HelixCombobox["namedBy"]) | undefined;
4791
+ /** The name a screen reader says for the field where it shows no label, as
4792
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
4793
+ names the control inside, and a new one renders at once.
4794
+
4795
+ **An `aria-label` is read when the field renders, and nothing else would
4796
+ render it again.** It is the platform's attribute and no property of this
4797
+ element's, so writing a new one scheduled no update and the label kept
4798
+ the old words. Data Table meets this on every column move: each row's
4799
+ checkbox is named by the first column, so reordering renames every one.
4800
+
4801
+ A reactive property on the attribute, which is the one way Lit observes
4802
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
4803
+ mixin's own class, so every field observed only this mixin's attributes
4804
+ and dropped its own. Not reflected: the attribute is the consumer's. */
4805
+ namedBy?: (HelixCombobox["namedBy"]) | undefined;
4675
4806
  /** The validation message shown under the control. It replaces the
4676
4807
  browser's message. */
4677
4808
  feedback?: (HelixCombobox["feedback"]) | undefined;
@@ -4774,6 +4905,22 @@ delay sends one request for a word instead of one per letter. The arrow
4774
4905
  keys, Enter and Escape narrow at once on what was typed. `0` narrows on
4775
4906
  every keystroke. See Listbox's `filter-delay`. */
4776
4907
  filterDelay?: (HelixCombobox["filterDelay"]) | undefined;
4908
+ /** What the form receives for each chosen option: `key`, its `value`, or
4909
+ `text`, its words, as React Aria's ComboBox `formValue` offers.
4910
+
4911
+ `text` is for a server that wants what the reader saw, such as a city's
4912
+ name. A value no option carries, typed with `allows-custom-value` or made
4913
+ with `creatable`, is sent as it is either way. Absent is `key`, and the
4914
+ host carries no attribute for it. */
4915
+ "form-value"?: (HelixCombobox["formValue"]) | undefined;
4916
+ /** What the form receives for each chosen option: `key`, its `value`, or
4917
+ `text`, its words, as React Aria's ComboBox `formValue` offers.
4918
+
4919
+ `text` is for a server that wants what the reader saw, such as a city's
4920
+ name. A value no option carries, typed with `allows-custom-value` or made
4921
+ with `creatable`, is sent as it is either way. Absent is `key`, and the
4922
+ host carries no attribute for it. */
4923
+ formValue?: (HelixCombobox["formValue"]) | undefined;
4777
4924
  /** The list's name, read by screen readers. The list has no visible name. */
4778
4925
  "list-label"?: (HelixCombobox["listLabel"]) | undefined;
4779
4926
  /** The list's name, read by screen readers. The list has no visible name. */
@@ -5003,6 +5150,13 @@ Empty turns it off, for a consumer who opens the palette from a button or
5003
5150
  from their own shortcut handler. There is no list of defaults to fight
5004
5151
  with: one key, said once. */
5005
5152
  hotkey?: (HelixCommand["hotkey"]) | undefined;
5153
+ /** Draws the palette in the page, where it stands, with no dialog: a search
5154
+ over a list of commands, as React Aria's Autocomplete is drawn.
5155
+
5156
+ The list is always shown, and `hotkey` puts focus in its filter field.
5157
+ Choosing a command says `helix-select` and leaves the list where it is,
5158
+ and `open`, `toggle` and the dialog's parts do nothing. */
5159
+ inline?: (HelixCommand["inline"]) | undefined;
5006
5160
  /** Accessible name for the overlay, which has no visible heading. */
5007
5161
  label?: (HelixCommand["label"]) | undefined;
5008
5162
  /** What the list says when its commands could not be loaded, such as after a
@@ -5030,6 +5184,15 @@ some. Absent, `empty-text` shows. See Listbox's `no-results-text`. */
5030
5184
  /** The text shown when typing hides every one of the commands, where there are
5031
5185
  some. Absent, `empty-text` shows. See Listbox's `no-results-text`. */
5032
5186
  noResultsText?: (HelixCommand["noResultsText"]) | undefined;
5187
+ /** The page of commands shown, by name: empty for the commands you write
5188
+ with no `slot`, or a name for the commands slotted as `page:` and the
5189
+ name, such as `slot="page:theme"`.
5190
+
5191
+ An option with `opens` set to a name goes to that page when it is chosen,
5192
+ in place of running, and Backspace in an empty filter goes back to the
5193
+ page before. Closing the palette goes back to the first page. Set it to
5194
+ open the palette on a page of your choosing. */
5195
+ page?: (HelixCommand["page"]) | undefined;
5033
5196
  /** The text shown in the filter field before anything is typed. */
5034
5197
  placeholder?: (HelixCommand["placeholder"]) | undefined;
5035
5198
  /** What a screen reader hears when typing leaves one command, where
@@ -5048,6 +5211,15 @@ how many are left, written in the locale, and each language writes the
5048
5211
  forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
5049
5212
  {# poleceń} other {# polecenia}}`. */
5050
5213
  resultsLabel?: (HelixCommand["resultsLabel"]) | undefined;
5214
+ /** The commands as data, for a palette too long to draw whole: each a value,
5215
+ which is also its words, or a record with a `value`, a `label` and
5216
+ `disabled`. Handed to the list, which draws only the commands in sight and
5217
+ reads no children while it is set. See Listbox's `items`.
5218
+
5219
+ Choosing one says `helix-select` with its value, as a child option does.
5220
+ A command that is a link, or that has an `alternate`, is an option you
5221
+ write as a child. */
5222
+ items?: (HelixCommand["items"]) | undefined;
5051
5223
  };
5052
5224
 
5053
5225
  export type HelixCommandVueEvents = {
@@ -5338,6 +5510,22 @@ is set. */
5338
5510
  "dropped-label"?: (HelixDataTable["droppedLabel"]) | undefined;
5339
5511
  /** What screen readers hear when a row is dropped, with `reorderable-rows`. */
5340
5512
  droppedLabel?: (HelixDataTable["droppedLabel"]) | undefined;
5513
+ /** The text shown and announced when the rows could not load, such as "The
5514
+ files did not load". Set it when a fetch fails, and clear it once you try
5515
+ again. Empty, the default, shows nothing.
5516
+
5517
+ While it is set, a line after the rows shows it, or your own content in the
5518
+ `error` slot, in place of the empty and loading lines, and the live region
5519
+ says it. */
5520
+ "error-text"?: (HelixDataTable["errorText"]) | undefined;
5521
+ /** The text shown and announced when the rows could not load, such as "The
5522
+ files did not load". Set it when a fetch fails, and clear it once you try
5523
+ again. Empty, the default, shows nothing.
5524
+
5525
+ While it is set, a line after the rows shows it, or your own content in the
5526
+ `error` slot, in place of the empty and loading lines, and the live region
5527
+ says it. */
5528
+ errorText?: (HelixDataTable["errorText"]) | undefined;
5341
5529
  /** The estimated height of a row before it is drawn, in pixels.
5342
5530
 
5343
5531
  Only read while `windowed`, and a starting guess rather than a claim: a
@@ -5803,8 +5991,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
5803
5991
  same statement in markup, and `default-value` is how markup seeds a value
5804
5992
  a reset should return to. */
5805
5993
  value?: (HelixDateInput["value"]) | undefined;
5806
- /** */
5807
- "aria-label"?: unknown;
5994
+ /** The name a screen reader says for the field where it shows no label, as
5995
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
5996
+ names the control inside, and a new one renders at once.
5997
+
5998
+ **An `aria-label` is read when the field renders, and nothing else would
5999
+ render it again.** It is the platform's attribute and no property of this
6000
+ element's, so writing a new one scheduled no update and the label kept
6001
+ the old words. Data Table meets this on every column move: each row's
6002
+ checkbox is named by the first column, so reordering renames every one.
6003
+
6004
+ A reactive property on the attribute, which is the one way Lit observes
6005
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
6006
+ mixin's own class, so every field observed only this mixin's attributes
6007
+ and dropped its own. Not reflected: the attribute is the consumer's. */
6008
+ "aria-label"?: (HelixDateInput["namedBy"]) | undefined;
6009
+ /** The name a screen reader says for the field where it shows no label, as
6010
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
6011
+ names the control inside, and a new one renders at once.
6012
+
6013
+ **An `aria-label` is read when the field renders, and nothing else would
6014
+ render it again.** It is the platform's attribute and no property of this
6015
+ element's, so writing a new one scheduled no update and the label kept
6016
+ the old words. Data Table meets this on every column move: each row's
6017
+ checkbox is named by the first column, so reordering renames every one.
6018
+
6019
+ A reactive property on the attribute, which is the one way Lit observes
6020
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
6021
+ mixin's own class, so every field observed only this mixin's attributes
6022
+ and dropped its own. Not reflected: the attribute is the consumer's. */
6023
+ namedBy?: (HelixDateInput["namedBy"]) | undefined;
5808
6024
  /** The validation message shown under the control. It replaces the
5809
6025
  browser's message. */
5810
6026
  feedback?: (HelixDateInput["feedback"]) | undefined;
@@ -7185,8 +7401,36 @@ export type HelixFileInputHelixRejectElementEvent =
7185
7401
  HelixFileInputElementEvent<HelixRejectEvent>;
7186
7402
 
7187
7403
  export type HelixFileInputVueProps = {
7188
- /** */
7189
- "aria-label"?: unknown;
7404
+ /** The name a screen reader says for the field where it shows no label, as
7405
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7406
+ names the control inside, and a new one renders at once.
7407
+
7408
+ **An `aria-label` is read when the field renders, and nothing else would
7409
+ render it again.** It is the platform's attribute and no property of this
7410
+ element's, so writing a new one scheduled no update and the label kept
7411
+ the old words. Data Table meets this on every column move: each row's
7412
+ checkbox is named by the first column, so reordering renames every one.
7413
+
7414
+ A reactive property on the attribute, which is the one way Lit observes
7415
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7416
+ mixin's own class, so every field observed only this mixin's attributes
7417
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7418
+ "aria-label"?: (HelixFileInput["namedBy"]) | undefined;
7419
+ /** The name a screen reader says for the field where it shows no label, as
7420
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7421
+ names the control inside, and a new one renders at once.
7422
+
7423
+ **An `aria-label` is read when the field renders, and nothing else would
7424
+ render it again.** It is the platform's attribute and no property of this
7425
+ element's, so writing a new one scheduled no update and the label kept
7426
+ the old words. Data Table meets this on every column move: each row's
7427
+ checkbox is named by the first column, so reordering renames every one.
7428
+
7429
+ A reactive property on the attribute, which is the one way Lit observes
7430
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7431
+ mixin's own class, so every field observed only this mixin's attributes
7432
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7433
+ namedBy?: (HelixFileInput["namedBy"]) | undefined;
7190
7434
  /** The validation message shown under the control. It replaces the
7191
7435
  browser's message. */
7192
7436
  feedback?: (HelixFileInput["feedback"]) | undefined;
@@ -7600,8 +7844,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
7600
7844
  same statement in markup, and `default-value` is how markup seeds a value
7601
7845
  a reset should return to. */
7602
7846
  value?: (HelixFilterInput["value"]) | undefined;
7603
- /** */
7604
- "aria-label"?: unknown;
7847
+ /** The name a screen reader says for the field where it shows no label, as
7848
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7849
+ names the control inside, and a new one renders at once.
7850
+
7851
+ **An `aria-label` is read when the field renders, and nothing else would
7852
+ render it again.** It is the platform's attribute and no property of this
7853
+ element's, so writing a new one scheduled no update and the label kept
7854
+ the old words. Data Table meets this on every column move: each row's
7855
+ checkbox is named by the first column, so reordering renames every one.
7856
+
7857
+ A reactive property on the attribute, which is the one way Lit observes
7858
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7859
+ mixin's own class, so every field observed only this mixin's attributes
7860
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7861
+ "aria-label"?: (HelixFilterInput["namedBy"]) | undefined;
7862
+ /** The name a screen reader says for the field where it shows no label, as
7863
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7864
+ names the control inside, and a new one renders at once.
7865
+
7866
+ **An `aria-label` is read when the field renders, and nothing else would
7867
+ render it again.** It is the platform's attribute and no property of this
7868
+ element's, so writing a new one scheduled no update and the label kept
7869
+ the old words. Data Table meets this on every column move: each row's
7870
+ checkbox is named by the first column, so reordering renames every one.
7871
+
7872
+ A reactive property on the attribute, which is the one way Lit observes
7873
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7874
+ mixin's own class, so every field observed only this mixin's attributes
7875
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7876
+ namedBy?: (HelixFilterInput["namedBy"]) | undefined;
7605
7877
  /** The validation message shown under the control. It replaces the
7606
7878
  browser's message. */
7607
7879
  feedback?: (HelixFilterInput["feedback"]) | undefined;
@@ -8147,6 +8419,12 @@ written in the locale, and each language writes the forms it has. */
8147
8419
  /** How many links from the selected note to show, for its local graph. Unset
8148
8420
  shows every note. The list holds what the drawing shows. */
8149
8421
  depth?: (HelixGraph["depth"]) | undefined;
8422
+ /** What the panel shows when the list holds no notes: the graph has none, or
8423
+ a search or the legend hid them all. A slotted `empty` replaces it. */
8424
+ "empty-label"?: (HelixGraph["emptyLabel"]) | undefined;
8425
+ /** What the panel shows when the list holds no notes: the graph has none, or
8426
+ a search or the legend hid them all. A slotted `empty` replaces it. */
8427
+ emptyLabel?: (HelixGraph["emptyLabel"]) | undefined;
8150
8428
  /** The graph's name where `label` is empty and the host has no
8151
8429
  `aria-label`. */
8152
8430
  "fallback-label"?: (HelixGraph["fallbackLabel"]) | undefined;
@@ -8203,6 +8481,14 @@ such as at the top of a page, where the drawing takes the whole frame. */
8203
8481
  "notes-label"?: (HelixGraph["notesLabel"]) | undefined;
8204
8482
  /** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
8205
8483
  notesLabel?: (HelixGraph["notesLabel"]) | undefined;
8484
+ /** What a screen reader calls the graph in place of its role, after its
8485
+ name: "Research notes, graph". Said only where the graph has a name of its
8486
+ own, since the fallback name is the same word. Empty leaves the role. */
8487
+ "role-label"?: (HelixGraph["roleLabel"]) | undefined;
8488
+ /** What a screen reader calls the graph in place of its role, after its
8489
+ name: "Research notes, graph". Said only where the graph has a name of its
8490
+ own, since the fallback name is the same word. Empty leaves the role. */
8491
+ roleLabel?: (HelixGraph["roleLabel"]) | undefined;
8206
8492
  /** The search field's name. */
8207
8493
  "search-label"?: (HelixGraph["searchLabel"]) | undefined;
8208
8494
  /** The search field's name. */
@@ -9016,8 +9302,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
9016
9302
  same statement in markup, and `default-value` is how markup seeds a value
9017
9303
  a reset should return to. */
9018
9304
  value?: (HelixInput["value"]) | undefined;
9019
- /** */
9020
- "aria-label"?: unknown;
9305
+ /** The name a screen reader says for the field where it shows no label, as
9306
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
9307
+ names the control inside, and a new one renders at once.
9308
+
9309
+ **An `aria-label` is read when the field renders, and nothing else would
9310
+ render it again.** It is the platform's attribute and no property of this
9311
+ element's, so writing a new one scheduled no update and the label kept
9312
+ the old words. Data Table meets this on every column move: each row's
9313
+ checkbox is named by the first column, so reordering renames every one.
9314
+
9315
+ A reactive property on the attribute, which is the one way Lit observes
9316
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
9317
+ mixin's own class, so every field observed only this mixin's attributes
9318
+ and dropped its own. Not reflected: the attribute is the consumer's. */
9319
+ "aria-label"?: (HelixInput["namedBy"]) | undefined;
9320
+ /** The name a screen reader says for the field where it shows no label, as
9321
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
9322
+ names the control inside, and a new one renders at once.
9323
+
9324
+ **An `aria-label` is read when the field renders, and nothing else would
9325
+ render it again.** It is the platform's attribute and no property of this
9326
+ element's, so writing a new one scheduled no update and the label kept
9327
+ the old words. Data Table meets this on every column move: each row's
9328
+ checkbox is named by the first column, so reordering renames every one.
9329
+
9330
+ A reactive property on the attribute, which is the one way Lit observes
9331
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
9332
+ mixin's own class, so every field observed only this mixin's attributes
9333
+ and dropped its own. Not reflected: the attribute is the consumer's. */
9334
+ namedBy?: (HelixInput["namedBy"]) | undefined;
9021
9335
  /** The validation message shown under the control. It replaces the
9022
9336
  browser's message. */
9023
9337
  feedback?: (HelixInput["feedback"]) | undefined;
@@ -9954,6 +10268,9 @@ export type HelixListHelixBeforeChangeElementEvent =
9954
10268
  /** `helix-before-reorder` event type */
9955
10269
  export type HelixListHelixBeforeReorderElementEvent =
9956
10270
  HelixListElementEvent<HelixBeforeReorderEvent>;
10271
+ /** `helix-load-more` event type */
10272
+ export type HelixListHelixLoadMoreElementEvent =
10273
+ HelixListElementEvent<HelixLoadMoreEvent>;
9957
10274
  /** `helix-reorder` event type */
9958
10275
  export type HelixListHelixReorderElementEvent =
9959
10276
  HelixListElementEvent<HelixReorderEvent>;
@@ -9986,6 +10303,12 @@ refused, in a `reorderable` list. */
9986
10303
  "dropped-label"?: (HelixList["droppedLabel"]) | undefined;
9987
10304
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
9988
10305
  droppedLabel?: (HelixList["droppedLabel"]) | undefined;
10306
+ /** The text of the row shown while the list has no rows, where the `empty`
10307
+ slot is empty. Empty, the default, shows no row. */
10308
+ "empty-label"?: (HelixList["emptyLabel"]) | undefined;
10309
+ /** The text of the row shown while the list has no rows, where the `empty`
10310
+ slot is empty. Empty, the default, shows no row. */
10311
+ emptyLabel?: (HelixList["emptyLabel"]) | undefined;
9989
10312
  /** The kind of list, which follows from the content.
9990
10313
 
9991
10314
  On the headless tier because it is meaning rather than decoration, the same
@@ -10009,6 +10332,19 @@ has to survive with the stylesheet turned off.
10009
10332
  kind?: (HelixList["kind"]) | undefined;
10010
10333
  /** The list's name, read by screen readers. */
10011
10334
  label?: (HelixList["label"]) | undefined;
10335
+ /** Marks the list as busy fetching more rows, and draws a row after the last
10336
+ that says so. The list asks for no more while it is set. */
10337
+ loading?: (HelixList["loading"]) | undefined;
10338
+ /** The text of the row drawn while `loading` is set, where the `loading` slot is empty. */
10339
+ "loading-label"?: (HelixList["loadingLabel"]) | undefined;
10340
+ /** The text of the row drawn while `loading` is set, where the `loading` slot is empty. */
10341
+ loadingLabel?: (HelixList["loadingLabel"]) | undefined;
10342
+ /** Sends `helix-load-more` once the end of the list comes within a screen of
10343
+ view, so you can add the next rows as a reader nears them. */
10344
+ "load-more"?: (HelixList["loadMore"]) | undefined;
10345
+ /** Sends `helix-load-more` once the end of the list comes within a screen of
10346
+ view, so you can add the next rows as a reader nears them. */
10347
+ loadMore?: (HelixList["loadMore"]) | undefined;
10012
10348
  /** What screen readers hear each time an arrow key moves a held row, in a
10013
10349
  `reorderable` list. `{name}` is the row's words, `{position}` the place it
10014
10350
  would go, counting from 1, and `{count}` the number of rows. */
@@ -10064,7 +10400,7 @@ consumer would have written on an `<ol>`.
10064
10400
  `type` is only `list-style-type`. `start` and `reversed` move the count
10065
10401
  itself. */
10066
10402
  type?: (HelixList["type"]) | undefined;
10067
- /** The selected rows' values, separated by commas, in a list that selects.
10403
+ /** The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
10068
10404
 
10069
10405
  Set it to start with rows selected. A row's value is its `value`, or its
10070
10406
  words where it has none. */
@@ -10080,6 +10416,8 @@ export type HelixListVueEvents = {
10080
10416
  "helix-before-change": HelixListHelixBeforeChangeElementEvent;
10081
10417
  /** Fired when a row is dropped at a new place, in a `reorderable` list, with every row's value in the new order. Cancelable: cancel it to keep the row where it is. */
10082
10418
  "helix-before-reorder": HelixListHelixBeforeReorderElementEvent;
10419
+ /** Fired, in a list with `load-more`, when the end of the list comes within a screen of view, once for each number of rows. */
10420
+ "helix-load-more": HelixListHelixLoadMoreElementEvent;
10083
10421
  /** Fired after `helix-before-reorder` when nobody canceled it. Move your rows to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
10084
10422
  "helix-reorder": HelixListHelixReorderElementEvent;
10085
10423
  };
@@ -10132,8 +10470,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
10132
10470
  same statement in markup, and `default-value` is how markup seeds a value
10133
10471
  a reset should return to. */
10134
10472
  value?: (HelixListbox["value"]) | undefined;
10135
- /** */
10136
- "aria-label"?: unknown;
10473
+ /** The name a screen reader says for the field where it shows no label, as
10474
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
10475
+ names the control inside, and a new one renders at once.
10476
+
10477
+ **An `aria-label` is read when the field renders, and nothing else would
10478
+ render it again.** It is the platform's attribute and no property of this
10479
+ element's, so writing a new one scheduled no update and the label kept
10480
+ the old words. Data Table meets this on every column move: each row's
10481
+ checkbox is named by the first column, so reordering renames every one.
10482
+
10483
+ A reactive property on the attribute, which is the one way Lit observes
10484
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
10485
+ mixin's own class, so every field observed only this mixin's attributes
10486
+ and dropped its own. Not reflected: the attribute is the consumer's. */
10487
+ "aria-label"?: (HelixListbox["namedBy"]) | undefined;
10488
+ /** The name a screen reader says for the field where it shows no label, as
10489
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
10490
+ names the control inside, and a new one renders at once.
10491
+
10492
+ **An `aria-label` is read when the field renders, and nothing else would
10493
+ render it again.** It is the platform's attribute and no property of this
10494
+ element's, so writing a new one scheduled no update and the label kept
10495
+ the old words. Data Table meets this on every column move: each row's
10496
+ checkbox is named by the first column, so reordering renames every one.
10497
+
10498
+ A reactive property on the attribute, which is the one way Lit observes
10499
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
10500
+ mixin's own class, so every field observed only this mixin's attributes
10501
+ and dropped its own. Not reflected: the attribute is the consumer's. */
10502
+ namedBy?: (HelixListbox["namedBy"]) | undefined;
10137
10503
  /** The validation message shown under the control. It replaces the
10138
10504
  browser's message. */
10139
10505
  feedback?: (HelixListbox["feedback"]) | undefined;
@@ -11002,6 +11368,14 @@ the standard, themed map. The layers menu chooses it. */
11002
11368
  `connectMap` keeps it current, and the 3D button is pressed while it is
11003
11369
  above `0`. */
11004
11370
  pitch?: (HelixMap["pitch"]) | undefined;
11371
+ /** What a screen reader calls the map in place of its role, after its
11372
+ name: "Edinburgh, map". Said only where the map has a name of its
11373
+ own, since the fallback name is the same word. Empty leaves the role. */
11374
+ "role-label"?: (HelixMap["roleLabel"]) | undefined;
11375
+ /** What a screen reader calls the map in place of its role, after its
11376
+ name: "Edinburgh, map". Said only where the map has a name of its
11377
+ own, since the fallback name is the same word. Empty leaves the role. */
11378
+ roleLabel?: (HelixMap["roleLabel"]) | undefined;
11005
11379
  /** The rotate left button's label. */
11006
11380
  "rotate-left-label"?: (HelixMap["rotateLeftLabel"]) | undefined;
11007
11381
  /** The rotate left button's label. */
@@ -11961,8 +12335,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
11961
12335
  same statement in markup, and `default-value` is how markup seeds a value
11962
12336
  a reset should return to. */
11963
12337
  value?: (HelixNumberInput["value"]) | undefined;
11964
- /** */
11965
- "aria-label"?: unknown;
12338
+ /** The name a screen reader says for the field where it shows no label, as
12339
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
12340
+ names the control inside, and a new one renders at once.
12341
+
12342
+ **An `aria-label` is read when the field renders, and nothing else would
12343
+ render it again.** It is the platform's attribute and no property of this
12344
+ element's, so writing a new one scheduled no update and the label kept
12345
+ the old words. Data Table meets this on every column move: each row's
12346
+ checkbox is named by the first column, so reordering renames every one.
12347
+
12348
+ A reactive property on the attribute, which is the one way Lit observes
12349
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
12350
+ mixin's own class, so every field observed only this mixin's attributes
12351
+ and dropped its own. Not reflected: the attribute is the consumer's. */
12352
+ "aria-label"?: (HelixNumberInput["namedBy"]) | undefined;
12353
+ /** The name a screen reader says for the field where it shows no label, as
12354
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
12355
+ names the control inside, and a new one renders at once.
12356
+
12357
+ **An `aria-label` is read when the field renders, and nothing else would
12358
+ render it again.** It is the platform's attribute and no property of this
12359
+ element's, so writing a new one scheduled no update and the label kept
12360
+ the old words. Data Table meets this on every column move: each row's
12361
+ checkbox is named by the first column, so reordering renames every one.
12362
+
12363
+ A reactive property on the attribute, which is the one way Lit observes
12364
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
12365
+ mixin's own class, so every field observed only this mixin's attributes
12366
+ and dropped its own. Not reflected: the attribute is the consumer's. */
12367
+ namedBy?: (HelixNumberInput["namedBy"]) | undefined;
11966
12368
  /** The validation message shown under the control. It replaces the
11967
12369
  browser's message. */
11968
12370
  feedback?: (HelixNumberInput["feedback"]) | undefined;
@@ -12091,6 +12493,20 @@ filled in, written in the locale. */
12091
12493
  readonly?: (HelixNumberInput["readOnly"]) | undefined;
12092
12494
  /** Prevents editing. The value is still submitted with the form. */
12093
12495
  readOnly?: (HelixNumberInput["readOnly"]) | undefined;
12496
+ /** The words screen readers announce for the field's role, set as its
12497
+ `aria-roledescription`. Translate it with the rest of your text, or empty
12498
+ it to leave the role as `spinbutton`.
12499
+
12500
+ Never written on iOS and iPadOS, where a role description stops VoiceOver
12501
+ saying that the field is required. */
12502
+ "role-label"?: (HelixNumberInput["roleLabel"]) | undefined;
12503
+ /** The words screen readers announce for the field's role, set as its
12504
+ `aria-roledescription`. Translate it with the rest of your text, or empty
12505
+ it to leave the role as `spinbutton`.
12506
+
12507
+ Never written on iOS and iPadOS, where a role description stops VoiceOver
12508
+ saying that the field is required. */
12509
+ roleLabel?: (HelixNumberInput["roleLabel"]) | undefined;
12094
12510
  /** Makes the label a grip that changes the value when it is dragged.
12095
12511
 
12096
12512
  The label is what is dragged, so this adds no chrome at all. Still opt-in,
@@ -12348,6 +12764,14 @@ needs a height, which is a stylesheet rule reading this attribute. */
12348
12764
  Writing opens exactly these and closes every other, keeping the active row
12349
12765
  where it stays visible. A property, never an attribute. */
12350
12766
  expanded?: (HelixObjectInspector["expanded"]) | undefined;
12767
+ /** Draws an entry's value your way, given the value and its entry. Set it as
12768
+ a property.
12769
+
12770
+ It returns what Lit renders: a template from `html`, a string, or a DOM
12771
+ node. `undefined` draws the value as the inspector does, so a function can
12772
+ draw some entries and leave the rest, such as only the strings under
12773
+ `/links`. */
12774
+ renderValue?: (HelixObjectInspector["renderValue"]) | undefined;
12351
12775
  /** The value to show, when your code already holds it as an object.
12352
12776
 
12353
12777
  Takes precedence over `for`. Anything JSON can say is drawn; anything else
@@ -12483,6 +12907,15 @@ simply the accessible name.
12483
12907
  `<option label>` does: written the platform's way, a select listed a row of
12484
12908
  nothing for every choice. */
12485
12909
  label?: (HelixOption["label"]) | undefined;
12910
+ /** The page of commands this option opens, by name, where choosing it would
12911
+ otherwise run it.
12912
+
12913
+ Declared here and acted on by whatever owns the list, as `alternate` is.
12914
+ `Command` is the only owner that reads it: choosing the option shows the
12915
+ commands slotted as `page:` and the name, such as `slot="page:theme"`,
12916
+ and Backspace in an empty filter goes back. Empty is an option that opens
12917
+ nothing, which is nearly every option. */
12918
+ opens?: (HelixOption["opens"]) | undefined;
12486
12919
  /** The link's `rel`. Set it whenever you set `target="_blank"`. */
12487
12920
  rel?: (HelixOption["rel"]) | undefined;
12488
12921
  /** Whether this choice is currently chosen.
@@ -12957,8 +13390,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
12957
13390
  same statement in markup, and `default-value` is how markup seeds a value
12958
13391
  a reset should return to. */
12959
13392
  value?: (HelixPinInput["value"]) | undefined;
12960
- /** */
12961
- "aria-label"?: unknown;
13393
+ /** The name a screen reader says for the field where it shows no label, as
13394
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13395
+ names the control inside, and a new one renders at once.
13396
+
13397
+ **An `aria-label` is read when the field renders, and nothing else would
13398
+ render it again.** It is the platform's attribute and no property of this
13399
+ element's, so writing a new one scheduled no update and the label kept
13400
+ the old words. Data Table meets this on every column move: each row's
13401
+ checkbox is named by the first column, so reordering renames every one.
13402
+
13403
+ A reactive property on the attribute, which is the one way Lit observes
13404
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13405
+ mixin's own class, so every field observed only this mixin's attributes
13406
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13407
+ "aria-label"?: (HelixPinInput["namedBy"]) | undefined;
13408
+ /** The name a screen reader says for the field where it shows no label, as
13409
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13410
+ names the control inside, and a new one renders at once.
13411
+
13412
+ **An `aria-label` is read when the field renders, and nothing else would
13413
+ render it again.** It is the platform's attribute and no property of this
13414
+ element's, so writing a new one scheduled no update and the label kept
13415
+ the old words. Data Table meets this on every column move: each row's
13416
+ checkbox is named by the first column, so reordering renames every one.
13417
+
13418
+ A reactive property on the attribute, which is the one way Lit observes
13419
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13420
+ mixin's own class, so every field observed only this mixin's attributes
13421
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13422
+ namedBy?: (HelixPinInput["namedBy"]) | undefined;
12962
13423
  /** The validation message shown under the control. It replaces the
12963
13424
  browser's message. */
12964
13425
  feedback?: (HelixPinInput["feedback"]) | undefined;
@@ -13432,8 +13893,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
13432
13893
  same statement in markup, and `default-value` is how markup seeds a value
13433
13894
  a reset should return to. */
13434
13895
  value?: (HelixRadioGroup["value"]) | undefined;
13435
- /** */
13436
- "aria-label"?: unknown;
13896
+ /** The name a screen reader says for the field where it shows no label, as
13897
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13898
+ names the control inside, and a new one renders at once.
13899
+
13900
+ **An `aria-label` is read when the field renders, and nothing else would
13901
+ render it again.** It is the platform's attribute and no property of this
13902
+ element's, so writing a new one scheduled no update and the label kept
13903
+ the old words. Data Table meets this on every column move: each row's
13904
+ checkbox is named by the first column, so reordering renames every one.
13905
+
13906
+ A reactive property on the attribute, which is the one way Lit observes
13907
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13908
+ mixin's own class, so every field observed only this mixin's attributes
13909
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13910
+ "aria-label"?: (HelixRadioGroup["namedBy"]) | undefined;
13911
+ /** The name a screen reader says for the field where it shows no label, as
13912
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13913
+ names the control inside, and a new one renders at once.
13914
+
13915
+ **An `aria-label` is read when the field renders, and nothing else would
13916
+ render it again.** It is the platform's attribute and no property of this
13917
+ element's, so writing a new one scheduled no update and the label kept
13918
+ the old words. Data Table meets this on every column move: each row's
13919
+ checkbox is named by the first column, so reordering renames every one.
13920
+
13921
+ A reactive property on the attribute, which is the one way Lit observes
13922
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13923
+ mixin's own class, so every field observed only this mixin's attributes
13924
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13925
+ namedBy?: (HelixRadioGroup["namedBy"]) | undefined;
13437
13926
  /** The validation message shown under the control. It replaces the
13438
13927
  browser's message. */
13439
13928
  feedback?: (HelixRadioGroup["feedback"]) | undefined;
@@ -13728,8 +14217,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
13728
14217
  same statement in markup, and `default-value` is how markup seeds a value
13729
14218
  a reset should return to. */
13730
14219
  value?: (HelixRating["value"]) | undefined;
13731
- /** */
13732
- "aria-label"?: unknown;
14220
+ /** The name a screen reader says for the field where it shows no label, as
14221
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
14222
+ names the control inside, and a new one renders at once.
14223
+
14224
+ **An `aria-label` is read when the field renders, and nothing else would
14225
+ render it again.** It is the platform's attribute and no property of this
14226
+ element's, so writing a new one scheduled no update and the label kept
14227
+ the old words. Data Table meets this on every column move: each row's
14228
+ checkbox is named by the first column, so reordering renames every one.
14229
+
14230
+ A reactive property on the attribute, which is the one way Lit observes
14231
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
14232
+ mixin's own class, so every field observed only this mixin's attributes
14233
+ and dropped its own. Not reflected: the attribute is the consumer's. */
14234
+ "aria-label"?: (HelixRating["namedBy"]) | undefined;
14235
+ /** The name a screen reader says for the field where it shows no label, as
14236
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
14237
+ names the control inside, and a new one renders at once.
14238
+
14239
+ **An `aria-label` is read when the field renders, and nothing else would
14240
+ render it again.** It is the platform's attribute and no property of this
14241
+ element's, so writing a new one scheduled no update and the label kept
14242
+ the old words. Data Table meets this on every column move: each row's
14243
+ checkbox is named by the first column, so reordering renames every one.
14244
+
14245
+ A reactive property on the attribute, which is the one way Lit observes
14246
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
14247
+ mixin's own class, so every field observed only this mixin's attributes
14248
+ and dropped its own. Not reflected: the attribute is the consumer's. */
14249
+ namedBy?: (HelixRating["namedBy"]) | undefined;
13733
14250
  /** The validation message shown under the control. It replaces the
13734
14251
  browser's message. */
13735
14252
  feedback?: (HelixRating["feedback"]) | undefined;
@@ -13981,9 +14498,13 @@ Not reflected, for `direction`'s reason: the placement is applied by the
13981
14498
  document inside the frame, against its own root, so no rule on this side
13982
14499
  could read it. */
13983
14500
  layout?: (HelixSandboxPreview["layout"]) | undefined;
14501
+ /** A script to run as a module after the markup, on every render of new
14502
+ source. A sandbox writes its `js` pane here. */
14503
+ script?: (HelixSandboxPreview["script"]) | undefined;
13984
14504
  /** Markup to render. */
13985
14505
  source?: (HelixSandboxPreview["source"]) | undefined;
13986
- /** The document the frame loads. It provides the styles and the elements. */
14506
+ /** The document the frame loads. It provides the styles and the elements.
14507
+ Empty loads the built-in document, which defines no element. */
13987
14508
  src?: (HelixSandboxPreview["src"]) | undefined;
13988
14509
  /** Stylesheet applied inside the frame, alongside the markup. */
13989
14510
  styles?: (HelixSandboxPreview["styles"]) | undefined;
@@ -14594,8 +15115,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
14594
15115
  same statement in markup, and `default-value` is how markup seeds a value
14595
15116
  a reset should return to. */
14596
15117
  value?: (HelixSelect["value"]) | undefined;
14597
- /** */
14598
- "aria-label"?: unknown;
15118
+ /** The name a screen reader says for the field where it shows no label, as
15119
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15120
+ names the control inside, and a new one renders at once.
15121
+
15122
+ **An `aria-label` is read when the field renders, and nothing else would
15123
+ render it again.** It is the platform's attribute and no property of this
15124
+ element's, so writing a new one scheduled no update and the label kept
15125
+ the old words. Data Table meets this on every column move: each row's
15126
+ checkbox is named by the first column, so reordering renames every one.
15127
+
15128
+ A reactive property on the attribute, which is the one way Lit observes
15129
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15130
+ mixin's own class, so every field observed only this mixin's attributes
15131
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15132
+ "aria-label"?: (HelixSelect["namedBy"]) | undefined;
15133
+ /** The name a screen reader says for the field where it shows no label, as
15134
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15135
+ names the control inside, and a new one renders at once.
15136
+
15137
+ **An `aria-label` is read when the field renders, and nothing else would
15138
+ render it again.** It is the platform's attribute and no property of this
15139
+ element's, so writing a new one scheduled no update and the label kept
15140
+ the old words. Data Table meets this on every column move: each row's
15141
+ checkbox is named by the first column, so reordering renames every one.
15142
+
15143
+ A reactive property on the attribute, which is the one way Lit observes
15144
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15145
+ mixin's own class, so every field observed only this mixin's attributes
15146
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15147
+ namedBy?: (HelixSelect["namedBy"]) | undefined;
14599
15148
  /** The validation message shown under the control. It replaces the
14600
15149
  browser's message. */
14601
15150
  feedback?: (HelixSelect["feedback"]) | undefined;
@@ -14843,8 +15392,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
14843
15392
  same statement in markup, and `default-value` is how markup seeds a value
14844
15393
  a reset should return to. */
14845
15394
  value?: (HelixSlider["value"]) | undefined;
14846
- /** */
14847
- "aria-label"?: unknown;
15395
+ /** The name a screen reader says for the field where it shows no label, as
15396
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15397
+ names the control inside, and a new one renders at once.
15398
+
15399
+ **An `aria-label` is read when the field renders, and nothing else would
15400
+ render it again.** It is the platform's attribute and no property of this
15401
+ element's, so writing a new one scheduled no update and the label kept
15402
+ the old words. Data Table meets this on every column move: each row's
15403
+ checkbox is named by the first column, so reordering renames every one.
15404
+
15405
+ A reactive property on the attribute, which is the one way Lit observes
15406
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15407
+ mixin's own class, so every field observed only this mixin's attributes
15408
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15409
+ "aria-label"?: (HelixSlider["namedBy"]) | undefined;
15410
+ /** The name a screen reader says for the field where it shows no label, as
15411
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15412
+ names the control inside, and a new one renders at once.
15413
+
15414
+ **An `aria-label` is read when the field renders, and nothing else would
15415
+ render it again.** It is the platform's attribute and no property of this
15416
+ element's, so writing a new one scheduled no update and the label kept
15417
+ the old words. Data Table meets this on every column move: each row's
15418
+ checkbox is named by the first column, so reordering renames every one.
15419
+
15420
+ A reactive property on the attribute, which is the one way Lit observes
15421
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15422
+ mixin's own class, so every field observed only this mixin's attributes
15423
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15424
+ namedBy?: (HelixSlider["namedBy"]) | undefined;
14848
15425
  /** The validation message shown under the control. It replaces the
14849
15426
  browser's message. */
14850
15427
  feedback?: (HelixSlider["feedback"]) | undefined;
@@ -15799,8 +16376,36 @@ was, and the control says `aria-readonly`. A script can still set
15799
16376
  The attribute is `readonly`, which is the platform's spelling for the
15800
16377
  text fields. */
15801
16378
  readOnly?: (HelixSwitch["readOnly"]) | undefined;
15802
- /** */
15803
- "aria-label"?: unknown;
16379
+ /** The name a screen reader says for the field where it shows no label, as
16380
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
16381
+ names the control inside, and a new one renders at once.
16382
+
16383
+ **An `aria-label` is read when the field renders, and nothing else would
16384
+ render it again.** It is the platform's attribute and no property of this
16385
+ element's, so writing a new one scheduled no update and the label kept
16386
+ the old words. Data Table meets this on every column move: each row's
16387
+ checkbox is named by the first column, so reordering renames every one.
16388
+
16389
+ A reactive property on the attribute, which is the one way Lit observes
16390
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
16391
+ mixin's own class, so every field observed only this mixin's attributes
16392
+ and dropped its own. Not reflected: the attribute is the consumer's. */
16393
+ "aria-label"?: (HelixSwitch["namedBy"]) | undefined;
16394
+ /** The name a screen reader says for the field where it shows no label, as
16395
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
16396
+ names the control inside, and a new one renders at once.
16397
+
16398
+ **An `aria-label` is read when the field renders, and nothing else would
16399
+ render it again.** It is the platform's attribute and no property of this
16400
+ element's, so writing a new one scheduled no update and the label kept
16401
+ the old words. Data Table meets this on every column move: each row's
16402
+ checkbox is named by the first column, so reordering renames every one.
16403
+
16404
+ A reactive property on the attribute, which is the one way Lit observes
16405
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
16406
+ mixin's own class, so every field observed only this mixin's attributes
16407
+ and dropped its own. Not reflected: the attribute is the consumer's. */
16408
+ namedBy?: (HelixSwitch["namedBy"]) | undefined;
15804
16409
  /** The validation message shown under the control. It replaces the
15805
16410
  browser's message. */
15806
16411
  feedback?: (HelixSwitch["feedback"]) | undefined;
@@ -16176,6 +16781,22 @@ is set. */
16176
16781
  "dropped-label"?: (HelixTable["droppedLabel"]) | undefined;
16177
16782
  /** What screen readers hear when a held row is dropped, in a `reorderable` table. */
16178
16783
  droppedLabel?: (HelixTable["droppedLabel"]) | undefined;
16784
+ /** The text shown and announced when the rows could not load. Set it when a
16785
+ fetch fails, and clear it once you try again. Empty, the default, shows
16786
+ nothing.
16787
+
16788
+ While it is set, a line after the rows shows it, or your own content in the
16789
+ `error` slot, in place of the empty and loading lines, and the live region
16790
+ says it. */
16791
+ "error-text"?: (HelixTable["errorText"]) | undefined;
16792
+ /** The text shown and announced when the rows could not load. Set it when a
16793
+ fetch fails, and clear it once you try again. Empty, the default, shows
16794
+ nothing.
16795
+
16796
+ While it is set, a line after the rows shows it, or your own content in the
16797
+ `error` slot, in place of the empty and loading lines, and the live region
16798
+ says it. */
16799
+ errorText?: (HelixTable["errorText"]) | undefined;
16179
16800
  /** The table's name where neither `label` nor an `aria-label` or
16180
16801
  `aria-labelledby` on the host gives it one. */
16181
16802
  "fallback-label"?: (HelixTable["fallbackLabel"]) | undefined;
@@ -16749,8 +17370,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
16749
17370
  same statement in markup, and `default-value` is how markup seeds a value
16750
17371
  a reset should return to. */
16751
17372
  value?: (HelixTextarea["value"]) | undefined;
16752
- /** */
16753
- "aria-label"?: unknown;
17373
+ /** The name a screen reader says for the field where it shows no label, as
17374
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17375
+ names the control inside, and a new one renders at once.
17376
+
17377
+ **An `aria-label` is read when the field renders, and nothing else would
17378
+ render it again.** It is the platform's attribute and no property of this
17379
+ element's, so writing a new one scheduled no update and the label kept
17380
+ the old words. Data Table meets this on every column move: each row's
17381
+ checkbox is named by the first column, so reordering renames every one.
17382
+
17383
+ A reactive property on the attribute, which is the one way Lit observes
17384
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17385
+ mixin's own class, so every field observed only this mixin's attributes
17386
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17387
+ "aria-label"?: (HelixTextarea["namedBy"]) | undefined;
17388
+ /** The name a screen reader says for the field where it shows no label, as
17389
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17390
+ names the control inside, and a new one renders at once.
17391
+
17392
+ **An `aria-label` is read when the field renders, and nothing else would
17393
+ render it again.** It is the platform's attribute and no property of this
17394
+ element's, so writing a new one scheduled no update and the label kept
17395
+ the old words. Data Table meets this on every column move: each row's
17396
+ checkbox is named by the first column, so reordering renames every one.
17397
+
17398
+ A reactive property on the attribute, which is the one way Lit observes
17399
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17400
+ mixin's own class, so every field observed only this mixin's attributes
17401
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17402
+ namedBy?: (HelixTextarea["namedBy"]) | undefined;
16754
17403
  /** The validation message shown under the control. It replaces the
16755
17404
  browser's message. */
16756
17405
  feedback?: (HelixTextarea["feedback"]) | undefined;
@@ -17065,8 +17714,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
17065
17714
  same statement in markup, and `default-value` is how markup seeds a value
17066
17715
  a reset should return to. */
17067
17716
  value?: (HelixTimeInput["value"]) | undefined;
17068
- /** */
17069
- "aria-label"?: unknown;
17717
+ /** The name a screen reader says for the field where it shows no label, as
17718
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17719
+ names the control inside, and a new one renders at once.
17720
+
17721
+ **An `aria-label` is read when the field renders, and nothing else would
17722
+ render it again.** It is the platform's attribute and no property of this
17723
+ element's, so writing a new one scheduled no update and the label kept
17724
+ the old words. Data Table meets this on every column move: each row's
17725
+ checkbox is named by the first column, so reordering renames every one.
17726
+
17727
+ A reactive property on the attribute, which is the one way Lit observes
17728
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17729
+ mixin's own class, so every field observed only this mixin's attributes
17730
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17731
+ "aria-label"?: (HelixTimeInput["namedBy"]) | undefined;
17732
+ /** The name a screen reader says for the field where it shows no label, as
17733
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17734
+ names the control inside, and a new one renders at once.
17735
+
17736
+ **An `aria-label` is read when the field renders, and nothing else would
17737
+ render it again.** It is the platform's attribute and no property of this
17738
+ element's, so writing a new one scheduled no update and the label kept
17739
+ the old words. Data Table meets this on every column move: each row's
17740
+ checkbox is named by the first column, so reordering renames every one.
17741
+
17742
+ A reactive property on the attribute, which is the one way Lit observes
17743
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17744
+ mixin's own class, so every field observed only this mixin's attributes
17745
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17746
+ namedBy?: (HelixTimeInput["namedBy"]) | undefined;
17070
17747
  /** The validation message shown under the control. It replaces the
17071
17748
  browser's message. */
17072
17749
  feedback?: (HelixTimeInput["feedback"]) | undefined;
@@ -17354,6 +18031,19 @@ A time not on the step is simply never offered, so it is not an error to
17354
18031
  name one, and naming every time in the list is how the empty state is
17355
18032
  reached honestly rather than by handing over an empty range. */
17356
18033
  disableTimes?: (HelixTimePicker["disableTimes"]) | undefined;
18034
+ /** What the list says when no time falls between `min` and `max`.
18035
+
18036
+ The fallback of the `empty` slot. */
18037
+ "empty-text"?: (HelixTimePicker["emptyText"]) | undefined;
18038
+ /** What the list says when no time falls between `min` and `max`.
18039
+
18040
+ The fallback of the `empty` slot. */
18041
+ emptyText?: (HelixTimePicker["emptyText"]) | undefined;
18042
+ /** Help under the times, such as the hours a shop is open, read by screen
18043
+ readers as the list's description. A message in `feedback` replaces it.
18044
+
18045
+ The fallback of the `hint` slot. */
18046
+ hint?: (HelixTimePicker["hint"]) | undefined;
17357
18047
  /** The clock the times are written on: `h12` for twelve hours with a
17358
18048
  meridiem, `h23` for twenty-four.
17359
18049
 
@@ -17380,7 +18070,8 @@ English, "Stunde" in German. */
17380
18070
  hourLabel?: (HelixTimePicker["hourLabel"]) | undefined;
17381
18071
  /** Accessible name for the list, which has no visible one of its own.
17382
18072
 
17383
- An `aria-label` or `aria-labelledby` on the host names the list instead. */
18073
+ An `aria-label` or `aria-labelledby` on the host names the list instead,
18074
+ and so does a label slotted into `label`, which is also drawn above it. */
17384
18075
  label?: (HelixTimePicker["label"]) | undefined;
17385
18076
  /** Language tag the times and the wheels' names are written in.
17386
18077
 
@@ -17606,6 +18297,11 @@ Whatever `<time>` accepts, which is a date, a time, both, a duration or a
17606
18297
  week. Unset, the label is written as it was given and nothing claims to
17607
18298
  know what instant it names. */
17608
18299
  datetime?: (HelixTimelineItem["datetime"]) | undefined;
18300
+ /** Writes the time as how long ago it was, or how long until it, from
18301
+ `datetime`, where the `time` slot is empty: `long` ("3 hours ago"),
18302
+ `short` ("3 hr. ago") or `narrow` ("3h ago"). Set with no value, it is
18303
+ `long`. The words move on as they go stale. */
18304
+ relative?: (HelixTimelineItem["relative"]) | undefined;
17609
18305
  /** The kind of event. It sets the color of the mark and nothing else. */
17610
18306
  tone?: (HelixTimelineItem["tone"]) | undefined;
17611
18307
  };
@@ -17781,8 +18477,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
17781
18477
  same statement in markup, and `default-value` is how markup seeds a value
17782
18478
  a reset should return to. */
17783
18479
  value?: (HelixToggleGroup["value"]) | undefined;
17784
- /** */
17785
- "aria-label"?: unknown;
18480
+ /** The name a screen reader says for the field where it shows no label, as
18481
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
18482
+ names the control inside, and a new one renders at once.
18483
+
18484
+ **An `aria-label` is read when the field renders, and nothing else would
18485
+ render it again.** It is the platform's attribute and no property of this
18486
+ element's, so writing a new one scheduled no update and the label kept
18487
+ the old words. Data Table meets this on every column move: each row's
18488
+ checkbox is named by the first column, so reordering renames every one.
18489
+
18490
+ A reactive property on the attribute, which is the one way Lit observes
18491
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
18492
+ mixin's own class, so every field observed only this mixin's attributes
18493
+ and dropped its own. Not reflected: the attribute is the consumer's. */
18494
+ "aria-label"?: (HelixToggleGroup["namedBy"]) | undefined;
18495
+ /** The name a screen reader says for the field where it shows no label, as
18496
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
18497
+ names the control inside, and a new one renders at once.
18498
+
18499
+ **An `aria-label` is read when the field renders, and nothing else would
18500
+ render it again.** It is the platform's attribute and no property of this
18501
+ element's, so writing a new one scheduled no update and the label kept
18502
+ the old words. Data Table meets this on every column move: each row's
18503
+ checkbox is named by the first column, so reordering renames every one.
18504
+
18505
+ A reactive property on the attribute, which is the one way Lit observes
18506
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
18507
+ mixin's own class, so every field observed only this mixin's attributes
18508
+ and dropped its own. Not reflected: the attribute is the consumer's. */
18509
+ namedBy?: (HelixToggleGroup["namedBy"]) | undefined;
17786
18510
  /** The validation message shown under the control. It replaces the
17787
18511
  browser's message. */
17788
18512
  feedback?: (HelixToggleGroup["feedback"]) | undefined;
@@ -18859,6 +19583,20 @@ Ignored once `active` is written. */
18859
19583
  defaultActive?: (HelixVideoPlaylist["defaultActive"]) | undefined;
18860
19584
  /** The list's name, read by screen readers. */
18861
19585
  label?: (HelixVideoPlaylist["label"]) | undefined;
19586
+ /** What the live region says when the playlist moves to another entry.
19587
+ `{title}` is the entry's name.
19588
+
19589
+ **A move a reader did not make is said.** At the end of a clip the
19590
+ playlist starts the next one, and the only other trace of that is the
19591
+ `aria-current` on a button the reader is not on. */
19592
+ "playing-label"?: (HelixVideoPlaylist["playingLabel"]) | undefined;
19593
+ /** What the live region says when the playlist moves to another entry.
19594
+ `{title}` is the entry's name.
19595
+
19596
+ **A move a reader did not make is said.** At the end of a clip the
19597
+ playlist starts the next one, and the only other trace of that is the
19598
+ `aria-current` on a button the reader is not on. */
19599
+ playingLabel?: (HelixVideoPlaylist["playingLabel"]) | undefined;
18862
19600
  /** What happens when an entry ends with no next one to go to. `one` plays the
18863
19601
  same entry again, and `all` goes from the last entry back to the first.
18864
19602
  Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -18930,6 +19668,10 @@ permitted is the browser's policy, and what follows a refused autoplay is a
18930
19668
  paused player showing its start control, which is the correct thing to be
18931
19669
  looking at. */
18932
19670
  autoplay?: (HelixVideo["autoplay"]) | undefined;
19671
+ /** What the live region says when `c` turns captions off. */
19672
+ "captions-hidden-label"?: (HelixVideo["captionsHiddenLabel"]) | undefined;
19673
+ /** What the live region says when `c` turns captions off. */
19674
+ captionsHiddenLabel?: (HelixVideo["captionsHiddenLabel"]) | undefined;
18933
19675
  /** The name of the captions control when the video has one track. The control
18934
19676
  turns that track on and off.
18935
19677
 
@@ -18950,6 +19692,10 @@ tracks. */
18950
19692
  /** The name of the row that turns captions off, when the video has several
18951
19693
  tracks. */
18952
19694
  captionsOffLabel?: (HelixVideo["captionsOffLabel"]) | undefined;
19695
+ /** What the live region says when `c` turns captions on. */
19696
+ "captions-shown-label"?: (HelixVideo["captionsShownLabel"]) | undefined;
19697
+ /** What the live region says when `c` turns captions on. */
19698
+ captionsShownLabel?: (HelixVideo["captionsShownLabel"]) | undefined;
18953
19699
  /** Whether the browser draws its native controls. When set, this element draws
18954
19700
  no controls of its own.
18955
19701
 
@@ -19126,6 +19872,10 @@ writes the current entry's name here. */
19126
19872
  "more-label"?: (HelixVideo["moreLabel"]) | undefined;
19127
19873
  /** What the button that opens `overflow-controls` is called. */
19128
19874
  moreLabel?: (HelixVideo["moreLabel"]) | undefined;
19875
+ /** What the live region says when a key mutes the video. */
19876
+ "muted-label"?: (HelixVideo["mutedLabel"]) | undefined;
19877
+ /** What the live region says when a key mutes the video. */
19878
+ mutedLabel?: (HelixVideo["mutedLabel"]) | undefined;
19129
19879
  /** The name of the mute control. The control shows as pressed while the video
19130
19880
  is muted. */
19131
19881
  "mute-label"?: (HelixVideo["muteLabel"]) | undefined;
@@ -19168,6 +19918,10 @@ So the consumer says where the fold is, which they can, having already
19168
19918
  named the controls in order. A name in both lists is drawn once, on the
19169
19919
  bar: two of the same control is worse than either placement. */
19170
19920
  overflowControls?: (HelixVideo["overflowControls"]) | undefined;
19921
+ /** What the live region says when a key pauses the video. */
19922
+ "paused-label"?: (HelixVideo["pausedLabel"]) | undefined;
19923
+ /** What the live region says when a key pauses the video. */
19924
+ pausedLabel?: (HelixVideo["pausedLabel"]) | undefined;
19171
19925
  /** The name of the play control while pressing it would pause the video. */
19172
19926
  "pause-label"?: (HelixVideo["pauseLabel"]) | undefined;
19173
19927
  /** The name of the play control while pressing it would pause the video. */
@@ -19190,6 +19944,10 @@ this is what a screen reader calls it on arriving. */
19190
19944
  /** The name of the player when `label` is not set. The player is a group, and
19191
19945
  this is what a screen reader calls it on arriving. */
19192
19946
  playerLabel?: (HelixVideo["playerLabel"]) | undefined;
19947
+ /** What the live region says when a key plays the video. */
19948
+ "playing-label"?: (HelixVideo["playingLabel"]) | undefined;
19949
+ /** What the live region says when a key plays the video. */
19950
+ playingLabel?: (HelixVideo["playingLabel"]) | undefined;
19193
19951
  /** The name of the play control while pressing it would start the video. */
19194
19952
  "play-label"?: (HelixVideo["playLabel"]) | undefined;
19195
19953
  /** The name of the play control while pressing it would start the video. */
@@ -19288,6 +20046,16 @@ negation. */
19288
20046
  /** How the scrubber reads out where the video is, with `{position}` and
19289
20047
  `{duration}` filled in. */
19290
20048
  timeLabel?: (HelixVideo["timeLabel"]) | undefined;
20049
+ /** What the live region says when a key unmutes the video. */
20050
+ "unmuted-label"?: (HelixVideo["unmutedLabel"]) | undefined;
20051
+ /** What the live region says when a key unmutes the video. */
20052
+ unmutedLabel?: (HelixVideo["unmutedLabel"]) | undefined;
20053
+ /** What the live region says when a key changes the volume. `{percent}` is the
20054
+ volume from 0 to 100, written in the locale. */
20055
+ "volume-changed-label"?: (HelixVideo["volumeChangedLabel"]) | undefined;
20056
+ /** What the live region says when a key changes the volume. `{percent}` is the
20057
+ volume from 0 to 100, written in the locale. */
20058
+ volumeChangedLabel?: (HelixVideo["volumeChangedLabel"]) | undefined;
19291
20059
  /** What the volume slider is called. */
19292
20060
  "volume-label"?: (HelixVideo["volumeLabel"]) | undefined;
19293
20061
  /** What the volume slider is called. */
@@ -19771,6 +20539,8 @@ export type CustomCssProperties = {
19771
20539
  "--canvas-selected-color"?: (string) | undefined;
19772
20540
  /** The background of the pan and zoom buttons. `Map` uses the same property. */
19773
20541
  "--viewport-control-background-color"?: (string) | undefined;
20542
+ /** The board's zoom, which the board writes: 1 at the document's own size, 0.5 at half. The cards inherit it, so a card's stylesheet can draw less when the board is far out, such as a border that stays one pixel wide at `calc(1px / var(--canvas-zoom))`. */
20543
+ "--canvas-zoom"?: (string) | undefined;
19774
20544
  /** How the regions pack when the card is stretched taller than its content. `start` by default, so the slack is at the bottom; `space-between` puts a footer on the floor. */
19775
20545
  "--card-align"?: (string) | undefined;
19776
20546
  /** Filter applied behind a `frosted` or `glass` card. Follows the theme's material policy; set it to override the strength on one card. */
@@ -20045,6 +20815,8 @@ export type CustomCssProperties = {
20045
20815
  "--data-table-drop-indicator-color"?: (string) | undefined;
20046
20816
  /** The thickness of the line where a moved row would land. */
20047
20817
  "--data-table-drop-indicator-size"?: (string) | undefined;
20818
+ /** The color of the words in the line shown while `error-text` is set. */
20819
+ "--data-table-error-color"?: (string) | undefined;
20048
20820
  /** The space between the grid and the footer below it. */
20049
20821
  "--data-table-footer-gap"?: (string) | undefined;
20050
20822
  /** The space between the pieces of the footer, such as a summary and the pagination. */
@@ -20597,8 +21369,16 @@ export type CustomCssProperties = {
20597
21369
  "--list-drag-preview-radius"?: (string) | undefined;
20598
21370
  /** The shadow that raises the copy of a row a pointer drags over the page. */
20599
21371
  "--list-drag-preview-shadow"?: (string) | undefined;
21372
+ /** The color of the text in the row shown while the list has no rows. */
21373
+ "--list-empty-color"?: (string) | undefined;
21374
+ /** The space around the text in the row shown while the list has no rows. */
21375
+ "--list-empty-padding"?: (string) | undefined;
20600
21376
  /** The space between rows. */
20601
21377
  "--list-gap"?: (string) | undefined;
21378
+ /** The color of the text in the row drawn while `loading` is set. */
21379
+ "--list-loading-color"?: (string) | undefined;
21380
+ /** The space around the text in the row drawn while `loading` is set. */
21381
+ "--list-loading-padding"?: (string) | undefined;
20602
21382
  /** The space that the markers of ordered and unordered lists sit in. */
20603
21383
  "--list-marker-gutter"?: (string) | undefined;
20604
21384
  /** The width of the rail's track. */
@@ -20911,7 +21691,7 @@ export type CustomCssProperties = {
20911
21691
  "--number-input-stepper-color"?: (string) | undefined;
20912
21692
  /** Icon color of a stepper button under the pointer. */
20913
21693
  "--number-input-stepper-color-hover"?: (string) | undefined;
20914
- /** Width and height of the stepper icons. */
21694
+ /** Width and height of the stepper icons, drawn or slotted. */
20915
21695
  "--number-input-stepper-icon-size"?: (string) | undefined;
20916
21696
  /** Width of each stepper button. */
20917
21697
  "--number-input-stepper-size"?: (string) | undefined;
@@ -21477,6 +22257,8 @@ export type CustomCssProperties = {
21477
22257
  "--table-drag-preview-radius"?: (string) | undefined;
21478
22258
  /** The shadow that raises the copy of a row a pointer drags over the page. */
21479
22259
  "--table-drag-preview-shadow"?: (string) | undefined;
22260
+ /** The color of the words in the line shown while `error-text` is set. */
22261
+ "--table-error-color"?: (string) | undefined;
21480
22262
  /** The color of the words in the `heading` slot. */
21481
22263
  "--table-title-color"?: (string) | undefined;
21482
22264
  /** The space between the `heading` slot and the grid. */
@@ -21617,12 +22399,20 @@ export type CustomCssProperties = {
21617
22399
  "--time-picker-wheel-mask"?: (string) | undefined;
21618
22400
  /** The color of the heading. */
21619
22401
  "--timeline-group-heading-color"?: (string) | undefined;
22402
+ /** Space between the rail and the time and what happened. */
22403
+ "--timeline-column-gap"?: (string) | undefined;
22404
+ /** The color of the mark on an entry with no `tone`. A `tone` colors the mark itself. */
22405
+ "--timeline-marker-color"?: (string) | undefined;
21620
22406
  /** How round the mark is. Zero is a square, and half its size is a disc. */
21621
22407
  "--timeline-marker-radius"?: (string) | undefined;
21622
22408
  /** Edge length of the mark. */
21623
22409
  "--timeline-marker-size"?: (string) | undefined;
22410
+ /** The color of the line. */
22411
+ "--timeline-rail-color"?: (string) | undefined;
21624
22412
  /** Width of the line. */
21625
22413
  "--timeline-rail-size"?: (string) | undefined;
22414
+ /** The color of the time. */
22415
+ "--timeline-time-color"?: (string) | undefined;
21626
22416
  /** Space between one entry and the next. */
21627
22417
  "--timeline-gap"?: (string) | undefined;
21628
22418
  /** The panel's color. Follows `--helix-color-surface-overlay`. */
@@ -21893,6 +22683,8 @@ export type CustomCssProperties = {
21893
22683
  "--virtual-list-scrollbar-track-color"?: (string) | undefined;
21894
22684
  /** The fill behind a chosen row, in a list with `selection-mode`. */
21895
22685
  "--virtual-list-selected-background-color"?: (string) | undefined;
22686
+ /** The color of the text in a chosen row, in a list with `selection-mode`. Inherited by default. */
22687
+ "--virtual-list-selected-color"?: (string) | undefined;
21896
22688
  };
21897
22689
 
21898
22690
  // Vue SFC template type-checking (GlobalComponents) for non-Vue custom elements.
@@ -22541,13 +23333,13 @@ export interface WcToolkitVueGlobalComponents {
22541
23333
  HelixRatingVueProps,
22542
23334
  HelixRatingVueEvents
22543
23335
  >;
22544
- /** A sandboxed '<iframe>' that loads 'src', a document you provide. That document imports what the examples need, listens for a render message, and writes the markup into itself. **Examples render in a frame**, so an example's styles and scripts do not affect the page around the sandbox, and 'position: fixed' stays inside the pane. The frame starts empty, with its own stylesheets and its own custom element registry, so 'src' must load the styles and components the examples use. **The source is untrusted, and the frame keeps it isolated.** The frame uses 'sandbox="allow-scripts"' and never 'allow-same-origin'. Together, the two let a document on the same origin remove its own sandbox, which is the same as having none. **A preview says where it is.** It is ':state(loading)' from the moment it has a 'src' until that document can take the example, and again through 'reload()'. It is ':state(failed)' once the example throws an error it does not catch, until the next source is sent, which a frame on 'servePreview' reports. A page draws its own spinner or message from either, such as a sibling shown by 'helix-sandbox-preview:state(failed) + .message'. */
23336
+ /** A sandboxed '<iframe>' that loads 'src', a document you provide. That document imports what the examples need, listens for a render message, and writes the markup into itself. **Without 'src', the frame loads a built-in document**, so a sandbox renders with nothing to host. It runs HTML, CSS, and scripts, and reports the console, uncaught errors, its height, and presses as a frame on 'servePreview' does. It defines no element, so an example that uses Helix components needs a 'src' that imports them. **Examples render in a frame**, so an example's styles and scripts do not affect the page around the sandbox, and 'position: fixed' stays inside the pane. The frame starts empty, with its own stylesheets and its own custom element registry, so 'src' must load the styles and components the examples use. **The source is untrusted, and the frame keeps it isolated.** The frame uses 'sandbox="allow-scripts"' and never 'allow-same-origin'. Together, the two let a document on the same origin remove its own sandbox, which is the same as having none. **A preview says where it is.** It is ':state(loading)' from the moment it has a 'src' until that document can take the example, and again through 'reload()'. It is ':state(failed)' once the example throws an error it does not catch, until the next source is sent, which a frame on 'servePreview' reports. A page draws its own spinner or message from either, such as a sibling shown by 'helix-sandbox-preview:state(failed) + .message'. */
22545
23337
  "helix-sandbox-preview": DefineCustomElement<
22546
23338
  HelixSandboxPreview,
22547
23339
  HelixSandboxPreviewVueProps,
22548
23340
  HelixSandboxPreviewVueEvents
22549
23341
  >;
22550
- /** A source pane dispatches 'helix-before-edit', which bubbles, and the sandbox passes the value to the preview slotted into it. The source pane and the preview do not reference each other, so you can replace either one or use it alone. The event carries the pane's 'name', so one sandbox can hold several panes. 'html' sets the preview's markup and 'css' sets its stylesheet. The sandbox ignores a pane with any other name, so that pane can show content without changing the preview. **The dividers are two nested 'helix-splitter' elements**, which handle the pointer, the keyboard, and the corner. The inner splitter holds the panes and the outer one holds the panel, so the panel spans the full width. On a focused divider, the arrow keys move it, and 'Home' and 'End' move it to its ends. 'Enter' on the panes divider shuts the lead pane, and pressed again it opens the pane where it was. 'Enter' on the panel divider shuts the panel to 'panel-collapsed-size', and pressed again it opens the panel to its last height. */
23342
+ /** A source pane dispatches 'helix-before-edit', which bubbles, and the sandbox passes the value to the preview slotted into it. The source pane and the preview do not reference each other, so you can replace either one or use it alone. The event carries the pane's 'name', so one sandbox can hold several panes. 'html' sets the preview's markup, 'css' sets its stylesheet, and 'js' sets a script that runs as a module after the markup. The sandbox ignores a pane with any other name, so that pane can show content without changing the preview. **The dividers are two nested 'helix-splitter' elements**, which handle the pointer, the keyboard, and the corner. The inner splitter holds the panes and the outer one holds the panel, so the panel spans the full width. On a focused divider, the arrow keys move it, and 'Home' and 'End' move it to its ends. 'Enter' on the panes divider shuts the lead pane, and pressed again it opens the pane where it was. 'Enter' on the panel divider shuts the panel to 'panel-collapsed-size', and pressed again it opens the panel to its last height. */
22551
23343
  "helix-sandbox": DefineCustomElement<
22552
23344
  HelixSandbox,
22553
23345
  HelixSandboxVueProps,
@@ -22763,7 +23555,7 @@ export interface WcToolkitVueGlobalComponents {
22763
23555
  HelixTimelineItemVueProps,
22764
23556
  HelixTimelineItemVueEvents
22765
23557
  >;
22766
- /** Sets the direction time runs in and the spacing between events. Each entry draws its own mark and line. 'layout' and 'orientation' move where the entries are drawn, and never the order they are read in, which is the order you write them in: - Unset, the line runs down the start edge, with each time over what happened. - 'layout="opposite"' runs the line down the middle, with each time on the start side and what happened on the end side. - 'layout="alternate"' runs the line down the middle, with the first entry on the end side, the second on the start side, and so on. - 'orientation="horizontal"' runs the line across the top, with the entries side by side in the order they are read, and the time over what happened under each mark. Use it for a few entries, since they share the width. */
23558
+ /** Sets the direction time runs in and the spacing between events. Each entry draws its own mark and line. 'layout' and 'orientation' move where the entries are drawn, and never the order they are read in, which is the order you write them in: - Unset, the line runs down the start edge, with each time over what happened. - 'layout="opposite"' runs the line down the middle, with each time on the start side and what happened on the end side. - 'layout="alternate"' runs the line down the middle, with the first entry on the end side, the second on the start side, and so on. - 'orientation="horizontal"' runs the line across the top, with the entries side by side in the order they are read, and the time over what happened under each mark. Use it for a few entries, since they share the width. An entry's custom properties, such as '--timeline-rail-color' and '--timeline-marker-size', inherit, so setting them on the timeline changes every entry in it. */
22767
23559
  "helix-timeline": DefineCustomElement<
22768
23560
  HelixTimeline,
22769
23561
  HelixTimelineVueProps,