@fusion.dev/helix-headless 0.157.0 → 0.159.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.
- package/custom-elements.json +851 -56
- package/dist/app-header/root/app-header-root.d.ts +59 -12
- package/dist/app-header/root/app-header-root.js +68 -29
- package/dist/button/root/button-root.d.ts +8 -0
- package/dist/button/root/button-root.js +4 -0
- package/dist/button-group/root/button-group-root.d.ts +20 -7
- package/dist/button-group/root/button-group-root.js +30 -5
- package/dist/command/root/command-root.d.ts +19 -5
- package/dist/command/root/command-root.js +14 -4
- package/dist/data-table/root/data-table-root.js +5 -2
- package/dist/element-events.generated.js +7 -1
- package/dist/lightbox/item/lightbox-item.d.ts +7 -1
- package/dist/lightbox/item/lightbox-item.js +15 -2
- package/dist/lightbox/root/lightbox-root.d.ts +8 -4
- package/dist/lightbox/root/lightbox-root.js +9 -1
- package/dist/lightbox/zoom-controller.d.ts +13 -4
- package/dist/lightbox/zoom-controller.js +17 -0
- package/dist/list/item/list-item.d.ts +15 -1
- package/dist/list/item/list-item.js +20 -1
- package/dist/list/root/list-root.d.ts +29 -1
- package/dist/list/root/list-root.js +44 -10
- package/dist/listbox/root/listbox-root.d.ts +19 -2
- package/dist/listbox/root/listbox-root.js +16 -8
- package/dist/map/root/map-root.d.ts +4 -0
- package/dist/map/root/map-root.js +1 -1
- package/dist/menu/item/menu-item.js +1 -1
- package/dist/menu/root/menu-root.d.ts +6 -2
- package/dist/menu/root/menu-root.js +9 -2
- package/dist/number-input/root/number-input-root.d.ts +7 -4
- package/dist/number-input/root/number-input-root.js +3 -3
- package/dist/progress/root/progress-root.js +1 -1
- package/dist/select/root/select-root.d.ts +8 -1
- package/dist/select/root/select-root.js +8 -5
- package/dist/skeleton/root/skeleton-root.d.ts +2 -1
- package/dist/skeleton/root/skeleton-root.js +1 -1
- package/dist/steps/root/steps-root.js +8 -6
- package/dist/steps/step/step.d.ts +9 -0
- package/dist/steps/step/step.js +19 -2
- package/dist/tabs/panel/tab-panel.d.ts +22 -1
- package/dist/tabs/panel/tab-panel.js +22 -1
- package/dist/tabs/root/tabs-root.d.ts +21 -5
- package/dist/tabs/root/tabs-root.js +24 -13
- package/dist/tabs/tab/tab.d.ts +4 -2
- package/dist/tabs/tab/tab.js +3 -1
- package/dist/toast/item/toast-item.d.ts +27 -8
- package/dist/toast/item/toast-item.js +47 -11
- package/dist/toast/root/toast-root.d.ts +24 -1
- package/dist/toast/root/toast-root.js +54 -0
- package/dist/tour/root/tour-root.d.ts +34 -0
- package/dist/tour/root/tour-root.js +92 -3
- package/dist/tour/stop/tour-stop.d.ts +33 -1
- package/dist/tour/stop/tour-stop.js +12 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +667 -102
- package/types/vue.d.ts +148 -23
package/types/jsx.d.ts
CHANGED
|
@@ -936,9 +936,18 @@ export type HelixHeadlessAppHeaderElementEvent<E = Event> = TypedEvent<
|
|
|
936
936
|
HelixHeadlessAppHeader,
|
|
937
937
|
E
|
|
938
938
|
>;
|
|
939
|
+
/** `helix-before-close` event type */
|
|
940
|
+
export type HelixHeadlessAppHeaderHelixBeforeCloseElementEvent =
|
|
941
|
+
HelixHeadlessAppHeaderElementEvent<HelixBeforeCloseEvent>;
|
|
942
|
+
/** `helix-before-open` event type */
|
|
943
|
+
export type HelixHeadlessAppHeaderHelixBeforeOpenElementEvent =
|
|
944
|
+
HelixHeadlessAppHeaderElementEvent<HelixBeforeOpenEvent>;
|
|
939
945
|
/** `helix-scrolled` event type */
|
|
940
946
|
export type HelixHeadlessAppHeaderHelixScrolledElementEvent =
|
|
941
947
|
HelixHeadlessAppHeaderElementEvent<HelixScrolledEvent>;
|
|
948
|
+
/** `toggle` event type */
|
|
949
|
+
export type HelixHeadlessAppHeaderToggleElementEvent =
|
|
950
|
+
HelixHeadlessAppHeaderElementEvent<ToggleEvent>;
|
|
942
951
|
|
|
943
952
|
export type HelixHeadlessAppHeaderProps = {
|
|
944
953
|
/** Where the middle region sits in the bar.
|
|
@@ -988,11 +997,50 @@ page scrolls up. */
|
|
|
988
997
|
/** The id of the element whose scrolling lifts the bar, for an app shell that
|
|
989
998
|
scrolls a container instead of the window. Unset is the window. */
|
|
990
999
|
scroller?: (HelixHeadlessAppHeader["scroller"]) | undefined;
|
|
1000
|
+
/** Where the toggle that opens a folded middle region sits: at the end of the
|
|
1001
|
+
bar, after the trailing content, or with `start`, before the leading
|
|
1002
|
+
content.
|
|
1003
|
+
|
|
1004
|
+
Optional, so the resting bar writes no attribute onto the host. */
|
|
1005
|
+
"toggle-placement"?: (HelixHeadlessAppHeader["togglePlacement"]) | undefined;
|
|
1006
|
+
/** Where the toggle that opens a folded middle region sits: at the end of the
|
|
1007
|
+
bar, after the trailing content, or with `start`, before the leading
|
|
1008
|
+
content.
|
|
1009
|
+
|
|
1010
|
+
Optional, so the resting bar writes no attribute onto the host. */
|
|
1011
|
+
togglePlacement?: (HelixHeadlessAppHeader["togglePlacement"]) | undefined;
|
|
1012
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
1013
|
+
"default-open"?: (HelixHeadlessAppHeader["defaultOpen"]) | undefined;
|
|
1014
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
1015
|
+
defaultOpen?: (HelixHeadlessAppHeader["defaultOpen"]) | undefined;
|
|
1016
|
+
/** Whether the element is open.
|
|
1017
|
+
|
|
1018
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
1019
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
1020
|
+
same statement in markup.
|
|
991
1021
|
|
|
1022
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
1023
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
1024
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
1025
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
1026
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
1027
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
1028
|
+
open?: (HelixHeadlessAppHeader["open"]) | undefined;
|
|
1029
|
+
|
|
1030
|
+
/** The folded region is about to close. Cancelable: cancel it to keep it open. */
|
|
1031
|
+
"onhelix-before-close"?: ((
|
|
1032
|
+
e: HelixHeadlessAppHeaderHelixBeforeCloseElementEvent,
|
|
1033
|
+
) => void) | undefined;
|
|
1034
|
+
/** The folded region is about to open. Cancelable: cancel it to keep it closed. */
|
|
1035
|
+
"onhelix-before-open"?: ((
|
|
1036
|
+
e: HelixHeadlessAppHeaderHelixBeforeOpenElementEvent,
|
|
1037
|
+
) => void) | undefined;
|
|
992
1038
|
/** Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener. */
|
|
993
1039
|
"onhelix-scrolled"?: ((
|
|
994
1040
|
e: HelixHeadlessAppHeaderHelixScrolledElementEvent,
|
|
995
1041
|
) => void) | undefined;
|
|
1042
|
+
/** The folded region opened or closed. The event carries `newState` and `oldState`. */
|
|
1043
|
+
ontoggle?: ((e: HelixHeadlessAppHeaderToggleElementEvent) => void) | undefined;
|
|
996
1044
|
};
|
|
997
1045
|
|
|
998
1046
|
export type HelixHeadlessAppHeaderSolidJsProps = {
|
|
@@ -1043,10 +1091,49 @@ page scrolls up. */
|
|
|
1043
1091
|
/** The id of the element whose scrolling lifts the bar, for an app shell that
|
|
1044
1092
|
scrolls a container instead of the window. Unset is the window. */
|
|
1045
1093
|
"prop:scroller"?: (HelixHeadlessAppHeader["scroller"]) | undefined;
|
|
1094
|
+
/** Where the toggle that opens a folded middle region sits: at the end of the
|
|
1095
|
+
bar, after the trailing content, or with `start`, before the leading
|
|
1096
|
+
content.
|
|
1097
|
+
|
|
1098
|
+
Optional, so the resting bar writes no attribute onto the host. */
|
|
1099
|
+
"attr:toggle-placement"?: (HelixHeadlessAppHeader["togglePlacement"]) | undefined;
|
|
1100
|
+
/** Where the toggle that opens a folded middle region sits: at the end of the
|
|
1101
|
+
bar, after the trailing content, or with `start`, before the leading
|
|
1102
|
+
content.
|
|
1103
|
+
|
|
1104
|
+
Optional, so the resting bar writes no attribute onto the host. */
|
|
1105
|
+
"prop:togglePlacement"?: (HelixHeadlessAppHeader["togglePlacement"]) | undefined;
|
|
1106
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
1107
|
+
"bool:default-open"?: (HelixHeadlessAppHeader["defaultOpen"]) | undefined;
|
|
1108
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
1109
|
+
"prop:defaultOpen"?: (HelixHeadlessAppHeader["defaultOpen"]) | undefined;
|
|
1110
|
+
/** Whether the element is open.
|
|
1111
|
+
|
|
1112
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
1113
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
1114
|
+
same statement in markup.
|
|
1115
|
+
|
|
1116
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
1117
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
1118
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
1119
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
1120
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
1121
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
1122
|
+
"prop:open"?: (HelixHeadlessAppHeader["open"]) | undefined;
|
|
1123
|
+
/** The folded region is about to close. Cancelable: cancel it to keep it open. */
|
|
1124
|
+
"on:helix-before-close"?: ((
|
|
1125
|
+
e: HelixHeadlessAppHeaderHelixBeforeCloseElementEvent,
|
|
1126
|
+
) => void) | undefined;
|
|
1127
|
+
/** The folded region is about to open. Cancelable: cancel it to keep it closed. */
|
|
1128
|
+
"on:helix-before-open"?: ((
|
|
1129
|
+
e: HelixHeadlessAppHeaderHelixBeforeOpenElementEvent,
|
|
1130
|
+
) => void) | undefined;
|
|
1046
1131
|
/** Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener. */
|
|
1047
1132
|
"on:helix-scrolled"?: ((
|
|
1048
1133
|
e: HelixHeadlessAppHeaderHelixScrolledElementEvent,
|
|
1049
1134
|
) => void) | undefined;
|
|
1135
|
+
/** The folded region opened or closed. The event carries `newState` and `oldState`. */
|
|
1136
|
+
"on:toggle"?: ((e: HelixHeadlessAppHeaderToggleElementEvent) => void) | undefined;
|
|
1050
1137
|
|
|
1051
1138
|
/** Set the innerHTML of the element */
|
|
1052
1139
|
innerHTML?: (string) | undefined;
|
|
@@ -2317,6 +2404,14 @@ export type HelixHeadlessButtonGroupHelixBeforeChangeElementEvent =
|
|
|
2317
2404
|
HelixHeadlessButtonGroupElementEvent<HelixBeforeChangeEvent>;
|
|
2318
2405
|
|
|
2319
2406
|
export type HelixHeadlessButtonGroupProps = {
|
|
2407
|
+
/** Keeps at least one button pressed once one is, as React Aria's
|
|
2408
|
+
`disallowEmptySelection`: a press that would leave none pressed is
|
|
2409
|
+
refused. */
|
|
2410
|
+
"disallow-empty-selection"?: (HelixHeadlessButtonGroup["disallowEmptySelection"]) | undefined;
|
|
2411
|
+
/** Keeps at least one button pressed once one is, as React Aria's
|
|
2412
|
+
`disallowEmptySelection`: a press that would leave none pressed is
|
|
2413
|
+
refused. */
|
|
2414
|
+
disallowEmptySelection?: (HelixHeadlessButtonGroup["disallowEmptySelection"]) | undefined;
|
|
2320
2415
|
/** The group's name, read by screen readers.
|
|
2321
2416
|
|
|
2322
2417
|
On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -2368,6 +2463,14 @@ not reflect, as a native control's `value` does not. */
|
|
|
2368
2463
|
};
|
|
2369
2464
|
|
|
2370
2465
|
export type HelixHeadlessButtonGroupSolidJsProps = {
|
|
2466
|
+
/** Keeps at least one button pressed once one is, as React Aria's
|
|
2467
|
+
`disallowEmptySelection`: a press that would leave none pressed is
|
|
2468
|
+
refused. */
|
|
2469
|
+
"bool:disallow-empty-selection"?: (HelixHeadlessButtonGroup["disallowEmptySelection"]) | undefined;
|
|
2470
|
+
/** Keeps at least one button pressed once one is, as React Aria's
|
|
2471
|
+
`disallowEmptySelection`: a press that would leave none pressed is
|
|
2472
|
+
refused. */
|
|
2473
|
+
"prop:disallowEmptySelection"?: (HelixHeadlessButtonGroup["disallowEmptySelection"]) | undefined;
|
|
2371
2474
|
/** The group's name, read by screen readers.
|
|
2372
2475
|
|
|
2373
2476
|
On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -8419,6 +8522,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8419
8522
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8420
8523
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8421
8524
|
open?: (HelixHeadlessCommand["open"]) | undefined;
|
|
8525
|
+
/** Whether a command is kept by the filter: a function given the command's
|
|
8526
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
8527
|
+
React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
8528
|
+
|
|
8529
|
+
Absent, a command is kept where its words hold the filter, in any case. A
|
|
8530
|
+
property only, there being no way to write a function in markup. */
|
|
8531
|
+
filterMatch?: (HelixHeadlessCommand["filterMatch"]) | undefined;
|
|
8422
8532
|
/** The commands as data, for a palette too long to draw whole: each a value,
|
|
8423
8533
|
which is also its words, or a record with a `value`, a `label` and
|
|
8424
8534
|
`disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -8548,6 +8658,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8548
8658
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8549
8659
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8550
8660
|
"prop:open"?: (HelixHeadlessCommand["open"]) | undefined;
|
|
8661
|
+
/** Whether a command is kept by the filter: a function given the command's
|
|
8662
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
8663
|
+
React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
8664
|
+
|
|
8665
|
+
Absent, a command is kept where its words hold the filter, in any case. A
|
|
8666
|
+
property only, there being no way to write a function in markup. */
|
|
8667
|
+
"prop:filterMatch"?: (HelixHeadlessCommand["filterMatch"]) | undefined;
|
|
8551
8668
|
/** The commands as data, for a palette too long to draw whole: each a value,
|
|
8552
8669
|
which is also its words, or a record with a `value`, a `label` and
|
|
8553
8670
|
`disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -17395,7 +17512,9 @@ Not reflected, as a state never is. `row-current` is the part a
|
|
|
17395
17512
|
stylesheet draws it from. */
|
|
17396
17513
|
current?: (HelixHeadlessListItem["current"]) | undefined;
|
|
17397
17514
|
/** Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
17398
|
-
pass over it and it cannot be selected or acted on.
|
|
17515
|
+
pass over it and it cannot be selected or acted on. In a list with
|
|
17516
|
+
`disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
17517
|
+
acted on as any row is. */
|
|
17399
17518
|
disabled?: (HelixHeadlessListItem["disabled"]) | undefined;
|
|
17400
17519
|
/** The URL the row links to. Leave it empty for a row that is not a link.
|
|
17401
17520
|
|
|
@@ -17431,6 +17550,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
|
|
|
17431
17550
|
Written by the list from its own `value`, and unset where nothing can be
|
|
17432
17551
|
selected, which keeps `aria-selected` off a list that does not select. */
|
|
17433
17552
|
selected?: (HelixHeadlessListItem["selected"]) | undefined;
|
|
17553
|
+
/** Whether `disabled` takes the row out of selection alone, written by a list
|
|
17554
|
+
with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
17555
|
+
between elements, as `focusable` is. */
|
|
17556
|
+
selectionOnly?: (HelixHeadlessListItem["selectionOnly"]) | undefined;
|
|
17434
17557
|
|
|
17435
17558
|
/** The reader pressed Enter on the row, or pressed the row in a list that selects nothing, in a list with `selection-mode`. Read the row from `target`. A row with `href` follows its link instead. */
|
|
17436
17559
|
"onhelix-action"?: ((e: HelixHeadlessListItemHelixActionElementEvent) => void) | undefined;
|
|
@@ -17446,7 +17569,9 @@ Not reflected, as a state never is. `row-current` is the part a
|
|
|
17446
17569
|
stylesheet draws it from. */
|
|
17447
17570
|
"prop:current"?: (HelixHeadlessListItem["current"]) | undefined;
|
|
17448
17571
|
/** Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
17449
|
-
pass over it and it cannot be selected or acted on.
|
|
17572
|
+
pass over it and it cannot be selected or acted on. In a list with
|
|
17573
|
+
`disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
17574
|
+
acted on as any row is. */
|
|
17450
17575
|
"prop:disabled"?: (HelixHeadlessListItem["disabled"]) | undefined;
|
|
17451
17576
|
/** The URL the row links to. Leave it empty for a row that is not a link.
|
|
17452
17577
|
|
|
@@ -17482,6 +17607,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
|
|
|
17482
17607
|
Written by the list from its own `value`, and unset where nothing can be
|
|
17483
17608
|
selected, which keeps `aria-selected` off a list that does not select. */
|
|
17484
17609
|
"prop:selected"?: (HelixHeadlessListItem["selected"]) | undefined;
|
|
17610
|
+
/** Whether `disabled` takes the row out of selection alone, written by a list
|
|
17611
|
+
with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
17612
|
+
between elements, as `focusable` is. */
|
|
17613
|
+
"prop:selectionOnly"?: (HelixHeadlessListItem["selectionOnly"]) | undefined;
|
|
17485
17614
|
/** The reader pressed Enter on the row, or pressed the row in a list that selects nothing, in a list with `selection-mode`. Read the row from `target`. A row with `href` follows its link instead. */
|
|
17486
17615
|
"on:helix-action"?: ((e: HelixHeadlessListItemHelixActionElementEvent) => void) | undefined;
|
|
17487
17616
|
|
|
@@ -17519,6 +17648,20 @@ refused, in a `reorderable` list. */
|
|
|
17519
17648
|
/** What screen readers hear when a held row is put back, or a move is
|
|
17520
17649
|
refused, in a `reorderable` list. */
|
|
17521
17650
|
canceledLabel?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
17651
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17652
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17653
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17654
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17655
|
+
|
|
17656
|
+
Absent is `all`. */
|
|
17657
|
+
"disabled-behavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17658
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17659
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17660
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17661
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17662
|
+
|
|
17663
|
+
Absent is `all`. */
|
|
17664
|
+
disabledBehavior?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17522
17665
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
17523
17666
|
"dropped-label"?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
17524
17667
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
@@ -17651,6 +17794,20 @@ refused, in a `reorderable` list. */
|
|
|
17651
17794
|
/** What screen readers hear when a held row is put back, or a move is
|
|
17652
17795
|
refused, in a `reorderable` list. */
|
|
17653
17796
|
"prop:canceledLabel"?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
17797
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17798
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17799
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17800
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17801
|
+
|
|
17802
|
+
Absent is `all`. */
|
|
17803
|
+
"attr:disabled-behavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17804
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17805
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17806
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17807
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17808
|
+
|
|
17809
|
+
Absent is `all`. */
|
|
17810
|
+
"prop:disabledBehavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17654
17811
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
17655
17812
|
"attr:dropped-label"?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
17656
17813
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
@@ -18042,6 +18199,14 @@ imperatively later, and nothing is hydrating by then.
|
|
|
18042
18199
|
|
|
18043
18200
|
Here rather than on each control. */
|
|
18044
18201
|
name?: (HelixHeadlessListbox["name"]) | undefined;
|
|
18202
|
+
/** Whether an option is kept by the filter: a function given the option's
|
|
18203
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
18204
|
+
React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
18205
|
+
accents, matches the start of each word, or matches out of order.
|
|
18206
|
+
|
|
18207
|
+
Absent, an option is kept where its words hold the filter, in any case. A
|
|
18208
|
+
property only, there being no way to write a function in markup. */
|
|
18209
|
+
filterMatch?: (HelixHeadlessListbox["filterMatch"]) | undefined;
|
|
18045
18210
|
/** The options as data, for a list too long to draw whole: each a value,
|
|
18046
18211
|
which is also its words, or a record with a `value`, a `label` and
|
|
18047
18212
|
`disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -18332,6 +18497,14 @@ imperatively later, and nothing is hydrating by then.
|
|
|
18332
18497
|
|
|
18333
18498
|
Here rather than on each control. */
|
|
18334
18499
|
"prop:name"?: (HelixHeadlessListbox["name"]) | undefined;
|
|
18500
|
+
/** Whether an option is kept by the filter: a function given the option's
|
|
18501
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
18502
|
+
React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
18503
|
+
accents, matches the start of each word, or matches out of order.
|
|
18504
|
+
|
|
18505
|
+
Absent, an option is kept where its words hold the filter, in any case. A
|
|
18506
|
+
property only, there being no way to write a function in markup. */
|
|
18507
|
+
"prop:filterMatch"?: (HelixHeadlessListbox["filterMatch"]) | undefined;
|
|
18335
18508
|
/** The options as data, for a list too long to draw whole: each a value,
|
|
18336
18509
|
which is also its words, or a record with a `value`, a `label` and
|
|
18337
18510
|
`disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -21603,8 +21776,11 @@ imperatively later, and nothing is hydrating by then.
|
|
|
21603
21776
|
|
|
21604
21777
|
Here rather than on each control. */
|
|
21605
21778
|
name?: (HelixHeadlessNumberInput["name"]) | undefined;
|
|
21606
|
-
/** The value as a number, or `NaN` while the control is empty
|
|
21779
|
+
/** The value as a number, or `NaN` while the control is empty or does not
|
|
21780
|
+
hold a number.
|
|
21607
21781
|
|
|
21782
|
+
Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
21783
|
+
in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
21608
21784
|
`NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
21609
21785
|
is zero, so an empty control would report a number it does not hold and a
|
|
21610
21786
|
form would submit it. */
|
|
@@ -21878,8 +22054,11 @@ imperatively later, and nothing is hydrating by then.
|
|
|
21878
22054
|
|
|
21879
22055
|
Here rather than on each control. */
|
|
21880
22056
|
"prop:name"?: (HelixHeadlessNumberInput["name"]) | undefined;
|
|
21881
|
-
/** The value as a number, or `NaN` while the control is empty
|
|
22057
|
+
/** The value as a number, or `NaN` while the control is empty or does not
|
|
22058
|
+
hold a number.
|
|
21882
22059
|
|
|
22060
|
+
Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
22061
|
+
in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
21883
22062
|
`NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
21884
22063
|
is zero, so an empty control would report a number it does not hold and a
|
|
21885
22064
|
form would submit it. */
|
|
@@ -26018,7 +26197,8 @@ export type HelixHeadlessSkeletonProps = {
|
|
|
26018
26197
|
/** What is loading, read out as the placeholder's name, such as "Loading
|
|
26019
26198
|
profile".
|
|
26020
26199
|
|
|
26021
|
-
Absent hides the placeholder from screen readers.
|
|
26200
|
+
Absent hides the placeholder from screen readers. Around content, the name
|
|
26201
|
+
is read while `loading` is set, and the loaded content is read as it is. */
|
|
26022
26202
|
label?: (HelixHeadlessSkeleton["label"]) | undefined;
|
|
26023
26203
|
/** Whether the content inside is still loading, which keeps it inert and
|
|
26024
26204
|
draws the placeholder over it.
|
|
@@ -26032,7 +26212,8 @@ export type HelixHeadlessSkeletonSolidJsProps = {
|
|
|
26032
26212
|
/** What is loading, read out as the placeholder's name, such as "Loading
|
|
26033
26213
|
profile".
|
|
26034
26214
|
|
|
26035
|
-
Absent hides the placeholder from screen readers.
|
|
26215
|
+
Absent hides the placeholder from screen readers. Around content, the name
|
|
26216
|
+
is read while `loading` is set, and the loaded content is read as it is. */
|
|
26036
26217
|
"prop:label"?: (HelixHeadlessSkeleton["label"]) | undefined;
|
|
26037
26218
|
/** Whether the content inside is still loading, which keeps it inert and
|
|
26038
26219
|
draws the placeholder over it.
|
|
@@ -28981,7 +29162,19 @@ known by its place among the rows as written. */
|
|
|
28981
29162
|
textContent?: (string | number) | undefined;
|
|
28982
29163
|
};
|
|
28983
29164
|
|
|
29165
|
+
/** `HelixHeadlessTabPanel` component event */
|
|
29166
|
+
export type HelixHeadlessTabPanelElementEvent<E = Event> = TypedEvent<
|
|
29167
|
+
HelixHeadlessTabPanel,
|
|
29168
|
+
E
|
|
29169
|
+
>;
|
|
29170
|
+
/** `helix-load` event type */
|
|
29171
|
+
export type HelixHeadlessTabPanelHelixLoadElementEvent =
|
|
29172
|
+
HelixHeadlessTabPanelElementEvent<HelixLoadEvent>;
|
|
29173
|
+
|
|
28984
29174
|
export type HelixHeadlessTabPanelProps = {
|
|
29175
|
+
/** Whether the panel's content waits in a `<template>` until the panel is
|
|
29176
|
+
first shown. */
|
|
29177
|
+
lazy?: (HelixHeadlessTabPanel["lazy"]) | undefined;
|
|
28985
29178
|
/** Whether this panel is the visible one. */
|
|
28986
29179
|
selected?: (HelixHeadlessTabPanel["selected"]) | undefined;
|
|
28987
29180
|
/** Pairs the panel with the tab of the same value. */
|
|
@@ -28997,9 +29190,15 @@ written in, and the tab's control is inside the tab's shadow root, which no
|
|
|
28997
29190
|
reference from the light DOM can reach. `aria-label` on a `tabpanel` is how
|
|
28998
29191
|
the pattern names one anyway. */
|
|
28999
29192
|
label?: (HelixHeadlessTabPanel["label"]) | undefined;
|
|
29193
|
+
|
|
29194
|
+
/** Fired the first time a `lazy` panel is shown, once its template's content is in. */
|
|
29195
|
+
"onhelix-load"?: ((e: HelixHeadlessTabPanelHelixLoadElementEvent) => void) | undefined;
|
|
29000
29196
|
};
|
|
29001
29197
|
|
|
29002
29198
|
export type HelixHeadlessTabPanelSolidJsProps = {
|
|
29199
|
+
/** Whether the panel's content waits in a `<template>` until the panel is
|
|
29200
|
+
first shown. */
|
|
29201
|
+
"prop:lazy"?: (HelixHeadlessTabPanel["lazy"]) | undefined;
|
|
29003
29202
|
/** Whether this panel is the visible one. */
|
|
29004
29203
|
"prop:selected"?: (HelixHeadlessTabPanel["selected"]) | undefined;
|
|
29005
29204
|
/** Pairs the panel with the tab of the same value. */
|
|
@@ -29015,6 +29214,8 @@ written in, and the tab's control is inside the tab's shadow root, which no
|
|
|
29015
29214
|
reference from the light DOM can reach. `aria-label` on a `tabpanel` is how
|
|
29016
29215
|
the pattern names one anyway. */
|
|
29017
29216
|
"prop:label"?: (HelixHeadlessTabPanel["label"]) | undefined;
|
|
29217
|
+
/** Fired the first time a `lazy` panel is shown, once its template's content is in. */
|
|
29218
|
+
"on:helix-load"?: ((e: HelixHeadlessTabPanelHelixLoadElementEvent) => void) | undefined;
|
|
29018
29219
|
|
|
29019
29220
|
/** Set the innerHTML of the element */
|
|
29020
29221
|
innerHTML?: (string) | undefined;
|
|
@@ -31638,6 +31839,12 @@ consumer's server markup does not have. A sheet carries the resting
|
|
|
31638
31839
|
arrangement in its own `:host` rule and the selectors describe only the
|
|
31639
31840
|
departures, which is what `orientation` does. */
|
|
31640
31841
|
placement?: (HelixHeadlessToast["placement"]) | undefined;
|
|
31842
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
31843
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
31844
|
+
"swipe-direction"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31845
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
31846
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
31847
|
+
swipeDirection?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31641
31848
|
|
|
31642
31849
|
/** A message is being dismissed, by its control or by its timer. The message sends it, and you can listen for it on the region. Cancelable: canceling it keeps the message. */
|
|
31643
31850
|
"onhelix-dismiss"?: ((e: HelixHeadlessToastHelixDismissElementEvent) => void) | undefined;
|
|
@@ -31685,6 +31892,12 @@ consumer's server markup does not have. A sheet carries the resting
|
|
|
31685
31892
|
arrangement in its own `:host` rule and the selectors describe only the
|
|
31686
31893
|
departures, which is what `orientation` does. */
|
|
31687
31894
|
"prop:placement"?: (HelixHeadlessToast["placement"]) | undefined;
|
|
31895
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
31896
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
31897
|
+
"attr:swipe-direction"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31898
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
31899
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
31900
|
+
"prop:swipeDirection"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31688
31901
|
/** A message is being dismissed, by its control or by its timer. The message sends it, and you can listen for it on the region. Cancelable: canceling it keeps the message. */
|
|
31689
31902
|
"on:helix-dismiss"?: ((e: HelixHeadlessToastHelixDismissElementEvent) => void) | undefined;
|
|
31690
31903
|
|
|
@@ -32601,6 +32814,14 @@ The shape is `Carousel`'s, which is the nearest thing in the library: a
|
|
|
32601
32814
|
"next-label"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32602
32815
|
/** Label for the control that goes on. */
|
|
32603
32816
|
nextLabel?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32817
|
+
/** What a press outside the current stop and its target does while the tour
|
|
32818
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
32819
|
+
Skip does, and `block` refuses the press. */
|
|
32820
|
+
"outside-press"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32821
|
+
/** What a press outside the current stop and its target does while the tour
|
|
32822
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
32823
|
+
Skip does, and `block` refuses the press. */
|
|
32824
|
+
outsidePress?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32604
32825
|
/** Draws each stop's place in the run in its panel, as well as saying it. */
|
|
32605
32826
|
progress?: (HelixHeadlessTour["progress"]) | undefined;
|
|
32606
32827
|
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
@@ -32691,6 +32912,14 @@ The shape is `Carousel`'s, which is the nearest thing in the library: a
|
|
|
32691
32912
|
"attr:next-label"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32692
32913
|
/** Label for the control that goes on. */
|
|
32693
32914
|
"prop:nextLabel"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32915
|
+
/** What a press outside the current stop and its target does while the tour
|
|
32916
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
32917
|
+
Skip does, and `block` refuses the press. */
|
|
32918
|
+
"attr:outside-press"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32919
|
+
/** What a press outside the current stop and its target does while the tour
|
|
32920
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
32921
|
+
Skip does, and `block` refuses the press. */
|
|
32922
|
+
"prop:outsidePress"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32694
32923
|
/** Draws each stop's place in the run in its panel, as well as saying it. */
|
|
32695
32924
|
"prop:progress"?: (HelixHeadlessTour["progress"]) | undefined;
|
|
32696
32925
|
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
@@ -32809,6 +33038,9 @@ heading. */
|
|
|
32809
33038
|
Reflected, because the styled tier places a dialog and a floating panel by
|
|
32810
33039
|
it, and unset at rest, so no default is written onto the host. */
|
|
32811
33040
|
type?: (HelixHeadlessTourStop["type"]) | undefined;
|
|
33041
|
+
/** Run as the tour reaches the stop, before it is shown: see the description
|
|
33042
|
+
above. A function, so it is set from script and has no attribute. */
|
|
33043
|
+
effect?: (HelixHeadlessTourStop["effect"]) | undefined;
|
|
32812
33044
|
|
|
32813
33045
|
/** Fired when one of the stop's controls is pressed, to move the tour. */
|
|
32814
33046
|
"onhelix-tour-ask"?: ((
|
|
@@ -32861,6 +33093,9 @@ heading. */
|
|
|
32861
33093
|
Reflected, because the styled tier places a dialog and a floating panel by
|
|
32862
33094
|
it, and unset at rest, so no default is written onto the host. */
|
|
32863
33095
|
"prop:type"?: (HelixHeadlessTourStop["type"]) | undefined;
|
|
33096
|
+
/** Run as the tour reaches the stop, before it is shown: see the description
|
|
33097
|
+
above. A function, so it is set from script and has no attribute. */
|
|
33098
|
+
"prop:effect"?: (HelixHeadlessTourStop["effect"]) | undefined;
|
|
32864
33099
|
/** Fired when one of the stop's controls is pressed, to move the tour. */
|
|
32865
33100
|
"on:helix-tour-ask"?: ((
|
|
32866
33101
|
e: HelixHeadlessTourStopHelixTourAskElementEvent,
|
|
@@ -35480,12 +35715,21 @@ export type CustomElements = {
|
|
|
35480
35715
|
*
|
|
35481
35716
|
* **Set `fold-below` to fold the middle region on a narrow screen.** Below that
|
|
35482
35717
|
* many pixels of the bar's own width, the middle region is hidden behind a
|
|
35483
|
-
* toggle at the end of the bar, named by `menu-label
|
|
35484
|
-
*
|
|
35485
|
-
*
|
|
35486
|
-
*
|
|
35487
|
-
*
|
|
35488
|
-
*
|
|
35718
|
+
* toggle at the end of the bar, named by `menu-label`, or at its start with
|
|
35719
|
+
* `toggle-placement="start"`. The toggle says whether the region is open with
|
|
35720
|
+
* `aria-expanded`, and the region opens below the row. The region follows the
|
|
35721
|
+
* toggle's region in focus order, so Tab from the toggle at the end goes into
|
|
35722
|
+
* the open region. The custom state `folded` is on the host while the bar is
|
|
35723
|
+
* that narrow, and `open` while the folded region is open. A server serves the
|
|
35724
|
+
* bar unfolded, and the browser folds it once it has measured it.
|
|
35725
|
+
*
|
|
35726
|
+
* **`open` says whether the folded region is open, and setting it opens or
|
|
35727
|
+
* closes the region.** `requestOpen(true)` and `requestOpen(false)` do the same
|
|
35728
|
+
* and send `helix-before-open` or `helix-before-close` first, which you can
|
|
35729
|
+
* cancel, and `toggleOpen()` asks for the opposite. `toggle` follows every
|
|
35730
|
+
* change. The region closes on Escape, which puts focus back on the toggle,
|
|
35731
|
+
* when focus moves to something outside the header, and on a press outside
|
|
35732
|
+
* it. A bar that widens past `fold-below` closes its region.
|
|
35489
35733
|
*
|
|
35490
35734
|
* The host is the page's `banner` landmark. Placed inside `main`, `article`,
|
|
35491
35735
|
* `aside`, `nav` or `section`, it is a plain box instead, as a native
|
|
@@ -35520,6 +35764,24 @@ export type CustomElements = {
|
|
|
35520
35764
|
* - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
|
|
35521
35765
|
* - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
|
|
35522
35766
|
* scrolls a container instead of the window. Unset is the window.
|
|
35767
|
+
* - `toggle-placement`/`togglePlacement`: Where the toggle that opens a folded middle region sits: at the end of the
|
|
35768
|
+
* bar, after the trailing content, or with `start`, before the leading
|
|
35769
|
+
* content.
|
|
35770
|
+
*
|
|
35771
|
+
* Optional, so the resting bar writes no attribute onto the host.
|
|
35772
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
35773
|
+
* - `open`: Whether the element is open.
|
|
35774
|
+
*
|
|
35775
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
35776
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
35777
|
+
* same statement in markup.
|
|
35778
|
+
*
|
|
35779
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
35780
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
35781
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
35782
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
35783
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
35784
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
35523
35785
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
35524
35786
|
*
|
|
35525
35787
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -35545,7 +35807,10 @@ export type CustomElements = {
|
|
|
35545
35807
|
*
|
|
35546
35808
|
* Events that will be emitted by the component.
|
|
35547
35809
|
*
|
|
35810
|
+
* - `helix-before-close`: The folded region is about to close. Cancelable: cancel it to keep it open.
|
|
35811
|
+
* - `helix-before-open`: The folded region is about to open. Cancelable: cancel it to keep it closed.
|
|
35548
35812
|
* - `helix-scrolled`: Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener.
|
|
35813
|
+
* - `toggle`: The folded region opened or closed. The event carries `newState` and `oldState`.
|
|
35549
35814
|
*
|
|
35550
35815
|
* ## Slots
|
|
35551
35816
|
*
|
|
@@ -35556,6 +35821,20 @@ export type CustomElements = {
|
|
|
35556
35821
|
* - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
|
|
35557
35822
|
* - `start`: Leading content, usually a wordmark.
|
|
35558
35823
|
*
|
|
35824
|
+
* ## Methods
|
|
35825
|
+
*
|
|
35826
|
+
* Methods that can be called to access component functionality.
|
|
35827
|
+
*
|
|
35828
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
35829
|
+
* was applied.
|
|
35830
|
+
*
|
|
35831
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
35832
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
35833
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
35834
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
35835
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
35836
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
35837
|
+
*
|
|
35559
35838
|
* ## CSS Parts
|
|
35560
35839
|
*
|
|
35561
35840
|
* Custom selectors for styling elements within the component.
|
|
@@ -36940,11 +37219,15 @@ export type CustomElements = {
|
|
|
36940
37219
|
* appearance and size.
|
|
36941
37220
|
*
|
|
36942
37221
|
* **Buttons that stay pressed.** With `selection-mode`, each button with a
|
|
36943
|
-
* `value` is a toggle button: a press presses or releases it
|
|
36944
|
-
*
|
|
36945
|
-
*
|
|
36946
|
-
*
|
|
36947
|
-
*
|
|
37222
|
+
* `value` is a toggle button: a press presses or releases it. `multiple` lets
|
|
37223
|
+
* any number be pressed, and each button says so with `aria-pressed`. `single`
|
|
37224
|
+
* keeps one pressed at a time: the group is a `radiogroup` and each button a
|
|
37225
|
+
* `radio` that says so with `aria-checked`, as React Aria's toggle button
|
|
37226
|
+
* group is. A press on the pressed one releases it, unless
|
|
37227
|
+
* `disallow-empty-selection` keeps one pressed. `value` is the pressed values,
|
|
37228
|
+
* comma separated. A press sends a cancelable `helix-before-change` with the
|
|
37229
|
+
* value it would leave, then `change`. A pressed Helix button has
|
|
37230
|
+
* `:state(pressed)` on its own element.
|
|
36948
37231
|
*
|
|
36949
37232
|
* The pressed state is written on the control inside each button's shadow
|
|
36950
37233
|
* root, so the markup you rendered is never changed and a framework hydrating
|
|
@@ -36972,15 +37255,18 @@ export type CustomElements = {
|
|
|
36972
37255
|
* | Space, Enter | Presses or releases the focused button. |
|
|
36973
37256
|
*
|
|
36974
37257
|
* Left and Right swap on a right-to-left page, and a disabled button is
|
|
36975
|
-
* passed over.
|
|
37258
|
+
* passed over. Under `multiple` the group is a `toolbar`, with
|
|
36976
37259
|
* `aria-orientation` under `orientation="vertical"`. Inside a toolbar it stays
|
|
36977
37260
|
* a named `group`, and the toolbar's own arrow keys walk its buttons, so a
|
|
36978
|
-
* reader meets one toolbar.
|
|
37261
|
+
* reader meets one toolbar. Under `single` it is a `radiogroup` either way.
|
|
36979
37262
|
*
|
|
36980
37263
|
* ## Attributes & Properties
|
|
36981
37264
|
*
|
|
36982
37265
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
36983
37266
|
*
|
|
37267
|
+
* - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
|
|
37268
|
+
* `disallowEmptySelection`: a press that would leave none pressed is
|
|
37269
|
+
* refused.
|
|
36984
37270
|
* - `label`: The group's name, read by screen readers.
|
|
36985
37271
|
*
|
|
36986
37272
|
* On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -37348,6 +37634,7 @@ export type CustomElements = {
|
|
|
37348
37634
|
* These can be used to apply styling when a component is in a given state.
|
|
37349
37635
|
*
|
|
37350
37636
|
* - `pending`: The button is pending: `pending` is set.
|
|
37637
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
37351
37638
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
37352
37639
|
*/
|
|
37353
37640
|
"helix-headless-button": Partial<
|
|
@@ -41095,8 +41382,9 @@ export type CustomElements = {
|
|
|
41095
41382
|
*
|
|
41096
41383
|
* Choosing the opener says `helix-select` with its value, and canceling it
|
|
41097
41384
|
* keeps the page that is shown. The list then shows the page, named by the
|
|
41098
|
-
* opener's words, and
|
|
41099
|
-
*
|
|
41385
|
+
* opener's words, and a screen reader hears those words. Backspace in an empty
|
|
41386
|
+
* filter goes back, and a screen reader hears the name of the page it goes
|
|
41387
|
+
* back to. `page` says which page is shown.
|
|
41100
41388
|
*
|
|
41101
41389
|
* The filter is cleared when the palette closes, so each opening starts from
|
|
41102
41390
|
* the full list. Combobox and Select do the same. As typing narrows the list, a
|
|
@@ -41118,9 +41406,10 @@ export type CustomElements = {
|
|
|
41118
41406
|
* | Tab | Stays in the palette, which is modal. With `inline`, moves on through the page. |
|
|
41119
41407
|
*
|
|
41120
41408
|
* **ARIA.** The palette is a modal `dialog` named by `label`, or with
|
|
41121
|
-
* `inline` no dialog at all. Inside it the filter field is a
|
|
41122
|
-
* `aria-
|
|
41123
|
-
* `
|
|
41409
|
+
* `inline` no dialog at all. Inside it the filter field is a text field with
|
|
41410
|
+
* `aria-autocomplete="list"`, `aria-controls` on the list, and
|
|
41411
|
+
* `aria-activedescendant` on the highlighted command, as the field of React
|
|
41412
|
+
* Aria's `Autocomplete` is. The commands are a `listbox` of `option`s. How many commands typing left, the empty text and
|
|
41124
41413
|
* the loading text are said in a polite live region.
|
|
41125
41414
|
*
|
|
41126
41415
|
* ## Attributes & Properties
|
|
@@ -41184,6 +41473,12 @@ export type CustomElements = {
|
|
|
41184
41473
|
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
41185
41474
|
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
41186
41475
|
* the resolved state for stylesheets, which is what the mirror is for.
|
|
41476
|
+
* - `filterMatch`: Whether a command is kept by the filter: a function given the command's
|
|
41477
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
41478
|
+
* React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
41479
|
+
*
|
|
41480
|
+
* Absent, a command is kept where its words hold the filter, in any case. A
|
|
41481
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
41187
41482
|
* - `items`: The commands as data, for a palette too long to draw whole: each a value,
|
|
41188
41483
|
* which is also its words, or a record with a `value`, a `label` and
|
|
41189
41484
|
* `disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -41275,6 +41570,7 @@ export type CustomElements = {
|
|
|
41275
41570
|
* - `listbox-loading`: The text shown while the commands are loading.
|
|
41276
41571
|
* - `listbox-search`: The region that holds the filter field.
|
|
41277
41572
|
* - `listbox-search-field`: The filter field.
|
|
41573
|
+
* - `live`: The region a screen reader announces the page shown from, by the words of the command that opens it, drawn once there is one to say. Visually hidden in the styled tier.
|
|
41278
41574
|
*
|
|
41279
41575
|
* ## CSS States
|
|
41280
41576
|
*
|
|
@@ -41520,6 +41816,7 @@ export type CustomElements = {
|
|
|
41520
41816
|
* - `copied`: The moment after a successful copy, while `copied-label` names the button.
|
|
41521
41817
|
* - `failed`: The moment after a press that put nothing on the clipboard, while `error-label` names the button.
|
|
41522
41818
|
* - `pending`: The button is pending: `pending` is set.
|
|
41819
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
41523
41820
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
41524
41821
|
*/
|
|
41525
41822
|
"helix-headless-copy-button": Partial<
|
|
@@ -46545,6 +46842,7 @@ export type CustomElements = {
|
|
|
46545
46842
|
* These can be used to apply styling when a component is in a given state.
|
|
46546
46843
|
*
|
|
46547
46844
|
* - `pending`: The button is pending: `pending` is set.
|
|
46845
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
46548
46846
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
46549
46847
|
*/
|
|
46550
46848
|
"helix-headless-icon-button": Partial<
|
|
@@ -47431,7 +47729,8 @@ export type CustomElements = {
|
|
|
47431
47729
|
* Each item is a `group` with the role description `slide`, named by its
|
|
47432
47730
|
* `label` or, without one, by its place in the set, such as "2 of 5", as the
|
|
47433
47731
|
* APG carousel pattern names a slide. The lightbox supplies both words, so they
|
|
47434
|
-
* are translated on the lightbox.
|
|
47732
|
+
* are translated on the lightbox. A `description`, while there is one,
|
|
47733
|
+
* describes the group, so a screen reader says it with the name.
|
|
47435
47734
|
*
|
|
47436
47735
|
* An item that is not current is hidden and stays in the DOM, as a `TabPanel`
|
|
47437
47736
|
* does. Crawlers can read it, it is in the server-rendered markup, and an
|
|
@@ -47515,9 +47814,10 @@ export type CustomElements = {
|
|
|
47515
47814
|
* buttons that send `--previous`, `--next` and `--close`.
|
|
47516
47815
|
*
|
|
47517
47816
|
* **Set `max-zoom` to let a reader zoom into the shown item**, such as `3`.
|
|
47518
|
-
* Two fingers pinch it,
|
|
47519
|
-
* about the point
|
|
47520
|
-
*
|
|
47817
|
+
* Two fingers pinch it, and so does a trackpad pinch or the wheel with Ctrl
|
|
47818
|
+
* held, about the point under the pointer. A double click or a double tap
|
|
47819
|
+
* zooms all the way in about the point pressed and back out, and once zoomed
|
|
47820
|
+
* one pointer drags it about and the wheel moves it. `+` and `-` zoom in and out from the keyboard, and `0` puts it back.
|
|
47521
47821
|
* The scale and the offset are on the `viewport` part as `--lightbox-zoom`,
|
|
47522
47822
|
* `--lightbox-pan-x` and `--lightbox-pan-y`, written only while zoomed, and a
|
|
47523
47823
|
* swipe moves to the next item only while the item is at its own size. With
|
|
@@ -47738,6 +48038,8 @@ export type CustomElements = {
|
|
|
47738
48038
|
*
|
|
47739
48039
|
* These can be used to apply styling when a component is in a given state.
|
|
47740
48040
|
*
|
|
48041
|
+
* - `entering`: From the moment the viewer opens until its entrance has finished.
|
|
48042
|
+
* - `exiting`: From the moment the viewer closes until its exit has finished.
|
|
47741
48043
|
* - `fullscreen`: While the viewer fills the screen.
|
|
47742
48044
|
* - `idle`: The user has been still long enough for the controls to hide.
|
|
47743
48045
|
* - `open`: While the viewer is open.
|
|
@@ -48186,7 +48488,9 @@ export type CustomElements = {
|
|
|
48186
48488
|
* Not reflected, as a state never is. `row-current` is the part a
|
|
48187
48489
|
* stylesheet draws it from.
|
|
48188
48490
|
* - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
48189
|
-
* pass over it and it cannot be selected or acted on.
|
|
48491
|
+
* pass over it and it cannot be selected or acted on. In a list with
|
|
48492
|
+
* `disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
48493
|
+
* acted on as any row is.
|
|
48190
48494
|
* - `href`: The URL the row links to. Leave it empty for a row that is not a link.
|
|
48191
48495
|
*
|
|
48192
48496
|
* Empty rather than optional, and unset by default: a list is not always a
|
|
@@ -48213,6 +48517,9 @@ export type CustomElements = {
|
|
|
48213
48517
|
*
|
|
48214
48518
|
* Written by the list from its own `value`, and unset where nothing can be
|
|
48215
48519
|
* selected, which keeps `aria-selected` off a list that does not select. (property only)
|
|
48520
|
+
* - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
|
|
48521
|
+
* with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
48522
|
+
* between elements, as `focusable` is. (property only)
|
|
48216
48523
|
* - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
|
|
48217
48524
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
48218
48525
|
*
|
|
@@ -48273,6 +48580,7 @@ export type CustomElements = {
|
|
|
48273
48580
|
* - `dragging`: The row is being moved, in a `reorderable` list.
|
|
48274
48581
|
* - `drop-after`: The row being moved goes after this one when it is dropped.
|
|
48275
48582
|
* - `drop-before`: The row being moved goes before this one when it is dropped.
|
|
48583
|
+
* - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
|
|
48276
48584
|
* - `selected`: The row is selected, in a list that selects.
|
|
48277
48585
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
48278
48586
|
*/
|
|
@@ -48289,7 +48597,9 @@ export type CustomElements = {
|
|
|
48289
48597
|
* `multiple` any number, and `value` holds the selected rows' values,
|
|
48290
48598
|
* separated by commas. A change asks with `helix-before-change` and tells
|
|
48291
48599
|
* with `change`. `none` selects nothing, so a press acts on the row. A
|
|
48292
|
-
* `disabled` row is passed over.
|
|
48600
|
+
* `disabled` row is passed over. With `disabled-behavior="selection"`, a
|
|
48601
|
+
* `disabled` row cannot be selected, and is reached and acted on as any row
|
|
48602
|
+
* is, as React Aria's GridList has it. Each row is named by its label and described
|
|
48293
48603
|
* by its description, so the words of the controls in `end` are not read as
|
|
48294
48604
|
* part of its name.
|
|
48295
48605
|
*
|
|
@@ -48367,6 +48677,12 @@ export type CustomElements = {
|
|
|
48367
48677
|
*
|
|
48368
48678
|
* - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
|
|
48369
48679
|
* refused, in a `reorderable` list.
|
|
48680
|
+
* - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
|
|
48681
|
+
* passes over the row, or `selection`, which keeps the row out of the
|
|
48682
|
+
* selection and lets the keys reach it and Enter or a press act on it, as
|
|
48683
|
+
* React Aria's GridList takes `disabledBehavior`.
|
|
48684
|
+
*
|
|
48685
|
+
* Absent is `all`.
|
|
48370
48686
|
* - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
|
|
48371
48687
|
* - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
|
|
48372
48688
|
* slot is empty. Empty, the default, shows no row.
|
|
@@ -48506,7 +48822,9 @@ export type CustomElements = {
|
|
|
48506
48822
|
* With `multiple` set, `value` is a comma-separated string, like
|
|
48507
48823
|
* `Checkbox.Group`'s, because `MixinControllerValue` holds a string. The form
|
|
48508
48824
|
* receives one entry per selected option, as a native `<select multiple>` sends
|
|
48509
|
-
* it, so your server does not split on commas.
|
|
48825
|
+
* it, so your server does not split on commas. An option's value may hold a
|
|
48826
|
+
* comma: a run of the string that is an option's value is read as that one
|
|
48827
|
+
* value, and the form sends it as one entry.
|
|
48510
48828
|
*
|
|
48511
48829
|
* Selected and active are separate. The selected option is the value. The
|
|
48512
48830
|
* active option is where the keyboard is: the arrow keys move it, and
|
|
@@ -48713,6 +49031,13 @@ export type CustomElements = {
|
|
|
48713
49031
|
* imperatively later, and nothing is hydrating by then.
|
|
48714
49032
|
*
|
|
48715
49033
|
* Here rather than on each control.
|
|
49034
|
+
* - `filterMatch`: Whether an option is kept by the filter: a function given the option's
|
|
49035
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
49036
|
+
* React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
49037
|
+
* accents, matches the start of each word, or matches out of order.
|
|
49038
|
+
*
|
|
49039
|
+
* Absent, an option is kept where its words hold the filter, in any case. A
|
|
49040
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
48716
49041
|
* - `items`: The options as data, for a list too long to draw whole: each a value,
|
|
48717
49042
|
* which is also its words, or a record with a `value`, a `label` and
|
|
48718
49043
|
* `disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -48749,7 +49074,10 @@ export type CustomElements = {
|
|
|
48749
49074
|
* Descendants rather than children, because a group puts a level between the
|
|
48750
49075
|
* list and its options and the keyboard has to move through a grouped list
|
|
48751
49076
|
* exactly as it moves through a flat one. (property only) (readonly)
|
|
48752
|
-
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
49077
|
+
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
49078
|
+
*
|
|
49079
|
+
* Read against the options' values, so an option whose value holds a comma
|
|
49080
|
+
* is one value. See `chosenValues`. (property only) (readonly)
|
|
48753
49081
|
* - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
|
|
48754
49082
|
* - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
|
|
48755
49083
|
* - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
|
|
@@ -50520,8 +50848,8 @@ export type CustomElements = {
|
|
|
50520
50848
|
* rows, Home and End go to the first and the last, a typed letter moves to
|
|
50521
50849
|
* the next row whose name starts with it, Enter and Space choose, Right Arrow
|
|
50522
50850
|
* opens a row's submenu and Left Arrow goes back, the two swapping on a
|
|
50523
|
-
* right-to-left page
|
|
50524
|
-
* trigger. Tab closes it and moves on.
|
|
50851
|
+
* right-to-left page. Left Arrow on the top page does nothing. Escape closes
|
|
50852
|
+
* the menu and returns focus to the trigger. Tab closes it and moves on.
|
|
50525
50853
|
*
|
|
50526
50854
|
* While it is open, the surface carries the trigger's width as
|
|
50527
50855
|
* `--floating-anchor-inline-size` and the room left below it as
|
|
@@ -50665,6 +50993,10 @@ export type CustomElements = {
|
|
|
50665
50993
|
* - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
|
|
50666
50994
|
* - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
|
|
50667
50995
|
* - `open`: While the menu is open.
|
|
50996
|
+
* - `placed-bottom`: While the open panel sits below its trigger.
|
|
50997
|
+
* - `placed-left`: While the open panel sits to the left of its trigger.
|
|
50998
|
+
* - `placed-right`: While the open panel sits to the right of its trigger.
|
|
50999
|
+
* - `placed-top`: While the open panel sits above its trigger.
|
|
50668
51000
|
* - `start`: A row on the current page has content in its leading column, so every row keeps that column.
|
|
50669
51001
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
50670
51002
|
*/
|
|
@@ -51564,9 +51896,9 @@ export type CustomElements = {
|
|
|
51564
51896
|
* The locale's group separators are read in every field, so `1,234` is a
|
|
51565
51897
|
* number in `en-US`.
|
|
51566
51898
|
*
|
|
51567
|
-
* The field and its two buttons sit in a `role="group"
|
|
51568
|
-
* `role-label`, "number field" in English, as its
|
|
51569
|
-
* React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
51899
|
+
* The field and its two buttons sit in a `role="group"` named by the label,
|
|
51900
|
+
* and the field carries `role-label`, "number field" in English, as its
|
|
51901
|
+
* `aria-roledescription`, as React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
51570
51902
|
* field, with no `role="spinbutton"`, which VoiceOver reads as a slider you
|
|
51571
51903
|
* cannot type in, and no role description, so VoiceOver says the field is
|
|
51572
51904
|
* required. React Aria's NumberField does the same.
|
|
@@ -51745,8 +52077,11 @@ export type CustomElements = {
|
|
|
51745
52077
|
* imperatively later, and nothing is hydrating by then.
|
|
51746
52078
|
*
|
|
51747
52079
|
* Here rather than on each control.
|
|
51748
|
-
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty
|
|
52080
|
+
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
|
|
52081
|
+
* hold a number.
|
|
51749
52082
|
*
|
|
52083
|
+
* Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
52084
|
+
* in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
51750
52085
|
* `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
51751
52086
|
* is zero, so an empty control would report a number it does not hold and a
|
|
51752
52087
|
* form would submit it. (property only)
|
|
@@ -55142,7 +55477,9 @@ export type CustomElements = {
|
|
|
55142
55477
|
* whole set.
|
|
55143
55478
|
*
|
|
55144
55479
|
* `Select` owns the value, passes it down to the listbox, and takes changes
|
|
55145
|
-
* back, so the value lives in one place.
|
|
55480
|
+
* back, so the value lives in one place. With `multiple`, the value is the
|
|
55481
|
+
* chosen values joined with commas, and the form receives one entry for each.
|
|
55482
|
+
* An option's value may hold a comma, and it is read as one value.
|
|
55146
55483
|
*
|
|
55147
55484
|
* Set `valueContent` to draw the trigger's content from the chosen options,
|
|
55148
55485
|
* and several chosen options are written as a list in the reader's language.
|
|
@@ -55519,7 +55856,8 @@ export type CustomElements = {
|
|
|
55519
55856
|
* - `label`: What is loading, read out as the placeholder's name, such as "Loading
|
|
55520
55857
|
* profile".
|
|
55521
55858
|
*
|
|
55522
|
-
* Absent hides the placeholder from screen readers.
|
|
55859
|
+
* Absent hides the placeholder from screen readers. Around content, the name
|
|
55860
|
+
* is read while `loading` is set, and the loaded content is read as it is.
|
|
55523
55861
|
* - `loading`: Whether the content inside is still loading, which keeps it inert and
|
|
55524
55862
|
* draws the placeholder over it.
|
|
55525
55863
|
*
|
|
@@ -57152,6 +57490,10 @@ export type CustomElements = {
|
|
|
57152
57490
|
* region. The current stage's button carries `aria-current="step"`, and only
|
|
57153
57491
|
* the button, so the state is said once, on the control.
|
|
57154
57492
|
*
|
|
57493
|
+
* A stage's `content`, while it holds anything, is a group named by the
|
|
57494
|
+
* stage's name, so a screen reader moving into it hears which stage it
|
|
57495
|
+
* belongs to.
|
|
57496
|
+
*
|
|
57155
57497
|
* ## Attributes & Properties
|
|
57156
57498
|
*
|
|
57157
57499
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -58198,10 +58540,18 @@ export type CustomElements = {
|
|
|
58198
58540
|
* the tab list lands on the panel's first link or control where there is one,
|
|
58199
58541
|
* and on the panel itself where there is none.
|
|
58200
58542
|
*
|
|
58543
|
+
* **Set `lazy` for a panel that is expensive to draw.** Its content waits in a
|
|
58544
|
+
* `<template>` inside it, and goes into the panel the first time the panel is
|
|
58545
|
+
* shown, so it costs nothing until a reader opens that tab. Once in, it stays.
|
|
58546
|
+
* The panel sends `helix-load` at the same moment, for content your code
|
|
58547
|
+
* renders itself.
|
|
58548
|
+
*
|
|
58201
58549
|
* ## Attributes & Properties
|
|
58202
58550
|
*
|
|
58203
58551
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
58204
58552
|
*
|
|
58553
|
+
* - `lazy`: Whether the panel's content waits in a `<template>` until the panel is
|
|
58554
|
+
* first shown.
|
|
58205
58555
|
* - `selected`: Whether this panel is the visible one.
|
|
58206
58556
|
* - `value`: Pairs the panel with the tab of the same value.
|
|
58207
58557
|
* - `label`: The name of the panel, which is the text of the tab that opens it.
|
|
@@ -58235,11 +58585,17 @@ export type CustomElements = {
|
|
|
58235
58585
|
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
58236
58586
|
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
58237
58587
|
*
|
|
58588
|
+
* ## Events
|
|
58589
|
+
*
|
|
58590
|
+
* Events that will be emitted by the component.
|
|
58591
|
+
*
|
|
58592
|
+
* - `helix-load`: Fired the first time a `lazy` panel is shown, once its template's content is in.
|
|
58593
|
+
*
|
|
58238
58594
|
* ## Slots
|
|
58239
58595
|
*
|
|
58240
58596
|
* Areas where markup can be added to the component.
|
|
58241
58597
|
*
|
|
58242
|
-
* - `(default)`: The panel's content.
|
|
58598
|
+
* - `(default)`: The panel's content. Under `lazy`, a `<template>` holding it.
|
|
58243
58599
|
*
|
|
58244
58600
|
* ## CSS Parts
|
|
58245
58601
|
*
|
|
@@ -58251,6 +58607,7 @@ export type CustomElements = {
|
|
|
58251
58607
|
*
|
|
58252
58608
|
* These can be used to apply styling when a component is in a given state.
|
|
58253
58609
|
*
|
|
58610
|
+
* - `loaded`: Once a `lazy` panel has been shown and its content is in.
|
|
58254
58611
|
* - `selected`: While its tab is the one selected.
|
|
58255
58612
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
58256
58613
|
*/
|
|
@@ -58300,9 +58657,9 @@ export type CustomElements = {
|
|
|
58300
58657
|
* | Enter, Space | Selects the tab with focus, or follows its link. |
|
|
58301
58658
|
* | Tab | Leaves the list for the selected panel. |
|
|
58302
58659
|
*
|
|
58303
|
-
* Removing the selected tab selects the
|
|
58304
|
-
* `active` says so, with `helix-activate`. Where
|
|
58305
|
-
* focus moves to the tab now selected.
|
|
58660
|
+
* Removing the selected tab selects the enabled tab beside it, the next one
|
|
58661
|
+
* or else the one before, and `active` says so, with `helix-activate`. Where
|
|
58662
|
+
* the removed tab had focus, focus moves to the tab now selected.
|
|
58306
58663
|
*
|
|
58307
58664
|
* **More tabs than fit.** With `scroll-controls`, a strip that scrolls shows a
|
|
58308
58665
|
* button at each end it can scroll toward, as Web Awesome's tab group does,
|
|
@@ -58408,6 +58765,8 @@ export type CustomElements = {
|
|
|
58408
58765
|
* - `(default)`: The tabs, as direct children of this element.
|
|
58409
58766
|
* - `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.
|
|
58410
58767
|
* - `panels`: The panels, as direct children of this element. Panels inside a wrapper are not paired with tabs, because pairing reads only the direct children.
|
|
58768
|
+
* - `scroll-end-icon`: Replaces the glyph on the button that scrolls the strip toward its end.
|
|
58769
|
+
* - `scroll-start-icon`: Replaces the glyph on the button that scrolls the strip toward its start.
|
|
58411
58770
|
*
|
|
58412
58771
|
* ## Methods
|
|
58413
58772
|
*
|
|
@@ -58429,7 +58788,9 @@ export type CustomElements = {
|
|
|
58429
58788
|
* - `indicator`: The marker that moves to the selected tab. It carries the selected tab's place and size as `--indicator-x`, `--indicator-y`, `--indicator-inline-size` and `--indicator-block-size`, and `data-placed` once it has been placed, for a mark you draw and animate yourself.
|
|
58430
58789
|
* - `panels`: The panel container.
|
|
58431
58790
|
* - `scroll-end`: The button that scrolls the strip toward its end, shown under `scroll-controls` while there is more that way.
|
|
58791
|
+
* - `scroll-end-mark`: The glyph on that button, where none is slotted.
|
|
58432
58792
|
* - `scroll-start`: The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way.
|
|
58793
|
+
* - `scroll-start-mark`: The glyph on that button, where none is slotted.
|
|
58433
58794
|
* - `tabs`: The tab list.
|
|
58434
58795
|
*
|
|
58435
58796
|
* ## CSS States
|
|
@@ -58454,8 +58815,8 @@ export type CustomElements = {
|
|
|
58454
58815
|
* can: a press on its `dismiss` mark, or Delete or Backspace while the tab
|
|
58455
58816
|
* has focus, sends `helix-dismiss`. The tab does not remove itself, because
|
|
58456
58817
|
* your code owns the set, so remove the tab and its panel in your handler.
|
|
58457
|
-
* Focus moves to the tab beside it, and the tab
|
|
58458
|
-
*
|
|
58818
|
+
* Focus moves to the tab beside it, and where the tab was selected, the tab
|
|
58819
|
+
* set selects that same tab.
|
|
58459
58820
|
* The tab says the key through `aria-keyshortcuts`, and the mark is for the
|
|
58460
58821
|
* pointer, hidden from screen readers.
|
|
58461
58822
|
*
|
|
@@ -58512,6 +58873,7 @@ export type CustomElements = {
|
|
|
58512
58873
|
* Areas where markup can be added to the component.
|
|
58513
58874
|
*
|
|
58514
58875
|
* - `(default)`: The tab's label.
|
|
58876
|
+
* - `dismiss-icon`: Replaces the glyph on the mark that closes a `dismissible` tab.
|
|
58515
58877
|
*
|
|
58516
58878
|
* ## Methods
|
|
58517
58879
|
*
|
|
@@ -58536,6 +58898,7 @@ export type CustomElements = {
|
|
|
58536
58898
|
* Custom selectors for styling elements within the component.
|
|
58537
58899
|
*
|
|
58538
58900
|
* - `dismiss`: The mark a pointer presses to close a `dismissible` tab.
|
|
58901
|
+
* - `dismiss-mark`: The glyph on that mark, where none is slotted.
|
|
58539
58902
|
* - `tab`: The tab itself.
|
|
58540
58903
|
*
|
|
58541
58904
|
* ## CSS States
|
|
@@ -60154,8 +60517,9 @@ export type CustomElements = {
|
|
|
60154
60517
|
*
|
|
60155
60518
|
* **Each item runs its own timer.** A timer held by the region would restart
|
|
60156
60519
|
* with each new message, and the last of three messages would stay for nine
|
|
60157
|
-
* seconds. It pauses while the pointer or focus is on the message
|
|
60158
|
-
* the page is hidden, so a message is not
|
|
60520
|
+
* seconds. It pauses while the pointer or focus is on the message or anywhere
|
|
60521
|
+
* in the region's stack, and while the page is hidden, so a message is not
|
|
60522
|
+
* spent in a background tab.
|
|
60159
60523
|
*
|
|
60160
60524
|
* **Each message is an `alertdialog` named by its words**, which is how a reader
|
|
60161
60525
|
* who moves into the stack hears which message they are on. Give it a
|
|
@@ -60164,10 +60528,11 @@ export type CustomElements = {
|
|
|
60164
60528
|
* says each message once as it arrives, a `danger` one assertively, so a
|
|
60165
60529
|
* message is never a live region of its own.
|
|
60166
60530
|
*
|
|
60167
|
-
* A touch or a pen swipes a message toward the end of the line,
|
|
60168
|
-
*
|
|
60169
|
-
*
|
|
60170
|
-
* `--toast-swipe-x
|
|
60531
|
+
* A touch or a pen swipes a message toward the end of the line, or toward the
|
|
60532
|
+
* edge the region's `swipe-direction` names, and past halfway, or quickly,
|
|
60533
|
+
* dismisses it through the same `helix-dismiss` as its control. While it
|
|
60534
|
+
* moves, the distance is on the `item` part as `--toast-swipe-x` or
|
|
60535
|
+
* `--toast-swipe-y`.
|
|
60171
60536
|
*
|
|
60172
60537
|
* **Escape dismisses the message holding focus**, through the same
|
|
60173
60538
|
* `helix-dismiss`, and focus moves to the next message.
|
|
@@ -60269,6 +60634,7 @@ export type CustomElements = {
|
|
|
60269
60634
|
*
|
|
60270
60635
|
* - `--toast-duration`: How long this message stays, in milliseconds, for a progress hint.
|
|
60271
60636
|
* - `--toast-swipe-x`: How far a swipe has moved the message across, in pixels, toward the right.
|
|
60637
|
+
* - `--toast-swipe-y`: How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`.
|
|
60272
60638
|
*
|
|
60273
60639
|
* ## CSS Parts
|
|
60274
60640
|
*
|
|
@@ -60290,7 +60656,7 @@ export type CustomElements = {
|
|
|
60290
60656
|
* These can be used to apply styling when a component is in a given state.
|
|
60291
60657
|
*
|
|
60292
60658
|
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
60293
|
-
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
60659
|
+
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message or in the stack, or while the page is hidden.
|
|
60294
60660
|
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
60295
60661
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
60296
60662
|
*/
|
|
@@ -60329,7 +60695,12 @@ export type CustomElements = {
|
|
|
60329
60695
|
* to render them from: it appends a message of the region's own tier and
|
|
60330
60696
|
* removes it once it has been dismissed and has finished leaving. Messages
|
|
60331
60697
|
* you render yourself stay yours, and the region never removes them. A touch
|
|
60332
|
-
* or a pen swipes a message away toward the end of the line
|
|
60698
|
+
* or a pen swipes a message away toward the end of the line, or toward the
|
|
60699
|
+
* edge `swipe-direction` names.
|
|
60700
|
+
*
|
|
60701
|
+
* **Every message's timer waits while a pointer or focus is in the stack**, as
|
|
60702
|
+
* React Aria's and Radix's regions do, so a reader moving from one message to
|
|
60703
|
+
* the next does not lose the one behind them.
|
|
60333
60704
|
*
|
|
60334
60705
|
* **The stack is in the top layer.** The `region` part is a `popover="manual"`
|
|
60335
60706
|
* shown while a message is showing, and shown again above a modal dialog that
|
|
@@ -60394,6 +60765,8 @@ export type CustomElements = {
|
|
|
60394
60765
|
* consumer's server markup does not have. A sheet carries the resting
|
|
60395
60766
|
* arrangement in its own `:host` rule and the selectors describe only the
|
|
60396
60767
|
* departures, which is what `orientation` does.
|
|
60768
|
+
* - `swipe-direction`/`swipeDirection`: The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
60769
|
+
* the end of the line, or `start`, `top` or `bottom`. Unset is `end`.
|
|
60397
60770
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
60398
60771
|
*
|
|
60399
60772
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -61262,6 +61635,17 @@ export type CustomElements = {
|
|
|
61262
61635
|
* least distance that brings it on screen, so the stop that points at it is
|
|
61263
61636
|
* on screen too.
|
|
61264
61637
|
*
|
|
61638
|
+
* **A stop's `effect` runs as the tour reaches it**, before it is shown, and
|
|
61639
|
+
* the stop waits for a promise it returns, with `:state(preparing)` on the
|
|
61640
|
+
* tour meanwhile. A function it returns runs when the tour leaves the stop.
|
|
61641
|
+
*
|
|
61642
|
+
* **A press outside the current stop and its target does nothing by
|
|
61643
|
+
* default**, so a reader can use the page the tour is describing. Set
|
|
61644
|
+
* `outside-press="close"` to end the tour on one, through `helix-before-close`
|
|
61645
|
+
* as Skip does, or `outside-press="block"` to refuse it, so the stop and its
|
|
61646
|
+
* target are all a pointer can reach while the tour runs, as Zag's
|
|
61647
|
+
* `preventInteraction` does.
|
|
61648
|
+
*
|
|
61265
61649
|
* **Keyboard.** Focus is on the current stop's panel, which is not in the
|
|
61266
61650
|
* `Tab` order itself.
|
|
61267
61651
|
*
|
|
@@ -61299,6 +61683,9 @@ export type CustomElements = {
|
|
|
61299
61683
|
* `undefined` until somebody sets one.
|
|
61300
61684
|
* - `label`: The tour's name, read by screen readers, such as "Getting started".
|
|
61301
61685
|
* - `next-label`/`nextLabel`: Label for the control that goes on.
|
|
61686
|
+
* - `outside-press`/`outsidePress`: What a press outside the current stop and its target does while the tour
|
|
61687
|
+
* runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
61688
|
+
* Skip does, and `block` refuses the press.
|
|
61302
61689
|
* - `progress`: Draws each stop's place in the run in its panel, as well as saying it.
|
|
61303
61690
|
* - `progress-label`/`progressLabel`: Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
61304
61691
|
* written in the locale. Translate it with the rest of your text.
|
|
@@ -61402,6 +61789,7 @@ export type CustomElements = {
|
|
|
61402
61789
|
* These can be used to apply styling when a component is in a given state.
|
|
61403
61790
|
*
|
|
61404
61791
|
* - `open`: While the tour is running.
|
|
61792
|
+
* - `preparing`: While the tour waits for the current stop's `effect` before showing the stop.
|
|
61405
61793
|
* - `waiting`: While the tour waits at a `wait` stop for its target to be on the page.
|
|
61406
61794
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
61407
61795
|
*/
|
|
@@ -61435,6 +61823,13 @@ export type CustomElements = {
|
|
|
61435
61823
|
* get Back, Next, and Skip, already wired. Slot your own `actions` and drive
|
|
61436
61824
|
* them with `next()`, `back()`, and `skip()` on the root.
|
|
61437
61825
|
*
|
|
61826
|
+
* **Set `effect` to prepare the page for a stop**, such as opening the menu
|
|
61827
|
+
* it points into or loading what it describes. It is a function, set from
|
|
61828
|
+
* script, that the tour runs as it reaches the stop. Return a promise and the
|
|
61829
|
+
* stop waits for it, and the tour has `:state(preparing)` meanwhile; return a
|
|
61830
|
+
* function, or resolve to one, and the tour runs it when it leaves the stop.
|
|
61831
|
+
* Zag's tour step has the same `effect`.
|
|
61832
|
+
*
|
|
61438
61833
|
* **`for` is an id, as with `Tooltip`**, so you can point at a target elsewhere
|
|
61439
61834
|
* on the page from markup. It resolves against the stop's root node, so a stop
|
|
61440
61835
|
* inside a shadow tree points at a target in that tree.
|
|
@@ -61476,6 +61871,8 @@ export type CustomElements = {
|
|
|
61476
61871
|
*
|
|
61477
61872
|
* Reflected, because the styled tier places a dialog and a floating panel by
|
|
61478
61873
|
* it, and unset at rest, so no default is written onto the host.
|
|
61874
|
+
* - `effect`: Run as the tour reaches the stop, before it is shown: see the description
|
|
61875
|
+
* above. A function, so it is set from script and has no attribute. (property only)
|
|
61479
61876
|
* - `target`: The element the stop points at, or `null` when no element has the `for` id. (property only) (readonly)
|
|
61480
61877
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
61481
61878
|
*
|
|
@@ -61558,6 +61955,8 @@ export type CustomElements = {
|
|
|
61558
61955
|
*
|
|
61559
61956
|
* These can be used to apply styling when a component is in a given state.
|
|
61560
61957
|
*
|
|
61958
|
+
* - `entering`: From the moment the stop is shown until its entrance has finished.
|
|
61959
|
+
* - `exiting`: From the moment the stop is left until its exit has finished.
|
|
61561
61960
|
* - `placed-bottom`: The panel sits below its target.
|
|
61562
61961
|
* - `placed-left`: The panel sits to the left of its target.
|
|
61563
61962
|
* - `placed-right`: The panel sits to the right of its target.
|
|
@@ -63606,12 +64005,21 @@ export type CustomElementsSolidJs = {
|
|
|
63606
64005
|
*
|
|
63607
64006
|
* **Set `fold-below` to fold the middle region on a narrow screen.** Below that
|
|
63608
64007
|
* many pixels of the bar's own width, the middle region is hidden behind a
|
|
63609
|
-
* toggle at the end of the bar, named by `menu-label
|
|
63610
|
-
*
|
|
63611
|
-
*
|
|
63612
|
-
*
|
|
63613
|
-
*
|
|
63614
|
-
*
|
|
64008
|
+
* toggle at the end of the bar, named by `menu-label`, or at its start with
|
|
64009
|
+
* `toggle-placement="start"`. The toggle says whether the region is open with
|
|
64010
|
+
* `aria-expanded`, and the region opens below the row. The region follows the
|
|
64011
|
+
* toggle's region in focus order, so Tab from the toggle at the end goes into
|
|
64012
|
+
* the open region. The custom state `folded` is on the host while the bar is
|
|
64013
|
+
* that narrow, and `open` while the folded region is open. A server serves the
|
|
64014
|
+
* bar unfolded, and the browser folds it once it has measured it.
|
|
64015
|
+
*
|
|
64016
|
+
* **`open` says whether the folded region is open, and setting it opens or
|
|
64017
|
+
* closes the region.** `requestOpen(true)` and `requestOpen(false)` do the same
|
|
64018
|
+
* and send `helix-before-open` or `helix-before-close` first, which you can
|
|
64019
|
+
* cancel, and `toggleOpen()` asks for the opposite. `toggle` follows every
|
|
64020
|
+
* change. The region closes on Escape, which puts focus back on the toggle,
|
|
64021
|
+
* when focus moves to something outside the header, and on a press outside
|
|
64022
|
+
* it. A bar that widens past `fold-below` closes its region.
|
|
63615
64023
|
*
|
|
63616
64024
|
* The host is the page's `banner` landmark. Placed inside `main`, `article`,
|
|
63617
64025
|
* `aside`, `nav` or `section`, it is a plain box instead, as a native
|
|
@@ -63646,6 +64054,24 @@ export type CustomElementsSolidJs = {
|
|
|
63646
64054
|
* - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
|
|
63647
64055
|
* - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
|
|
63648
64056
|
* scrolls a container instead of the window. Unset is the window.
|
|
64057
|
+
* - `toggle-placement`/`togglePlacement`: Where the toggle that opens a folded middle region sits: at the end of the
|
|
64058
|
+
* bar, after the trailing content, or with `start`, before the leading
|
|
64059
|
+
* content.
|
|
64060
|
+
*
|
|
64061
|
+
* Optional, so the resting bar writes no attribute onto the host.
|
|
64062
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
64063
|
+
* - `open`: Whether the element is open.
|
|
64064
|
+
*
|
|
64065
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
64066
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
64067
|
+
* same statement in markup.
|
|
64068
|
+
*
|
|
64069
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
64070
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
64071
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
64072
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
64073
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
64074
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
63649
64075
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
63650
64076
|
*
|
|
63651
64077
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -63671,7 +64097,10 @@ export type CustomElementsSolidJs = {
|
|
|
63671
64097
|
*
|
|
63672
64098
|
* Events that will be emitted by the component.
|
|
63673
64099
|
*
|
|
64100
|
+
* - `helix-before-close`: The folded region is about to close. Cancelable: cancel it to keep it open.
|
|
64101
|
+
* - `helix-before-open`: The folded region is about to open. Cancelable: cancel it to keep it closed.
|
|
63674
64102
|
* - `helix-scrolled`: Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener.
|
|
64103
|
+
* - `toggle`: The folded region opened or closed. The event carries `newState` and `oldState`.
|
|
63675
64104
|
*
|
|
63676
64105
|
* ## Slots
|
|
63677
64106
|
*
|
|
@@ -63682,6 +64111,20 @@ export type CustomElementsSolidJs = {
|
|
|
63682
64111
|
* - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
|
|
63683
64112
|
* - `start`: Leading content, usually a wordmark.
|
|
63684
64113
|
*
|
|
64114
|
+
* ## Methods
|
|
64115
|
+
*
|
|
64116
|
+
* Methods that can be called to access component functionality.
|
|
64117
|
+
*
|
|
64118
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
64119
|
+
* was applied.
|
|
64120
|
+
*
|
|
64121
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
64122
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
64123
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
64124
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
64125
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
64126
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
64127
|
+
*
|
|
63685
64128
|
* ## CSS Parts
|
|
63686
64129
|
*
|
|
63687
64130
|
* Custom selectors for styling elements within the component.
|
|
@@ -65085,11 +65528,15 @@ export type CustomElementsSolidJs = {
|
|
|
65085
65528
|
* appearance and size.
|
|
65086
65529
|
*
|
|
65087
65530
|
* **Buttons that stay pressed.** With `selection-mode`, each button with a
|
|
65088
|
-
* `value` is a toggle button: a press presses or releases it
|
|
65089
|
-
*
|
|
65090
|
-
*
|
|
65091
|
-
*
|
|
65092
|
-
*
|
|
65531
|
+
* `value` is a toggle button: a press presses or releases it. `multiple` lets
|
|
65532
|
+
* any number be pressed, and each button says so with `aria-pressed`. `single`
|
|
65533
|
+
* keeps one pressed at a time: the group is a `radiogroup` and each button a
|
|
65534
|
+
* `radio` that says so with `aria-checked`, as React Aria's toggle button
|
|
65535
|
+
* group is. A press on the pressed one releases it, unless
|
|
65536
|
+
* `disallow-empty-selection` keeps one pressed. `value` is the pressed values,
|
|
65537
|
+
* comma separated. A press sends a cancelable `helix-before-change` with the
|
|
65538
|
+
* value it would leave, then `change`. A pressed Helix button has
|
|
65539
|
+
* `:state(pressed)` on its own element.
|
|
65093
65540
|
*
|
|
65094
65541
|
* The pressed state is written on the control inside each button's shadow
|
|
65095
65542
|
* root, so the markup you rendered is never changed and a framework hydrating
|
|
@@ -65117,15 +65564,18 @@ export type CustomElementsSolidJs = {
|
|
|
65117
65564
|
* | Space, Enter | Presses or releases the focused button. |
|
|
65118
65565
|
*
|
|
65119
65566
|
* Left and Right swap on a right-to-left page, and a disabled button is
|
|
65120
|
-
* passed over.
|
|
65567
|
+
* passed over. Under `multiple` the group is a `toolbar`, with
|
|
65121
65568
|
* `aria-orientation` under `orientation="vertical"`. Inside a toolbar it stays
|
|
65122
65569
|
* a named `group`, and the toolbar's own arrow keys walk its buttons, so a
|
|
65123
|
-
* reader meets one toolbar.
|
|
65570
|
+
* reader meets one toolbar. Under `single` it is a `radiogroup` either way.
|
|
65124
65571
|
*
|
|
65125
65572
|
* ## Attributes & Properties
|
|
65126
65573
|
*
|
|
65127
65574
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
65128
65575
|
*
|
|
65576
|
+
* - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
|
|
65577
|
+
* `disallowEmptySelection`: a press that would leave none pressed is
|
|
65578
|
+
* refused.
|
|
65129
65579
|
* - `label`: The group's name, read by screen readers.
|
|
65130
65580
|
*
|
|
65131
65581
|
* On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -65494,6 +65944,7 @@ export type CustomElementsSolidJs = {
|
|
|
65494
65944
|
* These can be used to apply styling when a component is in a given state.
|
|
65495
65945
|
*
|
|
65496
65946
|
* - `pending`: The button is pending: `pending` is set.
|
|
65947
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
65497
65948
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
65498
65949
|
*/
|
|
65499
65950
|
"helix-headless-button": Partial<
|
|
@@ -69278,8 +69729,9 @@ export type CustomElementsSolidJs = {
|
|
|
69278
69729
|
*
|
|
69279
69730
|
* Choosing the opener says `helix-select` with its value, and canceling it
|
|
69280
69731
|
* keeps the page that is shown. The list then shows the page, named by the
|
|
69281
|
-
* opener's words, and
|
|
69282
|
-
*
|
|
69732
|
+
* opener's words, and a screen reader hears those words. Backspace in an empty
|
|
69733
|
+
* filter goes back, and a screen reader hears the name of the page it goes
|
|
69734
|
+
* back to. `page` says which page is shown.
|
|
69283
69735
|
*
|
|
69284
69736
|
* The filter is cleared when the palette closes, so each opening starts from
|
|
69285
69737
|
* the full list. Combobox and Select do the same. As typing narrows the list, a
|
|
@@ -69301,9 +69753,10 @@ export type CustomElementsSolidJs = {
|
|
|
69301
69753
|
* | Tab | Stays in the palette, which is modal. With `inline`, moves on through the page. |
|
|
69302
69754
|
*
|
|
69303
69755
|
* **ARIA.** The palette is a modal `dialog` named by `label`, or with
|
|
69304
|
-
* `inline` no dialog at all. Inside it the filter field is a
|
|
69305
|
-
* `aria-
|
|
69306
|
-
* `
|
|
69756
|
+
* `inline` no dialog at all. Inside it the filter field is a text field with
|
|
69757
|
+
* `aria-autocomplete="list"`, `aria-controls` on the list, and
|
|
69758
|
+
* `aria-activedescendant` on the highlighted command, as the field of React
|
|
69759
|
+
* Aria's `Autocomplete` is. The commands are a `listbox` of `option`s. How many commands typing left, the empty text and
|
|
69307
69760
|
* the loading text are said in a polite live region.
|
|
69308
69761
|
*
|
|
69309
69762
|
* ## Attributes & Properties
|
|
@@ -69367,6 +69820,12 @@ export type CustomElementsSolidJs = {
|
|
|
69367
69820
|
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
69368
69821
|
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
69369
69822
|
* the resolved state for stylesheets, which is what the mirror is for.
|
|
69823
|
+
* - `filterMatch`: Whether a command is kept by the filter: a function given the command's
|
|
69824
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
69825
|
+
* React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
69826
|
+
*
|
|
69827
|
+
* Absent, a command is kept where its words hold the filter, in any case. A
|
|
69828
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
69370
69829
|
* - `items`: The commands as data, for a palette too long to draw whole: each a value,
|
|
69371
69830
|
* which is also its words, or a record with a `value`, a `label` and
|
|
69372
69831
|
* `disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -69458,6 +69917,7 @@ export type CustomElementsSolidJs = {
|
|
|
69458
69917
|
* - `listbox-loading`: The text shown while the commands are loading.
|
|
69459
69918
|
* - `listbox-search`: The region that holds the filter field.
|
|
69460
69919
|
* - `listbox-search-field`: The filter field.
|
|
69920
|
+
* - `live`: The region a screen reader announces the page shown from, by the words of the command that opens it, drawn once there is one to say. Visually hidden in the styled tier.
|
|
69461
69921
|
*
|
|
69462
69922
|
* ## CSS States
|
|
69463
69923
|
*
|
|
@@ -69706,6 +70166,7 @@ export type CustomElementsSolidJs = {
|
|
|
69706
70166
|
* - `copied`: The moment after a successful copy, while `copied-label` names the button.
|
|
69707
70167
|
* - `failed`: The moment after a press that put nothing on the clipboard, while `error-label` names the button.
|
|
69708
70168
|
* - `pending`: The button is pending: `pending` is set.
|
|
70169
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
69709
70170
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
69710
70171
|
*/
|
|
69711
70172
|
"helix-headless-copy-button": Partial<
|
|
@@ -74773,6 +75234,7 @@ export type CustomElementsSolidJs = {
|
|
|
74773
75234
|
* These can be used to apply styling when a component is in a given state.
|
|
74774
75235
|
*
|
|
74775
75236
|
* - `pending`: The button is pending: `pending` is set.
|
|
75237
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
74776
75238
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
74777
75239
|
*/
|
|
74778
75240
|
"helix-headless-icon-button": Partial<
|
|
@@ -75675,7 +76137,8 @@ export type CustomElementsSolidJs = {
|
|
|
75675
76137
|
* Each item is a `group` with the role description `slide`, named by its
|
|
75676
76138
|
* `label` or, without one, by its place in the set, such as "2 of 5", as the
|
|
75677
76139
|
* APG carousel pattern names a slide. The lightbox supplies both words, so they
|
|
75678
|
-
* are translated on the lightbox.
|
|
76140
|
+
* are translated on the lightbox. A `description`, while there is one,
|
|
76141
|
+
* describes the group, so a screen reader says it with the name.
|
|
75679
76142
|
*
|
|
75680
76143
|
* An item that is not current is hidden and stays in the DOM, as a `TabPanel`
|
|
75681
76144
|
* does. Crawlers can read it, it is in the server-rendered markup, and an
|
|
@@ -75760,9 +76223,10 @@ export type CustomElementsSolidJs = {
|
|
|
75760
76223
|
* buttons that send `--previous`, `--next` and `--close`.
|
|
75761
76224
|
*
|
|
75762
76225
|
* **Set `max-zoom` to let a reader zoom into the shown item**, such as `3`.
|
|
75763
|
-
* Two fingers pinch it,
|
|
75764
|
-
* about the point
|
|
75765
|
-
*
|
|
76226
|
+
* Two fingers pinch it, and so does a trackpad pinch or the wheel with Ctrl
|
|
76227
|
+
* held, about the point under the pointer. A double click or a double tap
|
|
76228
|
+
* zooms all the way in about the point pressed and back out, and once zoomed
|
|
76229
|
+
* one pointer drags it about and the wheel moves it. `+` and `-` zoom in and out from the keyboard, and `0` puts it back.
|
|
75766
76230
|
* The scale and the offset are on the `viewport` part as `--lightbox-zoom`,
|
|
75767
76231
|
* `--lightbox-pan-x` and `--lightbox-pan-y`, written only while zoomed, and a
|
|
75768
76232
|
* swipe moves to the next item only while the item is at its own size. With
|
|
@@ -75983,6 +76447,8 @@ export type CustomElementsSolidJs = {
|
|
|
75983
76447
|
*
|
|
75984
76448
|
* These can be used to apply styling when a component is in a given state.
|
|
75985
76449
|
*
|
|
76450
|
+
* - `entering`: From the moment the viewer opens until its entrance has finished.
|
|
76451
|
+
* - `exiting`: From the moment the viewer closes until its exit has finished.
|
|
75986
76452
|
* - `fullscreen`: While the viewer fills the screen.
|
|
75987
76453
|
* - `idle`: The user has been still long enough for the controls to hide.
|
|
75988
76454
|
* - `open`: While the viewer is open.
|
|
@@ -76437,7 +76903,9 @@ export type CustomElementsSolidJs = {
|
|
|
76437
76903
|
* Not reflected, as a state never is. `row-current` is the part a
|
|
76438
76904
|
* stylesheet draws it from.
|
|
76439
76905
|
* - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
76440
|
-
* pass over it and it cannot be selected or acted on.
|
|
76906
|
+
* pass over it and it cannot be selected or acted on. In a list with
|
|
76907
|
+
* `disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
76908
|
+
* acted on as any row is.
|
|
76441
76909
|
* - `href`: The URL the row links to. Leave it empty for a row that is not a link.
|
|
76442
76910
|
*
|
|
76443
76911
|
* Empty rather than optional, and unset by default: a list is not always a
|
|
@@ -76464,6 +76932,9 @@ export type CustomElementsSolidJs = {
|
|
|
76464
76932
|
*
|
|
76465
76933
|
* Written by the list from its own `value`, and unset where nothing can be
|
|
76466
76934
|
* selected, which keeps `aria-selected` off a list that does not select. (property only)
|
|
76935
|
+
* - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
|
|
76936
|
+
* with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
76937
|
+
* between elements, as `focusable` is. (property only)
|
|
76467
76938
|
* - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
|
|
76468
76939
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
76469
76940
|
*
|
|
@@ -76524,6 +76995,7 @@ export type CustomElementsSolidJs = {
|
|
|
76524
76995
|
* - `dragging`: The row is being moved, in a `reorderable` list.
|
|
76525
76996
|
* - `drop-after`: The row being moved goes after this one when it is dropped.
|
|
76526
76997
|
* - `drop-before`: The row being moved goes before this one when it is dropped.
|
|
76998
|
+
* - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
|
|
76527
76999
|
* - `selected`: The row is selected, in a list that selects.
|
|
76528
77000
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
76529
77001
|
*/
|
|
@@ -76543,7 +77015,9 @@ export type CustomElementsSolidJs = {
|
|
|
76543
77015
|
* `multiple` any number, and `value` holds the selected rows' values,
|
|
76544
77016
|
* separated by commas. A change asks with `helix-before-change` and tells
|
|
76545
77017
|
* with `change`. `none` selects nothing, so a press acts on the row. A
|
|
76546
|
-
* `disabled` row is passed over.
|
|
77018
|
+
* `disabled` row is passed over. With `disabled-behavior="selection"`, a
|
|
77019
|
+
* `disabled` row cannot be selected, and is reached and acted on as any row
|
|
77020
|
+
* is, as React Aria's GridList has it. Each row is named by its label and described
|
|
76547
77021
|
* by its description, so the words of the controls in `end` are not read as
|
|
76548
77022
|
* part of its name.
|
|
76549
77023
|
*
|
|
@@ -76621,6 +77095,12 @@ export type CustomElementsSolidJs = {
|
|
|
76621
77095
|
*
|
|
76622
77096
|
* - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
|
|
76623
77097
|
* refused, in a `reorderable` list.
|
|
77098
|
+
* - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
|
|
77099
|
+
* passes over the row, or `selection`, which keeps the row out of the
|
|
77100
|
+
* selection and lets the keys reach it and Enter or a press act on it, as
|
|
77101
|
+
* React Aria's GridList takes `disabledBehavior`.
|
|
77102
|
+
*
|
|
77103
|
+
* Absent is `all`.
|
|
76624
77104
|
* - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
|
|
76625
77105
|
* - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
|
|
76626
77106
|
* slot is empty. Empty, the default, shows no row.
|
|
@@ -76763,7 +77243,9 @@ export type CustomElementsSolidJs = {
|
|
|
76763
77243
|
* With `multiple` set, `value` is a comma-separated string, like
|
|
76764
77244
|
* `Checkbox.Group`'s, because `MixinControllerValue` holds a string. The form
|
|
76765
77245
|
* receives one entry per selected option, as a native `<select multiple>` sends
|
|
76766
|
-
* it, so your server does not split on commas.
|
|
77246
|
+
* it, so your server does not split on commas. An option's value may hold a
|
|
77247
|
+
* comma: a run of the string that is an option's value is read as that one
|
|
77248
|
+
* value, and the form sends it as one entry.
|
|
76767
77249
|
*
|
|
76768
77250
|
* Selected and active are separate. The selected option is the value. The
|
|
76769
77251
|
* active option is where the keyboard is: the arrow keys move it, and
|
|
@@ -76970,6 +77452,13 @@ export type CustomElementsSolidJs = {
|
|
|
76970
77452
|
* imperatively later, and nothing is hydrating by then.
|
|
76971
77453
|
*
|
|
76972
77454
|
* Here rather than on each control.
|
|
77455
|
+
* - `filterMatch`: Whether an option is kept by the filter: a function given the option's
|
|
77456
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
77457
|
+
* React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
77458
|
+
* accents, matches the start of each word, or matches out of order.
|
|
77459
|
+
*
|
|
77460
|
+
* Absent, an option is kept where its words hold the filter, in any case. A
|
|
77461
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
76973
77462
|
* - `items`: The options as data, for a list too long to draw whole: each a value,
|
|
76974
77463
|
* which is also its words, or a record with a `value`, a `label` and
|
|
76975
77464
|
* `disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -77006,7 +77495,10 @@ export type CustomElementsSolidJs = {
|
|
|
77006
77495
|
* Descendants rather than children, because a group puts a level between the
|
|
77007
77496
|
* list and its options and the keyboard has to move through a grouped list
|
|
77008
77497
|
* exactly as it moves through a flat one. (property only) (readonly)
|
|
77009
|
-
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
77498
|
+
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
77499
|
+
*
|
|
77500
|
+
* Read against the options' values, so an option whose value holds a comma
|
|
77501
|
+
* is one value. See `chosenValues`. (property only) (readonly)
|
|
77010
77502
|
* - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
|
|
77011
77503
|
* - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
|
|
77012
77504
|
* - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
|
|
@@ -78812,8 +79304,8 @@ export type CustomElementsSolidJs = {
|
|
|
78812
79304
|
* rows, Home and End go to the first and the last, a typed letter moves to
|
|
78813
79305
|
* the next row whose name starts with it, Enter and Space choose, Right Arrow
|
|
78814
79306
|
* opens a row's submenu and Left Arrow goes back, the two swapping on a
|
|
78815
|
-
* right-to-left page
|
|
78816
|
-
* trigger. Tab closes it and moves on.
|
|
79307
|
+
* right-to-left page. Left Arrow on the top page does nothing. Escape closes
|
|
79308
|
+
* the menu and returns focus to the trigger. Tab closes it and moves on.
|
|
78817
79309
|
*
|
|
78818
79310
|
* While it is open, the surface carries the trigger's width as
|
|
78819
79311
|
* `--floating-anchor-inline-size` and the room left below it as
|
|
@@ -78957,6 +79449,10 @@ export type CustomElementsSolidJs = {
|
|
|
78957
79449
|
* - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
|
|
78958
79450
|
* - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
|
|
78959
79451
|
* - `open`: While the menu is open.
|
|
79452
|
+
* - `placed-bottom`: While the open panel sits below its trigger.
|
|
79453
|
+
* - `placed-left`: While the open panel sits to the left of its trigger.
|
|
79454
|
+
* - `placed-right`: While the open panel sits to the right of its trigger.
|
|
79455
|
+
* - `placed-top`: While the open panel sits above its trigger.
|
|
78960
79456
|
* - `start`: A row on the current page has content in its leading column, so every row keeps that column.
|
|
78961
79457
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
78962
79458
|
*/
|
|
@@ -79867,9 +80363,9 @@ export type CustomElementsSolidJs = {
|
|
|
79867
80363
|
* The locale's group separators are read in every field, so `1,234` is a
|
|
79868
80364
|
* number in `en-US`.
|
|
79869
80365
|
*
|
|
79870
|
-
* The field and its two buttons sit in a `role="group"
|
|
79871
|
-
* `role-label`, "number field" in English, as its
|
|
79872
|
-
* React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
80366
|
+
* The field and its two buttons sit in a `role="group"` named by the label,
|
|
80367
|
+
* and the field carries `role-label`, "number field" in English, as its
|
|
80368
|
+
* `aria-roledescription`, as React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
79873
80369
|
* field, with no `role="spinbutton"`, which VoiceOver reads as a slider you
|
|
79874
80370
|
* cannot type in, and no role description, so VoiceOver says the field is
|
|
79875
80371
|
* required. React Aria's NumberField does the same.
|
|
@@ -80048,8 +80544,11 @@ export type CustomElementsSolidJs = {
|
|
|
80048
80544
|
* imperatively later, and nothing is hydrating by then.
|
|
80049
80545
|
*
|
|
80050
80546
|
* Here rather than on each control.
|
|
80051
|
-
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty
|
|
80547
|
+
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
|
|
80548
|
+
* hold a number.
|
|
80052
80549
|
*
|
|
80550
|
+
* Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
80551
|
+
* in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
80053
80552
|
* `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
80054
80553
|
* is zero, so an empty control would report a number it does not hold and a
|
|
80055
80554
|
* form would submit it. (property only)
|
|
@@ -83482,7 +83981,9 @@ export type CustomElementsSolidJs = {
|
|
|
83482
83981
|
* whole set.
|
|
83483
83982
|
*
|
|
83484
83983
|
* `Select` owns the value, passes it down to the listbox, and takes changes
|
|
83485
|
-
* back, so the value lives in one place.
|
|
83984
|
+
* back, so the value lives in one place. With `multiple`, the value is the
|
|
83985
|
+
* chosen values joined with commas, and the form receives one entry for each.
|
|
83986
|
+
* An option's value may hold a comma, and it is read as one value.
|
|
83486
83987
|
*
|
|
83487
83988
|
* Set `valueContent` to draw the trigger's content from the chosen options,
|
|
83488
83989
|
* and several chosen options are written as a list in the reader's language.
|
|
@@ -83862,7 +84363,8 @@ export type CustomElementsSolidJs = {
|
|
|
83862
84363
|
* - `label`: What is loading, read out as the placeholder's name, such as "Loading
|
|
83863
84364
|
* profile".
|
|
83864
84365
|
*
|
|
83865
|
-
* Absent hides the placeholder from screen readers.
|
|
84366
|
+
* Absent hides the placeholder from screen readers. Around content, the name
|
|
84367
|
+
* is read while `loading` is set, and the loaded content is read as it is.
|
|
83866
84368
|
* - `loading`: Whether the content inside is still loading, which keeps it inert and
|
|
83867
84369
|
* draws the placeholder over it.
|
|
83868
84370
|
*
|
|
@@ -85524,6 +86026,10 @@ export type CustomElementsSolidJs = {
|
|
|
85524
86026
|
* region. The current stage's button carries `aria-current="step"`, and only
|
|
85525
86027
|
* the button, so the state is said once, on the control.
|
|
85526
86028
|
*
|
|
86029
|
+
* A stage's `content`, while it holds anything, is a group named by the
|
|
86030
|
+
* stage's name, so a screen reader moving into it hears which stage it
|
|
86031
|
+
* belongs to.
|
|
86032
|
+
*
|
|
85527
86033
|
* ## Attributes & Properties
|
|
85528
86034
|
*
|
|
85529
86035
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -86586,10 +87092,18 @@ export type CustomElementsSolidJs = {
|
|
|
86586
87092
|
* the tab list lands on the panel's first link or control where there is one,
|
|
86587
87093
|
* and on the panel itself where there is none.
|
|
86588
87094
|
*
|
|
87095
|
+
* **Set `lazy` for a panel that is expensive to draw.** Its content waits in a
|
|
87096
|
+
* `<template>` inside it, and goes into the panel the first time the panel is
|
|
87097
|
+
* shown, so it costs nothing until a reader opens that tab. Once in, it stays.
|
|
87098
|
+
* The panel sends `helix-load` at the same moment, for content your code
|
|
87099
|
+
* renders itself.
|
|
87100
|
+
*
|
|
86589
87101
|
* ## Attributes & Properties
|
|
86590
87102
|
*
|
|
86591
87103
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
86592
87104
|
*
|
|
87105
|
+
* - `lazy`: Whether the panel's content waits in a `<template>` until the panel is
|
|
87106
|
+
* first shown.
|
|
86593
87107
|
* - `selected`: Whether this panel is the visible one.
|
|
86594
87108
|
* - `value`: Pairs the panel with the tab of the same value.
|
|
86595
87109
|
* - `label`: The name of the panel, which is the text of the tab that opens it.
|
|
@@ -86623,11 +87137,17 @@ export type CustomElementsSolidJs = {
|
|
|
86623
87137
|
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
86624
87138
|
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
86625
87139
|
*
|
|
87140
|
+
* ## Events
|
|
87141
|
+
*
|
|
87142
|
+
* Events that will be emitted by the component.
|
|
87143
|
+
*
|
|
87144
|
+
* - `helix-load`: Fired the first time a `lazy` panel is shown, once its template's content is in.
|
|
87145
|
+
*
|
|
86626
87146
|
* ## Slots
|
|
86627
87147
|
*
|
|
86628
87148
|
* Areas where markup can be added to the component.
|
|
86629
87149
|
*
|
|
86630
|
-
* - `(default)`: The panel's content.
|
|
87150
|
+
* - `(default)`: The panel's content. Under `lazy`, a `<template>` holding it.
|
|
86631
87151
|
*
|
|
86632
87152
|
* ## CSS Parts
|
|
86633
87153
|
*
|
|
@@ -86639,6 +87159,7 @@ export type CustomElementsSolidJs = {
|
|
|
86639
87159
|
*
|
|
86640
87160
|
* These can be used to apply styling when a component is in a given state.
|
|
86641
87161
|
*
|
|
87162
|
+
* - `loaded`: Once a `lazy` panel has been shown and its content is in.
|
|
86642
87163
|
* - `selected`: While its tab is the one selected.
|
|
86643
87164
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
86644
87165
|
*/
|
|
@@ -86691,9 +87212,9 @@ export type CustomElementsSolidJs = {
|
|
|
86691
87212
|
* | Enter, Space | Selects the tab with focus, or follows its link. |
|
|
86692
87213
|
* | Tab | Leaves the list for the selected panel. |
|
|
86693
87214
|
*
|
|
86694
|
-
* Removing the selected tab selects the
|
|
86695
|
-
* `active` says so, with `helix-activate`. Where
|
|
86696
|
-
* focus moves to the tab now selected.
|
|
87215
|
+
* Removing the selected tab selects the enabled tab beside it, the next one
|
|
87216
|
+
* or else the one before, and `active` says so, with `helix-activate`. Where
|
|
87217
|
+
* the removed tab had focus, focus moves to the tab now selected.
|
|
86697
87218
|
*
|
|
86698
87219
|
* **More tabs than fit.** With `scroll-controls`, a strip that scrolls shows a
|
|
86699
87220
|
* button at each end it can scroll toward, as Web Awesome's tab group does,
|
|
@@ -86799,6 +87320,8 @@ export type CustomElementsSolidJs = {
|
|
|
86799
87320
|
* - `(default)`: The tabs, as direct children of this element.
|
|
86800
87321
|
* - `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.
|
|
86801
87322
|
* - `panels`: The panels, as direct children of this element. Panels inside a wrapper are not paired with tabs, because pairing reads only the direct children.
|
|
87323
|
+
* - `scroll-end-icon`: Replaces the glyph on the button that scrolls the strip toward its end.
|
|
87324
|
+
* - `scroll-start-icon`: Replaces the glyph on the button that scrolls the strip toward its start.
|
|
86802
87325
|
*
|
|
86803
87326
|
* ## Methods
|
|
86804
87327
|
*
|
|
@@ -86820,7 +87343,9 @@ export type CustomElementsSolidJs = {
|
|
|
86820
87343
|
* - `indicator`: The marker that moves to the selected tab. It carries the selected tab's place and size as `--indicator-x`, `--indicator-y`, `--indicator-inline-size` and `--indicator-block-size`, and `data-placed` once it has been placed, for a mark you draw and animate yourself.
|
|
86821
87344
|
* - `panels`: The panel container.
|
|
86822
87345
|
* - `scroll-end`: The button that scrolls the strip toward its end, shown under `scroll-controls` while there is more that way.
|
|
87346
|
+
* - `scroll-end-mark`: The glyph on that button, where none is slotted.
|
|
86823
87347
|
* - `scroll-start`: The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way.
|
|
87348
|
+
* - `scroll-start-mark`: The glyph on that button, where none is slotted.
|
|
86824
87349
|
* - `tabs`: The tab list.
|
|
86825
87350
|
*
|
|
86826
87351
|
* ## CSS States
|
|
@@ -86848,8 +87373,8 @@ export type CustomElementsSolidJs = {
|
|
|
86848
87373
|
* can: a press on its `dismiss` mark, or Delete or Backspace while the tab
|
|
86849
87374
|
* has focus, sends `helix-dismiss`. The tab does not remove itself, because
|
|
86850
87375
|
* your code owns the set, so remove the tab and its panel in your handler.
|
|
86851
|
-
* Focus moves to the tab beside it, and the tab
|
|
86852
|
-
*
|
|
87376
|
+
* Focus moves to the tab beside it, and where the tab was selected, the tab
|
|
87377
|
+
* set selects that same tab.
|
|
86853
87378
|
* The tab says the key through `aria-keyshortcuts`, and the mark is for the
|
|
86854
87379
|
* pointer, hidden from screen readers.
|
|
86855
87380
|
*
|
|
@@ -86906,6 +87431,7 @@ export type CustomElementsSolidJs = {
|
|
|
86906
87431
|
* Areas where markup can be added to the component.
|
|
86907
87432
|
*
|
|
86908
87433
|
* - `(default)`: The tab's label.
|
|
87434
|
+
* - `dismiss-icon`: Replaces the glyph on the mark that closes a `dismissible` tab.
|
|
86909
87435
|
*
|
|
86910
87436
|
* ## Methods
|
|
86911
87437
|
*
|
|
@@ -86930,6 +87456,7 @@ export type CustomElementsSolidJs = {
|
|
|
86930
87456
|
* Custom selectors for styling elements within the component.
|
|
86931
87457
|
*
|
|
86932
87458
|
* - `dismiss`: The mark a pointer presses to close a `dismissible` tab.
|
|
87459
|
+
* - `dismiss-mark`: The glyph on that mark, where none is slotted.
|
|
86933
87460
|
* - `tab`: The tab itself.
|
|
86934
87461
|
*
|
|
86935
87462
|
* ## CSS States
|
|
@@ -88569,8 +89096,9 @@ export type CustomElementsSolidJs = {
|
|
|
88569
89096
|
*
|
|
88570
89097
|
* **Each item runs its own timer.** A timer held by the region would restart
|
|
88571
89098
|
* with each new message, and the last of three messages would stay for nine
|
|
88572
|
-
* seconds. It pauses while the pointer or focus is on the message
|
|
88573
|
-
* the page is hidden, so a message is not
|
|
89099
|
+
* seconds. It pauses while the pointer or focus is on the message or anywhere
|
|
89100
|
+
* in the region's stack, and while the page is hidden, so a message is not
|
|
89101
|
+
* spent in a background tab.
|
|
88574
89102
|
*
|
|
88575
89103
|
* **Each message is an `alertdialog` named by its words**, which is how a reader
|
|
88576
89104
|
* who moves into the stack hears which message they are on. Give it a
|
|
@@ -88579,10 +89107,11 @@ export type CustomElementsSolidJs = {
|
|
|
88579
89107
|
* says each message once as it arrives, a `danger` one assertively, so a
|
|
88580
89108
|
* message is never a live region of its own.
|
|
88581
89109
|
*
|
|
88582
|
-
* A touch or a pen swipes a message toward the end of the line,
|
|
88583
|
-
*
|
|
88584
|
-
*
|
|
88585
|
-
* `--toast-swipe-x
|
|
89110
|
+
* A touch or a pen swipes a message toward the end of the line, or toward the
|
|
89111
|
+
* edge the region's `swipe-direction` names, and past halfway, or quickly,
|
|
89112
|
+
* dismisses it through the same `helix-dismiss` as its control. While it
|
|
89113
|
+
* moves, the distance is on the `item` part as `--toast-swipe-x` or
|
|
89114
|
+
* `--toast-swipe-y`.
|
|
88586
89115
|
*
|
|
88587
89116
|
* **Escape dismisses the message holding focus**, through the same
|
|
88588
89117
|
* `helix-dismiss`, and focus moves to the next message.
|
|
@@ -88684,6 +89213,7 @@ export type CustomElementsSolidJs = {
|
|
|
88684
89213
|
*
|
|
88685
89214
|
* - `--toast-duration`: How long this message stays, in milliseconds, for a progress hint.
|
|
88686
89215
|
* - `--toast-swipe-x`: How far a swipe has moved the message across, in pixels, toward the right.
|
|
89216
|
+
* - `--toast-swipe-y`: How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`.
|
|
88687
89217
|
*
|
|
88688
89218
|
* ## CSS Parts
|
|
88689
89219
|
*
|
|
@@ -88705,7 +89235,7 @@ export type CustomElementsSolidJs = {
|
|
|
88705
89235
|
* These can be used to apply styling when a component is in a given state.
|
|
88706
89236
|
*
|
|
88707
89237
|
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
88708
|
-
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
89238
|
+
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message or in the stack, or while the page is hidden.
|
|
88709
89239
|
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
88710
89240
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
88711
89241
|
*/
|
|
@@ -88747,7 +89277,12 @@ export type CustomElementsSolidJs = {
|
|
|
88747
89277
|
* to render them from: it appends a message of the region's own tier and
|
|
88748
89278
|
* removes it once it has been dismissed and has finished leaving. Messages
|
|
88749
89279
|
* you render yourself stay yours, and the region never removes them. A touch
|
|
88750
|
-
* or a pen swipes a message away toward the end of the line
|
|
89280
|
+
* or a pen swipes a message away toward the end of the line, or toward the
|
|
89281
|
+
* edge `swipe-direction` names.
|
|
89282
|
+
*
|
|
89283
|
+
* **Every message's timer waits while a pointer or focus is in the stack**, as
|
|
89284
|
+
* React Aria's and Radix's regions do, so a reader moving from one message to
|
|
89285
|
+
* the next does not lose the one behind them.
|
|
88751
89286
|
*
|
|
88752
89287
|
* **The stack is in the top layer.** The `region` part is a `popover="manual"`
|
|
88753
89288
|
* shown while a message is showing, and shown again above a modal dialog that
|
|
@@ -88812,6 +89347,8 @@ export type CustomElementsSolidJs = {
|
|
|
88812
89347
|
* consumer's server markup does not have. A sheet carries the resting
|
|
88813
89348
|
* arrangement in its own `:host` rule and the selectors describe only the
|
|
88814
89349
|
* departures, which is what `orientation` does.
|
|
89350
|
+
* - `swipe-direction`/`swipeDirection`: The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
89351
|
+
* the end of the line, or `start`, `top` or `bottom`. Unset is `end`.
|
|
88815
89352
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
88816
89353
|
*
|
|
88817
89354
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -89693,6 +90230,17 @@ export type CustomElementsSolidJs = {
|
|
|
89693
90230
|
* least distance that brings it on screen, so the stop that points at it is
|
|
89694
90231
|
* on screen too.
|
|
89695
90232
|
*
|
|
90233
|
+
* **A stop's `effect` runs as the tour reaches it**, before it is shown, and
|
|
90234
|
+
* the stop waits for a promise it returns, with `:state(preparing)` on the
|
|
90235
|
+
* tour meanwhile. A function it returns runs when the tour leaves the stop.
|
|
90236
|
+
*
|
|
90237
|
+
* **A press outside the current stop and its target does nothing by
|
|
90238
|
+
* default**, so a reader can use the page the tour is describing. Set
|
|
90239
|
+
* `outside-press="close"` to end the tour on one, through `helix-before-close`
|
|
90240
|
+
* as Skip does, or `outside-press="block"` to refuse it, so the stop and its
|
|
90241
|
+
* target are all a pointer can reach while the tour runs, as Zag's
|
|
90242
|
+
* `preventInteraction` does.
|
|
90243
|
+
*
|
|
89696
90244
|
* **Keyboard.** Focus is on the current stop's panel, which is not in the
|
|
89697
90245
|
* `Tab` order itself.
|
|
89698
90246
|
*
|
|
@@ -89730,6 +90278,9 @@ export type CustomElementsSolidJs = {
|
|
|
89730
90278
|
* `undefined` until somebody sets one.
|
|
89731
90279
|
* - `label`: The tour's name, read by screen readers, such as "Getting started".
|
|
89732
90280
|
* - `next-label`/`nextLabel`: Label for the control that goes on.
|
|
90281
|
+
* - `outside-press`/`outsidePress`: What a press outside the current stop and its target does while the tour
|
|
90282
|
+
* runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
90283
|
+
* Skip does, and `block` refuses the press.
|
|
89733
90284
|
* - `progress`: Draws each stop's place in the run in its panel, as well as saying it.
|
|
89734
90285
|
* - `progress-label`/`progressLabel`: Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
89735
90286
|
* written in the locale. Translate it with the rest of your text.
|
|
@@ -89833,6 +90384,7 @@ export type CustomElementsSolidJs = {
|
|
|
89833
90384
|
* These can be used to apply styling when a component is in a given state.
|
|
89834
90385
|
*
|
|
89835
90386
|
* - `open`: While the tour is running.
|
|
90387
|
+
* - `preparing`: While the tour waits for the current stop's `effect` before showing the stop.
|
|
89836
90388
|
* - `waiting`: While the tour waits at a `wait` stop for its target to be on the page.
|
|
89837
90389
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
89838
90390
|
*/
|
|
@@ -89869,6 +90421,13 @@ export type CustomElementsSolidJs = {
|
|
|
89869
90421
|
* get Back, Next, and Skip, already wired. Slot your own `actions` and drive
|
|
89870
90422
|
* them with `next()`, `back()`, and `skip()` on the root.
|
|
89871
90423
|
*
|
|
90424
|
+
* **Set `effect` to prepare the page for a stop**, such as opening the menu
|
|
90425
|
+
* it points into or loading what it describes. It is a function, set from
|
|
90426
|
+
* script, that the tour runs as it reaches the stop. Return a promise and the
|
|
90427
|
+
* stop waits for it, and the tour has `:state(preparing)` meanwhile; return a
|
|
90428
|
+
* function, or resolve to one, and the tour runs it when it leaves the stop.
|
|
90429
|
+
* Zag's tour step has the same `effect`.
|
|
90430
|
+
*
|
|
89872
90431
|
* **`for` is an id, as with `Tooltip`**, so you can point at a target elsewhere
|
|
89873
90432
|
* on the page from markup. It resolves against the stop's root node, so a stop
|
|
89874
90433
|
* inside a shadow tree points at a target in that tree.
|
|
@@ -89910,6 +90469,8 @@ export type CustomElementsSolidJs = {
|
|
|
89910
90469
|
*
|
|
89911
90470
|
* Reflected, because the styled tier places a dialog and a floating panel by
|
|
89912
90471
|
* it, and unset at rest, so no default is written onto the host.
|
|
90472
|
+
* - `effect`: Run as the tour reaches the stop, before it is shown: see the description
|
|
90473
|
+
* above. A function, so it is set from script and has no attribute. (property only)
|
|
89913
90474
|
* - `target`: The element the stop points at, or `null` when no element has the `for` id. (property only) (readonly)
|
|
89914
90475
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
89915
90476
|
*
|
|
@@ -89992,6 +90553,8 @@ export type CustomElementsSolidJs = {
|
|
|
89992
90553
|
*
|
|
89993
90554
|
* These can be used to apply styling when a component is in a given state.
|
|
89994
90555
|
*
|
|
90556
|
+
* - `entering`: From the moment the stop is shown until its entrance has finished.
|
|
90557
|
+
* - `exiting`: From the moment the stop is left until its exit has finished.
|
|
89995
90558
|
* - `placed-bottom`: The panel sits below its target.
|
|
89996
90559
|
* - `placed-left`: The panel sits to the left of its target.
|
|
89997
90560
|
* - `placed-right`: The panel sits to the right of its target.
|
|
@@ -91764,6 +92327,8 @@ export type CustomCssProperties = {
|
|
|
91764
92327
|
"--toast-duration"?: (string) | undefined;
|
|
91765
92328
|
/** How far a swipe has moved the message across, in pixels, toward the right. */
|
|
91766
92329
|
"--toast-swipe-x"?: (string) | undefined;
|
|
92330
|
+
/** How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`. */
|
|
92331
|
+
"--toast-swipe-y"?: (string) | undefined;
|
|
91767
92332
|
/** The lit box's height, in pixels, padding included. Written on the spotlight while it lights a target. */
|
|
91768
92333
|
"--tour-spotlight-height"?: (string) | undefined;
|
|
91769
92334
|
/** The lit box's width, in pixels, padding included. Written on the spotlight while it lights a target. */
|