@fusion.dev/helix 0.155.0 → 0.157.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 (36) hide show
  1. package/custom-elements.json +3723 -55
  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 +2 -1
  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/menu/item/menu-item.css.js +1 -1
  12. package/dist/menu/item/menu-item.js +3 -1
  13. package/dist/number-input/root/number-input-root.css.js +3 -1
  14. package/dist/number-input/root/number-input-root.d.ts +3 -1
  15. package/dist/sandbox/frame.d.ts +9 -2
  16. package/dist/sandbox/frame.js +34 -2
  17. package/dist/sandbox/preview/sandbox-preview.d.ts +22 -1
  18. package/dist/sandbox/preview/sandbox-preview.js +25 -6
  19. package/dist/sandbox/root/sandbox-root.d.ts +4 -3
  20. package/dist/sandbox/root/sandbox-root.js +5 -3
  21. package/dist/table/root/table-root.css.js +1 -1
  22. package/dist/table/root/table-root.d.ts +2 -0
  23. package/dist/time-input/root/time-input-root.css.js +2 -1
  24. package/dist/time-picker/root/time-picker-root.css.js +2 -2
  25. package/dist/timeline/item/timeline-item.css.js +2 -2
  26. package/dist/timeline/item/timeline-item.d.ts +4 -0
  27. package/dist/timeline/root/timeline-root.d.ts +4 -0
  28. package/dist/toast/item/toast-item.css.js +1 -1
  29. package/dist/video-playlist/root/video-playlist-root.js +2 -1
  30. package/dist/virtual-list/root/virtual-list-root.css.js +1 -1
  31. package/dist/virtual-list/root/virtual-list-root.d.ts +1 -0
  32. package/lint.json +1 -1
  33. package/package.json +6 -6
  34. package/types/jsx.d.ts +2838 -224
  35. package/types/vue.d.ts +917 -47
  36. package/types/words.d.ts +108 -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;
@@ -7078,6 +7294,16 @@ export type HelixDrilldownItemHelixSelectElementEvent =
7078
7294
  export type HelixDrilldownItemVueProps = {
7079
7295
  /** Whether the row can be reached at all. */
7080
7296
  disabled?: (HelixDrilldownItem["disabled"]) | undefined;
7297
+ /** Whether the link downloads the file when the row is chosen. Only
7298
+ meaningful beside an `href`, and only for a file served from this origin. */
7299
+ download?: (HelixDrilldownItem["download"]) | undefined;
7300
+ /** The URL the row links to. Setting it renders the row as a link, unless the
7301
+ row opens a page or is disabled. */
7302
+ href?: (HelixDrilldownItem["href"]) | undefined;
7303
+ /** The link's `rel`. Set it whenever you set `target="_blank"`. */
7304
+ rel?: (HelixDrilldownItem["rel"]) | undefined;
7305
+ /** Where the link opens, for rows that should open outside the current page. */
7306
+ target?: (HelixDrilldownItem["target"]) | undefined;
7081
7307
  /** Identifies the row to your event listeners. */
7082
7308
  value?: (HelixDrilldownItem["value"]) | undefined;
7083
7309
  /** Whether this row holds the region's tab stop. Set by the drill-down.
@@ -7104,6 +7330,9 @@ export type HelixDrilldownElementEvent<E = Event> = TypedEvent<
7104
7330
  HelixDrilldown,
7105
7331
  E
7106
7332
  >;
7333
+ /** `helix-navigate` event type */
7334
+ export type HelixDrilldownHelixNavigateElementEvent =
7335
+ HelixDrilldownElementEvent<HelixNavigateEvent>;
7107
7336
  /** `helix-select` event type */
7108
7337
  export type HelixDrilldownHelixSelectElementEvent =
7109
7338
  HelixDrilldownElementEvent<HelixSelectEvent>;
@@ -7133,9 +7362,19 @@ and wins over this. */
7133
7362
  "back-label"?: (HelixDrilldown["backLabel"]) | undefined;
7134
7363
  /** The text of the back button. */
7135
7364
  backLabel?: (HelixDrilldown["backLabel"]) | undefined;
7365
+ /** Whether the drilldown is a site's navigation: a `navigation` landmark
7366
+ named by `label`, whose pages are lists of links. Without it, each page is
7367
+ a `menu`. */
7368
+ navigation?: (HelixDrilldown["navigation"]) | undefined;
7369
+ /** The page showing, as the `value` of the row that opens it. Empty is the
7370
+ top page. Setting it shows that page, and a value no row with a page has
7371
+ shows the top page. */
7372
+ page?: (HelixDrilldown["page"]) | undefined;
7136
7373
  };
7137
7374
 
7138
7375
  export type HelixDrilldownVueEvents = {
7376
+ /** Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing. */
7377
+ "helix-navigate": HelixDrilldownHelixNavigateElementEvent;
7139
7378
  /** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
7140
7379
  "helix-select": HelixDrilldownHelixSelectElementEvent;
7141
7380
  };
@@ -7185,8 +7424,36 @@ export type HelixFileInputHelixRejectElementEvent =
7185
7424
  HelixFileInputElementEvent<HelixRejectEvent>;
7186
7425
 
7187
7426
  export type HelixFileInputVueProps = {
7188
- /** */
7189
- "aria-label"?: unknown;
7427
+ /** The name a screen reader says for the field where it shows no label, as
7428
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7429
+ names the control inside, and a new one renders at once.
7430
+
7431
+ **An `aria-label` is read when the field renders, and nothing else would
7432
+ render it again.** It is the platform's attribute and no property of this
7433
+ element's, so writing a new one scheduled no update and the label kept
7434
+ the old words. Data Table meets this on every column move: each row's
7435
+ checkbox is named by the first column, so reordering renames every one.
7436
+
7437
+ A reactive property on the attribute, which is the one way Lit observes
7438
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7439
+ mixin's own class, so every field observed only this mixin's attributes
7440
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7441
+ "aria-label"?: (HelixFileInput["namedBy"]) | undefined;
7442
+ /** The name a screen reader says for the field where it shows no label, as
7443
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7444
+ names the control inside, and a new one renders at once.
7445
+
7446
+ **An `aria-label` is read when the field renders, and nothing else would
7447
+ render it again.** It is the platform's attribute and no property of this
7448
+ element's, so writing a new one scheduled no update and the label kept
7449
+ the old words. Data Table meets this on every column move: each row's
7450
+ checkbox is named by the first column, so reordering renames every one.
7451
+
7452
+ A reactive property on the attribute, which is the one way Lit observes
7453
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7454
+ mixin's own class, so every field observed only this mixin's attributes
7455
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7456
+ namedBy?: (HelixFileInput["namedBy"]) | undefined;
7190
7457
  /** The validation message shown under the control. It replaces the
7191
7458
  browser's message. */
7192
7459
  feedback?: (HelixFileInput["feedback"]) | undefined;
@@ -7600,8 +7867,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
7600
7867
  same statement in markup, and `default-value` is how markup seeds a value
7601
7868
  a reset should return to. */
7602
7869
  value?: (HelixFilterInput["value"]) | undefined;
7603
- /** */
7604
- "aria-label"?: unknown;
7870
+ /** The name a screen reader says for the field where it shows no label, as
7871
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7872
+ names the control inside, and a new one renders at once.
7873
+
7874
+ **An `aria-label` is read when the field renders, and nothing else would
7875
+ render it again.** It is the platform's attribute and no property of this
7876
+ element's, so writing a new one scheduled no update and the label kept
7877
+ the old words. Data Table meets this on every column move: each row's
7878
+ checkbox is named by the first column, so reordering renames every one.
7879
+
7880
+ A reactive property on the attribute, which is the one way Lit observes
7881
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7882
+ mixin's own class, so every field observed only this mixin's attributes
7883
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7884
+ "aria-label"?: (HelixFilterInput["namedBy"]) | undefined;
7885
+ /** The name a screen reader says for the field where it shows no label, as
7886
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
7887
+ names the control inside, and a new one renders at once.
7888
+
7889
+ **An `aria-label` is read when the field renders, and nothing else would
7890
+ render it again.** It is the platform's attribute and no property of this
7891
+ element's, so writing a new one scheduled no update and the label kept
7892
+ the old words. Data Table meets this on every column move: each row's
7893
+ checkbox is named by the first column, so reordering renames every one.
7894
+
7895
+ A reactive property on the attribute, which is the one way Lit observes
7896
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
7897
+ mixin's own class, so every field observed only this mixin's attributes
7898
+ and dropped its own. Not reflected: the attribute is the consumer's. */
7899
+ namedBy?: (HelixFilterInput["namedBy"]) | undefined;
7605
7900
  /** The validation message shown under the control. It replaces the
7606
7901
  browser's message. */
7607
7902
  feedback?: (HelixFilterInput["feedback"]) | undefined;
@@ -8147,6 +8442,12 @@ written in the locale, and each language writes the forms it has. */
8147
8442
  /** How many links from the selected note to show, for its local graph. Unset
8148
8443
  shows every note. The list holds what the drawing shows. */
8149
8444
  depth?: (HelixGraph["depth"]) | undefined;
8445
+ /** What the panel shows when the list holds no notes: the graph has none, or
8446
+ a search or the legend hid them all. A slotted `empty` replaces it. */
8447
+ "empty-label"?: (HelixGraph["emptyLabel"]) | undefined;
8448
+ /** What the panel shows when the list holds no notes: the graph has none, or
8449
+ a search or the legend hid them all. A slotted `empty` replaces it. */
8450
+ emptyLabel?: (HelixGraph["emptyLabel"]) | undefined;
8150
8451
  /** The graph's name where `label` is empty and the host has no
8151
8452
  `aria-label`. */
8152
8453
  "fallback-label"?: (HelixGraph["fallbackLabel"]) | undefined;
@@ -8203,6 +8504,14 @@ such as at the top of a page, where the drawing takes the whole frame. */
8203
8504
  "notes-label"?: (HelixGraph["notesLabel"]) | undefined;
8204
8505
  /** The list's name, read by screen readers, and the name of the button that opens it with `no-panel`. */
8205
8506
  notesLabel?: (HelixGraph["notesLabel"]) | undefined;
8507
+ /** What a screen reader calls the graph in place of its role, after its
8508
+ name: "Research notes, graph". Said only where the graph has a name of its
8509
+ own, since the fallback name is the same word. Empty leaves the role. */
8510
+ "role-label"?: (HelixGraph["roleLabel"]) | undefined;
8511
+ /** What a screen reader calls the graph in place of its role, after its
8512
+ name: "Research notes, graph". Said only where the graph has a name of its
8513
+ own, since the fallback name is the same word. Empty leaves the role. */
8514
+ roleLabel?: (HelixGraph["roleLabel"]) | undefined;
8206
8515
  /** The search field's name. */
8207
8516
  "search-label"?: (HelixGraph["searchLabel"]) | undefined;
8208
8517
  /** The search field's name. */
@@ -9016,8 +9325,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
9016
9325
  same statement in markup, and `default-value` is how markup seeds a value
9017
9326
  a reset should return to. */
9018
9327
  value?: (HelixInput["value"]) | undefined;
9019
- /** */
9020
- "aria-label"?: unknown;
9328
+ /** The name a screen reader says for the field where it shows no label, as
9329
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
9330
+ names the control inside, and a new one renders at once.
9331
+
9332
+ **An `aria-label` is read when the field renders, and nothing else would
9333
+ render it again.** It is the platform's attribute and no property of this
9334
+ element's, so writing a new one scheduled no update and the label kept
9335
+ the old words. Data Table meets this on every column move: each row's
9336
+ checkbox is named by the first column, so reordering renames every one.
9337
+
9338
+ A reactive property on the attribute, which is the one way Lit observes
9339
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
9340
+ mixin's own class, so every field observed only this mixin's attributes
9341
+ and dropped its own. Not reflected: the attribute is the consumer's. */
9342
+ "aria-label"?: (HelixInput["namedBy"]) | undefined;
9343
+ /** The name a screen reader says for the field where it shows no label, as
9344
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
9345
+ names the control inside, and a new one renders at once.
9346
+
9347
+ **An `aria-label` is read when the field renders, and nothing else would
9348
+ render it again.** It is the platform's attribute and no property of this
9349
+ element's, so writing a new one scheduled no update and the label kept
9350
+ the old words. Data Table meets this on every column move: each row's
9351
+ checkbox is named by the first column, so reordering renames every one.
9352
+
9353
+ A reactive property on the attribute, which is the one way Lit observes
9354
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
9355
+ mixin's own class, so every field observed only this mixin's attributes
9356
+ and dropped its own. Not reflected: the attribute is the consumer's. */
9357
+ namedBy?: (HelixInput["namedBy"]) | undefined;
9021
9358
  /** The validation message shown under the control. It replaces the
9022
9359
  browser's message. */
9023
9360
  feedback?: (HelixInput["feedback"]) | undefined;
@@ -9954,6 +10291,9 @@ export type HelixListHelixBeforeChangeElementEvent =
9954
10291
  /** `helix-before-reorder` event type */
9955
10292
  export type HelixListHelixBeforeReorderElementEvent =
9956
10293
  HelixListElementEvent<HelixBeforeReorderEvent>;
10294
+ /** `helix-load-more` event type */
10295
+ export type HelixListHelixLoadMoreElementEvent =
10296
+ HelixListElementEvent<HelixLoadMoreEvent>;
9957
10297
  /** `helix-reorder` event type */
9958
10298
  export type HelixListHelixReorderElementEvent =
9959
10299
  HelixListElementEvent<HelixReorderEvent>;
@@ -9986,6 +10326,12 @@ refused, in a `reorderable` list. */
9986
10326
  "dropped-label"?: (HelixList["droppedLabel"]) | undefined;
9987
10327
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
9988
10328
  droppedLabel?: (HelixList["droppedLabel"]) | undefined;
10329
+ /** The text of the row shown while the list has no rows, where the `empty`
10330
+ slot is empty. Empty, the default, shows no row. */
10331
+ "empty-label"?: (HelixList["emptyLabel"]) | undefined;
10332
+ /** The text of the row shown while the list has no rows, where the `empty`
10333
+ slot is empty. Empty, the default, shows no row. */
10334
+ emptyLabel?: (HelixList["emptyLabel"]) | undefined;
9989
10335
  /** The kind of list, which follows from the content.
9990
10336
 
9991
10337
  On the headless tier because it is meaning rather than decoration, the same
@@ -10009,6 +10355,19 @@ has to survive with the stylesheet turned off.
10009
10355
  kind?: (HelixList["kind"]) | undefined;
10010
10356
  /** The list's name, read by screen readers. */
10011
10357
  label?: (HelixList["label"]) | undefined;
10358
+ /** Marks the list as busy fetching more rows, and draws a row after the last
10359
+ that says so. The list asks for no more while it is set. */
10360
+ loading?: (HelixList["loading"]) | undefined;
10361
+ /** The text of the row drawn while `loading` is set, where the `loading` slot is empty. */
10362
+ "loading-label"?: (HelixList["loadingLabel"]) | undefined;
10363
+ /** The text of the row drawn while `loading` is set, where the `loading` slot is empty. */
10364
+ loadingLabel?: (HelixList["loadingLabel"]) | undefined;
10365
+ /** Sends `helix-load-more` once the end of the list comes within a screen of
10366
+ view, so you can add the next rows as a reader nears them. */
10367
+ "load-more"?: (HelixList["loadMore"]) | undefined;
10368
+ /** Sends `helix-load-more` once the end of the list comes within a screen of
10369
+ view, so you can add the next rows as a reader nears them. */
10370
+ loadMore?: (HelixList["loadMore"]) | undefined;
10012
10371
  /** What screen readers hear each time an arrow key moves a held row, in a
10013
10372
  `reorderable` list. `{name}` is the row's words, `{position}` the place it
10014
10373
  would go, counting from 1, and `{count}` the number of rows. */
@@ -10064,7 +10423,7 @@ consumer would have written on an `<ol>`.
10064
10423
  `type` is only `list-style-type`. `start` and `reversed` move the count
10065
10424
  itself. */
10066
10425
  type?: (HelixList["type"]) | undefined;
10067
- /** The selected rows' values, separated by commas, in a list that selects.
10426
+ /** The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
10068
10427
 
10069
10428
  Set it to start with rows selected. A row's value is its `value`, or its
10070
10429
  words where it has none. */
@@ -10080,6 +10439,8 @@ export type HelixListVueEvents = {
10080
10439
  "helix-before-change": HelixListHelixBeforeChangeElementEvent;
10081
10440
  /** 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
10441
  "helix-before-reorder": HelixListHelixBeforeReorderElementEvent;
10442
+ /** 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. */
10443
+ "helix-load-more": HelixListHelixLoadMoreElementEvent;
10083
10444
  /** 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
10445
  "helix-reorder": HelixListHelixReorderElementEvent;
10085
10446
  };
@@ -10132,8 +10493,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
10132
10493
  same statement in markup, and `default-value` is how markup seeds a value
10133
10494
  a reset should return to. */
10134
10495
  value?: (HelixListbox["value"]) | undefined;
10135
- /** */
10136
- "aria-label"?: unknown;
10496
+ /** The name a screen reader says for the field where it shows no label, as
10497
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
10498
+ names the control inside, and a new one renders at once.
10499
+
10500
+ **An `aria-label` is read when the field renders, and nothing else would
10501
+ render it again.** It is the platform's attribute and no property of this
10502
+ element's, so writing a new one scheduled no update and the label kept
10503
+ the old words. Data Table meets this on every column move: each row's
10504
+ checkbox is named by the first column, so reordering renames every one.
10505
+
10506
+ A reactive property on the attribute, which is the one way Lit observes
10507
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
10508
+ mixin's own class, so every field observed only this mixin's attributes
10509
+ and dropped its own. Not reflected: the attribute is the consumer's. */
10510
+ "aria-label"?: (HelixListbox["namedBy"]) | undefined;
10511
+ /** The name a screen reader says for the field where it shows no label, as
10512
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
10513
+ names the control inside, and a new one renders at once.
10514
+
10515
+ **An `aria-label` is read when the field renders, and nothing else would
10516
+ render it again.** It is the platform's attribute and no property of this
10517
+ element's, so writing a new one scheduled no update and the label kept
10518
+ the old words. Data Table meets this on every column move: each row's
10519
+ checkbox is named by the first column, so reordering renames every one.
10520
+
10521
+ A reactive property on the attribute, which is the one way Lit observes
10522
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
10523
+ mixin's own class, so every field observed only this mixin's attributes
10524
+ and dropped its own. Not reflected: the attribute is the consumer's. */
10525
+ namedBy?: (HelixListbox["namedBy"]) | undefined;
10137
10526
  /** The validation message shown under the control. It replaces the
10138
10527
  browser's message. */
10139
10528
  feedback?: (HelixListbox["feedback"]) | undefined;
@@ -11002,6 +11391,14 @@ the standard, themed map. The layers menu chooses it. */
11002
11391
  `connectMap` keeps it current, and the 3D button is pressed while it is
11003
11392
  above `0`. */
11004
11393
  pitch?: (HelixMap["pitch"]) | undefined;
11394
+ /** What a screen reader calls the map in place of its role, after its
11395
+ name: "Edinburgh, map". Said only where the map has a name of its
11396
+ own, since the fallback name is the same word. Empty leaves the role. */
11397
+ "role-label"?: (HelixMap["roleLabel"]) | undefined;
11398
+ /** What a screen reader calls the map in place of its role, after its
11399
+ name: "Edinburgh, map". Said only where the map has a name of its
11400
+ own, since the fallback name is the same word. Empty leaves the role. */
11401
+ roleLabel?: (HelixMap["roleLabel"]) | undefined;
11005
11402
  /** The rotate left button's label. */
11006
11403
  "rotate-left-label"?: (HelixMap["rotateLeftLabel"]) | undefined;
11007
11404
  /** The rotate left button's label. */
@@ -11249,8 +11646,24 @@ narrow exception the server specs describe covers a mirror that can only
11249
11646
  become true long after hydration, and a viewport measured before the first
11250
11647
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
11251
11648
  bandBelow?: (HelixMegamenu["bandBelow"]) | undefined;
11649
+ /** How long a pointer leaving the trigger and the panel waits before the panel
11650
+ closes, in milliseconds. The pointer needs the time to cross from the
11651
+ trigger to the panel. */
11652
+ "close-delay"?: (HelixMegamenu["closeDelay"] | `${number}`) | undefined;
11653
+ /** How long a pointer leaving the trigger and the panel waits before the panel
11654
+ closes, in milliseconds. The pointer needs the time to cross from the
11655
+ trigger to the panel. */
11656
+ closeDelay?: (HelixMegamenu["closeDelay"]) | undefined;
11252
11657
  /** The section's name, used for the default trigger and the panel. */
11253
11658
  label?: (HelixMegamenu["label"]) | undefined;
11659
+ /** How long a pointer rests on the trigger before the panel opens, in
11660
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
11661
+ way somewhere else opens nothing. */
11662
+ "open-delay"?: (HelixMegamenu["openDelay"] | `${number}`) | undefined;
11663
+ /** How long a pointer rests on the trigger before the panel opens, in
11664
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
11665
+ way somewhere else opens nothing. */
11666
+ openDelay?: (HelixMegamenu["openDelay"]) | undefined;
11254
11667
  /** Whether hovering over the trigger opens the panel (`hover`), or only a press
11255
11668
  does (`click`).
11256
11669
 
@@ -11267,6 +11680,10 @@ the trigger, and it is the default because that is what a navigation bar
11267
11680
  does. `click` is for a trigger that does something else as well, or a panel
11268
11681
  heavy enough that opening it on the way past is rude. */
11269
11682
  openOn?: (HelixMegamenu["openOn"]) | undefined;
11683
+ /** The side of the trigger a card panel opens on, when there is room. It
11684
+ moves if that side does not fit. A band ignores it, since a band spans the
11685
+ page under its bar. */
11686
+ placement?: (HelixMegamenu["placement"]) | undefined;
11270
11687
  /** Whether the panel is a card under the trigger or a band across the page.
11271
11688
 
11272
11689
  The resting one is the card, hanging off the trigger and as wide as it
@@ -11441,12 +11858,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
11441
11858
  from "Actions" is announced as "Actions". An `aria-label` or
11442
11859
  `aria-labelledby` on the host names it too, and wins over both. */
11443
11860
  label?: (HelixMenu["label"]) | undefined;
11861
+ /** The description a trigger gives under `open-on="long-press"`, saying how
11862
+ to open the menu. Translate it with the rest of your interface. */
11863
+ "long-press-label"?: (HelixMenu["longPressLabel"]) | undefined;
11864
+ /** The description a trigger gives under `open-on="long-press"`, saying how
11865
+ to open the menu. Translate it with the rest of your interface. */
11866
+ longPressLabel?: (HelixMenu["longPressLabel"]) | undefined;
11444
11867
  /** Space between the trigger and the surface, in pixels. */
11445
11868
  offset?: (HelixMenu["offset"]) | undefined;
11869
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
11870
+ trigger's own action and opens the menu on a press held for half a second,
11871
+ or on Alt+Down or Alt+Up. */
11872
+ "open-on"?: (HelixMenu["openOn"]) | undefined;
11873
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
11874
+ trigger's own action and opens the menu on a press held for half a second,
11875
+ or on Alt+Down or Alt+Up. */
11876
+ openOn?: (HelixMenu["openOn"]) | undefined;
11446
11877
  /** The side the menu opens on, when there is room.
11447
11878
 
11448
11879
  It moves if that side does not fit. */
11449
11880
  placement?: (HelixMenu["placement"]) | undefined;
11881
+ /** How a submenu opens. `drill` shows it in place of the page showing, with
11882
+ a way back. `flyout` opens it in a panel of its own beside its row. */
11883
+ submenus?: (HelixMenu["submenus"]) | undefined;
11450
11884
  };
11451
11885
 
11452
11886
  export type HelixMenuVueEvents = {
@@ -11881,6 +12315,12 @@ say that without the component knowing what a row looks like. */
11881
12315
  "loading-text"?: (HelixNotifications["loadingText"]) | undefined;
11882
12316
  /** The text shown and announced while the rows load. */
11883
12317
  loadingText?: (HelixNotifications["loadingText"]) | undefined;
12318
+ /** What the feed says when unread notifications arrive, with `{count}` the
12319
+ number of them. Empty it to say nothing. */
12320
+ "arrived-label"?: (HelixNotifications["arrivedLabel"]) | undefined;
12321
+ /** What the feed says when unread notifications arrive, with `{count}` the
12322
+ number of them. Empty it to say nothing. */
12323
+ arrivedLabel?: (HelixNotifications["arrivedLabel"]) | undefined;
11884
12324
  /** The region's name where `label` is empty. */
11885
12325
  "fallback-label"?: (HelixNotifications["fallbackLabel"]) | undefined;
11886
12326
  /** The region's name where `label` is empty. */
@@ -11961,8 +12401,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
11961
12401
  same statement in markup, and `default-value` is how markup seeds a value
11962
12402
  a reset should return to. */
11963
12403
  value?: (HelixNumberInput["value"]) | undefined;
11964
- /** */
11965
- "aria-label"?: unknown;
12404
+ /** The name a screen reader says for the field where it shows no label, as
12405
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
12406
+ names the control inside, and a new one renders at once.
12407
+
12408
+ **An `aria-label` is read when the field renders, and nothing else would
12409
+ render it again.** It is the platform's attribute and no property of this
12410
+ element's, so writing a new one scheduled no update and the label kept
12411
+ the old words. Data Table meets this on every column move: each row's
12412
+ checkbox is named by the first column, so reordering renames every one.
12413
+
12414
+ A reactive property on the attribute, which is the one way Lit observes
12415
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
12416
+ mixin's own class, so every field observed only this mixin's attributes
12417
+ and dropped its own. Not reflected: the attribute is the consumer's. */
12418
+ "aria-label"?: (HelixNumberInput["namedBy"]) | undefined;
12419
+ /** The name a screen reader says for the field where it shows no label, as
12420
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
12421
+ names the control inside, and a new one renders at once.
12422
+
12423
+ **An `aria-label` is read when the field renders, and nothing else would
12424
+ render it again.** It is the platform's attribute and no property of this
12425
+ element's, so writing a new one scheduled no update and the label kept
12426
+ the old words. Data Table meets this on every column move: each row's
12427
+ checkbox is named by the first column, so reordering renames every one.
12428
+
12429
+ A reactive property on the attribute, which is the one way Lit observes
12430
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
12431
+ mixin's own class, so every field observed only this mixin's attributes
12432
+ and dropped its own. Not reflected: the attribute is the consumer's. */
12433
+ namedBy?: (HelixNumberInput["namedBy"]) | undefined;
11966
12434
  /** The validation message shown under the control. It replaces the
11967
12435
  browser's message. */
11968
12436
  feedback?: (HelixNumberInput["feedback"]) | undefined;
@@ -12091,6 +12559,20 @@ filled in, written in the locale. */
12091
12559
  readonly?: (HelixNumberInput["readOnly"]) | undefined;
12092
12560
  /** Prevents editing. The value is still submitted with the form. */
12093
12561
  readOnly?: (HelixNumberInput["readOnly"]) | undefined;
12562
+ /** The words screen readers announce for the field's role, set as its
12563
+ `aria-roledescription`. Translate it with the rest of your text, or empty
12564
+ it to leave the role as `spinbutton`.
12565
+
12566
+ Never written on iOS and iPadOS, where a role description stops VoiceOver
12567
+ saying that the field is required. */
12568
+ "role-label"?: (HelixNumberInput["roleLabel"]) | undefined;
12569
+ /** The words screen readers announce for the field's role, set as its
12570
+ `aria-roledescription`. Translate it with the rest of your text, or empty
12571
+ it to leave the role as `spinbutton`.
12572
+
12573
+ Never written on iOS and iPadOS, where a role description stops VoiceOver
12574
+ saying that the field is required. */
12575
+ roleLabel?: (HelixNumberInput["roleLabel"]) | undefined;
12094
12576
  /** Makes the label a grip that changes the value when it is dragged.
12095
12577
 
12096
12578
  The label is what is dragged, so this adds no chrome at all. Still opt-in,
@@ -12348,6 +12830,14 @@ needs a height, which is a stylesheet rule reading this attribute. */
12348
12830
  Writing opens exactly these and closes every other, keeping the active row
12349
12831
  where it stays visible. A property, never an attribute. */
12350
12832
  expanded?: (HelixObjectInspector["expanded"]) | undefined;
12833
+ /** Draws an entry's value your way, given the value and its entry. Set it as
12834
+ a property.
12835
+
12836
+ It returns what Lit renders: a template from `html`, a string, or a DOM
12837
+ node. `undefined` draws the value as the inspector does, so a function can
12838
+ draw some entries and leave the rest, such as only the strings under
12839
+ `/links`. */
12840
+ renderValue?: (HelixObjectInspector["renderValue"]) | undefined;
12351
12841
  /** The value to show, when your code already holds it as an object.
12352
12842
 
12353
12843
  Takes precedence over `for`. Anything JSON can say is drawn; anything else
@@ -12483,6 +12973,15 @@ simply the accessible name.
12483
12973
  `<option label>` does: written the platform's way, a select listed a row of
12484
12974
  nothing for every choice. */
12485
12975
  label?: (HelixOption["label"]) | undefined;
12976
+ /** The page of commands this option opens, by name, where choosing it would
12977
+ otherwise run it.
12978
+
12979
+ Declared here and acted on by whatever owns the list, as `alternate` is.
12980
+ `Command` is the only owner that reads it: choosing the option shows the
12981
+ commands slotted as `page:` and the name, such as `slot="page:theme"`,
12982
+ and Backspace in an empty filter goes back. Empty is an option that opens
12983
+ nothing, which is nearly every option. */
12984
+ opens?: (HelixOption["opens"]) | undefined;
12486
12985
  /** The link's `rel`. Set it whenever you set `target="_blank"`. */
12487
12986
  rel?: (HelixOption["rel"]) | undefined;
12488
12987
  /** Whether this choice is currently chosen.
@@ -12957,8 +13456,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
12957
13456
  same statement in markup, and `default-value` is how markup seeds a value
12958
13457
  a reset should return to. */
12959
13458
  value?: (HelixPinInput["value"]) | undefined;
12960
- /** */
12961
- "aria-label"?: unknown;
13459
+ /** The name a screen reader says for the field where it shows no label, as
13460
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13461
+ names the control inside, and a new one renders at once.
13462
+
13463
+ **An `aria-label` is read when the field renders, and nothing else would
13464
+ render it again.** It is the platform's attribute and no property of this
13465
+ element's, so writing a new one scheduled no update and the label kept
13466
+ the old words. Data Table meets this on every column move: each row's
13467
+ checkbox is named by the first column, so reordering renames every one.
13468
+
13469
+ A reactive property on the attribute, which is the one way Lit observes
13470
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13471
+ mixin's own class, so every field observed only this mixin's attributes
13472
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13473
+ "aria-label"?: (HelixPinInput["namedBy"]) | undefined;
13474
+ /** The name a screen reader says for the field where it shows no label, as
13475
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13476
+ names the control inside, and a new one renders at once.
13477
+
13478
+ **An `aria-label` is read when the field renders, and nothing else would
13479
+ render it again.** It is the platform's attribute and no property of this
13480
+ element's, so writing a new one scheduled no update and the label kept
13481
+ the old words. Data Table meets this on every column move: each row's
13482
+ checkbox is named by the first column, so reordering renames every one.
13483
+
13484
+ A reactive property on the attribute, which is the one way Lit observes
13485
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13486
+ mixin's own class, so every field observed only this mixin's attributes
13487
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13488
+ namedBy?: (HelixPinInput["namedBy"]) | undefined;
12962
13489
  /** The validation message shown under the control. It replaces the
12963
13490
  browser's message. */
12964
13491
  feedback?: (HelixPinInput["feedback"]) | undefined;
@@ -13432,8 +13959,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
13432
13959
  same statement in markup, and `default-value` is how markup seeds a value
13433
13960
  a reset should return to. */
13434
13961
  value?: (HelixRadioGroup["value"]) | undefined;
13435
- /** */
13436
- "aria-label"?: unknown;
13962
+ /** The name a screen reader says for the field where it shows no label, as
13963
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13964
+ names the control inside, and a new one renders at once.
13965
+
13966
+ **An `aria-label` is read when the field renders, and nothing else would
13967
+ render it again.** It is the platform's attribute and no property of this
13968
+ element's, so writing a new one scheduled no update and the label kept
13969
+ the old words. Data Table meets this on every column move: each row's
13970
+ checkbox is named by the first column, so reordering renames every one.
13971
+
13972
+ A reactive property on the attribute, which is the one way Lit observes
13973
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13974
+ mixin's own class, so every field observed only this mixin's attributes
13975
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13976
+ "aria-label"?: (HelixRadioGroup["namedBy"]) | undefined;
13977
+ /** The name a screen reader says for the field where it shows no label, as
13978
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
13979
+ names the control inside, and a new one renders at once.
13980
+
13981
+ **An `aria-label` is read when the field renders, and nothing else would
13982
+ render it again.** It is the platform's attribute and no property of this
13983
+ element's, so writing a new one scheduled no update and the label kept
13984
+ the old words. Data Table meets this on every column move: each row's
13985
+ checkbox is named by the first column, so reordering renames every one.
13986
+
13987
+ A reactive property on the attribute, which is the one way Lit observes
13988
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
13989
+ mixin's own class, so every field observed only this mixin's attributes
13990
+ and dropped its own. Not reflected: the attribute is the consumer's. */
13991
+ namedBy?: (HelixRadioGroup["namedBy"]) | undefined;
13437
13992
  /** The validation message shown under the control. It replaces the
13438
13993
  browser's message. */
13439
13994
  feedback?: (HelixRadioGroup["feedback"]) | undefined;
@@ -13728,8 +14283,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
13728
14283
  same statement in markup, and `default-value` is how markup seeds a value
13729
14284
  a reset should return to. */
13730
14285
  value?: (HelixRating["value"]) | undefined;
13731
- /** */
13732
- "aria-label"?: unknown;
14286
+ /** The name a screen reader says for the field where it shows no label, as
14287
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
14288
+ names the control inside, and a new one renders at once.
14289
+
14290
+ **An `aria-label` is read when the field renders, and nothing else would
14291
+ render it again.** It is the platform's attribute and no property of this
14292
+ element's, so writing a new one scheduled no update and the label kept
14293
+ the old words. Data Table meets this on every column move: each row's
14294
+ checkbox is named by the first column, so reordering renames every one.
14295
+
14296
+ A reactive property on the attribute, which is the one way Lit observes
14297
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
14298
+ mixin's own class, so every field observed only this mixin's attributes
14299
+ and dropped its own. Not reflected: the attribute is the consumer's. */
14300
+ "aria-label"?: (HelixRating["namedBy"]) | undefined;
14301
+ /** The name a screen reader says for the field where it shows no label, as
14302
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
14303
+ names the control inside, and a new one renders at once.
14304
+
14305
+ **An `aria-label` is read when the field renders, and nothing else would
14306
+ render it again.** It is the platform's attribute and no property of this
14307
+ element's, so writing a new one scheduled no update and the label kept
14308
+ the old words. Data Table meets this on every column move: each row's
14309
+ checkbox is named by the first column, so reordering renames every one.
14310
+
14311
+ A reactive property on the attribute, which is the one way Lit observes
14312
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
14313
+ mixin's own class, so every field observed only this mixin's attributes
14314
+ and dropped its own. Not reflected: the attribute is the consumer's. */
14315
+ namedBy?: (HelixRating["namedBy"]) | undefined;
13733
14316
  /** The validation message shown under the control. It replaces the
13734
14317
  browser's message. */
13735
14318
  feedback?: (HelixRating["feedback"]) | undefined;
@@ -13981,9 +14564,13 @@ Not reflected, for `direction`'s reason: the placement is applied by the
13981
14564
  document inside the frame, against its own root, so no rule on this side
13982
14565
  could read it. */
13983
14566
  layout?: (HelixSandboxPreview["layout"]) | undefined;
14567
+ /** A script to run as a module after the markup, on every render of new
14568
+ source. A sandbox writes its `js` pane here. */
14569
+ script?: (HelixSandboxPreview["script"]) | undefined;
13984
14570
  /** Markup to render. */
13985
14571
  source?: (HelixSandboxPreview["source"]) | undefined;
13986
- /** The document the frame loads. It provides the styles and the elements. */
14572
+ /** The document the frame loads. It provides the styles and the elements.
14573
+ Empty loads the built-in document, which defines no element. */
13987
14574
  src?: (HelixSandboxPreview["src"]) | undefined;
13988
14575
  /** Stylesheet applied inside the frame, alongside the markup. */
13989
14576
  styles?: (HelixSandboxPreview["styles"]) | undefined;
@@ -14594,8 +15181,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
14594
15181
  same statement in markup, and `default-value` is how markup seeds a value
14595
15182
  a reset should return to. */
14596
15183
  value?: (HelixSelect["value"]) | undefined;
14597
- /** */
14598
- "aria-label"?: unknown;
15184
+ /** The name a screen reader says for the field where it shows no label, as
15185
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15186
+ names the control inside, and a new one renders at once.
15187
+
15188
+ **An `aria-label` is read when the field renders, and nothing else would
15189
+ render it again.** It is the platform's attribute and no property of this
15190
+ element's, so writing a new one scheduled no update and the label kept
15191
+ the old words. Data Table meets this on every column move: each row's
15192
+ checkbox is named by the first column, so reordering renames every one.
15193
+
15194
+ A reactive property on the attribute, which is the one way Lit observes
15195
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15196
+ mixin's own class, so every field observed only this mixin's attributes
15197
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15198
+ "aria-label"?: (HelixSelect["namedBy"]) | undefined;
15199
+ /** The name a screen reader says for the field where it shows no label, as
15200
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15201
+ names the control inside, and a new one renders at once.
15202
+
15203
+ **An `aria-label` is read when the field renders, and nothing else would
15204
+ render it again.** It is the platform's attribute and no property of this
15205
+ element's, so writing a new one scheduled no update and the label kept
15206
+ the old words. Data Table meets this on every column move: each row's
15207
+ checkbox is named by the first column, so reordering renames every one.
15208
+
15209
+ A reactive property on the attribute, which is the one way Lit observes
15210
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15211
+ mixin's own class, so every field observed only this mixin's attributes
15212
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15213
+ namedBy?: (HelixSelect["namedBy"]) | undefined;
14599
15214
  /** The validation message shown under the control. It replaces the
14600
15215
  browser's message. */
14601
15216
  feedback?: (HelixSelect["feedback"]) | undefined;
@@ -14843,8 +15458,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
14843
15458
  same statement in markup, and `default-value` is how markup seeds a value
14844
15459
  a reset should return to. */
14845
15460
  value?: (HelixSlider["value"]) | undefined;
14846
- /** */
14847
- "aria-label"?: unknown;
15461
+ /** The name a screen reader says for the field where it shows no label, as
15462
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15463
+ names the control inside, and a new one renders at once.
15464
+
15465
+ **An `aria-label` is read when the field renders, and nothing else would
15466
+ render it again.** It is the platform's attribute and no property of this
15467
+ element's, so writing a new one scheduled no update and the label kept
15468
+ the old words. Data Table meets this on every column move: each row's
15469
+ checkbox is named by the first column, so reordering renames every one.
15470
+
15471
+ A reactive property on the attribute, which is the one way Lit observes
15472
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15473
+ mixin's own class, so every field observed only this mixin's attributes
15474
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15475
+ "aria-label"?: (HelixSlider["namedBy"]) | undefined;
15476
+ /** The name a screen reader says for the field where it shows no label, as
15477
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
15478
+ names the control inside, and a new one renders at once.
15479
+
15480
+ **An `aria-label` is read when the field renders, and nothing else would
15481
+ render it again.** It is the platform's attribute and no property of this
15482
+ element's, so writing a new one scheduled no update and the label kept
15483
+ the old words. Data Table meets this on every column move: each row's
15484
+ checkbox is named by the first column, so reordering renames every one.
15485
+
15486
+ A reactive property on the attribute, which is the one way Lit observes
15487
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
15488
+ mixin's own class, so every field observed only this mixin's attributes
15489
+ and dropped its own. Not reflected: the attribute is the consumer's. */
15490
+ namedBy?: (HelixSlider["namedBy"]) | undefined;
14848
15491
  /** The validation message shown under the control. It replaces the
14849
15492
  browser's message. */
14850
15493
  feedback?: (HelixSlider["feedback"]) | undefined;
@@ -15799,8 +16442,36 @@ was, and the control says `aria-readonly`. A script can still set
15799
16442
  The attribute is `readonly`, which is the platform's spelling for the
15800
16443
  text fields. */
15801
16444
  readOnly?: (HelixSwitch["readOnly"]) | undefined;
15802
- /** */
15803
- "aria-label"?: unknown;
16445
+ /** The name a screen reader says for the field where it shows no label, as
16446
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
16447
+ names the control inside, and a new one renders at once.
16448
+
16449
+ **An `aria-label` is read when the field renders, and nothing else would
16450
+ render it again.** It is the platform's attribute and no property of this
16451
+ element's, so writing a new one scheduled no update and the label kept
16452
+ the old words. Data Table meets this on every column move: each row's
16453
+ checkbox is named by the first column, so reordering renames every one.
16454
+
16455
+ A reactive property on the attribute, which is the one way Lit observes
16456
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
16457
+ mixin's own class, so every field observed only this mixin's attributes
16458
+ and dropped its own. Not reflected: the attribute is the consumer's. */
16459
+ "aria-label"?: (HelixSwitch["namedBy"]) | undefined;
16460
+ /** The name a screen reader says for the field where it shows no label, as
16461
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
16462
+ names the control inside, and a new one renders at once.
16463
+
16464
+ **An `aria-label` is read when the field renders, and nothing else would
16465
+ render it again.** It is the platform's attribute and no property of this
16466
+ element's, so writing a new one scheduled no update and the label kept
16467
+ the old words. Data Table meets this on every column move: each row's
16468
+ checkbox is named by the first column, so reordering renames every one.
16469
+
16470
+ A reactive property on the attribute, which is the one way Lit observes
16471
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
16472
+ mixin's own class, so every field observed only this mixin's attributes
16473
+ and dropped its own. Not reflected: the attribute is the consumer's. */
16474
+ namedBy?: (HelixSwitch["namedBy"]) | undefined;
15804
16475
  /** The validation message shown under the control. It replaces the
15805
16476
  browser's message. */
15806
16477
  feedback?: (HelixSwitch["feedback"]) | undefined;
@@ -16176,6 +16847,22 @@ is set. */
16176
16847
  "dropped-label"?: (HelixTable["droppedLabel"]) | undefined;
16177
16848
  /** What screen readers hear when a held row is dropped, in a `reorderable` table. */
16178
16849
  droppedLabel?: (HelixTable["droppedLabel"]) | undefined;
16850
+ /** The text shown and announced when the rows could not load. Set it when a
16851
+ fetch fails, and clear it once you try again. Empty, the default, shows
16852
+ nothing.
16853
+
16854
+ While it is set, a line after the rows shows it, or your own content in the
16855
+ `error` slot, in place of the empty and loading lines, and the live region
16856
+ says it. */
16857
+ "error-text"?: (HelixTable["errorText"]) | undefined;
16858
+ /** The text shown and announced when the rows could not load. Set it when a
16859
+ fetch fails, and clear it once you try again. Empty, the default, shows
16860
+ nothing.
16861
+
16862
+ While it is set, a line after the rows shows it, or your own content in the
16863
+ `error` slot, in place of the empty and loading lines, and the live region
16864
+ says it. */
16865
+ errorText?: (HelixTable["errorText"]) | undefined;
16179
16866
  /** The table's name where neither `label` nor an `aria-label` or
16180
16867
  `aria-labelledby` on the host gives it one. */
16181
16868
  "fallback-label"?: (HelixTable["fallbackLabel"]) | undefined;
@@ -16749,8 +17436,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
16749
17436
  same statement in markup, and `default-value` is how markup seeds a value
16750
17437
  a reset should return to. */
16751
17438
  value?: (HelixTextarea["value"]) | undefined;
16752
- /** */
16753
- "aria-label"?: unknown;
17439
+ /** The name a screen reader says for the field where it shows no label, as
17440
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17441
+ names the control inside, and a new one renders at once.
17442
+
17443
+ **An `aria-label` is read when the field renders, and nothing else would
17444
+ render it again.** It is the platform's attribute and no property of this
17445
+ element's, so writing a new one scheduled no update and the label kept
17446
+ the old words. Data Table meets this on every column move: each row's
17447
+ checkbox is named by the first column, so reordering renames every one.
17448
+
17449
+ A reactive property on the attribute, which is the one way Lit observes
17450
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17451
+ mixin's own class, so every field observed only this mixin's attributes
17452
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17453
+ "aria-label"?: (HelixTextarea["namedBy"]) | undefined;
17454
+ /** The name a screen reader says for the field where it shows no label, as
17455
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17456
+ names the control inside, and a new one renders at once.
17457
+
17458
+ **An `aria-label` is read when the field renders, and nothing else would
17459
+ render it again.** It is the platform's attribute and no property of this
17460
+ element's, so writing a new one scheduled no update and the label kept
17461
+ the old words. Data Table meets this on every column move: each row's
17462
+ checkbox is named by the first column, so reordering renames every one.
17463
+
17464
+ A reactive property on the attribute, which is the one way Lit observes
17465
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17466
+ mixin's own class, so every field observed only this mixin's attributes
17467
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17468
+ namedBy?: (HelixTextarea["namedBy"]) | undefined;
16754
17469
  /** The validation message shown under the control. It replaces the
16755
17470
  browser's message. */
16756
17471
  feedback?: (HelixTextarea["feedback"]) | undefined;
@@ -17065,8 +17780,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
17065
17780
  same statement in markup, and `default-value` is how markup seeds a value
17066
17781
  a reset should return to. */
17067
17782
  value?: (HelixTimeInput["value"]) | undefined;
17068
- /** */
17069
- "aria-label"?: unknown;
17783
+ /** The name a screen reader says for the field where it shows no label, as
17784
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17785
+ names the control inside, and a new one renders at once.
17786
+
17787
+ **An `aria-label` is read when the field renders, and nothing else would
17788
+ render it again.** It is the platform's attribute and no property of this
17789
+ element's, so writing a new one scheduled no update and the label kept
17790
+ the old words. Data Table meets this on every column move: each row's
17791
+ checkbox is named by the first column, so reordering renames every one.
17792
+
17793
+ A reactive property on the attribute, which is the one way Lit observes
17794
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17795
+ mixin's own class, so every field observed only this mixin's attributes
17796
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17797
+ "aria-label"?: (HelixTimeInput["namedBy"]) | undefined;
17798
+ /** The name a screen reader says for the field where it shows no label, as
17799
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
17800
+ names the control inside, and a new one renders at once.
17801
+
17802
+ **An `aria-label` is read when the field renders, and nothing else would
17803
+ render it again.** It is the platform's attribute and no property of this
17804
+ element's, so writing a new one scheduled no update and the label kept
17805
+ the old words. Data Table meets this on every column move: each row's
17806
+ checkbox is named by the first column, so reordering renames every one.
17807
+
17808
+ A reactive property on the attribute, which is the one way Lit observes
17809
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
17810
+ mixin's own class, so every field observed only this mixin's attributes
17811
+ and dropped its own. Not reflected: the attribute is the consumer's. */
17812
+ namedBy?: (HelixTimeInput["namedBy"]) | undefined;
17070
17813
  /** The validation message shown under the control. It replaces the
17071
17814
  browser's message. */
17072
17815
  feedback?: (HelixTimeInput["feedback"]) | undefined;
@@ -17354,6 +18097,19 @@ A time not on the step is simply never offered, so it is not an error to
17354
18097
  name one, and naming every time in the list is how the empty state is
17355
18098
  reached honestly rather than by handing over an empty range. */
17356
18099
  disableTimes?: (HelixTimePicker["disableTimes"]) | undefined;
18100
+ /** What the list says when no time falls between `min` and `max`.
18101
+
18102
+ The fallback of the `empty` slot. */
18103
+ "empty-text"?: (HelixTimePicker["emptyText"]) | undefined;
18104
+ /** What the list says when no time falls between `min` and `max`.
18105
+
18106
+ The fallback of the `empty` slot. */
18107
+ emptyText?: (HelixTimePicker["emptyText"]) | undefined;
18108
+ /** Help under the times, such as the hours a shop is open, read by screen
18109
+ readers as the list's description. A message in `feedback` replaces it.
18110
+
18111
+ The fallback of the `hint` slot. */
18112
+ hint?: (HelixTimePicker["hint"]) | undefined;
17357
18113
  /** The clock the times are written on: `h12` for twelve hours with a
17358
18114
  meridiem, `h23` for twenty-four.
17359
18115
 
@@ -17380,7 +18136,8 @@ English, "Stunde" in German. */
17380
18136
  hourLabel?: (HelixTimePicker["hourLabel"]) | undefined;
17381
18137
  /** Accessible name for the list, which has no visible one of its own.
17382
18138
 
17383
- An `aria-label` or `aria-labelledby` on the host names the list instead. */
18139
+ An `aria-label` or `aria-labelledby` on the host names the list instead,
18140
+ and so does a label slotted into `label`, which is also drawn above it. */
17384
18141
  label?: (HelixTimePicker["label"]) | undefined;
17385
18142
  /** Language tag the times and the wheels' names are written in.
17386
18143
 
@@ -17606,6 +18363,11 @@ Whatever `<time>` accepts, which is a date, a time, both, a duration or a
17606
18363
  week. Unset, the label is written as it was given and nothing claims to
17607
18364
  know what instant it names. */
17608
18365
  datetime?: (HelixTimelineItem["datetime"]) | undefined;
18366
+ /** Writes the time as how long ago it was, or how long until it, from
18367
+ `datetime`, where the `time` slot is empty: `long` ("3 hours ago"),
18368
+ `short` ("3 hr. ago") or `narrow` ("3h ago"). Set with no value, it is
18369
+ `long`. The words move on as they go stale. */
18370
+ relative?: (HelixTimelineItem["relative"]) | undefined;
17609
18371
  /** The kind of event. It sets the color of the mark and nothing else. */
17610
18372
  tone?: (HelixTimelineItem["tone"]) | undefined;
17611
18373
  };
@@ -17684,6 +18446,10 @@ attribute nobody can use. */
17684
18446
 
17685
18447
  A subset of the tone axis: a toast reports a status and never a brand role. */
17686
18448
  tone?: (HelixToastItem["tone"]) | undefined;
18449
+ /** Whether the region holds the message back, because more messages are
18450
+ showing than its `max-visible`. The region sets it. A waiting message is
18451
+ hidden, its timer has not started, and it is said once it shows. */
18452
+ waiting?: (HelixToastItem["waiting"]) | undefined;
17687
18453
  };
17688
18454
 
17689
18455
  export type HelixToastItemVueEvents = {
@@ -17706,6 +18472,14 @@ Empty turns it off. */
17706
18472
  /** Accessible name for the region, with `{hotkey}` filled in. Translate it with
17707
18473
  the rest of your interface. */
17708
18474
  label?: (HelixToast["label"]) | undefined;
18475
+ /** How many messages show at once. The messages after that many wait, hidden
18476
+ and with their timers stopped, until a message before them goes. Unset,
18477
+ every message shows. */
18478
+ "max-visible"?: (HelixToast["maxVisible"] | `${number}`) | undefined;
18479
+ /** How many messages show at once. The messages after that many wait, hidden
18480
+ and with their timers stopped, until a message before them goes. Unset,
18481
+ every message shows. */
18482
+ maxVisible?: (HelixToast["maxVisible"]) | undefined;
17709
18483
  /** Which corner or edge the stack sits at.
17710
18484
 
17711
18485
  Named here rather than on each message, because where a page puts its
@@ -17781,8 +18555,36 @@ asking it meant. Writing always applies; `<helix-input value="x">` is the
17781
18555
  same statement in markup, and `default-value` is how markup seeds a value
17782
18556
  a reset should return to. */
17783
18557
  value?: (HelixToggleGroup["value"]) | undefined;
17784
- /** */
17785
- "aria-label"?: unknown;
18558
+ /** The name a screen reader says for the field where it shows no label, as
18559
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
18560
+ names the control inside, and a new one renders at once.
18561
+
18562
+ **An `aria-label` is read when the field renders, and nothing else would
18563
+ render it again.** It is the platform's attribute and no property of this
18564
+ element's, so writing a new one scheduled no update and the label kept
18565
+ the old words. Data Table meets this on every column move: each row's
18566
+ checkbox is named by the first column, so reordering renames every one.
18567
+
18568
+ A reactive property on the attribute, which is the one way Lit observes
18569
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
18570
+ mixin's own class, so every field observed only this mixin's attributes
18571
+ and dropped its own. Not reflected: the attribute is the consumer's. */
18572
+ "aria-label"?: (HelixToggleGroup["namedBy"]) | undefined;
18573
+ /** The name a screen reader says for the field where it shows no label, as
18574
+ the platform's `aria-label`. It is drawn as a label and clipped, so it
18575
+ names the control inside, and a new one renders at once.
18576
+
18577
+ **An `aria-label` is read when the field renders, and nothing else would
18578
+ render it again.** It is the platform's attribute and no property of this
18579
+ element's, so writing a new one scheduled no update and the label kept
18580
+ the old words. Data Table meets this on every column move: each row's
18581
+ checkbox is named by the first column, so reordering renames every one.
18582
+
18583
+ A reactive property on the attribute, which is the one way Lit observes
18584
+ one. Overriding `observedAttributes` in a mixin compiled `this` to the
18585
+ mixin's own class, so every field observed only this mixin's attributes
18586
+ and dropped its own. Not reflected: the attribute is the consumer's. */
18587
+ namedBy?: (HelixToggleGroup["namedBy"]) | undefined;
17786
18588
  /** The validation message shown under the control. It replaces the
17787
18589
  browser's message. */
17788
18590
  feedback?: (HelixToggleGroup["feedback"]) | undefined;
@@ -18859,6 +19661,20 @@ Ignored once `active` is written. */
18859
19661
  defaultActive?: (HelixVideoPlaylist["defaultActive"]) | undefined;
18860
19662
  /** The list's name, read by screen readers. */
18861
19663
  label?: (HelixVideoPlaylist["label"]) | undefined;
19664
+ /** What the live region says when the playlist moves to another entry.
19665
+ `{title}` is the entry's name.
19666
+
19667
+ **A move a reader did not make is said.** At the end of a clip the
19668
+ playlist starts the next one, and the only other trace of that is the
19669
+ `aria-current` on a button the reader is not on. */
19670
+ "playing-label"?: (HelixVideoPlaylist["playingLabel"]) | undefined;
19671
+ /** What the live region says when the playlist moves to another entry.
19672
+ `{title}` is the entry's name.
19673
+
19674
+ **A move a reader did not make is said.** At the end of a clip the
19675
+ playlist starts the next one, and the only other trace of that is the
19676
+ `aria-current` on a button the reader is not on. */
19677
+ playingLabel?: (HelixVideoPlaylist["playingLabel"]) | undefined;
18862
19678
  /** What happens when an entry ends with no next one to go to. `one` plays the
18863
19679
  same entry again, and `all` goes from the last entry back to the first.
18864
19680
  Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -18930,6 +19746,10 @@ permitted is the browser's policy, and what follows a refused autoplay is a
18930
19746
  paused player showing its start control, which is the correct thing to be
18931
19747
  looking at. */
18932
19748
  autoplay?: (HelixVideo["autoplay"]) | undefined;
19749
+ /** What the live region says when `c` turns captions off. */
19750
+ "captions-hidden-label"?: (HelixVideo["captionsHiddenLabel"]) | undefined;
19751
+ /** What the live region says when `c` turns captions off. */
19752
+ captionsHiddenLabel?: (HelixVideo["captionsHiddenLabel"]) | undefined;
18933
19753
  /** The name of the captions control when the video has one track. The control
18934
19754
  turns that track on and off.
18935
19755
 
@@ -18950,6 +19770,10 @@ tracks. */
18950
19770
  /** The name of the row that turns captions off, when the video has several
18951
19771
  tracks. */
18952
19772
  captionsOffLabel?: (HelixVideo["captionsOffLabel"]) | undefined;
19773
+ /** What the live region says when `c` turns captions on. */
19774
+ "captions-shown-label"?: (HelixVideo["captionsShownLabel"]) | undefined;
19775
+ /** What the live region says when `c` turns captions on. */
19776
+ captionsShownLabel?: (HelixVideo["captionsShownLabel"]) | undefined;
18953
19777
  /** Whether the browser draws its native controls. When set, this element draws
18954
19778
  no controls of its own.
18955
19779
 
@@ -19126,6 +19950,10 @@ writes the current entry's name here. */
19126
19950
  "more-label"?: (HelixVideo["moreLabel"]) | undefined;
19127
19951
  /** What the button that opens `overflow-controls` is called. */
19128
19952
  moreLabel?: (HelixVideo["moreLabel"]) | undefined;
19953
+ /** What the live region says when a key mutes the video. */
19954
+ "muted-label"?: (HelixVideo["mutedLabel"]) | undefined;
19955
+ /** What the live region says when a key mutes the video. */
19956
+ mutedLabel?: (HelixVideo["mutedLabel"]) | undefined;
19129
19957
  /** The name of the mute control. The control shows as pressed while the video
19130
19958
  is muted. */
19131
19959
  "mute-label"?: (HelixVideo["muteLabel"]) | undefined;
@@ -19168,6 +19996,10 @@ So the consumer says where the fold is, which they can, having already
19168
19996
  named the controls in order. A name in both lists is drawn once, on the
19169
19997
  bar: two of the same control is worse than either placement. */
19170
19998
  overflowControls?: (HelixVideo["overflowControls"]) | undefined;
19999
+ /** What the live region says when a key pauses the video. */
20000
+ "paused-label"?: (HelixVideo["pausedLabel"]) | undefined;
20001
+ /** What the live region says when a key pauses the video. */
20002
+ pausedLabel?: (HelixVideo["pausedLabel"]) | undefined;
19171
20003
  /** The name of the play control while pressing it would pause the video. */
19172
20004
  "pause-label"?: (HelixVideo["pauseLabel"]) | undefined;
19173
20005
  /** The name of the play control while pressing it would pause the video. */
@@ -19190,6 +20022,10 @@ this is what a screen reader calls it on arriving. */
19190
20022
  /** The name of the player when `label` is not set. The player is a group, and
19191
20023
  this is what a screen reader calls it on arriving. */
19192
20024
  playerLabel?: (HelixVideo["playerLabel"]) | undefined;
20025
+ /** What the live region says when a key plays the video. */
20026
+ "playing-label"?: (HelixVideo["playingLabel"]) | undefined;
20027
+ /** What the live region says when a key plays the video. */
20028
+ playingLabel?: (HelixVideo["playingLabel"]) | undefined;
19193
20029
  /** The name of the play control while pressing it would start the video. */
19194
20030
  "play-label"?: (HelixVideo["playLabel"]) | undefined;
19195
20031
  /** The name of the play control while pressing it would start the video. */
@@ -19288,6 +20124,16 @@ negation. */
19288
20124
  /** How the scrubber reads out where the video is, with `{position}` and
19289
20125
  `{duration}` filled in. */
19290
20126
  timeLabel?: (HelixVideo["timeLabel"]) | undefined;
20127
+ /** What the live region says when a key unmutes the video. */
20128
+ "unmuted-label"?: (HelixVideo["unmutedLabel"]) | undefined;
20129
+ /** What the live region says when a key unmutes the video. */
20130
+ unmutedLabel?: (HelixVideo["unmutedLabel"]) | undefined;
20131
+ /** What the live region says when a key changes the volume. `{percent}` is the
20132
+ volume from 0 to 100, written in the locale. */
20133
+ "volume-changed-label"?: (HelixVideo["volumeChangedLabel"]) | undefined;
20134
+ /** What the live region says when a key changes the volume. `{percent}` is the
20135
+ volume from 0 to 100, written in the locale. */
20136
+ volumeChangedLabel?: (HelixVideo["volumeChangedLabel"]) | undefined;
19291
20137
  /** What the volume slider is called. */
19292
20138
  "volume-label"?: (HelixVideo["volumeLabel"]) | undefined;
19293
20139
  /** What the volume slider is called. */
@@ -19771,6 +20617,8 @@ export type CustomCssProperties = {
19771
20617
  "--canvas-selected-color"?: (string) | undefined;
19772
20618
  /** The background of the pan and zoom buttons. `Map` uses the same property. */
19773
20619
  "--viewport-control-background-color"?: (string) | undefined;
20620
+ /** 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))`. */
20621
+ "--canvas-zoom"?: (string) | undefined;
19774
20622
  /** 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
20623
  "--card-align"?: (string) | undefined;
19776
20624
  /** 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 +20893,8 @@ export type CustomCssProperties = {
20045
20893
  "--data-table-drop-indicator-color"?: (string) | undefined;
20046
20894
  /** The thickness of the line where a moved row would land. */
20047
20895
  "--data-table-drop-indicator-size"?: (string) | undefined;
20896
+ /** The color of the words in the line shown while `error-text` is set. */
20897
+ "--data-table-error-color"?: (string) | undefined;
20048
20898
  /** The space between the grid and the footer below it. */
20049
20899
  "--data-table-footer-gap"?: (string) | undefined;
20050
20900
  /** The space between the pieces of the footer, such as a summary and the pagination. */
@@ -20597,8 +21447,16 @@ export type CustomCssProperties = {
20597
21447
  "--list-drag-preview-radius"?: (string) | undefined;
20598
21448
  /** The shadow that raises the copy of a row a pointer drags over the page. */
20599
21449
  "--list-drag-preview-shadow"?: (string) | undefined;
21450
+ /** The color of the text in the row shown while the list has no rows. */
21451
+ "--list-empty-color"?: (string) | undefined;
21452
+ /** The space around the text in the row shown while the list has no rows. */
21453
+ "--list-empty-padding"?: (string) | undefined;
20600
21454
  /** The space between rows. */
20601
21455
  "--list-gap"?: (string) | undefined;
21456
+ /** The color of the text in the row drawn while `loading` is set. */
21457
+ "--list-loading-color"?: (string) | undefined;
21458
+ /** The space around the text in the row drawn while `loading` is set. */
21459
+ "--list-loading-padding"?: (string) | undefined;
20602
21460
  /** The space that the markers of ordered and unordered lists sit in. */
20603
21461
  "--list-marker-gutter"?: (string) | undefined;
20604
21462
  /** The width of the rail's track. */
@@ -20911,7 +21769,7 @@ export type CustomCssProperties = {
20911
21769
  "--number-input-stepper-color"?: (string) | undefined;
20912
21770
  /** Icon color of a stepper button under the pointer. */
20913
21771
  "--number-input-stepper-color-hover"?: (string) | undefined;
20914
- /** Width and height of the stepper icons. */
21772
+ /** Width and height of the stepper icons, drawn or slotted. */
20915
21773
  "--number-input-stepper-icon-size"?: (string) | undefined;
20916
21774
  /** Width of each stepper button. */
20917
21775
  "--number-input-stepper-size"?: (string) | undefined;
@@ -21477,6 +22335,8 @@ export type CustomCssProperties = {
21477
22335
  "--table-drag-preview-radius"?: (string) | undefined;
21478
22336
  /** The shadow that raises the copy of a row a pointer drags over the page. */
21479
22337
  "--table-drag-preview-shadow"?: (string) | undefined;
22338
+ /** The color of the words in the line shown while `error-text` is set. */
22339
+ "--table-error-color"?: (string) | undefined;
21480
22340
  /** The color of the words in the `heading` slot. */
21481
22341
  "--table-title-color"?: (string) | undefined;
21482
22342
  /** The space between the `heading` slot and the grid. */
@@ -21617,12 +22477,20 @@ export type CustomCssProperties = {
21617
22477
  "--time-picker-wheel-mask"?: (string) | undefined;
21618
22478
  /** The color of the heading. */
21619
22479
  "--timeline-group-heading-color"?: (string) | undefined;
22480
+ /** Space between the rail and the time and what happened. */
22481
+ "--timeline-column-gap"?: (string) | undefined;
22482
+ /** The color of the mark on an entry with no `tone`. A `tone` colors the mark itself. */
22483
+ "--timeline-marker-color"?: (string) | undefined;
21620
22484
  /** How round the mark is. Zero is a square, and half its size is a disc. */
21621
22485
  "--timeline-marker-radius"?: (string) | undefined;
21622
22486
  /** Edge length of the mark. */
21623
22487
  "--timeline-marker-size"?: (string) | undefined;
22488
+ /** The color of the line. */
22489
+ "--timeline-rail-color"?: (string) | undefined;
21624
22490
  /** Width of the line. */
21625
22491
  "--timeline-rail-size"?: (string) | undefined;
22492
+ /** The color of the time. */
22493
+ "--timeline-time-color"?: (string) | undefined;
21626
22494
  /** Space between one entry and the next. */
21627
22495
  "--timeline-gap"?: (string) | undefined;
21628
22496
  /** The panel's color. Follows `--helix-color-surface-overlay`. */
@@ -21893,6 +22761,8 @@ export type CustomCssProperties = {
21893
22761
  "--virtual-list-scrollbar-track-color"?: (string) | undefined;
21894
22762
  /** The fill behind a chosen row, in a list with `selection-mode`. */
21895
22763
  "--virtual-list-selected-background-color"?: (string) | undefined;
22764
+ /** The color of the text in a chosen row, in a list with `selection-mode`. Inherited by default. */
22765
+ "--virtual-list-selected-color"?: (string) | undefined;
21896
22766
  };
21897
22767
 
21898
22768
  // Vue SFC template type-checking (GlobalComponents) for non-Vue custom elements.
@@ -22541,13 +23411,13 @@ export interface WcToolkitVueGlobalComponents {
22541
23411
  HelixRatingVueProps,
22542
23412
  HelixRatingVueEvents
22543
23413
  >;
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'. */
23414
+ /** 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
23415
  "helix-sandbox-preview": DefineCustomElement<
22546
23416
  HelixSandboxPreview,
22547
23417
  HelixSandboxPreviewVueProps,
22548
23418
  HelixSandboxPreviewVueEvents
22549
23419
  >;
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. */
23420
+ /** 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
23421
  "helix-sandbox": DefineCustomElement<
22552
23422
  HelixSandbox,
22553
23423
  HelixSandboxVueProps,
@@ -22763,7 +23633,7 @@ export interface WcToolkitVueGlobalComponents {
22763
23633
  HelixTimelineItemVueProps,
22764
23634
  HelixTimelineItemVueEvents
22765
23635
  >;
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. */
23636
+ /** 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
23637
  "helix-timeline": DefineCustomElement<
22768
23638
  HelixTimeline,
22769
23639
  HelixTimelineVueProps,