@fusion.dev/helix 0.165.0 → 0.167.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 (37) hide show
  1. package/custom-elements.json +3391 -481
  2. package/dist/canvas/root/canvas-root.css.js +1 -1
  3. package/dist/canvas/root/canvas-root.d.ts +2 -0
  4. package/dist/canvas/root/canvas-root.js +1 -0
  5. package/dist/chat/composer/chat-composer.css.js +1 -1
  6. package/dist/code-block/root/code-block-root.css.js +2 -1
  7. package/dist/color-picker/root/color-picker-root.css.js +2 -2
  8. package/dist/combobox/root/combobox-root.d.ts +1 -1
  9. package/dist/combobox/root/combobox-root.js +1 -1
  10. package/dist/command/root/command-root.css.js +1 -1
  11. package/dist/element-events.generated.js +17 -2
  12. package/dist/file-input/root/file-input-root.d.ts +1 -1
  13. package/dist/file-input/root/file-input-root.js +1 -1
  14. package/dist/graph/root/graph-root.css.js +1 -1
  15. package/dist/listbox/root/listbox-root.css.js +1 -1
  16. package/dist/menu/item/menu-item.css.js +3 -0
  17. package/dist/menu/root/menu-root.css.js +1 -1
  18. package/dist/object-inspector/root/object-inspector-root.css.js +1 -1
  19. package/dist/sandbox/root/sandbox-root.d.ts +26 -0
  20. package/dist/sandbox/root/sandbox-root.js +28 -3
  21. package/dist/sandbox/source/sandbox-source.css.js +1 -1
  22. package/dist/sandbox/source/sandbox-source.d.ts +6 -0
  23. package/dist/sandbox/source/sandbox-source.js +9 -2
  24. package/dist/sandbox/terminal/sandbox-terminal.css.js +1 -1
  25. package/dist/shared/field/field-frame.css.js +1 -1
  26. package/dist/shared/field/field-segments.css.js +1 -1
  27. package/dist/table/root/table-root.css.js +7 -1
  28. package/dist/table/root/table-root.d.ts +4 -0
  29. package/dist/time-picker/root/time-picker-root.css.js +1 -1
  30. package/dist/time-picker/root/time-picker-root.d.ts +1 -0
  31. package/dist/virtual-list/root/virtual-list-root.css.js +1 -1
  32. package/dist/virtual-list/root/virtual-list-root.d.ts +1 -1
  33. package/lint.json +1 -1
  34. package/package.json +6 -6
  35. package/types/jsx.d.ts +643 -65
  36. package/types/vue.d.ts +164 -5
  37. package/types/words.d.ts +47 -0
package/types/jsx.d.ts CHANGED
@@ -21,6 +21,7 @@ import type {
21
21
  HelixBeforeMoveEvent,
22
22
  HelixBeforeOpenEvent,
23
23
  HelixBeforePanelResizeEvent,
24
+ HelixBeforePasteEvent,
24
25
  HelixBeforePinEvent,
25
26
  HelixBeforeReconnectEvent,
26
27
  HelixBeforeRelabelEvent,
@@ -158,6 +159,7 @@ import type {
158
159
  HelixPaginationSize,
159
160
  HelixPaginationSummary,
160
161
  HelixPanelResizeEvent,
162
+ HelixPastedEvent,
161
163
  HelixPinEvent,
162
164
  HelixPinInput,
163
165
  HelixPopover,
@@ -4309,6 +4311,9 @@ export type HelixCanvasElementEvent<E = Event> = TypedEvent<HelixCanvas, E>;
4309
4311
  /** `helix-before-move` event type */
4310
4312
  export type HelixCanvasHelixBeforeMoveElementEvent =
4311
4313
  HelixCanvasElementEvent<HelixBeforeMoveEvent>;
4314
+ /** `helix-before-paste` event type */
4315
+ export type HelixCanvasHelixBeforePasteElementEvent =
4316
+ HelixCanvasElementEvent<HelixBeforePasteEvent>;
4312
4317
  /** `helix-before-reconnect` event type */
4313
4318
  export type HelixCanvasHelixBeforeReconnectElementEvent =
4314
4319
  HelixCanvasElementEvent<HelixBeforeReconnectEvent>;
@@ -4333,6 +4338,9 @@ export type HelixCanvasHelixConnectElementEvent =
4333
4338
  /** `helix-move` event type */
4334
4339
  export type HelixCanvasHelixMoveElementEvent =
4335
4340
  HelixCanvasElementEvent<HelixMoveEvent>;
4341
+ /** `helix-pasted` event type */
4342
+ export type HelixCanvasHelixPastedElementEvent =
4343
+ HelixCanvasElementEvent<HelixPastedEvent>;
4336
4344
  /** `helix-reconnect` event type */
4337
4345
  export type HelixCanvasHelixReconnectElementEvent =
4338
4346
  HelixCanvasElementEvent<HelixReconnectEvent>;
@@ -4505,6 +4513,10 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
4505
4513
  /** The hint shown when the board, waiting to be pressed with
4506
4514
  `gestures="activate"`, is scrolled or swiped over. */
4507
4515
  activateHintLabel?: (HelixCanvas["activateHintLabel"]) | undefined;
4516
+ /** What screen readers hear after `arrange()` moves the cards. */
4517
+ "arranged-label"?: (HelixCanvas["arrangedLabel"]) | undefined;
4518
+ /** What screen readers hear after `arrange()` moves the cards. */
4519
+ arrangedLabel?: (HelixCanvas["arrangedLabel"]) | undefined;
4508
4520
  /** The text read with a card to say where its connections come from, with `{cards}`. */
4509
4521
  "comes-from-label"?: (HelixCanvas["comesFromLabel"]) | undefined;
4510
4522
  /** The text read with a card to say where its connections come from, with `{cards}`. */
@@ -4603,6 +4615,10 @@ on a board that is a flow is the order its author meant.
4603
4615
  Absent is spatial, a resting value being an attribute's absence: a default
4604
4616
  that reflected would write a choice onto every host that no server sent. */
4605
4617
  order?: (HelixCanvas["order"]) | undefined;
4618
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
4619
+ "pasted-label"?: (HelixCanvas["pastedLabel"]) | undefined;
4620
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
4621
+ pastedLabel?: (HelixCanvas["pastedLabel"]) | undefined;
4606
4622
  /** The route every connection takes when it sets no `path` of its own:
4607
4623
  `straight`, or `step` for right angles.
4608
4624
 
@@ -4636,6 +4652,14 @@ walk the cards. */
4636
4652
  "redone-label"?: (HelixCanvas["redoneLabel"]) | undefined;
4637
4653
  /** What screen readers hear after a move or a resize is made again. */
4638
4654
  redoneLabel?: (HelixCanvas["redoneLabel"]) | undefined;
4655
+ /** What screen readers hear when Delete asks to remove what is selected, with
4656
+ `{count}` for how many cards and connections, and `{name}` for the one
4657
+ where there is one. */
4658
+ "removed-label"?: (HelixCanvas["removedLabel"]) | undefined;
4659
+ /** What screen readers hear when Delete asks to remove what is selected, with
4660
+ `{count}` for how many cards and connections, and `{name}` for the one
4661
+ where there is one. */
4662
+ removedLabel?: (HelixCanvas["removedLabel"]) | undefined;
4639
4663
  /** What screen readers hear after a key resizes a card, with `{name}` for the
4640
4664
  card and `{width}` and `{height}` for its new size, in the document's
4641
4665
  units. */
@@ -4779,6 +4803,8 @@ it rather than fitting the board again. */
4779
4803
 
4780
4804
  /** Cards are about to move. Cancelable: cancel it to keep the positions in your own state. */
4781
4805
  "onhelix-before-move"?: ((e: HelixCanvasHelixBeforeMoveElementEvent) => void) | undefined;
4806
+ /** Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state. */
4807
+ "onhelix-before-paste"?: ((e: HelixCanvasHelixBeforePasteElementEvent) => void) | undefined;
4782
4808
  /** A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state. */
4783
4809
  "onhelix-before-reconnect"?: ((
4784
4810
  e: HelixCanvasHelixBeforeReconnectElementEvent,
@@ -4799,6 +4825,8 @@ it rather than fitting the board again. */
4799
4825
  "onhelix-connect"?: ((e: HelixCanvasHelixConnectElementEvent) => void) | undefined;
4800
4826
  /** Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed. */
4801
4827
  "onhelix-move"?: ((e: HelixCanvasHelixMoveElementEvent) => void) | undefined;
4828
+ /** Cards and connections were pasted, and the board holds them. */
4829
+ "onhelix-pasted"?: ((e: HelixCanvasHelixPastedElementEvent) => void) | undefined;
4802
4830
  /** A connection's end moved, and the move is finished. */
4803
4831
  "onhelix-reconnect"?: ((e: HelixCanvasHelixReconnectElementEvent) => void) | undefined;
4804
4832
  /** A connection's label or a group's name changed. */
@@ -4968,6 +4996,10 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
4968
4996
  /** The hint shown when the board, waiting to be pressed with
4969
4997
  `gestures="activate"`, is scrolled or swiped over. */
4970
4998
  "prop:activateHintLabel"?: (HelixCanvas["activateHintLabel"]) | undefined;
4999
+ /** What screen readers hear after `arrange()` moves the cards. */
5000
+ "attr:arranged-label"?: (HelixCanvas["arrangedLabel"]) | undefined;
5001
+ /** What screen readers hear after `arrange()` moves the cards. */
5002
+ "prop:arrangedLabel"?: (HelixCanvas["arrangedLabel"]) | undefined;
4971
5003
  /** The text read with a card to say where its connections come from, with `{cards}`. */
4972
5004
  "attr:comes-from-label"?: (HelixCanvas["comesFromLabel"]) | undefined;
4973
5005
  /** The text read with a card to say where its connections come from, with `{cards}`. */
@@ -5066,6 +5098,10 @@ on a board that is a flow is the order its author meant.
5066
5098
  Absent is spatial, a resting value being an attribute's absence: a default
5067
5099
  that reflected would write a choice onto every host that no server sent. */
5068
5100
  "prop:order"?: (HelixCanvas["order"]) | undefined;
5101
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
5102
+ "attr:pasted-label"?: (HelixCanvas["pastedLabel"]) | undefined;
5103
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
5104
+ "prop:pastedLabel"?: (HelixCanvas["pastedLabel"]) | undefined;
5069
5105
  /** The route every connection takes when it sets no `path` of its own:
5070
5106
  `straight`, or `step` for right angles.
5071
5107
 
@@ -5099,6 +5135,14 @@ walk the cards. */
5099
5135
  "attr:redone-label"?: (HelixCanvas["redoneLabel"]) | undefined;
5100
5136
  /** What screen readers hear after a move or a resize is made again. */
5101
5137
  "prop:redoneLabel"?: (HelixCanvas["redoneLabel"]) | undefined;
5138
+ /** What screen readers hear when Delete asks to remove what is selected, with
5139
+ `{count}` for how many cards and connections, and `{name}` for the one
5140
+ where there is one. */
5141
+ "attr:removed-label"?: (HelixCanvas["removedLabel"]) | undefined;
5142
+ /** What screen readers hear when Delete asks to remove what is selected, with
5143
+ `{count}` for how many cards and connections, and `{name}` for the one
5144
+ where there is one. */
5145
+ "prop:removedLabel"?: (HelixCanvas["removedLabel"]) | undefined;
5102
5146
  /** What screen readers hear after a key resizes a card, with `{name}` for the
5103
5147
  card and `{width}` and `{height}` for its new size, in the document's
5104
5148
  units. */
@@ -5241,6 +5285,10 @@ it rather than fitting the board again. */
5241
5285
  "prop:view"?: (HelixCanvas["view"]) | undefined;
5242
5286
  /** Cards are about to move. Cancelable: cancel it to keep the positions in your own state. */
5243
5287
  "on:helix-before-move"?: ((e: HelixCanvasHelixBeforeMoveElementEvent) => void) | undefined;
5288
+ /** Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state. */
5289
+ "on:helix-before-paste"?: ((
5290
+ e: HelixCanvasHelixBeforePasteElementEvent,
5291
+ ) => void) | undefined;
5244
5292
  /** A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state. */
5245
5293
  "on:helix-before-reconnect"?: ((
5246
5294
  e: HelixCanvasHelixBeforeReconnectElementEvent,
@@ -5261,6 +5309,8 @@ it rather than fitting the board again. */
5261
5309
  "on:helix-connect"?: ((e: HelixCanvasHelixConnectElementEvent) => void) | undefined;
5262
5310
  /** Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed. */
5263
5311
  "on:helix-move"?: ((e: HelixCanvasHelixMoveElementEvent) => void) | undefined;
5312
+ /** Cards and connections were pasted, and the board holds them. */
5313
+ "on:helix-pasted"?: ((e: HelixCanvasHelixPastedElementEvent) => void) | undefined;
5264
5314
  /** A connection's end moved, and the move is finished. */
5265
5315
  "on:helix-reconnect"?: ((e: HelixCanvasHelixReconnectElementEvent) => void) | undefined;
5266
5316
  /** A connection's label or a group's name changed. */
@@ -7680,9 +7730,18 @@ export type HelixCodeBlockElementEvent<E = Event> = TypedEvent<
7680
7730
  HelixCodeBlock,
7681
7731
  E
7682
7732
  >;
7733
+ /** `helix-before-change` event type */
7734
+ export type HelixCodeBlockHelixBeforeChangeElementEvent =
7735
+ HelixCodeBlockElementEvent<HelixBeforeChangeEvent>;
7683
7736
  /** `helix-before-toggle` event type */
7684
7737
  export type HelixCodeBlockHelixBeforeToggleElementEvent =
7685
7738
  HelixCodeBlockElementEvent<HelixBeforeToggleEvent>;
7739
+ /** `helix-copy` event type */
7740
+ export type HelixCodeBlockHelixCopyElementEvent =
7741
+ HelixCodeBlockElementEvent<HelixCopyEvent>;
7742
+ /** `helix-copy-error` event type */
7743
+ export type HelixCodeBlockHelixCopyErrorElementEvent =
7744
+ HelixCodeBlockElementEvent<HelixCopyErrorEvent>;
7686
7745
  /** `helix-toggle` event type */
7687
7746
  export type HelixCodeBlockHelixToggleElementEvent =
7688
7747
  HelixCodeBlockElementEvent<HelixToggleEvent>;
@@ -7754,6 +7813,15 @@ block lays out. Not for a diff, whose files each scroll on their own. */
7754
7813
  "expand-label"?: (HelixCodeBlock["expandLabel"]) | undefined;
7755
7814
  /** The expand button's words while the cap hides lines. */
7756
7815
  expandLabel?: (HelixCodeBlock["expandLabel"]) | undefined;
7816
+ /** The name of the file shown, where the block holds several Code Blocks:
7817
+ the `label` of one, or its `language` without one.
7818
+
7819
+ Unset, or a name no file has, shows the first. */
7820
+ file?: (HelixCodeBlock["file"]) | undefined;
7821
+ /** The name of the file tabs, read by screen readers. */
7822
+ "files-label"?: (HelixCodeBlock["filesLabel"]) | undefined;
7823
+ /** The name of the file tabs, read by screen readers. */
7824
+ filesLabel?: (HelixCodeBlock["filesLabel"]) | undefined;
7757
7825
  /** The words of a button that hides a run of unchanged lines it showed, in a
7758
7826
  diff with `context-lines`. `{count}` is how many, and each language
7759
7827
  writes the forms it has. */
@@ -7888,10 +7956,20 @@ the script still has it. Not called on a server, which has no code to
7888
7956
  read, nor for a diff. */
7889
7957
  highlight?: (HelixCodeBlock["highlight"]) | undefined;
7890
7958
 
7959
+ /** A file tab showed its file, whose name `file` now holds. */
7960
+ onchange?: ((e: HelixCodeBlockElementEvent) => void) | undefined;
7961
+ /** A file tab is about to show its file, with the file's name in `detail.value`. Cancelable: cancel it to keep the file shown. */
7962
+ "onhelix-before-change"?: ((
7963
+ e: HelixCodeBlockHelixBeforeChangeElementEvent,
7964
+ ) => void) | undefined;
7891
7965
  /** The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are. */
7892
7966
  "onhelix-before-toggle"?: ((
7893
7967
  e: HelixCodeBlockHelixBeforeToggleElementEvent,
7894
7968
  ) => void) | undefined;
7969
+ /** The copy button put the code on the clipboard, with the text in `detail.value`. */
7970
+ "onhelix-copy"?: ((e: HelixCodeBlockHelixCopyElementEvent) => void) | undefined;
7971
+ /** A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code. */
7972
+ "onhelix-copy-error"?: ((e: HelixCodeBlockHelixCopyErrorElementEvent) => void) | undefined;
7895
7973
  /** Fired after the wrap button changed `wrap`, with the new value in `detail.checked`. */
7896
7974
  "onhelix-toggle"?: ((e: HelixCodeBlockHelixToggleElementEvent) => void) | undefined;
7897
7975
  };
@@ -7963,6 +8041,15 @@ block lays out. Not for a diff, whose files each scroll on their own. */
7963
8041
  "attr:expand-label"?: (HelixCodeBlock["expandLabel"]) | undefined;
7964
8042
  /** The expand button's words while the cap hides lines. */
7965
8043
  "prop:expandLabel"?: (HelixCodeBlock["expandLabel"]) | undefined;
8044
+ /** The name of the file shown, where the block holds several Code Blocks:
8045
+ the `label` of one, or its `language` without one.
8046
+
8047
+ Unset, or a name no file has, shows the first. */
8048
+ "prop:file"?: (HelixCodeBlock["file"]) | undefined;
8049
+ /** The name of the file tabs, read by screen readers. */
8050
+ "attr:files-label"?: (HelixCodeBlock["filesLabel"]) | undefined;
8051
+ /** The name of the file tabs, read by screen readers. */
8052
+ "prop:filesLabel"?: (HelixCodeBlock["filesLabel"]) | undefined;
7966
8053
  /** The words of a button that hides a run of unchanged lines it showed, in a
7967
8054
  diff with `context-lines`. `{count}` is how many, and each language
7968
8055
  writes the forms it has. */
@@ -8096,10 +8183,20 @@ in the slot, so the copy button copies it as written and a reader without
8096
8183
  the script still has it. Not called on a server, which has no code to
8097
8184
  read, nor for a diff. */
8098
8185
  "prop:highlight"?: (HelixCodeBlock["highlight"]) | undefined;
8186
+ /** A file tab showed its file, whose name `file` now holds. */
8187
+ "on:change"?: ((e: HelixCodeBlockElementEvent) => void) | undefined;
8188
+ /** A file tab is about to show its file, with the file's name in `detail.value`. Cancelable: cancel it to keep the file shown. */
8189
+ "on:helix-before-change"?: ((
8190
+ e: HelixCodeBlockHelixBeforeChangeElementEvent,
8191
+ ) => void) | undefined;
8099
8192
  /** The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are. */
8100
8193
  "on:helix-before-toggle"?: ((
8101
8194
  e: HelixCodeBlockHelixBeforeToggleElementEvent,
8102
8195
  ) => void) | undefined;
8196
+ /** The copy button put the code on the clipboard, with the text in `detail.value`. */
8197
+ "on:helix-copy"?: ((e: HelixCodeBlockHelixCopyElementEvent) => void) | undefined;
8198
+ /** A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code. */
8199
+ "on:helix-copy-error"?: ((e: HelixCodeBlockHelixCopyErrorElementEvent) => void) | undefined;
8103
8200
  /** Fired after the wrap button changed `wrap`, with the new value in `detail.checked`. */
8104
8201
  "on:helix-toggle"?: ((e: HelixCodeBlockHelixToggleElementEvent) => void) | undefined;
8105
8202
 
@@ -16255,7 +16352,8 @@ such as `buddhist` for `th-TH`, and `gregory` for every other, such as
16255
16352
  `persian` for `fa-IR`, so a date written here reads as the same date a
16256
16353
  Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
16257
16354
  calendar?: (HelixFormatDate["calendar"]) | undefined;
16258
- /** The timestamp, in any format `Date` can parse.
16355
+ /** The timestamp: a `Date`, milliseconds since the epoch, or a string in any
16356
+ format `Date` can parse. The attribute is the string.
16259
16357
 
16260
16358
  An ISO string is what an API sends and what `<time datetime>` takes, so it
16261
16359
  is the shape that needs no translation at either end. Left unset this
@@ -16399,7 +16497,8 @@ such as `buddhist` for `th-TH`, and `gregory` for every other, such as
16399
16497
  `persian` for `fa-IR`, so a date written here reads as the same date a
16400
16498
  Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
16401
16499
  "prop:calendar"?: (HelixFormatDate["calendar"]) | undefined;
16402
- /** The timestamp, in any format `Date` can parse.
16500
+ /** The timestamp: a `Date`, milliseconds since the epoch, or a string in any
16501
+ format `Date` can parse. The attribute is the string.
16403
16502
 
16404
16503
  An ISO string is what an API sends and what `<time datetime>` takes, so it
16405
16504
  is the shape that needs no translation at either end. Left unset this
@@ -23563,6 +23662,9 @@ export type HelixMenuHelixBeforeCloseElementEvent =
23563
23662
  /** `helix-before-open` event type */
23564
23663
  export type HelixMenuHelixBeforeOpenElementEvent =
23565
23664
  HelixMenuElementEvent<HelixBeforeOpenEvent>;
23665
+ /** `helix-filter` event type */
23666
+ export type HelixMenuHelixFilterElementEvent =
23667
+ HelixMenuElementEvent<HelixFilterEvent>;
23566
23668
  /** `helix-select` event type */
23567
23669
  export type HelixMenuHelixSelectElementEvent =
23568
23670
  HelixMenuElementEvent<HelixSelectEvent>;
@@ -23618,6 +23720,18 @@ Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this. */
23618
23720
  /** Whether the menu is the trigger's context menu: it opens where the reader
23619
23721
  asks for one, with a right-click, a long press, Shift+F10 or the menu key. */
23620
23722
  context?: (HelixMenu["context"]) | undefined;
23723
+ /** The text the rows are filtered by, which the filter field holds.
23724
+
23725
+ Cleared as the menu closes and as a submenu opens or closes, so each page
23726
+ starts with every row showing. */
23727
+ filter?: (HelixMenu["filter"]) | undefined;
23728
+ /** Whether the menu shows a field above its rows that narrows them as the
23729
+ reader types, with focus staying in the field. */
23730
+ filterable?: (HelixMenu["filterable"]) | undefined;
23731
+ /** The filter field's name and placeholder. */
23732
+ "filter-label"?: (HelixMenu["filterLabel"]) | undefined;
23733
+ /** The filter field's name and placeholder. */
23734
+ filterLabel?: (HelixMenu["filterLabel"]) | undefined;
23621
23735
  /** Accessible name for the surface.
23622
23736
 
23623
23737
  Empty by default, which names the surface by its trigger, so a menu opened
@@ -23630,6 +23744,10 @@ to open the menu. Translate it with the rest of your interface. */
23630
23744
  /** The description a trigger gives under `open-on="long-press"`, saying how
23631
23745
  to open the menu. Translate it with the rest of your interface. */
23632
23746
  longPressLabel?: (HelixMenu["longPressLabel"]) | undefined;
23747
+ /** The text shown when the filter keeps no rows. */
23748
+ "no-results-text"?: (HelixMenu["noResultsText"]) | undefined;
23749
+ /** The text shown when the filter keeps no rows. */
23750
+ noResultsText?: (HelixMenu["noResultsText"]) | undefined;
23633
23751
  /** Space between the trigger and the surface, in pixels. */
23634
23752
  offset?: (HelixMenu["offset"]) | undefined;
23635
23753
  /** What opens the menu from its trigger. `long-press` leaves a press to the
@@ -23647,6 +23765,13 @@ It moves if that side does not fit. */
23647
23765
  /** How a submenu opens. `drill` shows it in place of the page showing, with
23648
23766
  a way back. `flyout` opens it in a panel of its own beside its row. */
23649
23767
  submenus?: (HelixMenu["submenus"]) | undefined;
23768
+ /** Whether a row is kept by the filter: a function given the row's words and
23769
+ the filter, trimmed, that returns `true` to keep it showing, as React
23770
+ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
23771
+
23772
+ Absent, a row is kept where its words hold the filter, in any case. A
23773
+ property only, there being no way to write a function in markup. */
23774
+ filterMatch?: (HelixMenu["filterMatch"]) | undefined;
23650
23775
 
23651
23776
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
23652
23777
  ontoggle?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
@@ -23654,6 +23779,8 @@ a way back. `flyout` opens it in a panel of its own beside its row. */
23654
23779
  "onhelix-before-close"?: ((e: HelixMenuHelixBeforeCloseElementEvent) => void) | undefined;
23655
23780
  /** The menu is about to open. Cancelable: cancel it to keep it closed. */
23656
23781
  "onhelix-before-open"?: ((e: HelixMenuHelixBeforeOpenElementEvent) => void) | undefined;
23782
+ /** The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself. */
23783
+ "onhelix-filter"?: ((e: HelixMenuHelixFilterElementEvent) => void) | undefined;
23657
23784
  /** An item was chosen. Cancelable: cancel it to keep the menu open. */
23658
23785
  "onhelix-select"?: ((e: HelixMenuHelixSelectElementEvent) => void) | undefined;
23659
23786
  };
@@ -23709,6 +23836,18 @@ Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this. */
23709
23836
  /** Whether the menu is the trigger's context menu: it opens where the reader
23710
23837
  asks for one, with a right-click, a long press, Shift+F10 or the menu key. */
23711
23838
  "prop:context"?: (HelixMenu["context"]) | undefined;
23839
+ /** The text the rows are filtered by, which the filter field holds.
23840
+
23841
+ Cleared as the menu closes and as a submenu opens or closes, so each page
23842
+ starts with every row showing. */
23843
+ "prop:filter"?: (HelixMenu["filter"]) | undefined;
23844
+ /** Whether the menu shows a field above its rows that narrows them as the
23845
+ reader types, with focus staying in the field. */
23846
+ "prop:filterable"?: (HelixMenu["filterable"]) | undefined;
23847
+ /** The filter field's name and placeholder. */
23848
+ "attr:filter-label"?: (HelixMenu["filterLabel"]) | undefined;
23849
+ /** The filter field's name and placeholder. */
23850
+ "prop:filterLabel"?: (HelixMenu["filterLabel"]) | undefined;
23712
23851
  /** Accessible name for the surface.
23713
23852
 
23714
23853
  Empty by default, which names the surface by its trigger, so a menu opened
@@ -23721,6 +23860,10 @@ to open the menu. Translate it with the rest of your interface. */
23721
23860
  /** The description a trigger gives under `open-on="long-press"`, saying how
23722
23861
  to open the menu. Translate it with the rest of your interface. */
23723
23862
  "prop:longPressLabel"?: (HelixMenu["longPressLabel"]) | undefined;
23863
+ /** The text shown when the filter keeps no rows. */
23864
+ "attr:no-results-text"?: (HelixMenu["noResultsText"]) | undefined;
23865
+ /** The text shown when the filter keeps no rows. */
23866
+ "prop:noResultsText"?: (HelixMenu["noResultsText"]) | undefined;
23724
23867
  /** Space between the trigger and the surface, in pixels. */
23725
23868
  "prop:offset"?: (HelixMenu["offset"]) | undefined;
23726
23869
  /** What opens the menu from its trigger. `long-press` leaves a press to the
@@ -23738,12 +23881,21 @@ It moves if that side does not fit. */
23738
23881
  /** How a submenu opens. `drill` shows it in place of the page showing, with
23739
23882
  a way back. `flyout` opens it in a panel of its own beside its row. */
23740
23883
  "prop:submenus"?: (HelixMenu["submenus"]) | undefined;
23884
+ /** Whether a row is kept by the filter: a function given the row's words and
23885
+ the filter, trimmed, that returns `true` to keep it showing, as React
23886
+ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
23887
+
23888
+ Absent, a row is kept where its words hold the filter, in any case. A
23889
+ property only, there being no way to write a function in markup. */
23890
+ "prop:filterMatch"?: (HelixMenu["filterMatch"]) | undefined;
23741
23891
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
23742
23892
  "on:toggle"?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
23743
23893
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
23744
23894
  "on:helix-before-close"?: ((e: HelixMenuHelixBeforeCloseElementEvent) => void) | undefined;
23745
23895
  /** The menu is about to open. Cancelable: cancel it to keep it closed. */
23746
23896
  "on:helix-before-open"?: ((e: HelixMenuHelixBeforeOpenElementEvent) => void) | undefined;
23897
+ /** The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself. */
23898
+ "on:helix-filter"?: ((e: HelixMenuHelixFilterElementEvent) => void) | undefined;
23747
23899
  /** An item was chosen. Cancelable: cancel it to keep the menu open. */
23748
23900
  "on:helix-select"?: ((e: HelixMenuHelixSelectElementEvent) => void) | undefined;
23749
23901
 
@@ -29201,6 +29353,16 @@ gives. */
29201
29353
  "panel-size"?: (HelixSandbox["panelSize"] | `${number}`) | undefined;
29202
29354
  /** Height of the panel, in pixels. */
29203
29355
  panelSize?: (HelixSandbox["panelSize"]) | undefined;
29356
+ /** How long typing rests before the preview runs the new source, in
29357
+ milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
29358
+ frame on each run, so a word typed runs it once. `0` runs it on every
29359
+ edit. */
29360
+ "preview-delay"?: (HelixSandbox["previewDelay"] | `${number}`) | undefined;
29361
+ /** How long typing rests before the preview runs the new source, in
29362
+ milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
29363
+ frame on each run, so a word typed runs it once. `0` runs it on every
29364
+ edit. */
29365
+ previewDelay?: (HelixSandbox["previewDelay"]) | undefined;
29204
29366
  /** The name of the divider between the panes, read by screen readers.
29205
29367
  `{pane}` is the lead pane, `source` or `preview`, whose share the
29206
29368
  divider's value is, so each is a whole sentence: "Resize source pane" or
@@ -29351,6 +29513,16 @@ gives. */
29351
29513
  "attr:panel-size"?: (HelixSandbox["panelSize"] | `${number}`) | undefined;
29352
29514
  /** Height of the panel, in pixels. */
29353
29515
  "prop:panelSize"?: (HelixSandbox["panelSize"]) | undefined;
29516
+ /** How long typing rests before the preview runs the new source, in
29517
+ milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
29518
+ frame on each run, so a word typed runs it once. `0` runs it on every
29519
+ edit. */
29520
+ "attr:preview-delay"?: (HelixSandbox["previewDelay"] | `${number}`) | undefined;
29521
+ /** How long typing rests before the preview runs the new source, in
29522
+ milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
29523
+ frame on each run, so a word typed runs it once. `0` runs it on every
29524
+ edit. */
29525
+ "prop:previewDelay"?: (HelixSandbox["previewDelay"]) | undefined;
29354
29526
  /** The name of the divider between the panes, read by screen readers.
29355
29527
  `{pane}` is the lead pane, `source` or `preview`, whose share the
29356
29528
  divider's value is, so each is a whole sentence: "Resize source pane" or
@@ -29421,6 +29593,14 @@ export type HelixSandboxSourceProps = {
29421
29593
  "field-label"?: (HelixSandboxSource["fieldLabel"]) | undefined;
29422
29594
  /** The editable region's name, read by screen readers. */
29423
29595
  fieldLabel?: (HelixSandboxSource["fieldLabel"]) | undefined;
29596
+ /** The editable region's name where the pane has a `label`, so each file's
29597
+ field says which file it holds. `{field}` is `field-label` and `{name}`
29598
+ the pane's `label`. */
29599
+ "field-name-label"?: (HelixSandboxSource["fieldNameLabel"]) | undefined;
29600
+ /** The editable region's name where the pane has a `label`, so each file's
29601
+ field says which file it holds. `{field}` is `field-label` and `{name}`
29602
+ the pane's `label`. */
29603
+ fieldNameLabel?: (HelixSandboxSource["fieldNameLabel"]) | undefined;
29424
29604
  /** The field's description, read by screen readers while Tab indents. */
29425
29605
  "keys-description"?: (HelixSandboxSource["keysDescription"]) | undefined;
29426
29606
  /** The field's description, read by screen readers while Tab indents. */
@@ -29469,6 +29649,14 @@ export type HelixSandboxSourceSolidJsProps = {
29469
29649
  "attr:field-label"?: (HelixSandboxSource["fieldLabel"]) | undefined;
29470
29650
  /** The editable region's name, read by screen readers. */
29471
29651
  "prop:fieldLabel"?: (HelixSandboxSource["fieldLabel"]) | undefined;
29652
+ /** The editable region's name where the pane has a `label`, so each file's
29653
+ field says which file it holds. `{field}` is `field-label` and `{name}`
29654
+ the pane's `label`. */
29655
+ "attr:field-name-label"?: (HelixSandboxSource["fieldNameLabel"]) | undefined;
29656
+ /** The editable region's name where the pane has a `label`, so each file's
29657
+ field says which file it holds. `{field}` is `field-label` and `{name}`
29658
+ the pane's `label`. */
29659
+ "prop:fieldNameLabel"?: (HelixSandboxSource["fieldNameLabel"]) | undefined;
29472
29660
  /** The field's description, read by screen readers while Tab indents. */
29473
29661
  "attr:keys-description"?: (HelixSandboxSource["keysDescription"]) | undefined;
29474
29662
  /** The field's description, read by screen readers while Tab indents. */
@@ -33765,6 +33953,15 @@ order has its whole sentence. `{order}` is the deprecated
33765
33953
  "unsorted-label"?: (HelixTable["unsortedLabel"]) | undefined;
33766
33954
  /** What screen readers hear when the table stops being sorted. */
33767
33955
  unsortedLabel?: (HelixTable["unsortedLabel"]) | undefined;
33956
+ /** Draws only the rows in view, with empty space in place of the rest, as
33957
+ Data Table's `windowed` does. The table's box then scrolls, at the
33958
+ height `--table-block-size` gives it in the styled tier, and the
33959
+ headings stick to its top.
33960
+
33961
+ Off by default. Windowing costs a scroll listener, a measurement per row
33962
+ drawn, and a height on the table, and a table of twenty rows should pay
33963
+ none of them. */
33964
+ windowed?: (HelixTable["windowed"]) | undefined;
33768
33965
 
33769
33966
  /** Fired when a row is dropped at a new place, in a `reorderable` table, with every row's key in the new order. Cancelable: cancel it to keep the row where it is. */
33770
33967
  "onhelix-before-reorder"?: ((
@@ -34019,6 +34216,15 @@ order has its whole sentence. `{order}` is the deprecated
34019
34216
  "attr:unsorted-label"?: (HelixTable["unsortedLabel"]) | undefined;
34020
34217
  /** What screen readers hear when the table stops being sorted. */
34021
34218
  "prop:unsortedLabel"?: (HelixTable["unsortedLabel"]) | undefined;
34219
+ /** Draws only the rows in view, with empty space in place of the rest, as
34220
+ Data Table's `windowed` does. The table's box then scrolls, at the
34221
+ height `--table-block-size` gives it in the styled tier, and the
34222
+ headings stick to its top.
34223
+
34224
+ Off by default. Windowing costs a scroll listener, a measurement per row
34225
+ drawn, and a height on the table, and a table of twenty rows should pay
34226
+ none of them. */
34227
+ "prop:windowed"?: (HelixTable["windowed"]) | undefined;
34022
34228
  /** Fired when a row is dropped at a new place, in a `reorderable` table, with every row's key in the new order. Cancelable: cancel it to keep the row where it is. */
34023
34229
  "on:helix-before-reorder"?: ((
34024
34230
  e: HelixTableHelixBeforeReorderElementEvent,
@@ -36355,6 +36561,12 @@ and a wheel has exactly one value by construction. Rather than draw
36355
36561
  something that cannot say what it holds, `wheels` renders as a list
36356
36562
  whenever a mode is set. */
36357
36563
  mode?: (HelixTimePicker["mode"]) | undefined;
36564
+ /** The words on the button that chooses the current time, drawn with
36565
+ `show-now`. */
36566
+ "now-label"?: (HelixTimePicker["nowLabel"]) | undefined;
36567
+ /** The words on the button that chooses the current time, drawn with
36568
+ `show-now`. */
36569
+ nowLabel?: (HelixTimePicker["nowLabel"]) | undefined;
36358
36570
  /** The validation message for a time after `max`. `{max}` is replaced with
36359
36571
  `max`, written in `locale`. */
36360
36572
  "range-overflow-message"?: (HelixTimePicker["rangeOverflowMessage"]) | undefined;
@@ -36411,6 +36623,22 @@ wheels take a column of seconds, and `step` counts seconds, the unit
36411
36623
  rows, so give `seconds` a `step` and bounds that keep it a list, or use
36412
36624
  the wheels. */
36413
36625
  seconds?: (HelixTimePicker["seconds"]) | undefined;
36626
+ /** Draws a button under the times that chooses the current time, as
36627
+ `selectNow()` does.
36628
+
36629
+ For a form about something happening now, such as a shift starting or a
36630
+ dose taken, where the reader would otherwise scroll to the time on the
36631
+ clock. The button is a tab stop after the times, and its words are
36632
+ `now-label`. */
36633
+ "show-now"?: (HelixTimePicker["showNow"]) | undefined;
36634
+ /** Draws a button under the times that chooses the current time, as
36635
+ `selectNow()` does.
36636
+
36637
+ For a form about something happening now, such as a shift starting or a
36638
+ dose taken, where the reader would otherwise scroll to the time on the
36639
+ clock. The button is a tab stop after the times, and its words are
36640
+ `now-label`. */
36641
+ showNow?: (HelixTimePicker["showNow"]) | undefined;
36414
36642
  /** How far apart the offered times are, in minutes, or in seconds with
36415
36643
  `seconds`.
36416
36644
 
@@ -36669,6 +36897,12 @@ and a wheel has exactly one value by construction. Rather than draw
36669
36897
  something that cannot say what it holds, `wheels` renders as a list
36670
36898
  whenever a mode is set. */
36671
36899
  "prop:mode"?: (HelixTimePicker["mode"]) | undefined;
36900
+ /** The words on the button that chooses the current time, drawn with
36901
+ `show-now`. */
36902
+ "attr:now-label"?: (HelixTimePicker["nowLabel"]) | undefined;
36903
+ /** The words on the button that chooses the current time, drawn with
36904
+ `show-now`. */
36905
+ "prop:nowLabel"?: (HelixTimePicker["nowLabel"]) | undefined;
36672
36906
  /** The validation message for a time after `max`. `{max}` is replaced with
36673
36907
  `max`, written in `locale`. */
36674
36908
  "attr:range-overflow-message"?: (HelixTimePicker["rangeOverflowMessage"]) | undefined;
@@ -36725,6 +36959,22 @@ wheels take a column of seconds, and `step` counts seconds, the unit
36725
36959
  rows, so give `seconds` a `step` and bounds that keep it a list, or use
36726
36960
  the wheels. */
36727
36961
  "prop:seconds"?: (HelixTimePicker["seconds"]) | undefined;
36962
+ /** Draws a button under the times that chooses the current time, as
36963
+ `selectNow()` does.
36964
+
36965
+ For a form about something happening now, such as a shift starting or a
36966
+ dose taken, where the reader would otherwise scroll to the time on the
36967
+ clock. The button is a tab stop after the times, and its words are
36968
+ `now-label`. */
36969
+ "bool:show-now"?: (HelixTimePicker["showNow"]) | undefined;
36970
+ /** Draws a button under the times that chooses the current time, as
36971
+ `selectNow()` does.
36972
+
36973
+ For a form about something happening now, such as a shift starting or a
36974
+ dose taken, where the reader would otherwise scroll to the time on the
36975
+ clock. The button is a tab stop after the times, and its words are
36976
+ `now-label`. */
36977
+ "prop:showNow"?: (HelixTimePicker["showNow"]) | undefined;
36728
36978
  /** How far apart the offered times are, in minutes, or in seconds with
36729
36979
  `seconds`.
36730
36980
 
@@ -40741,6 +40991,23 @@ follows the box as it resizes, which `columns` then does not decide. */
40741
40991
  out as many columns as fit the box at that width, at least one, and
40742
40992
  follows the box as it resizes, which `columns` then does not decide. */
40743
40993
  minColumnWidth?: (HelixVirtualList["minColumnWidth"]) | undefined;
40994
+ /** Which way the list runs. `horizontal` lays the items out along a line
40995
+ and scrolls it sideways: Left and Right move between items, the other
40996
+ way round on a right-to-left page, and `estimate` is an item's width. A
40997
+ grid always runs down. */
40998
+ orientation?: (HelixVirtualList["orientation"]) | undefined;
40999
+ /** The field of each item that names its section, as a key or a path of
41000
+ keys. Set, the items are drawn in sections: a header, then the items, in
41001
+ an element with the `group` role that the header names. A section starts
41002
+ wherever the field changes, so give the items in order. A list of one
41003
+ column only. */
41004
+ "section-field"?: (HelixVirtualList["sectionField"]) | undefined;
41005
+ /** The field of each item that names its section, as a key or a path of
41006
+ keys. Set, the items are drawn in sections: a header, then the items, in
41007
+ an element with the `group` role that the header names. A section starts
41008
+ wherever the field changes, so give the items in order. A list of one
41009
+ column only. */
41010
+ sectionField?: (HelixVirtualList["sectionField"]) | undefined;
40744
41011
  /** What a press does to the items already chosen: `toggle` adds or takes out
40745
41012
  the item, and `replace` selects it alone and lets the arrow keys carry the
40746
41013
  selection, with Control or Command adding or taking out one item. */
@@ -40783,6 +41050,10 @@ It returns what Lit renders: a template from `html`, a string, or a DOM
40783
41050
  node. The list wraps each result in a `<div>` that carries the row's role
40784
41051
  and place in the set. Where it is unset, the row `<template>` is used. */
40785
41052
  renderItem?: (HelixVirtualList["renderItem"]) | undefined;
41053
+ /** Draws each section's header, given its name and its place among the
41054
+ sections, for a list given `section-field`. Set it as a property. Where
41055
+ it is unset, the header is the name as text. */
41056
+ renderSection?: (HelixVirtualList["renderSection"]) | undefined;
40786
41057
 
40787
41058
  /** Fired once a press or a key has changed which items are selected, in a list with `selection-mode`. */
40788
41059
  onchange?: ((e: HelixVirtualListElementEvent) => void) | undefined;
@@ -40871,6 +41142,23 @@ follows the box as it resizes, which `columns` then does not decide. */
40871
41142
  out as many columns as fit the box at that width, at least one, and
40872
41143
  follows the box as it resizes, which `columns` then does not decide. */
40873
41144
  "prop:minColumnWidth"?: (HelixVirtualList["minColumnWidth"]) | undefined;
41145
+ /** Which way the list runs. `horizontal` lays the items out along a line
41146
+ and scrolls it sideways: Left and Right move between items, the other
41147
+ way round on a right-to-left page, and `estimate` is an item's width. A
41148
+ grid always runs down. */
41149
+ "prop:orientation"?: (HelixVirtualList["orientation"]) | undefined;
41150
+ /** The field of each item that names its section, as a key or a path of
41151
+ keys. Set, the items are drawn in sections: a header, then the items, in
41152
+ an element with the `group` role that the header names. A section starts
41153
+ wherever the field changes, so give the items in order. A list of one
41154
+ column only. */
41155
+ "attr:section-field"?: (HelixVirtualList["sectionField"]) | undefined;
41156
+ /** The field of each item that names its section, as a key or a path of
41157
+ keys. Set, the items are drawn in sections: a header, then the items, in
41158
+ an element with the `group` role that the header names. A section starts
41159
+ wherever the field changes, so give the items in order. A list of one
41160
+ column only. */
41161
+ "prop:sectionField"?: (HelixVirtualList["sectionField"]) | undefined;
40874
41162
  /** What a press does to the items already chosen: `toggle` adds or takes out
40875
41163
  the item, and `replace` selects it alone and lets the arrow keys carry the
40876
41164
  selection, with Control or Command adding or taking out one item. */
@@ -40913,6 +41201,10 @@ It returns what Lit renders: a template from `html`, a string, or a DOM
40913
41201
  node. The list wraps each result in a `<div>` that carries the row's role
40914
41202
  and place in the set. Where it is unset, the row `<template>` is used. */
40915
41203
  "prop:renderItem"?: (HelixVirtualList["renderItem"]) | undefined;
41204
+ /** Draws each section's header, given its name and its place among the
41205
+ sections, for a list given `section-field`. Set it as a property. Where
41206
+ it is unset, the header is the name as text. */
41207
+ "prop:renderSection"?: (HelixVirtualList["renderSection"]) | undefined;
40916
41208
  /** Fired once a press or a key has changed which items are selected, in a list with `selection-mode`. */
40917
41209
  "on:change"?: ((e: HelixVirtualListElementEvent) => void) | undefined;
40918
41210
  /** Fired before a press or a key changes which items are selected, with the `value` it would leave. Cancelable. */
@@ -43535,7 +43827,7 @@ export type CustomElements = {
43535
43827
  * forgetting of a reader's past attempt, whose message otherwise showed over
43536
43828
  * the emptied control the moment the form was reset.
43537
43829
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
43538
- * not.
43830
+ * not. The control shows no message for it: `reportValidity()` does that.
43539
43831
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
43540
43832
  * and shows the browser's message at the control.
43541
43833
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -44074,6 +44366,7 @@ export type CustomElements = {
44074
44366
  * - `zoom-out-label`/`zoomOutLabel`: The zoom out button's label.
44075
44367
  * - `activate-hint-label`/`activateHintLabel`: The hint shown when the board, waiting to be pressed with
44076
44368
  * `gestures="activate"`, is scrolled or swiped over.
44369
+ * - `arranged-label`/`arrangedLabel`: What screen readers hear after `arrange()` moves the cards.
44077
44370
  * - `comes-from-label`/`comesFromLabel`: The text read with a card to say where its connections come from, with `{cards}`.
44078
44371
  * - `connected-label`/`connectedLabel`: The text announced when a connection is requested, with `{from}` and `{to}`.
44079
44372
  * - `connecting-label`/`connectingLabel`: The text announced when a connection is started, with `{from}` filled in.
@@ -44118,6 +44411,7 @@ export type CustomElements = {
44118
44411
  *
44119
44412
  * Absent is spatial, a resting value being an attribute's absence: a default
44120
44413
  * that reflected would write a choice onto every host that no server sent.
44414
+ * - `pasted-label`/`pastedLabel`: What screen readers hear after a paste, with `{count}` for the cards pasted.
44121
44415
  * - `path`: The route every connection takes when it sets no `path` of its own:
44122
44416
  * `straight`, or `step` for right angles.
44123
44417
  *
@@ -44134,6 +44428,9 @@ export type CustomElements = {
44134
44428
  * - `reconnecting-label`/`reconnectingLabel`: The text announced when a connection's end is picked up, with `{from}` and
44135
44429
  * `{to}`.
44136
44430
  * - `redone-label`/`redoneLabel`: What screen readers hear after a move or a resize is made again.
44431
+ * - `removed-label`/`removedLabel`: What screen readers hear when Delete asks to remove what is selected, with
44432
+ * `{count}` for how many cards and connections, and `{name}` for the one
44433
+ * where there is one.
44137
44434
  * - `resized-label`/`resizedLabel`: What screen readers hear after a key resizes a card, with `{name}` for the
44138
44435
  * card and `{width}` and `{height}` for its new size, in the document's
44139
44436
  * units.
@@ -44239,6 +44536,7 @@ export type CustomElements = {
44239
44536
  * Events that will be emitted by the component.
44240
44537
  *
44241
44538
  * - `helix-before-move`: Cards are about to move. Cancelable: cancel it to keep the positions in your own state.
44539
+ * - `helix-before-paste`: Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state.
44242
44540
  * - `helix-before-reconnect`: A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state.
44243
44541
  * - `helix-before-relabel`: A connection's label or a group's name is about to change. Cancelable: cancel it to keep labels in your own state.
44244
44542
  * - `helix-canvas-edit`: A card was double-clicked, or Enter or F2 was pressed on it. Open your own editor for the card.
@@ -44247,6 +44545,7 @@ export type CustomElements = {
44247
44545
  * - `helix-canvas-zoom`: The board zoomed one step, from its controls or the keys. A wheel or a pinch sends `helix-canvas-view`.
44248
44546
  * - `helix-connect`: Two cards were chosen to be joined. Add a `helix-canvas-edge` to join them.
44249
44547
  * - `helix-move`: Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed.
44548
+ * - `helix-pasted`: Cards and connections were pasted, and the board holds them.
44250
44549
  * - `helix-reconnect`: A connection's end moved, and the move is finished.
44251
44550
  * - `helix-relabel`: A connection's label or a group's name changed.
44252
44551
  * - `helix-remove`: Cards or connections were chosen for removal. Remove the elements it names.
@@ -44284,6 +44583,24 @@ export type CustomElements = {
44284
44583
  * with nothing to undo, or when the request was refused.
44285
44584
  * - `redo() => boolean`: Makes the last move or resize `undo` took back again, asking with
44286
44585
  * `helix-before-move` first. Returns whether anything moved.
44586
+ * - `paste(document: CanvasDocument | string) => boolean`: Adds the cards and connections of a JSON Canvas document, as a paste does,
44587
+ * and selects the cards. Ids the board already holds are given a count after
44588
+ * them, and the cards move a step down and to the right while they would sit
44589
+ * on cards already there.
44590
+ *
44591
+ * Asks with `helix-before-paste` first: cancel it to add the detail's
44592
+ * document to your own state. Returns whether the board added the cards:
44593
+ * false on a `readonly` board, for text that is not a board, or when the
44594
+ * request was refused.
44595
+ * - `arrange(options: CanvasArrangeOptions = {}) => boolean`: Moves the cards so that none overlaps another: in layers that follow the
44596
+ * connections, or in a grid where there are none. A group moves as one box
44597
+ * with its cards. Each place lands on a multiple of `snap` where it is set.
44598
+ *
44599
+ * Asks with `helix-before-move` first and tells with `helix-move`, as a
44600
+ * move does, so `undo()` puts every card back. The cards glide to their
44601
+ * places for as long as the board's plane takes to glide, and land at once
44602
+ * where it does not, such as under `prefers-reduced-motion`. Returns whether
44603
+ * the cards moved.
44287
44604
  * - `toJsonCanvas() => CanvasDocument`: The board as a JSON Canvas document, for saving it.
44288
44605
  *
44289
44606
  * What each card holds is the consumer's DOM, so a card comes back as a card
@@ -45026,7 +45343,7 @@ export type CustomElements = {
45026
45343
  * and reading `:disabled` here would answer about the attribute we are in the
45027
45344
  * middle of removing.
45028
45345
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
45029
- * not.
45346
+ * not. The control shows no message for it: `reportValidity()` does that.
45030
45347
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
45031
45348
  * and shows the browser's message at the control.
45032
45349
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -45584,7 +45901,7 @@ export type CustomElements = {
45584
45901
  * and reading `:disabled` here would answer about the attribute we are in the
45585
45902
  * middle of removing.
45586
45903
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
45587
- * not.
45904
+ * not. The control shows no message for it: `reportValidity()` does that.
45588
45905
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
45589
45906
  * and shows the browser's message at the control.
45590
45907
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -45865,7 +46182,7 @@ export type CustomElements = {
45865
46182
  * and reading `:disabled` here would answer about the attribute we are in the
45866
46183
  * middle of removing.
45867
46184
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
45868
- * not.
46185
+ * not. The control shows no message for it: `reportValidity()` does that.
45869
46186
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
45870
46187
  * and shows the browser's message at the control.
45871
46188
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -45967,6 +46284,11 @@ export type CustomElements = {
45967
46284
  * the button is drawn only while the cap hides something, measured as the
45968
46285
  * block lays out. Not for a diff, whose files each scroll on their own.
45969
46286
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
46287
+ * - `file`: The name of the file shown, where the block holds several Code Blocks:
46288
+ * the `label` of one, or its `language` without one.
46289
+ *
46290
+ * Unset, or a name no file has, shows the first.
46291
+ * - `files-label`/`filesLabel`: The name of the file tabs, read by screen readers.
45970
46292
  * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
45971
46293
  * diff with `context-lines`. `{count}` is how many, and each language
45972
46294
  * writes the forms it has.
@@ -46073,7 +46395,11 @@ export type CustomElements = {
46073
46395
  *
46074
46396
  * Events that will be emitted by the component.
46075
46397
  *
46398
+ * - `change`: A file tab showed its file, whose name `file` now holds.
46399
+ * - `helix-before-change`: A file tab is about to show its file, with the file's name in `detail.value`. Cancelable: cancel it to keep the file shown.
46076
46400
  * - `helix-before-toggle`: The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are.
46401
+ * - `helix-copy`: The copy button put the code on the clipboard, with the text in `detail.value`.
46402
+ * - `helix-copy-error`: A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code.
46077
46403
  * - `helix-toggle`: Fired after the wrap button changed `wrap`, with the new value in `detail.checked`.
46078
46404
  *
46079
46405
  * ## Slots
@@ -46139,6 +46465,8 @@ export type CustomElements = {
46139
46465
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Applied with `copy-tooltip`.
46140
46466
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
46141
46467
  * - `file`: In a diff, one file's header and block.
46468
+ * - `file-tab`: One file tab, `aria-selected` while its file is shown.
46469
+ * - `files`: The file tabs over the blocks a block holds, where there are several.
46142
46470
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
46143
46471
  * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
46144
46472
  * - `frame`: The code, and the copy button beside it where there is no header.
@@ -46161,6 +46489,7 @@ export type CustomElements = {
46161
46489
  * These can be used to apply styling when a component is in a given state.
46162
46490
  *
46163
46491
  * - `expanded`: The expand button has shown every line of a capped block.
46492
+ * - `tabbed`: The block is one of several files under another block's tabs, which name it, so it draws no name of its own.
46164
46493
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
46165
46494
  */
46166
46495
  "helix-code-block": Partial<
@@ -46496,7 +46825,7 @@ export type CustomElements = {
46496
46825
  * and reading `:disabled` here would answer about the attribute we are in the
46497
46826
  * middle of removing.
46498
46827
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
46499
- * not.
46828
+ * not. The control shows no message for it: `reportValidity()` does that.
46500
46829
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
46501
46830
  * and shows the browser's message at the control.
46502
46831
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -46909,7 +47238,7 @@ export type CustomElements = {
46909
47238
  * and reading `:disabled` here would answer about the attribute we are in the
46910
47239
  * middle of removing.
46911
47240
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
46912
- * not.
47241
+ * not. The control shows no message for it: `reportValidity()` does that.
46913
47242
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
46914
47243
  * and shows the browser's message at the control.
46915
47244
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -47325,7 +47654,7 @@ export type CustomElements = {
47325
47654
  * and reading `:disabled` here would answer about the attribute we are in the
47326
47655
  * middle of removing.
47327
47656
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
47328
- * not.
47657
+ * not. The control shows no message for it: `reportValidity()` does that.
47329
47658
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
47330
47659
  * and shows the browser's message at the control.
47331
47660
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -47777,7 +48106,7 @@ export type CustomElements = {
47777
48106
  * forgetting of a reader's past attempt, whose message otherwise showed over
47778
48107
  * the emptied control the moment the form was reset.
47779
48108
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
47780
- * not.
48109
+ * not. The control shows no message for it: `reportValidity()` does that.
47781
48110
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
47782
48111
  * and shows the browser's message at the control.
47783
48112
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -48636,7 +48965,7 @@ export type CustomElements = {
48636
48965
  * and reading `:disabled` here would answer about the attribute we are in the
48637
48966
  * middle of removing.
48638
48967
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
48639
- * not.
48968
+ * not. The control shows no message for it: `reportValidity()` does that.
48640
48969
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
48641
48970
  * and shows the browser's message at the control.
48642
48971
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -49045,7 +49374,7 @@ export type CustomElements = {
49045
49374
  * and reading `:disabled` here would answer about the attribute we are in the
49046
49375
  * middle of removing.
49047
49376
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
49048
- * not.
49377
+ * not. The control shows no message for it: `reportValidity()` does that.
49049
49378
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
49050
49379
  * and shows the browser's message at the control.
49051
49380
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -50695,7 +51024,7 @@ export type CustomElements = {
50695
51024
  * and reading `:disabled` here would answer about the attribute we are in the
50696
51025
  * middle of removing.
50697
51026
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
50698
- * not.
51027
+ * not. The control shows no message for it: `reportValidity()` does that.
50699
51028
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
50700
51029
  * and shows the browser's message at the control.
50701
51030
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -51106,6 +51435,7 @@ export type CustomElements = {
51106
51435
  * - `menu-header`: The bar above a field's page, with the back button and the field's name.
51107
51436
  * - `menu-live`: The inner menu's `live` part: the region that screen readers announce the empty and loading messages from.
51108
51437
  * - `menu-loading`: Shown while the fields are loading.
51438
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
51109
51439
  * - `menu-surface`: The floating panel the menu is drawn on.
51110
51440
  * - `menu-title`: The name of the field whose page is showing.
51111
51441
  *
@@ -51472,7 +51802,7 @@ export type CustomElements = {
51472
51802
  * and reading `:disabled` here would answer about the attribute we are in the
51473
51803
  * middle of removing.
51474
51804
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
51475
- * not.
51805
+ * not. The control shows no message for it: `reportValidity()` does that.
51476
51806
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
51477
51807
  * and shows the browser's message at the control.
51478
51808
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -51668,7 +51998,8 @@ export type CustomElements = {
51668
51998
  * such as `buddhist` for `th-TH`, and `gregory` for every other, such as
51669
51999
  * `persian` for `fa-IR`, so a date written here reads as the same date a
51670
52000
  * Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
51671
- * - `date`: The timestamp, in any format `Date` can parse.
52001
+ * - `date`: The timestamp: a `Date`, milliseconds since the epoch, or a string in any
52002
+ * format `Date` can parse. The attribute is the string.
51672
52003
  *
51673
52004
  * An ISO string is what an API sends and what `<time datetime>` takes, so it
51674
52005
  * is the shape that needs no translation at either end. Left unset this
@@ -52834,7 +53165,7 @@ export type CustomElements = {
52834
53165
  * forgetting of a reader's past attempt, whose message otherwise showed over
52835
53166
  * the emptied control the moment the form was reset.
52836
53167
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
52837
- * not.
53168
+ * not. The control shows no message for it: `reportValidity()` does that.
52838
53169
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
52839
53170
  * and shows the browser's message at the control.
52840
53171
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -53430,7 +53761,7 @@ export type CustomElements = {
53430
53761
  * and reading `:disabled` here would answer about the attribute we are in the
53431
53762
  * middle of removing.
53432
53763
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
53433
- * not.
53764
+ * not. The control shows no message for it: `reportValidity()` does that.
53434
53765
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
53435
53766
  * and shows the browser's message at the control.
53436
53767
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -55065,7 +55396,8 @@ export type CustomElements = {
55065
55396
  * rather than being typed into means. Enter still chooses, because that is
55066
55397
  * the caller asking for the answer rather than for a move. Space, Home, End
55067
55398
  * and letters are left to the caller's field, where they are typing.
55068
- * - `reveal() => void`: Scrolls the chosen option to the middle of the list.
55399
+ * - `reveal() => void`: Scrolls the chosen option to the middle of the list, or the highlighted one
55400
+ * where nothing is chosen.
55069
55401
  *
55070
55402
  * A method rather than something this does on its own, because a listbox
55071
55403
  * opening on its answer usually wants it merely *visible* and the browser
@@ -55075,6 +55407,13 @@ export type CustomElements = {
55075
55407
  *
55076
55408
  * Measured by core's `centerInView`, or, for a list of `items`, by the
55077
55409
  * arithmetic, since the chosen option may not be drawn.
55410
+ * - `highlightValue(value: string) => void`: Puts the highlight on the option holding `value`, without choosing it, so
55411
+ * the arrow keys move from there. Nothing changes where no option a reader
55412
+ * can reach holds `value`.
55413
+ *
55414
+ * Time Picker calls it for a time between two of its steps, which no option
55415
+ * holds: without it the first arrow moved from the top of the list, so Down
55416
+ * from 14:07 went to midnight.
55078
55417
  * - `requestFilter(next: string) => boolean`: Requests a new filter, and returns whether the request went through.
55079
55418
  * - `formDisabledCallback(disabled: boolean) => void`: Called by the browser when an ancestor fieldset is disabled or enabled.
55080
55419
  *
@@ -55110,7 +55449,7 @@ export type CustomElements = {
55110
55449
  * and reading `:disabled` here would answer about the attribute we are in the
55111
55450
  * middle of removing.
55112
55451
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
55113
- * not.
55452
+ * not. The control shows no message for it: `reportValidity()` does that.
55114
55453
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
55115
55454
  * and shows the browser's message at the control.
55116
55455
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -56665,6 +57004,7 @@ export type CustomElements = {
56665
57004
  * These can be used to apply styling when a component is in a given state.
56666
57005
  *
56667
57006
  * - `checked`: The row is checked.
57007
+ * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
56668
57008
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
56669
57009
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
56670
57010
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -56712,6 +57052,13 @@ export type CustomElements = {
56712
57052
  * Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.
56713
57053
  * - `context`: Whether the menu is the trigger's context menu: it opens where the reader
56714
57054
  * asks for one, with a right-click, a long press, Shift+F10 or the menu key.
57055
+ * - `filter`: The text the rows are filtered by, which the filter field holds.
57056
+ *
57057
+ * Cleared as the menu closes and as a submenu opens or closes, so each page
57058
+ * starts with every row showing.
57059
+ * - `filterable`: Whether the menu shows a field above its rows that narrows them as the
57060
+ * reader types, with focus staying in the field.
57061
+ * - `filter-label`/`filterLabel`: The filter field's name and placeholder.
56715
57062
  * - `label`: Accessible name for the surface.
56716
57063
  *
56717
57064
  * Empty by default, which names the surface by its trigger, so a menu opened
@@ -56719,6 +57066,7 @@ export type CustomElements = {
56719
57066
  * `aria-labelledby` on the host names it too, and wins over both.
56720
57067
  * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
56721
57068
  * to open the menu. Translate it with the rest of your interface.
57069
+ * - `no-results-text`/`noResultsText`: The text shown when the filter keeps no rows.
56722
57070
  * - `offset`: Space between the trigger and the surface, in pixels.
56723
57071
  * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
56724
57072
  * trigger's own action and opens the menu on a press held for half a second,
@@ -56728,6 +57076,12 @@ export type CustomElements = {
56728
57076
  * It moves if that side does not fit.
56729
57077
  * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
56730
57078
  * a way back. `flyout` opens it in a panel of its own beside its row.
57079
+ * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
57080
+ * the filter, trimmed, that returns `true` to keep it showing, as React
57081
+ * Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
57082
+ *
57083
+ * Absent, a row is kept where its words hold the filter, in any case. A
57084
+ * property only, there being no way to write a function in markup. (property only)
56731
57085
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
56732
57086
  *
56733
57087
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -56756,6 +57110,7 @@ export type CustomElements = {
56756
57110
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
56757
57111
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
56758
57112
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
57113
+ * - `helix-filter`: The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself.
56759
57114
  * - `helix-select`: An item was chosen. Cancelable: cancel it to keep the menu open.
56760
57115
  *
56761
57116
  * ## Slots
@@ -56763,6 +57118,7 @@ export type CustomElements = {
56763
57118
  * Areas where markup can be added to the component.
56764
57119
  *
56765
57120
  * - `(default)`: The items.
57121
+ * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
56766
57122
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
56767
57123
  *
56768
57124
  * ## Methods
@@ -56804,7 +57160,8 @@ export type CustomElements = {
56804
57160
  * - `header`: The bar above a submenu, holding the way back and its name.
56805
57161
  * - `live`: A live region that repeats the empty and loading text, so screen readers announce it when it changes. Visually hidden in the styled tier.
56806
57162
  * - `loading`: The text shown while the items are loading.
56807
- * - `surface`: The floating panel the menu is drawn on.
57163
+ * - `search-field`: With `filterable`, the field that narrows the rows.
57164
+ * - `surface`: The floating panel the menu is drawn on. It is the `menu` itself, and with `filterable` it holds the filter field and then the `menu`.
56808
57165
  * - `title`: The name of the submenu that is showing.
56809
57166
  *
56810
57167
  * ## CSS States
@@ -57988,7 +58345,7 @@ export type CustomElements = {
57988
58345
  * and reading `:disabled` here would answer about the attribute we are in the
57989
58346
  * middle of removing.
57990
58347
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
57991
- * not.
58348
+ * not. The control shows no message for it: `reportValidity()` does that.
57992
58349
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
57993
58350
  * and shows the browser's message at the control.
57994
58351
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -58172,6 +58529,13 @@ export type CustomElements = {
58172
58529
  *
58173
58530
  * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
58174
58531
  *
58532
+ * ## Methods
58533
+ *
58534
+ * Methods that can be called to access component functionality.
58535
+ *
58536
+ * - `focus(options?: FocusOptions) => void`: Moves focus to the row the keys move from, or to the tree while that row
58537
+ * is scrolled out of the window, as Tab reaches them.
58538
+ *
58175
58539
  * ## CSS Custom Properties
58176
58540
  *
58177
58541
  * CSS variables available for styling the component.
@@ -59200,7 +59564,7 @@ export type CustomElements = {
59200
59564
  * and reading `:disabled` here would answer about the attribute we are in the
59201
59565
  * middle of removing.
59202
59566
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
59203
- * not.
59567
+ * not. The control shows no message for it: `reportValidity()` does that.
59204
59568
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
59205
59569
  * and shows the browser's message at the control.
59206
59570
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -59546,7 +59910,7 @@ export type CustomElements = {
59546
59910
  * and reading `:disabled` here would answer about the attribute we are in the
59547
59911
  * middle of removing.
59548
59912
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
59549
- * not.
59913
+ * not. The control shows no message for it: `reportValidity()` does that.
59550
59914
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
59551
59915
  * and shows the browser's message at the control.
59552
59916
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -60327,7 +60691,7 @@ export type CustomElements = {
60327
60691
  * and reading `:disabled` here would answer about the attribute we are in the
60328
60692
  * middle of removing.
60329
60693
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
60330
- * not.
60694
+ * not. The control shows no message for it: `reportValidity()` does that.
60331
60695
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
60332
60696
  * and shows the browser's message at the control.
60333
60697
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -60823,7 +61187,7 @@ export type CustomElements = {
60823
61187
  * and reading `:disabled` here would answer about the attribute we are in the
60824
61188
  * middle of removing.
60825
61189
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
60826
- * not.
61190
+ * not. The control shows no message for it: `reportValidity()` does that.
60827
61191
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
60828
61192
  * and shows the browser's message at the control.
60829
61193
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -61039,6 +61403,9 @@ export type CustomElements = {
61039
61403
  * preview do not reference each other, so you can replace either one or use it
61040
61404
  * alone.
61041
61405
  *
61406
+ * The preview runs an edit once typing has rested for `preview-delay`, 300
61407
+ * milliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.
61408
+ *
61042
61409
  * The event carries the pane's `name`, so one sandbox can hold several panes.
61043
61410
  * `html` sets the preview's markup, `css` sets its stylesheet, and `js` sets
61044
61411
  * a script that runs as a module after the markup. The sandbox ignores a pane
@@ -61063,6 +61430,16 @@ export type CustomElements = {
61063
61430
  * like `helix-sandbox-source`, and the sandbox reads its `value` to seed the
61064
61431
  * preview. Dispatch `helix-caret` from it too for the status bar's position.
61065
61432
  *
61433
+ * Sandbox is styled only and has behavior, as `Aura` is. Its behavior is the
61434
+ * hand-off from a source pane to a preview frame, which works with any pane
61435
+ * that sends `helix-before-edit`, and what it draws is the layout around them:
61436
+ * dividers, file tabs, and a panel. A page that wants another look slots its
61437
+ * own panes and keeps the hand-off, so there is nothing for a headless version
61438
+ * to hold.
61439
+ *
61440
+ * A development build warns about a source pane with no `label` and no `name`,
61441
+ * whose file tab would have no words.
61442
+ *
61066
61443
  * On a focused divider, the arrow keys move it, and `Home` and `End` move it
61067
61444
  * to its ends. `Enter` on the panes divider shuts the lead pane, and pressed
61068
61445
  * again it opens the pane where it was. `Enter` on the panel divider shuts the
@@ -61128,6 +61505,10 @@ export type CustomElements = {
61128
61505
  * gives.
61129
61506
  * - `panel-label`/`panelLabel`: The name of the panel's divider, read by screen readers.
61130
61507
  * - `panel-size`/`panelSize`: Height of the panel, in pixels.
61508
+ * - `preview-delay`/`previewDelay`: How long typing rests before the preview runs the new source, in
61509
+ * milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
61510
+ * frame on each run, so a word typed runs it once. `0` runs it on every
61511
+ * edit.
61131
61512
  * - `separator-label`/`separatorLabel`: The name of the divider between the panes, read by screen readers.
61132
61513
  * `{pane}` is the lead pane, `source` or `preview`, whose share the
61133
61514
  * divider's value is, so each is a whole sentence: "Resize source pane" or
@@ -61238,6 +61619,9 @@ export type CustomElements = {
61238
61619
  * Component attributes and properties that can be applied to the element or by using JavaScript.
61239
61620
  *
61240
61621
  * - `field-label`/`fieldLabel`: The editable region's name, read by screen readers.
61622
+ * - `field-name-label`/`fieldNameLabel`: The editable region's name where the pane has a `label`, so each file's
61623
+ * field says which file it holds. `{field}` is `field-label` and `{name}`
61624
+ * the pane's `label`.
61241
61625
  * - `keys-description`/`keysDescription`: The field's description, read by screen readers while Tab indents.
61242
61626
  * - `label`: The pane's file name, such as `index.html`, on its tab where a sandbox
61243
61627
  * holds several panes. Empty puts the pane's `name` on the tab.
@@ -62298,7 +62682,7 @@ export type CustomElements = {
62298
62682
  * and reading `:disabled` here would answer about the attribute we are in the
62299
62683
  * middle of removing.
62300
62684
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
62301
- * not.
62685
+ * not. The control shows no message for it: `reportValidity()` does that.
62302
62686
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
62303
62687
  * and shows the browser's message at the control.
62304
62688
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -62797,7 +63181,7 @@ export type CustomElements = {
62797
63181
  * and reading `:disabled` here would answer about the attribute we are in the
62798
63182
  * middle of removing.
62799
63183
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
62800
- * not.
63184
+ * not. The control shows no message for it: `reportValidity()` does that.
62801
63185
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
62802
63186
  * and shows the browser's message at the control.
62803
63187
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -64475,7 +64859,7 @@ export type CustomElements = {
64475
64859
  * and reading `:disabled` here would answer about the attribute we are in the
64476
64860
  * middle of removing.
64477
64861
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
64478
- * not.
64862
+ * not. The control shows no message for it: `reportValidity()` does that.
64479
64863
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
64480
64864
  * and shows the browser's message at the control.
64481
64865
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -64894,6 +65278,14 @@ export type CustomElements = {
64894
65278
  * order has its whole sentence. `{order}` is the deprecated
64895
65279
  * `ascending-label` or `descending-label`.
64896
65280
  * - `unsorted-label`/`unsortedLabel`: What screen readers hear when the table stops being sorted.
65281
+ * - `windowed`: Draws only the rows in view, with empty space in place of the rest, as
65282
+ * Data Table's `windowed` does. The table's box then scrolls, at the
65283
+ * height `--table-block-size` gives it in the styled tier, and the
65284
+ * headings stick to its top.
65285
+ *
65286
+ * Off by default. Windowing costs a scroll listener, a measurement per row
65287
+ * drawn, and a height on the table, and a table of twenty rows should pay
65288
+ * none of them.
64897
65289
  * - `tableColumns`: The columns declared as children, in the order they are written. (property only) (readonly)
64898
65290
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
64899
65291
  *
@@ -64952,6 +65344,7 @@ export type CustomElements = {
64952
65344
  *
64953
65345
  * CSS variables available for styling the component.
64954
65346
  *
65347
+ * - `--table-block-size`: How tall the table's box is while `windowed`, when it scrolls its rows. 24em by default.
64955
65348
  * - `--table-columns`: Track list for the columns. It overrides the track list worked out from the columns.
64956
65349
  * - `--table-drag-preview-background-color`: The fill behind the copy of a row a pointer drags.
64957
65350
  * - `--table-drag-preview-border-color`: The color of the edge around the copy of a row a pointer drags.
@@ -64960,6 +65353,7 @@ export type CustomElements = {
64960
65353
  * - `--table-drag-preview-radius`: The corner radius of the copy of a row a pointer drags.
64961
65354
  * - `--table-drag-preview-shadow`: The shadow that raises the copy of a row a pointer drags over the page.
64962
65355
  * - `--table-error-color`: The color of the words in the line shown while `error-text` is set.
65356
+ * - `--table-heading-background-color`: The fill behind the headings while `windowed`, which the rows scroll under. The page's background by default.
64963
65357
  * - `--table-title-color`: The color of the words in the `heading` slot.
64964
65358
  * - `--table-title-gap`: The space between the `heading` slot and the grid.
64965
65359
  * - `--table-title-text`: The font size of the words in the `heading` slot.
@@ -64969,6 +65363,8 @@ export type CustomElements = {
64969
65363
  *
64970
65364
  * Custom selectors for styling elements within the component.
64971
65365
  *
65366
+ * - `after`: The space that stands in for the rows below the window. Only while `windowed`.
65367
+ * - `before`: The space that stands in for the rows above the window. Only while `windowed`.
64972
65368
  * - `drag-preview`: A copy of the row a pointer drags by its grip, which follows the pointer in the top layer until the row is let go, in a `reorderable` table. Hidden from assistive technology.
64973
65369
  * - `live`: A live region that repeats the empty and loading text, and says each step of a move, so screen readers announce it when it changes. Visually hidden in the styled tier.
64974
65370
  * - `table`: The grid.
@@ -66077,7 +66473,7 @@ export type CustomElements = {
66077
66473
  * and reading `:disabled` here would answer about the attribute we are in the
66078
66474
  * middle of removing.
66079
66475
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
66080
- * not.
66476
+ * not. The control shows no message for it: `reportValidity()` does that.
66081
66477
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
66082
66478
  * and shows the browser's message at the control.
66083
66479
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -66436,7 +66832,7 @@ export type CustomElements = {
66436
66832
  * and reading `:disabled` here would answer about the attribute we are in the
66437
66833
  * middle of removing.
66438
66834
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
66439
- * not.
66835
+ * not. The control shows no message for it: `reportValidity()` does that.
66440
66836
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
66441
66837
  * and shows the browser's message at the control.
66442
66838
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -66497,6 +66893,7 @@ export type CustomElements = {
66497
66893
  * - `picker-list-loading`: The text shown while the options load.
66498
66894
  * - `picker-list-search`: The region that holds the filter field.
66499
66895
  * - `picker-list-search-field`: The filter field.
66896
+ * - `picker-now`: The picker's button that chooses the current time, which Time Input does not draw.
66500
66897
  * - `picker-option`: One time in the picker. Carries `data-between` inside a range.
66501
66898
  * - `picker-option-between`: A time inside a chosen range, between its two ends. Set together with `picker-option`.
66502
66899
  * - `picker-option-description`: The caption under the label, when there is one.
@@ -66643,6 +67040,8 @@ export type CustomElements = {
66643
67040
  * and a wheel has exactly one value by construction. Rather than draw
66644
67041
  * something that cannot say what it holds, `wheels` renders as a list
66645
67042
  * whenever a mode is set.
67043
+ * - `now-label`/`nowLabel`: The words on the button that chooses the current time, drawn with
67044
+ * `show-now`.
66646
67045
  * - `range-overflow-message`/`rangeOverflowMessage`: The validation message for a time after `max`. `{max}` is replaced with
66647
67046
  * `max`, written in `locale`.
66648
67047
  * - `range-underflow-message`/`rangeUnderflowMessage`: The validation message for a time before `min`. `{min}` is replaced with
@@ -66670,6 +67069,13 @@ export type CustomElements = {
66670
67069
  * `<input type="time">` counts in. A list at a step of one second is 86,400
66671
67070
  * rows, so give `seconds` a `step` and bounds that keep it a list, or use
66672
67071
  * the wheels.
67072
+ * - `show-now`/`showNow`: Draws a button under the times that chooses the current time, as
67073
+ * `selectNow()` does.
67074
+ *
67075
+ * For a form about something happening now, such as a shift starting or a
67076
+ * dose taken, where the reader would otherwise scroll to the time on the
67077
+ * clock. The button is a tab stop after the times, and its words are
67078
+ * `now-label`.
66673
67079
  * - `step`: How far apart the offered times are, in minutes, or in seconds with
66674
67080
  * `seconds`.
66675
67081
  *
@@ -66800,6 +67206,14 @@ export type CustomElements = {
66800
67206
  * Falling back to what the markup declared rather than to empty, because
66801
67207
  * a restore with no state is a form the browser has nothing recorded for,
66802
67208
  * which is the same situation as a fresh one.
67209
+ * - `selectNow() => boolean`: Chooses the current time, as a press on the `show-now` button does, and
67210
+ * returns whether the value changed.
67211
+ *
67212
+ * The time is read off the reader's clock and moved to the nearest time on
67213
+ * offer that is not barred, so it falls on the `step` and inside `min` and
67214
+ * `max`. It is requested as a pick is, so `helix-before-change` can cancel
67215
+ * it. With a `mode` the time joins the times held, and a range that holds
67216
+ * two starts over from it, as a third pick does.
66803
67217
  * - `reveal() => void`: Scrolls each wheel to its selected value, and the list to its selected
66804
67218
  * time.
66805
67219
  *
@@ -66859,7 +67273,7 @@ export type CustomElements = {
66859
67273
  * and reading `:disabled` here would answer about the attribute we are in the
66860
67274
  * middle of removing.
66861
67275
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
66862
- * not.
67276
+ * not. The control shows no message for it: `reportValidity()` does that.
66863
67277
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
66864
67278
  * and shows the browser's message at the control.
66865
67279
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -66875,6 +67289,7 @@ export type CustomElements = {
66875
67289
  * - `--time-picker-invalid-color`: The ring around the chosen time, or around the times while nothing is chosen, while the picker is invalid.
66876
67290
  * - `--time-picker-list-block-size`: How tall the list is before it scrolls.
66877
67291
  * - `--time-picker-mark-radius`: The corners of the mark on a wheel's row.
67292
+ * - `--time-picker-now-color`: The ink of the button that chooses the current time, with `show-now`.
66878
67293
  * - `--time-picker-range-color`: Fill behind the times inside a range.
66879
67294
  * - `--time-picker-row-size`: Height and minimum width of one row in a wheel.
66880
67295
  * - `--time-picker-selected-color`: Fill on the chosen row of a wheel.
@@ -66916,6 +67331,7 @@ export type CustomElements = {
66916
67331
  * - `list-loading`: The text shown while the options load.
66917
67332
  * - `list-search`: The region that holds the filter field.
66918
67333
  * - `list-search-field`: The filter field.
67334
+ * - `now`: The button that chooses the current time, drawn with `show-now`.
66919
67335
  * - `option`: One time in the list. It carries `data-between` inside a range, and inside the run to the time under the pointer while a range waits for its second end.
66920
67336
  * - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
66921
67337
  * - `option-description`: The caption under the time's label, when there is one.
@@ -67660,7 +68076,7 @@ export type CustomElements = {
67660
68076
  * and reading `:disabled` here would answer about the attribute we are in the
67661
68077
  * middle of removing.
67662
68078
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
67663
- * not.
68079
+ * not. The control shows no message for it: `reportValidity()` does that.
67664
68080
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
67665
68081
  * and shows the browser's message at the control.
67666
68082
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -69182,6 +69598,7 @@ export type CustomElements = {
69182
69598
  * - `menu-header`: The bar above a submenu, holding the back button and the submenu's name.
69183
69599
  * - `menu-live`: The inner menu's `live` part, the region screen readers announce its empty and loading messages from.
69184
69600
  * - `menu-loading`: Shown while the items are loading.
69601
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
69185
69602
  * - `menu-surface`: The floating panel the menu is drawn on.
69186
69603
  * - `menu-title`: The name of the submenu that is shown.
69187
69604
  * - `poster`: An entry's poster image, if it has one.
@@ -69717,6 +70134,7 @@ export type CustomElements = {
69717
70134
  * - `captions-menu-header`: The bar above a submenu, holding the way back and its name.
69718
70135
  * - `captions-menu-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
69719
70136
  * - `captions-menu-loading`: The text shown while the items are loading.
70137
+ * - `captions-menu-search-field`: The inner menu's filter field, drawn with `filterable`.
69720
70138
  * - `captions-menu-surface`: The floating panel the menu is drawn on.
69721
70139
  * - `captions-menu-title`: The name of the submenu that is showing.
69722
70140
  * - `controls`: The control bar along the bottom.
@@ -69748,6 +70166,7 @@ export type CustomElements = {
69748
70166
  * - `overflow-header`: The bar above a submenu, holding the way back and its name.
69749
70167
  * - `overflow-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
69750
70168
  * - `overflow-loading`: The text shown while the items are loading.
70169
+ * - `overflow-search-field`: The inner menu's filter field, drawn with `filterable`.
69751
70170
  * - `overflow-surface`: The floating panel the menu is drawn on.
69752
70171
  * - `overflow-title`: The name of the submenu that is showing.
69753
70172
  * - `pip`: The picture-in-picture button, when `extra-controls` includes it and the browser supports it.
@@ -69838,6 +70257,15 @@ export type CustomElements = {
69838
70257
  * - `min-column-width`/`minColumnWidth`: The narrowest a column of a grid may be, in pixels. Set, the list lays
69839
70258
  * out as many columns as fit the box at that width, at least one, and
69840
70259
  * follows the box as it resizes, which `columns` then does not decide.
70260
+ * - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
70261
+ * and scrolls it sideways: Left and Right move between items, the other
70262
+ * way round on a right-to-left page, and `estimate` is an item's width. A
70263
+ * grid always runs down.
70264
+ * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
70265
+ * keys. Set, the items are drawn in sections: a header, then the items, in
70266
+ * an element with the `group` role that the header names. A section starts
70267
+ * wherever the field changes, so give the items in order. A list of one
70268
+ * column only.
69841
70269
  * - `selection-behavior`/`selectionBehavior`: What a press does to the items already chosen: `toggle` adds or takes out
69842
70270
  * the item, and `replace` selects it alone and lets the arrow keys carry the
69843
70271
  * selection, with Control or Command adding or taking out one item.
@@ -69861,6 +70289,9 @@ export type CustomElements = {
69861
70289
  * It returns what Lit renders: a template from `html`, a string, or a DOM
69862
70290
  * node. The list wraps each result in a `<div>` that carries the row's role
69863
70291
  * and place in the set. Where it is unset, the row `<template>` is used. (property only)
70292
+ * - `renderSection`: Draws each section's header, given its name and its place among the
70293
+ * sections, for a list given `section-field`. Set it as a property. Where
70294
+ * it is unset, the header is the name as text. (property only)
69864
70295
  * - `range`: The items on screen, as `items.slice(first, last)` reads them.
69865
70296
  *
69866
70297
  * Read from the scroll offset when asked. Both are 0 before the list has a
@@ -69917,7 +70348,7 @@ export type CustomElements = {
69917
70348
  *
69918
70349
  * CSS variables available for styling the component.
69919
70350
  *
69920
- * - `--virtual-list-block-size`: How tall the scrolling box is.
70351
+ * - `--virtual-list-block-size`: How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it.
69921
70352
  * - `--virtual-list-disabled-opacity`: How faint a row `disabled-keys` names is drawn.
69922
70353
  * - `--virtual-list-empty-color`: The color of the text in the row shown when there are no items.
69923
70354
  * - `--virtual-list-empty-padding`: The space around the text in the row shown when there are no items.
@@ -69944,6 +70375,7 @@ export type CustomElements = {
69944
70375
  * These can be used to apply styling when a component is in a given state.
69945
70376
  *
69946
70377
  * - `empty`: While the list has read its items and holds none.
70378
+ * - `horizontal`: While the list runs across, with `orientation="horizontal"`.
69947
70379
  * - `loading`: While `loading` is set.
69948
70380
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
69949
70381
  */
@@ -72598,7 +73030,7 @@ export type CustomElementsSolidJs = {
72598
73030
  * forgetting of a reader's past attempt, whose message otherwise showed over
72599
73031
  * the emptied control the moment the form was reset.
72600
73032
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
72601
- * not.
73033
+ * not. The control shows no message for it: `reportValidity()` does that.
72602
73034
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
72603
73035
  * and shows the browser's message at the control.
72604
73036
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -73149,6 +73581,7 @@ export type CustomElementsSolidJs = {
73149
73581
  * - `zoom-out-label`/`zoomOutLabel`: The zoom out button's label.
73150
73582
  * - `activate-hint-label`/`activateHintLabel`: The hint shown when the board, waiting to be pressed with
73151
73583
  * `gestures="activate"`, is scrolled or swiped over.
73584
+ * - `arranged-label`/`arrangedLabel`: What screen readers hear after `arrange()` moves the cards.
73152
73585
  * - `comes-from-label`/`comesFromLabel`: The text read with a card to say where its connections come from, with `{cards}`.
73153
73586
  * - `connected-label`/`connectedLabel`: The text announced when a connection is requested, with `{from}` and `{to}`.
73154
73587
  * - `connecting-label`/`connectingLabel`: The text announced when a connection is started, with `{from}` filled in.
@@ -73193,6 +73626,7 @@ export type CustomElementsSolidJs = {
73193
73626
  *
73194
73627
  * Absent is spatial, a resting value being an attribute's absence: a default
73195
73628
  * that reflected would write a choice onto every host that no server sent.
73629
+ * - `pasted-label`/`pastedLabel`: What screen readers hear after a paste, with `{count}` for the cards pasted.
73196
73630
  * - `path`: The route every connection takes when it sets no `path` of its own:
73197
73631
  * `straight`, or `step` for right angles.
73198
73632
  *
@@ -73209,6 +73643,9 @@ export type CustomElementsSolidJs = {
73209
73643
  * - `reconnecting-label`/`reconnectingLabel`: The text announced when a connection's end is picked up, with `{from}` and
73210
73644
  * `{to}`.
73211
73645
  * - `redone-label`/`redoneLabel`: What screen readers hear after a move or a resize is made again.
73646
+ * - `removed-label`/`removedLabel`: What screen readers hear when Delete asks to remove what is selected, with
73647
+ * `{count}` for how many cards and connections, and `{name}` for the one
73648
+ * where there is one.
73212
73649
  * - `resized-label`/`resizedLabel`: What screen readers hear after a key resizes a card, with `{name}` for the
73213
73650
  * card and `{width}` and `{height}` for its new size, in the document's
73214
73651
  * units.
@@ -73314,6 +73751,7 @@ export type CustomElementsSolidJs = {
73314
73751
  * Events that will be emitted by the component.
73315
73752
  *
73316
73753
  * - `helix-before-move`: Cards are about to move. Cancelable: cancel it to keep the positions in your own state.
73754
+ * - `helix-before-paste`: Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state.
73317
73755
  * - `helix-before-reconnect`: A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state.
73318
73756
  * - `helix-before-relabel`: A connection's label or a group's name is about to change. Cancelable: cancel it to keep labels in your own state.
73319
73757
  * - `helix-canvas-edit`: A card was double-clicked, or Enter or F2 was pressed on it. Open your own editor for the card.
@@ -73322,6 +73760,7 @@ export type CustomElementsSolidJs = {
73322
73760
  * - `helix-canvas-zoom`: The board zoomed one step, from its controls or the keys. A wheel or a pinch sends `helix-canvas-view`.
73323
73761
  * - `helix-connect`: Two cards were chosen to be joined. Add a `helix-canvas-edge` to join them.
73324
73762
  * - `helix-move`: Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed.
73763
+ * - `helix-pasted`: Cards and connections were pasted, and the board holds them.
73325
73764
  * - `helix-reconnect`: A connection's end moved, and the move is finished.
73326
73765
  * - `helix-relabel`: A connection's label or a group's name changed.
73327
73766
  * - `helix-remove`: Cards or connections were chosen for removal. Remove the elements it names.
@@ -73359,6 +73798,24 @@ export type CustomElementsSolidJs = {
73359
73798
  * with nothing to undo, or when the request was refused.
73360
73799
  * - `redo() => boolean`: Makes the last move or resize `undo` took back again, asking with
73361
73800
  * `helix-before-move` first. Returns whether anything moved.
73801
+ * - `paste(document: CanvasDocument | string) => boolean`: Adds the cards and connections of a JSON Canvas document, as a paste does,
73802
+ * and selects the cards. Ids the board already holds are given a count after
73803
+ * them, and the cards move a step down and to the right while they would sit
73804
+ * on cards already there.
73805
+ *
73806
+ * Asks with `helix-before-paste` first: cancel it to add the detail's
73807
+ * document to your own state. Returns whether the board added the cards:
73808
+ * false on a `readonly` board, for text that is not a board, or when the
73809
+ * request was refused.
73810
+ * - `arrange(options: CanvasArrangeOptions = {}) => boolean`: Moves the cards so that none overlaps another: in layers that follow the
73811
+ * connections, or in a grid where there are none. A group moves as one box
73812
+ * with its cards. Each place lands on a multiple of `snap` where it is set.
73813
+ *
73814
+ * Asks with `helix-before-move` first and tells with `helix-move`, as a
73815
+ * move does, so `undo()` puts every card back. The cards glide to their
73816
+ * places for as long as the board's plane takes to glide, and land at once
73817
+ * where it does not, such as under `prefers-reduced-motion`. Returns whether
73818
+ * the cards moved.
73362
73819
  * - `toJsonCanvas() => CanvasDocument`: The board as a JSON Canvas document, for saving it.
73363
73820
  *
73364
73821
  * What each card holds is the consumer's DOM, so a card comes back as a card
@@ -74109,7 +74566,7 @@ export type CustomElementsSolidJs = {
74109
74566
  * and reading `:disabled` here would answer about the attribute we are in the
74110
74567
  * middle of removing.
74111
74568
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
74112
- * not.
74569
+ * not. The control shows no message for it: `reportValidity()` does that.
74113
74570
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
74114
74571
  * and shows the browser's message at the control.
74115
74572
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -74675,7 +75132,7 @@ export type CustomElementsSolidJs = {
74675
75132
  * and reading `:disabled` here would answer about the attribute we are in the
74676
75133
  * middle of removing.
74677
75134
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
74678
- * not.
75135
+ * not. The control shows no message for it: `reportValidity()` does that.
74679
75136
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
74680
75137
  * and shows the browser's message at the control.
74681
75138
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -74959,7 +75416,7 @@ export type CustomElementsSolidJs = {
74959
75416
  * and reading `:disabled` here would answer about the attribute we are in the
74960
75417
  * middle of removing.
74961
75418
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
74962
- * not.
75419
+ * not. The control shows no message for it: `reportValidity()` does that.
74963
75420
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
74964
75421
  * and shows the browser's message at the control.
74965
75422
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -75064,6 +75521,11 @@ export type CustomElementsSolidJs = {
75064
75521
  * the button is drawn only while the cap hides something, measured as the
75065
75522
  * block lays out. Not for a diff, whose files each scroll on their own.
75066
75523
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
75524
+ * - `file`: The name of the file shown, where the block holds several Code Blocks:
75525
+ * the `label` of one, or its `language` without one.
75526
+ *
75527
+ * Unset, or a name no file has, shows the first.
75528
+ * - `files-label`/`filesLabel`: The name of the file tabs, read by screen readers.
75067
75529
  * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
75068
75530
  * diff with `context-lines`. `{count}` is how many, and each language
75069
75531
  * writes the forms it has.
@@ -75170,7 +75632,11 @@ export type CustomElementsSolidJs = {
75170
75632
  *
75171
75633
  * Events that will be emitted by the component.
75172
75634
  *
75635
+ * - `change`: A file tab showed its file, whose name `file` now holds.
75636
+ * - `helix-before-change`: A file tab is about to show its file, with the file's name in `detail.value`. Cancelable: cancel it to keep the file shown.
75173
75637
  * - `helix-before-toggle`: The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are.
75638
+ * - `helix-copy`: The copy button put the code on the clipboard, with the text in `detail.value`.
75639
+ * - `helix-copy-error`: A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code.
75174
75640
  * - `helix-toggle`: Fired after the wrap button changed `wrap`, with the new value in `detail.checked`.
75175
75641
  *
75176
75642
  * ## Slots
@@ -75236,6 +75702,8 @@ export type CustomElementsSolidJs = {
75236
75702
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Applied with `copy-tooltip`.
75237
75703
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
75238
75704
  * - `file`: In a diff, one file's header and block.
75705
+ * - `file-tab`: One file tab, `aria-selected` while its file is shown.
75706
+ * - `files`: The file tabs over the blocks a block holds, where there are several.
75239
75707
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
75240
75708
  * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
75241
75709
  * - `frame`: The code, and the copy button beside it where there is no header.
@@ -75258,6 +75726,7 @@ export type CustomElementsSolidJs = {
75258
75726
  * These can be used to apply styling when a component is in a given state.
75259
75727
  *
75260
75728
  * - `expanded`: The expand button has shown every line of a capped block.
75729
+ * - `tabbed`: The block is one of several files under another block's tabs, which name it, so it draws no name of its own.
75261
75730
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
75262
75731
  */
75263
75732
  "helix-code-block": Partial<
@@ -75598,7 +76067,7 @@ export type CustomElementsSolidJs = {
75598
76067
  * and reading `:disabled` here would answer about the attribute we are in the
75599
76068
  * middle of removing.
75600
76069
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
75601
- * not.
76070
+ * not. The control shows no message for it: `reportValidity()` does that.
75602
76071
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
75603
76072
  * and shows the browser's message at the control.
75604
76073
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -76014,7 +76483,7 @@ export type CustomElementsSolidJs = {
76014
76483
  * and reading `:disabled` here would answer about the attribute we are in the
76015
76484
  * middle of removing.
76016
76485
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
76017
- * not.
76486
+ * not. The control shows no message for it: `reportValidity()` does that.
76018
76487
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
76019
76488
  * and shows the browser's message at the control.
76020
76489
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -76433,7 +76902,7 @@ export type CustomElementsSolidJs = {
76433
76902
  * and reading `:disabled` here would answer about the attribute we are in the
76434
76903
  * middle of removing.
76435
76904
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
76436
- * not.
76905
+ * not. The control shows no message for it: `reportValidity()` does that.
76437
76906
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
76438
76907
  * and shows the browser's message at the control.
76439
76908
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -76891,7 +77360,7 @@ export type CustomElementsSolidJs = {
76891
77360
  * forgetting of a reader's past attempt, whose message otherwise showed over
76892
77361
  * the emptied control the moment the form was reset.
76893
77362
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
76894
- * not.
77363
+ * not. The control shows no message for it: `reportValidity()` does that.
76895
77364
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
76896
77365
  * and shows the browser's message at the control.
76897
77366
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -77756,7 +78225,7 @@ export type CustomElementsSolidJs = {
77756
78225
  * and reading `:disabled` here would answer about the attribute we are in the
77757
78226
  * middle of removing.
77758
78227
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
77759
- * not.
78228
+ * not. The control shows no message for it: `reportValidity()` does that.
77760
78229
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
77761
78230
  * and shows the browser's message at the control.
77762
78231
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -78168,7 +78637,7 @@ export type CustomElementsSolidJs = {
78168
78637
  * and reading `:disabled` here would answer about the attribute we are in the
78169
78638
  * middle of removing.
78170
78639
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
78171
- * not.
78640
+ * not. The control shows no message for it: `reportValidity()` does that.
78172
78641
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
78173
78642
  * and shows the browser's message at the control.
78174
78643
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -79848,7 +80317,7 @@ export type CustomElementsSolidJs = {
79848
80317
  * and reading `:disabled` here would answer about the attribute we are in the
79849
80318
  * middle of removing.
79850
80319
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
79851
- * not.
80320
+ * not. The control shows no message for it: `reportValidity()` does that.
79852
80321
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
79853
80322
  * and shows the browser's message at the control.
79854
80323
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -80268,6 +80737,7 @@ export type CustomElementsSolidJs = {
80268
80737
  * - `menu-header`: The bar above a field's page, with the back button and the field's name.
80269
80738
  * - `menu-live`: The inner menu's `live` part: the region that screen readers announce the empty and loading messages from.
80270
80739
  * - `menu-loading`: Shown while the fields are loading.
80740
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
80271
80741
  * - `menu-surface`: The floating panel the menu is drawn on.
80272
80742
  * - `menu-title`: The name of the field whose page is showing.
80273
80743
  *
@@ -80640,7 +81110,7 @@ export type CustomElementsSolidJs = {
80640
81110
  * and reading `:disabled` here would answer about the attribute we are in the
80641
81111
  * middle of removing.
80642
81112
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
80643
- * not.
81113
+ * not. The control shows no message for it: `reportValidity()` does that.
80644
81114
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
80645
81115
  * and shows the browser's message at the control.
80646
81116
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -80841,7 +81311,8 @@ export type CustomElementsSolidJs = {
80841
81311
  * such as `buddhist` for `th-TH`, and `gregory` for every other, such as
80842
81312
  * `persian` for `fa-IR`, so a date written here reads as the same date a
80843
81313
  * Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
80844
- * - `date`: The timestamp, in any format `Date` can parse.
81314
+ * - `date`: The timestamp: a `Date`, milliseconds since the epoch, or a string in any
81315
+ * format `Date` can parse. The attribute is the string.
80845
81316
  *
80846
81317
  * An ISO string is what an API sends and what `<time datetime>` takes, so it
80847
81318
  * is the shape that needs no translation at either end. Left unset this
@@ -82020,7 +82491,7 @@ export type CustomElementsSolidJs = {
82020
82491
  * forgetting of a reader's past attempt, whose message otherwise showed over
82021
82492
  * the emptied control the moment the form was reset.
82022
82493
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
82023
- * not.
82494
+ * not. The control shows no message for it: `reportValidity()` does that.
82024
82495
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
82025
82496
  * and shows the browser's message at the control.
82026
82497
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -82626,7 +83097,7 @@ export type CustomElementsSolidJs = {
82626
83097
  * and reading `:disabled` here would answer about the attribute we are in the
82627
83098
  * middle of removing.
82628
83099
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
82629
- * not.
83100
+ * not. The control shows no message for it: `reportValidity()` does that.
82630
83101
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
82631
83102
  * and shows the browser's message at the control.
82632
83103
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -84285,7 +84756,8 @@ export type CustomElementsSolidJs = {
84285
84756
  * rather than being typed into means. Enter still chooses, because that is
84286
84757
  * the caller asking for the answer rather than for a move. Space, Home, End
84287
84758
  * and letters are left to the caller's field, where they are typing.
84288
- * - `reveal() => void`: Scrolls the chosen option to the middle of the list.
84759
+ * - `reveal() => void`: Scrolls the chosen option to the middle of the list, or the highlighted one
84760
+ * where nothing is chosen.
84289
84761
  *
84290
84762
  * A method rather than something this does on its own, because a listbox
84291
84763
  * opening on its answer usually wants it merely *visible* and the browser
@@ -84295,6 +84767,13 @@ export type CustomElementsSolidJs = {
84295
84767
  *
84296
84768
  * Measured by core's `centerInView`, or, for a list of `items`, by the
84297
84769
  * arithmetic, since the chosen option may not be drawn.
84770
+ * - `highlightValue(value: string) => void`: Puts the highlight on the option holding `value`, without choosing it, so
84771
+ * the arrow keys move from there. Nothing changes where no option a reader
84772
+ * can reach holds `value`.
84773
+ *
84774
+ * Time Picker calls it for a time between two of its steps, which no option
84775
+ * holds: without it the first arrow moved from the top of the list, so Down
84776
+ * from 14:07 went to midnight.
84298
84777
  * - `requestFilter(next: string) => boolean`: Requests a new filter, and returns whether the request went through.
84299
84778
  * - `formDisabledCallback(disabled: boolean) => void`: Called by the browser when an ancestor fieldset is disabled or enabled.
84300
84779
  *
@@ -84330,7 +84809,7 @@ export type CustomElementsSolidJs = {
84330
84809
  * and reading `:disabled` here would answer about the attribute we are in the
84331
84810
  * middle of removing.
84332
84811
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
84333
- * not.
84812
+ * not. The control shows no message for it: `reportValidity()` does that.
84334
84813
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
84335
84814
  * and shows the browser's message at the control.
84336
84815
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -85926,6 +86405,7 @@ export type CustomElementsSolidJs = {
85926
86405
  * These can be used to apply styling when a component is in a given state.
85927
86406
  *
85928
86407
  * - `checked`: The row is checked.
86408
+ * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
85929
86409
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
85930
86410
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
85931
86411
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -85976,6 +86456,13 @@ export type CustomElementsSolidJs = {
85976
86456
  * Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.
85977
86457
  * - `context`: Whether the menu is the trigger's context menu: it opens where the reader
85978
86458
  * asks for one, with a right-click, a long press, Shift+F10 or the menu key.
86459
+ * - `filter`: The text the rows are filtered by, which the filter field holds.
86460
+ *
86461
+ * Cleared as the menu closes and as a submenu opens or closes, so each page
86462
+ * starts with every row showing.
86463
+ * - `filterable`: Whether the menu shows a field above its rows that narrows them as the
86464
+ * reader types, with focus staying in the field.
86465
+ * - `filter-label`/`filterLabel`: The filter field's name and placeholder.
85979
86466
  * - `label`: Accessible name for the surface.
85980
86467
  *
85981
86468
  * Empty by default, which names the surface by its trigger, so a menu opened
@@ -85983,6 +86470,7 @@ export type CustomElementsSolidJs = {
85983
86470
  * `aria-labelledby` on the host names it too, and wins over both.
85984
86471
  * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
85985
86472
  * to open the menu. Translate it with the rest of your interface.
86473
+ * - `no-results-text`/`noResultsText`: The text shown when the filter keeps no rows.
85986
86474
  * - `offset`: Space between the trigger and the surface, in pixels.
85987
86475
  * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
85988
86476
  * trigger's own action and opens the menu on a press held for half a second,
@@ -85992,6 +86480,12 @@ export type CustomElementsSolidJs = {
85992
86480
  * It moves if that side does not fit.
85993
86481
  * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
85994
86482
  * a way back. `flyout` opens it in a panel of its own beside its row.
86483
+ * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
86484
+ * the filter, trimmed, that returns `true` to keep it showing, as React
86485
+ * Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
86486
+ *
86487
+ * Absent, a row is kept where its words hold the filter, in any case. A
86488
+ * property only, there being no way to write a function in markup. (property only)
85995
86489
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
85996
86490
  *
85997
86491
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -86020,6 +86514,7 @@ export type CustomElementsSolidJs = {
86020
86514
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
86021
86515
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
86022
86516
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
86517
+ * - `helix-filter`: The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself.
86023
86518
  * - `helix-select`: An item was chosen. Cancelable: cancel it to keep the menu open.
86024
86519
  *
86025
86520
  * ## Slots
@@ -86027,6 +86522,7 @@ export type CustomElementsSolidJs = {
86027
86522
  * Areas where markup can be added to the component.
86028
86523
  *
86029
86524
  * - `(default)`: The items.
86525
+ * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
86030
86526
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
86031
86527
  *
86032
86528
  * ## Methods
@@ -86068,7 +86564,8 @@ export type CustomElementsSolidJs = {
86068
86564
  * - `header`: The bar above a submenu, holding the way back and its name.
86069
86565
  * - `live`: A live region that repeats the empty and loading text, so screen readers announce it when it changes. Visually hidden in the styled tier.
86070
86566
  * - `loading`: The text shown while the items are loading.
86071
- * - `surface`: The floating panel the menu is drawn on.
86567
+ * - `search-field`: With `filterable`, the field that narrows the rows.
86568
+ * - `surface`: The floating panel the menu is drawn on. It is the `menu` itself, and with `filterable` it holds the filter field and then the `menu`.
86072
86569
  * - `title`: The name of the submenu that is showing.
86073
86570
  *
86074
86571
  * ## CSS States
@@ -87274,7 +87771,7 @@ export type CustomElementsSolidJs = {
87274
87771
  * and reading `:disabled` here would answer about the attribute we are in the
87275
87772
  * middle of removing.
87276
87773
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
87277
- * not.
87774
+ * not. The control shows no message for it: `reportValidity()` does that.
87278
87775
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
87279
87776
  * and shows the browser's message at the control.
87280
87777
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -87461,6 +87958,13 @@ export type CustomElementsSolidJs = {
87461
87958
  *
87462
87959
  * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
87463
87960
  *
87961
+ * ## Methods
87962
+ *
87963
+ * Methods that can be called to access component functionality.
87964
+ *
87965
+ * - `focus(options?: FocusOptions) => void`: Moves focus to the row the keys move from, or to the tree while that row
87966
+ * is scrolled out of the window, as Tab reaches them.
87967
+ *
87464
87968
  * ## CSS Custom Properties
87465
87969
  *
87466
87970
  * CSS variables available for styling the component.
@@ -88509,7 +89013,7 @@ export type CustomElementsSolidJs = {
88509
89013
  * and reading `:disabled` here would answer about the attribute we are in the
88510
89014
  * middle of removing.
88511
89015
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
88512
- * not.
89016
+ * not. The control shows no message for it: `reportValidity()` does that.
88513
89017
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
88514
89018
  * and shows the browser's message at the control.
88515
89019
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -88861,7 +89365,7 @@ export type CustomElementsSolidJs = {
88861
89365
  * and reading `:disabled` here would answer about the attribute we are in the
88862
89366
  * middle of removing.
88863
89367
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
88864
- * not.
89368
+ * not. The control shows no message for it: `reportValidity()` does that.
88865
89369
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
88866
89370
  * and shows the browser's message at the control.
88867
89371
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -89659,7 +90163,7 @@ export type CustomElementsSolidJs = {
89659
90163
  * and reading `:disabled` here would answer about the attribute we are in the
89660
90164
  * middle of removing.
89661
90165
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
89662
- * not.
90166
+ * not. The control shows no message for it: `reportValidity()` does that.
89663
90167
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
89664
90168
  * and shows the browser's message at the control.
89665
90169
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -90163,7 +90667,7 @@ export type CustomElementsSolidJs = {
90163
90667
  * and reading `:disabled` here would answer about the attribute we are in the
90164
90668
  * middle of removing.
90165
90669
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
90166
- * not.
90670
+ * not. The control shows no message for it: `reportValidity()` does that.
90167
90671
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
90168
90672
  * and shows the browser's message at the control.
90169
90673
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -90385,6 +90889,9 @@ export type CustomElementsSolidJs = {
90385
90889
  * preview do not reference each other, so you can replace either one or use it
90386
90890
  * alone.
90387
90891
  *
90892
+ * The preview runs an edit once typing has rested for `preview-delay`, 300
90893
+ * milliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.
90894
+ *
90388
90895
  * The event carries the pane's `name`, so one sandbox can hold several panes.
90389
90896
  * `html` sets the preview's markup, `css` sets its stylesheet, and `js` sets
90390
90897
  * a script that runs as a module after the markup. The sandbox ignores a pane
@@ -90409,6 +90916,16 @@ export type CustomElementsSolidJs = {
90409
90916
  * like `helix-sandbox-source`, and the sandbox reads its `value` to seed the
90410
90917
  * preview. Dispatch `helix-caret` from it too for the status bar's position.
90411
90918
  *
90919
+ * Sandbox is styled only and has behavior, as `Aura` is. Its behavior is the
90920
+ * hand-off from a source pane to a preview frame, which works with any pane
90921
+ * that sends `helix-before-edit`, and what it draws is the layout around them:
90922
+ * dividers, file tabs, and a panel. A page that wants another look slots its
90923
+ * own panes and keeps the hand-off, so there is nothing for a headless version
90924
+ * to hold.
90925
+ *
90926
+ * A development build warns about a source pane with no `label` and no `name`,
90927
+ * whose file tab would have no words.
90928
+ *
90412
90929
  * On a focused divider, the arrow keys move it, and `Home` and `End` move it
90413
90930
  * to its ends. `Enter` on the panes divider shuts the lead pane, and pressed
90414
90931
  * again it opens the pane where it was. `Enter` on the panel divider shuts the
@@ -90474,6 +90991,10 @@ export type CustomElementsSolidJs = {
90474
90991
  * gives.
90475
90992
  * - `panel-label`/`panelLabel`: The name of the panel's divider, read by screen readers.
90476
90993
  * - `panel-size`/`panelSize`: Height of the panel, in pixels.
90994
+ * - `preview-delay`/`previewDelay`: How long typing rests before the preview runs the new source, in
90995
+ * milliseconds, as Sandpack's `recompileDelay` does. The preview reloads its
90996
+ * frame on each run, so a word typed runs it once. `0` runs it on every
90997
+ * edit.
90477
90998
  * - `separator-label`/`separatorLabel`: The name of the divider between the panes, read by screen readers.
90478
90999
  * `{pane}` is the lead pane, `source` or `preview`, whose share the
90479
91000
  * divider's value is, so each is a whole sentence: "Resize source pane" or
@@ -90587,6 +91108,9 @@ export type CustomElementsSolidJs = {
90587
91108
  * Component attributes and properties that can be applied to the element or by using JavaScript.
90588
91109
  *
90589
91110
  * - `field-label`/`fieldLabel`: The editable region's name, read by screen readers.
91111
+ * - `field-name-label`/`fieldNameLabel`: The editable region's name where the pane has a `label`, so each file's
91112
+ * field says which file it holds. `{field}` is `field-label` and `{name}`
91113
+ * the pane's `label`.
90590
91114
  * - `keys-description`/`keysDescription`: The field's description, read by screen readers while Tab indents.
90591
91115
  * - `label`: The pane's file name, such as `index.html`, on its tab where a sandbox
90592
91116
  * holds several panes. Empty puts the pane's `name` on the tab.
@@ -91665,7 +92189,7 @@ export type CustomElementsSolidJs = {
91665
92189
  * and reading `:disabled` here would answer about the attribute we are in the
91666
92190
  * middle of removing.
91667
92191
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
91668
- * not.
92192
+ * not. The control shows no message for it: `reportValidity()` does that.
91669
92193
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
91670
92194
  * and shows the browser's message at the control.
91671
92195
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -92173,7 +92697,7 @@ export type CustomElementsSolidJs = {
92173
92697
  * and reading `:disabled` here would answer about the attribute we are in the
92174
92698
  * middle of removing.
92175
92699
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
92176
- * not.
92700
+ * not. The control shows no message for it: `reportValidity()` does that.
92177
92701
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
92178
92702
  * and shows the browser's message at the control.
92179
92703
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -93887,7 +94411,7 @@ export type CustomElementsSolidJs = {
93887
94411
  * and reading `:disabled` here would answer about the attribute we are in the
93888
94412
  * middle of removing.
93889
94413
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
93890
- * not.
94414
+ * not. The control shows no message for it: `reportValidity()` does that.
93891
94415
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
93892
94416
  * and shows the browser's message at the control.
93893
94417
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -94315,6 +94839,14 @@ export type CustomElementsSolidJs = {
94315
94839
  * order has its whole sentence. `{order}` is the deprecated
94316
94840
  * `ascending-label` or `descending-label`.
94317
94841
  * - `unsorted-label`/`unsortedLabel`: What screen readers hear when the table stops being sorted.
94842
+ * - `windowed`: Draws only the rows in view, with empty space in place of the rest, as
94843
+ * Data Table's `windowed` does. The table's box then scrolls, at the
94844
+ * height `--table-block-size` gives it in the styled tier, and the
94845
+ * headings stick to its top.
94846
+ *
94847
+ * Off by default. Windowing costs a scroll listener, a measurement per row
94848
+ * drawn, and a height on the table, and a table of twenty rows should pay
94849
+ * none of them.
94318
94850
  * - `tableColumns`: The columns declared as children, in the order they are written. (property only) (readonly)
94319
94851
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
94320
94852
  *
@@ -94373,6 +94905,7 @@ export type CustomElementsSolidJs = {
94373
94905
  *
94374
94906
  * CSS variables available for styling the component.
94375
94907
  *
94908
+ * - `--table-block-size`: How tall the table's box is while `windowed`, when it scrolls its rows. 24em by default.
94376
94909
  * - `--table-columns`: Track list for the columns. It overrides the track list worked out from the columns.
94377
94910
  * - `--table-drag-preview-background-color`: The fill behind the copy of a row a pointer drags.
94378
94911
  * - `--table-drag-preview-border-color`: The color of the edge around the copy of a row a pointer drags.
@@ -94381,6 +94914,7 @@ export type CustomElementsSolidJs = {
94381
94914
  * - `--table-drag-preview-radius`: The corner radius of the copy of a row a pointer drags.
94382
94915
  * - `--table-drag-preview-shadow`: The shadow that raises the copy of a row a pointer drags over the page.
94383
94916
  * - `--table-error-color`: The color of the words in the line shown while `error-text` is set.
94917
+ * - `--table-heading-background-color`: The fill behind the headings while `windowed`, which the rows scroll under. The page's background by default.
94384
94918
  * - `--table-title-color`: The color of the words in the `heading` slot.
94385
94919
  * - `--table-title-gap`: The space between the `heading` slot and the grid.
94386
94920
  * - `--table-title-text`: The font size of the words in the `heading` slot.
@@ -94390,6 +94924,8 @@ export type CustomElementsSolidJs = {
94390
94924
  *
94391
94925
  * Custom selectors for styling elements within the component.
94392
94926
  *
94927
+ * - `after`: The space that stands in for the rows below the window. Only while `windowed`.
94928
+ * - `before`: The space that stands in for the rows above the window. Only while `windowed`.
94393
94929
  * - `drag-preview`: A copy of the row a pointer drags by its grip, which follows the pointer in the top layer until the row is let go, in a `reorderable` table. Hidden from assistive technology.
94394
94930
  * - `live`: A live region that repeats the empty and loading text, and says each step of a move, so screen readers announce it when it changes. Visually hidden in the styled tier.
94395
94931
  * - `table`: The grid.
@@ -95520,7 +96056,7 @@ export type CustomElementsSolidJs = {
95520
96056
  * and reading `:disabled` here would answer about the attribute we are in the
95521
96057
  * middle of removing.
95522
96058
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
95523
- * not.
96059
+ * not. The control shows no message for it: `reportValidity()` does that.
95524
96060
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
95525
96061
  * and shows the browser's message at the control.
95526
96062
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -95882,7 +96418,7 @@ export type CustomElementsSolidJs = {
95882
96418
  * and reading `:disabled` here would answer about the attribute we are in the
95883
96419
  * middle of removing.
95884
96420
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
95885
- * not.
96421
+ * not. The control shows no message for it: `reportValidity()` does that.
95886
96422
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
95887
96423
  * and shows the browser's message at the control.
95888
96424
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -95943,6 +96479,7 @@ export type CustomElementsSolidJs = {
95943
96479
  * - `picker-list-loading`: The text shown while the options load.
95944
96480
  * - `picker-list-search`: The region that holds the filter field.
95945
96481
  * - `picker-list-search-field`: The filter field.
96482
+ * - `picker-now`: The picker's button that chooses the current time, which Time Input does not draw.
95946
96483
  * - `picker-option`: One time in the picker. Carries `data-between` inside a range.
95947
96484
  * - `picker-option-between`: A time inside a chosen range, between its two ends. Set together with `picker-option`.
95948
96485
  * - `picker-option-description`: The caption under the label, when there is one.
@@ -96092,6 +96629,8 @@ export type CustomElementsSolidJs = {
96092
96629
  * and a wheel has exactly one value by construction. Rather than draw
96093
96630
  * something that cannot say what it holds, `wheels` renders as a list
96094
96631
  * whenever a mode is set.
96632
+ * - `now-label`/`nowLabel`: The words on the button that chooses the current time, drawn with
96633
+ * `show-now`.
96095
96634
  * - `range-overflow-message`/`rangeOverflowMessage`: The validation message for a time after `max`. `{max}` is replaced with
96096
96635
  * `max`, written in `locale`.
96097
96636
  * - `range-underflow-message`/`rangeUnderflowMessage`: The validation message for a time before `min`. `{min}` is replaced with
@@ -96119,6 +96658,13 @@ export type CustomElementsSolidJs = {
96119
96658
  * `<input type="time">` counts in. A list at a step of one second is 86,400
96120
96659
  * rows, so give `seconds` a `step` and bounds that keep it a list, or use
96121
96660
  * the wheels.
96661
+ * - `show-now`/`showNow`: Draws a button under the times that chooses the current time, as
96662
+ * `selectNow()` does.
96663
+ *
96664
+ * For a form about something happening now, such as a shift starting or a
96665
+ * dose taken, where the reader would otherwise scroll to the time on the
96666
+ * clock. The button is a tab stop after the times, and its words are
96667
+ * `now-label`.
96122
96668
  * - `step`: How far apart the offered times are, in minutes, or in seconds with
96123
96669
  * `seconds`.
96124
96670
  *
@@ -96249,6 +96795,14 @@ export type CustomElementsSolidJs = {
96249
96795
  * Falling back to what the markup declared rather than to empty, because
96250
96796
  * a restore with no state is a form the browser has nothing recorded for,
96251
96797
  * which is the same situation as a fresh one.
96798
+ * - `selectNow() => boolean`: Chooses the current time, as a press on the `show-now` button does, and
96799
+ * returns whether the value changed.
96800
+ *
96801
+ * The time is read off the reader's clock and moved to the nearest time on
96802
+ * offer that is not barred, so it falls on the `step` and inside `min` and
96803
+ * `max`. It is requested as a pick is, so `helix-before-change` can cancel
96804
+ * it. With a `mode` the time joins the times held, and a range that holds
96805
+ * two starts over from it, as a third pick does.
96252
96806
  * - `reveal() => void`: Scrolls each wheel to its selected value, and the list to its selected
96253
96807
  * time.
96254
96808
  *
@@ -96308,7 +96862,7 @@ export type CustomElementsSolidJs = {
96308
96862
  * and reading `:disabled` here would answer about the attribute we are in the
96309
96863
  * middle of removing.
96310
96864
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
96311
- * not.
96865
+ * not. The control shows no message for it: `reportValidity()` does that.
96312
96866
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
96313
96867
  * and shows the browser's message at the control.
96314
96868
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -96324,6 +96878,7 @@ export type CustomElementsSolidJs = {
96324
96878
  * - `--time-picker-invalid-color`: The ring around the chosen time, or around the times while nothing is chosen, while the picker is invalid.
96325
96879
  * - `--time-picker-list-block-size`: How tall the list is before it scrolls.
96326
96880
  * - `--time-picker-mark-radius`: The corners of the mark on a wheel's row.
96881
+ * - `--time-picker-now-color`: The ink of the button that chooses the current time, with `show-now`.
96327
96882
  * - `--time-picker-range-color`: Fill behind the times inside a range.
96328
96883
  * - `--time-picker-row-size`: Height and minimum width of one row in a wheel.
96329
96884
  * - `--time-picker-selected-color`: Fill on the chosen row of a wheel.
@@ -96365,6 +96920,7 @@ export type CustomElementsSolidJs = {
96365
96920
  * - `list-loading`: The text shown while the options load.
96366
96921
  * - `list-search`: The region that holds the filter field.
96367
96922
  * - `list-search-field`: The filter field.
96923
+ * - `now`: The button that chooses the current time, drawn with `show-now`.
96368
96924
  * - `option`: One time in the list. It carries `data-between` inside a range, and inside the run to the time under the pointer while a range waits for its second end.
96369
96925
  * - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
96370
96926
  * - `option-description`: The caption under the time's label, when there is one.
@@ -97129,7 +97685,7 @@ export type CustomElementsSolidJs = {
97129
97685
  * and reading `:disabled` here would answer about the attribute we are in the
97130
97686
  * middle of removing.
97131
97687
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
97132
- * not.
97688
+ * not. The control shows no message for it: `reportValidity()` does that.
97133
97689
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
97134
97690
  * and shows the browser's message at the control.
97135
97691
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -98681,6 +99237,7 @@ export type CustomElementsSolidJs = {
98681
99237
  * - `menu-header`: The bar above a submenu, holding the back button and the submenu's name.
98682
99238
  * - `menu-live`: The inner menu's `live` part, the region screen readers announce its empty and loading messages from.
98683
99239
  * - `menu-loading`: Shown while the items are loading.
99240
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
98684
99241
  * - `menu-surface`: The floating panel the menu is drawn on.
98685
99242
  * - `menu-title`: The name of the submenu that is shown.
98686
99243
  * - `poster`: An entry's poster image, if it has one.
@@ -99222,6 +99779,7 @@ export type CustomElementsSolidJs = {
99222
99779
  * - `captions-menu-header`: The bar above a submenu, holding the way back and its name.
99223
99780
  * - `captions-menu-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
99224
99781
  * - `captions-menu-loading`: The text shown while the items are loading.
99782
+ * - `captions-menu-search-field`: The inner menu's filter field, drawn with `filterable`.
99225
99783
  * - `captions-menu-surface`: The floating panel the menu is drawn on.
99226
99784
  * - `captions-menu-title`: The name of the submenu that is showing.
99227
99785
  * - `controls`: The control bar along the bottom.
@@ -99253,6 +99811,7 @@ export type CustomElementsSolidJs = {
99253
99811
  * - `overflow-header`: The bar above a submenu, holding the way back and its name.
99254
99812
  * - `overflow-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
99255
99813
  * - `overflow-loading`: The text shown while the items are loading.
99814
+ * - `overflow-search-field`: The inner menu's filter field, drawn with `filterable`.
99256
99815
  * - `overflow-surface`: The floating panel the menu is drawn on.
99257
99816
  * - `overflow-title`: The name of the submenu that is showing.
99258
99817
  * - `pip`: The picture-in-picture button, when `extra-controls` includes it and the browser supports it.
@@ -99348,6 +99907,15 @@ export type CustomElementsSolidJs = {
99348
99907
  * - `min-column-width`/`minColumnWidth`: The narrowest a column of a grid may be, in pixels. Set, the list lays
99349
99908
  * out as many columns as fit the box at that width, at least one, and
99350
99909
  * follows the box as it resizes, which `columns` then does not decide.
99910
+ * - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
99911
+ * and scrolls it sideways: Left and Right move between items, the other
99912
+ * way round on a right-to-left page, and `estimate` is an item's width. A
99913
+ * grid always runs down.
99914
+ * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
99915
+ * keys. Set, the items are drawn in sections: a header, then the items, in
99916
+ * an element with the `group` role that the header names. A section starts
99917
+ * wherever the field changes, so give the items in order. A list of one
99918
+ * column only.
99351
99919
  * - `selection-behavior`/`selectionBehavior`: What a press does to the items already chosen: `toggle` adds or takes out
99352
99920
  * the item, and `replace` selects it alone and lets the arrow keys carry the
99353
99921
  * selection, with Control or Command adding or taking out one item.
@@ -99371,6 +99939,9 @@ export type CustomElementsSolidJs = {
99371
99939
  * It returns what Lit renders: a template from `html`, a string, or a DOM
99372
99940
  * node. The list wraps each result in a `<div>` that carries the row's role
99373
99941
  * and place in the set. Where it is unset, the row `<template>` is used. (property only)
99942
+ * - `renderSection`: Draws each section's header, given its name and its place among the
99943
+ * sections, for a list given `section-field`. Set it as a property. Where
99944
+ * it is unset, the header is the name as text. (property only)
99374
99945
  * - `range`: The items on screen, as `items.slice(first, last)` reads them.
99375
99946
  *
99376
99947
  * Read from the scroll offset when asked. Both are 0 before the list has a
@@ -99427,7 +99998,7 @@ export type CustomElementsSolidJs = {
99427
99998
  *
99428
99999
  * CSS variables available for styling the component.
99429
100000
  *
99430
- * - `--virtual-list-block-size`: How tall the scrolling box is.
100001
+ * - `--virtual-list-block-size`: How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it.
99431
100002
  * - `--virtual-list-disabled-opacity`: How faint a row `disabled-keys` names is drawn.
99432
100003
  * - `--virtual-list-empty-color`: The color of the text in the row shown when there are no items.
99433
100004
  * - `--virtual-list-empty-padding`: The space around the text in the row shown when there are no items.
@@ -99454,6 +100025,7 @@ export type CustomElementsSolidJs = {
99454
100025
  * These can be used to apply styling when a component is in a given state.
99455
100026
  *
99456
100027
  * - `empty`: While the list has read its items and holds none.
100028
+ * - `horizontal`: While the list runs across, with `orientation="horizontal"`.
99457
100029
  * - `loading`: While `loading` is set.
99458
100030
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
99459
100031
  */
@@ -101490,6 +102062,8 @@ export type CustomCssProperties = {
101490
102062
  "--switch-thumb-color"?: (string) | undefined;
101491
102063
  /** The text alignment of the column above the cell: `start`, `center`, or `end`, and unset when the column sets none. The table writes it, and the stylesheet that draws the cell reads it for `justify-content` and `text-align`, which both follow the writing direction. */
101492
102064
  "--table-cell-align"?: (string) | undefined;
102065
+ /** How tall the table's box is while `windowed`, when it scrolls its rows. 24em by default. */
102066
+ "--table-block-size"?: (string) | undefined;
101493
102067
  /** Track list for the columns. It overrides the track list worked out from the columns. */
101494
102068
  "--table-columns"?: (string) | undefined;
101495
102069
  /** The fill behind the copy of a row a pointer drags. */
@@ -101506,6 +102080,8 @@ export type CustomCssProperties = {
101506
102080
  "--table-drag-preview-shadow"?: (string) | undefined;
101507
102081
  /** The color of the words in the line shown while `error-text` is set. */
101508
102082
  "--table-error-color"?: (string) | undefined;
102083
+ /** The fill behind the headings while `windowed`, which the rows scroll under. The page's background by default. */
102084
+ "--table-heading-background-color"?: (string) | undefined;
101509
102085
  /** The color of the words in the `heading` slot. */
101510
102086
  "--table-title-color"?: (string) | undefined;
101511
102087
  /** The space between the `heading` slot and the grid. */
@@ -101638,6 +102214,8 @@ export type CustomCssProperties = {
101638
102214
  "--time-picker-list-block-size"?: (string) | undefined;
101639
102215
  /** The corners of the mark on a wheel's row. */
101640
102216
  "--time-picker-mark-radius"?: (string) | undefined;
102217
+ /** The ink of the button that chooses the current time, with `show-now`. */
102218
+ "--time-picker-now-color"?: (string) | undefined;
101641
102219
  /** Fill behind the times inside a range. */
101642
102220
  "--time-picker-range-color"?: (string) | undefined;
101643
102221
  /** Height and minimum width of one row in a wheel. */
@@ -101924,7 +102502,7 @@ export type CustomCssProperties = {
101924
102502
  "--video-level"?: (string) | undefined;
101925
102503
  /** How far playback has reached, as a fraction of the duration. */
101926
102504
  "--video-progress"?: (string) | undefined;
101927
- /** How tall the scrolling box is. */
102505
+ /** How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it. */
101928
102506
  "--virtual-list-block-size"?: (string) | undefined;
101929
102507
  /** How faint a row `disabled-keys` names is drawn. */
101930
102508
  "--virtual-list-disabled-opacity"?: (string) | undefined;