@fusion.dev/helix 0.171.0 → 0.173.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 (31) hide show
  1. package/custom-elements.json +2531 -95
  2. package/dist/chat/composer/chat-composer.css.js +1 -1
  3. package/dist/copy-button/root/copy-button-root.css.js +1 -1
  4. package/dist/element-events.generated.js +9 -1
  5. package/dist/graph/root/graph-root.css.js +2 -1
  6. package/dist/orb/root/orb-root.css.js +1 -1
  7. package/dist/orb/root/orb-root.d.ts +24 -5
  8. package/dist/orb/root/orb-root.js +24 -6
  9. package/dist/sandbox/index.d.ts +1 -0
  10. package/dist/sandbox/index.js +1 -0
  11. package/dist/sandbox/preview/sandbox-preview.d.ts +39 -2
  12. package/dist/sandbox/preview/sandbox-preview.js +37 -5
  13. package/dist/sandbox/root/sandbox-root.css.js +1 -1
  14. package/dist/sandbox/root/sandbox-root.d.ts +44 -4
  15. package/dist/sandbox/root/sandbox-root.js +92 -17
  16. package/dist/sandbox/source/editing.d.ts +111 -0
  17. package/dist/sandbox/source/editing.js +185 -0
  18. package/dist/sandbox/source/sandbox-source.css.js +2 -1
  19. package/dist/sandbox/source/sandbox-source.d.ts +131 -6
  20. package/dist/sandbox/source/sandbox-source.js +301 -17
  21. package/dist/timeline/root/timeline-root.css.js +1 -1
  22. package/dist/virtual-list/reorder/index.d.ts +1 -0
  23. package/dist/virtual-list/reorder/index.js +5 -0
  24. package/dist/virtual-list/reorder/virtual-list-reorder.css.d.ts +1 -0
  25. package/dist/virtual-list/reorder/virtual-list-reorder.css.js +12 -0
  26. package/dist/virtual-list/root/virtual-list-root.d.ts +9 -0
  27. package/lint.json +1 -1
  28. package/package.json +6 -6
  29. package/types/jsx.d.ts +996 -38
  30. package/types/vue.d.ts +236 -6
  31. package/types/words.d.ts +27 -0
package/types/jsx.d.ts CHANGED
@@ -3229,6 +3229,9 @@ separate actions. The semantics and the joining are separate questions:
3229
3229
  `role="group"` and a shared name are what make a set of buttons a set, and
3230
3230
  `helix-flex` gives the spacing without the group. */
3231
3231
  variant?: (HelixButtonGroup["variant"]) | undefined;
3232
+ /** Disables every button in the group, and says so on the group with
3233
+ `aria-disabled`. Reflected, so a stylesheet can select on it. */
3234
+ disabled?: (HelixButtonGroup["disabled"]) | undefined;
3232
3235
  /** Keeps at least one button pressed once one is, as React Aria's
3233
3236
  `disallowEmptySelection`: a press that would leave none pressed is
3234
3237
  refused. */
@@ -3278,6 +3281,9 @@ A button's own `value` names it, so a value holds no comma.
3278
3281
  The attribute is the seed, and a press changes the property, which does
3279
3282
  not reflect, as a native control's `value` does not. */
3280
3283
  value?: (HelixButtonGroup["value"]) | undefined;
3284
+ /** The pressed values as a list, in a selection mode, and an empty list
3285
+ otherwise. Written, it presses exactly those buttons. */
3286
+ values?: (HelixButtonGroup["values"]) | undefined;
3281
3287
 
3282
3288
  /** Fired after a press changes `value`, in a selection mode. */
3283
3289
  onchange?: ((e: HelixButtonGroupElementEvent) => void) | undefined;
@@ -3302,6 +3308,9 @@ separate actions. The semantics and the joining are separate questions:
3302
3308
  `role="group"` and a shared name are what make a set of buttons a set, and
3303
3309
  `helix-flex` gives the spacing without the group. */
3304
3310
  "prop:variant"?: (HelixButtonGroup["variant"]) | undefined;
3311
+ /** Disables every button in the group, and says so on the group with
3312
+ `aria-disabled`. Reflected, so a stylesheet can select on it. */
3313
+ "prop:disabled"?: (HelixButtonGroup["disabled"]) | undefined;
3305
3314
  /** Keeps at least one button pressed once one is, as React Aria's
3306
3315
  `disallowEmptySelection`: a press that would leave none pressed is
3307
3316
  refused. */
@@ -3351,6 +3360,9 @@ A button's own `value` names it, so a value holds no comma.
3351
3360
  The attribute is the seed, and a press changes the property, which does
3352
3361
  not reflect, as a native control's `value` does not. */
3353
3362
  "prop:value"?: (HelixButtonGroup["value"]) | undefined;
3363
+ /** The pressed values as a list, in a selection mode, and an empty list
3364
+ otherwise. Written, it presses exactly those buttons. */
3365
+ "prop:values"?: (HelixButtonGroup["values"]) | undefined;
3354
3366
  /** Fired after a press changes `value`, in a selection mode. */
3355
3367
  "on:change"?: ((e: HelixButtonGroupElementEvent) => void) | undefined;
3356
3368
  /** Fired before a press changes `value`, with the value it would leave in `detail.value`. Cancelable: call `preventDefault()` to keep the buttons as they are. */
@@ -4594,6 +4606,9 @@ Third", rather than with a comma this component chose. */
4594
4606
  /** The text read with a card that has connections both ways. `{leadsTo}` is
4595
4607
  `leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in. */
4596
4608
  linkedLabel?: (HelixCanvas["linkedLabel"]) | undefined;
4609
+ /** Marks the board as busy while its document arrives: the board is
4610
+ `aria-busy`, and the `loading` slot is shown. */
4611
+ loading?: (HelixCanvas["loading"]) | undefined;
4597
4612
  /** What screen readers hear after a key moves a card, with `{name}` for the
4598
4613
  card and `{x}` and `{y}` for where it now is, in the document's units.
4599
4614
 
@@ -5077,6 +5092,9 @@ Third", rather than with a comma this component chose. */
5077
5092
  /** The text read with a card that has connections both ways. `{leadsTo}` is
5078
5093
  `leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in. */
5079
5094
  "prop:linkedLabel"?: (HelixCanvas["linkedLabel"]) | undefined;
5095
+ /** Marks the board as busy while its document arrives: the board is
5096
+ `aria-busy`, and the `loading` slot is shown. */
5097
+ "prop:loading"?: (HelixCanvas["loading"]) | undefined;
5080
5098
  /** What screen readers hear after a key moves a card, with `{name}` for the
5081
5099
  card and `{x}` and `{y}` for where it now is, in the document's units.
5082
5100
 
@@ -6429,6 +6447,10 @@ export type HelixChatComposerHelixTypingElementEvent =
6429
6447
  HelixChatComposerElementEvent<HelixTypingEvent>;
6430
6448
 
6431
6449
  export type HelixChatComposerProps = {
6450
+ /** A message about the draft, shown under the field. While set, the composer
6451
+ is invalid, does not send, and does not submit, as a field's `feedback`
6452
+ does, and the message is announced as it appears. */
6453
+ feedback?: (HelixChatComposer["feedback"]) | undefined;
6432
6454
  /** The field's name, read by screen readers. */
6433
6455
  label?: (HelixChatComposer["label"]) | undefined;
6434
6456
  /** The most characters a draft can have. The field stops taking more. */
@@ -6515,6 +6537,10 @@ Here rather than on each control. */
6515
6537
  };
6516
6538
 
6517
6539
  export type HelixChatComposerSolidJsProps = {
6540
+ /** A message about the draft, shown under the field. While set, the composer
6541
+ is invalid, does not send, and does not submit, as a field's `feedback`
6542
+ does, and the message is announced as it appears. */
6543
+ "prop:feedback"?: (HelixChatComposer["feedback"]) | undefined;
6518
6544
  /** The field's name, read by screen readers. */
6519
6545
  "prop:label"?: (HelixChatComposer["label"]) | undefined;
6520
6546
  /** The most characters a draft can have. The field stops taking more. */
@@ -10718,6 +10744,24 @@ Defaulted rather than left empty. An icon-only control must be named, and
10718
10744
  the name of this one is not a judgment call: every copy button in the
10719
10745
  world is called Copy. A consumer with a better word still sets it. */
10720
10746
  label?: (HelixCopyButton["label"]) | undefined;
10747
+ /** Draws the name as words beside the icon, and the result in their place
10748
+ after a press. The button stays as wide as the longest of them. */
10749
+ "show-label"?: (HelixCopyButton["showLabel"]) | undefined;
10750
+ /** Draws the name as words beside the icon, and the result in their place
10751
+ after a press. The button stays as wide as the longest of them. */
10752
+ showLabel?: (HelixCopyButton["showLabel"]) | undefined;
10753
+ /** When the tooltip shows: `full` on hover and focus and after a press,
10754
+ `copy` only after a press, to show the result, and `none` never, for a
10755
+ button whose result shows another way, such as under `show-label`.
10756
+
10757
+ Unset is `full`, and the attribute stays absent until you write it. */
10758
+ tooltip?: (HelixCopyButton["tooltip"]) | undefined;
10759
+ /** The side the tooltip prefers. It moves to another side where this one
10760
+ does not fit. */
10761
+ "tooltip-placement"?: (HelixCopyButton["tooltipPlacement"]) | undefined;
10762
+ /** The side the tooltip prefers. It moves to another side where this one
10763
+ does not fit. */
10764
+ tooltipPlacement?: (HelixCopyButton["tooltipPlacement"]) | undefined;
10721
10765
  /** The text copied to the clipboard.
10722
10766
 
10723
10767
  It replaces `Button.value`, the submit value: a copy button never submits,
@@ -10854,6 +10898,24 @@ Defaulted rather than left empty. An icon-only control must be named, and
10854
10898
  the name of this one is not a judgment call: every copy button in the
10855
10899
  world is called Copy. A consumer with a better word still sets it. */
10856
10900
  "prop:label"?: (HelixCopyButton["label"]) | undefined;
10901
+ /** Draws the name as words beside the icon, and the result in their place
10902
+ after a press. The button stays as wide as the longest of them. */
10903
+ "bool:show-label"?: (HelixCopyButton["showLabel"]) | undefined;
10904
+ /** Draws the name as words beside the icon, and the result in their place
10905
+ after a press. The button stays as wide as the longest of them. */
10906
+ "prop:showLabel"?: (HelixCopyButton["showLabel"]) | undefined;
10907
+ /** When the tooltip shows: `full` on hover and focus and after a press,
10908
+ `copy` only after a press, to show the result, and `none` never, for a
10909
+ button whose result shows another way, such as under `show-label`.
10910
+
10911
+ Unset is `full`, and the attribute stays absent until you write it. */
10912
+ "prop:tooltip"?: (HelixCopyButton["tooltip"]) | undefined;
10913
+ /** The side the tooltip prefers. It moves to another side where this one
10914
+ does not fit. */
10915
+ "attr:tooltip-placement"?: (HelixCopyButton["tooltipPlacement"]) | undefined;
10916
+ /** The side the tooltip prefers. It moves to another side where this one
10917
+ does not fit. */
10918
+ "prop:tooltipPlacement"?: (HelixCopyButton["tooltipPlacement"]) | undefined;
10857
10919
  /** The text copied to the clipboard.
10858
10920
 
10859
10921
  It replaces `Button.value`, the submit value: a copy button never submits,
@@ -11356,7 +11418,11 @@ thousand rows, where the page is a reasonable fetch and a poor render.
11356
11418
 
11357
11419
  Off by default. Windowing costs a scroll listener, a measurement per row
11358
11420
  drawn, and a `block-size` on the scrolling box, and a table of twenty rows
11359
- should pay none of them. */
11421
+ should pay none of them.
11422
+
11423
+ While windowed, the `table` part scrolls on this tier: it carries
11424
+ `data-scroller`, and `core` ships `[data-scroller] { overflow: auto }` into
11425
+ every shadow root. You still need to give it a block size. */
11360
11426
  windowed?: (HelixDataTable["windowed"]) | undefined;
11361
11427
  /** Every row of the result, in the order it arrived.
11362
11428
 
@@ -11771,7 +11837,11 @@ thousand rows, where the page is a reasonable fetch and a poor render.
11771
11837
 
11772
11838
  Off by default. Windowing costs a scroll listener, a measurement per row
11773
11839
  drawn, and a `block-size` on the scrolling box, and a table of twenty rows
11774
- should pay none of them. */
11840
+ should pay none of them.
11841
+
11842
+ While windowed, the `table` part scrolls on this tier: it carries
11843
+ `data-scroller`, and `core` ships `[data-scroller] { overflow: auto }` into
11844
+ every shadow root. You still need to give it a block size. */
11775
11845
  "prop:windowed"?: (HelixDataTable["windowed"]) | undefined;
11776
11846
  /** Every row of the result, in the order it arrived.
11777
11847
 
@@ -17019,6 +17089,13 @@ or hides its notes. Drawn where the notes have two groups or more. */
17019
17089
  "links-to-label"?: (HelixGraph["linksToLabel"]) | undefined;
17020
17090
  /** How a note that links to the selected one is described, with `{note}`. */
17021
17091
  linksToLabel?: (HelixGraph["linksToLabel"]) | undefined;
17092
+ /** Marks the graph as busy while its notes arrive: the list is `aria-busy`,
17093
+ and the panel says so where it holds no notes yet. */
17094
+ loading?: (HelixGraph["loading"]) | undefined;
17095
+ /** What the panel says while `loading` is set and the list holds no notes. */
17096
+ "loading-label"?: (HelixGraph["loadingLabel"]) | undefined;
17097
+ /** What the panel says while `loading` is set and the list holds no notes. */
17098
+ loadingLabel?: (HelixGraph["loadingLabel"]) | undefined;
17022
17099
  /** What screen readers hear once the drawing has moved down, after `moved()`. */
17023
17100
  "moved-down-label"?: (HelixGraph["movedDownLabel"]) | undefined;
17024
17101
  /** What screen readers hear once the drawing has moved down, after `moved()`. */
@@ -17091,6 +17168,16 @@ own, since the fallback name is the same word. Empty leaves the role. */
17091
17168
  links?: (HelixGraph["links"]) | undefined;
17092
17169
  /** The notes. A property, never an attribute. */
17093
17170
  nodes?: (HelixGraph["nodes"]) | undefined;
17171
+ /** What each note's row in the list shows in place of its name: a function
17172
+ given the note that returns text, an element or a Lit template.
17173
+
17174
+ For an icon by its kind, or a date under its name, as React Aria's
17175
+ `ListBoxItem` takes children. The row is still named by the note's name,
17176
+ which typeahead and the search find it by, and described by how it stands
17177
+ to the selected note. Return the name with your content where it should
17178
+ still show. A property only, there being no way to write a function in
17179
+ markup. */
17180
+ noteContent?: (HelixGraph["noteContent"]) | undefined;
17094
17181
 
17095
17182
  /** A note was selected, in the list or in the drawing. The detail's `value` is its `id`. */
17096
17183
  "onhelix-activate"?: ((e: HelixGraphHelixActivateElementEvent) => void) | undefined;
@@ -17321,6 +17408,13 @@ or hides its notes. Drawn where the notes have two groups or more. */
17321
17408
  "attr:links-to-label"?: (HelixGraph["linksToLabel"]) | undefined;
17322
17409
  /** How a note that links to the selected one is described, with `{note}`. */
17323
17410
  "prop:linksToLabel"?: (HelixGraph["linksToLabel"]) | undefined;
17411
+ /** Marks the graph as busy while its notes arrive: the list is `aria-busy`,
17412
+ and the panel says so where it holds no notes yet. */
17413
+ "prop:loading"?: (HelixGraph["loading"]) | undefined;
17414
+ /** What the panel says while `loading` is set and the list holds no notes. */
17415
+ "attr:loading-label"?: (HelixGraph["loadingLabel"]) | undefined;
17416
+ /** What the panel says while `loading` is set and the list holds no notes. */
17417
+ "prop:loadingLabel"?: (HelixGraph["loadingLabel"]) | undefined;
17324
17418
  /** What screen readers hear once the drawing has moved down, after `moved()`. */
17325
17419
  "attr:moved-down-label"?: (HelixGraph["movedDownLabel"]) | undefined;
17326
17420
  /** What screen readers hear once the drawing has moved down, after `moved()`. */
@@ -17393,6 +17487,16 @@ own, since the fallback name is the same word. Empty leaves the role. */
17393
17487
  "prop:links"?: (HelixGraph["links"]) | undefined;
17394
17488
  /** The notes. A property, never an attribute. */
17395
17489
  "prop:nodes"?: (HelixGraph["nodes"]) | undefined;
17490
+ /** What each note's row in the list shows in place of its name: a function
17491
+ given the note that returns text, an element or a Lit template.
17492
+
17493
+ For an icon by its kind, or a date under its name, as React Aria's
17494
+ `ListBoxItem` takes children. The row is still named by the note's name,
17495
+ which typeahead and the search find it by, and described by how it stands
17496
+ to the selected note. Return the name with your content where it should
17497
+ still show. A property only, there being no way to write a function in
17498
+ markup. */
17499
+ "prop:noteContent"?: (HelixGraph["noteContent"]) | undefined;
17396
17500
  /** A note was selected, in the list or in the drawing. The detail's `value` is its `id`. */
17397
17501
  "on:helix-activate"?: ((e: HelixGraphHelixActivateElementEvent) => void) | undefined;
17398
17502
  /** A note is about to be selected. Cancelable: cancel it to keep the selection in your own state. */
@@ -20962,7 +21066,8 @@ itself. */
20962
21066
  type?: (HelixList["type"]) | undefined;
20963
21067
  /** The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
20964
21068
 
20965
- Set it to start with rows selected. A row's value is its `value`, or its
21069
+ A press or a key writes it in row order, as Data Table does, whatever
21070
+ order the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its
20966
21071
  words where it has none. */
20967
21072
  value?: (HelixList["value"]) | undefined;
20968
21073
 
@@ -21123,7 +21228,8 @@ itself. */
21123
21228
  "prop:type"?: (HelixList["type"]) | undefined;
21124
21229
  /** The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
21125
21230
 
21126
- Set it to start with rows selected. A row's value is its `value`, or its
21231
+ A press or a key writes it in row order, as Data Table does, whatever
21232
+ order the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its
21127
21233
  words where it has none. */
21128
21234
  "prop:value"?: (HelixList["value"]) | undefined;
21129
21235
  /** Fired once a press has changed which rows are selected. */
@@ -23910,6 +24016,14 @@ or on Alt+Down or Alt+Up. */
23910
24016
 
23911
24017
  It moves if that side does not fit. */
23912
24018
  placement?: (HelixMenu["placement"]) | undefined;
24019
+ /** What a screen reader hears when the filter narrows the rows. `{count}` is
24020
+ how many rows are left, written in the locale, and each language writes
24021
+ the forms it has, as Listbox's `results-label` does. */
24022
+ "results-label"?: (HelixMenu["resultsLabel"]) | undefined;
24023
+ /** What a screen reader hears when the filter narrows the rows. `{count}` is
24024
+ how many rows are left, written in the locale, and each language writes
24025
+ the forms it has, as Listbox's `results-label` does. */
24026
+ resultsLabel?: (HelixMenu["resultsLabel"]) | undefined;
23913
24027
  /** How a submenu opens. `drill` shows it in place of the page showing, with
23914
24028
  a way back. `flyout` opens it in a panel of its own beside its row. */
23915
24029
  submenus?: (HelixMenu["submenus"]) | undefined;
@@ -23920,9 +24034,19 @@ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
23920
24034
  Absent, a row is kept where its words hold the filter, in any case. A
23921
24035
  property only, there being no way to write a function in markup. */
23922
24036
  filterMatch?: (HelixMenu["filterMatch"]) | undefined;
24037
+ /** The values of the choice rows that are checked, anywhere in the menu, in
24038
+ document order.
24039
+
24040
+ Set it to check exactly those rows and uncheck every other choice row, as
24041
+ React Aria's `selectedKeys` controls a menu's selection from one place.
24042
+ Each row keeps its own `checked` too, which this reads and writes. `change`
24043
+ is sent on the menu when a reader's choice changes it. */
24044
+ checkedValues?: (HelixMenu["checkedValues"]) | undefined;
23923
24045
 
23924
24046
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
23925
24047
  ontoggle?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
24048
+ /** A reader's choice checked or unchecked rows. Read `checkedValues` for the rows that are checked now. */
24049
+ onchange?: ((e: HelixMenuElementEvent) => void) | undefined;
23926
24050
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
23927
24051
  "onhelix-before-close"?: ((e: HelixMenuHelixBeforeCloseElementEvent) => void) | undefined;
23928
24052
  /** The menu is about to open. Cancelable: cancel it to keep it closed. */
@@ -24026,6 +24150,14 @@ or on Alt+Down or Alt+Up. */
24026
24150
 
24027
24151
  It moves if that side does not fit. */
24028
24152
  "prop:placement"?: (HelixMenu["placement"]) | undefined;
24153
+ /** What a screen reader hears when the filter narrows the rows. `{count}` is
24154
+ how many rows are left, written in the locale, and each language writes
24155
+ the forms it has, as Listbox's `results-label` does. */
24156
+ "attr:results-label"?: (HelixMenu["resultsLabel"]) | undefined;
24157
+ /** What a screen reader hears when the filter narrows the rows. `{count}` is
24158
+ how many rows are left, written in the locale, and each language writes
24159
+ the forms it has, as Listbox's `results-label` does. */
24160
+ "prop:resultsLabel"?: (HelixMenu["resultsLabel"]) | undefined;
24029
24161
  /** How a submenu opens. `drill` shows it in place of the page showing, with
24030
24162
  a way back. `flyout` opens it in a panel of its own beside its row. */
24031
24163
  "prop:submenus"?: (HelixMenu["submenus"]) | undefined;
@@ -24036,8 +24168,18 @@ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
24036
24168
  Absent, a row is kept where its words hold the filter, in any case. A
24037
24169
  property only, there being no way to write a function in markup. */
24038
24170
  "prop:filterMatch"?: (HelixMenu["filterMatch"]) | undefined;
24171
+ /** The values of the choice rows that are checked, anywhere in the menu, in
24172
+ document order.
24173
+
24174
+ Set it to check exactly those rows and uncheck every other choice row, as
24175
+ React Aria's `selectedKeys` controls a menu's selection from one place.
24176
+ Each row keeps its own `checked` too, which this reads and writes. `change`
24177
+ is sent on the menu when a reader's choice changes it. */
24178
+ "prop:checkedValues"?: (HelixMenu["checkedValues"]) | undefined;
24039
24179
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
24040
24180
  "on:toggle"?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
24181
+ /** A reader's choice checked or unchecked rows. Read `checkedValues` for the rows that are checked now. */
24182
+ "on:change"?: ((e: HelixMenuElementEvent) => void) | undefined;
24041
24183
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
24042
24184
  "on:helix-before-close"?: ((e: HelixMenuHelixBeforeCloseElementEvent) => void) | undefined;
24043
24185
  /** The menu is about to open. Cancelable: cancel it to keep it closed. */
@@ -26576,6 +26718,10 @@ box the sections scroll in. */
26576
26718
  /** The navigation's name, read by screen readers. A heading in the `heading`
26577
26719
  slot names it in place of this. */
26578
26720
  label?: (HelixOutline["label"]) | undefined;
26721
+ /** Which links are marked. `reading` marks the one section being read, the
26722
+ last whose heading has passed the reading line. `visible` marks every
26723
+ section with part of it on screen, and the mark runs across their links. */
26724
+ marks?: (HelixOutline["marks"]) | undefined;
26579
26725
  /** How far below the top of the scroll container a heading counts as reached,
26580
26726
  in pixels. The scroll container is the window or the panel the sections
26581
26727
  scroll in.
@@ -26618,6 +26764,10 @@ box the sections scroll in. */
26618
26764
  /** The navigation's name, read by screen readers. A heading in the `heading`
26619
26765
  slot names it in place of this. */
26620
26766
  "prop:label"?: (HelixOutline["label"]) | undefined;
26767
+ /** Which links are marked. `reading` marks the one section being read, the
26768
+ last whose heading has passed the reading line. `visible` marks every
26769
+ section with part of it on screen, and the mark runs across their links. */
26770
+ "prop:marks"?: (HelixOutline["marks"]) | undefined;
26621
26771
  /** How far below the top of the scroll container a heading counts as reached,
26622
26772
  in pixels. The scroll container is the window or the panel the sections
26623
26773
  scroll in.
@@ -27563,17 +27713,42 @@ hydration, or diffed by a framework, it comes back holding whatever the
27563
27713
  last reader did rather than what the author wrote. `:state(open)` carries
27564
27714
  the resolved state for stylesheets, which is what the mirror is for. */
27565
27715
  open?: (HelixPopover["open"]) | undefined;
27716
+ /** The element the panel opens against, where that is not the trigger: its
27717
+ `id` in the same document or shadow root, or the element itself. Left
27718
+ empty, the panel opens against the trigger, or against the button whose
27719
+ command opened it. */
27720
+ anchor?: (HelixPopover["anchor"]) | undefined;
27566
27721
  /** Draws a point on the panel's edge facing the trigger.
27567
27722
 
27568
27723
  Off by default, which is the house style: a panel that opens from its
27569
27724
  trigger already reads as belonging to it. */
27570
27725
  arrow?: (HelixPopover["arrow"]) | undefined;
27726
+ /** How close to the window's edges the panel may come, in pixels, when it
27727
+ slides, shrinks or moves to the other side to fit. Left unset, it slides
27728
+ and shrinks to 8 pixels from an edge and moves to the other side only
27729
+ once it would cross one. */
27730
+ "container-padding"?: (HelixPopover["containerPadding"] | `${number}`) | undefined;
27731
+ /** How close to the window's edges the panel may come, in pixels, when it
27732
+ slides, shrinks or moves to the other side to fit. Left unset, it slides
27733
+ and shrinks to 8 pixels from an edge and moves to the other side only
27734
+ once it would cross one. */
27735
+ containerPadding?: (HelixPopover["containerPadding"]) | undefined;
27736
+ /** How far to slide the panel along the side it is on, in pixels: to the
27737
+ right on the top or the bottom, and down on the left or the right. */
27738
+ "cross-offset"?: (HelixPopover["crossOffset"] | `${number}`) | undefined;
27739
+ /** How far to slide the panel along the side it is on, in pixels: to the
27740
+ right on the top or the bottom, and down on the left or the right. */
27741
+ crossOffset?: (HelixPopover["crossOffset"]) | undefined;
27571
27742
  /** The panel's name where nothing else names it: no `label`, no heading in
27572
27743
  the panel, and no `aria-labelledby` on the host. */
27573
27744
  "fallback-label"?: (HelixPopover["fallbackLabel"]) | undefined;
27574
27745
  /** The panel's name where nothing else names it: no `label`, no heading in
27575
27746
  the panel, and no `aria-labelledby` on the host. */
27576
27747
  fallbackLabel?: (HelixPopover["fallbackLabel"]) | undefined;
27748
+ /** Whether the panel moves to the other side of the trigger when its own
27749
+ side has no room. On by default. Write `flip="false"` to keep it on its
27750
+ side, where it shrinks to fit, as React Aria's `shouldFlip` turns off. */
27751
+ flip?: (HelixPopover["flip"]) | undefined;
27577
27752
  /** The panel's name, read by screen readers. Left empty, the first heading in
27578
27753
  the panel names it, and then `fallback-label`. */
27579
27754
  label?: (HelixPopover["label"]) | undefined;
@@ -27627,17 +27802,42 @@ hydration, or diffed by a framework, it comes back holding whatever the
27627
27802
  last reader did rather than what the author wrote. `:state(open)` carries
27628
27803
  the resolved state for stylesheets, which is what the mirror is for. */
27629
27804
  "prop:open"?: (HelixPopover["open"]) | undefined;
27805
+ /** The element the panel opens against, where that is not the trigger: its
27806
+ `id` in the same document or shadow root, or the element itself. Left
27807
+ empty, the panel opens against the trigger, or against the button whose
27808
+ command opened it. */
27809
+ "prop:anchor"?: (HelixPopover["anchor"]) | undefined;
27630
27810
  /** Draws a point on the panel's edge facing the trigger.
27631
27811
 
27632
27812
  Off by default, which is the house style: a panel that opens from its
27633
27813
  trigger already reads as belonging to it. */
27634
27814
  "prop:arrow"?: (HelixPopover["arrow"]) | undefined;
27815
+ /** How close to the window's edges the panel may come, in pixels, when it
27816
+ slides, shrinks or moves to the other side to fit. Left unset, it slides
27817
+ and shrinks to 8 pixels from an edge and moves to the other side only
27818
+ once it would cross one. */
27819
+ "attr:container-padding"?: (HelixPopover["containerPadding"] | `${number}`) | undefined;
27820
+ /** How close to the window's edges the panel may come, in pixels, when it
27821
+ slides, shrinks or moves to the other side to fit. Left unset, it slides
27822
+ and shrinks to 8 pixels from an edge and moves to the other side only
27823
+ once it would cross one. */
27824
+ "prop:containerPadding"?: (HelixPopover["containerPadding"]) | undefined;
27825
+ /** How far to slide the panel along the side it is on, in pixels: to the
27826
+ right on the top or the bottom, and down on the left or the right. */
27827
+ "attr:cross-offset"?: (HelixPopover["crossOffset"] | `${number}`) | undefined;
27828
+ /** How far to slide the panel along the side it is on, in pixels: to the
27829
+ right on the top or the bottom, and down on the left or the right. */
27830
+ "prop:crossOffset"?: (HelixPopover["crossOffset"]) | undefined;
27635
27831
  /** The panel's name where nothing else names it: no `label`, no heading in
27636
27832
  the panel, and no `aria-labelledby` on the host. */
27637
27833
  "attr:fallback-label"?: (HelixPopover["fallbackLabel"]) | undefined;
27638
27834
  /** The panel's name where nothing else names it: no `label`, no heading in
27639
27835
  the panel, and no `aria-labelledby` on the host. */
27640
27836
  "prop:fallbackLabel"?: (HelixPopover["fallbackLabel"]) | undefined;
27837
+ /** Whether the panel moves to the other side of the trigger when its own
27838
+ side has no room. On by default. Write `flip="false"` to keep it on its
27839
+ side, where it shrinks to fit, as React Aria's `shouldFlip` turns off. */
27840
+ "prop:flip"?: (HelixPopover["flip"]) | undefined;
27641
27841
  /** The panel's name, read by screen readers. Left empty, the first heading in
27642
27842
  the panel names it, and then `fallback-label`. */
27643
27843
  "prop:label"?: (HelixPopover["label"]) | undefined;
@@ -29253,6 +29453,9 @@ export type HelixSandboxPreviewHelixResizeElementEvent =
29253
29453
  HelixSandboxPreviewElementEvent<HelixResizeEvent>;
29254
29454
 
29255
29455
  export type HelixSandboxPreviewProps = {
29456
+ /** The address the packages in `dependencies` load from, which the name, an
29457
+ `@` and the version follow. */
29458
+ cdn?: (HelixSandboxPreview["cdn"]) | undefined;
29256
29459
  /** The color mode the frame renders in.
29257
29460
 
29258
29461
  **The frame is a document and a document has its own color mode.** Setting
@@ -29284,6 +29487,11 @@ including every one of the 24 series colors a chart reads. */
29284
29487
  /** Whether the preview draws a reload button and a button that opens the
29285
29488
  example in a new tab, in its corner. */
29286
29489
  controls?: (HelixSandboxPreview["controls"]) | undefined;
29490
+ /** The npm packages an example can import by name in the built-in document,
29491
+ each name to a version or a range, as a `package.json` lists them. Each
29492
+ loads from `cdn`. Set it as JSON in the attribute or as an object. Not
29493
+ read where `src` is set. */
29494
+ dependencies?: (HelixSandboxPreview["dependencies"]) | undefined;
29287
29495
  /** Writing direction inside the frame.
29288
29496
 
29289
29497
  Not reflected. It is payload for the render message and nothing selects on
@@ -29310,6 +29518,10 @@ Not reflected, for `direction`'s reason: the placement is applied by the
29310
29518
  document inside the frame, against its own root, so no rule on this side
29311
29519
  could read it. */
29312
29520
  layout?: (HelixSandboxPreview["layout"]) | undefined;
29521
+ /** Module files an example imports by a relative path in the built-in
29522
+ document, each path, such as `utils.js`, to its source. Not read where
29523
+ `src` is set. */
29524
+ modules?: (HelixSandboxPreview["modules"]) | undefined;
29313
29525
  /** The name of the button that opens the example in a new tab, under
29314
29526
  `controls`. */
29315
29527
  "open-label"?: (HelixSandboxPreview["openLabel"]) | undefined;
@@ -29340,6 +29552,9 @@ Empty loads the built-in document, which defines no element. */
29340
29552
  };
29341
29553
 
29342
29554
  export type HelixSandboxPreviewSolidJsProps = {
29555
+ /** The address the packages in `dependencies` load from, which the name, an
29556
+ `@` and the version follow. */
29557
+ "prop:cdn"?: (HelixSandboxPreview["cdn"]) | undefined;
29343
29558
  /** The color mode the frame renders in.
29344
29559
 
29345
29560
  **The frame is a document and a document has its own color mode.** Setting
@@ -29371,6 +29586,11 @@ including every one of the 24 series colors a chart reads. */
29371
29586
  /** Whether the preview draws a reload button and a button that opens the
29372
29587
  example in a new tab, in its corner. */
29373
29588
  "prop:controls"?: (HelixSandboxPreview["controls"]) | undefined;
29589
+ /** The npm packages an example can import by name in the built-in document,
29590
+ each name to a version or a range, as a `package.json` lists them. Each
29591
+ loads from `cdn`. Set it as JSON in the attribute or as an object. Not
29592
+ read where `src` is set. */
29593
+ "prop:dependencies"?: (HelixSandboxPreview["dependencies"]) | undefined;
29374
29594
  /** Writing direction inside the frame.
29375
29595
 
29376
29596
  Not reflected. It is payload for the render message and nothing selects on
@@ -29397,6 +29617,10 @@ Not reflected, for `direction`'s reason: the placement is applied by the
29397
29617
  document inside the frame, against its own root, so no rule on this side
29398
29618
  could read it. */
29399
29619
  "prop:layout"?: (HelixSandboxPreview["layout"]) | undefined;
29620
+ /** Module files an example imports by a relative path in the built-in
29621
+ document, each path, such as `utils.js`, to its source. Not read where
29622
+ `src` is set. */
29623
+ "prop:modules"?: (HelixSandboxPreview["modules"]) | undefined;
29400
29624
  /** The name of the button that opens the example in a new tab, under
29401
29625
  `controls`. */
29402
29626
  "attr:open-label"?: (HelixSandboxPreview["openLabel"]) | undefined;
@@ -29526,6 +29750,12 @@ names below keeps that true whichever way round they sit.
29526
29750
  `split` follows the lead pane rather than the source, so `split="30"` means
29527
29751
  the same thing in both directions: thirty percent to whatever comes first. */
29528
29752
  lead?: (HelixSandbox["lead"]) | undefined;
29753
+ /** The description of a file tab whose pane holds an edit, read by screen
29754
+ readers after the file's name. */
29755
+ "modified-label"?: (HelixSandbox["modifiedLabel"]) | undefined;
29756
+ /** The description of a file tab whose pane holds an edit, read by screen
29757
+ readers after the file's name. */
29758
+ modifiedLabel?: (HelixSandbox["modifiedLabel"]) | undefined;
29529
29759
  /** Whether the panes sit side by side or stacked.
29530
29760
 
29531
29761
  Not reflected, for `lead`'s reason above: no rule selects on it. The axis
@@ -29686,6 +29916,12 @@ names below keeps that true whichever way round they sit.
29686
29916
  `split` follows the lead pane rather than the source, so `split="30"` means
29687
29917
  the same thing in both directions: thirty percent to whatever comes first. */
29688
29918
  "prop:lead"?: (HelixSandbox["lead"]) | undefined;
29919
+ /** The description of a file tab whose pane holds an edit, read by screen
29920
+ readers after the file's name. */
29921
+ "attr:modified-label"?: (HelixSandbox["modifiedLabel"]) | undefined;
29922
+ /** The description of a file tab whose pane holds an edit, read by screen
29923
+ readers after the file's name. */
29924
+ "prop:modifiedLabel"?: (HelixSandbox["modifiedLabel"]) | undefined;
29689
29925
  /** Whether the panes sit side by side or stacked.
29690
29926
 
29691
29927
  Not reflected, for `lead`'s reason above: no rule selects on it. The axis
@@ -29803,6 +30039,23 @@ export type HelixSandboxSourceHelixEditElementEvent =
29803
30039
  HelixSandboxSourceElementEvent<HelixEditEvent>;
29804
30040
 
29805
30041
  export type HelixSandboxSourceProps = {
30042
+ /** Whether typing an opening bracket or quote types its closing one too, and
30043
+ a bracket typed with text selected goes around it. */
30044
+ "close-brackets"?: (HelixSandboxSource["closeBrackets"]) | undefined;
30045
+ /** Whether typing an opening bracket or quote types its closing one too, and
30046
+ a bracket typed with text selected goes around it. */
30047
+ closeBrackets?: (HelixSandboxSource["closeBrackets"]) | undefined;
30048
+ /** Whether the pane offers completions for the word before the caret, from
30049
+ the words of the source and of `completions`. */
30050
+ complete?: (HelixSandboxSource["complete"]) | undefined;
30051
+ /** Words the pane offers under `complete` beside the words of the source,
30052
+ such as tag and attribute names. `manifestWords` reads them from a custom
30053
+ elements manifest. Set it as JSON in the attribute or as an array. */
30054
+ completions?: (HelixSandboxSource["completions"]) | undefined;
30055
+ /** The name of the list of completions, read by screen readers. */
30056
+ "completions-label"?: (HelixSandboxSource["completionsLabel"]) | undefined;
30057
+ /** The name of the list of completions, read by screen readers. */
30058
+ completionsLabel?: (HelixSandboxSource["completionsLabel"]) | undefined;
29806
30059
  /** The editable region's name, read by screen readers. */
29807
30060
  "field-label"?: (HelixSandboxSource["fieldLabel"]) | undefined;
29808
30061
  /** The editable region's name, read by screen readers. */
@@ -29826,6 +30079,12 @@ holds several panes. Empty puts the pane's `name` on the tab. */
29826
30079
  "line-numbers"?: (HelixSandboxSource["lineNumbers"]) | undefined;
29827
30080
  /** Whether each line of the source is numbered, in a gutter beside it. */
29828
30081
  lineNumbers?: (HelixSandboxSource["lineNumbers"]) | undefined;
30082
+ /** Whether the bracket beside the caret and its pair are marked while the
30083
+ field has focus. */
30084
+ "match-brackets"?: (HelixSandboxSource["matchBrackets"]) | undefined;
30085
+ /** Whether the bracket beside the caret and its pair are marked while the
30086
+ field has focus. */
30087
+ matchBrackets?: (HelixSandboxSource["matchBrackets"]) | undefined;
29829
30088
  /** Which source this pane holds. Every `helix-before-edit` event includes it.
29830
30089
 
29831
30090
  `html` and `css` are what the sandbox root routes on; any other name is
@@ -29833,6 +30092,14 @@ passed through untouched for a consumer wiring their own panes.
29833
30092
 
29834
30093
  Not reflected: nothing selects on it, so it keeps a real default instead. */
29835
30094
  name?: (HelixSandboxSource["name"]) | undefined;
30095
+ /** Whether the source is read only: it can be selected and copied, and not
30096
+ edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
30097
+ that is read only. */
30098
+ readonly?: (HelixSandboxSource["readOnly"]) | undefined;
30099
+ /** Whether the source is read only: it can be selected and copied, and not
30100
+ edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
30101
+ that is read only. */
30102
+ readOnly?: (HelixSandboxSource["readOnly"]) | undefined;
29836
30103
  /** Whether Tab indents the source. When it is off, Tab moves focus. */
29837
30104
  "tab-indents"?: (HelixSandboxSource["tabIndents"]) | undefined;
29838
30105
  /** Whether Tab indents the source. When it is off, Tab moves focus. */
@@ -29863,6 +30130,23 @@ returns markup. */
29863
30130
  };
29864
30131
 
29865
30132
  export type HelixSandboxSourceSolidJsProps = {
30133
+ /** Whether typing an opening bracket or quote types its closing one too, and
30134
+ a bracket typed with text selected goes around it. */
30135
+ "bool:close-brackets"?: (HelixSandboxSource["closeBrackets"]) | undefined;
30136
+ /** Whether typing an opening bracket or quote types its closing one too, and
30137
+ a bracket typed with text selected goes around it. */
30138
+ "prop:closeBrackets"?: (HelixSandboxSource["closeBrackets"]) | undefined;
30139
+ /** Whether the pane offers completions for the word before the caret, from
30140
+ the words of the source and of `completions`. */
30141
+ "prop:complete"?: (HelixSandboxSource["complete"]) | undefined;
30142
+ /** Words the pane offers under `complete` beside the words of the source,
30143
+ such as tag and attribute names. `manifestWords` reads them from a custom
30144
+ elements manifest. Set it as JSON in the attribute or as an array. */
30145
+ "prop:completions"?: (HelixSandboxSource["completions"]) | undefined;
30146
+ /** The name of the list of completions, read by screen readers. */
30147
+ "attr:completions-label"?: (HelixSandboxSource["completionsLabel"]) | undefined;
30148
+ /** The name of the list of completions, read by screen readers. */
30149
+ "prop:completionsLabel"?: (HelixSandboxSource["completionsLabel"]) | undefined;
29866
30150
  /** The editable region's name, read by screen readers. */
29867
30151
  "attr:field-label"?: (HelixSandboxSource["fieldLabel"]) | undefined;
29868
30152
  /** The editable region's name, read by screen readers. */
@@ -29886,6 +30170,12 @@ holds several panes. Empty puts the pane's `name` on the tab. */
29886
30170
  "bool:line-numbers"?: (HelixSandboxSource["lineNumbers"]) | undefined;
29887
30171
  /** Whether each line of the source is numbered, in a gutter beside it. */
29888
30172
  "prop:lineNumbers"?: (HelixSandboxSource["lineNumbers"]) | undefined;
30173
+ /** Whether the bracket beside the caret and its pair are marked while the
30174
+ field has focus. */
30175
+ "bool:match-brackets"?: (HelixSandboxSource["matchBrackets"]) | undefined;
30176
+ /** Whether the bracket beside the caret and its pair are marked while the
30177
+ field has focus. */
30178
+ "prop:matchBrackets"?: (HelixSandboxSource["matchBrackets"]) | undefined;
29889
30179
  /** Which source this pane holds. Every `helix-before-edit` event includes it.
29890
30180
 
29891
30181
  `html` and `css` are what the sandbox root routes on; any other name is
@@ -29893,6 +30183,14 @@ passed through untouched for a consumer wiring their own panes.
29893
30183
 
29894
30184
  Not reflected: nothing selects on it, so it keeps a real default instead. */
29895
30185
  "prop:name"?: (HelixSandboxSource["name"]) | undefined;
30186
+ /** Whether the source is read only: it can be selected and copied, and not
30187
+ edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
30188
+ that is read only. */
30189
+ "bool:readonly"?: (HelixSandboxSource["readOnly"]) | undefined;
30190
+ /** Whether the source is read only: it can be selected and copied, and not
30191
+ edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
30192
+ that is read only. */
30193
+ "prop:readOnly"?: (HelixSandboxSource["readOnly"]) | undefined;
29896
30194
  /** Whether Tab indents the source. When it is off, Tab moves focus. */
29897
30195
  "bool:tab-indents"?: (HelixSandboxSource["tabIndents"]) | undefined;
29898
30196
  /** Whether Tab indents the source. When it is off, Tab moves focus. */
@@ -32395,6 +32693,13 @@ that should survive its own collapse says how much of itself to keep, and
32395
32693
  only whoever put it there knows that, which is the same reason `min` is a
32396
32694
  consumer's to set. */
32397
32695
  collapsedSize?: (HelixSplitter["collapsedSize"]) | undefined;
32696
+ /** Which panes can be collapsed, as Zag's panels each take `collapsible`:
32697
+ `start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops
32698
+ at the edge without shutting. `Enter` collapses the end pane where only
32699
+ the end pane can be collapsed, and the start pane otherwise.
32700
+
32701
+ Unset is `both`, and the attribute stays absent until you write it. */
32702
+ collapsible?: (HelixSplitter["collapsible"]) | undefined;
32398
32703
  /** The name of the handle where two dividers cross, read by screen readers. */
32399
32704
  "corner-label"?: (HelixSplitter["cornerLabel"]) | undefined;
32400
32705
  /** The name of the handle where two dividers cross, read by screen readers. */
@@ -32423,6 +32728,18 @@ these words are the whole of where it is. */
32423
32728
  "default-position"?: (HelixSplitter["defaultPosition"] | `${number}`) | undefined;
32424
32729
  /** Where the divider starts, when `position` is not set. */
32425
32730
  defaultPosition?: (HelixSplitter["defaultPosition"]) | undefined;
32731
+ /** The least the end pane keeps, in the units `min` takes: a percentage, or
32732
+ a CSS length such as `16rem` resolved against the splitter's box. The
32733
+ divider stops that far from the end, whatever `max` allows, so `min` and
32734
+ `end-min` hold a minimum for each pane, as Zag's panels each take
32735
+ `minSize`. */
32736
+ "end-min"?: (HelixSplitter["endMin"]) | undefined;
32737
+ /** The least the end pane keeps, in the units `min` takes: a percentage, or
32738
+ a CSS length such as `16rem` resolved against the splitter's box. The
32739
+ divider stops that far from the end, whatever `max` allows, so `min` and
32740
+ `end-min` hold a minimum for each pane, as Zag's panels each take
32741
+ `minSize`. */
32742
+ endMin?: (HelixSplitter["endMin"]) | undefined;
32426
32743
  /** The divider's name, read by screen readers.
32427
32744
 
32428
32745
  An `aria-label` or `aria-labelledby` on the host names the divider too,
@@ -32567,6 +32884,13 @@ that should survive its own collapse says how much of itself to keep, and
32567
32884
  only whoever put it there knows that, which is the same reason `min` is a
32568
32885
  consumer's to set. */
32569
32886
  "prop:collapsedSize"?: (HelixSplitter["collapsedSize"]) | undefined;
32887
+ /** Which panes can be collapsed, as Zag's panels each take `collapsible`:
32888
+ `start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops
32889
+ at the edge without shutting. `Enter` collapses the end pane where only
32890
+ the end pane can be collapsed, and the start pane otherwise.
32891
+
32892
+ Unset is `both`, and the attribute stays absent until you write it. */
32893
+ "prop:collapsible"?: (HelixSplitter["collapsible"]) | undefined;
32570
32894
  /** The name of the handle where two dividers cross, read by screen readers. */
32571
32895
  "attr:corner-label"?: (HelixSplitter["cornerLabel"]) | undefined;
32572
32896
  /** The name of the handle where two dividers cross, read by screen readers. */
@@ -32595,6 +32919,18 @@ these words are the whole of where it is. */
32595
32919
  "attr:default-position"?: (HelixSplitter["defaultPosition"] | `${number}`) | undefined;
32596
32920
  /** Where the divider starts, when `position` is not set. */
32597
32921
  "prop:defaultPosition"?: (HelixSplitter["defaultPosition"]) | undefined;
32922
+ /** The least the end pane keeps, in the units `min` takes: a percentage, or
32923
+ a CSS length such as `16rem` resolved against the splitter's box. The
32924
+ divider stops that far from the end, whatever `max` allows, so `min` and
32925
+ `end-min` hold a minimum for each pane, as Zag's panels each take
32926
+ `minSize`. */
32927
+ "attr:end-min"?: (HelixSplitter["endMin"]) | undefined;
32928
+ /** The least the end pane keeps, in the units `min` takes: a percentage, or
32929
+ a CSS length such as `16rem` resolved against the splitter's box. The
32930
+ divider stops that far from the end, whatever `max` allows, so `min` and
32931
+ `end-min` hold a minimum for each pane, as Zag's panels each take
32932
+ `minSize`. */
32933
+ "prop:endMin"?: (HelixSplitter["endMin"]) | undefined;
32598
32934
  /** The divider's name, read by screen readers.
32599
32935
 
32600
32936
  An `aria-label` or `aria-labelledby` on the host names the divider too,
@@ -36938,6 +37274,18 @@ imperatively later, and nothing is hydrating by then.
36938
37274
 
36939
37275
  Here rather than on each control. */
36940
37276
  name?: (HelixTimePicker["name"]) | undefined;
37277
+ /** What each time in the list shows: a function given the time as `HH:mm`,
37278
+ or `HH:mm:ss` with `seconds`, and the time as the row writes it, that
37279
+ returns text, an element or a Lit template.
37280
+
37281
+ For the seats left at a time, or a caption under it, as React Aria's
37282
+ `ListBoxItem` takes children. Content with `slot="start"`, `slot="end"`
37283
+ or `slot="description"` goes to that slot of the row, and a description
37284
+ is read after the time. The row is still named by the written time, and
37285
+ typeahead still finds it by that. Return the written time with your
37286
+ content where it should still show. A property only, there being no way
37287
+ to write a function in markup. The wheels draw their own figures. */
37288
+ timeContent?: (HelixTimePicker["timeContent"]) | undefined;
36941
37289
  /** The value as a `Date` on 1 January 1970 UTC, or `null` while there is no time.
36942
37290
 
36943
37291
  The platform's own pair on `<input type="time">`, epoch day included: a time
@@ -37274,6 +37622,18 @@ imperatively later, and nothing is hydrating by then.
37274
37622
 
37275
37623
  Here rather than on each control. */
37276
37624
  "prop:name"?: (HelixTimePicker["name"]) | undefined;
37625
+ /** What each time in the list shows: a function given the time as `HH:mm`,
37626
+ or `HH:mm:ss` with `seconds`, and the time as the row writes it, that
37627
+ returns text, an element or a Lit template.
37628
+
37629
+ For the seats left at a time, or a caption under it, as React Aria's
37630
+ `ListBoxItem` takes children. Content with `slot="start"`, `slot="end"`
37631
+ or `slot="description"` goes to that slot of the row, and a description
37632
+ is read after the time. The row is still named by the written time, and
37633
+ typeahead still finds it by that. Return the written time with your
37634
+ content where it should still show. A property only, there being no way
37635
+ to write a function in markup. The wheels draw their own figures. */
37636
+ "prop:timeContent"?: (HelixTimePicker["timeContent"]) | undefined;
37277
37637
  /** The value as a `Date` on 1 January 1970 UTC, or `null` while there is no time.
37278
37638
 
37279
37639
  The platform's own pair on `<input type="time">`, epoch day included: a time
@@ -37421,6 +37781,13 @@ they run down it. */
37421
37781
  orientation?: (HelixTimeline["orientation"]) | undefined;
37422
37782
  /** Accessible name for the timeline, for people who reach it out of context. */
37423
37783
  label?: (HelixTimeline["label"]) | undefined;
37784
+ /** Marks the timeline as busy fetching more entries, and draws an entry
37785
+ after the last that says so. */
37786
+ loading?: (HelixTimeline["loading"]) | undefined;
37787
+ /** The text of the entry drawn while `loading` is set, where the `loading` slot is empty. */
37788
+ "loading-label"?: (HelixTimeline["loadingLabel"]) | undefined;
37789
+ /** The text of the entry drawn while `loading` is set, where the `loading` slot is empty. */
37790
+ loadingLabel?: (HelixTimeline["loadingLabel"]) | undefined;
37424
37791
  };
37425
37792
 
37426
37793
  export type HelixTimelineSolidJsProps = {
@@ -37435,6 +37802,13 @@ they run down it. */
37435
37802
  "prop:orientation"?: (HelixTimeline["orientation"]) | undefined;
37436
37803
  /** Accessible name for the timeline, for people who reach it out of context. */
37437
37804
  "prop:label"?: (HelixTimeline["label"]) | undefined;
37805
+ /** Marks the timeline as busy fetching more entries, and draws an entry
37806
+ after the last that says so. */
37807
+ "prop:loading"?: (HelixTimeline["loading"]) | undefined;
37808
+ /** The text of the entry drawn while `loading` is set, where the `loading` slot is empty. */
37809
+ "attr:loading-label"?: (HelixTimeline["loadingLabel"]) | undefined;
37810
+ /** The text of the entry drawn while `loading` is set, where the `loading` slot is empty. */
37811
+ "prop:loadingLabel"?: (HelixTimeline["loadingLabel"]) | undefined;
37438
37812
 
37439
37813
  /** Set the innerHTML of the element */
37440
37814
  innerHTML?: (string) | undefined;
@@ -41139,12 +41513,18 @@ export type HelixVirtualListElementEvent<E = Event> = TypedEvent<
41139
41513
  /** `helix-before-change` event type */
41140
41514
  export type HelixVirtualListHelixBeforeChangeElementEvent =
41141
41515
  HelixVirtualListElementEvent<HelixBeforeChangeEvent>;
41516
+ /** `helix-before-reorder` event type */
41517
+ export type HelixVirtualListHelixBeforeReorderElementEvent =
41518
+ HelixVirtualListElementEvent<HelixBeforeReorderEvent>;
41142
41519
  /** `helix-load-more` event type */
41143
41520
  export type HelixVirtualListHelixLoadMoreElementEvent =
41144
41521
  HelixVirtualListElementEvent<HelixLoadMoreEvent>;
41145
41522
  /** `helix-range-change` event type */
41146
41523
  export type HelixVirtualListHelixRangeChangeElementEvent =
41147
41524
  HelixVirtualListElementEvent<HelixRangeChangeEvent>;
41525
+ /** `helix-reorder` event type */
41526
+ export type HelixVirtualListHelixReorderElementEvent =
41527
+ HelixVirtualListElementEvent<HelixReorderEvent>;
41148
41528
 
41149
41529
  export type HelixVirtualListProps = {
41150
41530
  /** How many items a line holds. One, the default, is a list; more lays the
@@ -41224,6 +41604,13 @@ and scrolls it sideways: Left and Right move between items, the other
41224
41604
  way round on a right-to-left page, and `estimate` is an item's width. A
41225
41605
  grid always runs down. */
41226
41606
  orientation?: (HelixVirtualList["orientation"]) | undefined;
41607
+ /** Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
41608
+ (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
41609
+ with an arrow moves the row the keys are on, and a pointer drags a row.
41610
+ The list moves no item itself: you move your `items` on `helix-reorder`.
41611
+ Without that import it does nothing, so a list that never moves items
41612
+ carries none of the code. A list of one column, without sections. */
41613
+ reorderable?: (HelixVirtualList["reorderable"]) | undefined;
41227
41614
  /** The field of each item that names its section, as a key or a path of
41228
41615
  keys. Set, the items are drawn in sections: a header, then the items, in
41229
41616
  an element with the `group` role that the header names. A section starts
@@ -41289,12 +41676,18 @@ it is unset, the header is the name as text. */
41289
41676
  "onhelix-before-change"?: ((
41290
41677
  e: HelixVirtualListHelixBeforeChangeElementEvent,
41291
41678
  ) => void) | undefined;
41679
+ /** Fired when an item is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported, with every key in the new order. Cancelable: cancel it to keep the item where it is. */
41680
+ "onhelix-before-reorder"?: ((
41681
+ e: HelixVirtualListHelixBeforeReorderElementEvent,
41682
+ ) => void) | undefined;
41292
41683
  /** Fired when a reader comes within one screen of the last item, once for each length of the set. */
41293
41684
  "onhelix-load-more"?: ((e: HelixVirtualListHelixLoadMoreElementEvent) => void) | undefined;
41294
41685
  /** Fired when the items on screen change, with the new `first` and `last`, which `range` also holds. */
41295
41686
  "onhelix-range-change"?: ((
41296
41687
  e: HelixVirtualListHelixRangeChangeElementEvent,
41297
41688
  ) => void) | undefined;
41689
+ /** Fired after `helix-before-reorder` when nobody canceled it. Set `items` to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
41690
+ "onhelix-reorder"?: ((e: HelixVirtualListHelixReorderElementEvent) => void) | undefined;
41298
41691
  };
41299
41692
 
41300
41693
  export type HelixVirtualListSolidJsProps = {
@@ -41375,6 +41768,13 @@ and scrolls it sideways: Left and Right move between items, the other
41375
41768
  way round on a right-to-left page, and `estimate` is an item's width. A
41376
41769
  grid always runs down. */
41377
41770
  "prop:orientation"?: (HelixVirtualList["orientation"]) | undefined;
41771
+ /** Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
41772
+ (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
41773
+ with an arrow moves the row the keys are on, and a pointer drags a row.
41774
+ The list moves no item itself: you move your `items` on `helix-reorder`.
41775
+ Without that import it does nothing, so a list that never moves items
41776
+ carries none of the code. A list of one column, without sections. */
41777
+ "prop:reorderable"?: (HelixVirtualList["reorderable"]) | undefined;
41378
41778
  /** The field of each item that names its section, as a key or a path of
41379
41779
  keys. Set, the items are drawn in sections: a header, then the items, in
41380
41780
  an element with the `group` role that the header names. A section starts
@@ -41439,12 +41839,18 @@ it is unset, the header is the name as text. */
41439
41839
  "on:helix-before-change"?: ((
41440
41840
  e: HelixVirtualListHelixBeforeChangeElementEvent,
41441
41841
  ) => void) | undefined;
41842
+ /** Fired when an item is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported, with every key in the new order. Cancelable: cancel it to keep the item where it is. */
41843
+ "on:helix-before-reorder"?: ((
41844
+ e: HelixVirtualListHelixBeforeReorderElementEvent,
41845
+ ) => void) | undefined;
41442
41846
  /** Fired when a reader comes within one screen of the last item, once for each length of the set. */
41443
41847
  "on:helix-load-more"?: ((e: HelixVirtualListHelixLoadMoreElementEvent) => void) | undefined;
41444
41848
  /** Fired when the items on screen change, with the new `first` and `last`, which `range` also holds. */
41445
41849
  "on:helix-range-change"?: ((
41446
41850
  e: HelixVirtualListHelixRangeChangeElementEvent,
41447
41851
  ) => void) | undefined;
41852
+ /** Fired after `helix-before-reorder` when nobody canceled it. Set `items` to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
41853
+ "on:helix-reorder"?: ((e: HelixVirtualListHelixReorderElementEvent) => void) | undefined;
41448
41854
 
41449
41855
  /** Set the innerHTML of the element */
41450
41856
  innerHTML?: (string) | undefined;
@@ -43687,6 +44093,8 @@ export type CustomElements = {
43687
44093
  * separate actions. The semantics and the joining are separate questions:
43688
44094
  * `role="group"` and a shared name are what make a set of buttons a set, and
43689
44095
  * `helix-flex` gives the spacing without the group.
44096
+ * - `disabled`: Disables every button in the group, and says so on the group with
44097
+ * `aria-disabled`. Reflected, so a stylesheet can select on it.
43690
44098
  * - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
43691
44099
  * `disallowEmptySelection`: a press that would leave none pressed is
43692
44100
  * refused.
@@ -43721,6 +44129,8 @@ export type CustomElements = {
43721
44129
  *
43722
44130
  * The attribute is the seed, and a press changes the property, which does
43723
44131
  * not reflect, as a native control's `value` does not.
44132
+ * - `values`: The pressed values as a list, in a selection mode, and an empty list
44133
+ * otherwise. Written, it presses exactly those buttons. (property only)
43724
44134
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
43725
44135
  *
43726
44136
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -44625,6 +45035,8 @@ export type CustomElements = {
44625
45035
  * Third", rather than with a comma this component chose.
44626
45036
  * - `linked-label`/`linkedLabel`: The text read with a card that has connections both ways. `{leadsTo}` is
44627
45037
  * `leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in.
45038
+ * - `loading`: Marks the board as busy while its document arrives: the board is
45039
+ * `aria-busy`, and the `loading` slot is shown.
44628
45040
  * - `moved-label`/`movedLabel`: What screen readers hear after a key moves a card, with `{name}` for the
44629
45041
  * card and `{x}` and `{y}` for where it now is, in the document's units.
44630
45042
  *
@@ -44790,6 +45202,7 @@ export type CustomElements = {
44790
45202
  * - `footer`: Content below the board.
44791
45203
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
44792
45204
  * - `header`: Content above the board.
45205
+ * - `loading`: Content shown while `loading` is set, such as a progress bar while the document arrives.
44793
45206
  * - `pan-down-icon`: Replaces the glyph inside the pan down button.
44794
45207
  * - `pan-end-icon`: Replaces the glyph inside the button that pans toward the end of a line of text.
44795
45208
  * - `pan-start-icon`: Replaces the glyph inside the button that pans toward the start of a line of text.
@@ -44912,6 +45325,7 @@ export type CustomElements = {
44912
45325
  * - `fullscreen`: While the board fills the screen.
44913
45326
  * - `holding`: An item picked up with a click follows the pointer until the next press puts it down.
44914
45327
  * - `idle`: The user has been still for `idle-delay` milliseconds. The board's own controls stay; select on it to hide chrome of your own.
45328
+ * - `loading`: While `loading` is set.
44915
45329
  * - `pressing`: While a press on the board, its cards or its connections is under way.
44916
45330
  * - `sharing`: The page keeps the plain wheel and one finger, with `gestures="cooperative"` or while a board with `gestures="activate"` waits to be pressed.
44917
45331
  * - `using`: A board with `gestures="activate"` has been pressed and has the gestures.
@@ -45432,6 +45846,9 @@ export type CustomElements = {
45432
45846
  *
45433
45847
  * Component attributes and properties that can be applied to the element or by using JavaScript.
45434
45848
  *
45849
+ * - `feedback`: A message about the draft, shown under the field. While set, the composer
45850
+ * is invalid, does not send, and does not submit, as a field's `feedback`
45851
+ * does, and the message is announced as it appears.
45435
45852
  * - `label`: The field's name, read by screen readers.
45436
45853
  * - `maxlength`/`maxLength`: The most characters a draft can have. The field stops taking more.
45437
45854
  * - `minlength`/`minLength`: The fewest characters a draft can have, once the reader has written in
@@ -45597,6 +46014,7 @@ export type CustomElements = {
45597
46014
  * - `tools`: The row under the field.
45598
46015
  * - `composer`: The whole composer.
45599
46016
  * - `end`: The box around the `end` slot.
46017
+ * - `feedback`: The `feedback` message, under the field while it is set.
45600
46018
  * - `mark`: The icon inside the send button.
45601
46019
  * - `start`: The box around the `start` slot.
45602
46020
  *
@@ -45604,7 +46022,7 @@ export type CustomElements = {
45604
46022
  *
45605
46023
  * These can be used to apply styling when a component is in a given state.
45606
46024
  *
45607
- * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it.
46025
+ * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it. Or `feedback` is set.
45608
46026
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
45609
46027
  */
45610
46028
  "helix-chat-composer": Partial<
@@ -48208,6 +48626,15 @@ export type CustomElements = {
48208
48626
  * Defaulted rather than left empty. An icon-only control must be named, and
48209
48627
  * the name of this one is not a judgment call: every copy button in the
48210
48628
  * world is called Copy. A consumer with a better word still sets it.
48629
+ * - `show-label`/`showLabel`: Draws the name as words beside the icon, and the result in their place
48630
+ * after a press. The button stays as wide as the longest of them.
48631
+ * - `tooltip`: When the tooltip shows: `full` on hover and focus and after a press,
48632
+ * `copy` only after a press, to show the result, and `none` never, for a
48633
+ * button whose result shows another way, such as under `show-label`.
48634
+ *
48635
+ * Unset is `full`, and the attribute stays absent until you write it.
48636
+ * - `tooltip-placement`/`tooltipPlacement`: The side the tooltip prefers. It moves to another side where this one
48637
+ * does not fit.
48211
48638
  * - `value`: The text copied to the clipboard.
48212
48639
  *
48213
48640
  * It replaces `Button.value`, the submit value: a copy button never submits,
@@ -48391,6 +48818,7 @@ export type CustomElements = {
48391
48818
  * - `live`: The live region that says `copied-label` or `error-label` after a press, and `pending-label` when the button becomes pending under focus. It is rendered from the first time it says anything.
48392
48819
  * - `mark`: The clipboard icon, and the confirmation icon that replaces it.
48393
48820
  * - `spinner`: The ring a pending button turns, an empty element the styled button draws over the icon. It is rendered only while the button is pending.
48821
+ * - `text`: The words beside the icon, under `show-label`. It holds all three, `label`, `copied-label` and `error-label`, with all but the current one hidden.
48394
48822
  * - `tooltip`: The tooltip bubble, forwarded from the tooltip inside the button.
48395
48823
  * - `tooltip-arrow`: The tooltip's arrow, which points at the button.
48396
48824
  * - `tooltip-arrow-bottom`: The arrow while the bubble is below the button, on the bubble's top edge. Set together with `tooltip-arrow`.
@@ -48628,6 +49056,10 @@ export type CustomElements = {
48628
49056
  * Off by default. Windowing costs a scroll listener, a measurement per row
48629
49057
  * drawn, and a `block-size` on the scrolling box, and a table of twenty rows
48630
49058
  * should pay none of them.
49059
+ *
49060
+ * While windowed, the `table` part scrolls on this tier: it carries
49061
+ * `data-scroller`, and `core` ships `[data-scroller] { overflow: auto }` into
49062
+ * every shadow root. You still need to give it a block size.
48631
49063
  * - `rows`: Every row of the result, in the order it arrived.
48632
49064
  *
48633
49065
  * A property and not an attribute: it is an array. Left alone this element
@@ -52534,6 +52966,9 @@ export type CustomElements = {
52534
52966
  * - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
52535
52967
  * - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
52536
52968
  * - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
52969
+ * - `loading`: Marks the graph as busy while its notes arrive: the list is `aria-busy`,
52970
+ * and the panel says so where it holds no notes yet.
52971
+ * - `loading-label`/`loadingLabel`: What the panel says while `loading` is set and the list holds no notes.
52537
52972
  * - `moved-down-label`/`movedDownLabel`: What screen readers hear once the drawing has moved down, after `moved()`.
52538
52973
  * - `moved-left-label`/`movedLeftLabel`: What screen readers hear once the drawing has moved left, after `moved()`.
52539
52974
  * - `moved-right-label`/`movedRightLabel`: What screen readers hear once the drawing has moved right, after `moved()`.
@@ -52556,6 +52991,15 @@ export type CustomElements = {
52556
52991
  * - `hiddenGroups`: The groups turned off in the legend, by name, whose notes neither the drawing nor the list shows. A property, never an attribute. (property only)
52557
52992
  * - `links`: The links between notes, each from `source` to `target`. A property, never an attribute. (property only)
52558
52993
  * - `nodes`: The notes. A property, never an attribute. (property only)
52994
+ * - `noteContent`: What each note's row in the list shows in place of its name: a function
52995
+ * given the note that returns text, an element or a Lit template.
52996
+ *
52997
+ * For an icon by its kind, or a date under its name, as React Aria's
52998
+ * `ListBoxItem` takes children. The row is still named by the note's name,
52999
+ * which typeahead and the search find it by, and described by how it stands
53000
+ * to the selected note. Return the name with your content where it should
53001
+ * still show. A property only, there being no way to write a function in
53002
+ * markup. (property only)
52559
53003
  * - `ready`: Whether the graph has been drawn whole. For code that runs after `helix-graph-ready`. (property only) (readonly)
52560
53004
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
52561
53005
  *
@@ -52602,6 +53046,7 @@ export type CustomElements = {
52602
53046
  * - `footer`: Content below the graph.
52603
53047
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
52604
53048
  * - `header`: Content above the graph.
53049
+ * - `loading`: What the panel shows while `loading` is set and the list holds no notes. Defaults to `loading-label`.
52605
53050
  * - `pan-down-icon`: Replaces the glyph inside the pan down button.
52606
53051
  * - `pan-end-icon`: Replaces the glyph inside the button that pans toward the end of a line of text.
52607
53052
  * - `pan-start-icon`: Replaces the glyph inside the button that pans toward the start of a line of text.
@@ -52693,6 +53138,7 @@ export type CustomElements = {
52693
53138
  * - `legend-swatch`: The mark in a group's color, before its name.
52694
53139
  * - `list`: The list of notes, which draws only the rows in view.
52695
53140
  * - `live`: What screen readers hear: how many notes there are when a search or the legend changes it, and which way the drawing went after a key or a control moved it.
53141
+ * - `loading`: The box in place of the list while `loading` is set and it holds no notes, holding the `loading` slot.
52696
53142
  * - `note`: One note in the list.
52697
53143
  * - `note-cursor`: The note the keyboard is on in the list.
52698
53144
  * - `note-linked`: A note linked to or from the selected one.
@@ -52720,6 +53166,7 @@ export type CustomElements = {
52720
53166
  * - `empty`: The list holds no notes: the graph has none, or a search or the groups hid them all.
52721
53167
  * - `fullscreen`: The graph fills the screen.
52722
53168
  * - `idle`: The user has been still long enough for the header and footer to fade.
53169
+ * - `loading`: While `loading` is set.
52723
53170
  * - `local`: The drawing shows the selected note's local graph, with `depth`.
52724
53171
  * - `panel-open`: A graph with `no-panel` has the search and the list open over the drawing.
52725
53172
  * - `ready`: The graph has been drawn whole, after `helix-graph-ready`.
@@ -55305,7 +55752,8 @@ export type CustomElements = {
55305
55752
  * itself.
55306
55753
  * - `value`: The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
55307
55754
  *
55308
- * Set it to start with rows selected. A row's value is its `value`, or its
55755
+ * A press or a key writes it in row order, as Data Table does, whatever
55756
+ * order the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its
55309
55757
  * words where it has none.
55310
55758
  * - `rows`: The rows the list holds, in order. (property only) (readonly)
55311
55759
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -57293,6 +57741,8 @@ export type CustomElements = {
57293
57741
  * These can be used to apply styling when a component is in a given state.
57294
57742
  *
57295
57743
  * - `checked`: The row is checked.
57744
+ * - `disabled`: The row is disabled.
57745
+ * - `expanded`: Under `submenus="flyout"`, the row's submenu is open beside it.
57296
57746
  * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
57297
57747
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
57298
57748
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
@@ -57363,6 +57813,9 @@ export type CustomElements = {
57363
57813
  * - `placement`: The side the menu opens on, when there is room.
57364
57814
  *
57365
57815
  * It moves if that side does not fit.
57816
+ * - `results-label`/`resultsLabel`: What a screen reader hears when the filter narrows the rows. `{count}` is
57817
+ * how many rows are left, written in the locale, and each language writes
57818
+ * the forms it has, as Listbox's `results-label` does.
57366
57819
  * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
57367
57820
  * a way back. `flyout` opens it in a panel of its own beside its row.
57368
57821
  * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
@@ -57371,6 +57824,13 @@ export type CustomElements = {
57371
57824
  *
57372
57825
  * Absent, a row is kept where its words hold the filter, in any case. A
57373
57826
  * property only, there being no way to write a function in markup. (property only)
57827
+ * - `checkedValues`: The values of the choice rows that are checked, anywhere in the menu, in
57828
+ * document order.
57829
+ *
57830
+ * Set it to check exactly those rows and uncheck every other choice row, as
57831
+ * React Aria's `selectedKeys` controls a menu's selection from one place.
57832
+ * Each row keeps its own `checked` too, which this reads and writes. `change`
57833
+ * is sent on the menu when a reader's choice changes it. (property only)
57374
57834
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
57375
57835
  *
57376
57836
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -57397,6 +57857,7 @@ export type CustomElements = {
57397
57857
  * Events that will be emitted by the component.
57398
57858
  *
57399
57859
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
57860
+ * - `change`: A reader's choice checked or unchecked rows. Read `checkedValues` for the rows that are checked now.
57400
57861
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
57401
57862
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
57402
57863
  * - `helix-filter`: The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself.
@@ -57407,6 +57868,8 @@ export type CustomElements = {
57407
57868
  * Areas where markup can be added to the component.
57408
57869
  *
57409
57870
  * - `(default)`: The items.
57871
+ * - `empty`: What the menu shows when it has no items, for content richer than `empty-text`.
57872
+ * - `loading`: What the menu shows while its items load, for content richer than `loading-text`.
57410
57873
  * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
57411
57874
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
57412
57875
  *
@@ -57458,6 +57921,8 @@ export type CustomElements = {
57458
57921
  * These can be used to apply styling when a component is in a given state.
57459
57922
  *
57460
57923
  * - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
57924
+ * - `entering`: From the moment the panel shows until its entrance has finished.
57925
+ * - `exiting`: From the moment the panel hides until its exit has finished.
57461
57926
  * - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
57462
57927
  * - `open`: While the menu is open.
57463
57928
  * - `placed-bottom`: While the open panel sits below its trigger.
@@ -59309,10 +59774,18 @@ export type CustomElements = {
59309
59774
  *
59310
59775
  * The orb is styled only and has behavior, which the tier split does not
59311
59776
  * otherwise allow. Its role, name and busy state follow `state`, unless
59312
- * `announce` makes it a status region, and the rest
59313
- * is drawing dots to a canvas, so there is no structure to restyle. For a
59314
- * drawing of your own, the headless `Loader` holds the same busy progress bar
59315
- * and its name.
59777
+ * `announce` makes it a status region, and the rest is drawing dots to a
59778
+ * canvas.
59779
+ *
59780
+ * **A shape of your own goes in the default slot**, such as an SVG, an
59781
+ * image, or an animation. The orb draws it over its box in place of the dots
59782
+ * and stops drawing them, and keeps its role, name, busy state and custom
59783
+ * states, so your stylesheet can change what you slotted by state, such as
59784
+ * `helix-orb:state(working) svg { animation-duration: 1s }`. What you slot is
59785
+ * for the eye: a screen reader hears the orb's name.
59786
+ *
59787
+ * `--orb-speed` scales how fast the dots move, so `0.5` is a calmer orb at
59788
+ * half the tempo.
59316
59789
  *
59317
59790
  * Each state is also a custom state, such as `:state(thinking)` or
59318
59791
  * `:state(done)`, so a page can style what sits around an orb by what it shows,
@@ -59394,6 +59867,12 @@ export type CustomElements = {
59394
59867
  * browser harness's awaits it alone: a browser always runs the frame, and a
59395
59868
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59396
59869
  *
59870
+ * ## Slots
59871
+ *
59872
+ * Areas where markup can be added to the component.
59873
+ *
59874
+ * - `(default)`: A shape of your own, drawn over the orb's box in place of the dots.
59875
+ *
59397
59876
  * ## CSS Custom Properties
59398
59877
  *
59399
59878
  * CSS variables available for styling the component.
@@ -59401,12 +59880,13 @@ export type CustomElements = {
59401
59880
  * - `--orb-color`: The color of the nearest dots. Defaults to `currentColor`.
59402
59881
  * - `--orb-ground`: The color the farthest dots fade toward. Defaults to the page's background.
59403
59882
  * - `--orb-size`: The diameter. Overrides `size`.
59883
+ * - `--orb-speed`: How fast the dots move, as a multiple of each state's own tempo. Defaults to `1`.
59404
59884
  *
59405
59885
  * ## CSS Parts
59406
59886
  *
59407
59887
  * Custom selectors for styling elements within the component.
59408
59888
  *
59409
- * - `canvas`: The canvas the dots are drawn on.
59889
+ * - `canvas`: The canvas the dots are drawn on. Hidden while the default slot holds a shape.
59410
59890
  * - `live`: The word for the state, which the orb says as it changes when `announce` is set. Rendered only then, and clipped out of view.
59411
59891
  *
59412
59892
  * ## CSS States
@@ -59470,6 +59950,9 @@ export type CustomElements = {
59470
59950
  * box the sections scroll in.
59471
59951
  * - `label`: The navigation's name, read by screen readers. A heading in the `heading`
59472
59952
  * slot names it in place of this.
59953
+ * - `marks`: Which links are marked. `reading` marks the one section being read, the
59954
+ * last whose heading has passed the reading line. `visible` marks every
59955
+ * section with part of it on screen, and the mark runs across their links.
59473
59956
  * - `offset`: How far below the top of the scroll container a heading counts as reached,
59474
59957
  * in pixels. The scroll container is the window or the panel the sections
59475
59958
  * scroll in.
@@ -59485,6 +59968,9 @@ export type CustomElements = {
59485
59968
  * writable property in this library that a component also writes is state a
59486
59969
  * consumer can own; this one cannot be, and saying so with the type is better
59487
59970
  * than saying it in a sentence nobody reads. (property only) (readonly)
59971
+ * - `marked`: The ids of the sections whose links are marked, in page order: the one
59972
+ * `current` names, or under `marks="visible"` every section on screen.
59973
+ * Read-only, for the reason `current` gives. (property only) (readonly)
59488
59974
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
59489
59975
  *
59490
59976
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -59520,6 +60006,14 @@ export type CustomElements = {
59520
60006
  * - `heading`: A heading above the links, such as "On this page". It names the navigation.
59521
60007
  * - `indicator`: A mark of your own, drawn inside the `indicator` part, where `--indicator-x`, `--indicator-y`, `--indicator-inline-size` and `--indicator-block-size` reach it.
59522
60008
  *
60009
+ * ## Methods
60010
+ *
60011
+ * Methods that can be called to access component functionality.
60012
+ *
60013
+ * - `scrollToSection(id: string) => boolean`: Scrolls to the section with this id, as a press on its link does, with
60014
+ * `behavior`, and marks its link at once. The address and focus stay where
60015
+ * they are. Returns whether the outline has a link to that section.
60016
+ *
59523
60017
  * ## CSS Custom Properties
59524
60018
  *
59525
60019
  * CSS variables available for styling the component.
@@ -60319,12 +60813,25 @@ export type CustomElements = {
60319
60813
  * hydration, or diffed by a framework, it comes back holding whatever the
60320
60814
  * last reader did rather than what the author wrote. `:state(open)` carries
60321
60815
  * the resolved state for stylesheets, which is what the mirror is for.
60816
+ * - `anchor`: The element the panel opens against, where that is not the trigger: its
60817
+ * `id` in the same document or shadow root, or the element itself. Left
60818
+ * empty, the panel opens against the trigger, or against the button whose
60819
+ * command opened it.
60322
60820
  * - `arrow`: Draws a point on the panel's edge facing the trigger.
60323
60821
  *
60324
60822
  * Off by default, which is the house style: a panel that opens from its
60325
60823
  * trigger already reads as belonging to it.
60824
+ * - `container-padding`/`containerPadding`: How close to the window's edges the panel may come, in pixels, when it
60825
+ * slides, shrinks or moves to the other side to fit. Left unset, it slides
60826
+ * and shrinks to 8 pixels from an edge and moves to the other side only
60827
+ * once it would cross one.
60828
+ * - `cross-offset`/`crossOffset`: How far to slide the panel along the side it is on, in pixels: to the
60829
+ * right on the top or the bottom, and down on the left or the right.
60326
60830
  * - `fallback-label`/`fallbackLabel`: The panel's name where nothing else names it: no `label`, no heading in
60327
60831
  * the panel, and no `aria-labelledby` on the host.
60832
+ * - `flip`: Whether the panel moves to the other side of the trigger when its own
60833
+ * side has no room. On by default. Write `flip="false"` to keep it on its
60834
+ * side, where it shrinks to fit, as React Aria's `shouldFlip` turns off.
60328
60835
  * - `label`: The panel's name, read by screen readers. Left empty, the first heading in
60329
60836
  * the panel names it, and then `fallback-label`.
60330
60837
  * - `modal`: Keeps `Tab` inside the panel while it is open, marks the panel
@@ -60416,6 +60923,8 @@ export type CustomElements = {
60416
60923
  *
60417
60924
  * These can be used to apply styling when a component is in a given state.
60418
60925
  *
60926
+ * - `aligned-end`: While the panel is aligned to the end of the side it sits on.
60927
+ * - `aligned-start`: While the panel is aligned to the start of the side it sits on.
60419
60928
  * - `entering`: From the moment the panel shows until its entrance has finished.
60420
60929
  * - `exiting`: From the moment the panel hides until its exit has finished.
60421
60930
  * - `open`: While the popover is open.
@@ -61577,6 +62086,16 @@ export type CustomElements = {
61577
62086
  * since a browser reads one only as a document starts. A `src` document
61578
62087
  * declares its own.
61579
62088
  *
62089
+ * **`dependencies` names packages by version instead**, as a `package.json`
62090
+ * does: `{"canvas-confetti": "^1.9"}` loads `canvas-confetti` and the paths
62091
+ * under it from `cdn`, `https://esm.sh/` by default, at the version or range
62092
+ * given. An address in `imports` wins over a package of the same name.
62093
+ *
62094
+ * **`modules` holds files the example imports by a relative path**: each path,
62095
+ * such as `utils.js`, to its source, and `import { add } from './utils.js'`
62096
+ * in the `js` pane or in another module loads it. A sandbox writes each pane
62097
+ * named for a module file here.
62098
+ *
61580
62099
  * **Examples render in a frame**, so an example's styles and scripts do not
61581
62100
  * affect the page around the sandbox, and `position: fixed` stays inside the
61582
62101
  * pane. The frame starts empty, with its own stylesheets and its own custom
@@ -61597,8 +62116,9 @@ export type CustomElements = {
61597
62116
  *
61598
62117
  * **A failed preview shows the error over the example**, in the `error` part,
61599
62118
  * until the next source is sent. The terminal says it too, so the part is not
61600
- * announced. Hide it with `::part(error) { display: none }` where the page
61601
- * draws its own.
62119
+ * announced, and it is the frame's description while it shows, so a screen
62120
+ * reader reads it with the frame. Hide it with `::part(error) { display: none }`
62121
+ * where the page draws its own.
61602
62122
  *
61603
62123
  * **`controls` draws two buttons in the preview's corner**: one reloads the
61604
62124
  * frame's document, as `reload()` does, and one opens the example in a new
@@ -61608,6 +62128,8 @@ export type CustomElements = {
61608
62128
  *
61609
62129
  * Component attributes and properties that can be applied to the element or by using JavaScript.
61610
62130
  *
62131
+ * - `cdn`: The address the packages in `dependencies` load from, which the name, an
62132
+ * `@` and the version follow.
61611
62133
  * - `color-mode`/`colorMode`: The color mode the frame renders in.
61612
62134
  *
61613
62135
  * **The frame is a document and a document has its own color mode.** Setting
@@ -61623,6 +62145,10 @@ export type CustomElements = {
61623
62145
  * including every one of the 24 series colors a chart reads.
61624
62146
  * - `controls`: Whether the preview draws a reload button and a button that opens the
61625
62147
  * example in a new tab, in its corner.
62148
+ * - `dependencies`: The npm packages an example can import by name in the built-in document,
62149
+ * each name to a version or a range, as a `package.json` lists them. Each
62150
+ * loads from `cdn`. Set it as JSON in the attribute or as an object. Not
62151
+ * read where `src` is set.
61626
62152
  * - `direction`: Writing direction inside the frame.
61627
62153
  *
61628
62154
  * Not reflected. It is payload for the render message and nothing selects on
@@ -61645,6 +62171,9 @@ export type CustomElements = {
61645
62171
  * Not reflected, for `direction`'s reason: the placement is applied by the
61646
62172
  * document inside the frame, against its own root, so no rule on this side
61647
62173
  * could read it.
62174
+ * - `modules`: Module files an example imports by a relative path in the built-in
62175
+ * document, each path, such as `utils.js`, to its source. Not read where
62176
+ * `src` is set.
61648
62177
  * - `open-label`/`openLabel`: The name of the button that opens the example in a new tab, under
61649
62178
  * `controls`.
61650
62179
  * - `reload-label`/`reloadLabel`: The name of the button that reloads the frame's document, under
@@ -61743,10 +62272,22 @@ export type CustomElements = {
61743
62272
  * milliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.
61744
62273
  *
61745
62274
  * The event carries the pane's `name`, so one sandbox can hold several panes.
61746
- * `html` sets the preview's markup, `css` sets its stylesheet, and `js` sets
61747
- * a script that runs as a module after the markup. The sandbox ignores a pane
61748
- * with any other name, so that pane can show content without changing the
61749
- * preview.
62275
+ * The names the sandbox writes into its previews:
62276
+ *
62277
+ * - `html` sets the preview's markup.
62278
+ * - `css` sets its stylesheet.
62279
+ * - `js` sets a script that runs as a module after the markup.
62280
+ * - A module file name ending in `.js` or `.mjs`, such as `utils.js`, is a
62281
+ * module the other scripts import by its path, `./utils.js`.
62282
+ * - `package.json` sets the npm packages the scripts import by name, from its
62283
+ * `dependencies`, which load from the preview's `cdn`.
62284
+ *
62285
+ * The sandbox ignores a pane with any other name, so that pane can show
62286
+ * content without changing the preview.
62287
+ *
62288
+ * **The sandbox is `:state(modified)` while a source pane holds an edit**, and
62289
+ * that pane's file tab is also `file-modified` and described as modified to
62290
+ * a screen reader. `reset()` puts every pane back to the source it was given.
61750
62291
  *
61751
62292
  * **The dividers are two nested `helix-splitter` elements**, which handle the
61752
62293
  * pointer, the keyboard, and the corner. The inner splitter holds the panes and
@@ -61821,6 +62362,8 @@ export type CustomElements = {
61821
62362
  *
61822
62363
  * `split` follows the lead pane rather than the source, so `split="30"` means
61823
62364
  * the same thing in both directions: thirty percent to whatever comes first.
62365
+ * - `modified-label`/`modifiedLabel`: The description of a file tab whose pane holds an edit, read by screen
62366
+ * readers after the file's name.
61824
62367
  * - `orientation`: Whether the panes sit side by side or stacked.
61825
62368
  *
61826
62369
  * Not reflected, for `lead`'s reason above: no rule selects on it. The axis
@@ -61898,6 +62441,15 @@ export type CustomElements = {
61898
62441
  * - `status`: A status bar, spanning both panes at the bottom.
61899
62442
  * - `toolbar`: A bar across the top, spanning both panes.
61900
62443
  *
62444
+ * ## Methods
62445
+ *
62446
+ * Methods that can be called to access component functionality.
62447
+ *
62448
+ * - `reset() => void`: Puts every source pane back to the source it was given: through the
62449
+ * pane's own `reset()` where it has one, which sends an edit the previews
62450
+ * take, and otherwise by setting its `value` and writing it into the
62451
+ * previews.
62452
+ *
61901
62453
  * ## CSS Custom Properties
61902
62454
  *
61903
62455
  * CSS variables available for styling the component.
@@ -61913,6 +62465,7 @@ export type CustomElements = {
61913
62465
  * - `body`: The splitter holding the panes above the panel. `::part(body):state(dragging)` matches while its divider is held.
61914
62466
  * - `corner`: The handle where the two dividers cross.
61915
62467
  * - `file`: One file tab, `aria-selected` while its pane is shown.
62468
+ * - `file-modified`: A file tab whose pane holds an edit.
61916
62469
  * - `files`: The file tabs over the source panes, where there are several.
61917
62470
  * - `pane`: Either pane.
61918
62471
  * - `panel`: The box that holds the slotted panel.
@@ -61923,6 +62476,7 @@ export type CustomElements = {
61923
62476
  *
61924
62477
  * These can be used to apply styling when a component is in a given state.
61925
62478
  *
62479
+ * - `modified`: While a source pane holds an edit, until `reset()`.
61926
62480
  * - `panel-collapsed`: While there is a panel and it is no taller than `panel-collapsed-size`.
61927
62481
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
61928
62482
  */
@@ -61954,8 +62508,37 @@ export type CustomElements = {
61954
62508
  * that wraps keeps one number. The numbers are drawn, and hidden from screen
61955
62509
  * readers, which read the field.
61956
62510
  *
61957
- * Enter keeps the indentation of the line it breaks, and the new line is
61958
- * undone with the next undo as typing is.
62511
+ * Enter keeps the indentation of the line it breaks, one level deeper after
62512
+ * an opening bracket, and puts the closing bracket of an empty pair on a line
62513
+ * of its own. The new line is undone with the next undo as typing is.
62514
+ *
62515
+ * **The editing keys are CodeMirror's.** Tab with text selected indents every
62516
+ * line the selection touches. `Mod+]` indents the lines and `Mod+[` outdents
62517
+ * them, and `Mod+/` comments them out or back in: `//` in a `js` pane, and one
62518
+ * block comment in an `html` or `css` pane. `Mod` is Command on a Mac and
62519
+ * Control elsewhere. Each is one step of undo.
62520
+ *
62521
+ * **`close-brackets` closes brackets and quotes** as you type them: `(`, `[`,
62522
+ * `{` and the three quotes. A closing character typed before the same one
62523
+ * steps over it, Backspace between an empty pair deletes both, and a bracket
62524
+ * typed with text selected goes around the text. **`match-brackets` marks
62525
+ * the bracket beside the caret and its pair** while the field has focus, each
62526
+ * a `bracket` part, and a bracket with no pair is also `bracket-unmatched`.
62527
+ * A bracket in a string or a comment is not matched, where `tokenize` says
62528
+ * which runs those are.
62529
+ *
62530
+ * **`complete` offers completions as you type**: the words of the source and
62531
+ * of `completions` that start with the word before the caret. They open in a
62532
+ * list under the word. The arrow keys move through it, Enter or Tab takes the
62533
+ * word, and Escape closes it. `Ctrl+Space` opens it where it is closed. The
62534
+ * field is `aria-autocomplete="list"` and points at the word chosen with
62535
+ * `aria-activedescendant`, so a screen reader reads each one. Give
62536
+ * `completions` the names a page uses, such as the tag and attribute names of
62537
+ * a custom elements manifest through `manifestWords`.
62538
+ *
62539
+ * **The pane is `:state(modified)` while its source differs from the source it
62540
+ * was given**, the first `value` or the last one set from outside. `reset()`
62541
+ * puts that source back, as an edit the sandbox passes on to its preview.
61959
62542
  *
61960
62543
  * **The source can be written inside the pane** where `value` is not set: its
61961
62544
  * text, or the markup of a `<template>` it holds, without the indentation the
@@ -61966,6 +62549,14 @@ export type CustomElements = {
61966
62549
  *
61967
62550
  * Component attributes and properties that can be applied to the element or by using JavaScript.
61968
62551
  *
62552
+ * - `close-brackets`/`closeBrackets`: Whether typing an opening bracket or quote types its closing one too, and
62553
+ * a bracket typed with text selected goes around it.
62554
+ * - `complete`: Whether the pane offers completions for the word before the caret, from
62555
+ * the words of the source and of `completions`.
62556
+ * - `completions`: Words the pane offers under `complete` beside the words of the source,
62557
+ * such as tag and attribute names. `manifestWords` reads them from a custom
62558
+ * elements manifest. Set it as JSON in the attribute or as an array.
62559
+ * - `completions-label`/`completionsLabel`: The name of the list of completions, read by screen readers.
61969
62560
  * - `field-label`/`fieldLabel`: The editable region's name, read by screen readers.
61970
62561
  * - `field-name-label`/`fieldNameLabel`: The editable region's name where the pane has a `label`, so each file's
61971
62562
  * field says which file it holds. `{field}` is `field-label` and `{name}`
@@ -61974,12 +62565,17 @@ export type CustomElements = {
61974
62565
  * - `label`: The pane's file name, such as `index.html`, on its tab where a sandbox
61975
62566
  * holds several panes. Empty puts the pane's `name` on the tab.
61976
62567
  * - `line-numbers`/`lineNumbers`: Whether each line of the source is numbered, in a gutter beside it.
62568
+ * - `match-brackets`/`matchBrackets`: Whether the bracket beside the caret and its pair are marked while the
62569
+ * field has focus.
61977
62570
  * - `name`: Which source this pane holds. Every `helix-before-edit` event includes it.
61978
62571
  *
61979
62572
  * `html` and `css` are what the sandbox root routes on; any other name is
61980
62573
  * passed through untouched for a consumer wiring their own panes.
61981
62574
  *
61982
62575
  * Not reflected: nothing selects on it, so it keeps a real default instead.
62576
+ * - `readonly`/`readOnly`: Whether the source is read only: it can be selected and copied, and not
62577
+ * edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
62578
+ * that is read only.
61983
62579
  * - `tab-indents`/`tabIndents`: Whether Tab indents the source. When it is off, Tab moves focus.
61984
62580
  * - `value`: The source being edited.
61985
62581
  * - `tokenize`: Colors the source: a function from the source and the pane's `name` to
@@ -61993,6 +62589,8 @@ export type CustomElements = {
61993
62589
  *
61994
62590
  * Named for what it returns, runs of text, where Code Block's `highlight`
61995
62591
  * returns markup. (property only)
62592
+ * - `modified`: Whether the source differs from the source the pane was given: its first
62593
+ * `value`, or the last one set from outside. (property only) (readonly)
61996
62594
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
61997
62595
  *
61998
62596
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -62022,13 +62620,23 @@ export type CustomElements = {
62022
62620
  * - `helix-caret`: Fired when the cursor moves.
62023
62621
  * - `helix-edit`: Fired after the source was edited, with the new source.
62024
62622
  *
62623
+ * ## Methods
62624
+ *
62625
+ * Methods that can be called to access component functionality.
62626
+ *
62627
+ * - `reset() => void`: Puts back the source the pane was given, as an edit: `helix-before-edit`
62628
+ * is sent first and can refuse it, and the sandbox passes it to its preview.
62629
+ *
62025
62630
  * ## CSS Custom Properties
62026
62631
  *
62027
62632
  * CSS variables available for styling the component.
62028
62633
  *
62029
62634
  * - `--sandbox-source-background-color`: Fill behind the source.
62635
+ * - `--sandbox-source-bracket-color`: Fill behind a matched bracket, under `match-brackets`. Defaults to `--helix-color-accent-subtle`.
62030
62636
  * - `--sandbox-source-callable-color`: Color of a `callable` run, under `tokenize`. Defaults to `--helix-color-syntax-callable`.
62031
62637
  * - `--sandbox-source-comment-color`: Color of a `comment` run, under `tokenize`. Defaults to `--helix-color-syntax-comment`.
62638
+ * - `--sandbox-source-completions-border-width`: Width of the edge of the list of completions, under `complete`. Defaults to `--helix-border-floating`.
62639
+ * - `--sandbox-source-completions-shadow`: Shadow under the list of completions, under `complete`. Defaults to `--helix-shadow-floating`.
62032
62640
  * - `--sandbox-source-constant-color`: Color of a `constant` run, under `tokenize`. Defaults to `--helix-color-syntax-constant`.
62033
62641
  * - `--sandbox-source-invalid-color`: Color of an `invalid` run, under `tokenize`. Defaults to `--helix-color-syntax-invalid`.
62034
62642
  * - `--sandbox-source-keyword-color`: Color of a `keyword` run, under `tokenize`. Defaults to `--helix-color-syntax-keyword`.
@@ -62042,8 +62650,13 @@ export type CustomElements = {
62042
62650
  *
62043
62651
  * Custom selectors for styling elements within the component.
62044
62652
  *
62045
- * - `field`: The box that scrolls the field and its colors together, under `tokenize` or `line-numbers`.
62046
- * - `highlight`: The colored copy of the source drawn under the field, under `tokenize` or `line-numbers`.
62653
+ * - `bracket`: The bracket beside the caret and its pair, under `match-brackets`.
62654
+ * - `bracket-unmatched`: A bracket beside the caret with no pair, under `match-brackets`.
62655
+ * - `completion`: One word in the list of completions, under `complete`.
62656
+ * - `completion-active`: The word chosen in that list, which Enter or Tab takes.
62657
+ * - `completions`: The list of completions under the word being typed, under `complete`.
62658
+ * - `field`: The box that scrolls the field and its colors together, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.
62659
+ * - `highlight`: The colored copy of the source drawn under the field, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.
62047
62660
  * - `line`: One line of that copy, under `line-numbers`, numbered in the gutter by its `::before`.
62048
62661
  * - `source`: The editable region.
62049
62662
  * - `token`: One run of the source that has a kind, under `tokenize`.
@@ -62052,6 +62665,7 @@ export type CustomElements = {
62052
62665
  *
62053
62666
  * These can be used to apply styling when a component is in a given state.
62054
62667
  *
62668
+ * - `modified`: While the source differs from the source the pane was given, until `reset()` or a new `value`.
62055
62669
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
62056
62670
  */
62057
62671
  "helix-sandbox-source": Partial<
@@ -64208,6 +64822,12 @@ export type CustomElements = {
64208
64822
  * that should survive its own collapse says how much of itself to keep, and
64209
64823
  * only whoever put it there knows that, which is the same reason `min` is a
64210
64824
  * consumer's to set.
64825
+ * - `collapsible`: Which panes can be collapsed, as Zag's panels each take `collapsible`:
64826
+ * `start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops
64827
+ * at the edge without shutting. `Enter` collapses the end pane where only
64828
+ * the end pane can be collapsed, and the start pane otherwise.
64829
+ *
64830
+ * Unset is `both`, and the attribute stays absent until you write it.
64211
64831
  * - `corner-label`/`cornerLabel`: The name of the handle where two dividers cross, read by screen readers.
64212
64832
  * - `corner-value-label`/`cornerValueLabel`: What the handle where two dividers cross says it is set to, both dividers
64213
64833
  * at once: `{across}` is where the divider that runs down stands, and
@@ -64218,6 +64838,11 @@ export type CustomElements = {
64218
64838
  * these words are the whole of where it is.
64219
64839
  * - `default-collapsed`/`defaultCollapsed`: Which pane starts shut, when `collapsed` is not set.
64220
64840
  * - `default-position`/`defaultPosition`: Where the divider starts, when `position` is not set.
64841
+ * - `end-min`/`endMin`: The least the end pane keeps, in the units `min` takes: a percentage, or
64842
+ * a CSS length such as `16rem` resolved against the splitter's box. The
64843
+ * divider stops that far from the end, whatever `max` allows, so `min` and
64844
+ * `end-min` hold a minimum for each pane, as Zag's panels each take
64845
+ * `minSize`.
64221
64846
  * - `label`: The divider's name, read by screen readers.
64222
64847
  *
64223
64848
  * An `aria-label` or `aria-labelledby` on the host names the divider too,
@@ -66441,6 +67066,7 @@ export type CustomElements = {
66441
67066
  *
66442
67067
  * These can be used to apply styling when a component is in a given state.
66443
67068
  *
67069
+ * - `focus-visible`: The tag's cell has keyboard focus that the browser shows, in a `Tag.Group`.
66444
67070
  * - `selected`: The tag is selected in a `Tag.Group` that selects.
66445
67071
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
66446
67072
  */
@@ -66792,6 +67418,10 @@ export type CustomElements = {
66792
67418
  * along, so the two writes a consumer would make in sequence do not compose
66793
67419
  * into the range they asked for. The platform has this method for that reason
66794
67420
  * and so does this.
67421
+ * - `setRangeText(replacement: string, start?: number, end?: number, selectMode?: SelectionMode) => void`: Replaces a range of the text, as the native method does: the selection
67422
+ * where `start` and `end` are left out, and `selectMode` says what is
67423
+ * selected after. It sends no event, as the native method sends none.
67424
+ * - `select() => void`: Selects everything in the field.
66795
67425
  * - `focus(options?: FocusOptions) => void`: Moves focus to the control, as focusing a native control does.
66796
67426
  * - `formDisabledCallback(disabled: boolean) => void`: Called by the browser when an ancestor fieldset is disabled or enabled.
66797
67427
  *
@@ -67488,6 +68118,17 @@ export type CustomElements = {
67488
68118
  * imperatively later, and nothing is hydrating by then.
67489
68119
  *
67490
68120
  * Here rather than on each control.
68121
+ * - `timeContent`: What each time in the list shows: a function given the time as `HH:mm`,
68122
+ * or `HH:mm:ss` with `seconds`, and the time as the row writes it, that
68123
+ * returns text, an element or a Lit template.
68124
+ *
68125
+ * For the seats left at a time, or a caption under it, as React Aria's
68126
+ * `ListBoxItem` takes children. Content with `slot="start"`, `slot="end"`
68127
+ * or `slot="description"` goes to that slot of the row, and a description
68128
+ * is read after the time. The row is still named by the written time, and
68129
+ * typeahead still finds it by that. Return the written time with your
68130
+ * content where it should still show. A property only, there being no way
68131
+ * to write a function in markup. The wheels draw their own figures. (property only)
67491
68132
  * - `valueAsDate`: The value as a `Date` on 1 January 1970 UTC, or `null` while there is no time.
67492
68133
  *
67493
68134
  * The platform's own pair on `<input type="time">`, epoch day included: a time
@@ -67894,6 +68535,9 @@ export type CustomElements = {
67894
68535
  * - `orientation`: Which way time runs: `horizontal` lays the entries across the page. Unset,
67895
68536
  * they run down it.
67896
68537
  * - `label`: Accessible name for the timeline, for people who reach it out of context.
68538
+ * - `loading`: Marks the timeline as busy fetching more entries, and draws an entry
68539
+ * after the last that says so.
68540
+ * - `loading-label`/`loadingLabel`: The text of the entry drawn while `loading` is set, where the `loading` slot is empty.
67897
68541
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
67898
68542
  *
67899
68543
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -67920,6 +68564,7 @@ export type CustomElements = {
67920
68564
  * Areas where markup can be added to the component.
67921
68565
  *
67922
68566
  * - `(default)`: The entries, and any groups of them.
68567
+ * - `loading`: Content for the entry after the last while `loading` is set. Falls back to `loading-label`.
67923
68568
  *
67924
68569
  * ## CSS Custom Properties
67925
68570
  *
@@ -67927,10 +68572,17 @@ export type CustomElements = {
67927
68572
  *
67928
68573
  * - `--timeline-gap`: Space between one entry and the next.
67929
68574
  *
68575
+ * ## CSS Parts
68576
+ *
68577
+ * Custom selectors for styling elements within the component.
68578
+ *
68579
+ * - `loading`: The entry after the last while `loading` is set.
68580
+ *
67930
68581
  * ## CSS States
67931
68582
  *
67932
68583
  * These can be used to apply styling when a component is in a given state.
67933
68584
  *
68585
+ * - `loading`: While `loading` is set.
67934
68586
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
67935
68587
  */
67936
68588
  "helix-timeline": Partial<
@@ -70615,6 +71267,12 @@ export type CustomElements = {
70615
71267
  * and scrolls it sideways: Left and Right move between items, the other
70616
71268
  * way round on a right-to-left page, and `estimate` is an item's width. A
70617
71269
  * grid always runs down.
71270
+ * - `reorderable`: Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
71271
+ * (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
71272
+ * with an arrow moves the row the keys are on, and a pointer drags a row.
71273
+ * The list moves no item itself: you move your `items` on `helix-reorder`.
71274
+ * Without that import it does nothing, so a list that never moves items
71275
+ * carries none of the code. A list of one column, without sections.
70618
71276
  * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
70619
71277
  * keys. Set, the items are drawn in sections: a header, then the items, in
70620
71278
  * an element with the `group` role that the header names. A section starts
@@ -70677,8 +71335,10 @@ export type CustomElements = {
70677
71335
  *
70678
71336
  * - `change`: Fired once a press or a key has changed which items are selected, in a list with `selection-mode`.
70679
71337
  * - `helix-before-change`: Fired before a press or a key changes which items are selected, with the `value` it would leave. Cancelable.
71338
+ * - `helix-before-reorder`: Fired when an item is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported, with every key in the new order. Cancelable: cancel it to keep the item where it is.
70680
71339
  * - `helix-load-more`: Fired when a reader comes within one screen of the last item, once for each length of the set.
70681
71340
  * - `helix-range-change`: Fired when the items on screen change, with the new `first` and `last`, which `range` also holds.
71341
+ * - `helix-reorder`: Fired after `helix-before-reorder` when nobody canceled it. Set `items` to the order in `keys`. Cancelable: cancel it to say the move did not happen.
70682
71342
  *
70683
71343
  * ## Slots
70684
71344
  *
@@ -70704,6 +71364,15 @@ export type CustomElements = {
70704
71364
  *
70705
71365
  * - `--virtual-list-block-size`: How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it.
70706
71366
  * - `--virtual-list-disabled-opacity`: How faint a row `disabled-keys` names is drawn.
71367
+ * - `--virtual-list-drag-preview-background-color`: The fill behind the copy of a row a pointer drags, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.
71368
+ * - `--virtual-list-drag-preview-border-color`: The color of the edge around the copy of a row a pointer drags.
71369
+ * - `--virtual-list-drag-preview-border-width`: The width of the edge around the copy of a row a pointer drags. None by default, where the shadow lifts it.
71370
+ * - `--virtual-list-drag-preview-opacity`: The opacity of the copy of a row a pointer drags.
71371
+ * - `--virtual-list-drag-preview-radius`: The corner radius of the copy of a row a pointer drags.
71372
+ * - `--virtual-list-drag-preview-shadow`: The shadow that raises the copy of a row a pointer drags over the page.
71373
+ * - `--virtual-list-dragging-opacity`: The opacity of a row being dragged, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.
71374
+ * - `--virtual-list-drop-indicator-color`: The color of the line where a dragged row would land.
71375
+ * - `--virtual-list-drop-indicator-size`: The thickness of the line where a dragged row would land.
70707
71376
  * - `--virtual-list-empty-color`: The color of the text in the row shown when there are no items.
70708
71377
  * - `--virtual-list-empty-padding`: The space around the text in the row shown when there are no items.
70709
71378
  * - `--virtual-list-loading-color`: The color of the text in the row drawn while `loading` is set.
@@ -73013,6 +73682,8 @@ export type CustomElementsSolidJs = {
73013
73682
  * separate actions. The semantics and the joining are separate questions:
73014
73683
  * `role="group"` and a shared name are what make a set of buttons a set, and
73015
73684
  * `helix-flex` gives the spacing without the group.
73685
+ * - `disabled`: Disables every button in the group, and says so on the group with
73686
+ * `aria-disabled`. Reflected, so a stylesheet can select on it.
73016
73687
  * - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
73017
73688
  * `disallowEmptySelection`: a press that would leave none pressed is
73018
73689
  * refused.
@@ -73047,6 +73718,8 @@ export type CustomElementsSolidJs = {
73047
73718
  *
73048
73719
  * The attribute is the seed, and a press changes the property, which does
73049
73720
  * not reflect, as a native control's `value` does not.
73721
+ * - `values`: The pressed values as a list, in a selection mode, and an empty list
73722
+ * otherwise. Written, it presses exactly those buttons. (property only)
73050
73723
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
73051
73724
  *
73052
73725
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -73966,6 +74639,8 @@ export type CustomElementsSolidJs = {
73966
74639
  * Third", rather than with a comma this component chose.
73967
74640
  * - `linked-label`/`linkedLabel`: The text read with a card that has connections both ways. `{leadsTo}` is
73968
74641
  * `leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in.
74642
+ * - `loading`: Marks the board as busy while its document arrives: the board is
74643
+ * `aria-busy`, and the `loading` slot is shown.
73969
74644
  * - `moved-label`/`movedLabel`: What screen readers hear after a key moves a card, with `{name}` for the
73970
74645
  * card and `{x}` and `{y}` for where it now is, in the document's units.
73971
74646
  *
@@ -74131,6 +74806,7 @@ export type CustomElementsSolidJs = {
74131
74806
  * - `footer`: Content below the board.
74132
74807
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
74133
74808
  * - `header`: Content above the board.
74809
+ * - `loading`: Content shown while `loading` is set, such as a progress bar while the document arrives.
74134
74810
  * - `pan-down-icon`: Replaces the glyph inside the pan down button.
74135
74811
  * - `pan-end-icon`: Replaces the glyph inside the button that pans toward the end of a line of text.
74136
74812
  * - `pan-start-icon`: Replaces the glyph inside the button that pans toward the start of a line of text.
@@ -74253,6 +74929,7 @@ export type CustomElementsSolidJs = {
74253
74929
  * - `fullscreen`: While the board fills the screen.
74254
74930
  * - `holding`: An item picked up with a click follows the pointer until the next press puts it down.
74255
74931
  * - `idle`: The user has been still for `idle-delay` milliseconds. The board's own controls stay; select on it to hide chrome of your own.
74932
+ * - `loading`: While `loading` is set.
74256
74933
  * - `pressing`: While a press on the board, its cards or its connections is under way.
74257
74934
  * - `sharing`: The page keeps the plain wheel and one finger, with `gestures="cooperative"` or while a board with `gestures="activate"` waits to be pressed.
74258
74935
  * - `using`: A board with `gestures="activate"` has been pressed and has the gestures.
@@ -74781,6 +75458,9 @@ export type CustomElementsSolidJs = {
74781
75458
  *
74782
75459
  * Component attributes and properties that can be applied to the element or by using JavaScript.
74783
75460
  *
75461
+ * - `feedback`: A message about the draft, shown under the field. While set, the composer
75462
+ * is invalid, does not send, and does not submit, as a field's `feedback`
75463
+ * does, and the message is announced as it appears.
74784
75464
  * - `label`: The field's name, read by screen readers.
74785
75465
  * - `maxlength`/`maxLength`: The most characters a draft can have. The field stops taking more.
74786
75466
  * - `minlength`/`minLength`: The fewest characters a draft can have, once the reader has written in
@@ -74946,6 +75626,7 @@ export type CustomElementsSolidJs = {
74946
75626
  * - `tools`: The row under the field.
74947
75627
  * - `composer`: The whole composer.
74948
75628
  * - `end`: The box around the `end` slot.
75629
+ * - `feedback`: The `feedback` message, under the field while it is set.
74949
75630
  * - `mark`: The icon inside the send button.
74950
75631
  * - `start`: The box around the `start` slot.
74951
75632
  *
@@ -74953,7 +75634,7 @@ export type CustomElementsSolidJs = {
74953
75634
  *
74954
75635
  * These can be used to apply styling when a component is in a given state.
74955
75636
  *
74956
- * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it.
75637
+ * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it. Or `feedback` is set.
74957
75638
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
74958
75639
  */
74959
75640
  "helix-chat-composer": Partial<
@@ -77588,6 +78269,15 @@ export type CustomElementsSolidJs = {
77588
78269
  * Defaulted rather than left empty. An icon-only control must be named, and
77589
78270
  * the name of this one is not a judgment call: every copy button in the
77590
78271
  * world is called Copy. A consumer with a better word still sets it.
78272
+ * - `show-label`/`showLabel`: Draws the name as words beside the icon, and the result in their place
78273
+ * after a press. The button stays as wide as the longest of them.
78274
+ * - `tooltip`: When the tooltip shows: `full` on hover and focus and after a press,
78275
+ * `copy` only after a press, to show the result, and `none` never, for a
78276
+ * button whose result shows another way, such as under `show-label`.
78277
+ *
78278
+ * Unset is `full`, and the attribute stays absent until you write it.
78279
+ * - `tooltip-placement`/`tooltipPlacement`: The side the tooltip prefers. It moves to another side where this one
78280
+ * does not fit.
77591
78281
  * - `value`: The text copied to the clipboard.
77592
78282
  *
77593
78283
  * It replaces `Button.value`, the submit value: a copy button never submits,
@@ -77771,6 +78461,7 @@ export type CustomElementsSolidJs = {
77771
78461
  * - `live`: The live region that says `copied-label` or `error-label` after a press, and `pending-label` when the button becomes pending under focus. It is rendered from the first time it says anything.
77772
78462
  * - `mark`: The clipboard icon, and the confirmation icon that replaces it.
77773
78463
  * - `spinner`: The ring a pending button turns, an empty element the styled button draws over the icon. It is rendered only while the button is pending.
78464
+ * - `text`: The words beside the icon, under `show-label`. It holds all three, `label`, `copied-label` and `error-label`, with all but the current one hidden.
77774
78465
  * - `tooltip`: The tooltip bubble, forwarded from the tooltip inside the button.
77775
78466
  * - `tooltip-arrow`: The tooltip's arrow, which points at the button.
77776
78467
  * - `tooltip-arrow-bottom`: The arrow while the bubble is below the button, on the bubble's top edge. Set together with `tooltip-arrow`.
@@ -78011,6 +78702,10 @@ export type CustomElementsSolidJs = {
78011
78702
  * Off by default. Windowing costs a scroll listener, a measurement per row
78012
78703
  * drawn, and a `block-size` on the scrolling box, and a table of twenty rows
78013
78704
  * should pay none of them.
78705
+ *
78706
+ * While windowed, the `table` part scrolls on this tier: it carries
78707
+ * `data-scroller`, and `core` ships `[data-scroller] { overflow: auto }` into
78708
+ * every shadow root. You still need to give it a block size.
78014
78709
  * - `rows`: Every row of the result, in the order it arrived.
78015
78710
  *
78016
78711
  * A property and not an attribute: it is an array. Left alone this element
@@ -81976,6 +82671,9 @@ export type CustomElementsSolidJs = {
81976
82671
  * - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
81977
82672
  * - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
81978
82673
  * - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
82674
+ * - `loading`: Marks the graph as busy while its notes arrive: the list is `aria-busy`,
82675
+ * and the panel says so where it holds no notes yet.
82676
+ * - `loading-label`/`loadingLabel`: What the panel says while `loading` is set and the list holds no notes.
81979
82677
  * - `moved-down-label`/`movedDownLabel`: What screen readers hear once the drawing has moved down, after `moved()`.
81980
82678
  * - `moved-left-label`/`movedLeftLabel`: What screen readers hear once the drawing has moved left, after `moved()`.
81981
82679
  * - `moved-right-label`/`movedRightLabel`: What screen readers hear once the drawing has moved right, after `moved()`.
@@ -81998,6 +82696,15 @@ export type CustomElementsSolidJs = {
81998
82696
  * - `hiddenGroups`: The groups turned off in the legend, by name, whose notes neither the drawing nor the list shows. A property, never an attribute. (property only)
81999
82697
  * - `links`: The links between notes, each from `source` to `target`. A property, never an attribute. (property only)
82000
82698
  * - `nodes`: The notes. A property, never an attribute. (property only)
82699
+ * - `noteContent`: What each note's row in the list shows in place of its name: a function
82700
+ * given the note that returns text, an element or a Lit template.
82701
+ *
82702
+ * For an icon by its kind, or a date under its name, as React Aria's
82703
+ * `ListBoxItem` takes children. The row is still named by the note's name,
82704
+ * which typeahead and the search find it by, and described by how it stands
82705
+ * to the selected note. Return the name with your content where it should
82706
+ * still show. A property only, there being no way to write a function in
82707
+ * markup. (property only)
82001
82708
  * - `ready`: Whether the graph has been drawn whole. For code that runs after `helix-graph-ready`. (property only) (readonly)
82002
82709
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
82003
82710
  *
@@ -82044,6 +82751,7 @@ export type CustomElementsSolidJs = {
82044
82751
  * - `footer`: Content below the graph.
82045
82752
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
82046
82753
  * - `header`: Content above the graph.
82754
+ * - `loading`: What the panel shows while `loading` is set and the list holds no notes. Defaults to `loading-label`.
82047
82755
  * - `pan-down-icon`: Replaces the glyph inside the pan down button.
82048
82756
  * - `pan-end-icon`: Replaces the glyph inside the button that pans toward the end of a line of text.
82049
82757
  * - `pan-start-icon`: Replaces the glyph inside the button that pans toward the start of a line of text.
@@ -82135,6 +82843,7 @@ export type CustomElementsSolidJs = {
82135
82843
  * - `legend-swatch`: The mark in a group's color, before its name.
82136
82844
  * - `list`: The list of notes, which draws only the rows in view.
82137
82845
  * - `live`: What screen readers hear: how many notes there are when a search or the legend changes it, and which way the drawing went after a key or a control moved it.
82846
+ * - `loading`: The box in place of the list while `loading` is set and it holds no notes, holding the `loading` slot.
82138
82847
  * - `note`: One note in the list.
82139
82848
  * - `note-cursor`: The note the keyboard is on in the list.
82140
82849
  * - `note-linked`: A note linked to or from the selected one.
@@ -82162,6 +82871,7 @@ export type CustomElementsSolidJs = {
82162
82871
  * - `empty`: The list holds no notes: the graph has none, or a search or the groups hid them all.
82163
82872
  * - `fullscreen`: The graph fills the screen.
82164
82873
  * - `idle`: The user has been still long enough for the header and footer to fade.
82874
+ * - `loading`: While `loading` is set.
82165
82875
  * - `local`: The drawing shows the selected note's local graph, with `depth`.
82166
82876
  * - `panel-open`: A graph with `no-panel` has the search and the list open over the drawing.
82167
82877
  * - `ready`: The graph has been drawn whole, after `helix-graph-ready`.
@@ -84789,7 +85499,8 @@ export type CustomElementsSolidJs = {
84789
85499
  * itself.
84790
85500
  * - `value`: The selected rows' values, separated by commas with no spaces, such as `a,c`, in a list that selects.
84791
85501
  *
84792
- * Set it to start with rows selected. A row's value is its `value`, or its
85502
+ * A press or a key writes it in row order, as Data Table does, whatever
85503
+ * order the rows were chosen in. Set it to start with rows selected. A row's value is its `value`, or its
84793
85504
  * words where it has none.
84794
85505
  * - `rows`: The rows the list holds, in order. (property only) (readonly)
84795
85506
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -86820,6 +87531,8 @@ export type CustomElementsSolidJs = {
86820
87531
  * These can be used to apply styling when a component is in a given state.
86821
87532
  *
86822
87533
  * - `checked`: The row is checked.
87534
+ * - `disabled`: The row is disabled.
87535
+ * - `expanded`: Under `submenus="flyout"`, the row's submenu is open beside it.
86823
87536
  * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
86824
87537
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
86825
87538
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
@@ -86893,6 +87606,9 @@ export type CustomElementsSolidJs = {
86893
87606
  * - `placement`: The side the menu opens on, when there is room.
86894
87607
  *
86895
87608
  * It moves if that side does not fit.
87609
+ * - `results-label`/`resultsLabel`: What a screen reader hears when the filter narrows the rows. `{count}` is
87610
+ * how many rows are left, written in the locale, and each language writes
87611
+ * the forms it has, as Listbox's `results-label` does.
86896
87612
  * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
86897
87613
  * a way back. `flyout` opens it in a panel of its own beside its row.
86898
87614
  * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
@@ -86901,6 +87617,13 @@ export type CustomElementsSolidJs = {
86901
87617
  *
86902
87618
  * Absent, a row is kept where its words hold the filter, in any case. A
86903
87619
  * property only, there being no way to write a function in markup. (property only)
87620
+ * - `checkedValues`: The values of the choice rows that are checked, anywhere in the menu, in
87621
+ * document order.
87622
+ *
87623
+ * Set it to check exactly those rows and uncheck every other choice row, as
87624
+ * React Aria's `selectedKeys` controls a menu's selection from one place.
87625
+ * Each row keeps its own `checked` too, which this reads and writes. `change`
87626
+ * is sent on the menu when a reader's choice changes it. (property only)
86904
87627
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
86905
87628
  *
86906
87629
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -86927,6 +87650,7 @@ export type CustomElementsSolidJs = {
86927
87650
  * Events that will be emitted by the component.
86928
87651
  *
86929
87652
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
87653
+ * - `change`: A reader's choice checked or unchecked rows. Read `checkedValues` for the rows that are checked now.
86930
87654
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
86931
87655
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
86932
87656
  * - `helix-filter`: The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself.
@@ -86937,6 +87661,8 @@ export type CustomElementsSolidJs = {
86937
87661
  * Areas where markup can be added to the component.
86938
87662
  *
86939
87663
  * - `(default)`: The items.
87664
+ * - `empty`: What the menu shows when it has no items, for content richer than `empty-text`.
87665
+ * - `loading`: What the menu shows while its items load, for content richer than `loading-text`.
86940
87666
  * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
86941
87667
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
86942
87668
  *
@@ -86988,6 +87714,8 @@ export type CustomElementsSolidJs = {
86988
87714
  * These can be used to apply styling when a component is in a given state.
86989
87715
  *
86990
87716
  * - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
87717
+ * - `entering`: From the moment the panel shows until its entrance has finished.
87718
+ * - `exiting`: From the moment the panel hides until its exit has finished.
86991
87719
  * - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
86992
87720
  * - `open`: While the menu is open.
86993
87721
  * - `placed-bottom`: While the open panel sits below its trigger.
@@ -88876,10 +89604,18 @@ export type CustomElementsSolidJs = {
88876
89604
  *
88877
89605
  * The orb is styled only and has behavior, which the tier split does not
88878
89606
  * otherwise allow. Its role, name and busy state follow `state`, unless
88879
- * `announce` makes it a status region, and the rest
88880
- * is drawing dots to a canvas, so there is no structure to restyle. For a
88881
- * drawing of your own, the headless `Loader` holds the same busy progress bar
88882
- * and its name.
89607
+ * `announce` makes it a status region, and the rest is drawing dots to a
89608
+ * canvas.
89609
+ *
89610
+ * **A shape of your own goes in the default slot**, such as an SVG, an
89611
+ * image, or an animation. The orb draws it over its box in place of the dots
89612
+ * and stops drawing them, and keeps its role, name, busy state and custom
89613
+ * states, so your stylesheet can change what you slotted by state, such as
89614
+ * `helix-orb:state(working) svg { animation-duration: 1s }`. What you slot is
89615
+ * for the eye: a screen reader hears the orb's name.
89616
+ *
89617
+ * `--orb-speed` scales how fast the dots move, so `0.5` is a calmer orb at
89618
+ * half the tempo.
88883
89619
  *
88884
89620
  * Each state is also a custom state, such as `:state(thinking)` or
88885
89621
  * `:state(done)`, so a page can style what sits around an orb by what it shows,
@@ -88961,6 +89697,12 @@ export type CustomElementsSolidJs = {
88961
89697
  * browser harness's awaits it alone: a browser always runs the frame, and a
88962
89698
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
88963
89699
  *
89700
+ * ## Slots
89701
+ *
89702
+ * Areas where markup can be added to the component.
89703
+ *
89704
+ * - `(default)`: A shape of your own, drawn over the orb's box in place of the dots.
89705
+ *
88964
89706
  * ## CSS Custom Properties
88965
89707
  *
88966
89708
  * CSS variables available for styling the component.
@@ -88968,12 +89710,13 @@ export type CustomElementsSolidJs = {
88968
89710
  * - `--orb-color`: The color of the nearest dots. Defaults to `currentColor`.
88969
89711
  * - `--orb-ground`: The color the farthest dots fade toward. Defaults to the page's background.
88970
89712
  * - `--orb-size`: The diameter. Overrides `size`.
89713
+ * - `--orb-speed`: How fast the dots move, as a multiple of each state's own tempo. Defaults to `1`.
88971
89714
  *
88972
89715
  * ## CSS Parts
88973
89716
  *
88974
89717
  * Custom selectors for styling elements within the component.
88975
89718
  *
88976
- * - `canvas`: The canvas the dots are drawn on.
89719
+ * - `canvas`: The canvas the dots are drawn on. Hidden while the default slot holds a shape.
88977
89720
  * - `live`: The word for the state, which the orb says as it changes when `announce` is set. Rendered only then, and clipped out of view.
88978
89721
  *
88979
89722
  * ## CSS States
@@ -89039,6 +89782,9 @@ export type CustomElementsSolidJs = {
89039
89782
  * box the sections scroll in.
89040
89783
  * - `label`: The navigation's name, read by screen readers. A heading in the `heading`
89041
89784
  * slot names it in place of this.
89785
+ * - `marks`: Which links are marked. `reading` marks the one section being read, the
89786
+ * last whose heading has passed the reading line. `visible` marks every
89787
+ * section with part of it on screen, and the mark runs across their links.
89042
89788
  * - `offset`: How far below the top of the scroll container a heading counts as reached,
89043
89789
  * in pixels. The scroll container is the window or the panel the sections
89044
89790
  * scroll in.
@@ -89054,6 +89800,9 @@ export type CustomElementsSolidJs = {
89054
89800
  * writable property in this library that a component also writes is state a
89055
89801
  * consumer can own; this one cannot be, and saying so with the type is better
89056
89802
  * than saying it in a sentence nobody reads. (property only) (readonly)
89803
+ * - `marked`: The ids of the sections whose links are marked, in page order: the one
89804
+ * `current` names, or under `marks="visible"` every section on screen.
89805
+ * Read-only, for the reason `current` gives. (property only) (readonly)
89057
89806
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
89058
89807
  *
89059
89808
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -89089,6 +89838,14 @@ export type CustomElementsSolidJs = {
89089
89838
  * - `heading`: A heading above the links, such as "On this page". It names the navigation.
89090
89839
  * - `indicator`: A mark of your own, drawn inside the `indicator` part, where `--indicator-x`, `--indicator-y`, `--indicator-inline-size` and `--indicator-block-size` reach it.
89091
89840
  *
89841
+ * ## Methods
89842
+ *
89843
+ * Methods that can be called to access component functionality.
89844
+ *
89845
+ * - `scrollToSection(id: string) => boolean`: Scrolls to the section with this id, as a press on its link does, with
89846
+ * `behavior`, and marks its link at once. The address and focus stay where
89847
+ * they are. Returns whether the outline has a link to that section.
89848
+ *
89092
89849
  * ## CSS Custom Properties
89093
89850
  *
89094
89851
  * CSS variables available for styling the component.
@@ -89903,12 +90660,25 @@ export type CustomElementsSolidJs = {
89903
90660
  * hydration, or diffed by a framework, it comes back holding whatever the
89904
90661
  * last reader did rather than what the author wrote. `:state(open)` carries
89905
90662
  * the resolved state for stylesheets, which is what the mirror is for.
90663
+ * - `anchor`: The element the panel opens against, where that is not the trigger: its
90664
+ * `id` in the same document or shadow root, or the element itself. Left
90665
+ * empty, the panel opens against the trigger, or against the button whose
90666
+ * command opened it.
89906
90667
  * - `arrow`: Draws a point on the panel's edge facing the trigger.
89907
90668
  *
89908
90669
  * Off by default, which is the house style: a panel that opens from its
89909
90670
  * trigger already reads as belonging to it.
90671
+ * - `container-padding`/`containerPadding`: How close to the window's edges the panel may come, in pixels, when it
90672
+ * slides, shrinks or moves to the other side to fit. Left unset, it slides
90673
+ * and shrinks to 8 pixels from an edge and moves to the other side only
90674
+ * once it would cross one.
90675
+ * - `cross-offset`/`crossOffset`: How far to slide the panel along the side it is on, in pixels: to the
90676
+ * right on the top or the bottom, and down on the left or the right.
89910
90677
  * - `fallback-label`/`fallbackLabel`: The panel's name where nothing else names it: no `label`, no heading in
89911
90678
  * the panel, and no `aria-labelledby` on the host.
90679
+ * - `flip`: Whether the panel moves to the other side of the trigger when its own
90680
+ * side has no room. On by default. Write `flip="false"` to keep it on its
90681
+ * side, where it shrinks to fit, as React Aria's `shouldFlip` turns off.
89912
90682
  * - `label`: The panel's name, read by screen readers. Left empty, the first heading in
89913
90683
  * the panel names it, and then `fallback-label`.
89914
90684
  * - `modal`: Keeps `Tab` inside the panel while it is open, marks the panel
@@ -90000,6 +90770,8 @@ export type CustomElementsSolidJs = {
90000
90770
  *
90001
90771
  * These can be used to apply styling when a component is in a given state.
90002
90772
  *
90773
+ * - `aligned-end`: While the panel is aligned to the end of the side it sits on.
90774
+ * - `aligned-start`: While the panel is aligned to the start of the side it sits on.
90003
90775
  * - `entering`: From the moment the panel shows until its entrance has finished.
90004
90776
  * - `exiting`: From the moment the panel hides until its exit has finished.
90005
90777
  * - `open`: While the popover is open.
@@ -91186,6 +91958,16 @@ export type CustomElementsSolidJs = {
91186
91958
  * since a browser reads one only as a document starts. A `src` document
91187
91959
  * declares its own.
91188
91960
  *
91961
+ * **`dependencies` names packages by version instead**, as a `package.json`
91962
+ * does: `{"canvas-confetti": "^1.9"}` loads `canvas-confetti` and the paths
91963
+ * under it from `cdn`, `https://esm.sh/` by default, at the version or range
91964
+ * given. An address in `imports` wins over a package of the same name.
91965
+ *
91966
+ * **`modules` holds files the example imports by a relative path**: each path,
91967
+ * such as `utils.js`, to its source, and `import { add } from './utils.js'`
91968
+ * in the `js` pane or in another module loads it. A sandbox writes each pane
91969
+ * named for a module file here.
91970
+ *
91189
91971
  * **Examples render in a frame**, so an example's styles and scripts do not
91190
91972
  * affect the page around the sandbox, and `position: fixed` stays inside the
91191
91973
  * pane. The frame starts empty, with its own stylesheets and its own custom
@@ -91206,8 +91988,9 @@ export type CustomElementsSolidJs = {
91206
91988
  *
91207
91989
  * **A failed preview shows the error over the example**, in the `error` part,
91208
91990
  * until the next source is sent. The terminal says it too, so the part is not
91209
- * announced. Hide it with `::part(error) { display: none }` where the page
91210
- * draws its own.
91991
+ * announced, and it is the frame's description while it shows, so a screen
91992
+ * reader reads it with the frame. Hide it with `::part(error) { display: none }`
91993
+ * where the page draws its own.
91211
91994
  *
91212
91995
  * **`controls` draws two buttons in the preview's corner**: one reloads the
91213
91996
  * frame's document, as `reload()` does, and one opens the example in a new
@@ -91217,6 +92000,8 @@ export type CustomElementsSolidJs = {
91217
92000
  *
91218
92001
  * Component attributes and properties that can be applied to the element or by using JavaScript.
91219
92002
  *
92003
+ * - `cdn`: The address the packages in `dependencies` load from, which the name, an
92004
+ * `@` and the version follow.
91220
92005
  * - `color-mode`/`colorMode`: The color mode the frame renders in.
91221
92006
  *
91222
92007
  * **The frame is a document and a document has its own color mode.** Setting
@@ -91232,6 +92017,10 @@ export type CustomElementsSolidJs = {
91232
92017
  * including every one of the 24 series colors a chart reads.
91233
92018
  * - `controls`: Whether the preview draws a reload button and a button that opens the
91234
92019
  * example in a new tab, in its corner.
92020
+ * - `dependencies`: The npm packages an example can import by name in the built-in document,
92021
+ * each name to a version or a range, as a `package.json` lists them. Each
92022
+ * loads from `cdn`. Set it as JSON in the attribute or as an object. Not
92023
+ * read where `src` is set.
91235
92024
  * - `direction`: Writing direction inside the frame.
91236
92025
  *
91237
92026
  * Not reflected. It is payload for the render message and nothing selects on
@@ -91254,6 +92043,9 @@ export type CustomElementsSolidJs = {
91254
92043
  * Not reflected, for `direction`'s reason: the placement is applied by the
91255
92044
  * document inside the frame, against its own root, so no rule on this side
91256
92045
  * could read it.
92046
+ * - `modules`: Module files an example imports by a relative path in the built-in
92047
+ * document, each path, such as `utils.js`, to its source. Not read where
92048
+ * `src` is set.
91257
92049
  * - `open-label`/`openLabel`: The name of the button that opens the example in a new tab, under
91258
92050
  * `controls`.
91259
92051
  * - `reload-label`/`reloadLabel`: The name of the button that reloads the frame's document, under
@@ -91355,10 +92147,22 @@ export type CustomElementsSolidJs = {
91355
92147
  * milliseconds by default, so a word typed reloads it once. A pane's text when the sandbox starts reaches it at once.
91356
92148
  *
91357
92149
  * The event carries the pane's `name`, so one sandbox can hold several panes.
91358
- * `html` sets the preview's markup, `css` sets its stylesheet, and `js` sets
91359
- * a script that runs as a module after the markup. The sandbox ignores a pane
91360
- * with any other name, so that pane can show content without changing the
91361
- * preview.
92150
+ * The names the sandbox writes into its previews:
92151
+ *
92152
+ * - `html` sets the preview's markup.
92153
+ * - `css` sets its stylesheet.
92154
+ * - `js` sets a script that runs as a module after the markup.
92155
+ * - A module file name ending in `.js` or `.mjs`, such as `utils.js`, is a
92156
+ * module the other scripts import by its path, `./utils.js`.
92157
+ * - `package.json` sets the npm packages the scripts import by name, from its
92158
+ * `dependencies`, which load from the preview's `cdn`.
92159
+ *
92160
+ * The sandbox ignores a pane with any other name, so that pane can show
92161
+ * content without changing the preview.
92162
+ *
92163
+ * **The sandbox is `:state(modified)` while a source pane holds an edit**, and
92164
+ * that pane's file tab is also `file-modified` and described as modified to
92165
+ * a screen reader. `reset()` puts every pane back to the source it was given.
91362
92166
  *
91363
92167
  * **The dividers are two nested `helix-splitter` elements**, which handle the
91364
92168
  * pointer, the keyboard, and the corner. The inner splitter holds the panes and
@@ -91433,6 +92237,8 @@ export type CustomElementsSolidJs = {
91433
92237
  *
91434
92238
  * `split` follows the lead pane rather than the source, so `split="30"` means
91435
92239
  * the same thing in both directions: thirty percent to whatever comes first.
92240
+ * - `modified-label`/`modifiedLabel`: The description of a file tab whose pane holds an edit, read by screen
92241
+ * readers after the file's name.
91436
92242
  * - `orientation`: Whether the panes sit side by side or stacked.
91437
92243
  *
91438
92244
  * Not reflected, for `lead`'s reason above: no rule selects on it. The axis
@@ -91510,6 +92316,15 @@ export type CustomElementsSolidJs = {
91510
92316
  * - `status`: A status bar, spanning both panes at the bottom.
91511
92317
  * - `toolbar`: A bar across the top, spanning both panes.
91512
92318
  *
92319
+ * ## Methods
92320
+ *
92321
+ * Methods that can be called to access component functionality.
92322
+ *
92323
+ * - `reset() => void`: Puts every source pane back to the source it was given: through the
92324
+ * pane's own `reset()` where it has one, which sends an edit the previews
92325
+ * take, and otherwise by setting its `value` and writing it into the
92326
+ * previews.
92327
+ *
91513
92328
  * ## CSS Custom Properties
91514
92329
  *
91515
92330
  * CSS variables available for styling the component.
@@ -91525,6 +92340,7 @@ export type CustomElementsSolidJs = {
91525
92340
  * - `body`: The splitter holding the panes above the panel. `::part(body):state(dragging)` matches while its divider is held.
91526
92341
  * - `corner`: The handle where the two dividers cross.
91527
92342
  * - `file`: One file tab, `aria-selected` while its pane is shown.
92343
+ * - `file-modified`: A file tab whose pane holds an edit.
91528
92344
  * - `files`: The file tabs over the source panes, where there are several.
91529
92345
  * - `pane`: Either pane.
91530
92346
  * - `panel`: The box that holds the slotted panel.
@@ -91535,6 +92351,7 @@ export type CustomElementsSolidJs = {
91535
92351
  *
91536
92352
  * These can be used to apply styling when a component is in a given state.
91537
92353
  *
92354
+ * - `modified`: While a source pane holds an edit, until `reset()`.
91538
92355
  * - `panel-collapsed`: While there is a panel and it is no taller than `panel-collapsed-size`.
91539
92356
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
91540
92357
  */
@@ -91569,8 +92386,37 @@ export type CustomElementsSolidJs = {
91569
92386
  * that wraps keeps one number. The numbers are drawn, and hidden from screen
91570
92387
  * readers, which read the field.
91571
92388
  *
91572
- * Enter keeps the indentation of the line it breaks, and the new line is
91573
- * undone with the next undo as typing is.
92389
+ * Enter keeps the indentation of the line it breaks, one level deeper after
92390
+ * an opening bracket, and puts the closing bracket of an empty pair on a line
92391
+ * of its own. The new line is undone with the next undo as typing is.
92392
+ *
92393
+ * **The editing keys are CodeMirror's.** Tab with text selected indents every
92394
+ * line the selection touches. `Mod+]` indents the lines and `Mod+[` outdents
92395
+ * them, and `Mod+/` comments them out or back in: `//` in a `js` pane, and one
92396
+ * block comment in an `html` or `css` pane. `Mod` is Command on a Mac and
92397
+ * Control elsewhere. Each is one step of undo.
92398
+ *
92399
+ * **`close-brackets` closes brackets and quotes** as you type them: `(`, `[`,
92400
+ * `{` and the three quotes. A closing character typed before the same one
92401
+ * steps over it, Backspace between an empty pair deletes both, and a bracket
92402
+ * typed with text selected goes around the text. **`match-brackets` marks
92403
+ * the bracket beside the caret and its pair** while the field has focus, each
92404
+ * a `bracket` part, and a bracket with no pair is also `bracket-unmatched`.
92405
+ * A bracket in a string or a comment is not matched, where `tokenize` says
92406
+ * which runs those are.
92407
+ *
92408
+ * **`complete` offers completions as you type**: the words of the source and
92409
+ * of `completions` that start with the word before the caret. They open in a
92410
+ * list under the word. The arrow keys move through it, Enter or Tab takes the
92411
+ * word, and Escape closes it. `Ctrl+Space` opens it where it is closed. The
92412
+ * field is `aria-autocomplete="list"` and points at the word chosen with
92413
+ * `aria-activedescendant`, so a screen reader reads each one. Give
92414
+ * `completions` the names a page uses, such as the tag and attribute names of
92415
+ * a custom elements manifest through `manifestWords`.
92416
+ *
92417
+ * **The pane is `:state(modified)` while its source differs from the source it
92418
+ * was given**, the first `value` or the last one set from outside. `reset()`
92419
+ * puts that source back, as an edit the sandbox passes on to its preview.
91574
92420
  *
91575
92421
  * **The source can be written inside the pane** where `value` is not set: its
91576
92422
  * text, or the markup of a `<template>` it holds, without the indentation the
@@ -91581,6 +92427,14 @@ export type CustomElementsSolidJs = {
91581
92427
  *
91582
92428
  * Component attributes and properties that can be applied to the element or by using JavaScript.
91583
92429
  *
92430
+ * - `close-brackets`/`closeBrackets`: Whether typing an opening bracket or quote types its closing one too, and
92431
+ * a bracket typed with text selected goes around it.
92432
+ * - `complete`: Whether the pane offers completions for the word before the caret, from
92433
+ * the words of the source and of `completions`.
92434
+ * - `completions`: Words the pane offers under `complete` beside the words of the source,
92435
+ * such as tag and attribute names. `manifestWords` reads them from a custom
92436
+ * elements manifest. Set it as JSON in the attribute or as an array.
92437
+ * - `completions-label`/`completionsLabel`: The name of the list of completions, read by screen readers.
91584
92438
  * - `field-label`/`fieldLabel`: The editable region's name, read by screen readers.
91585
92439
  * - `field-name-label`/`fieldNameLabel`: The editable region's name where the pane has a `label`, so each file's
91586
92440
  * field says which file it holds. `{field}` is `field-label` and `{name}`
@@ -91589,12 +92443,17 @@ export type CustomElementsSolidJs = {
91589
92443
  * - `label`: The pane's file name, such as `index.html`, on its tab where a sandbox
91590
92444
  * holds several panes. Empty puts the pane's `name` on the tab.
91591
92445
  * - `line-numbers`/`lineNumbers`: Whether each line of the source is numbered, in a gutter beside it.
92446
+ * - `match-brackets`/`matchBrackets`: Whether the bracket beside the caret and its pair are marked while the
92447
+ * field has focus.
91592
92448
  * - `name`: Which source this pane holds. Every `helix-before-edit` event includes it.
91593
92449
  *
91594
92450
  * `html` and `css` are what the sandbox root routes on; any other name is
91595
92451
  * passed through untouched for a consumer wiring their own panes.
91596
92452
  *
91597
92453
  * Not reflected: nothing selects on it, so it keeps a real default instead.
92454
+ * - `readonly`/`readOnly`: Whether the source is read only: it can be selected and copied, and not
92455
+ * edited, as Sandpack's `readOnly` file is. Tab moves focus out of a field
92456
+ * that is read only.
91598
92457
  * - `tab-indents`/`tabIndents`: Whether Tab indents the source. When it is off, Tab moves focus.
91599
92458
  * - `value`: The source being edited.
91600
92459
  * - `tokenize`: Colors the source: a function from the source and the pane's `name` to
@@ -91608,6 +92467,8 @@ export type CustomElementsSolidJs = {
91608
92467
  *
91609
92468
  * Named for what it returns, runs of text, where Code Block's `highlight`
91610
92469
  * returns markup. (property only)
92470
+ * - `modified`: Whether the source differs from the source the pane was given: its first
92471
+ * `value`, or the last one set from outside. (property only) (readonly)
91611
92472
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
91612
92473
  *
91613
92474
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -91637,13 +92498,23 @@ export type CustomElementsSolidJs = {
91637
92498
  * - `helix-caret`: Fired when the cursor moves.
91638
92499
  * - `helix-edit`: Fired after the source was edited, with the new source.
91639
92500
  *
92501
+ * ## Methods
92502
+ *
92503
+ * Methods that can be called to access component functionality.
92504
+ *
92505
+ * - `reset() => void`: Puts back the source the pane was given, as an edit: `helix-before-edit`
92506
+ * is sent first and can refuse it, and the sandbox passes it to its preview.
92507
+ *
91640
92508
  * ## CSS Custom Properties
91641
92509
  *
91642
92510
  * CSS variables available for styling the component.
91643
92511
  *
91644
92512
  * - `--sandbox-source-background-color`: Fill behind the source.
92513
+ * - `--sandbox-source-bracket-color`: Fill behind a matched bracket, under `match-brackets`. Defaults to `--helix-color-accent-subtle`.
91645
92514
  * - `--sandbox-source-callable-color`: Color of a `callable` run, under `tokenize`. Defaults to `--helix-color-syntax-callable`.
91646
92515
  * - `--sandbox-source-comment-color`: Color of a `comment` run, under `tokenize`. Defaults to `--helix-color-syntax-comment`.
92516
+ * - `--sandbox-source-completions-border-width`: Width of the edge of the list of completions, under `complete`. Defaults to `--helix-border-floating`.
92517
+ * - `--sandbox-source-completions-shadow`: Shadow under the list of completions, under `complete`. Defaults to `--helix-shadow-floating`.
91647
92518
  * - `--sandbox-source-constant-color`: Color of a `constant` run, under `tokenize`. Defaults to `--helix-color-syntax-constant`.
91648
92519
  * - `--sandbox-source-invalid-color`: Color of an `invalid` run, under `tokenize`. Defaults to `--helix-color-syntax-invalid`.
91649
92520
  * - `--sandbox-source-keyword-color`: Color of a `keyword` run, under `tokenize`. Defaults to `--helix-color-syntax-keyword`.
@@ -91657,8 +92528,13 @@ export type CustomElementsSolidJs = {
91657
92528
  *
91658
92529
  * Custom selectors for styling elements within the component.
91659
92530
  *
91660
- * - `field`: The box that scrolls the field and its colors together, under `tokenize` or `line-numbers`.
91661
- * - `highlight`: The colored copy of the source drawn under the field, under `tokenize` or `line-numbers`.
92531
+ * - `bracket`: The bracket beside the caret and its pair, under `match-brackets`.
92532
+ * - `bracket-unmatched`: A bracket beside the caret with no pair, under `match-brackets`.
92533
+ * - `completion`: One word in the list of completions, under `complete`.
92534
+ * - `completion-active`: The word chosen in that list, which Enter or Tab takes.
92535
+ * - `completions`: The list of completions under the word being typed, under `complete`.
92536
+ * - `field`: The box that scrolls the field and its colors together, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.
92537
+ * - `highlight`: The colored copy of the source drawn under the field, under `tokenize`, `line-numbers`, `match-brackets` or `complete`.
91662
92538
  * - `line`: One line of that copy, under `line-numbers`, numbered in the gutter by its `::before`.
91663
92539
  * - `source`: The editable region.
91664
92540
  * - `token`: One run of the source that has a kind, under `tokenize`.
@@ -91667,6 +92543,7 @@ export type CustomElementsSolidJs = {
91667
92543
  *
91668
92544
  * These can be used to apply styling when a component is in a given state.
91669
92545
  *
92546
+ * - `modified`: While the source differs from the source the pane was given, until `reset()` or a new `value`.
91670
92547
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
91671
92548
  */
91672
92549
  "helix-sandbox-source": Partial<
@@ -93865,6 +94742,12 @@ export type CustomElementsSolidJs = {
93865
94742
  * that should survive its own collapse says how much of itself to keep, and
93866
94743
  * only whoever put it there knows that, which is the same reason `min` is a
93867
94744
  * consumer's to set.
94745
+ * - `collapsible`: Which panes can be collapsed, as Zag's panels each take `collapsible`:
94746
+ * `start`, `end`, `both`, or `none`. A pane that cannot be collapsed stops
94747
+ * at the edge without shutting. `Enter` collapses the end pane where only
94748
+ * the end pane can be collapsed, and the start pane otherwise.
94749
+ *
94750
+ * Unset is `both`, and the attribute stays absent until you write it.
93868
94751
  * - `corner-label`/`cornerLabel`: The name of the handle where two dividers cross, read by screen readers.
93869
94752
  * - `corner-value-label`/`cornerValueLabel`: What the handle where two dividers cross says it is set to, both dividers
93870
94753
  * at once: `{across}` is where the divider that runs down stands, and
@@ -93875,6 +94758,11 @@ export type CustomElementsSolidJs = {
93875
94758
  * these words are the whole of where it is.
93876
94759
  * - `default-collapsed`/`defaultCollapsed`: Which pane starts shut, when `collapsed` is not set.
93877
94760
  * - `default-position`/`defaultPosition`: Where the divider starts, when `position` is not set.
94761
+ * - `end-min`/`endMin`: The least the end pane keeps, in the units `min` takes: a percentage, or
94762
+ * a CSS length such as `16rem` resolved against the splitter's box. The
94763
+ * divider stops that far from the end, whatever `max` allows, so `min` and
94764
+ * `end-min` hold a minimum for each pane, as Zag's panels each take
94765
+ * `minSize`.
93878
94766
  * - `label`: The divider's name, read by screen readers.
93879
94767
  *
93880
94768
  * An `aria-label` or `aria-labelledby` on the host names the divider too,
@@ -96146,6 +97034,7 @@ export type CustomElementsSolidJs = {
96146
97034
  *
96147
97035
  * These can be used to apply styling when a component is in a given state.
96148
97036
  *
97037
+ * - `focus-visible`: The tag's cell has keyboard focus that the browser shows, in a `Tag.Group`.
96149
97038
  * - `selected`: The tag is selected in a `Tag.Group` that selects.
96150
97039
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
96151
97040
  */
@@ -96501,6 +97390,10 @@ export type CustomElementsSolidJs = {
96501
97390
  * along, so the two writes a consumer would make in sequence do not compose
96502
97391
  * into the range they asked for. The platform has this method for that reason
96503
97392
  * and so does this.
97393
+ * - `setRangeText(replacement: string, start?: number, end?: number, selectMode?: SelectionMode) => void`: Replaces a range of the text, as the native method does: the selection
97394
+ * where `start` and `end` are left out, and `selectMode` says what is
97395
+ * selected after. It sends no event, as the native method sends none.
97396
+ * - `select() => void`: Selects everything in the field.
96504
97397
  * - `focus(options?: FocusOptions) => void`: Moves focus to the control, as focusing a native control does.
96505
97398
  * - `formDisabledCallback(disabled: boolean) => void`: Called by the browser when an ancestor fieldset is disabled or enabled.
96506
97399
  *
@@ -97203,6 +98096,17 @@ export type CustomElementsSolidJs = {
97203
98096
  * imperatively later, and nothing is hydrating by then.
97204
98097
  *
97205
98098
  * Here rather than on each control.
98099
+ * - `timeContent`: What each time in the list shows: a function given the time as `HH:mm`,
98100
+ * or `HH:mm:ss` with `seconds`, and the time as the row writes it, that
98101
+ * returns text, an element or a Lit template.
98102
+ *
98103
+ * For the seats left at a time, or a caption under it, as React Aria's
98104
+ * `ListBoxItem` takes children. Content with `slot="start"`, `slot="end"`
98105
+ * or `slot="description"` goes to that slot of the row, and a description
98106
+ * is read after the time. The row is still named by the written time, and
98107
+ * typeahead still finds it by that. Return the written time with your
98108
+ * content where it should still show. A property only, there being no way
98109
+ * to write a function in markup. The wheels draw their own figures. (property only)
97206
98110
  * - `valueAsDate`: The value as a `Date` on 1 January 1970 UTC, or `null` while there is no time.
97207
98111
  *
97208
98112
  * The platform's own pair on `<input type="time">`, epoch day included: a time
@@ -97618,6 +98522,9 @@ export type CustomElementsSolidJs = {
97618
98522
  * - `orientation`: Which way time runs: `horizontal` lays the entries across the page. Unset,
97619
98523
  * they run down it.
97620
98524
  * - `label`: Accessible name for the timeline, for people who reach it out of context.
98525
+ * - `loading`: Marks the timeline as busy fetching more entries, and draws an entry
98526
+ * after the last that says so.
98527
+ * - `loading-label`/`loadingLabel`: The text of the entry drawn while `loading` is set, where the `loading` slot is empty.
97621
98528
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
97622
98529
  *
97623
98530
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -97644,6 +98551,7 @@ export type CustomElementsSolidJs = {
97644
98551
  * Areas where markup can be added to the component.
97645
98552
  *
97646
98553
  * - `(default)`: The entries, and any groups of them.
98554
+ * - `loading`: Content for the entry after the last while `loading` is set. Falls back to `loading-label`.
97647
98555
  *
97648
98556
  * ## CSS Custom Properties
97649
98557
  *
@@ -97651,10 +98559,17 @@ export type CustomElementsSolidJs = {
97651
98559
  *
97652
98560
  * - `--timeline-gap`: Space between one entry and the next.
97653
98561
  *
98562
+ * ## CSS Parts
98563
+ *
98564
+ * Custom selectors for styling elements within the component.
98565
+ *
98566
+ * - `loading`: The entry after the last while `loading` is set.
98567
+ *
97654
98568
  * ## CSS States
97655
98569
  *
97656
98570
  * These can be used to apply styling when a component is in a given state.
97657
98571
  *
98572
+ * - `loading`: While `loading` is set.
97658
98573
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
97659
98574
  */
97660
98575
  "helix-timeline": Partial<
@@ -100391,6 +101306,12 @@ export type CustomElementsSolidJs = {
100391
101306
  * and scrolls it sideways: Left and Right move between items, the other
100392
101307
  * way round on a right-to-left page, and `estimate` is an item's width. A
100393
101308
  * grid always runs down.
101309
+ * - `reorderable`: Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
101310
+ * (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
101311
+ * with an arrow moves the row the keys are on, and a pointer drags a row.
101312
+ * The list moves no item itself: you move your `items` on `helix-reorder`.
101313
+ * Without that import it does nothing, so a list that never moves items
101314
+ * carries none of the code. A list of one column, without sections.
100394
101315
  * - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
100395
101316
  * keys. Set, the items are drawn in sections: a header, then the items, in
100396
101317
  * an element with the `group` role that the header names. A section starts
@@ -100453,8 +101374,10 @@ export type CustomElementsSolidJs = {
100453
101374
  *
100454
101375
  * - `change`: Fired once a press or a key has changed which items are selected, in a list with `selection-mode`.
100455
101376
  * - `helix-before-change`: Fired before a press or a key changes which items are selected, with the `value` it would leave. Cancelable.
101377
+ * - `helix-before-reorder`: Fired when an item is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported, with every key in the new order. Cancelable: cancel it to keep the item where it is.
100456
101378
  * - `helix-load-more`: Fired when a reader comes within one screen of the last item, once for each length of the set.
100457
101379
  * - `helix-range-change`: Fired when the items on screen change, with the new `first` and `last`, which `range` also holds.
101380
+ * - `helix-reorder`: Fired after `helix-before-reorder` when nobody canceled it. Set `items` to the order in `keys`. Cancelable: cancel it to say the move did not happen.
100458
101381
  *
100459
101382
  * ## Slots
100460
101383
  *
@@ -100480,6 +101403,15 @@ export type CustomElementsSolidJs = {
100480
101403
  *
100481
101404
  * - `--virtual-list-block-size`: How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it.
100482
101405
  * - `--virtual-list-disabled-opacity`: How faint a row `disabled-keys` names is drawn.
101406
+ * - `--virtual-list-drag-preview-background-color`: The fill behind the copy of a row a pointer drags, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.
101407
+ * - `--virtual-list-drag-preview-border-color`: The color of the edge around the copy of a row a pointer drags.
101408
+ * - `--virtual-list-drag-preview-border-width`: The width of the edge around the copy of a row a pointer drags. None by default, where the shadow lifts it.
101409
+ * - `--virtual-list-drag-preview-opacity`: The opacity of the copy of a row a pointer drags.
101410
+ * - `--virtual-list-drag-preview-radius`: The corner radius of the copy of a row a pointer drags.
101411
+ * - `--virtual-list-drag-preview-shadow`: The shadow that raises the copy of a row a pointer drags over the page.
101412
+ * - `--virtual-list-dragging-opacity`: The opacity of a row being dragged, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported.
101413
+ * - `--virtual-list-drop-indicator-color`: The color of the line where a dragged row would land.
101414
+ * - `--virtual-list-drop-indicator-size`: The thickness of the line where a dragged row would land.
100483
101415
  * - `--virtual-list-empty-color`: The color of the text in the row shown when there are no items.
100484
101416
  * - `--virtual-list-empty-padding`: The space around the text in the row shown when there are no items.
100485
101417
  * - `--virtual-list-loading-color`: The color of the text in the row drawn while `loading` is set.
@@ -102024,6 +102956,8 @@ export type CustomCssProperties = {
102024
102956
  "--orb-ground"?: (string) | undefined;
102025
102957
  /** The diameter. Overrides `size`. */
102026
102958
  "--orb-size"?: (string) | undefined;
102959
+ /** How fast the dots move, as a multiple of each state's own tempo. Defaults to `1`. */
102960
+ "--orb-speed"?: (string) | undefined;
102027
102961
  /** The color of the heading in the `heading` slot. */
102028
102962
  "--outline-heading-color"?: (string) | undefined;
102029
102963
  /** How far each level is inset from the one above. */
@@ -102234,10 +103168,16 @@ export type CustomCssProperties = {
102234
103168
  "--sandbox-separator-color"?: (string) | undefined;
102235
103169
  /** Fill behind the source. */
102236
103170
  "--sandbox-source-background-color"?: (string) | undefined;
103171
+ /** Fill behind a matched bracket, under `match-brackets`. Defaults to `--helix-color-accent-subtle`. */
103172
+ "--sandbox-source-bracket-color"?: (string) | undefined;
102237
103173
  /** Color of a `callable` run, under `tokenize`. Defaults to `--helix-color-syntax-callable`. */
102238
103174
  "--sandbox-source-callable-color"?: (string) | undefined;
102239
103175
  /** Color of a `comment` run, under `tokenize`. Defaults to `--helix-color-syntax-comment`. */
102240
103176
  "--sandbox-source-comment-color"?: (string) | undefined;
103177
+ /** Width of the edge of the list of completions, under `complete`. Defaults to `--helix-border-floating`. */
103178
+ "--sandbox-source-completions-border-width"?: (string) | undefined;
103179
+ /** Shadow under the list of completions, under `complete`. Defaults to `--helix-shadow-floating`. */
103180
+ "--sandbox-source-completions-shadow"?: (string) | undefined;
102241
103181
  /** Color of a `constant` run, under `tokenize`. Defaults to `--helix-color-syntax-constant`. */
102242
103182
  "--sandbox-source-constant-color"?: (string) | undefined;
102243
103183
  /** Color of an `invalid` run, under `tokenize`. Defaults to `--helix-color-syntax-invalid`. */
@@ -102992,6 +103932,24 @@ export type CustomCssProperties = {
102992
103932
  "--virtual-list-block-size"?: (string) | undefined;
102993
103933
  /** How faint a row `disabled-keys` names is drawn. */
102994
103934
  "--virtual-list-disabled-opacity"?: (string) | undefined;
103935
+ /** The fill behind the copy of a row a pointer drags, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported. */
103936
+ "--virtual-list-drag-preview-background-color"?: (string) | undefined;
103937
+ /** The color of the edge around the copy of a row a pointer drags. */
103938
+ "--virtual-list-drag-preview-border-color"?: (string) | undefined;
103939
+ /** The width of the edge around the copy of a row a pointer drags. None by default, where the shadow lifts it. */
103940
+ "--virtual-list-drag-preview-border-width"?: (string) | undefined;
103941
+ /** The opacity of the copy of a row a pointer drags. */
103942
+ "--virtual-list-drag-preview-opacity"?: (string) | undefined;
103943
+ /** The corner radius of the copy of a row a pointer drags. */
103944
+ "--virtual-list-drag-preview-radius"?: (string) | undefined;
103945
+ /** The shadow that raises the copy of a row a pointer drags over the page. */
103946
+ "--virtual-list-drag-preview-shadow"?: (string) | undefined;
103947
+ /** The opacity of a row being dragged, in a `reorderable` list with `@fusion.dev/helix/virtual-list/reorder` imported. */
103948
+ "--virtual-list-dragging-opacity"?: (string) | undefined;
103949
+ /** The color of the line where a dragged row would land. */
103950
+ "--virtual-list-drop-indicator-color"?: (string) | undefined;
103951
+ /** The thickness of the line where a dragged row would land. */
103952
+ "--virtual-list-drop-indicator-size"?: (string) | undefined;
102995
103953
  /** The color of the text in the row shown when there are no items. */
102996
103954
  "--virtual-list-empty-color"?: (string) | undefined;
102997
103955
  /** The space around the text in the row shown when there are no items. */