@fusion.dev/helix-headless 0.166.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 (38) hide show
  1. package/custom-elements.json +2658 -481
  2. package/dist/canvas/arrange.d.ts +32 -0
  3. package/dist/canvas/arrange.js +144 -0
  4. package/dist/canvas/paste.d.ts +25 -0
  5. package/dist/canvas/paste.js +58 -0
  6. package/dist/canvas/root/canvas-root.d.ts +60 -3
  7. package/dist/canvas/root/canvas-root.js +166 -2
  8. package/dist/chat/composer/chat-composer.js +5 -1
  9. package/dist/combobox/root/combobox-root.d.ts +6 -1
  10. package/dist/combobox/root/combobox-root.js +2 -2
  11. package/dist/date-input/root/date-input-root.d.ts +1 -1
  12. package/dist/element-events.generated.js +2 -0
  13. package/dist/file-input/root/file-input-root.d.ts +1 -1
  14. package/dist/file-input/root/file-input-root.js +1 -1
  15. package/dist/format-date/root/format-date-root.d.ts +10 -3
  16. package/dist/format-date/root/format-date-root.js +6 -1
  17. package/dist/listbox/root/listbox-root.d.ts +12 -1
  18. package/dist/listbox/root/listbox-root.js +13 -1
  19. package/dist/select/root/select-root.js +1 -1
  20. package/dist/table/grid-controller.d.ts +10 -0
  21. package/dist/table/grid-controller.js +7 -0
  22. package/dist/table/root/table-root.d.ts +71 -1
  23. package/dist/table/root/table-root.js +122 -7
  24. package/dist/table/row/table-row.d.ts +17 -0
  25. package/dist/table/row/table-row.js +23 -0
  26. package/dist/time-input/root/time-input-root.d.ts +2 -1
  27. package/dist/time-input/root/time-input-root.js +1 -1
  28. package/dist/time-picker/root/time-picker-root.d.ts +48 -1
  29. package/dist/time-picker/root/time-picker-root.js +79 -21
  30. package/dist/virtual-list/root/virtual-list-root.d.ts +70 -2
  31. package/dist/virtual-list/root/virtual-list-root.js +216 -32
  32. package/dist/virtual-list/sections.d.ts +27 -0
  33. package/dist/virtual-list/sections.js +43 -0
  34. package/lint.json +1 -1
  35. package/package.json +5 -5
  36. package/types/jsx.d.ts +454 -76
  37. package/types/vue.d.ts +89 -7
  38. package/types/words.d.ts +27 -0
package/types/jsx.d.ts CHANGED
@@ -8,6 +8,7 @@ import type {
8
8
  HelixBeforeCollapseEvent,
9
9
  HelixBeforeMoveEvent,
10
10
  HelixBeforeOpenEvent,
11
+ HelixBeforePasteEvent,
11
12
  HelixBeforePinEvent,
12
13
  HelixBeforeReconnectEvent,
13
14
  HelixBeforeRelabelEvent,
@@ -201,6 +202,7 @@ import type {
201
202
  HelixMoveEvent,
202
203
  HelixNavigateEvent,
203
204
  HelixNextEvent,
205
+ HelixPastedEvent,
204
206
  HelixPinEvent,
205
207
  HelixPressEvent,
206
208
  HelixPreviewEvent,
@@ -3335,6 +3337,9 @@ export type HelixHeadlessCanvasElementEvent<E = Event> = TypedEvent<
3335
3337
  /** `helix-before-move` event type */
3336
3338
  export type HelixHeadlessCanvasHelixBeforeMoveElementEvent =
3337
3339
  HelixHeadlessCanvasElementEvent<HelixBeforeMoveEvent>;
3340
+ /** `helix-before-paste` event type */
3341
+ export type HelixHeadlessCanvasHelixBeforePasteElementEvent =
3342
+ HelixHeadlessCanvasElementEvent<HelixBeforePasteEvent>;
3338
3343
  /** `helix-before-reconnect` event type */
3339
3344
  export type HelixHeadlessCanvasHelixBeforeReconnectElementEvent =
3340
3345
  HelixHeadlessCanvasElementEvent<HelixBeforeReconnectEvent>;
@@ -3359,6 +3364,9 @@ export type HelixHeadlessCanvasHelixConnectElementEvent =
3359
3364
  /** `helix-move` event type */
3360
3365
  export type HelixHeadlessCanvasHelixMoveElementEvent =
3361
3366
  HelixHeadlessCanvasElementEvent<HelixMoveEvent>;
3367
+ /** `helix-pasted` event type */
3368
+ export type HelixHeadlessCanvasHelixPastedElementEvent =
3369
+ HelixHeadlessCanvasElementEvent<HelixPastedEvent>;
3362
3370
  /** `helix-reconnect` event type */
3363
3371
  export type HelixHeadlessCanvasHelixReconnectElementEvent =
3364
3372
  HelixHeadlessCanvasElementEvent<HelixReconnectEvent>;
@@ -3379,6 +3387,10 @@ export type HelixHeadlessCanvasProps = {
3379
3387
  /** The hint shown when the board, waiting to be pressed with
3380
3388
  `gestures="activate"`, is scrolled or swiped over. */
3381
3389
  activateHintLabel?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
3390
+ /** What screen readers hear after `arrange()` moves the cards. */
3391
+ "arranged-label"?: (HelixHeadlessCanvas["arrangedLabel"]) | undefined;
3392
+ /** What screen readers hear after `arrange()` moves the cards. */
3393
+ arrangedLabel?: (HelixHeadlessCanvas["arrangedLabel"]) | undefined;
3382
3394
  /** The text read with a card to say where its connections come from, with `{cards}`. */
3383
3395
  "comes-from-label"?: (HelixHeadlessCanvas["comesFromLabel"]) | undefined;
3384
3396
  /** The text read with a card to say where its connections come from, with `{cards}`. */
@@ -3477,6 +3489,10 @@ on a board that is a flow is the order its author meant.
3477
3489
  Absent is spatial, a resting value being an attribute's absence: a default
3478
3490
  that reflected would write a choice onto every host that no server sent. */
3479
3491
  order?: (HelixHeadlessCanvas["order"]) | undefined;
3492
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
3493
+ "pasted-label"?: (HelixHeadlessCanvas["pastedLabel"]) | undefined;
3494
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
3495
+ pastedLabel?: (HelixHeadlessCanvas["pastedLabel"]) | undefined;
3480
3496
  /** The route every connection takes when it sets no `path` of its own:
3481
3497
  `straight`, or `step` for right angles.
3482
3498
 
@@ -3510,6 +3526,14 @@ walk the cards. */
3510
3526
  "redone-label"?: (HelixHeadlessCanvas["redoneLabel"]) | undefined;
3511
3527
  /** What screen readers hear after a move or a resize is made again. */
3512
3528
  redoneLabel?: (HelixHeadlessCanvas["redoneLabel"]) | undefined;
3529
+ /** What screen readers hear when Delete asks to remove what is selected, with
3530
+ `{count}` for how many cards and connections, and `{name}` for the one
3531
+ where there is one. */
3532
+ "removed-label"?: (HelixHeadlessCanvas["removedLabel"]) | undefined;
3533
+ /** What screen readers hear when Delete asks to remove what is selected, with
3534
+ `{count}` for how many cards and connections, and `{name}` for the one
3535
+ where there is one. */
3536
+ removedLabel?: (HelixHeadlessCanvas["removedLabel"]) | undefined;
3513
3537
  /** What screen readers hear after a key resizes a card, with `{name}` for the
3514
3538
  card and `{width}` and `{height}` for its new size, in the document's
3515
3539
  units. */
@@ -3787,6 +3811,10 @@ it rather than fitting the board again. */
3787
3811
  "onhelix-before-move"?: ((
3788
3812
  e: HelixHeadlessCanvasHelixBeforeMoveElementEvent,
3789
3813
  ) => void) | undefined;
3814
+ /** Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state. */
3815
+ "onhelix-before-paste"?: ((
3816
+ e: HelixHeadlessCanvasHelixBeforePasteElementEvent,
3817
+ ) => void) | undefined;
3790
3818
  /** A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state. */
3791
3819
  "onhelix-before-reconnect"?: ((
3792
3820
  e: HelixHeadlessCanvasHelixBeforeReconnectElementEvent,
@@ -3815,6 +3843,8 @@ it rather than fitting the board again. */
3815
3843
  "onhelix-connect"?: ((e: HelixHeadlessCanvasHelixConnectElementEvent) => void) | undefined;
3816
3844
  /** Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed. */
3817
3845
  "onhelix-move"?: ((e: HelixHeadlessCanvasHelixMoveElementEvent) => void) | undefined;
3846
+ /** Cards and connections were pasted, and the board holds them. */
3847
+ "onhelix-pasted"?: ((e: HelixHeadlessCanvasHelixPastedElementEvent) => void) | undefined;
3818
3848
  /** A connection's end moved, and the move is finished. */
3819
3849
  "onhelix-reconnect"?: ((
3820
3850
  e: HelixHeadlessCanvasHelixReconnectElementEvent,
@@ -3834,6 +3864,10 @@ export type HelixHeadlessCanvasSolidJsProps = {
3834
3864
  /** The hint shown when the board, waiting to be pressed with
3835
3865
  `gestures="activate"`, is scrolled or swiped over. */
3836
3866
  "prop:activateHintLabel"?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
3867
+ /** What screen readers hear after `arrange()` moves the cards. */
3868
+ "attr:arranged-label"?: (HelixHeadlessCanvas["arrangedLabel"]) | undefined;
3869
+ /** What screen readers hear after `arrange()` moves the cards. */
3870
+ "prop:arrangedLabel"?: (HelixHeadlessCanvas["arrangedLabel"]) | undefined;
3837
3871
  /** The text read with a card to say where its connections come from, with `{cards}`. */
3838
3872
  "attr:comes-from-label"?: (HelixHeadlessCanvas["comesFromLabel"]) | undefined;
3839
3873
  /** The text read with a card to say where its connections come from, with `{cards}`. */
@@ -3932,6 +3966,10 @@ on a board that is a flow is the order its author meant.
3932
3966
  Absent is spatial, a resting value being an attribute's absence: a default
3933
3967
  that reflected would write a choice onto every host that no server sent. */
3934
3968
  "prop:order"?: (HelixHeadlessCanvas["order"]) | undefined;
3969
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
3970
+ "attr:pasted-label"?: (HelixHeadlessCanvas["pastedLabel"]) | undefined;
3971
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
3972
+ "prop:pastedLabel"?: (HelixHeadlessCanvas["pastedLabel"]) | undefined;
3935
3973
  /** The route every connection takes when it sets no `path` of its own:
3936
3974
  `straight`, or `step` for right angles.
3937
3975
 
@@ -3965,6 +4003,14 @@ walk the cards. */
3965
4003
  "attr:redone-label"?: (HelixHeadlessCanvas["redoneLabel"]) | undefined;
3966
4004
  /** What screen readers hear after a move or a resize is made again. */
3967
4005
  "prop:redoneLabel"?: (HelixHeadlessCanvas["redoneLabel"]) | undefined;
4006
+ /** What screen readers hear when Delete asks to remove what is selected, with
4007
+ `{count}` for how many cards and connections, and `{name}` for the one
4008
+ where there is one. */
4009
+ "attr:removed-label"?: (HelixHeadlessCanvas["removedLabel"]) | undefined;
4010
+ /** What screen readers hear when Delete asks to remove what is selected, with
4011
+ `{count}` for how many cards and connections, and `{name}` for the one
4012
+ where there is one. */
4013
+ "prop:removedLabel"?: (HelixHeadlessCanvas["removedLabel"]) | undefined;
3968
4014
  /** What screen readers hear after a key resizes a card, with `{name}` for the
3969
4015
  card and `{width}` and `{height}` for its new size, in the document's
3970
4016
  units. */
@@ -4241,6 +4287,10 @@ it rather than fitting the board again. */
4241
4287
  "on:helix-before-move"?: ((
4242
4288
  e: HelixHeadlessCanvasHelixBeforeMoveElementEvent,
4243
4289
  ) => void) | undefined;
4290
+ /** Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state. */
4291
+ "on:helix-before-paste"?: ((
4292
+ e: HelixHeadlessCanvasHelixBeforePasteElementEvent,
4293
+ ) => void) | undefined;
4244
4294
  /** A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state. */
4245
4295
  "on:helix-before-reconnect"?: ((
4246
4296
  e: HelixHeadlessCanvasHelixBeforeReconnectElementEvent,
@@ -4269,6 +4319,8 @@ it rather than fitting the board again. */
4269
4319
  "on:helix-connect"?: ((e: HelixHeadlessCanvasHelixConnectElementEvent) => void) | undefined;
4270
4320
  /** Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed. */
4271
4321
  "on:helix-move"?: ((e: HelixHeadlessCanvasHelixMoveElementEvent) => void) | undefined;
4322
+ /** Cards and connections were pasted, and the board holds them. */
4323
+ "on:helix-pasted"?: ((e: HelixHeadlessCanvasHelixPastedElementEvent) => void) | undefined;
4272
4324
  /** A connection's end moved, and the move is finished. */
4273
4325
  "on:helix-reconnect"?: ((
4274
4326
  e: HelixHeadlessCanvasHelixReconnectElementEvent,
@@ -14212,7 +14264,8 @@ such as `buddhist` for `th-TH`, and `gregory` for every other, such as
14212
14264
  `persian` for `fa-IR`, so a date written here reads as the same date a
14213
14265
  Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
14214
14266
  calendar?: (HelixHeadlessFormatDate["calendar"]) | undefined;
14215
- /** The timestamp, in any format `Date` can parse.
14267
+ /** The timestamp: a `Date`, milliseconds since the epoch, or a string in any
14268
+ format `Date` can parse. The attribute is the string.
14216
14269
 
14217
14270
  An ISO string is what an API sends and what `<time datetime>` takes, so it
14218
14271
  is the shape that needs no translation at either end. Left unset this
@@ -14356,7 +14409,8 @@ such as `buddhist` for `th-TH`, and `gregory` for every other, such as
14356
14409
  `persian` for `fa-IR`, so a date written here reads as the same date a
14357
14410
  Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
14358
14411
  "prop:calendar"?: (HelixHeadlessFormatDate["calendar"]) | undefined;
14359
- /** The timestamp, in any format `Date` can parse.
14412
+ /** The timestamp: a `Date`, milliseconds since the epoch, or a string in any
14413
+ format `Date` can parse. The attribute is the string.
14360
14414
 
14361
14415
  An ISO string is what an API sends and what `<time datetime>` takes, so it
14362
14416
  is the shape that needs no translation at either end. Left unset this
@@ -29513,6 +29567,15 @@ order has its whole sentence. `{order}` is the deprecated
29513
29567
  "unsorted-label"?: (HelixHeadlessTable["unsortedLabel"]) | undefined;
29514
29568
  /** What screen readers hear when the table stops being sorted. */
29515
29569
  unsortedLabel?: (HelixHeadlessTable["unsortedLabel"]) | undefined;
29570
+ /** Draws only the rows in view, with empty space in place of the rest, as
29571
+ Data Table's `windowed` does. The table's box then scrolls, at the
29572
+ height `--table-block-size` gives it in the styled tier, and the
29573
+ headings stick to its top.
29574
+
29575
+ Off by default. Windowing costs a scroll listener, a measurement per row
29576
+ drawn, and a height on the table, and a table of twenty rows should pay
29577
+ none of them. */
29578
+ windowed?: (HelixHeadlessTable["windowed"]) | undefined;
29516
29579
  /** The text shown and announced when there are no rows and none are loading. */
29517
29580
  "empty-text"?: (HelixHeadlessTable["emptyText"]) | undefined;
29518
29581
  /** The text shown and announced when there are no rows and none are loading. */
@@ -29769,6 +29832,15 @@ order has its whole sentence. `{order}` is the deprecated
29769
29832
  "attr:unsorted-label"?: (HelixHeadlessTable["unsortedLabel"]) | undefined;
29770
29833
  /** What screen readers hear when the table stops being sorted. */
29771
29834
  "prop:unsortedLabel"?: (HelixHeadlessTable["unsortedLabel"]) | undefined;
29835
+ /** Draws only the rows in view, with empty space in place of the rest, as
29836
+ Data Table's `windowed` does. The table's box then scrolls, at the
29837
+ height `--table-block-size` gives it in the styled tier, and the
29838
+ headings stick to its top.
29839
+
29840
+ Off by default. Windowing costs a scroll listener, a measurement per row
29841
+ drawn, and a height on the table, and a table of twenty rows should pay
29842
+ none of them. */
29843
+ "prop:windowed"?: (HelixHeadlessTable["windowed"]) | undefined;
29772
29844
  /** The text shown and announced when there are no rows and none are loading. */
29773
29845
  "attr:empty-text"?: (HelixHeadlessTable["emptyText"]) | undefined;
29774
29846
  /** The text shown and announced when there are no rows and none are loading. */
@@ -31850,6 +31922,12 @@ and a wheel has exactly one value by construction. Rather than draw
31850
31922
  something that cannot say what it holds, `wheels` renders as a list
31851
31923
  whenever a mode is set. */
31852
31924
  mode?: (HelixHeadlessTimePicker["mode"]) | undefined;
31925
+ /** The words on the button that chooses the current time, drawn with
31926
+ `show-now`. */
31927
+ "now-label"?: (HelixHeadlessTimePicker["nowLabel"]) | undefined;
31928
+ /** The words on the button that chooses the current time, drawn with
31929
+ `show-now`. */
31930
+ nowLabel?: (HelixHeadlessTimePicker["nowLabel"]) | undefined;
31853
31931
  /** The validation message for a time after `max`. `{max}` is replaced with
31854
31932
  `max`, written in `locale`. */
31855
31933
  "range-overflow-message"?: (HelixHeadlessTimePicker["rangeOverflowMessage"]) | undefined;
@@ -31906,6 +31984,22 @@ wheels take a column of seconds, and `step` counts seconds, the unit
31906
31984
  rows, so give `seconds` a `step` and bounds that keep it a list, or use
31907
31985
  the wheels. */
31908
31986
  seconds?: (HelixHeadlessTimePicker["seconds"]) | undefined;
31987
+ /** Draws a button under the times that chooses the current time, as
31988
+ `selectNow()` does.
31989
+
31990
+ For a form about something happening now, such as a shift starting or a
31991
+ dose taken, where the reader would otherwise scroll to the time on the
31992
+ clock. The button is a tab stop after the times, and its words are
31993
+ `now-label`. */
31994
+ "show-now"?: (HelixHeadlessTimePicker["showNow"]) | undefined;
31995
+ /** Draws a button under the times that chooses the current time, as
31996
+ `selectNow()` does.
31997
+
31998
+ For a form about something happening now, such as a shift starting or a
31999
+ dose taken, where the reader would otherwise scroll to the time on the
32000
+ clock. The button is a tab stop after the times, and its words are
32001
+ `now-label`. */
32002
+ showNow?: (HelixHeadlessTimePicker["showNow"]) | undefined;
31909
32003
  /** How far apart the offered times are, in minutes, or in seconds with
31910
32004
  `seconds`.
31911
32005
 
@@ -32164,6 +32258,12 @@ and a wheel has exactly one value by construction. Rather than draw
32164
32258
  something that cannot say what it holds, `wheels` renders as a list
32165
32259
  whenever a mode is set. */
32166
32260
  "prop:mode"?: (HelixHeadlessTimePicker["mode"]) | undefined;
32261
+ /** The words on the button that chooses the current time, drawn with
32262
+ `show-now`. */
32263
+ "attr:now-label"?: (HelixHeadlessTimePicker["nowLabel"]) | undefined;
32264
+ /** The words on the button that chooses the current time, drawn with
32265
+ `show-now`. */
32266
+ "prop:nowLabel"?: (HelixHeadlessTimePicker["nowLabel"]) | undefined;
32167
32267
  /** The validation message for a time after `max`. `{max}` is replaced with
32168
32268
  `max`, written in `locale`. */
32169
32269
  "attr:range-overflow-message"?: (HelixHeadlessTimePicker["rangeOverflowMessage"]) | undefined;
@@ -32220,6 +32320,22 @@ wheels take a column of seconds, and `step` counts seconds, the unit
32220
32320
  rows, so give `seconds` a `step` and bounds that keep it a list, or use
32221
32321
  the wheels. */
32222
32322
  "prop:seconds"?: (HelixHeadlessTimePicker["seconds"]) | undefined;
32323
+ /** Draws a button under the times that chooses the current time, as
32324
+ `selectNow()` does.
32325
+
32326
+ For a form about something happening now, such as a shift starting or a
32327
+ dose taken, where the reader would otherwise scroll to the time on the
32328
+ clock. The button is a tab stop after the times, and its words are
32329
+ `now-label`. */
32330
+ "bool:show-now"?: (HelixHeadlessTimePicker["showNow"]) | undefined;
32331
+ /** Draws a button under the times that chooses the current time, as
32332
+ `selectNow()` does.
32333
+
32334
+ For a form about something happening now, such as a shift starting or a
32335
+ dose taken, where the reader would otherwise scroll to the time on the
32336
+ clock. The button is a tab stop after the times, and its words are
32337
+ `now-label`. */
32338
+ "prop:showNow"?: (HelixHeadlessTimePicker["showNow"]) | undefined;
32223
32339
  /** How far apart the offered times are, in minutes, or in seconds with
32224
32340
  `seconds`.
32225
32341
 
@@ -36073,6 +36189,23 @@ follows the box as it resizes, which `columns` then does not decide. */
36073
36189
  out as many columns as fit the box at that width, at least one, and
36074
36190
  follows the box as it resizes, which `columns` then does not decide. */
36075
36191
  minColumnWidth?: (HelixHeadlessVirtualList["minColumnWidth"]) | undefined;
36192
+ /** Which way the list runs. `horizontal` lays the items out along a line
36193
+ and scrolls it sideways: Left and Right move between items, the other
36194
+ way round on a right-to-left page, and `estimate` is an item's width. A
36195
+ grid always runs down. */
36196
+ orientation?: (HelixHeadlessVirtualList["orientation"]) | undefined;
36197
+ /** The field of each item that names its section, as a key or a path of
36198
+ keys. Set, the items are drawn in sections: a header, then the items, in
36199
+ an element with the `group` role that the header names. A section starts
36200
+ wherever the field changes, so give the items in order. A list of one
36201
+ column only. */
36202
+ "section-field"?: (HelixHeadlessVirtualList["sectionField"]) | undefined;
36203
+ /** The field of each item that names its section, as a key or a path of
36204
+ keys. Set, the items are drawn in sections: a header, then the items, in
36205
+ an element with the `group` role that the header names. A section starts
36206
+ wherever the field changes, so give the items in order. A list of one
36207
+ column only. */
36208
+ sectionField?: (HelixHeadlessVirtualList["sectionField"]) | undefined;
36076
36209
  /** What a press does to the items already chosen: `toggle` adds or takes out
36077
36210
  the item, and `replace` selects it alone and lets the arrow keys carry the
36078
36211
  selection, with Control or Command adding or taking out one item. */
@@ -36115,6 +36248,10 @@ It returns what Lit renders: a template from `html`, a string, or a DOM
36115
36248
  node. The list wraps each result in a `<div>` that carries the row's role
36116
36249
  and place in the set. Where it is unset, the row `<template>` is used. */
36117
36250
  renderItem?: (HelixHeadlessVirtualList["renderItem"]) | undefined;
36251
+ /** Draws each section's header, given its name and its place among the
36252
+ sections, for a list given `section-field`. Set it as a property. Where
36253
+ it is unset, the header is the name as text. */
36254
+ renderSection?: (HelixHeadlessVirtualList["renderSection"]) | undefined;
36118
36255
 
36119
36256
  /** Fired once a press or a key has changed which items are selected, in a list with `selection-mode`. */
36120
36257
  onchange?: ((e: HelixHeadlessVirtualListElementEvent) => void) | undefined;
@@ -36205,6 +36342,23 @@ follows the box as it resizes, which `columns` then does not decide. */
36205
36342
  out as many columns as fit the box at that width, at least one, and
36206
36343
  follows the box as it resizes, which `columns` then does not decide. */
36207
36344
  "prop:minColumnWidth"?: (HelixHeadlessVirtualList["minColumnWidth"]) | undefined;
36345
+ /** Which way the list runs. `horizontal` lays the items out along a line
36346
+ and scrolls it sideways: Left and Right move between items, the other
36347
+ way round on a right-to-left page, and `estimate` is an item's width. A
36348
+ grid always runs down. */
36349
+ "prop:orientation"?: (HelixHeadlessVirtualList["orientation"]) | undefined;
36350
+ /** The field of each item that names its section, as a key or a path of
36351
+ keys. Set, the items are drawn in sections: a header, then the items, in
36352
+ an element with the `group` role that the header names. A section starts
36353
+ wherever the field changes, so give the items in order. A list of one
36354
+ column only. */
36355
+ "attr:section-field"?: (HelixHeadlessVirtualList["sectionField"]) | undefined;
36356
+ /** The field of each item that names its section, as a key or a path of
36357
+ keys. Set, the items are drawn in sections: a header, then the items, in
36358
+ an element with the `group` role that the header names. A section starts
36359
+ wherever the field changes, so give the items in order. A list of one
36360
+ column only. */
36361
+ "prop:sectionField"?: (HelixHeadlessVirtualList["sectionField"]) | undefined;
36208
36362
  /** What a press does to the items already chosen: `toggle` adds or takes out
36209
36363
  the item, and `replace` selects it alone and lets the arrow keys carry the
36210
36364
  selection, with Control or Command adding or taking out one item. */
@@ -36247,6 +36401,10 @@ It returns what Lit renders: a template from `html`, a string, or a DOM
36247
36401
  node. The list wraps each result in a `<div>` that carries the row's role
36248
36402
  and place in the set. Where it is unset, the row `<template>` is used. */
36249
36403
  "prop:renderItem"?: (HelixHeadlessVirtualList["renderItem"]) | undefined;
36404
+ /** Draws each section's header, given its name and its place among the
36405
+ sections, for a list given `section-field`. Set it as a property. Where
36406
+ it is unset, the header is the name as text. */
36407
+ "prop:renderSection"?: (HelixHeadlessVirtualList["renderSection"]) | undefined;
36250
36408
  /** Fired once a press or a key has changed which items are selected, in a list with `selection-mode`. */
36251
36409
  "on:change"?: ((e: HelixHeadlessVirtualListElementEvent) => void) | undefined;
36252
36410
  /** Fired before a press or a key changes which items are selected, with the `value` it would leave. Cancelable. */
@@ -38621,7 +38779,7 @@ export type CustomElements = {
38621
38779
  * forgetting of a reader's past attempt, whose message otherwise showed over
38622
38780
  * the emptied control the moment the form was reset.
38623
38781
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
38624
- * not.
38782
+ * not. The control shows no message for it: `reportValidity()` does that.
38625
38783
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
38626
38784
  * and shows the browser's message at the control.
38627
38785
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -39065,15 +39223,24 @@ export type CustomElements = {
39065
39223
  * card or connection says so when a reader arrives on it.
39066
39224
  * - Control or Command with C copies the selected cards, and the connections
39067
39225
  * between them, as a JSON Canvas document in text, which another board or
39068
- * an app that reads the format takes. A paste is your page's: listen for
39069
- * `paste` on the board, read the text with `fromJsonCanvas`, and add the
39070
- * cards it holds.
39226
+ * an app that reads the format takes.
39227
+ * - Control or Command with V pastes a JSON Canvas document: the board adds
39228
+ * its cards and connections, a step down and to the right of any card they
39229
+ * would sit on, and selects them. It asks with `helix-before-paste` first.
39230
+ * A page that renders its cards from its own state cancels it and adds the
39231
+ * detail's document to that state, through `fromJsonCanvas`. `paste()` does
39232
+ * the same from a script.
39071
39233
  * - Control or Command with Z undoes the last move or resize the board made,
39072
39234
  * and with Shift, or Control with Y, makes it again. `undo()` and `redo()`
39073
39235
  * do the same from a script. Each asks with `helix-before-move` and tells
39074
39236
  * with `helix-move`, as a move does, so a board that holds its positions in
39075
39237
  * your state is undone through your state.
39076
39238
  *
39239
+ * **`arrange()` moves every card so that none overlaps another**, in layers
39240
+ * that follow the arrows, or in a grid on a board with no connections. The
39241
+ * cards glide for as long as the board's own transition, and `undo()` puts
39242
+ * them back.
39243
+ *
39077
39244
  * Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that
39078
39245
  * cannot hold a button down. Click a selected card's move handle, a corner, a
39079
39246
  * card's connection point, or the end of a selected connection to pick it up.
@@ -39121,6 +39288,7 @@ export type CustomElements = {
39121
39288
  *
39122
39289
  * - `activate-hint-label`/`activateHintLabel`: The hint shown when the board, waiting to be pressed with
39123
39290
  * `gestures="activate"`, is scrolled or swiped over.
39291
+ * - `arranged-label`/`arrangedLabel`: What screen readers hear after `arrange()` moves the cards.
39124
39292
  * - `comes-from-label`/`comesFromLabel`: The text read with a card to say where its connections come from, with `{cards}`.
39125
39293
  * - `connected-label`/`connectedLabel`: The text announced when a connection is requested, with `{from}` and `{to}`.
39126
39294
  * - `connecting-label`/`connectingLabel`: The text announced when a connection is started, with `{from}` filled in.
@@ -39165,6 +39333,7 @@ export type CustomElements = {
39165
39333
  *
39166
39334
  * Absent is spatial, a resting value being an attribute's absence: a default
39167
39335
  * that reflected would write a choice onto every host that no server sent.
39336
+ * - `pasted-label`/`pastedLabel`: What screen readers hear after a paste, with `{count}` for the cards pasted.
39168
39337
  * - `path`: The route every connection takes when it sets no `path` of its own:
39169
39338
  * `straight`, or `step` for right angles.
39170
39339
  *
@@ -39181,6 +39350,9 @@ export type CustomElements = {
39181
39350
  * - `reconnecting-label`/`reconnectingLabel`: The text announced when a connection's end is picked up, with `{from}` and
39182
39351
  * `{to}`.
39183
39352
  * - `redone-label`/`redoneLabel`: What screen readers hear after a move or a resize is made again.
39353
+ * - `removed-label`/`removedLabel`: What screen readers hear when Delete asks to remove what is selected, with
39354
+ * `{count}` for how many cards and connections, and `{name}` for the one
39355
+ * where there is one.
39184
39356
  * - `resized-label`/`resizedLabel`: What screen readers hear after a key resizes a card, with `{name}` for the
39185
39357
  * card and `{width}` and `{height}` for its new size, in the document's
39186
39358
  * units.
@@ -39361,6 +39533,7 @@ export type CustomElements = {
39361
39533
  * Events that will be emitted by the component.
39362
39534
  *
39363
39535
  * - `helix-before-move`: Cards are about to move. Cancelable: cancel it to keep the positions in your own state.
39536
+ * - `helix-before-paste`: Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state.
39364
39537
  * - `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.
39365
39538
  * - `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.
39366
39539
  * - `helix-canvas-edit`: A card was double-clicked, or Enter or F2 was pressed on it. Open your own editor for the card.
@@ -39369,6 +39542,7 @@ export type CustomElements = {
39369
39542
  * - `helix-canvas-zoom`: The board zoomed one step, from its controls or the keys. A wheel or a pinch sends `helix-canvas-view`.
39370
39543
  * - `helix-connect`: Two cards were chosen to be joined. Add a `helix-canvas-edge` to join them.
39371
39544
  * - `helix-move`: Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed.
39545
+ * - `helix-pasted`: Cards and connections were pasted, and the board holds them.
39372
39546
  * - `helix-reconnect`: A connection's end moved, and the move is finished.
39373
39547
  * - `helix-relabel`: A connection's label or a group's name changed.
39374
39548
  * - `helix-remove`: Cards or connections were chosen for removal. Remove the elements it names.
@@ -39422,6 +39596,24 @@ export type CustomElements = {
39422
39596
  * with nothing to undo, or when the request was refused.
39423
39597
  * - `redo() => boolean`: Makes the last move or resize `undo` took back again, asking with
39424
39598
  * `helix-before-move` first. Returns whether anything moved.
39599
+ * - `paste(document: CanvasDocument | string) => boolean`: Adds the cards and connections of a JSON Canvas document, as a paste does,
39600
+ * and selects the cards. Ids the board already holds are given a count after
39601
+ * them, and the cards move a step down and to the right while they would sit
39602
+ * on cards already there.
39603
+ *
39604
+ * Asks with `helix-before-paste` first: cancel it to add the detail's
39605
+ * document to your own state. Returns whether the board added the cards:
39606
+ * false on a `readonly` board, for text that is not a board, or when the
39607
+ * request was refused.
39608
+ * - `arrange(options: CanvasArrangeOptions = {}) => boolean`: Moves the cards so that none overlaps another: in layers that follow the
39609
+ * connections, or in a grid where there are none. A group moves as one box
39610
+ * with its cards. Each place lands on a multiple of `snap` where it is set.
39611
+ *
39612
+ * Asks with `helix-before-move` first and tells with `helix-move`, as a
39613
+ * move does, so `undo()` puts every card back. The cards glide to their
39614
+ * places for as long as the board's plane takes to glide, and land at once
39615
+ * where it does not, such as under `prefers-reduced-motion`. Returns whether
39616
+ * the cards moved.
39425
39617
  * - `toJsonCanvas() => CanvasDocument`: The board as a JSON Canvas document, for saving it.
39426
39618
  *
39427
39619
  * What each card holds is the consumer's DOM, so a card comes back as a card
@@ -40076,7 +40268,7 @@ export type CustomElements = {
40076
40268
  * and reading `:disabled` here would answer about the attribute we are in the
40077
40269
  * middle of removing.
40078
40270
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
40079
- * not.
40271
+ * not. The control shows no message for it: `reportValidity()` does that.
40080
40272
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
40081
40273
  * and shows the browser's message at the control.
40082
40274
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -40660,7 +40852,7 @@ export type CustomElements = {
40660
40852
  * and reading `:disabled` here would answer about the attribute we are in the
40661
40853
  * middle of removing.
40662
40854
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
40663
- * not.
40855
+ * not. The control shows no message for it: `reportValidity()` does that.
40664
40856
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
40665
40857
  * and shows the browser's message at the control.
40666
40858
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -40919,7 +41111,7 @@ export type CustomElements = {
40919
41111
  * and reading `:disabled` here would answer about the attribute we are in the
40920
41112
  * middle of removing.
40921
41113
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
40922
- * not.
41114
+ * not. The control shows no message for it: `reportValidity()` does that.
40923
41115
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
40924
41116
  * and shows the browser's message at the control.
40925
41117
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -41602,7 +41794,7 @@ export type CustomElements = {
41602
41794
  * and reading `:disabled` here would answer about the attribute we are in the
41603
41795
  * middle of removing.
41604
41796
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
41605
- * not.
41797
+ * not. The control shows no message for it: `reportValidity()` does that.
41606
41798
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
41607
41799
  * and shows the browser's message at the control.
41608
41800
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -42018,7 +42210,7 @@ export type CustomElements = {
42018
42210
  * and reading `:disabled` here would answer about the attribute we are in the
42019
42211
  * middle of removing.
42020
42212
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
42021
- * not.
42213
+ * not. The control shows no message for it: `reportValidity()` does that.
42022
42214
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
42023
42215
  * and shows the browser's message at the control.
42024
42216
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -42454,7 +42646,7 @@ export type CustomElements = {
42454
42646
  * and reading `:disabled` here would answer about the attribute we are in the
42455
42647
  * middle of removing.
42456
42648
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
42457
- * not.
42649
+ * not. The control shows no message for it: `reportValidity()` does that.
42458
42650
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
42459
42651
  * and shows the browser's message at the control.
42460
42652
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -42948,7 +43140,7 @@ export type CustomElements = {
42948
43140
  * forgetting of a reader's past attempt, whose message otherwise showed over
42949
43141
  * the emptied control the moment the form was reset.
42950
43142
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
42951
- * not.
43143
+ * not. The control shows no message for it: `reportValidity()` does that.
42952
43144
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
42953
43145
  * and shows the browser's message at the control.
42954
43146
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -43521,7 +43713,7 @@ export type CustomElements = {
43521
43713
  * | Page Up, Page Down on a segment | Steps by a page: a week of days, two months, or five years. |
43522
43714
  * | Home, End on a segment | Goes to the segment's first or last value. |
43523
43715
  * | Digits on a segment | Fill it, and move to the next once it can take no more. |
43524
- * | Backspace, Delete on a segment | Empty the segment. |
43716
+ * | Backspace, Delete on a segment | Take off its last digit, or move to the segment before where it is empty. |
43525
43717
  * | Left, Right on a segment | Move to the previous or the next segment, along the line of text. |
43526
43718
  *
43527
43719
  * In the calendar, the keys are `DatePicker`'s: the arrows move by a day or a
@@ -43897,7 +44089,7 @@ export type CustomElements = {
43897
44089
  * and reading `:disabled` here would answer about the attribute we are in the
43898
44090
  * middle of removing.
43899
44091
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
43900
- * not.
44092
+ * not. The control shows no message for it: `reportValidity()` does that.
43901
44093
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
43902
44094
  * and shows the browser's message at the control.
43903
44095
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -44324,7 +44516,7 @@ export type CustomElements = {
44324
44516
  * and reading `:disabled` here would answer about the attribute we are in the
44325
44517
  * middle of removing.
44326
44518
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
44327
- * not.
44519
+ * not. The control shows no message for it: `reportValidity()` does that.
44328
44520
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
44329
44521
  * and shows the browser's message at the control.
44330
44522
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -46002,7 +46194,7 @@ export type CustomElements = {
46002
46194
  * and reading `:disabled` here would answer about the attribute we are in the
46003
46195
  * middle of removing.
46004
46196
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
46005
- * not.
46197
+ * not. The control shows no message for it: `reportValidity()` does that.
46006
46198
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
46007
46199
  * and shows the browser's message at the control.
46008
46200
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -46916,7 +47108,7 @@ export type CustomElements = {
46916
47108
  * and reading `:disabled` here would answer about the attribute we are in the
46917
47109
  * middle of removing.
46918
47110
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
46919
- * not.
47111
+ * not. The control shows no message for it: `reportValidity()` does that.
46920
47112
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
46921
47113
  * and shows the browser's message at the control.
46922
47114
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -47010,7 +47202,8 @@ export type CustomElements = {
47010
47202
  * such as `buddhist` for `th-TH`, and `gregory` for every other, such as
47011
47203
  * `persian` for `fa-IR`, so a date written here reads as the same date a
47012
47204
  * Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
47013
- * - `date`: The timestamp, in any format `Date` can parse.
47205
+ * - `date`: The timestamp: a `Date`, milliseconds since the epoch, or a string in any
47206
+ * format `Date` can parse. The attribute is the string.
47014
47207
  *
47015
47208
  * An ISO string is what an API sends and what `<time datetime>` takes, so it
47016
47209
  * is the shape that needs no translation at either end. Left unset this
@@ -48066,7 +48259,7 @@ export type CustomElements = {
48066
48259
  * forgetting of a reader's past attempt, whose message otherwise showed over
48067
48260
  * the emptied control the moment the form was reset.
48068
48261
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
48069
- * not.
48262
+ * not. The control shows no message for it: `reportValidity()` does that.
48070
48263
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
48071
48264
  * and shows the browser's message at the control.
48072
48265
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -48676,7 +48869,7 @@ export type CustomElements = {
48676
48869
  * and reading `:disabled` here would answer about the attribute we are in the
48677
48870
  * middle of removing.
48678
48871
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
48679
- * not.
48872
+ * not. The control shows no message for it: `reportValidity()` does that.
48680
48873
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
48681
48874
  * and shows the browser's message at the control.
48682
48875
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -50399,7 +50592,8 @@ export type CustomElements = {
50399
50592
  * rather than being typed into means. Enter still chooses, because that is
50400
50593
  * the caller asking for the answer rather than for a move. Space, Home, End
50401
50594
  * and letters are left to the caller's field, where they are typing.
50402
- * - `reveal() => void`: Scrolls the chosen option to the middle of the list.
50595
+ * - `reveal() => void`: Scrolls the chosen option to the middle of the list, or the highlighted one
50596
+ * where nothing is chosen.
50403
50597
  *
50404
50598
  * A method rather than something this does on its own, because a listbox
50405
50599
  * opening on its answer usually wants it merely *visible* and the browser
@@ -50409,6 +50603,13 @@ export type CustomElements = {
50409
50603
  *
50410
50604
  * Measured by core's `centerInView`, or, for a list of `items`, by the
50411
50605
  * arithmetic, since the chosen option may not be drawn.
50606
+ * - `highlightValue(value: string) => void`: Puts the highlight on the option holding `value`, without choosing it, so
50607
+ * the arrow keys move from there. Nothing changes where no option a reader
50608
+ * can reach holds `value`.
50609
+ *
50610
+ * Time Picker calls it for a time between two of its steps, which no option
50611
+ * holds: without it the first arrow moved from the top of the list, so Down
50612
+ * from 14:07 went to midnight.
50412
50613
  * - `requestFilter(next: string) => boolean`: Requests a new filter, and returns whether the request went through.
50413
50614
  * - `requestValue(next: string) => boolean`: Requests a new value, and returns whether the change was applied.
50414
50615
  *
@@ -50462,7 +50663,7 @@ export type CustomElements = {
50462
50663
  * and reading `:disabled` here would answer about the attribute we are in the
50463
50664
  * middle of removing.
50464
50665
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
50465
- * not.
50666
+ * not. The control shows no message for it: `reportValidity()` does that.
50466
50667
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
50467
50668
  * and shows the browser's message at the control.
50468
50669
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -53508,7 +53709,7 @@ export type CustomElements = {
53508
53709
  * and reading `:disabled` here would answer about the attribute we are in the
53509
53710
  * middle of removing.
53510
53711
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
53511
- * not.
53712
+ * not. The control shows no message for it: `reportValidity()` does that.
53512
53713
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
53513
53714
  * and shows the browser's message at the control.
53514
53715
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -54650,7 +54851,7 @@ export type CustomElements = {
54650
54851
  * and reading `:disabled` here would answer about the attribute we are in the
54651
54852
  * middle of removing.
54652
54853
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
54653
- * not.
54854
+ * not. The control shows no message for it: `reportValidity()` does that.
54654
54855
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
54655
54856
  * and shows the browser's message at the control.
54656
54857
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -55031,7 +55232,7 @@ export type CustomElements = {
55031
55232
  * and reading `:disabled` here would answer about the attribute we are in the
55032
55233
  * middle of removing.
55033
55234
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
55034
- * not.
55235
+ * not. The control shows no message for it: `reportValidity()` does that.
55035
55236
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
55036
55237
  * and shows the browser's message at the control.
55037
55238
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -55857,7 +56058,7 @@ export type CustomElements = {
55857
56058
  * and reading `:disabled` here would answer about the attribute we are in the
55858
56059
  * middle of removing.
55859
56060
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
55860
- * not.
56061
+ * not. The control shows no message for it: `reportValidity()` does that.
55861
56062
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
55862
56063
  * and shows the browser's message at the control.
55863
56064
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -56290,7 +56491,7 @@ export type CustomElements = {
56290
56491
  * and reading `:disabled` here would answer about the attribute we are in the
56291
56492
  * middle of removing.
56292
56493
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
56293
- * not.
56494
+ * not. The control shows no message for it: `reportValidity()` does that.
56294
56495
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
56295
56496
  * and shows the browser's message at the control.
56296
56497
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -57109,7 +57310,7 @@ export type CustomElements = {
57109
57310
  * and reading `:disabled` here would answer about the attribute we are in the
57110
57311
  * middle of removing.
57111
57312
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
57112
- * not.
57313
+ * not. The control shows no message for it: `reportValidity()` does that.
57113
57314
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
57114
57315
  * and shows the browser's message at the control.
57115
57316
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -57627,7 +57828,7 @@ export type CustomElements = {
57627
57828
  * and reading `:disabled` here would answer about the attribute we are in the
57628
57829
  * middle of removing.
57629
57830
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
57630
- * not.
57831
+ * not. The control shows no message for it: `reportValidity()` does that.
57631
57832
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
57632
57833
  * and shows the browser's message at the control.
57633
57834
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -59135,7 +59336,7 @@ export type CustomElements = {
59135
59336
  * and reading `:disabled` here would answer about the attribute we are in the
59136
59337
  * middle of removing.
59137
59338
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
59138
- * not.
59339
+ * not. The control shows no message for it: `reportValidity()` does that.
59139
59340
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
59140
59341
  * and shows the browser's message at the control.
59141
59342
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -59500,6 +59701,7 @@ export type CustomElements = {
59500
59701
  * The `heading` slot names the table: slot a heading or a line of text into
59501
59702
  * it, and the table is named by its words. An `aria-label` or `aria-labelledby` on the
59502
59703
  * host wins over it.
59704
+ * A table with no name is reported once in a development build.
59503
59705
  *
59504
59706
  * **Selecting.** `selectable` adds a column of checkboxes.
59505
59707
  *
@@ -59585,9 +59787,17 @@ export type CustomElements = {
59585
59787
  * | A letter or a word | Moves to the next row whose first cell starts with what you typed. |
59586
59788
  * | Tab | Leaves the table. |
59587
59789
  *
59790
+ * **Long tables.** `windowed` draws only the rows in view, as Data Table's
59791
+ * does, and the box of the table scrolls under headings that stick. The
59792
+ * table still says how many rows it has with `aria-rowcount`, and each row
59793
+ * its place with `aria-rowindex`. The keys reach every row, drawn or not, and
59794
+ * the row holding focus stays drawn when it scrolls away. Nested rows,
59795
+ * sorting, and selecting work as they do in a table that draws every row.
59796
+ *
59588
59797
  * **Loading more.** `load-more` sends `helix-load-more` once the end of the
59589
59798
  * table comes within a screen of view, in the box that scrolls it or the
59590
- * page, once for each number of rows: add rows and it can send it again. Set
59799
+ * page, or in the table's own box when it is `windowed`, once for each
59800
+ * number of rows: add rows and it can send it again. Set
59591
59801
  * `loading` while you fetch, and the table asks for nothing until it clears.
59592
59802
  *
59593
59803
  * When the rows did not load, set `error-text`, such as "The orders did not
@@ -59712,6 +59922,14 @@ export type CustomElements = {
59712
59922
  * order has its whole sentence. `{order}` is the deprecated
59713
59923
  * `ascending-label` or `descending-label`.
59714
59924
  * - `unsorted-label`/`unsortedLabel`: What screen readers hear when the table stops being sorted.
59925
+ * - `windowed`: Draws only the rows in view, with empty space in place of the rest, as
59926
+ * Data Table's `windowed` does. The table's box then scrolls, at the
59927
+ * height `--table-block-size` gives it in the styled tier, and the
59928
+ * headings stick to its top.
59929
+ *
59930
+ * Off by default. Windowing costs a scroll listener, a measurement per row
59931
+ * drawn, and a height on the table, and a table of twenty rows should pay
59932
+ * none of them.
59715
59933
  * - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
59716
59934
  * - `loading`: Whether the rows are still loading.
59717
59935
  *
@@ -59783,6 +60001,8 @@ export type CustomElements = {
59783
60001
  *
59784
60002
  * Custom selectors for styling elements within the component.
59785
60003
  *
60004
+ * - `after`: The space that stands in for the rows below the window. Only while `windowed`.
60005
+ * - `before`: The space that stands in for the rows above the window. Only while `windowed`.
59786
60006
  * - `checkbox`: The checkbox in the heading that selects every row, in a `selectable` table.
59787
60007
  * - `checkbox-box`: The box drawn for the checkbox's input.
59788
60008
  * - `checkbox-control`: The checkbox's input.
@@ -60824,7 +61044,7 @@ export type CustomElements = {
60824
61044
  * and reading `:disabled` here would answer about the attribute we are in the
60825
61045
  * middle of removing.
60826
61046
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
60827
- * not.
61047
+ * not. The control shows no message for it: `reportValidity()` does that.
60828
61048
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
60829
61049
  * and shows the browser's message at the control.
60830
61050
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -60903,7 +61123,7 @@ export type CustomElements = {
60903
61123
  * | Home, End on a segment | Goes to the segment's first or last value. |
60904
61124
  * | Digits on a segment | Fill it, and move to the next once it can take no more. |
60905
61125
  * | A letter on the half of the day | Picks the half whose name starts with it, such as A for AM. |
60906
- * | Backspace, Delete on a segment | Empty the segment. |
61126
+ * | Backspace, Delete on a segment | Take off its last digit, or move to the segment before where it is empty. |
60907
61127
  * | Left, Right on a segment | Move to the previous or the next segment, along the line of text. |
60908
61128
  *
60909
61129
  * In the list, the keys are `TimePicker`'s.
@@ -61219,7 +61439,7 @@ export type CustomElements = {
61219
61439
  * and reading `:disabled` here would answer about the attribute we are in the
61220
61440
  * middle of removing.
61221
61441
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
61222
- * not.
61442
+ * not. The control shows no message for it: `reportValidity()` does that.
61223
61443
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
61224
61444
  * and shows the browser's message at the control.
61225
61445
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -61267,6 +61487,7 @@ export type CustomElements = {
61267
61487
  * - `picker-list-loading`: The text shown while the options load.
61268
61488
  * - `picker-list-search`: The region that holds the filter field.
61269
61489
  * - `picker-list-search-field`: The filter field.
61490
+ * - `picker-now`: The picker's button that chooses the current time, which Time Input does not draw.
61270
61491
  * - `picker-option`: One time in the picker. Carries `data-between` inside a range.
61271
61492
  * - `picker-option-between`: A time inside a chosen range, between its two ends. Set together with `picker-option`.
61272
61493
  * - `picker-option-description`: The caption under the label, when there is one.
@@ -61313,7 +61534,9 @@ export type CustomElements = {
61313
61534
  * between the wheels, and Tab does too.
61314
61535
  *
61315
61536
  * `hour-cycle` writes every time on a twelve or a twenty-four hour clock
61316
- * whatever the locale, and `seconds` holds times to the second.
61537
+ * whatever the locale, and `seconds` holds times to the second. `show-now`
61538
+ * draws a button that chooses the current time, on the step and inside the
61539
+ * bounds.
61317
61540
  *
61318
61541
  * The step keeps the list usable. At the default of 15 minutes a day is 96
61319
61542
  * rows, which people can scroll or type into. At 1 minute it is 1,440. Use the
@@ -61438,6 +61661,8 @@ export type CustomElements = {
61438
61661
  * and a wheel has exactly one value by construction. Rather than draw
61439
61662
  * something that cannot say what it holds, `wheels` renders as a list
61440
61663
  * whenever a mode is set.
61664
+ * - `now-label`/`nowLabel`: The words on the button that chooses the current time, drawn with
61665
+ * `show-now`.
61441
61666
  * - `range-overflow-message`/`rangeOverflowMessage`: The validation message for a time after `max`. `{max}` is replaced with
61442
61667
  * `max`, written in `locale`.
61443
61668
  * - `range-underflow-message`/`rangeUnderflowMessage`: The validation message for a time before `min`. `{min}` is replaced with
@@ -61465,6 +61690,13 @@ export type CustomElements = {
61465
61690
  * `<input type="time">` counts in. A list at a step of one second is 86,400
61466
61691
  * rows, so give `seconds` a `step` and bounds that keep it a list, or use
61467
61692
  * the wheels.
61693
+ * - `show-now`/`showNow`: Draws a button under the times that chooses the current time, as
61694
+ * `selectNow()` does.
61695
+ *
61696
+ * For a form about something happening now, such as a shift starting or a
61697
+ * dose taken, where the reader would otherwise scroll to the time on the
61698
+ * clock. The button is a tab stop after the times, and its words are
61699
+ * `now-label`.
61468
61700
  * - `step`: How far apart the offered times are, in minutes, or in seconds with
61469
61701
  * `seconds`.
61470
61702
  *
@@ -61597,6 +61829,14 @@ export type CustomElements = {
61597
61829
  *
61598
61830
  * Methods that can be called to access component functionality.
61599
61831
  *
61832
+ * - `selectNow() => boolean`: Chooses the current time, as a press on the `show-now` button does, and
61833
+ * returns whether the value changed.
61834
+ *
61835
+ * The time is read off the reader's clock and moved to the nearest time on
61836
+ * offer that is not barred, so it falls on the `step` and inside `min` and
61837
+ * `max`. It is requested as a pick is, so `helix-before-change` can cancel
61838
+ * it. With a `mode` the time joins the times held, and a range that holds
61839
+ * two starts over from it, as a third pick does.
61600
61840
  * - `reveal() => void`: Scrolls each wheel to its selected value, and the list to its selected
61601
61841
  * time.
61602
61842
  *
@@ -61671,7 +61911,7 @@ export type CustomElements = {
61671
61911
  * and reading `:disabled` here would answer about the attribute we are in the
61672
61912
  * middle of removing.
61673
61913
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
61674
- * not.
61914
+ * not. The control shows no message for it: `reportValidity()` does that.
61675
61915
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
61676
61916
  * and shows the browser's message at the control.
61677
61917
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -61711,6 +61951,7 @@ export type CustomElements = {
61711
61951
  * - `list-loading`: The text shown while the options load.
61712
61952
  * - `list-search`: The region that holds the filter field.
61713
61953
  * - `list-search-field`: The filter field.
61954
+ * - `now`: The button that chooses the current time, drawn with `show-now`.
61714
61955
  * - `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.
61715
61956
  * - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
61716
61957
  * - `option-description`: The caption under the time's label, when there is one.
@@ -62540,7 +62781,7 @@ export type CustomElements = {
62540
62781
  * and reading `:disabled` here would answer about the attribute we are in the
62541
62782
  * middle of removing.
62542
62783
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
62543
- * not.
62784
+ * not. The control shows no message for it: `reportValidity()` does that.
62544
62785
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
62545
62786
  * and shows the browser's message at the control.
62546
62787
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -64869,12 +65110,26 @@ export type CustomElements = {
64869
65110
  * smallest item size, and follows the box as it resizes. `gap` spaces the rows, and the columns
64870
65111
  * of a grid, by a number of pixels the list counts in each row's place.
64871
65112
  *
65113
+ * **Across.** `orientation="horizontal"` lays the items out along a line and
65114
+ * scrolls it sideways, as a strip of cards does, windowed the same way:
65115
+ * `estimate` is then an item's width, and the box needs an inline size.
65116
+ *
65117
+ * **Sections.** `section-field` names the field of each item that says which
65118
+ * section it is in, and the list draws a header before each section's items,
65119
+ * as React Aria's list box sections do. Each section is an element with the
65120
+ * `group` role, named by its header, which is its first child and carries
65121
+ * `data-header`, so your stylesheet styles it, such as with `position:
65122
+ * sticky`. A section starts wherever the field changes, so give the items in
65123
+ * order. The window counts the headers with the items, and a section the
65124
+ * window starts inside is drawn with its header. `renderSection` draws a
65125
+ * header of your own.
65126
+ *
64872
65127
  * **Keyboard.** The list is one tab stop.
64873
65128
  *
64874
65129
  * | Key | What it does |
64875
65130
  * |---|---|
64876
65131
  * | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. |
64877
- * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. |
65132
+ * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
64878
65133
  * | Home, End | Moves to the first or the last item. |
64879
65134
  * | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen. |
64880
65135
  * | A letter or a word | Moves to the next item whose text starts with what you typed. |
@@ -64994,6 +65249,15 @@ export type CustomElements = {
64994
65249
  * - `min-column-width`/`minColumnWidth`: The narrowest a column of a grid may be, in pixels. Set, the list lays
64995
65250
  * out as many columns as fit the box at that width, at least one, and
64996
65251
  * follows the box as it resizes, which `columns` then does not decide.
65252
+ * - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
65253
+ * and scrolls it sideways: Left and Right move between items, the other
65254
+ * way round on a right-to-left page, and `estimate` is an item's width. A
65255
+ * grid always runs down.
65256
+ * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
65257
+ * keys. Set, the items are drawn in sections: a header, then the items, in
65258
+ * an element with the `group` role that the header names. A section starts
65259
+ * wherever the field changes, so give the items in order. A list of one
65260
+ * column only.
64997
65261
  * - `selection-behavior`/`selectionBehavior`: What a press does to the items already chosen: `toggle` adds or takes out
64998
65262
  * the item, and `replace` selects it alone and lets the arrow keys carry the
64999
65263
  * selection, with Control or Command adding or taking out one item.
@@ -65017,6 +65281,9 @@ export type CustomElements = {
65017
65281
  * It returns what Lit renders: a template from `html`, a string, or a DOM
65018
65282
  * node. The list wraps each result in a `<div>` that carries the row's role
65019
65283
  * and place in the set. Where it is unset, the row `<template>` is used. (property only)
65284
+ * - `renderSection`: Draws each section's header, given its name and its place among the
65285
+ * sections, for a list given `section-field`. Set it as a property. Where
65286
+ * it is unset, the header is the name as text. (property only)
65020
65287
  * - `range`: The items on screen, as `items.slice(first, last)` reads them.
65021
65288
  *
65022
65289
  * Read from the scroll offset when asked. Both are 0 before the list has a
@@ -65084,6 +65351,7 @@ export type CustomElements = {
65084
65351
  * These can be used to apply styling when a component is in a given state.
65085
65352
  *
65086
65353
  * - `empty`: While the list has read its items and holds none.
65354
+ * - `horizontal`: While the list runs across, with `orientation="horizontal"`.
65087
65355
  * - `loading`: While `loading` is set.
65088
65356
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
65089
65357
  */
@@ -67472,7 +67740,7 @@ export type CustomElementsSolidJs = {
67472
67740
  * forgetting of a reader's past attempt, whose message otherwise showed over
67473
67741
  * the emptied control the moment the form was reset.
67474
67742
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
67475
- * not.
67743
+ * not. The control shows no message for it: `reportValidity()` does that.
67476
67744
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
67477
67745
  * and shows the browser's message at the control.
67478
67746
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -67924,15 +68192,24 @@ export type CustomElementsSolidJs = {
67924
68192
  * card or connection says so when a reader arrives on it.
67925
68193
  * - Control or Command with C copies the selected cards, and the connections
67926
68194
  * between them, as a JSON Canvas document in text, which another board or
67927
- * an app that reads the format takes. A paste is your page's: listen for
67928
- * `paste` on the board, read the text with `fromJsonCanvas`, and add the
67929
- * cards it holds.
68195
+ * an app that reads the format takes.
68196
+ * - Control or Command with V pastes a JSON Canvas document: the board adds
68197
+ * its cards and connections, a step down and to the right of any card they
68198
+ * would sit on, and selects them. It asks with `helix-before-paste` first.
68199
+ * A page that renders its cards from its own state cancels it and adds the
68200
+ * detail's document to that state, through `fromJsonCanvas`. `paste()` does
68201
+ * the same from a script.
67930
68202
  * - Control or Command with Z undoes the last move or resize the board made,
67931
68203
  * and with Shift, or Control with Y, makes it again. `undo()` and `redo()`
67932
68204
  * do the same from a script. Each asks with `helix-before-move` and tells
67933
68205
  * with `helix-move`, as a move does, so a board that holds its positions in
67934
68206
  * your state is undone through your state.
67935
68207
  *
68208
+ * **`arrange()` moves every card so that none overlaps another**, in layers
68209
+ * that follow the arrows, or in a grid on a board with no connections. The
68210
+ * cards glide for as long as the board's own transition, and `undo()` puts
68211
+ * them back.
68212
+ *
67936
68213
  * Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that
67937
68214
  * cannot hold a button down. Click a selected card's move handle, a corner, a
67938
68215
  * card's connection point, or the end of a selected connection to pick it up.
@@ -67980,6 +68257,7 @@ export type CustomElementsSolidJs = {
67980
68257
  *
67981
68258
  * - `activate-hint-label`/`activateHintLabel`: The hint shown when the board, waiting to be pressed with
67982
68259
  * `gestures="activate"`, is scrolled or swiped over.
68260
+ * - `arranged-label`/`arrangedLabel`: What screen readers hear after `arrange()` moves the cards.
67983
68261
  * - `comes-from-label`/`comesFromLabel`: The text read with a card to say where its connections come from, with `{cards}`.
67984
68262
  * - `connected-label`/`connectedLabel`: The text announced when a connection is requested, with `{from}` and `{to}`.
67985
68263
  * - `connecting-label`/`connectingLabel`: The text announced when a connection is started, with `{from}` filled in.
@@ -68024,6 +68302,7 @@ export type CustomElementsSolidJs = {
68024
68302
  *
68025
68303
  * Absent is spatial, a resting value being an attribute's absence: a default
68026
68304
  * that reflected would write a choice onto every host that no server sent.
68305
+ * - `pasted-label`/`pastedLabel`: What screen readers hear after a paste, with `{count}` for the cards pasted.
68027
68306
  * - `path`: The route every connection takes when it sets no `path` of its own:
68028
68307
  * `straight`, or `step` for right angles.
68029
68308
  *
@@ -68040,6 +68319,9 @@ export type CustomElementsSolidJs = {
68040
68319
  * - `reconnecting-label`/`reconnectingLabel`: The text announced when a connection's end is picked up, with `{from}` and
68041
68320
  * `{to}`.
68042
68321
  * - `redone-label`/`redoneLabel`: What screen readers hear after a move or a resize is made again.
68322
+ * - `removed-label`/`removedLabel`: What screen readers hear when Delete asks to remove what is selected, with
68323
+ * `{count}` for how many cards and connections, and `{name}` for the one
68324
+ * where there is one.
68043
68325
  * - `resized-label`/`resizedLabel`: What screen readers hear after a key resizes a card, with `{name}` for the
68044
68326
  * card and `{width}` and `{height}` for its new size, in the document's
68045
68327
  * units.
@@ -68220,6 +68502,7 @@ export type CustomElementsSolidJs = {
68220
68502
  * Events that will be emitted by the component.
68221
68503
  *
68222
68504
  * - `helix-before-move`: Cards are about to move. Cancelable: cancel it to keep the positions in your own state.
68505
+ * - `helix-before-paste`: Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state.
68223
68506
  * - `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.
68224
68507
  * - `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.
68225
68508
  * - `helix-canvas-edit`: A card was double-clicked, or Enter or F2 was pressed on it. Open your own editor for the card.
@@ -68228,6 +68511,7 @@ export type CustomElementsSolidJs = {
68228
68511
  * - `helix-canvas-zoom`: The board zoomed one step, from its controls or the keys. A wheel or a pinch sends `helix-canvas-view`.
68229
68512
  * - `helix-connect`: Two cards were chosen to be joined. Add a `helix-canvas-edge` to join them.
68230
68513
  * - `helix-move`: Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed.
68514
+ * - `helix-pasted`: Cards and connections were pasted, and the board holds them.
68231
68515
  * - `helix-reconnect`: A connection's end moved, and the move is finished.
68232
68516
  * - `helix-relabel`: A connection's label or a group's name changed.
68233
68517
  * - `helix-remove`: Cards or connections were chosen for removal. Remove the elements it names.
@@ -68281,6 +68565,24 @@ export type CustomElementsSolidJs = {
68281
68565
  * with nothing to undo, or when the request was refused.
68282
68566
  * - `redo() => boolean`: Makes the last move or resize `undo` took back again, asking with
68283
68567
  * `helix-before-move` first. Returns whether anything moved.
68568
+ * - `paste(document: CanvasDocument | string) => boolean`: Adds the cards and connections of a JSON Canvas document, as a paste does,
68569
+ * and selects the cards. Ids the board already holds are given a count after
68570
+ * them, and the cards move a step down and to the right while they would sit
68571
+ * on cards already there.
68572
+ *
68573
+ * Asks with `helix-before-paste` first: cancel it to add the detail's
68574
+ * document to your own state. Returns whether the board added the cards:
68575
+ * false on a `readonly` board, for text that is not a board, or when the
68576
+ * request was refused.
68577
+ * - `arrange(options: CanvasArrangeOptions = {}) => boolean`: Moves the cards so that none overlaps another: in layers that follow the
68578
+ * connections, or in a grid where there are none. A group moves as one box
68579
+ * with its cards. Each place lands on a multiple of `snap` where it is set.
68580
+ *
68581
+ * Asks with `helix-before-move` first and tells with `helix-move`, as a
68582
+ * move does, so `undo()` puts every card back. The cards glide to their
68583
+ * places for as long as the board's plane takes to glide, and land at once
68584
+ * where it does not, such as under `prefers-reduced-motion`. Returns whether
68585
+ * the cards moved.
68284
68586
  * - `toJsonCanvas() => CanvasDocument`: The board as a JSON Canvas document, for saving it.
68285
68587
  *
68286
68588
  * What each card holds is the consumer's DOM, so a card comes back as a card
@@ -68944,7 +69246,7 @@ export type CustomElementsSolidJs = {
68944
69246
  * and reading `:disabled` here would answer about the attribute we are in the
68945
69247
  * middle of removing.
68946
69248
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
68947
- * not.
69249
+ * not. The control shows no message for it: `reportValidity()` does that.
68948
69250
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
68949
69251
  * and shows the browser's message at the control.
68950
69252
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -69533,7 +69835,7 @@ export type CustomElementsSolidJs = {
69533
69835
  * and reading `:disabled` here would answer about the attribute we are in the
69534
69836
  * middle of removing.
69535
69837
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
69536
- * not.
69838
+ * not. The control shows no message for it: `reportValidity()` does that.
69537
69839
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
69538
69840
  * and shows the browser's message at the control.
69539
69841
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -69793,7 +70095,7 @@ export type CustomElementsSolidJs = {
69793
70095
  * and reading `:disabled` here would answer about the attribute we are in the
69794
70096
  * middle of removing.
69795
70097
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
69796
- * not.
70098
+ * not. The control shows no message for it: `reportValidity()` does that.
69797
70099
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
69798
70100
  * and shows the browser's message at the control.
69799
70101
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -70485,7 +70787,7 @@ export type CustomElementsSolidJs = {
70485
70787
  * and reading `:disabled` here would answer about the attribute we are in the
70486
70788
  * middle of removing.
70487
70789
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
70488
- * not.
70790
+ * not. The control shows no message for it: `reportValidity()` does that.
70489
70791
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
70490
70792
  * and shows the browser's message at the control.
70491
70793
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -70902,7 +71204,7 @@ export type CustomElementsSolidJs = {
70902
71204
  * and reading `:disabled` here would answer about the attribute we are in the
70903
71205
  * middle of removing.
70904
71206
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
70905
- * not.
71207
+ * not. The control shows no message for it: `reportValidity()` does that.
70906
71208
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
70907
71209
  * and shows the browser's message at the control.
70908
71210
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -71339,7 +71641,7 @@ export type CustomElementsSolidJs = {
71339
71641
  * and reading `:disabled` here would answer about the attribute we are in the
71340
71642
  * middle of removing.
71341
71643
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
71342
- * not.
71644
+ * not. The control shows no message for it: `reportValidity()` does that.
71343
71645
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
71344
71646
  * and shows the browser's message at the control.
71345
71647
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -71839,7 +72141,7 @@ export type CustomElementsSolidJs = {
71839
72141
  * forgetting of a reader's past attempt, whose message otherwise showed over
71840
72142
  * the emptied control the moment the form was reset.
71841
72143
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
71842
- * not.
72144
+ * not. The control shows no message for it: `reportValidity()` does that.
71843
72145
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
71844
72146
  * and shows the browser's message at the control.
71845
72147
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -72416,7 +72718,7 @@ export type CustomElementsSolidJs = {
72416
72718
  * | Page Up, Page Down on a segment | Steps by a page: a week of days, two months, or five years. |
72417
72719
  * | Home, End on a segment | Goes to the segment's first or last value. |
72418
72720
  * | Digits on a segment | Fill it, and move to the next once it can take no more. |
72419
- * | Backspace, Delete on a segment | Empty the segment. |
72721
+ * | Backspace, Delete on a segment | Take off its last digit, or move to the segment before where it is empty. |
72420
72722
  * | Left, Right on a segment | Move to the previous or the next segment, along the line of text. |
72421
72723
  *
72422
72724
  * In the calendar, the keys are `DatePicker`'s: the arrows move by a day or a
@@ -72792,7 +73094,7 @@ export type CustomElementsSolidJs = {
72792
73094
  * and reading `:disabled` here would answer about the attribute we are in the
72793
73095
  * middle of removing.
72794
73096
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
72795
- * not.
73097
+ * not. The control shows no message for it: `reportValidity()` does that.
72796
73098
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
72797
73099
  * and shows the browser's message at the control.
72798
73100
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -73222,7 +73524,7 @@ export type CustomElementsSolidJs = {
73222
73524
  * and reading `:disabled` here would answer about the attribute we are in the
73223
73525
  * middle of removing.
73224
73526
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
73225
- * not.
73527
+ * not. The control shows no message for it: `reportValidity()` does that.
73226
73528
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
73227
73529
  * and shows the browser's message at the control.
73228
73530
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -74920,7 +75222,7 @@ export type CustomElementsSolidJs = {
74920
75222
  * and reading `:disabled` here would answer about the attribute we are in the
74921
75223
  * middle of removing.
74922
75224
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
74923
- * not.
75225
+ * not. The control shows no message for it: `reportValidity()` does that.
74924
75226
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
74925
75227
  * and shows the browser's message at the control.
74926
75228
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -75841,7 +76143,7 @@ export type CustomElementsSolidJs = {
75841
76143
  * and reading `:disabled` here would answer about the attribute we are in the
75842
76144
  * middle of removing.
75843
76145
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
75844
- * not.
76146
+ * not. The control shows no message for it: `reportValidity()` does that.
75845
76147
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
75846
76148
  * and shows the browser's message at the control.
75847
76149
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -75936,7 +76238,8 @@ export type CustomElementsSolidJs = {
75936
76238
  * such as `buddhist` for `th-TH`, and `gregory` for every other, such as
75937
76239
  * `persian` for `fa-IR`, so a date written here reads as the same date a
75938
76240
  * Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
75939
- * - `date`: The timestamp, in any format `Date` can parse.
76241
+ * - `date`: The timestamp: a `Date`, milliseconds since the epoch, or a string in any
76242
+ * format `Date` can parse. The attribute is the string.
75940
76243
  *
75941
76244
  * An ISO string is what an API sends and what `<time datetime>` takes, so it
75942
76245
  * is the shape that needs no translation at either end. Left unset this
@@ -76999,7 +77302,7 @@ export type CustomElementsSolidJs = {
76999
77302
  * forgetting of a reader's past attempt, whose message otherwise showed over
77000
77303
  * the emptied control the moment the form was reset.
77001
77304
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
77002
- * not.
77305
+ * not. The control shows no message for it: `reportValidity()` does that.
77003
77306
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
77004
77307
  * and shows the browser's message at the control.
77005
77308
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -77616,7 +77919,7 @@ export type CustomElementsSolidJs = {
77616
77919
  * and reading `:disabled` here would answer about the attribute we are in the
77617
77920
  * middle of removing.
77618
77921
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
77619
- * not.
77922
+ * not. The control shows no message for it: `reportValidity()` does that.
77620
77923
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
77621
77924
  * and shows the browser's message at the control.
77622
77925
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -79361,7 +79664,8 @@ export type CustomElementsSolidJs = {
79361
79664
  * rather than being typed into means. Enter still chooses, because that is
79362
79665
  * the caller asking for the answer rather than for a move. Space, Home, End
79363
79666
  * and letters are left to the caller's field, where they are typing.
79364
- * - `reveal() => void`: Scrolls the chosen option to the middle of the list.
79667
+ * - `reveal() => void`: Scrolls the chosen option to the middle of the list, or the highlighted one
79668
+ * where nothing is chosen.
79365
79669
  *
79366
79670
  * A method rather than something this does on its own, because a listbox
79367
79671
  * opening on its answer usually wants it merely *visible* and the browser
@@ -79371,6 +79675,13 @@ export type CustomElementsSolidJs = {
79371
79675
  *
79372
79676
  * Measured by core's `centerInView`, or, for a list of `items`, by the
79373
79677
  * arithmetic, since the chosen option may not be drawn.
79678
+ * - `highlightValue(value: string) => void`: Puts the highlight on the option holding `value`, without choosing it, so
79679
+ * the arrow keys move from there. Nothing changes where no option a reader
79680
+ * can reach holds `value`.
79681
+ *
79682
+ * Time Picker calls it for a time between two of its steps, which no option
79683
+ * holds: without it the first arrow moved from the top of the list, so Down
79684
+ * from 14:07 went to midnight.
79374
79685
  * - `requestFilter(next: string) => boolean`: Requests a new filter, and returns whether the request went through.
79375
79686
  * - `requestValue(next: string) => boolean`: Requests a new value, and returns whether the change was applied.
79376
79687
  *
@@ -79424,7 +79735,7 @@ export type CustomElementsSolidJs = {
79424
79735
  * and reading `:disabled` here would answer about the attribute we are in the
79425
79736
  * middle of removing.
79426
79737
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
79427
- * not.
79738
+ * not. The control shows no message for it: `reportValidity()` does that.
79428
79739
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
79429
79740
  * and shows the browser's message at the control.
79430
79741
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -82516,7 +82827,7 @@ export type CustomElementsSolidJs = {
82516
82827
  * and reading `:disabled` here would answer about the attribute we are in the
82517
82828
  * middle of removing.
82518
82829
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
82519
- * not.
82830
+ * not. The control shows no message for it: `reportValidity()` does that.
82520
82831
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
82521
82832
  * and shows the browser's message at the control.
82522
82833
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -83669,7 +83980,7 @@ export type CustomElementsSolidJs = {
83669
83980
  * and reading `:disabled` here would answer about the attribute we are in the
83670
83981
  * middle of removing.
83671
83982
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
83672
- * not.
83983
+ * not. The control shows no message for it: `reportValidity()` does that.
83673
83984
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
83674
83985
  * and shows the browser's message at the control.
83675
83986
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -84052,7 +84363,7 @@ export type CustomElementsSolidJs = {
84052
84363
  * and reading `:disabled` here would answer about the attribute we are in the
84053
84364
  * middle of removing.
84054
84365
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
84055
- * not.
84366
+ * not. The control shows no message for it: `reportValidity()` does that.
84056
84367
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
84057
84368
  * and shows the browser's message at the control.
84058
84369
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -84893,7 +85204,7 @@ export type CustomElementsSolidJs = {
84893
85204
  * and reading `:disabled` here would answer about the attribute we are in the
84894
85205
  * middle of removing.
84895
85206
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
84896
- * not.
85207
+ * not. The control shows no message for it: `reportValidity()` does that.
84897
85208
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
84898
85209
  * and shows the browser's message at the control.
84899
85210
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -85330,7 +85641,7 @@ export type CustomElementsSolidJs = {
85330
85641
  * and reading `:disabled` here would answer about the attribute we are in the
85331
85642
  * middle of removing.
85332
85643
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
85333
- * not.
85644
+ * not. The control shows no message for it: `reportValidity()` does that.
85334
85645
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
85335
85646
  * and shows the browser's message at the control.
85336
85647
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -86154,7 +86465,7 @@ export type CustomElementsSolidJs = {
86154
86465
  * and reading `:disabled` here would answer about the attribute we are in the
86155
86466
  * middle of removing.
86156
86467
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
86157
- * not.
86468
+ * not. The control shows no message for it: `reportValidity()` does that.
86158
86469
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
86159
86470
  * and shows the browser's message at the control.
86160
86471
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -86681,7 +86992,7 @@ export type CustomElementsSolidJs = {
86681
86992
  * and reading `:disabled` here would answer about the attribute we are in the
86682
86993
  * middle of removing.
86683
86994
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
86684
- * not.
86995
+ * not. The control shows no message for it: `reportValidity()` does that.
86685
86996
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
86686
86997
  * and shows the browser's message at the control.
86687
86998
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -88215,7 +88526,7 @@ export type CustomElementsSolidJs = {
88215
88526
  * and reading `:disabled` here would answer about the attribute we are in the
88216
88527
  * middle of removing.
88217
88528
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
88218
- * not.
88529
+ * not. The control shows no message for it: `reportValidity()` does that.
88219
88530
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
88220
88531
  * and shows the browser's message at the control.
88221
88532
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -88587,6 +88898,7 @@ export type CustomElementsSolidJs = {
88587
88898
  * The `heading` slot names the table: slot a heading or a line of text into
88588
88899
  * it, and the table is named by its words. An `aria-label` or `aria-labelledby` on the
88589
88900
  * host wins over it.
88901
+ * A table with no name is reported once in a development build.
88590
88902
  *
88591
88903
  * **Selecting.** `selectable` adds a column of checkboxes.
88592
88904
  *
@@ -88672,9 +88984,17 @@ export type CustomElementsSolidJs = {
88672
88984
  * | A letter or a word | Moves to the next row whose first cell starts with what you typed. |
88673
88985
  * | Tab | Leaves the table. |
88674
88986
  *
88987
+ * **Long tables.** `windowed` draws only the rows in view, as Data Table's
88988
+ * does, and the box of the table scrolls under headings that stick. The
88989
+ * table still says how many rows it has with `aria-rowcount`, and each row
88990
+ * its place with `aria-rowindex`. The keys reach every row, drawn or not, and
88991
+ * the row holding focus stays drawn when it scrolls away. Nested rows,
88992
+ * sorting, and selecting work as they do in a table that draws every row.
88993
+ *
88675
88994
  * **Loading more.** `load-more` sends `helix-load-more` once the end of the
88676
88995
  * table comes within a screen of view, in the box that scrolls it or the
88677
- * page, once for each number of rows: add rows and it can send it again. Set
88996
+ * page, or in the table's own box when it is `windowed`, once for each
88997
+ * number of rows: add rows and it can send it again. Set
88678
88998
  * `loading` while you fetch, and the table asks for nothing until it clears.
88679
88999
  *
88680
89000
  * When the rows did not load, set `error-text`, such as "The orders did not
@@ -88799,6 +89119,14 @@ export type CustomElementsSolidJs = {
88799
89119
  * order has its whole sentence. `{order}` is the deprecated
88800
89120
  * `ascending-label` or `descending-label`.
88801
89121
  * - `unsorted-label`/`unsortedLabel`: What screen readers hear when the table stops being sorted.
89122
+ * - `windowed`: Draws only the rows in view, with empty space in place of the rest, as
89123
+ * Data Table's `windowed` does. The table's box then scrolls, at the
89124
+ * height `--table-block-size` gives it in the styled tier, and the
89125
+ * headings stick to its top.
89126
+ *
89127
+ * Off by default. Windowing costs a scroll listener, a measurement per row
89128
+ * drawn, and a height on the table, and a table of twenty rows should pay
89129
+ * none of them.
88802
89130
  * - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
88803
89131
  * - `loading`: Whether the rows are still loading.
88804
89132
  *
@@ -88870,6 +89198,8 @@ export type CustomElementsSolidJs = {
88870
89198
  *
88871
89199
  * Custom selectors for styling elements within the component.
88872
89200
  *
89201
+ * - `after`: The space that stands in for the rows below the window. Only while `windowed`.
89202
+ * - `before`: The space that stands in for the rows above the window. Only while `windowed`.
88873
89203
  * - `checkbox`: The checkbox in the heading that selects every row, in a `selectable` table.
88874
89204
  * - `checkbox-box`: The box drawn for the checkbox's input.
88875
89205
  * - `checkbox-control`: The checkbox's input.
@@ -89932,7 +90262,7 @@ export type CustomElementsSolidJs = {
89932
90262
  * and reading `:disabled` here would answer about the attribute we are in the
89933
90263
  * middle of removing.
89934
90264
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
89935
- * not.
90265
+ * not. The control shows no message for it: `reportValidity()` does that.
89936
90266
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
89937
90267
  * and shows the browser's message at the control.
89938
90268
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -90014,7 +90344,7 @@ export type CustomElementsSolidJs = {
90014
90344
  * | Home, End on a segment | Goes to the segment's first or last value. |
90015
90345
  * | Digits on a segment | Fill it, and move to the next once it can take no more. |
90016
90346
  * | A letter on the half of the day | Picks the half whose name starts with it, such as A for AM. |
90017
- * | Backspace, Delete on a segment | Empty the segment. |
90347
+ * | Backspace, Delete on a segment | Take off its last digit, or move to the segment before where it is empty. |
90018
90348
  * | Left, Right on a segment | Move to the previous or the next segment, along the line of text. |
90019
90349
  *
90020
90350
  * In the list, the keys are `TimePicker`'s.
@@ -90330,7 +90660,7 @@ export type CustomElementsSolidJs = {
90330
90660
  * and reading `:disabled` here would answer about the attribute we are in the
90331
90661
  * middle of removing.
90332
90662
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
90333
- * not.
90663
+ * not. The control shows no message for it: `reportValidity()` does that.
90334
90664
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
90335
90665
  * and shows the browser's message at the control.
90336
90666
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -90378,6 +90708,7 @@ export type CustomElementsSolidJs = {
90378
90708
  * - `picker-list-loading`: The text shown while the options load.
90379
90709
  * - `picker-list-search`: The region that holds the filter field.
90380
90710
  * - `picker-list-search-field`: The filter field.
90711
+ * - `picker-now`: The picker's button that chooses the current time, which Time Input does not draw.
90381
90712
  * - `picker-option`: One time in the picker. Carries `data-between` inside a range.
90382
90713
  * - `picker-option-between`: A time inside a chosen range, between its two ends. Set together with `picker-option`.
90383
90714
  * - `picker-option-description`: The caption under the label, when there is one.
@@ -90427,7 +90758,9 @@ export type CustomElementsSolidJs = {
90427
90758
  * between the wheels, and Tab does too.
90428
90759
  *
90429
90760
  * `hour-cycle` writes every time on a twelve or a twenty-four hour clock
90430
- * whatever the locale, and `seconds` holds times to the second.
90761
+ * whatever the locale, and `seconds` holds times to the second. `show-now`
90762
+ * draws a button that chooses the current time, on the step and inside the
90763
+ * bounds.
90431
90764
  *
90432
90765
  * The step keeps the list usable. At the default of 15 minutes a day is 96
90433
90766
  * rows, which people can scroll or type into. At 1 minute it is 1,440. Use the
@@ -90552,6 +90885,8 @@ export type CustomElementsSolidJs = {
90552
90885
  * and a wheel has exactly one value by construction. Rather than draw
90553
90886
  * something that cannot say what it holds, `wheels` renders as a list
90554
90887
  * whenever a mode is set.
90888
+ * - `now-label`/`nowLabel`: The words on the button that chooses the current time, drawn with
90889
+ * `show-now`.
90555
90890
  * - `range-overflow-message`/`rangeOverflowMessage`: The validation message for a time after `max`. `{max}` is replaced with
90556
90891
  * `max`, written in `locale`.
90557
90892
  * - `range-underflow-message`/`rangeUnderflowMessage`: The validation message for a time before `min`. `{min}` is replaced with
@@ -90579,6 +90914,13 @@ export type CustomElementsSolidJs = {
90579
90914
  * `<input type="time">` counts in. A list at a step of one second is 86,400
90580
90915
  * rows, so give `seconds` a `step` and bounds that keep it a list, or use
90581
90916
  * the wheels.
90917
+ * - `show-now`/`showNow`: Draws a button under the times that chooses the current time, as
90918
+ * `selectNow()` does.
90919
+ *
90920
+ * For a form about something happening now, such as a shift starting or a
90921
+ * dose taken, where the reader would otherwise scroll to the time on the
90922
+ * clock. The button is a tab stop after the times, and its words are
90923
+ * `now-label`.
90582
90924
  * - `step`: How far apart the offered times are, in minutes, or in seconds with
90583
90925
  * `seconds`.
90584
90926
  *
@@ -90711,6 +91053,14 @@ export type CustomElementsSolidJs = {
90711
91053
  *
90712
91054
  * Methods that can be called to access component functionality.
90713
91055
  *
91056
+ * - `selectNow() => boolean`: Chooses the current time, as a press on the `show-now` button does, and
91057
+ * returns whether the value changed.
91058
+ *
91059
+ * The time is read off the reader's clock and moved to the nearest time on
91060
+ * offer that is not barred, so it falls on the `step` and inside `min` and
91061
+ * `max`. It is requested as a pick is, so `helix-before-change` can cancel
91062
+ * it. With a `mode` the time joins the times held, and a range that holds
91063
+ * two starts over from it, as a third pick does.
90714
91064
  * - `reveal() => void`: Scrolls each wheel to its selected value, and the list to its selected
90715
91065
  * time.
90716
91066
  *
@@ -90785,7 +91135,7 @@ export type CustomElementsSolidJs = {
90785
91135
  * and reading `:disabled` here would answer about the attribute we are in the
90786
91136
  * middle of removing.
90787
91137
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
90788
- * not.
91138
+ * not. The control shows no message for it: `reportValidity()` does that.
90789
91139
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
90790
91140
  * and shows the browser's message at the control.
90791
91141
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -90825,6 +91175,7 @@ export type CustomElementsSolidJs = {
90825
91175
  * - `list-loading`: The text shown while the options load.
90826
91176
  * - `list-search`: The region that holds the filter field.
90827
91177
  * - `list-search-field`: The filter field.
91178
+ * - `now`: The button that chooses the current time, drawn with `show-now`.
90828
91179
  * - `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.
90829
91180
  * - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
90830
91181
  * - `option-description`: The caption under the time's label, when there is one.
@@ -91666,7 +92017,7 @@ export type CustomElementsSolidJs = {
91666
92017
  * and reading `:disabled` here would answer about the attribute we are in the
91667
92018
  * middle of removing.
91668
92019
  * - `checkValidity() => boolean`: Returns whether the control is valid, and fires `invalid` on it when it is
91669
- * not.
92020
+ * not. The control shows no message for it: `reportValidity()` does that.
91670
92021
  * - `reportValidity() => boolean`: Returns whether the control is valid, and when it is not, fires `invalid`
91671
92022
  * and shows the browser's message at the control.
91672
92023
  * - `setCustomValidity(message: string) => void`: Marks the control invalid with `message`, or clears that with an empty
@@ -94026,12 +94377,26 @@ export type CustomElementsSolidJs = {
94026
94377
  * smallest item size, and follows the box as it resizes. `gap` spaces the rows, and the columns
94027
94378
  * of a grid, by a number of pixels the list counts in each row's place.
94028
94379
  *
94380
+ * **Across.** `orientation="horizontal"` lays the items out along a line and
94381
+ * scrolls it sideways, as a strip of cards does, windowed the same way:
94382
+ * `estimate` is then an item's width, and the box needs an inline size.
94383
+ *
94384
+ * **Sections.** `section-field` names the field of each item that says which
94385
+ * section it is in, and the list draws a header before each section's items,
94386
+ * as React Aria's list box sections do. Each section is an element with the
94387
+ * `group` role, named by its header, which is its first child and carries
94388
+ * `data-header`, so your stylesheet styles it, such as with `position:
94389
+ * sticky`. A section starts wherever the field changes, so give the items in
94390
+ * order. The window counts the headers with the items, and a section the
94391
+ * window starts inside is drawn with its header. `renderSection` draws a
94392
+ * header of your own.
94393
+ *
94029
94394
  * **Keyboard.** The list is one tab stop.
94030
94395
  *
94031
94396
  * | Key | What it does |
94032
94397
  * |---|---|
94033
94398
  * | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. |
94034
- * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. |
94399
+ * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
94035
94400
  * | Home, End | Moves to the first or the last item. |
94036
94401
  * | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen. |
94037
94402
  * | A letter or a word | Moves to the next item whose text starts with what you typed. |
@@ -94151,6 +94516,15 @@ export type CustomElementsSolidJs = {
94151
94516
  * - `min-column-width`/`minColumnWidth`: The narrowest a column of a grid may be, in pixels. Set, the list lays
94152
94517
  * out as many columns as fit the box at that width, at least one, and
94153
94518
  * follows the box as it resizes, which `columns` then does not decide.
94519
+ * - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
94520
+ * and scrolls it sideways: Left and Right move between items, the other
94521
+ * way round on a right-to-left page, and `estimate` is an item's width. A
94522
+ * grid always runs down.
94523
+ * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
94524
+ * keys. Set, the items are drawn in sections: a header, then the items, in
94525
+ * an element with the `group` role that the header names. A section starts
94526
+ * wherever the field changes, so give the items in order. A list of one
94527
+ * column only.
94154
94528
  * - `selection-behavior`/`selectionBehavior`: What a press does to the items already chosen: `toggle` adds or takes out
94155
94529
  * the item, and `replace` selects it alone and lets the arrow keys carry the
94156
94530
  * selection, with Control or Command adding or taking out one item.
@@ -94174,6 +94548,9 @@ export type CustomElementsSolidJs = {
94174
94548
  * It returns what Lit renders: a template from `html`, a string, or a DOM
94175
94549
  * node. The list wraps each result in a `<div>` that carries the row's role
94176
94550
  * and place in the set. Where it is unset, the row `<template>` is used. (property only)
94551
+ * - `renderSection`: Draws each section's header, given its name and its place among the
94552
+ * sections, for a list given `section-field`. Set it as a property. Where
94553
+ * it is unset, the header is the name as text. (property only)
94177
94554
  * - `range`: The items on screen, as `items.slice(first, last)` reads them.
94178
94555
  *
94179
94556
  * Read from the scroll offset when asked. Both are 0 before the list has a
@@ -94241,6 +94618,7 @@ export type CustomElementsSolidJs = {
94241
94618
  * These can be used to apply styling when a component is in a given state.
94242
94619
  *
94243
94620
  * - `empty`: While the list has read its items and holds none.
94621
+ * - `horizontal`: While the list runs across, with `orientation="horizontal"`.
94244
94622
  * - `loading`: While `loading` is set.
94245
94623
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
94246
94624
  */