@fusion.dev/helix-headless 0.158.0 → 0.160.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 +1925 -174
- 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/date-input/root/date-input-root.d.ts +108 -19
- package/dist/date-input/root/date-input-root.js +112 -13
- package/dist/date-picker/root/date-picker-root.d.ts +81 -16
- package/dist/date-picker/root/date-picker-root.js +140 -36
- package/dist/element-events.generated.js +9 -1
- package/dist/format-date/fields.js +1 -0
- package/dist/format-date/options.d.ts +3 -1
- package/dist/format-date/options.js +4 -1
- package/dist/format-date/root/format-date-root.d.ts +27 -11
- package/dist/format-date/root/format-date-root.js +6 -0
- 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/listbox/root/listbox-root.js +5 -0
- package/dist/notifications/notification/notification.d.ts +1 -0
- package/dist/notifications/notification/notification.js +2 -1
- package/dist/slider/root/slider-root.d.ts +54 -3
- package/dist/slider/root/slider-root.js +124 -2
- 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/time-input/root/time-input-root.d.ts +55 -7
- package/dist/time-input/root/time-input-root.js +70 -10
- package/dist/time-picker/root/time-picker-root.d.ts +27 -5
- package/dist/time-picker/root/time-picker-root.js +52 -13
- 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/toggle/group/toggle-group.d.ts +18 -1
- package/dist/toggle/group/toggle-group.js +8 -2
- package/dist/toggle/root/toggle-root.d.ts +2 -2
- package/dist/toggle/root/toggle-root.js +2 -1
- 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 +1119 -218
- package/types/vue.d.ts +278 -51
- package/types/words.d.ts +72 -0
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.
|
|
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;
|
|
991
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
|
|
@@ -9774,37 +9877,56 @@ export type HelixHeadlessDateInputHelixBeforeCloseElementEvent =
|
|
|
9774
9877
|
/** `helix-before-open` event type */
|
|
9775
9878
|
export type HelixHeadlessDateInputHelixBeforeOpenElementEvent =
|
|
9776
9879
|
HelixHeadlessDateInputElementEvent<HelixBeforeOpenEvent>;
|
|
9880
|
+
/** `helix-clear` event type */
|
|
9881
|
+
export type HelixHeadlessDateInputHelixClearElementEvent =
|
|
9882
|
+
HelixHeadlessDateInputElementEvent<HelixClearEvent>;
|
|
9777
9883
|
/** `toggle` event type */
|
|
9778
9884
|
export type HelixHeadlessDateInputToggleElementEvent =
|
|
9779
9885
|
HelixHeadlessDateInputElementEvent<ToggleEvent>;
|
|
9780
9886
|
|
|
9781
9887
|
export type HelixHeadlessDateInputProps = {
|
|
9782
|
-
/** What the browser may autofill here, as one of the platform's own tokens
|
|
9888
|
+
/** What the browser may autofill here, as one of the platform's own tokens,
|
|
9889
|
+
such as `bday`.
|
|
9783
9890
|
|
|
9784
9891
|
Empty leaves the attribute off, which is the browser's default and is what
|
|
9785
9892
|
lets autofill work at all: hardcoding `off` here means a birthday or a
|
|
9786
|
-
postal code can never be filled in for a reader.
|
|
9893
|
+
postal code can never be filled in for a reader. With `segmented`, a
|
|
9894
|
+
hidden native date input carries it, since no browser fills the segments. */
|
|
9787
9895
|
autocomplete?: (HelixHeadlessDateInput["autocomplete"]) | undefined;
|
|
9788
|
-
/** The calendar the written date and the calendar's days are
|
|
9789
|
-
`buddhist`, `japanese`, `roc`, or `iso8601
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
`
|
|
9795
|
-
|
|
9896
|
+
/** The calendar the written date, the segments, and the calendar's days are
|
|
9897
|
+
in: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar
|
|
9898
|
+
with months of its own that Date Picker's `calendar` names, such as
|
|
9899
|
+
`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.
|
|
9900
|
+
|
|
9901
|
+
Absent is the locale's own where its months are the Gregorian months, and
|
|
9902
|
+
`gregory` for every other, as Date Picker's `calendar` is. The value is
|
|
9903
|
+
`YYYY-MM-DD` in every calendar, and a focused text field is ISO in every
|
|
9904
|
+
calendar. In `segmented`, the segments are the day, month, and year as
|
|
9905
|
+
the calendar counts them, in the order the locale writes them: Mehr 14,
|
|
9906
|
+
1405 is month 7 and day 14 of 1405 under `persian`. Under the five with
|
|
9907
|
+
Gregorian months they are the Gregorian day, month, and year, or ISO order
|
|
9908
|
+
for `iso8601`. */
|
|
9796
9909
|
calendar?: (HelixHeadlessDateInput["calendar"]) | undefined;
|
|
9797
9910
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
9798
9911
|
"calendar-label"?: (HelixHeadlessDateInput["calendarLabel"]) | undefined;
|
|
9799
9912
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
9800
9913
|
calendarLabel?: (HelixHeadlessDateInput["calendarLabel"]) | undefined;
|
|
9914
|
+
/** Whether the field shows a button that empties it, as Input's `clearable`
|
|
9915
|
+
does. Shown only while the field holds something to clear and is neither
|
|
9916
|
+
disabled nor read-only. */
|
|
9917
|
+
clearable?: (HelixHeadlessDateInput["clearable"]) | undefined;
|
|
9918
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
9919
|
+
"clear-label"?: (HelixHeadlessDateInput["clearLabel"]) | undefined;
|
|
9920
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
9921
|
+
clearLabel?: (HelixHeadlessDateInput["clearLabel"]) | undefined;
|
|
9801
9922
|
/** How a date is written in the field: `short` through `full`, or ISO.
|
|
9802
9923
|
|
|
9803
9924
|
**The field renders when it is idle and holds the value when it is being
|
|
9804
9925
|
edited.** A written date is a rendering, and a document being edited must
|
|
9805
9926
|
not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
9806
|
-
not parse, so
|
|
9807
|
-
|
|
9927
|
+
not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
9928
|
+
edit. The field does read a date typed in the locale's order and digits as
|
|
9929
|
+
you leave it, which covers what a reader types.
|
|
9808
9930
|
|
|
9809
9931
|
The way out is not to choose between the two but to separate them in time.
|
|
9810
9932
|
Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -9826,8 +9948,9 @@ submits and what `min` and `max` compare against. */
|
|
|
9826
9948
|
**The field renders when it is idle and holds the value when it is being
|
|
9827
9949
|
edited.** A written date is a rendering, and a document being edited must
|
|
9828
9950
|
not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
9829
|
-
not parse, so
|
|
9830
|
-
|
|
9951
|
+
not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
9952
|
+
edit. The field does read a date typed in the locale's order and digits as
|
|
9953
|
+
you leave it, which covers what a reader types.
|
|
9831
9954
|
|
|
9832
9955
|
The way out is not to choose between the two but to separate them in time.
|
|
9833
9956
|
Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -9965,6 +10088,14 @@ the date.
|
|
|
9965
10088
|
**The name goes in**, so a row of them is heard as which one each
|
|
9966
10089
|
removes rather than as "Remove" said once per date. */
|
|
9967
10090
|
removeLabel?: (HelixHeadlessDateInput["removeLabel"]) | undefined;
|
|
10091
|
+
/** What a screen reader hears about the dates chosen in the calendar, with
|
|
10092
|
+
`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
10093
|
+
`selection-label` says. */
|
|
10094
|
+
"selection-label"?: (HelixHeadlessDateInput["selectionLabel"]) | undefined;
|
|
10095
|
+
/** What a screen reader hears about the dates chosen in the calendar, with
|
|
10096
|
+
`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
10097
|
+
`selection-label` says. */
|
|
10098
|
+
selectionLabel?: (HelixHeadlessDateInput["selectionLabel"]) | undefined;
|
|
9968
10099
|
/** How far apart the selectable dates are, in days.
|
|
9969
10100
|
|
|
9970
10101
|
`<input type="date" step>`'s own unit, handed to the calendar this renders
|
|
@@ -9976,6 +10107,14 @@ platform's base. */
|
|
|
9976
10107
|
"step-mismatch-message"?: (HelixHeadlessDateInput["stepMismatchMessage"]) | undefined;
|
|
9977
10108
|
/** The message shown when a date is not on `step`. */
|
|
9978
10109
|
stepMismatchMessage?: (HelixHeadlessDateInput["stepMismatchMessage"]) | undefined;
|
|
10110
|
+
/** The time zone today is read in, such as `America/New_York`, handed to the
|
|
10111
|
+
calendar: the day marked today, and the month an empty field opens on.
|
|
10112
|
+
Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
10113
|
+
"time-zone"?: (HelixHeadlessDateInput["timeZone"]) | undefined;
|
|
10114
|
+
/** The time zone today is read in, such as `America/New_York`, handed to the
|
|
10115
|
+
calendar: the day marked today, and the month an empty field opens on.
|
|
10116
|
+
Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
10117
|
+
timeZone?: (HelixHeadlessDateInput["timeZone"]) | undefined;
|
|
9979
10118
|
/** The name of the button that opens the calendar, read by screen readers. */
|
|
9980
10119
|
"trigger-label"?: (HelixHeadlessDateInput["triggerLabel"]) | undefined;
|
|
9981
10120
|
/** The name of the button that opens the calendar, read by screen readers. */
|
|
@@ -9984,6 +10123,12 @@ platform's base. */
|
|
|
9984
10123
|
"unavailable-message"?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
9985
10124
|
/** The message shown when `disable-dates` or `disable-days` bars a date. */
|
|
9986
10125
|
unavailableMessage?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
10126
|
+
/** The message for text that is no date, where `bad-input-message` is not
|
|
10127
|
+
set. `{mode}` is `single`, `range`, or `multiple`. */
|
|
10128
|
+
"unreadable-message"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
10129
|
+
/** The message for text that is no date, where `bad-input-message` is not
|
|
10130
|
+
set. `{mode}` is `single`, `range`, or `multiple`. */
|
|
10131
|
+
unreadableMessage?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
9987
10132
|
/** The name of the calendar's heading where it shows a page of years, with
|
|
9988
10133
|
`{heading}` filled in. */
|
|
9989
10134
|
"year-view-label"?: (HelixHeadlessDateInput["yearViewLabel"]) | undefined;
|
|
@@ -10012,6 +10157,18 @@ are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
|
10012
10157
|
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
10013
10158
|
`time`. */
|
|
10014
10159
|
incompleteMessage?: (HelixHeadlessDateInput["incompleteMessage"]) | undefined;
|
|
10160
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
10161
|
+
or time, after each segment's own name. */
|
|
10162
|
+
"range-end-label"?: (HelixHeadlessDateInput["rangeEndLabel"]) | undefined;
|
|
10163
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
10164
|
+
or time, after each segment's own name. */
|
|
10165
|
+
rangeEndLabel?: (HelixHeadlessDateInput["rangeEndLabel"]) | undefined;
|
|
10166
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
10167
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
10168
|
+
"range-start-label"?: (HelixHeadlessDateInput["rangeStartLabel"]) | undefined;
|
|
10169
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
10170
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
10171
|
+
rangeStartLabel?: (HelixHeadlessDateInput["rangeStartLabel"]) | undefined;
|
|
10015
10172
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
10016
10173
|
time, in place of a line of text.
|
|
10017
10174
|
|
|
@@ -10239,6 +10396,8 @@ reader makes in one of these. */
|
|
|
10239
10396
|
"onhelix-before-open"?: ((
|
|
10240
10397
|
e: HelixHeadlessDateInputHelixBeforeOpenElementEvent,
|
|
10241
10398
|
) => void) | undefined;
|
|
10399
|
+
/** Fired after the clear button has emptied the field, after `input` and `change`. */
|
|
10400
|
+
"onhelix-clear"?: ((e: HelixHeadlessDateInputHelixClearElementEvent) => void) | undefined;
|
|
10242
10401
|
/** Fired after the value changes. */
|
|
10243
10402
|
oninput?: ((e: HelixHeadlessDateInputElementEvent) => void) | undefined;
|
|
10244
10403
|
/** Fired when the calendar opens or closes, with `newState` and `oldState`. */
|
|
@@ -10246,32 +10405,48 @@ reader makes in one of these. */
|
|
|
10246
10405
|
};
|
|
10247
10406
|
|
|
10248
10407
|
export type HelixHeadlessDateInputSolidJsProps = {
|
|
10249
|
-
/** What the browser may autofill here, as one of the platform's own tokens
|
|
10408
|
+
/** What the browser may autofill here, as one of the platform's own tokens,
|
|
10409
|
+
such as `bday`.
|
|
10250
10410
|
|
|
10251
10411
|
Empty leaves the attribute off, which is the browser's default and is what
|
|
10252
10412
|
lets autofill work at all: hardcoding `off` here means a birthday or a
|
|
10253
|
-
postal code can never be filled in for a reader.
|
|
10413
|
+
postal code can never be filled in for a reader. With `segmented`, a
|
|
10414
|
+
hidden native date input carries it, since no browser fills the segments. */
|
|
10254
10415
|
"prop:autocomplete"?: (HelixHeadlessDateInput["autocomplete"]) | undefined;
|
|
10255
|
-
/** The calendar the written date and the calendar's days are
|
|
10256
|
-
`buddhist`, `japanese`, `roc`, or `iso8601
|
|
10257
|
-
|
|
10258
|
-
|
|
10259
|
-
|
|
10260
|
-
|
|
10261
|
-
`
|
|
10262
|
-
|
|
10416
|
+
/** The calendar the written date, the segments, and the calendar's days are
|
|
10417
|
+
in: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar
|
|
10418
|
+
with months of its own that Date Picker's `calendar` names, such as
|
|
10419
|
+
`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.
|
|
10420
|
+
|
|
10421
|
+
Absent is the locale's own where its months are the Gregorian months, and
|
|
10422
|
+
`gregory` for every other, as Date Picker's `calendar` is. The value is
|
|
10423
|
+
`YYYY-MM-DD` in every calendar, and a focused text field is ISO in every
|
|
10424
|
+
calendar. In `segmented`, the segments are the day, month, and year as
|
|
10425
|
+
the calendar counts them, in the order the locale writes them: Mehr 14,
|
|
10426
|
+
1405 is month 7 and day 14 of 1405 under `persian`. Under the five with
|
|
10427
|
+
Gregorian months they are the Gregorian day, month, and year, or ISO order
|
|
10428
|
+
for `iso8601`. */
|
|
10263
10429
|
"prop:calendar"?: (HelixHeadlessDateInput["calendar"]) | undefined;
|
|
10264
10430
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
10265
10431
|
"attr:calendar-label"?: (HelixHeadlessDateInput["calendarLabel"]) | undefined;
|
|
10266
10432
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
10267
10433
|
"prop:calendarLabel"?: (HelixHeadlessDateInput["calendarLabel"]) | undefined;
|
|
10434
|
+
/** Whether the field shows a button that empties it, as Input's `clearable`
|
|
10435
|
+
does. Shown only while the field holds something to clear and is neither
|
|
10436
|
+
disabled nor read-only. */
|
|
10437
|
+
"prop:clearable"?: (HelixHeadlessDateInput["clearable"]) | undefined;
|
|
10438
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
10439
|
+
"attr:clear-label"?: (HelixHeadlessDateInput["clearLabel"]) | undefined;
|
|
10440
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
10441
|
+
"prop:clearLabel"?: (HelixHeadlessDateInput["clearLabel"]) | undefined;
|
|
10268
10442
|
/** How a date is written in the field: `short` through `full`, or ISO.
|
|
10269
10443
|
|
|
10270
10444
|
**The field renders when it is idle and holds the value when it is being
|
|
10271
10445
|
edited.** A written date is a rendering, and a document being edited must
|
|
10272
10446
|
not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
10273
|
-
not parse, so
|
|
10274
|
-
|
|
10447
|
+
not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
10448
|
+
edit. The field does read a date typed in the locale's order and digits as
|
|
10449
|
+
you leave it, which covers what a reader types.
|
|
10275
10450
|
|
|
10276
10451
|
The way out is not to choose between the two but to separate them in time.
|
|
10277
10452
|
Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -10293,8 +10468,9 @@ submits and what `min` and `max` compare against. */
|
|
|
10293
10468
|
**The field renders when it is idle and holds the value when it is being
|
|
10294
10469
|
edited.** A written date is a rendering, and a document being edited must
|
|
10295
10470
|
not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
10296
|
-
not parse, so
|
|
10297
|
-
|
|
10471
|
+
not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
10472
|
+
edit. The field does read a date typed in the locale's order and digits as
|
|
10473
|
+
you leave it, which covers what a reader types.
|
|
10298
10474
|
|
|
10299
10475
|
The way out is not to choose between the two but to separate them in time.
|
|
10300
10476
|
Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -10432,6 +10608,14 @@ the date.
|
|
|
10432
10608
|
**The name goes in**, so a row of them is heard as which one each
|
|
10433
10609
|
removes rather than as "Remove" said once per date. */
|
|
10434
10610
|
"prop:removeLabel"?: (HelixHeadlessDateInput["removeLabel"]) | undefined;
|
|
10611
|
+
/** What a screen reader hears about the dates chosen in the calendar, with
|
|
10612
|
+
`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
10613
|
+
`selection-label` says. */
|
|
10614
|
+
"attr:selection-label"?: (HelixHeadlessDateInput["selectionLabel"]) | undefined;
|
|
10615
|
+
/** What a screen reader hears about the dates chosen in the calendar, with
|
|
10616
|
+
`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
10617
|
+
`selection-label` says. */
|
|
10618
|
+
"prop:selectionLabel"?: (HelixHeadlessDateInput["selectionLabel"]) | undefined;
|
|
10435
10619
|
/** How far apart the selectable dates are, in days.
|
|
10436
10620
|
|
|
10437
10621
|
`<input type="date" step>`'s own unit, handed to the calendar this renders
|
|
@@ -10443,6 +10627,14 @@ platform's base. */
|
|
|
10443
10627
|
"attr:step-mismatch-message"?: (HelixHeadlessDateInput["stepMismatchMessage"]) | undefined;
|
|
10444
10628
|
/** The message shown when a date is not on `step`. */
|
|
10445
10629
|
"prop:stepMismatchMessage"?: (HelixHeadlessDateInput["stepMismatchMessage"]) | undefined;
|
|
10630
|
+
/** The time zone today is read in, such as `America/New_York`, handed to the
|
|
10631
|
+
calendar: the day marked today, and the month an empty field opens on.
|
|
10632
|
+
Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
10633
|
+
"attr:time-zone"?: (HelixHeadlessDateInput["timeZone"]) | undefined;
|
|
10634
|
+
/** The time zone today is read in, such as `America/New_York`, handed to the
|
|
10635
|
+
calendar: the day marked today, and the month an empty field opens on.
|
|
10636
|
+
Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
10637
|
+
"prop:timeZone"?: (HelixHeadlessDateInput["timeZone"]) | undefined;
|
|
10446
10638
|
/** The name of the button that opens the calendar, read by screen readers. */
|
|
10447
10639
|
"attr:trigger-label"?: (HelixHeadlessDateInput["triggerLabel"]) | undefined;
|
|
10448
10640
|
/** The name of the button that opens the calendar, read by screen readers. */
|
|
@@ -10451,6 +10643,12 @@ platform's base. */
|
|
|
10451
10643
|
"attr:unavailable-message"?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
10452
10644
|
/** The message shown when `disable-dates` or `disable-days` bars a date. */
|
|
10453
10645
|
"prop:unavailableMessage"?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
10646
|
+
/** The message for text that is no date, where `bad-input-message` is not
|
|
10647
|
+
set. `{mode}` is `single`, `range`, or `multiple`. */
|
|
10648
|
+
"attr:unreadable-message"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
10649
|
+
/** The message for text that is no date, where `bad-input-message` is not
|
|
10650
|
+
set. `{mode}` is `single`, `range`, or `multiple`. */
|
|
10651
|
+
"prop:unreadableMessage"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
10454
10652
|
/** The name of the calendar's heading where it shows a page of years, with
|
|
10455
10653
|
`{heading}` filled in. */
|
|
10456
10654
|
"attr:year-view-label"?: (HelixHeadlessDateInput["yearViewLabel"]) | undefined;
|
|
@@ -10479,6 +10677,18 @@ are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
|
10479
10677
|
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
10480
10678
|
`time`. */
|
|
10481
10679
|
"prop:incompleteMessage"?: (HelixHeadlessDateInput["incompleteMessage"]) | undefined;
|
|
10680
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
10681
|
+
or time, after each segment's own name. */
|
|
10682
|
+
"attr:range-end-label"?: (HelixHeadlessDateInput["rangeEndLabel"]) | undefined;
|
|
10683
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
10684
|
+
or time, after each segment's own name. */
|
|
10685
|
+
"prop:rangeEndLabel"?: (HelixHeadlessDateInput["rangeEndLabel"]) | undefined;
|
|
10686
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
10687
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
10688
|
+
"attr:range-start-label"?: (HelixHeadlessDateInput["rangeStartLabel"]) | undefined;
|
|
10689
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
10690
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
10691
|
+
"prop:rangeStartLabel"?: (HelixHeadlessDateInput["rangeStartLabel"]) | undefined;
|
|
10482
10692
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
10483
10693
|
time, in place of a line of text.
|
|
10484
10694
|
|
|
@@ -10705,6 +10915,8 @@ reader makes in one of these. */
|
|
|
10705
10915
|
"on:helix-before-open"?: ((
|
|
10706
10916
|
e: HelixHeadlessDateInputHelixBeforeOpenElementEvent,
|
|
10707
10917
|
) => void) | undefined;
|
|
10918
|
+
/** Fired after the clear button has emptied the field, after `input` and `change`. */
|
|
10919
|
+
"on:helix-clear"?: ((e: HelixHeadlessDateInputHelixClearElementEvent) => void) | undefined;
|
|
10708
10920
|
/** Fired after the value changes. */
|
|
10709
10921
|
"on:input"?: ((e: HelixHeadlessDateInputElementEvent) => void) | undefined;
|
|
10710
10922
|
/** Fired when the calendar opens or closes, with `newState` and `oldState`. */
|
|
@@ -10753,14 +10965,16 @@ it is one of the five, such as `buddhist` for `th-TH` or `japanese` for
|
|
|
10753
10965
|
`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`
|
|
10754
10966
|
for `fa-IR`.
|
|
10755
10967
|
|
|
10756
|
-
`persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`,
|
|
10757
|
-
`
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
|
|
10968
|
+
`persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,
|
|
10969
|
+
`islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,
|
|
10970
|
+
`indian`, `chinese`, and `dangi` draw a calendar with months of its own,
|
|
10971
|
+
as React Aria's calendars do: each grid is one of that calendar's months,
|
|
10972
|
+
the Hebrew and Chinese leap months and Ethiopia's five-day thirteenth
|
|
10973
|
+
month included, and Previous, Next and the page keys move by those
|
|
10974
|
+
months. With `max-view`, the months view shows that calendar's year, of
|
|
10975
|
+
twelve or thirteen months, and the years view its years. `month` and
|
|
10761
10976
|
`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The
|
|
10762
|
-
|
|
10763
|
-
months only. The value is `YYYY-MM-DD` in every calendar. */
|
|
10977
|
+
value is `YYYY-MM-DD` in every calendar. */
|
|
10764
10978
|
calendar?: (HelixHeadlessDatePicker["calendar"]) | undefined;
|
|
10765
10979
|
/** The month to open on when `month` is not set. */
|
|
10766
10980
|
"default-month"?: (HelixHeadlessDatePicker["defaultMonth"]) | undefined;
|
|
@@ -10907,6 +11121,18 @@ else set needs. */
|
|
|
10907
11121
|
readOnly?: (HelixHeadlessDatePicker["readOnly"]) | undefined;
|
|
10908
11122
|
/** Stops the form from submitting while no date is chosen. */
|
|
10909
11123
|
required?: (HelixHeadlessDatePicker["required"]) | undefined;
|
|
11124
|
+
/** What a screen reader hears about the chosen dates: the grid's
|
|
11125
|
+
description, said again whenever the dates change. `{kind}` is `date`,
|
|
11126
|
+
`start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
11127
|
+
`{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
11128
|
+
many dates are chosen. */
|
|
11129
|
+
"selection-label"?: (HelixHeadlessDatePicker["selectionLabel"]) | undefined;
|
|
11130
|
+
/** What a screen reader hears about the chosen dates: the grid's
|
|
11131
|
+
description, said again whenever the dates change. `{kind}` is `date`,
|
|
11132
|
+
`start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
11133
|
+
`{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
11134
|
+
many dates are chosen. */
|
|
11135
|
+
selectionLabel?: (HelixHeadlessDatePicker["selectionLabel"]) | undefined;
|
|
10910
11136
|
/** How far apart the selectable dates are, in days.
|
|
10911
11137
|
|
|
10912
11138
|
`<input type="date" step>`'s own unit, counted from `min` where there is
|
|
@@ -11086,14 +11312,16 @@ it is one of the five, such as `buddhist` for `th-TH` or `japanese` for
|
|
|
11086
11312
|
`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`
|
|
11087
11313
|
for `fa-IR`.
|
|
11088
11314
|
|
|
11089
|
-
`persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`,
|
|
11090
|
-
`
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
|
|
11315
|
+
`persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,
|
|
11316
|
+
`islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,
|
|
11317
|
+
`indian`, `chinese`, and `dangi` draw a calendar with months of its own,
|
|
11318
|
+
as React Aria's calendars do: each grid is one of that calendar's months,
|
|
11319
|
+
the Hebrew and Chinese leap months and Ethiopia's five-day thirteenth
|
|
11320
|
+
month included, and Previous, Next and the page keys move by those
|
|
11321
|
+
months. With `max-view`, the months view shows that calendar's year, of
|
|
11322
|
+
twelve or thirteen months, and the years view its years. `month` and
|
|
11094
11323
|
`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The
|
|
11095
|
-
|
|
11096
|
-
months only. The value is `YYYY-MM-DD` in every calendar. */
|
|
11324
|
+
value is `YYYY-MM-DD` in every calendar. */
|
|
11097
11325
|
"prop:calendar"?: (HelixHeadlessDatePicker["calendar"]) | undefined;
|
|
11098
11326
|
/** The month to open on when `month` is not set. */
|
|
11099
11327
|
"attr:default-month"?: (HelixHeadlessDatePicker["defaultMonth"]) | undefined;
|
|
@@ -11240,6 +11468,18 @@ else set needs. */
|
|
|
11240
11468
|
"prop:readOnly"?: (HelixHeadlessDatePicker["readOnly"]) | undefined;
|
|
11241
11469
|
/** Stops the form from submitting while no date is chosen. */
|
|
11242
11470
|
"prop:required"?: (HelixHeadlessDatePicker["required"]) | undefined;
|
|
11471
|
+
/** What a screen reader hears about the chosen dates: the grid's
|
|
11472
|
+
description, said again whenever the dates change. `{kind}` is `date`,
|
|
11473
|
+
`start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
11474
|
+
`{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
11475
|
+
many dates are chosen. */
|
|
11476
|
+
"attr:selection-label"?: (HelixHeadlessDatePicker["selectionLabel"]) | undefined;
|
|
11477
|
+
/** What a screen reader hears about the chosen dates: the grid's
|
|
11478
|
+
description, said again whenever the dates change. `{kind}` is `date`,
|
|
11479
|
+
`start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
11480
|
+
`{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
11481
|
+
many dates are chosen. */
|
|
11482
|
+
"prop:selectionLabel"?: (HelixHeadlessDatePicker["selectionLabel"]) | undefined;
|
|
11243
11483
|
/** How far apart the selectable dates are, in days.
|
|
11244
11484
|
|
|
11245
11485
|
`<input type="date" step>`'s own unit, counted from `min` where there is
|
|
@@ -13737,12 +13977,14 @@ Here rather than on each control. */
|
|
|
13737
13977
|
|
|
13738
13978
|
export type HelixHeadlessFormatDateProps = {
|
|
13739
13979
|
/** The calendar a date is written in: `gregory`, `buddhist`, `japanese`,
|
|
13740
|
-
`roc`, or `iso8601`,
|
|
13741
|
-
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13745
|
-
|
|
13980
|
+
`roc`, or `iso8601`, or a calendar with months of its own, such as
|
|
13981
|
+
`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every
|
|
13982
|
+
calendar Date Picker and Date Input draw.
|
|
13983
|
+
|
|
13984
|
+
Absent is the locale's own where its months are the Gregorian months,
|
|
13985
|
+
such as `buddhist` for `th-TH`, and `gregory` for every other, such as
|
|
13986
|
+
`persian` for `fa-IR`, so a date written here reads as the same date a
|
|
13987
|
+
Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
|
|
13746
13988
|
calendar?: (HelixHeadlessFormatDate["calendar"]) | undefined;
|
|
13747
13989
|
/** The timestamp, in any format `Date` can parse.
|
|
13748
13990
|
|
|
@@ -13768,6 +14010,14 @@ browser may use either. */
|
|
|
13768
14010
|
dateStyle?: (HelixHeadlessFormatDate["dateStyle"]) | undefined;
|
|
13769
14011
|
/** How the day of the month is written, where a date is shown. */
|
|
13770
14012
|
day?: (HelixHeadlessFormatDate["day"]) | undefined;
|
|
14013
|
+
/** Writes the part of the day in words, such as "in the morning" or "at
|
|
14014
|
+
night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
14015
|
+
twelve-hour clock. */
|
|
14016
|
+
"day-period"?: (HelixHeadlessFormatDate["dayPeriod"]) | undefined;
|
|
14017
|
+
/** Writes the part of the day in words, such as "in the morning" or "at
|
|
14018
|
+
night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
14019
|
+
twelve-hour clock. */
|
|
14020
|
+
dayPeriod?: (HelixHeadlessFormatDate["dayPeriod"]) | undefined;
|
|
13771
14021
|
/** Shows how long ago the timestamp was, in a compact form such as "3h", in
|
|
13772
14022
|
place of the date.
|
|
13773
14023
|
|
|
@@ -13785,6 +14035,12 @@ Off by default, which draws the date as one run of text, as Shoelace and
|
|
|
13785
14035
|
Web Awesome do. An `elapsed` or `relative` reading is one phrase either
|
|
13786
14036
|
way. */
|
|
13787
14037
|
fields?: (HelixHeadlessFormatDate["fields"]) | undefined;
|
|
14038
|
+
/** How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
14039
|
+
or 3, as in 09:41:07.250. */
|
|
14040
|
+
"fractional-second-digits"?: (HelixHeadlessFormatDate["fractionalSecondDigits"]) | undefined;
|
|
14041
|
+
/** How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
14042
|
+
or 3, as in 09:41:07.250. */
|
|
14043
|
+
fractionalSecondDigits?: (HelixHeadlessFormatDate["fractionalSecondDigits"]) | undefined;
|
|
13788
14044
|
/** Draws an `elapsed` or `relative` reading once and leaves it, where it
|
|
13789
14045
|
would otherwise move on as it goes stale.
|
|
13790
14046
|
|
|
@@ -13847,9 +14103,13 @@ Empty is the runtime's own. */
|
|
|
13847
14103
|
|
|
13848
14104
|
Empty is the runtime's own. */
|
|
13849
14105
|
timeZone?: (HelixHeadlessFormatDate["timeZone"]) | undefined;
|
|
13850
|
-
/** Shows the name of the time zone
|
|
14106
|
+
/** Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
14107
|
+
Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
14108
|
+
`longGeneric` or `shortGeneric`, as Pacific Time or PT. */
|
|
13851
14109
|
"time-zone-name"?: (HelixHeadlessFormatDate["timeZoneName"]) | undefined;
|
|
13852
|
-
/** Shows the name of the time zone
|
|
14110
|
+
/** Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
14111
|
+
Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
14112
|
+
`longGeneric` or `shortGeneric`, as Pacific Time or PT. */
|
|
13853
14113
|
timeZoneName?: (HelixHeadlessFormatDate["timeZoneName"]) | undefined;
|
|
13854
14114
|
/** How the weekday is written, where one is shown. */
|
|
13855
14115
|
weekday?: (HelixHeadlessFormatDate["weekday"]) | undefined;
|
|
@@ -13859,12 +14119,14 @@ Empty is the runtime's own. */
|
|
|
13859
14119
|
|
|
13860
14120
|
export type HelixHeadlessFormatDateSolidJsProps = {
|
|
13861
14121
|
/** The calendar a date is written in: `gregory`, `buddhist`, `japanese`,
|
|
13862
|
-
`roc`, or `iso8601`,
|
|
13863
|
-
|
|
13864
|
-
|
|
13865
|
-
|
|
13866
|
-
|
|
13867
|
-
|
|
14122
|
+
`roc`, or `iso8601`, or a calendar with months of its own, such as
|
|
14123
|
+
`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every
|
|
14124
|
+
calendar Date Picker and Date Input draw.
|
|
14125
|
+
|
|
14126
|
+
Absent is the locale's own where its months are the Gregorian months,
|
|
14127
|
+
such as `buddhist` for `th-TH`, and `gregory` for every other, such as
|
|
14128
|
+
`persian` for `fa-IR`, so a date written here reads as the same date a
|
|
14129
|
+
Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
|
|
13868
14130
|
"prop:calendar"?: (HelixHeadlessFormatDate["calendar"]) | undefined;
|
|
13869
14131
|
/** The timestamp, in any format `Date` can parse.
|
|
13870
14132
|
|
|
@@ -13890,6 +14152,14 @@ browser may use either. */
|
|
|
13890
14152
|
"prop:dateStyle"?: (HelixHeadlessFormatDate["dateStyle"]) | undefined;
|
|
13891
14153
|
/** How the day of the month is written, where a date is shown. */
|
|
13892
14154
|
"prop:day"?: (HelixHeadlessFormatDate["day"]) | undefined;
|
|
14155
|
+
/** Writes the part of the day in words, such as "in the morning" or "at
|
|
14156
|
+
night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
14157
|
+
twelve-hour clock. */
|
|
14158
|
+
"attr:day-period"?: (HelixHeadlessFormatDate["dayPeriod"]) | undefined;
|
|
14159
|
+
/** Writes the part of the day in words, such as "in the morning" or "at
|
|
14160
|
+
night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
14161
|
+
twelve-hour clock. */
|
|
14162
|
+
"prop:dayPeriod"?: (HelixHeadlessFormatDate["dayPeriod"]) | undefined;
|
|
13893
14163
|
/** Shows how long ago the timestamp was, in a compact form such as "3h", in
|
|
13894
14164
|
place of the date.
|
|
13895
14165
|
|
|
@@ -13907,6 +14177,12 @@ Off by default, which draws the date as one run of text, as Shoelace and
|
|
|
13907
14177
|
Web Awesome do. An `elapsed` or `relative` reading is one phrase either
|
|
13908
14178
|
way. */
|
|
13909
14179
|
"prop:fields"?: (HelixHeadlessFormatDate["fields"]) | undefined;
|
|
14180
|
+
/** How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
14181
|
+
or 3, as in 09:41:07.250. */
|
|
14182
|
+
"attr:fractional-second-digits"?: (HelixHeadlessFormatDate["fractionalSecondDigits"]) | undefined;
|
|
14183
|
+
/** How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
14184
|
+
or 3, as in 09:41:07.250. */
|
|
14185
|
+
"prop:fractionalSecondDigits"?: (HelixHeadlessFormatDate["fractionalSecondDigits"]) | undefined;
|
|
13910
14186
|
/** Draws an `elapsed` or `relative` reading once and leaves it, where it
|
|
13911
14187
|
would otherwise move on as it goes stale.
|
|
13912
14188
|
|
|
@@ -13969,9 +14245,13 @@ Empty is the runtime's own. */
|
|
|
13969
14245
|
|
|
13970
14246
|
Empty is the runtime's own. */
|
|
13971
14247
|
"prop:timeZone"?: (HelixHeadlessFormatDate["timeZone"]) | undefined;
|
|
13972
|
-
/** Shows the name of the time zone
|
|
14248
|
+
/** Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
14249
|
+
Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
14250
|
+
`longGeneric` or `shortGeneric`, as Pacific Time or PT. */
|
|
13973
14251
|
"attr:time-zone-name"?: (HelixHeadlessFormatDate["timeZoneName"]) | undefined;
|
|
13974
|
-
/** Shows the name of the time zone
|
|
14252
|
+
/** Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
14253
|
+
Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
14254
|
+
`longGeneric` or `shortGeneric`, as Pacific Time or PT. */
|
|
13975
14255
|
"prop:timeZoneName"?: (HelixHeadlessFormatDate["timeZoneName"]) | undefined;
|
|
13976
14256
|
/** How the weekday is written, where one is shown. */
|
|
13977
14257
|
"prop:weekday"?: (HelixHeadlessFormatDate["weekday"]) | undefined;
|
|
@@ -26252,6 +26532,14 @@ rather than a thumb sitting on nothing. */
|
|
|
26252
26532
|
middle of the track, or `end` at `max`. Absent is `start`. A range fills
|
|
26253
26533
|
between its thumbs and ignores it. */
|
|
26254
26534
|
origin?: (HelixHeadlessSlider["origin"]) | undefined;
|
|
26535
|
+
/** How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
26536
|
+
React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
26537
|
+
to the platform, which moves a tenth of the track. */
|
|
26538
|
+
"page-step"?: (HelixHeadlessSlider["pageStep"] | `${number}`) | undefined;
|
|
26539
|
+
/** How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
26540
|
+
React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
26541
|
+
to the platform, which moves a tenth of the track. */
|
|
26542
|
+
pageStep?: (HelixHeadlessSlider["pageStep"]) | undefined;
|
|
26255
26543
|
/** Adds a second thumb, so the value is a pair.
|
|
26256
26544
|
|
|
26257
26545
|
The pair is one string, `"10,50"`, which is what `value` and
|
|
@@ -26506,6 +26794,14 @@ rather than a thumb sitting on nothing. */
|
|
|
26506
26794
|
middle of the track, or `end` at `max`. Absent is `start`. A range fills
|
|
26507
26795
|
between its thumbs and ignores it. */
|
|
26508
26796
|
"prop:origin"?: (HelixHeadlessSlider["origin"]) | undefined;
|
|
26797
|
+
/** How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
26798
|
+
React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
26799
|
+
to the platform, which moves a tenth of the track. */
|
|
26800
|
+
"attr:page-step"?: (HelixHeadlessSlider["pageStep"] | `${number}`) | undefined;
|
|
26801
|
+
/** How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
26802
|
+
React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
26803
|
+
to the platform, which moves a tenth of the track. */
|
|
26804
|
+
"prop:pageStep"?: (HelixHeadlessSlider["pageStep"]) | undefined;
|
|
26509
26805
|
/** Adds a second thumb, so the value is a pair.
|
|
26510
26806
|
|
|
26511
26807
|
The pair is one string, `"10,50"`, which is what `value` and
|
|
@@ -29059,7 +29355,19 @@ known by its place among the rows as written. */
|
|
|
29059
29355
|
textContent?: (string | number) | undefined;
|
|
29060
29356
|
};
|
|
29061
29357
|
|
|
29358
|
+
/** `HelixHeadlessTabPanel` component event */
|
|
29359
|
+
export type HelixHeadlessTabPanelElementEvent<E = Event> = TypedEvent<
|
|
29360
|
+
HelixHeadlessTabPanel,
|
|
29361
|
+
E
|
|
29362
|
+
>;
|
|
29363
|
+
/** `helix-load` event type */
|
|
29364
|
+
export type HelixHeadlessTabPanelHelixLoadElementEvent =
|
|
29365
|
+
HelixHeadlessTabPanelElementEvent<HelixLoadEvent>;
|
|
29366
|
+
|
|
29062
29367
|
export type HelixHeadlessTabPanelProps = {
|
|
29368
|
+
/** Whether the panel's content waits in a `<template>` until the panel is
|
|
29369
|
+
first shown. */
|
|
29370
|
+
lazy?: (HelixHeadlessTabPanel["lazy"]) | undefined;
|
|
29063
29371
|
/** Whether this panel is the visible one. */
|
|
29064
29372
|
selected?: (HelixHeadlessTabPanel["selected"]) | undefined;
|
|
29065
29373
|
/** Pairs the panel with the tab of the same value. */
|
|
@@ -29075,9 +29383,15 @@ written in, and the tab's control is inside the tab's shadow root, which no
|
|
|
29075
29383
|
reference from the light DOM can reach. `aria-label` on a `tabpanel` is how
|
|
29076
29384
|
the pattern names one anyway. */
|
|
29077
29385
|
label?: (HelixHeadlessTabPanel["label"]) | undefined;
|
|
29386
|
+
|
|
29387
|
+
/** Fired the first time a `lazy` panel is shown, once its template's content is in. */
|
|
29388
|
+
"onhelix-load"?: ((e: HelixHeadlessTabPanelHelixLoadElementEvent) => void) | undefined;
|
|
29078
29389
|
};
|
|
29079
29390
|
|
|
29080
29391
|
export type HelixHeadlessTabPanelSolidJsProps = {
|
|
29392
|
+
/** Whether the panel's content waits in a `<template>` until the panel is
|
|
29393
|
+
first shown. */
|
|
29394
|
+
"prop:lazy"?: (HelixHeadlessTabPanel["lazy"]) | undefined;
|
|
29081
29395
|
/** Whether this panel is the visible one. */
|
|
29082
29396
|
"prop:selected"?: (HelixHeadlessTabPanel["selected"]) | undefined;
|
|
29083
29397
|
/** Pairs the panel with the tab of the same value. */
|
|
@@ -29093,6 +29407,8 @@ written in, and the tab's control is inside the tab's shadow root, which no
|
|
|
29093
29407
|
reference from the light DOM can reach. `aria-label` on a `tabpanel` is how
|
|
29094
29408
|
the pattern names one anyway. */
|
|
29095
29409
|
"prop:label"?: (HelixHeadlessTabPanel["label"]) | undefined;
|
|
29410
|
+
/** Fired the first time a `lazy` panel is shown, once its template's content is in. */
|
|
29411
|
+
"on:helix-load"?: ((e: HelixHeadlessTabPanelHelixLoadElementEvent) => void) | undefined;
|
|
29096
29412
|
|
|
29097
29413
|
/** Set the innerHTML of the element */
|
|
29098
29414
|
innerHTML?: (string) | undefined;
|
|
@@ -30070,6 +30386,9 @@ export type HelixHeadlessTimeInputHelixBeforeCloseElementEvent =
|
|
|
30070
30386
|
/** `helix-before-open` event type */
|
|
30071
30387
|
export type HelixHeadlessTimeInputHelixBeforeOpenElementEvent =
|
|
30072
30388
|
HelixHeadlessTimeInputElementEvent<HelixBeforeOpenEvent>;
|
|
30389
|
+
/** `helix-clear` event type */
|
|
30390
|
+
export type HelixHeadlessTimeInputHelixClearElementEvent =
|
|
30391
|
+
HelixHeadlessTimeInputElementEvent<HelixClearEvent>;
|
|
30073
30392
|
/** `toggle` event type */
|
|
30074
30393
|
export type HelixHeadlessTimeInputToggleElementEvent =
|
|
30075
30394
|
HelixHeadlessTimeInputElementEvent<ToggleEvent>;
|
|
@@ -30080,6 +30399,14 @@ export type HelixHeadlessTimeInputProps = {
|
|
|
30080
30399
|
Empty leaves the attribute off, which is the browser's default and is what
|
|
30081
30400
|
lets autofill work at all. */
|
|
30082
30401
|
autocomplete?: (HelixHeadlessTimeInput["autocomplete"]) | undefined;
|
|
30402
|
+
/** Whether the field shows a button that empties it, as Input's `clearable`
|
|
30403
|
+
does. Shown only while the field holds something to clear and is neither
|
|
30404
|
+
disabled nor read-only. */
|
|
30405
|
+
clearable?: (HelixHeadlessTimeInput["clearable"]) | undefined;
|
|
30406
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
30407
|
+
"clear-label"?: (HelixHeadlessTimeInput["clearLabel"]) | undefined;
|
|
30408
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
30409
|
+
clearLabel?: (HelixHeadlessTimeInput["clearLabel"]) | undefined;
|
|
30083
30410
|
/** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
30084
30411
|
|
|
30085
30412
|
Handed to the list, which offers them as unavailable, and checked against
|
|
@@ -30183,6 +30510,12 @@ never something this element would refuse to read back. */
|
|
|
30183
30510
|
"unavailable-message"?: (HelixHeadlessTimeInput["unavailableMessage"]) | undefined;
|
|
30184
30511
|
/** The message shown when `disable-times` bars a time. */
|
|
30185
30512
|
unavailableMessage?: (HelixHeadlessTimeInput["unavailableMessage"]) | undefined;
|
|
30513
|
+
/** The message for text that is no time, where `bad-input-message` is not
|
|
30514
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`. */
|
|
30515
|
+
"unreadable-message"?: (HelixHeadlessTimeInput["unreadableMessage"]) | undefined;
|
|
30516
|
+
/** The message for text that is no time, where `bad-input-message` is not
|
|
30517
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`. */
|
|
30518
|
+
unreadableMessage?: (HelixHeadlessTimeInput["unreadableMessage"]) | undefined;
|
|
30186
30519
|
/** Whether the panel shows one list of times or a column for each part of the
|
|
30187
30520
|
time.
|
|
30188
30521
|
|
|
@@ -30220,6 +30553,18 @@ are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
|
30220
30553
|
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
30221
30554
|
`time`. */
|
|
30222
30555
|
incompleteMessage?: (HelixHeadlessTimeInput["incompleteMessage"]) | undefined;
|
|
30556
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
30557
|
+
or time, after each segment's own name. */
|
|
30558
|
+
"range-end-label"?: (HelixHeadlessTimeInput["rangeEndLabel"]) | undefined;
|
|
30559
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
30560
|
+
or time, after each segment's own name. */
|
|
30561
|
+
rangeEndLabel?: (HelixHeadlessTimeInput["rangeEndLabel"]) | undefined;
|
|
30562
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
30563
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
30564
|
+
"range-start-label"?: (HelixHeadlessTimeInput["rangeStartLabel"]) | undefined;
|
|
30565
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
30566
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
30567
|
+
rangeStartLabel?: (HelixHeadlessTimeInput["rangeStartLabel"]) | undefined;
|
|
30223
30568
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
30224
30569
|
time, in place of a line of text.
|
|
30225
30570
|
|
|
@@ -30436,6 +30781,8 @@ a consumer handing over `new Date()` gets the time of day they expected. */
|
|
|
30436
30781
|
"onhelix-before-open"?: ((
|
|
30437
30782
|
e: HelixHeadlessTimeInputHelixBeforeOpenElementEvent,
|
|
30438
30783
|
) => void) | undefined;
|
|
30784
|
+
/** Fired after the clear button has emptied the field, after `input` and `change`. */
|
|
30785
|
+
"onhelix-clear"?: ((e: HelixHeadlessTimeInputHelixClearElementEvent) => void) | undefined;
|
|
30439
30786
|
/** Fired after the value changes. */
|
|
30440
30787
|
oninput?: ((e: HelixHeadlessTimeInputElementEvent) => void) | undefined;
|
|
30441
30788
|
/** Fired after the list opens or closes, with `newState` and `oldState`. */
|
|
@@ -30448,6 +30795,14 @@ export type HelixHeadlessTimeInputSolidJsProps = {
|
|
|
30448
30795
|
Empty leaves the attribute off, which is the browser's default and is what
|
|
30449
30796
|
lets autofill work at all. */
|
|
30450
30797
|
"prop:autocomplete"?: (HelixHeadlessTimeInput["autocomplete"]) | undefined;
|
|
30798
|
+
/** Whether the field shows a button that empties it, as Input's `clearable`
|
|
30799
|
+
does. Shown only while the field holds something to clear and is neither
|
|
30800
|
+
disabled nor read-only. */
|
|
30801
|
+
"prop:clearable"?: (HelixHeadlessTimeInput["clearable"]) | undefined;
|
|
30802
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
30803
|
+
"attr:clear-label"?: (HelixHeadlessTimeInput["clearLabel"]) | undefined;
|
|
30804
|
+
/** The accessible name of the clear button, which shows only an icon. */
|
|
30805
|
+
"prop:clearLabel"?: (HelixHeadlessTimeInput["clearLabel"]) | undefined;
|
|
30451
30806
|
/** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
30452
30807
|
|
|
30453
30808
|
Handed to the list, which offers them as unavailable, and checked against
|
|
@@ -30551,6 +30906,12 @@ never something this element would refuse to read back. */
|
|
|
30551
30906
|
"attr:unavailable-message"?: (HelixHeadlessTimeInput["unavailableMessage"]) | undefined;
|
|
30552
30907
|
/** The message shown when `disable-times` bars a time. */
|
|
30553
30908
|
"prop:unavailableMessage"?: (HelixHeadlessTimeInput["unavailableMessage"]) | undefined;
|
|
30909
|
+
/** The message for text that is no time, where `bad-input-message` is not
|
|
30910
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`. */
|
|
30911
|
+
"attr:unreadable-message"?: (HelixHeadlessTimeInput["unreadableMessage"]) | undefined;
|
|
30912
|
+
/** The message for text that is no time, where `bad-input-message` is not
|
|
30913
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`. */
|
|
30914
|
+
"prop:unreadableMessage"?: (HelixHeadlessTimeInput["unreadableMessage"]) | undefined;
|
|
30554
30915
|
/** Whether the panel shows one list of times or a column for each part of the
|
|
30555
30916
|
time.
|
|
30556
30917
|
|
|
@@ -30588,6 +30949,18 @@ are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
|
30588
30949
|
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
30589
30950
|
`time`. */
|
|
30590
30951
|
"prop:incompleteMessage"?: (HelixHeadlessTimeInput["incompleteMessage"]) | undefined;
|
|
30952
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
30953
|
+
or time, after each segment's own name. */
|
|
30954
|
+
"attr:range-end-label"?: (HelixHeadlessTimeInput["rangeEndLabel"]) | undefined;
|
|
30955
|
+
/** What a screen reader hears before the segments of a range's second date
|
|
30956
|
+
or time, after each segment's own name. */
|
|
30957
|
+
"prop:rangeEndLabel"?: (HelixHeadlessTimeInput["rangeEndLabel"]) | undefined;
|
|
30958
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
30959
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
30960
|
+
"attr:range-start-label"?: (HelixHeadlessTimeInput["rangeStartLabel"]) | undefined;
|
|
30961
|
+
/** What a screen reader hears before the segments of a range's first date
|
|
30962
|
+
or time, after each segment's own name: "month, Start, Stay". */
|
|
30963
|
+
"prop:rangeStartLabel"?: (HelixHeadlessTimeInput["rangeStartLabel"]) | undefined;
|
|
30591
30964
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
30592
30965
|
time, in place of a line of text.
|
|
30593
30966
|
|
|
@@ -30803,6 +31176,8 @@ a consumer handing over `new Date()` gets the time of day they expected. */
|
|
|
30803
31176
|
"on:helix-before-open"?: ((
|
|
30804
31177
|
e: HelixHeadlessTimeInputHelixBeforeOpenElementEvent,
|
|
30805
31178
|
) => void) | undefined;
|
|
31179
|
+
/** Fired after the clear button has emptied the field, after `input` and `change`. */
|
|
31180
|
+
"on:helix-clear"?: ((e: HelixHeadlessTimeInputHelixClearElementEvent) => void) | undefined;
|
|
30806
31181
|
/** Fired after the value changes. */
|
|
30807
31182
|
"on:input"?: ((e: HelixHeadlessTimeInputElementEvent) => void) | undefined;
|
|
30808
31183
|
/** Fired after the list opens or closes, with `newState` and `oldState`. */
|
|
@@ -31716,6 +32091,12 @@ consumer's server markup does not have. A sheet carries the resting
|
|
|
31716
32091
|
arrangement in its own `:host` rule and the selectors describe only the
|
|
31717
32092
|
departures, which is what `orientation` does. */
|
|
31718
32093
|
placement?: (HelixHeadlessToast["placement"]) | undefined;
|
|
32094
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
32095
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
32096
|
+
"swipe-direction"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
32097
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
32098
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
32099
|
+
swipeDirection?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31719
32100
|
|
|
31720
32101
|
/** 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. */
|
|
31721
32102
|
"onhelix-dismiss"?: ((e: HelixHeadlessToastHelixDismissElementEvent) => void) | undefined;
|
|
@@ -31763,6 +32144,12 @@ consumer's server markup does not have. A sheet carries the resting
|
|
|
31763
32144
|
arrangement in its own `:host` rule and the selectors describe only the
|
|
31764
32145
|
departures, which is what `orientation` does. */
|
|
31765
32146
|
"prop:placement"?: (HelixHeadlessToast["placement"]) | undefined;
|
|
32147
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
32148
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
32149
|
+
"attr:swipe-direction"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
32150
|
+
/** The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
32151
|
+
the end of the line, or `start`, `top` or `bottom`. Unset is `end`. */
|
|
32152
|
+
"prop:swipeDirection"?: (HelixHeadlessToast["swipeDirection"]) | undefined;
|
|
31766
32153
|
/** 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. */
|
|
31767
32154
|
"on:helix-dismiss"?: ((e: HelixHeadlessToastHelixDismissElementEvent) => void) | undefined;
|
|
31768
32155
|
|
|
@@ -31785,6 +32172,18 @@ export type HelixHeadlessToggleGroupHelixSelectElementEvent =
|
|
|
31785
32172
|
HelixHeadlessToggleGroupElementEvent<HelixSelectEvent>;
|
|
31786
32173
|
|
|
31787
32174
|
export type HelixHeadlessToggleGroupProps = {
|
|
32175
|
+
/** Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
32176
|
+
back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
32177
|
+
Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
32178
|
+
keeps its choice once it has one, as a radio group does. A multiple group
|
|
32179
|
+
releases a pressed item either way. */
|
|
32180
|
+
"allow-empty-selection"?: (HelixHeadlessToggleGroup["allowEmptySelection"]) | undefined;
|
|
32181
|
+
/** Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
32182
|
+
back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
32183
|
+
Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
32184
|
+
keeps its choice once it has one, as a radio group does. A multiple group
|
|
32185
|
+
releases a pressed item either way. */
|
|
32186
|
+
allowEmptySelection?: (HelixHeadlessToggleGroup["allowEmptySelection"]) | undefined;
|
|
31788
32187
|
/** Where the group's label sits. `start` puts it on the track's line.
|
|
31789
32188
|
|
|
31790
32189
|
Absent is above, which is what a field looks like and what almost every
|
|
@@ -31963,6 +32362,18 @@ Where one item is chosen, it is that one value, or none. */
|
|
|
31963
32362
|
};
|
|
31964
32363
|
|
|
31965
32364
|
export type HelixHeadlessToggleGroupSolidJsProps = {
|
|
32365
|
+
/** Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
32366
|
+
back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
32367
|
+
Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
32368
|
+
keeps its choice once it has one, as a radio group does. A multiple group
|
|
32369
|
+
releases a pressed item either way. */
|
|
32370
|
+
"bool:allow-empty-selection"?: (HelixHeadlessToggleGroup["allowEmptySelection"]) | undefined;
|
|
32371
|
+
/** Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
32372
|
+
back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
32373
|
+
Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
32374
|
+
keeps its choice once it has one, as a radio group does. A multiple group
|
|
32375
|
+
releases a pressed item either way. */
|
|
32376
|
+
"prop:allowEmptySelection"?: (HelixHeadlessToggleGroup["allowEmptySelection"]) | undefined;
|
|
31966
32377
|
/** Where the group's label sits. `start` puts it on the track's line.
|
|
31967
32378
|
|
|
31968
32379
|
Absent is above, which is what a field looks like and what almost every
|
|
@@ -32679,6 +33090,14 @@ The shape is `Carousel`'s, which is the nearest thing in the library: a
|
|
|
32679
33090
|
"next-label"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32680
33091
|
/** Label for the control that goes on. */
|
|
32681
33092
|
nextLabel?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
33093
|
+
/** What a press outside the current stop and its target does while the tour
|
|
33094
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
33095
|
+
Skip does, and `block` refuses the press. */
|
|
33096
|
+
"outside-press"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
33097
|
+
/** What a press outside the current stop and its target does while the tour
|
|
33098
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
33099
|
+
Skip does, and `block` refuses the press. */
|
|
33100
|
+
outsidePress?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32682
33101
|
/** Draws each stop's place in the run in its panel, as well as saying it. */
|
|
32683
33102
|
progress?: (HelixHeadlessTour["progress"]) | undefined;
|
|
32684
33103
|
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
@@ -32769,6 +33188,14 @@ The shape is `Carousel`'s, which is the nearest thing in the library: a
|
|
|
32769
33188
|
"attr:next-label"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
32770
33189
|
/** Label for the control that goes on. */
|
|
32771
33190
|
"prop:nextLabel"?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
33191
|
+
/** What a press outside the current stop and its target does while the tour
|
|
33192
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
33193
|
+
Skip does, and `block` refuses the press. */
|
|
33194
|
+
"attr:outside-press"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
33195
|
+
/** What a press outside the current stop and its target does while the tour
|
|
33196
|
+
runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
33197
|
+
Skip does, and `block` refuses the press. */
|
|
33198
|
+
"prop:outsidePress"?: (HelixHeadlessTour["outsidePress"]) | undefined;
|
|
32772
33199
|
/** Draws each stop's place in the run in its panel, as well as saying it. */
|
|
32773
33200
|
"prop:progress"?: (HelixHeadlessTour["progress"]) | undefined;
|
|
32774
33201
|
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
@@ -32887,6 +33314,9 @@ heading. */
|
|
|
32887
33314
|
Reflected, because the styled tier places a dialog and a floating panel by
|
|
32888
33315
|
it, and unset at rest, so no default is written onto the host. */
|
|
32889
33316
|
type?: (HelixHeadlessTourStop["type"]) | undefined;
|
|
33317
|
+
/** Run as the tour reaches the stop, before it is shown: see the description
|
|
33318
|
+
above. A function, so it is set from script and has no attribute. */
|
|
33319
|
+
effect?: (HelixHeadlessTourStop["effect"]) | undefined;
|
|
32890
33320
|
|
|
32891
33321
|
/** Fired when one of the stop's controls is pressed, to move the tour. */
|
|
32892
33322
|
"onhelix-tour-ask"?: ((
|
|
@@ -32939,6 +33369,9 @@ heading. */
|
|
|
32939
33369
|
Reflected, because the styled tier places a dialog and a floating panel by
|
|
32940
33370
|
it, and unset at rest, so no default is written onto the host. */
|
|
32941
33371
|
"prop:type"?: (HelixHeadlessTourStop["type"]) | undefined;
|
|
33372
|
+
/** Run as the tour reaches the stop, before it is shown: see the description
|
|
33373
|
+
above. A function, so it is set from script and has no attribute. */
|
|
33374
|
+
"prop:effect"?: (HelixHeadlessTourStop["effect"]) | undefined;
|
|
32942
33375
|
/** Fired when one of the stop's controls is pressed, to move the tour. */
|
|
32943
33376
|
"on:helix-tour-ask"?: ((
|
|
32944
33377
|
e: HelixHeadlessTourStopHelixTourAskElementEvent,
|
|
@@ -35558,12 +35991,21 @@ export type CustomElements = {
|
|
|
35558
35991
|
*
|
|
35559
35992
|
* **Set `fold-below` to fold the middle region on a narrow screen.** Below that
|
|
35560
35993
|
* many pixels of the bar's own width, the middle region is hidden behind a
|
|
35561
|
-
* toggle at the end of the bar, named by `menu-label
|
|
35562
|
-
*
|
|
35563
|
-
*
|
|
35564
|
-
*
|
|
35565
|
-
*
|
|
35566
|
-
*
|
|
35994
|
+
* toggle at the end of the bar, named by `menu-label`, or at its start with
|
|
35995
|
+
* `toggle-placement="start"`. The toggle says whether the region is open with
|
|
35996
|
+
* `aria-expanded`, and the region opens below the row. The region follows the
|
|
35997
|
+
* toggle's region in focus order, so Tab from the toggle at the end goes into
|
|
35998
|
+
* the open region. The custom state `folded` is on the host while the bar is
|
|
35999
|
+
* that narrow, and `open` while the folded region is open. A server serves the
|
|
36000
|
+
* bar unfolded, and the browser folds it once it has measured it.
|
|
36001
|
+
*
|
|
36002
|
+
* **`open` says whether the folded region is open, and setting it opens or
|
|
36003
|
+
* closes the region.** `requestOpen(true)` and `requestOpen(false)` do the same
|
|
36004
|
+
* and send `helix-before-open` or `helix-before-close` first, which you can
|
|
36005
|
+
* cancel, and `toggleOpen()` asks for the opposite. `toggle` follows every
|
|
36006
|
+
* change. The region closes on Escape, which puts focus back on the toggle,
|
|
36007
|
+
* when focus moves to something outside the header, and on a press outside
|
|
36008
|
+
* it. A bar that widens past `fold-below` closes its region.
|
|
35567
36009
|
*
|
|
35568
36010
|
* The host is the page's `banner` landmark. Placed inside `main`, `article`,
|
|
35569
36011
|
* `aside`, `nav` or `section`, it is a plain box instead, as a native
|
|
@@ -35598,6 +36040,24 @@ export type CustomElements = {
|
|
|
35598
36040
|
* - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
|
|
35599
36041
|
* - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
|
|
35600
36042
|
* scrolls a container instead of the window. Unset is the window.
|
|
36043
|
+
* - `toggle-placement`/`togglePlacement`: Where the toggle that opens a folded middle region sits: at the end of the
|
|
36044
|
+
* bar, after the trailing content, or with `start`, before the leading
|
|
36045
|
+
* content.
|
|
36046
|
+
*
|
|
36047
|
+
* Optional, so the resting bar writes no attribute onto the host.
|
|
36048
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
36049
|
+
* - `open`: Whether the element is open.
|
|
36050
|
+
*
|
|
36051
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
36052
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
36053
|
+
* same statement in markup.
|
|
36054
|
+
*
|
|
36055
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
36056
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
36057
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
36058
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
36059
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
36060
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
35601
36061
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
35602
36062
|
*
|
|
35603
36063
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -35623,7 +36083,10 @@ export type CustomElements = {
|
|
|
35623
36083
|
*
|
|
35624
36084
|
* Events that will be emitted by the component.
|
|
35625
36085
|
*
|
|
36086
|
+
* - `helix-before-close`: The folded region is about to close. Cancelable: cancel it to keep it open.
|
|
36087
|
+
* - `helix-before-open`: The folded region is about to open. Cancelable: cancel it to keep it closed.
|
|
35626
36088
|
* - `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.
|
|
36089
|
+
* - `toggle`: The folded region opened or closed. The event carries `newState` and `oldState`.
|
|
35627
36090
|
*
|
|
35628
36091
|
* ## Slots
|
|
35629
36092
|
*
|
|
@@ -35634,6 +36097,20 @@ export type CustomElements = {
|
|
|
35634
36097
|
* - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
|
|
35635
36098
|
* - `start`: Leading content, usually a wordmark.
|
|
35636
36099
|
*
|
|
36100
|
+
* ## Methods
|
|
36101
|
+
*
|
|
36102
|
+
* Methods that can be called to access component functionality.
|
|
36103
|
+
*
|
|
36104
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
36105
|
+
* was applied.
|
|
36106
|
+
*
|
|
36107
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
36108
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
36109
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
36110
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
36111
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
36112
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
36113
|
+
*
|
|
35637
36114
|
* ## CSS Parts
|
|
35638
36115
|
*
|
|
35639
36116
|
* Custom selectors for styling elements within the component.
|
|
@@ -37018,11 +37495,15 @@ export type CustomElements = {
|
|
|
37018
37495
|
* appearance and size.
|
|
37019
37496
|
*
|
|
37020
37497
|
* **Buttons that stay pressed.** With `selection-mode`, each button with a
|
|
37021
|
-
* `value` is a toggle button: a press presses or releases it
|
|
37022
|
-
*
|
|
37023
|
-
*
|
|
37024
|
-
*
|
|
37025
|
-
*
|
|
37498
|
+
* `value` is a toggle button: a press presses or releases it. `multiple` lets
|
|
37499
|
+
* any number be pressed, and each button says so with `aria-pressed`. `single`
|
|
37500
|
+
* keeps one pressed at a time: the group is a `radiogroup` and each button a
|
|
37501
|
+
* `radio` that says so with `aria-checked`, as React Aria's toggle button
|
|
37502
|
+
* group is. A press on the pressed one releases it, unless
|
|
37503
|
+
* `disallow-empty-selection` keeps one pressed. `value` is the pressed values,
|
|
37504
|
+
* comma separated. A press sends a cancelable `helix-before-change` with the
|
|
37505
|
+
* value it would leave, then `change`. A pressed Helix button has
|
|
37506
|
+
* `:state(pressed)` on its own element.
|
|
37026
37507
|
*
|
|
37027
37508
|
* The pressed state is written on the control inside each button's shadow
|
|
37028
37509
|
* root, so the markup you rendered is never changed and a framework hydrating
|
|
@@ -37050,15 +37531,18 @@ export type CustomElements = {
|
|
|
37050
37531
|
* | Space, Enter | Presses or releases the focused button. |
|
|
37051
37532
|
*
|
|
37052
37533
|
* Left and Right swap on a right-to-left page, and a disabled button is
|
|
37053
|
-
* passed over.
|
|
37534
|
+
* passed over. Under `multiple` the group is a `toolbar`, with
|
|
37054
37535
|
* `aria-orientation` under `orientation="vertical"`. Inside a toolbar it stays
|
|
37055
37536
|
* a named `group`, and the toolbar's own arrow keys walk its buttons, so a
|
|
37056
|
-
* reader meets one toolbar.
|
|
37537
|
+
* reader meets one toolbar. Under `single` it is a `radiogroup` either way.
|
|
37057
37538
|
*
|
|
37058
37539
|
* ## Attributes & Properties
|
|
37059
37540
|
*
|
|
37060
37541
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
37061
37542
|
*
|
|
37543
|
+
* - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
|
|
37544
|
+
* `disallowEmptySelection`: a press that would leave none pressed is
|
|
37545
|
+
* refused.
|
|
37062
37546
|
* - `label`: The group's name, read by screen readers.
|
|
37063
37547
|
*
|
|
37064
37548
|
* On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -37426,6 +37910,7 @@ export type CustomElements = {
|
|
|
37426
37910
|
* These can be used to apply styling when a component is in a given state.
|
|
37427
37911
|
*
|
|
37428
37912
|
* - `pending`: The button is pending: `pending` is set.
|
|
37913
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
37429
37914
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
37430
37915
|
*/
|
|
37431
37916
|
"helix-headless-button": Partial<
|
|
@@ -41607,6 +42092,7 @@ export type CustomElements = {
|
|
|
41607
42092
|
* - `copied`: The moment after a successful copy, while `copied-label` names the button.
|
|
41608
42093
|
* - `failed`: The moment after a press that put nothing on the clipboard, while `error-label` names the button.
|
|
41609
42094
|
* - `pending`: The button is pending: `pending` is set.
|
|
42095
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
41610
42096
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
41611
42097
|
*/
|
|
41612
42098
|
"helix-headless-copy-button": Partial<
|
|
@@ -42109,17 +42595,24 @@ export type CustomElements = {
|
|
|
42109
42595
|
* gives a picker and locale formatting but allows almost no styling, so the
|
|
42110
42596
|
* field is a text field. Typing sends `input` on each keystroke and `change`
|
|
42111
42597
|
* when you leave the field, as a text field does. A date picked from the
|
|
42112
|
-
* calendar sends both.
|
|
42598
|
+
* calendar sends both. The field reads ISO, `2026-08-04`, and a date written
|
|
42599
|
+
* in the order, the digits, and the month names of `locale`, `8/4/2026` or
|
|
42600
|
+
* `Aug 4, 2026` in `en-US` and `4.8.2026` in `de-DE`, which becomes the value
|
|
42601
|
+
* as you leave the field.
|
|
42113
42602
|
*
|
|
42114
42603
|
* The trigger and ArrowDown open the calendar with focus on the selected day,
|
|
42115
42604
|
* Tab moves between the calendar's controls without leaving it, and Escape
|
|
42116
42605
|
* closes it and returns focus to the field. A press into the field opens the
|
|
42117
42606
|
* calendar too. Tab into the field opens nothing, and Tab out of the field
|
|
42118
|
-
* closes the calendar.
|
|
42607
|
+
* closes the calendar. The text field is a `combobox` with
|
|
42608
|
+
* `aria-haspopup="dialog"`, `aria-expanded`, and `aria-controls`, as in the
|
|
42609
|
+
* APG date picker combobox, since Down opens the calendar from it.
|
|
42119
42610
|
*
|
|
42120
42611
|
* With `segmented`, the field is a row of segments in place of the text: a
|
|
42121
42612
|
* month, a day and a year in the order the locale writes them, each set with
|
|
42122
|
-
* digits or the arrow keys. Alt+Down opens the calendar from a segment.
|
|
42613
|
+
* digits or the arrow keys. Alt+Down opens the calendar from a segment. A
|
|
42614
|
+
* `range` is two rows with a dash between them, the start and the end, as
|
|
42615
|
+
* React Aria's DateRangePicker draws them, and `multiple` keeps the text.
|
|
42123
42616
|
*
|
|
42124
42617
|
* Text that is not a date gives the form an empty value, as a native date
|
|
42125
42618
|
* field does, and `value` keeps the text so it can be corrected.
|
|
@@ -42149,27 +42642,39 @@ export type CustomElements = {
|
|
|
42149
42642
|
*
|
|
42150
42643
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
42151
42644
|
*
|
|
42152
|
-
* - `autocomplete`: What the browser may autofill here, as one of the platform's own tokens
|
|
42645
|
+
* - `autocomplete`: What the browser may autofill here, as one of the platform's own tokens,
|
|
42646
|
+
* such as `bday`.
|
|
42153
42647
|
*
|
|
42154
42648
|
* Empty leaves the attribute off, which is the browser's default and is what
|
|
42155
42649
|
* lets autofill work at all: hardcoding `off` here means a birthday or a
|
|
42156
|
-
* postal code can never be filled in for a reader.
|
|
42157
|
-
*
|
|
42158
|
-
*
|
|
42159
|
-
*
|
|
42160
|
-
*
|
|
42161
|
-
*
|
|
42162
|
-
*
|
|
42163
|
-
*
|
|
42164
|
-
*
|
|
42650
|
+
* postal code can never be filled in for a reader. With `segmented`, a
|
|
42651
|
+
* hidden native date input carries it, since no browser fills the segments.
|
|
42652
|
+
* - `calendar`: The calendar the written date, the segments, and the calendar's days are
|
|
42653
|
+
* in: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar
|
|
42654
|
+
* with months of its own that Date Picker's `calendar` names, such as
|
|
42655
|
+
* `persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.
|
|
42656
|
+
*
|
|
42657
|
+
* Absent is the locale's own where its months are the Gregorian months, and
|
|
42658
|
+
* `gregory` for every other, as Date Picker's `calendar` is. The value is
|
|
42659
|
+
* `YYYY-MM-DD` in every calendar, and a focused text field is ISO in every
|
|
42660
|
+
* calendar. In `segmented`, the segments are the day, month, and year as
|
|
42661
|
+
* the calendar counts them, in the order the locale writes them: Mehr 14,
|
|
42662
|
+
* 1405 is month 7 and day 14 of 1405 under `persian`. Under the five with
|
|
42663
|
+
* Gregorian months they are the Gregorian day, month, and year, or ISO order
|
|
42664
|
+
* for `iso8601`.
|
|
42165
42665
|
* - `calendar-label`/`calendarLabel`: The name of the calendar's grid of days, read by screen readers.
|
|
42666
|
+
* - `clearable`: Whether the field shows a button that empties it, as Input's `clearable`
|
|
42667
|
+
* does. Shown only while the field holds something to clear and is neither
|
|
42668
|
+
* disabled nor read-only.
|
|
42669
|
+
* - `clear-label`/`clearLabel`: The accessible name of the clear button, which shows only an icon.
|
|
42166
42670
|
* - `date-style`/`dateStyle`: How a date is written in the field: `short` through `full`, or ISO.
|
|
42167
42671
|
*
|
|
42168
42672
|
* **The field renders when it is idle and holds the value when it is being
|
|
42169
42673
|
* edited.** A written date is a rendering, and a document being edited must
|
|
42170
42674
|
* not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
42171
|
-
* not parse, so
|
|
42172
|
-
*
|
|
42675
|
+
* not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
42676
|
+
* edit. The field does read a date typed in the locale's order and digits as
|
|
42677
|
+
* you leave it, which covers what a reader types.
|
|
42173
42678
|
*
|
|
42174
42679
|
* The way out is not to choose between the two but to separate them in time.
|
|
42175
42680
|
* Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -42237,6 +42742,9 @@ export type CustomElements = {
|
|
|
42237
42742
|
*
|
|
42238
42743
|
* **The name goes in**, so a row of them is heard as which one each
|
|
42239
42744
|
* removes rather than as "Remove" said once per date.
|
|
42745
|
+
* - `selection-label`/`selectionLabel`: What a screen reader hears about the dates chosen in the calendar, with
|
|
42746
|
+
* `{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
42747
|
+
* `selection-label` says.
|
|
42240
42748
|
* - `step`: How far apart the selectable dates are, in days.
|
|
42241
42749
|
*
|
|
42242
42750
|
* `<input type="date" step>`'s own unit, handed to the calendar this renders
|
|
@@ -42244,8 +42752,13 @@ export type CustomElements = {
|
|
|
42244
42752
|
* where there is one and from 1 January 1970 where there is not, which is the
|
|
42245
42753
|
* platform's base.
|
|
42246
42754
|
* - `step-mismatch-message`/`stepMismatchMessage`: The message shown when a date is not on `step`.
|
|
42755
|
+
* - `time-zone`/`timeZone`: The time zone today is read in, such as `America/New_York`, handed to the
|
|
42756
|
+
* calendar: the day marked today, and the month an empty field opens on.
|
|
42757
|
+
* Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone.
|
|
42247
42758
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
|
|
42248
42759
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
|
|
42760
|
+
* - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
|
|
42761
|
+
* set. `{mode}` is `single`, `range`, or `multiple`.
|
|
42249
42762
|
* - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
|
|
42250
42763
|
* `{heading}` filled in.
|
|
42251
42764
|
* - `empty-message`/`emptyMessage`: What a row of segments reports when the field is required and every
|
|
@@ -42256,6 +42769,10 @@ export type CustomElements = {
|
|
|
42256
42769
|
* - `incomplete-message`/`incompleteMessage`: What a row of segments reports while some segments are set and others
|
|
42257
42770
|
* are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
42258
42771
|
* `time`.
|
|
42772
|
+
* - `range-end-label`/`rangeEndLabel`: What a screen reader hears before the segments of a range's second date
|
|
42773
|
+
* or time, after each segment's own name.
|
|
42774
|
+
* - `range-start-label`/`rangeStartLabel`: What a screen reader hears before the segments of a range's first date
|
|
42775
|
+
* or time, after each segment's own name: "month, Start, Stay".
|
|
42259
42776
|
* - `segmented`: Whether the field is a row of segments, one for each part of the date or
|
|
42260
42777
|
* time, in place of a line of text.
|
|
42261
42778
|
*
|
|
@@ -42416,6 +42933,7 @@ export type CustomElements = {
|
|
|
42416
42933
|
* - `helix-before-change`: Fired before the date changes. Cancelable: call `preventDefault()` to keep the current date.
|
|
42417
42934
|
* - `helix-before-close`: Fired before the calendar closes. Cancelable: call `preventDefault()` to keep it open.
|
|
42418
42935
|
* - `helix-before-open`: Fired before the calendar opens. Cancelable: call `preventDefault()` to keep it closed.
|
|
42936
|
+
* - `helix-clear`: Fired after the clear button has emptied the field, after `input` and `change`.
|
|
42419
42937
|
* - `input`: Fired after the value changes.
|
|
42420
42938
|
* - `toggle`: Fired when the calendar opens or closes, with `newState` and `oldState`.
|
|
42421
42939
|
*
|
|
@@ -42423,6 +42941,7 @@ export type CustomElements = {
|
|
|
42423
42941
|
*
|
|
42424
42942
|
* Areas where markup can be added to the component.
|
|
42425
42943
|
*
|
|
42944
|
+
* - `clear-icon`: Replaces the cross on the clear button, under `clearable`.
|
|
42426
42945
|
* - `end`: Content after the date, before the trigger, such as a clear button.
|
|
42427
42946
|
* - `feedback`: The error message under the field.
|
|
42428
42947
|
* - `hint`: The help text under the field.
|
|
@@ -42498,6 +43017,7 @@ export type CustomElements = {
|
|
|
42498
43017
|
*
|
|
42499
43018
|
* Custom selectors for styling elements within the component.
|
|
42500
43019
|
*
|
|
43020
|
+
* - `clear`: The button that empties the field, under `clearable`, while it holds a date.
|
|
42501
43021
|
* - `control`: The text input.
|
|
42502
43022
|
* - `date`: One held date, as a tag, in `multiple`.
|
|
42503
43023
|
* - `date-cell`: The tag's grid cell, which a tag draws only inside a tag group.
|
|
@@ -42539,8 +43059,10 @@ export type CustomElements = {
|
|
|
42539
43059
|
* - `picker-periods`: The grid of months or years.
|
|
42540
43060
|
* - `picker-previous`: The control that moves to the previous month.
|
|
42541
43061
|
* - `picker-previous-mark`: The icon on the previous month control.
|
|
43062
|
+
* - `picker-selection`: The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.
|
|
42542
43063
|
* - `picker-week`: One row of days.
|
|
42543
43064
|
* - `picker-weekday`: A column header naming a day of the week.
|
|
43065
|
+
* - `range-separator`: The dash between a range's two rows of segments, in `segmented`, beside `literal`.
|
|
42544
43066
|
* - `rest`: The count of dates beyond the ones shown. It is a `<button>` with `expandable` and a `<span>` without it.
|
|
42545
43067
|
* - `segment`: One part of the date, a year, a month or a day, in `segmented`.
|
|
42546
43068
|
* - `segment-placeholder`: A segment with nothing in it yet. Applied with `segment`.
|
|
@@ -42554,6 +43076,7 @@ export type CustomElements = {
|
|
|
42554
43076
|
*
|
|
42555
43077
|
* These can be used to apply styling when a component is in a given state.
|
|
42556
43078
|
*
|
|
43079
|
+
* - `blank`: The field holds no date.
|
|
42557
43080
|
* - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
|
|
42558
43081
|
* - `open`: The calendar is open.
|
|
42559
43082
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -42573,9 +43096,11 @@ export type CustomElements = {
|
|
|
42573
43096
|
* **Dates are `YYYY-MM-DD` strings, and every calculation is in UTC**, because
|
|
42574
43097
|
* a local-time `Date` shifts across a time zone or daylight-saving boundary.
|
|
42575
43098
|
*
|
|
42576
|
-
* **The
|
|
42577
|
-
* locale's own where its months are the Gregorian months, as `th-TH`
|
|
42578
|
-
* 2569 for 2026, and `gregory` where they are not, as for `fa-IR
|
|
43099
|
+
* **The months are the ones `calendar` counts**: the Gregorian months for the
|
|
43100
|
+
* locale's own calendar where its months are the Gregorian months, as `th-TH`
|
|
43101
|
+
* writes 2569 for 2026, and `gregory` where they are not, as for `fa-IR`
|
|
43102
|
+
* with no `calendar`. Name a calendar with months of its own, such as
|
|
43103
|
+
* `persian`, and every view counts its days, months, and years from `Intl`.
|
|
42579
43104
|
*
|
|
42580
43105
|
* `month` sets which month the grid shows, separately from `value`, so paging
|
|
42581
43106
|
* selects nothing and you can control the view. When unset, it follows the
|
|
@@ -42583,7 +43108,14 @@ export type CustomElements = {
|
|
|
42583
43108
|
*
|
|
42584
43109
|
* `mode` sets how many dates are held. Unset holds one, `range` holds two and
|
|
42585
43110
|
* marks the dates between them, and `multiple` toggles each date. All three
|
|
42586
|
-
* read and write the same comma-separated `value`.
|
|
43111
|
+
* read and write the same comma-separated `value`. With a `mode`, the grid
|
|
43112
|
+
* carries `aria-multiselectable`. While a range holds one end, the grid draws
|
|
43113
|
+
* the range to the day under the pointer or the focus, marking those cells
|
|
43114
|
+
* `data-range-preview`.
|
|
43115
|
+
*
|
|
43116
|
+
* The chosen date, range, or count of dates is the grid's description, in a
|
|
43117
|
+
* region screen readers announce when it changes, as React Aria's calendars
|
|
43118
|
+
* do. `selection-label` words it.
|
|
42587
43119
|
*
|
|
42588
43120
|
* `max-view` makes the heading a button that steps back to the months of the
|
|
42589
43121
|
* year, and with `year` to a page of years, as Zag's date picker does. The
|
|
@@ -42618,14 +43150,16 @@ export type CustomElements = {
|
|
|
42618
43150
|
* `ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`
|
|
42619
43151
|
* for `fa-IR`.
|
|
42620
43152
|
*
|
|
42621
|
-
* `persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`,
|
|
42622
|
-
* `
|
|
42623
|
-
*
|
|
42624
|
-
*
|
|
42625
|
-
*
|
|
43153
|
+
* `persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,
|
|
43154
|
+
* `islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,
|
|
43155
|
+
* `indian`, `chinese`, and `dangi` draw a calendar with months of its own,
|
|
43156
|
+
* as React Aria's calendars do: each grid is one of that calendar's months,
|
|
43157
|
+
* the Hebrew and Chinese leap months and Ethiopia's five-day thirteenth
|
|
43158
|
+
* month included, and Previous, Next and the page keys move by those
|
|
43159
|
+
* months. With `max-view`, the months view shows that calendar's year, of
|
|
43160
|
+
* twelve or thirteen months, and the years view its years. `month` and
|
|
42626
43161
|
* `helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The
|
|
42627
|
-
*
|
|
42628
|
-
* months only. The value is `YYYY-MM-DD` in every calendar.
|
|
43162
|
+
* value is `YYYY-MM-DD` in every calendar.
|
|
42629
43163
|
* - `default-month`/`defaultMonth`: The month to open on when `month` is not set.
|
|
42630
43164
|
* - `disable-dates`/`disableDates`: Dates that cannot be chosen, as `YYYY-MM-DD`, separated by commas or
|
|
42631
43165
|
* spaces.
|
|
@@ -42688,6 +43222,11 @@ export type CustomElements = {
|
|
|
42688
43222
|
* value and stays reachable, which is what a form showing a value somebody
|
|
42689
43223
|
* else set needs.
|
|
42690
43224
|
* - `required`: Stops the form from submitting while no date is chosen.
|
|
43225
|
+
* - `selection-label`/`selectionLabel`: What a screen reader hears about the chosen dates: the grid's
|
|
43226
|
+
* description, said again whenever the dates change. `{kind}` is `date`,
|
|
43227
|
+
* `start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
43228
|
+
* `{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
43229
|
+
* many dates are chosen.
|
|
42691
43230
|
* - `step`: How far apart the selectable dates are, in days.
|
|
42692
43231
|
*
|
|
42693
43232
|
* `<input type="date" step>`'s own unit, counted from `min` where there is
|
|
@@ -42842,6 +43381,13 @@ export type CustomElements = {
|
|
|
42842
43381
|
* Date Input calls this when its trigger opens the calendar, which is where
|
|
42843
43382
|
* the APG date picker dialog puts focus. The host is not focusable, so a
|
|
42844
43383
|
* plain `focus()` on it did nothing and focus stayed on the trigger.
|
|
43384
|
+
* - `showChosen() => void`: Shows the days again, on the month of the chosen date, with the tab stop
|
|
43385
|
+
* on that date, forgetting the month and the day the reader browsed to.
|
|
43386
|
+
*
|
|
43387
|
+
* Date Input calls it each time its panel opens, which is where the APG
|
|
43388
|
+
* date picker dialog puts focus. Measured before this: from August 4, two
|
|
43389
|
+
* presses of Page Down, Escape, and Down again opened on October 4.
|
|
43390
|
+
* A `month` you set stays until the reader pages away from it.
|
|
42845
43391
|
* - `requestValue(next: string) => boolean`: Refuses every change while read-only. See `readOnly`.
|
|
42846
43392
|
* - `formResetCallback() => void`: Returns the control to its `defaultValue`, or to its `value` attribute
|
|
42847
43393
|
* where there is no `default-value`.
|
|
@@ -42905,7 +43451,7 @@ export type CustomElements = {
|
|
|
42905
43451
|
* Custom selectors for styling elements within the component.
|
|
42906
43452
|
*
|
|
42907
43453
|
* - `cell`: One column of a week row. A range is painted on the cells.
|
|
42908
|
-
* - `cell-range-end`: The cell of a range's last day, beside `cell
|
|
43454
|
+
* - `cell-range-end`: The cell of a range's last day, beside `cell`, or of the day a waiting range is drawn to.
|
|
42909
43455
|
* - `cell-range-middle`: A cell between a range's ends, beside `cell`.
|
|
42910
43456
|
* - `cell-range-start`: The cell of a range's first day, beside `cell`.
|
|
42911
43457
|
* - `day`: The shape inside a cell. A single chosen date is painted on it.
|
|
@@ -42931,6 +43477,7 @@ export type CustomElements = {
|
|
|
42931
43477
|
* - `periods`: The grid of months or years.
|
|
42932
43478
|
* - `previous`: The control that moves to the previous month.
|
|
42933
43479
|
* - `previous-mark`: The glyph on the previous month control, where none is slotted.
|
|
43480
|
+
* - `selection`: The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.
|
|
42934
43481
|
* - `week`: One row of days.
|
|
42935
43482
|
* - `weekday`: A column header naming a day of the week. It shows the short name and says the full one.
|
|
42936
43483
|
*
|
|
@@ -42938,7 +43485,11 @@ export type CustomElements = {
|
|
|
42938
43485
|
*
|
|
42939
43486
|
* These can be used to apply styling when a component is in a given state.
|
|
42940
43487
|
*
|
|
42941
|
-
* - `
|
|
43488
|
+
* - `blank`: While no date is chosen.
|
|
43489
|
+
* - `invalid`: While `invalid` is set, `feedback` says what is wrong, the picker holds a date outside `min` and `max` or one it bars, or it is `required`, holds no date, and the reader has answered once or a form has refused it.
|
|
43490
|
+
* - `month-view`: While the months of a year are shown, where `max-view` is set.
|
|
43491
|
+
* - `range-pending`: While a `range` holds its first end and waits for the second.
|
|
43492
|
+
* - `year-view`: While a page of years is shown, where `max-view` is `year`.
|
|
42942
43493
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
42943
43494
|
*/
|
|
42944
43495
|
"helix-headless-date-picker": Partial<
|
|
@@ -45552,20 +46103,22 @@ export type CustomElements = {
|
|
|
45552
46103
|
*
|
|
45553
46104
|
* **A date is written in a calendar Date Picker draws**: the locale's own
|
|
45554
46105
|
* where its months are the Gregorian months, as `th-TH` writes 2569 for 2026,
|
|
45555
|
-
* and `gregory` where they are not, as for `fa-IR`. `calendar` picks
|
|
45556
|
-
*
|
|
46106
|
+
* and `gregory` where they are not, as for `fa-IR`. `calendar` picks any of
|
|
46107
|
+
* them, `persian` and `hebrew` included.
|
|
45557
46108
|
*
|
|
45558
46109
|
* ## Attributes & Properties
|
|
45559
46110
|
*
|
|
45560
46111
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
45561
46112
|
*
|
|
45562
46113
|
* - `calendar`: The calendar a date is written in: `gregory`, `buddhist`, `japanese`,
|
|
45563
|
-
* `roc`, or `iso8601`,
|
|
45564
|
-
*
|
|
45565
|
-
*
|
|
45566
|
-
*
|
|
45567
|
-
*
|
|
45568
|
-
*
|
|
46114
|
+
* `roc`, or `iso8601`, or a calendar with months of its own, such as
|
|
46115
|
+
* `persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every
|
|
46116
|
+
* calendar Date Picker and Date Input draw.
|
|
46117
|
+
*
|
|
46118
|
+
* Absent is the locale's own where its months are the Gregorian months,
|
|
46119
|
+
* such as `buddhist` for `th-TH`, and `gregory` for every other, such as
|
|
46120
|
+
* `persian` for `fa-IR`, so a date written here reads as the same date a
|
|
46121
|
+
* Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
|
|
45569
46122
|
* - `date`: The timestamp, in any format `Date` can parse.
|
|
45570
46123
|
*
|
|
45571
46124
|
* An ISO string is what an API sends and what `<time datetime>` takes, so it
|
|
@@ -45584,6 +46137,9 @@ export type CustomElements = {
|
|
|
45584
46137
|
* - `date-style`/`dateStyle`: The locale's own pattern for the date: `full`, `long`, `medium`, or
|
|
45585
46138
|
* `short`. Set, it stands in for `weekday`, `day`, `month`, `year` and `era`.
|
|
45586
46139
|
* - `day`: How the day of the month is written, where a date is shown.
|
|
46140
|
+
* - `day-period`/`dayPeriod`: Writes the part of the day in words, such as "in the morning" or "at
|
|
46141
|
+
* night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
46142
|
+
* twelve-hour clock.
|
|
45587
46143
|
* - `elapsed`: Shows how long ago the timestamp was, in a compact form such as "3h", in
|
|
45588
46144
|
* place of the date.
|
|
45589
46145
|
*
|
|
@@ -45598,6 +46154,8 @@ export type CustomElements = {
|
|
|
45598
46154
|
* Off by default, which draws the date as one run of text, as Shoelace and
|
|
45599
46155
|
* Web Awesome do. An `elapsed` or `relative` reading is one phrase either
|
|
45600
46156
|
* way.
|
|
46157
|
+
* - `fractional-second-digits`/`fractionalSecondDigits`: How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
46158
|
+
* or 3, as in 09:41:07.250.
|
|
45601
46159
|
* - `frozen`: Draws an `elapsed` or `relative` reading once and leaves it, where it
|
|
45602
46160
|
* would otherwise move on as it goes stale.
|
|
45603
46161
|
*
|
|
@@ -45635,7 +46193,9 @@ export type CustomElements = {
|
|
|
45635
46193
|
* - `time-zone`/`timeZone`: The time zone to read the timestamp in.
|
|
45636
46194
|
*
|
|
45637
46195
|
* Empty is the runtime's own.
|
|
45638
|
-
* - `time-zone-name`/`timeZoneName`: Shows the name of the time zone
|
|
46196
|
+
* - `time-zone-name`/`timeZoneName`: Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
46197
|
+
* Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
46198
|
+
* `longGeneric` or `shortGeneric`, as Pacific Time or PT.
|
|
45639
46199
|
* - `weekday`: How the weekday is written, where one is shown.
|
|
45640
46200
|
* - `year`: How the year is written, where a date is shown.
|
|
45641
46201
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
@@ -45666,6 +46226,7 @@ export type CustomElements = {
|
|
|
45666
46226
|
* - `day`: The day of the month, with `fields`.
|
|
45667
46227
|
* - `day-period`: AM or PM, or the locale's word for the part of the day, with `fields`.
|
|
45668
46228
|
* - `era`: The era, such as AD, with `fields` and `era`.
|
|
46229
|
+
* - `fractional-second`: The fraction of a second, with `fields` and `fractional-second-digits`.
|
|
45669
46230
|
* - `hour`: The hour, with `fields`.
|
|
45670
46231
|
* - `minute`: The minute, with `fields`.
|
|
45671
46232
|
* - `month`: The month, with `fields`.
|
|
@@ -46632,6 +47193,7 @@ export type CustomElements = {
|
|
|
46632
47193
|
* These can be used to apply styling when a component is in a given state.
|
|
46633
47194
|
*
|
|
46634
47195
|
* - `pending`: The button is pending: `pending` is set.
|
|
47196
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
46635
47197
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
46636
47198
|
*/
|
|
46637
47199
|
"helix-headless-icon-button": Partial<
|
|
@@ -47518,7 +48080,8 @@ export type CustomElements = {
|
|
|
47518
48080
|
* Each item is a `group` with the role description `slide`, named by its
|
|
47519
48081
|
* `label` or, without one, by its place in the set, such as "2 of 5", as the
|
|
47520
48082
|
* APG carousel pattern names a slide. The lightbox supplies both words, so they
|
|
47521
|
-
* are translated on the lightbox.
|
|
48083
|
+
* are translated on the lightbox. A `description`, while there is one,
|
|
48084
|
+
* describes the group, so a screen reader says it with the name.
|
|
47522
48085
|
*
|
|
47523
48086
|
* An item that is not current is hidden and stays in the DOM, as a `TabPanel`
|
|
47524
48087
|
* does. Crawlers can read it, it is in the server-rendered markup, and an
|
|
@@ -47602,9 +48165,10 @@ export type CustomElements = {
|
|
|
47602
48165
|
* buttons that send `--previous`, `--next` and `--close`.
|
|
47603
48166
|
*
|
|
47604
48167
|
* **Set `max-zoom` to let a reader zoom into the shown item**, such as `3`.
|
|
47605
|
-
* Two fingers pinch it,
|
|
47606
|
-
* about the point
|
|
47607
|
-
*
|
|
48168
|
+
* Two fingers pinch it, and so does a trackpad pinch or the wheel with Ctrl
|
|
48169
|
+
* held, about the point under the pointer. A double click or a double tap
|
|
48170
|
+
* zooms all the way in about the point pressed and back out, and once zoomed
|
|
48171
|
+
* one pointer drags it about and the wheel moves it. `+` and `-` zoom in and out from the keyboard, and `0` puts it back.
|
|
47608
48172
|
* The scale and the offset are on the `viewport` part as `--lightbox-zoom`,
|
|
47609
48173
|
* `--lightbox-pan-x` and `--lightbox-pan-y`, written only while zoomed, and a
|
|
47610
48174
|
* swipe moves to the next item only while the item is at its own size. With
|
|
@@ -47825,6 +48389,8 @@ export type CustomElements = {
|
|
|
47825
48389
|
*
|
|
47826
48390
|
* These can be used to apply styling when a component is in a given state.
|
|
47827
48391
|
*
|
|
48392
|
+
* - `entering`: From the moment the viewer opens until its entrance has finished.
|
|
48393
|
+
* - `exiting`: From the moment the viewer closes until its exit has finished.
|
|
47828
48394
|
* - `fullscreen`: While the viewer fills the screen.
|
|
47829
48395
|
* - `idle`: The user has been still long enough for the controls to hide.
|
|
47830
48396
|
* - `open`: While the viewer is open.
|
|
@@ -51418,6 +51984,7 @@ export type CustomElements = {
|
|
|
51418
51984
|
* - `time-day`: Format Date's `day`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51419
51985
|
* - `time-day-period`: Format Date's `day-period`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51420
51986
|
* - `time-era`: Format Date's `era`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51987
|
+
* - `time-fractional-second`: Format Date's `fractional-second`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51421
51988
|
* - `time-hour`: Format Date's `hour`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51422
51989
|
* - `time-minute`: Format Date's `minute`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
51423
51990
|
* - `time-month`: Format Date's `month`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
@@ -55795,6 +56362,10 @@ export type CustomElements = {
|
|
|
55795
56362
|
* `min-steps-between-thumbs` keeps them that many steps apart, and the readout
|
|
55796
56363
|
* joins the two as `range-text` writes them.
|
|
55797
56364
|
*
|
|
56365
|
+
* A press on a range's track takes the nearest thumb to the point pressed,
|
|
56366
|
+
* and moving the pointer drags it, as React Aria's and Web Awesome's sliders
|
|
56367
|
+
* do. The thumb takes focus, and `change` is sent as the press ends.
|
|
56368
|
+
*
|
|
55798
56369
|
* `origin` sets where a single thumb's fill starts: at `min`, at the middle of
|
|
55799
56370
|
* the track, or at `max`. A balance or an offset from zero fills from the
|
|
55800
56371
|
* middle, as Zag's slider `origin` does. The fill's ends are published as
|
|
@@ -55819,7 +56390,7 @@ export type CustomElements = {
|
|
|
55819
56390
|
* |---|---|
|
|
55820
56391
|
* | Right, Up | Moves the thumb up by `step`. |
|
|
55821
56392
|
* | Left, Down | Moves the thumb down by `step`. |
|
|
55822
|
-
* | Page Up, Page Down | Moves the thumb by
|
|
56393
|
+
* | Page Up, Page Down | Moves the thumb by `page-step`, or by the platform's larger step where it is not set. |
|
|
55823
56394
|
* | Home, End | Moves the thumb to its lowest or highest value. |
|
|
55824
56395
|
*
|
|
55825
56396
|
* Under `readonly` none of these move the thumb, and Tab still reaches it.
|
|
@@ -55880,6 +56451,9 @@ export type CustomElements = {
|
|
|
55880
56451
|
* - `origin`: Where a single thumb's fill starts: `start` at `min`, `center` at the
|
|
55881
56452
|
* middle of the track, or `end` at `max`. Absent is `start`. A range fills
|
|
55882
56453
|
* between its thumbs and ignores it.
|
|
56454
|
+
* - `page-step`/`pageStep`: How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
56455
|
+
* React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
56456
|
+
* to the platform, which moves a tenth of the track.
|
|
55883
56457
|
* - `range`: Adds a second thumb, so the value is a pair.
|
|
55884
56458
|
*
|
|
55885
56459
|
* The pair is one string, `"10,50"`, which is what `value` and
|
|
@@ -56112,6 +56686,8 @@ export type CustomElements = {
|
|
|
56112
56686
|
*
|
|
56113
56687
|
* These can be used to apply styling when a component is in a given state.
|
|
56114
56688
|
*
|
|
56689
|
+
* - `dragging`: A thumb is being dragged, by its thumb or from a press on the track.
|
|
56690
|
+
* - `focus-visible`: A thumb has focus that the keyboard brought, where the browser draws a focus ring.
|
|
56115
56691
|
* - `invalid`: The slider has an error to show, from the browser's validation or from your `feedback`.
|
|
56116
56692
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
56117
56693
|
*/
|
|
@@ -57275,6 +57851,10 @@ export type CustomElements = {
|
|
|
57275
57851
|
* region. The current stage's button carries `aria-current="step"`, and only
|
|
57276
57852
|
* the button, so the state is said once, on the control.
|
|
57277
57853
|
*
|
|
57854
|
+
* A stage's `content`, while it holds anything, is a group named by the
|
|
57855
|
+
* stage's name, so a screen reader moving into it hears which stage it
|
|
57856
|
+
* belongs to.
|
|
57857
|
+
*
|
|
57278
57858
|
* ## Attributes & Properties
|
|
57279
57859
|
*
|
|
57280
57860
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -58321,10 +58901,18 @@ export type CustomElements = {
|
|
|
58321
58901
|
* the tab list lands on the panel's first link or control where there is one,
|
|
58322
58902
|
* and on the panel itself where there is none.
|
|
58323
58903
|
*
|
|
58904
|
+
* **Set `lazy` for a panel that is expensive to draw.** Its content waits in a
|
|
58905
|
+
* `<template>` inside it, and goes into the panel the first time the panel is
|
|
58906
|
+
* shown, so it costs nothing until a reader opens that tab. Once in, it stays.
|
|
58907
|
+
* The panel sends `helix-load` at the same moment, for content your code
|
|
58908
|
+
* renders itself.
|
|
58909
|
+
*
|
|
58324
58910
|
* ## Attributes & Properties
|
|
58325
58911
|
*
|
|
58326
58912
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
58327
58913
|
*
|
|
58914
|
+
* - `lazy`: Whether the panel's content waits in a `<template>` until the panel is
|
|
58915
|
+
* first shown.
|
|
58328
58916
|
* - `selected`: Whether this panel is the visible one.
|
|
58329
58917
|
* - `value`: Pairs the panel with the tab of the same value.
|
|
58330
58918
|
* - `label`: The name of the panel, which is the text of the tab that opens it.
|
|
@@ -58358,11 +58946,17 @@ export type CustomElements = {
|
|
|
58358
58946
|
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
58359
58947
|
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
58360
58948
|
*
|
|
58949
|
+
* ## Events
|
|
58950
|
+
*
|
|
58951
|
+
* Events that will be emitted by the component.
|
|
58952
|
+
*
|
|
58953
|
+
* - `helix-load`: Fired the first time a `lazy` panel is shown, once its template's content is in.
|
|
58954
|
+
*
|
|
58361
58955
|
* ## Slots
|
|
58362
58956
|
*
|
|
58363
58957
|
* Areas where markup can be added to the component.
|
|
58364
58958
|
*
|
|
58365
|
-
* - `(default)`: The panel's content.
|
|
58959
|
+
* - `(default)`: The panel's content. Under `lazy`, a `<template>` holding it.
|
|
58366
58960
|
*
|
|
58367
58961
|
* ## CSS Parts
|
|
58368
58962
|
*
|
|
@@ -58374,6 +58968,7 @@ export type CustomElements = {
|
|
|
58374
58968
|
*
|
|
58375
58969
|
* These can be used to apply styling when a component is in a given state.
|
|
58376
58970
|
*
|
|
58971
|
+
* - `loaded`: Once a `lazy` panel has been shown and its content is in.
|
|
58377
58972
|
* - `selected`: While its tab is the one selected.
|
|
58378
58973
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
58379
58974
|
*/
|
|
@@ -58423,9 +59018,9 @@ export type CustomElements = {
|
|
|
58423
59018
|
* | Enter, Space | Selects the tab with focus, or follows its link. |
|
|
58424
59019
|
* | Tab | Leaves the list for the selected panel. |
|
|
58425
59020
|
*
|
|
58426
|
-
* Removing the selected tab selects the
|
|
58427
|
-
* `active` says so, with `helix-activate`. Where
|
|
58428
|
-
* focus moves to the tab now selected.
|
|
59021
|
+
* Removing the selected tab selects the enabled tab beside it, the next one
|
|
59022
|
+
* or else the one before, and `active` says so, with `helix-activate`. Where
|
|
59023
|
+
* the removed tab had focus, focus moves to the tab now selected.
|
|
58429
59024
|
*
|
|
58430
59025
|
* **More tabs than fit.** With `scroll-controls`, a strip that scrolls shows a
|
|
58431
59026
|
* button at each end it can scroll toward, as Web Awesome's tab group does,
|
|
@@ -58531,6 +59126,8 @@ export type CustomElements = {
|
|
|
58531
59126
|
* - `(default)`: The tabs, as direct children of this element.
|
|
58532
59127
|
* - `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.
|
|
58533
59128
|
* - `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.
|
|
59129
|
+
* - `scroll-end-icon`: Replaces the glyph on the button that scrolls the strip toward its end.
|
|
59130
|
+
* - `scroll-start-icon`: Replaces the glyph on the button that scrolls the strip toward its start.
|
|
58534
59131
|
*
|
|
58535
59132
|
* ## Methods
|
|
58536
59133
|
*
|
|
@@ -58552,7 +59149,9 @@ export type CustomElements = {
|
|
|
58552
59149
|
* - `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.
|
|
58553
59150
|
* - `panels`: The panel container.
|
|
58554
59151
|
* - `scroll-end`: The button that scrolls the strip toward its end, shown under `scroll-controls` while there is more that way.
|
|
59152
|
+
* - `scroll-end-mark`: The glyph on that button, where none is slotted.
|
|
58555
59153
|
* - `scroll-start`: The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way.
|
|
59154
|
+
* - `scroll-start-mark`: The glyph on that button, where none is slotted.
|
|
58556
59155
|
* - `tabs`: The tab list.
|
|
58557
59156
|
*
|
|
58558
59157
|
* ## CSS States
|
|
@@ -58577,8 +59176,8 @@ export type CustomElements = {
|
|
|
58577
59176
|
* can: a press on its `dismiss` mark, or Delete or Backspace while the tab
|
|
58578
59177
|
* has focus, sends `helix-dismiss`. The tab does not remove itself, because
|
|
58579
59178
|
* your code owns the set, so remove the tab and its panel in your handler.
|
|
58580
|
-
* Focus moves to the tab beside it, and the tab
|
|
58581
|
-
*
|
|
59179
|
+
* Focus moves to the tab beside it, and where the tab was selected, the tab
|
|
59180
|
+
* set selects that same tab.
|
|
58582
59181
|
* The tab says the key through `aria-keyshortcuts`, and the mark is for the
|
|
58583
59182
|
* pointer, hidden from screen readers.
|
|
58584
59183
|
*
|
|
@@ -58635,6 +59234,7 @@ export type CustomElements = {
|
|
|
58635
59234
|
* Areas where markup can be added to the component.
|
|
58636
59235
|
*
|
|
58637
59236
|
* - `(default)`: The tab's label.
|
|
59237
|
+
* - `dismiss-icon`: Replaces the glyph on the mark that closes a `dismissible` tab.
|
|
58638
59238
|
*
|
|
58639
59239
|
* ## Methods
|
|
58640
59240
|
*
|
|
@@ -58659,6 +59259,7 @@ export type CustomElements = {
|
|
|
58659
59259
|
* Custom selectors for styling elements within the component.
|
|
58660
59260
|
*
|
|
58661
59261
|
* - `dismiss`: The mark a pointer presses to close a `dismissible` tab.
|
|
59262
|
+
* - `dismiss-mark`: The glyph on that mark, where none is slotted.
|
|
58662
59263
|
* - `tab`: The tab itself.
|
|
58663
59264
|
*
|
|
58664
59265
|
* ## CSS States
|
|
@@ -59211,20 +59812,25 @@ export type CustomElements = {
|
|
|
59211
59812
|
* `seconds`, because that is what the form
|
|
59212
59813
|
* submits, what `min` and `max` compare against, and what sorts correctly as a
|
|
59213
59814
|
* string. While idle, the field shows the time in the user's locale format.
|
|
59214
|
-
* Once the caret is in the field, it shows the value itself
|
|
59215
|
-
*
|
|
59216
|
-
*
|
|
59815
|
+
* Once the caret is in the field, it shows the value itself. You can type
|
|
59816
|
+
* `14:30`, or a time as you write one, such as `2:30 PM`, `2.30pm`, or
|
|
59817
|
+
* `14h30`, and the field reads it as you leave it, with AM and PM in the
|
|
59818
|
+
* locale's words.
|
|
59217
59819
|
*
|
|
59218
59820
|
* Typing sends `input` on each keystroke and `change` when you leave the
|
|
59219
59821
|
* field. The trigger and ArrowDown open the list, and so does a press into the
|
|
59220
|
-
* field; Tab into the field opens nothing.
|
|
59822
|
+
* field; Tab into the field opens nothing. The text field is a `combobox`
|
|
59823
|
+
* with `aria-haspopup="dialog"`, `aria-expanded`, and `aria-controls`, since
|
|
59824
|
+
* Down opens the list from it. In the list, the arrow keys, typed digits and PageUp and PageDown
|
|
59221
59825
|
* move through the times, and Enter, Space or a click chooses one and closes
|
|
59222
59826
|
* the panel. With `variant="wheels"` each wheel moves the time as you turn it,
|
|
59223
59827
|
* the panel stays open, and Enter or Escape closes it.
|
|
59224
59828
|
*
|
|
59225
59829
|
* With `segmented`, the field is a row of segments in place of the text: an
|
|
59226
59830
|
* hour, a minute, and AM or PM where the clock has them, each set with digits
|
|
59227
|
-
* or the arrow keys. Alt+Down opens the list from a segment.
|
|
59831
|
+
* or the arrow keys. Alt+Down opens the list from a segment. A `range` is two
|
|
59832
|
+
* rows with a dash between them, the start and the end, and `multiple` keeps
|
|
59833
|
+
* the text.
|
|
59228
59834
|
*
|
|
59229
59835
|
* Text that is not a time gives the form an empty value, as a native time
|
|
59230
59836
|
* field does, and `value` keeps the text so it can be corrected.
|
|
@@ -59256,6 +59862,10 @@ export type CustomElements = {
|
|
|
59256
59862
|
*
|
|
59257
59863
|
* Empty leaves the attribute off, which is the browser's default and is what
|
|
59258
59864
|
* lets autofill work at all.
|
|
59865
|
+
* - `clearable`: Whether the field shows a button that empties it, as Input's `clearable`
|
|
59866
|
+
* does. Shown only while the field holds something to clear and is neither
|
|
59867
|
+
* disabled nor read-only.
|
|
59868
|
+
* - `clear-label`/`clearLabel`: The accessible name of the clear button, which shows only an icon.
|
|
59259
59869
|
* - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
59260
59870
|
*
|
|
59261
59871
|
* Handed to the list, which offers them as unavailable, and checked against
|
|
@@ -59304,6 +59914,8 @@ export type CustomElements = {
|
|
|
59304
59914
|
* never something this element would refuse to read back.
|
|
59305
59915
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the list, read by screen readers.
|
|
59306
59916
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-times` bars a time.
|
|
59917
|
+
* - `unreadable-message`/`unreadableMessage`: The message for text that is no time, where `bad-input-message` is not
|
|
59918
|
+
* set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`.
|
|
59307
59919
|
* - `variant`: Whether the panel shows one list of times or a column for each part of the
|
|
59308
59920
|
* time.
|
|
59309
59921
|
*
|
|
@@ -59326,6 +59938,10 @@ export type CustomElements = {
|
|
|
59326
59938
|
* - `incomplete-message`/`incompleteMessage`: What a row of segments reports while some segments are set and others
|
|
59327
59939
|
* are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
59328
59940
|
* `time`.
|
|
59941
|
+
* - `range-end-label`/`rangeEndLabel`: What a screen reader hears before the segments of a range's second date
|
|
59942
|
+
* or time, after each segment's own name.
|
|
59943
|
+
* - `range-start-label`/`rangeStartLabel`: What a screen reader hears before the segments of a range's first date
|
|
59944
|
+
* or time, after each segment's own name: "month, Start, Stay".
|
|
59329
59945
|
* - `segmented`: Whether the field is a row of segments, one for each part of the date or
|
|
59330
59946
|
* time, in place of a line of text.
|
|
59331
59947
|
*
|
|
@@ -59477,6 +60093,7 @@ export type CustomElements = {
|
|
|
59477
60093
|
* - `helix-before-change`: Fired before the time changes. Cancelable: canceling it stops the change and leaves the decision to you.
|
|
59478
60094
|
* - `helix-before-close`: Fired before the list closes. Cancelable: canceling it keeps the list open and leaves the decision to you.
|
|
59479
60095
|
* - `helix-before-open`: Fired before the list opens. Cancelable: canceling it keeps the list closed and leaves the decision to you.
|
|
60096
|
+
* - `helix-clear`: Fired after the clear button has emptied the field, after `input` and `change`.
|
|
59480
60097
|
* - `input`: Fired after the value changes.
|
|
59481
60098
|
* - `toggle`: Fired after the list opens or closes, with `newState` and `oldState`.
|
|
59482
60099
|
*
|
|
@@ -59484,6 +60101,7 @@ export type CustomElements = {
|
|
|
59484
60101
|
*
|
|
59485
60102
|
* Areas where markup can be added to the component.
|
|
59486
60103
|
*
|
|
60104
|
+
* - `clear-icon`: Replaces the cross on the clear button, under `clearable`.
|
|
59487
60105
|
* - `end`: Content after the time, before the trigger, such as a clear button.
|
|
59488
60106
|
* - `feedback`: The message that says what is wrong with the value.
|
|
59489
60107
|
* - `hint`: Help under the field.
|
|
@@ -59557,6 +60175,7 @@ export type CustomElements = {
|
|
|
59557
60175
|
*
|
|
59558
60176
|
* Custom selectors for styling elements within the component.
|
|
59559
60177
|
*
|
|
60178
|
+
* - `clear`: The button that empties the field, under `clearable`, while it holds a time.
|
|
59560
60179
|
* - `control`: The text input.
|
|
59561
60180
|
* - `feedback`: The message that says what is wrong with the value.
|
|
59562
60181
|
* - `field`: The box that holds the text and the trigger.
|
|
@@ -59602,6 +60221,7 @@ export type CustomElements = {
|
|
|
59602
60221
|
* - `picker-option-item-selected`: The row of a chosen time: the one time, or either end of a range.
|
|
59603
60222
|
* - `picker-option-label`: The option's label.
|
|
59604
60223
|
* - `picker-option-text`: The label and the caption, as one column.
|
|
60224
|
+
* - `range-separator`: The dash between a range's two rows of segments, in `segmented`, beside `literal`.
|
|
59605
60225
|
* - `rest`: The count of times held beyond the ones shown. A `<button>` with `expandable`, and a `<span>` without it.
|
|
59606
60226
|
* - `segment`: One part of the time, an hour, a minute, a second or AM and PM, in `segmented`.
|
|
59607
60227
|
* - `segment-placeholder`: A segment with nothing in it yet. Applied with `segment`.
|
|
@@ -59622,6 +60242,7 @@ export type CustomElements = {
|
|
|
59622
60242
|
*
|
|
59623
60243
|
* These can be used to apply styling when a component is in a given state.
|
|
59624
60244
|
*
|
|
60245
|
+
* - `blank`: The field holds no time.
|
|
59625
60246
|
* - `invalid`: The control has an error to show, from the browser's validation or from your `feedback`.
|
|
59626
60247
|
* - `open`: While the clock is open.
|
|
59627
60248
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -59675,7 +60296,10 @@ export type CustomElements = {
|
|
|
59675
60296
|
* host's `aria-label` or its `aria-labelledby`. A development build warns
|
|
59676
60297
|
* where all four are empty. The list is described by the hint, or by the
|
|
59677
60298
|
* message in `feedback` in its place, and carries `aria-multiselectable` with
|
|
59678
|
-
* a `mode
|
|
60299
|
+
* a `mode`. It carries `aria-invalid` while `feedback` says what is wrong,
|
|
60300
|
+
* while it holds a time outside `min` and `max` or one the picker does not
|
|
60301
|
+
* offer, and, for a `required` picker with no time, once the reader has
|
|
60302
|
+
* chosen one or a form has refused the picker. The wheels
|
|
59679
60303
|
* are a `group` with that name, holding one `listbox` per wheel, named "Hour",
|
|
59680
60304
|
* "Minute", "Second" and "AM/PM" in the page's language, and each described
|
|
59681
60305
|
* the same way.
|
|
@@ -60033,7 +60657,7 @@ export type CustomElements = {
|
|
|
60033
60657
|
* - `list-loading`: The text shown while the options load.
|
|
60034
60658
|
* - `list-search`: The region that holds the filter field.
|
|
60035
60659
|
* - `list-search-field`: The filter field.
|
|
60036
|
-
* - `option`: One time in the list. It carries `data-between` inside a range.
|
|
60660
|
+
* - `option`: One time in the list. It carries `data-between` inside a range, and inside the run to the time under the pointer while a range waits for its second end.
|
|
60037
60661
|
* - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
|
|
60038
60662
|
* - `option-description`: The caption under the time's label, when there is one.
|
|
60039
60663
|
* - `option-item`: The row.
|
|
@@ -60047,7 +60671,8 @@ export type CustomElements = {
|
|
|
60047
60671
|
* These can be used to apply styling when a component is in a given state.
|
|
60048
60672
|
*
|
|
60049
60673
|
* - `blank`: While no time is chosen.
|
|
60050
|
-
* - `invalid`: While `invalid` is set
|
|
60674
|
+
* - `invalid`: While `invalid` is set, `feedback` says what is wrong, or the list carries `aria-invalid`.
|
|
60675
|
+
* - `range-pending`: While a `range` holds its first time and waits for the second.
|
|
60051
60676
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
60052
60677
|
*/
|
|
60053
60678
|
"helix-headless-time-picker": Partial<
|
|
@@ -60277,8 +60902,9 @@ export type CustomElements = {
|
|
|
60277
60902
|
*
|
|
60278
60903
|
* **Each item runs its own timer.** A timer held by the region would restart
|
|
60279
60904
|
* with each new message, and the last of three messages would stay for nine
|
|
60280
|
-
* seconds. It pauses while the pointer or focus is on the message
|
|
60281
|
-
* the page is hidden, so a message is not
|
|
60905
|
+
* seconds. It pauses while the pointer or focus is on the message or anywhere
|
|
60906
|
+
* in the region's stack, and while the page is hidden, so a message is not
|
|
60907
|
+
* spent in a background tab.
|
|
60282
60908
|
*
|
|
60283
60909
|
* **Each message is an `alertdialog` named by its words**, which is how a reader
|
|
60284
60910
|
* who moves into the stack hears which message they are on. Give it a
|
|
@@ -60287,10 +60913,11 @@ export type CustomElements = {
|
|
|
60287
60913
|
* says each message once as it arrives, a `danger` one assertively, so a
|
|
60288
60914
|
* message is never a live region of its own.
|
|
60289
60915
|
*
|
|
60290
|
-
* A touch or a pen swipes a message toward the end of the line,
|
|
60291
|
-
*
|
|
60292
|
-
*
|
|
60293
|
-
* `--toast-swipe-x
|
|
60916
|
+
* A touch or a pen swipes a message toward the end of the line, or toward the
|
|
60917
|
+
* edge the region's `swipe-direction` names, and past halfway, or quickly,
|
|
60918
|
+
* dismisses it through the same `helix-dismiss` as its control. While it
|
|
60919
|
+
* moves, the distance is on the `item` part as `--toast-swipe-x` or
|
|
60920
|
+
* `--toast-swipe-y`.
|
|
60294
60921
|
*
|
|
60295
60922
|
* **Escape dismisses the message holding focus**, through the same
|
|
60296
60923
|
* `helix-dismiss`, and focus moves to the next message.
|
|
@@ -60392,6 +61019,7 @@ export type CustomElements = {
|
|
|
60392
61019
|
*
|
|
60393
61020
|
* - `--toast-duration`: How long this message stays, in milliseconds, for a progress hint.
|
|
60394
61021
|
* - `--toast-swipe-x`: How far a swipe has moved the message across, in pixels, toward the right.
|
|
61022
|
+
* - `--toast-swipe-y`: How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`.
|
|
60395
61023
|
*
|
|
60396
61024
|
* ## CSS Parts
|
|
60397
61025
|
*
|
|
@@ -60413,7 +61041,7 @@ export type CustomElements = {
|
|
|
60413
61041
|
* These can be used to apply styling when a component is in a given state.
|
|
60414
61042
|
*
|
|
60415
61043
|
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
60416
|
-
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
61044
|
+
* - `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.
|
|
60417
61045
|
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
60418
61046
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
60419
61047
|
*/
|
|
@@ -60452,7 +61080,12 @@ export type CustomElements = {
|
|
|
60452
61080
|
* to render them from: it appends a message of the region's own tier and
|
|
60453
61081
|
* removes it once it has been dismissed and has finished leaving. Messages
|
|
60454
61082
|
* you render yourself stay yours, and the region never removes them. A touch
|
|
60455
|
-
* or a pen swipes a message away toward the end of the line
|
|
61083
|
+
* or a pen swipes a message away toward the end of the line, or toward the
|
|
61084
|
+
* edge `swipe-direction` names.
|
|
61085
|
+
*
|
|
61086
|
+
* **Every message's timer waits while a pointer or focus is in the stack**, as
|
|
61087
|
+
* React Aria's and Radix's regions do, so a reader moving from one message to
|
|
61088
|
+
* the next does not lose the one behind them.
|
|
60456
61089
|
*
|
|
60457
61090
|
* **The stack is in the top layer.** The `region` part is a `popover="manual"`
|
|
60458
61091
|
* shown while a message is showing, and shown again above a modal dialog that
|
|
@@ -60517,6 +61150,8 @@ export type CustomElements = {
|
|
|
60517
61150
|
* consumer's server markup does not have. A sheet carries the resting
|
|
60518
61151
|
* arrangement in its own `:host` rule and the selectors describe only the
|
|
60519
61152
|
* departures, which is what `orientation` does.
|
|
61153
|
+
* - `swipe-direction`/`swipeDirection`: The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
61154
|
+
* the end of the line, or `start`, `top` or `bottom`. Unset is `end`.
|
|
60520
61155
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
60521
61156
|
*
|
|
60522
61157
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -60621,7 +61256,7 @@ export type CustomElements = {
|
|
|
60621
61256
|
* | Right, Down | Moves to the next item, from the last back to the first. In a single group, chooses it. |
|
|
60622
61257
|
* | Left, Up | Moves to the item before, from the first round to the last. In a single group, chooses it. |
|
|
60623
61258
|
* | Home, End | Moves to the first or the last item. In a single group, chooses it. |
|
|
60624
|
-
* | Space, Enter | Chooses the focused item, or presses or releases it in a multiple group. |
|
|
61259
|
+
* | Space, Enter | Chooses the focused item, or presses or releases it in a multiple group. With `allow-empty-selection`, takes back the chosen item. |
|
|
60625
61260
|
*
|
|
60626
61261
|
* Left and Right swap on a right-to-left page, and a disabled item is passed
|
|
60627
61262
|
* over. A single group is a `radiogroup` of items with `role="radio"` and
|
|
@@ -60633,6 +61268,11 @@ export type CustomElements = {
|
|
|
60633
61268
|
*
|
|
60634
61269
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
60635
61270
|
*
|
|
61271
|
+
* - `allow-empty-selection`/`allowEmptySelection`: Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
61272
|
+
* back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
61273
|
+
* Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
61274
|
+
* keeps its choice once it has one, as a radio group does. A multiple group
|
|
61275
|
+
* releases a pressed item either way.
|
|
60636
61276
|
* - `label-placement`/`labelPlacement`: Where the group's label sits. `start` puts it on the track's line.
|
|
60637
61277
|
*
|
|
60638
61278
|
* Absent is above, which is what a field looks like and what almost every
|
|
@@ -60977,13 +61617,13 @@ export type CustomElements = {
|
|
|
60977
61617
|
*
|
|
60978
61618
|
* Custom selectors for styling elements within the component.
|
|
60979
61619
|
*
|
|
60980
|
-
* - `item`: The radio button.
|
|
61620
|
+
* - `item`: The button: a radio in a group where one is chosen, and a button with `aria-pressed` on its own or in a group where several can be.
|
|
60981
61621
|
*
|
|
60982
61622
|
* ## CSS States
|
|
60983
61623
|
*
|
|
60984
61624
|
* These can be used to apply styling when a component is in a given state.
|
|
60985
61625
|
*
|
|
60986
|
-
* - `pressed`: The item is pressed, in a group where several can be.
|
|
61626
|
+
* - `pressed`: The item is pressed, on its own or in a group where several can be.
|
|
60987
61627
|
* - `selected`: The item is chosen.
|
|
60988
61628
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
60989
61629
|
*/
|
|
@@ -61385,6 +62025,17 @@ export type CustomElements = {
|
|
|
61385
62025
|
* least distance that brings it on screen, so the stop that points at it is
|
|
61386
62026
|
* on screen too.
|
|
61387
62027
|
*
|
|
62028
|
+
* **A stop's `effect` runs as the tour reaches it**, before it is shown, and
|
|
62029
|
+
* the stop waits for a promise it returns, with `:state(preparing)` on the
|
|
62030
|
+
* tour meanwhile. A function it returns runs when the tour leaves the stop.
|
|
62031
|
+
*
|
|
62032
|
+
* **A press outside the current stop and its target does nothing by
|
|
62033
|
+
* default**, so a reader can use the page the tour is describing. Set
|
|
62034
|
+
* `outside-press="close"` to end the tour on one, through `helix-before-close`
|
|
62035
|
+
* as Skip does, or `outside-press="block"` to refuse it, so the stop and its
|
|
62036
|
+
* target are all a pointer can reach while the tour runs, as Zag's
|
|
62037
|
+
* `preventInteraction` does.
|
|
62038
|
+
*
|
|
61388
62039
|
* **Keyboard.** Focus is on the current stop's panel, which is not in the
|
|
61389
62040
|
* `Tab` order itself.
|
|
61390
62041
|
*
|
|
@@ -61422,6 +62073,9 @@ export type CustomElements = {
|
|
|
61422
62073
|
* `undefined` until somebody sets one.
|
|
61423
62074
|
* - `label`: The tour's name, read by screen readers, such as "Getting started".
|
|
61424
62075
|
* - `next-label`/`nextLabel`: Label for the control that goes on.
|
|
62076
|
+
* - `outside-press`/`outsidePress`: What a press outside the current stop and its target does while the tour
|
|
62077
|
+
* runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
62078
|
+
* Skip does, and `block` refuses the press.
|
|
61425
62079
|
* - `progress`: Draws each stop's place in the run in its panel, as well as saying it.
|
|
61426
62080
|
* - `progress-label`/`progressLabel`: Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
61427
62081
|
* written in the locale. Translate it with the rest of your text.
|
|
@@ -61525,6 +62179,7 @@ export type CustomElements = {
|
|
|
61525
62179
|
* These can be used to apply styling when a component is in a given state.
|
|
61526
62180
|
*
|
|
61527
62181
|
* - `open`: While the tour is running.
|
|
62182
|
+
* - `preparing`: While the tour waits for the current stop's `effect` before showing the stop.
|
|
61528
62183
|
* - `waiting`: While the tour waits at a `wait` stop for its target to be on the page.
|
|
61529
62184
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
61530
62185
|
*/
|
|
@@ -61558,6 +62213,13 @@ export type CustomElements = {
|
|
|
61558
62213
|
* get Back, Next, and Skip, already wired. Slot your own `actions` and drive
|
|
61559
62214
|
* them with `next()`, `back()`, and `skip()` on the root.
|
|
61560
62215
|
*
|
|
62216
|
+
* **Set `effect` to prepare the page for a stop**, such as opening the menu
|
|
62217
|
+
* it points into or loading what it describes. It is a function, set from
|
|
62218
|
+
* script, that the tour runs as it reaches the stop. Return a promise and the
|
|
62219
|
+
* stop waits for it, and the tour has `:state(preparing)` meanwhile; return a
|
|
62220
|
+
* function, or resolve to one, and the tour runs it when it leaves the stop.
|
|
62221
|
+
* Zag's tour step has the same `effect`.
|
|
62222
|
+
*
|
|
61561
62223
|
* **`for` is an id, as with `Tooltip`**, so you can point at a target elsewhere
|
|
61562
62224
|
* on the page from markup. It resolves against the stop's root node, so a stop
|
|
61563
62225
|
* inside a shadow tree points at a target in that tree.
|
|
@@ -61599,6 +62261,8 @@ export type CustomElements = {
|
|
|
61599
62261
|
*
|
|
61600
62262
|
* Reflected, because the styled tier places a dialog and a floating panel by
|
|
61601
62263
|
* it, and unset at rest, so no default is written onto the host.
|
|
62264
|
+
* - `effect`: Run as the tour reaches the stop, before it is shown: see the description
|
|
62265
|
+
* above. A function, so it is set from script and has no attribute. (property only)
|
|
61602
62266
|
* - `target`: The element the stop points at, or `null` when no element has the `for` id. (property only) (readonly)
|
|
61603
62267
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
61604
62268
|
*
|
|
@@ -61681,6 +62345,8 @@ export type CustomElements = {
|
|
|
61681
62345
|
*
|
|
61682
62346
|
* These can be used to apply styling when a component is in a given state.
|
|
61683
62347
|
*
|
|
62348
|
+
* - `entering`: From the moment the stop is shown until its entrance has finished.
|
|
62349
|
+
* - `exiting`: From the moment the stop is left until its exit has finished.
|
|
61684
62350
|
* - `placed-bottom`: The panel sits below its target.
|
|
61685
62351
|
* - `placed-left`: The panel sits to the left of its target.
|
|
61686
62352
|
* - `placed-right`: The panel sits to the right of its target.
|
|
@@ -63729,12 +64395,21 @@ export type CustomElementsSolidJs = {
|
|
|
63729
64395
|
*
|
|
63730
64396
|
* **Set `fold-below` to fold the middle region on a narrow screen.** Below that
|
|
63731
64397
|
* many pixels of the bar's own width, the middle region is hidden behind a
|
|
63732
|
-
* toggle at the end of the bar, named by `menu-label
|
|
63733
|
-
*
|
|
63734
|
-
*
|
|
63735
|
-
*
|
|
63736
|
-
*
|
|
63737
|
-
*
|
|
64398
|
+
* toggle at the end of the bar, named by `menu-label`, or at its start with
|
|
64399
|
+
* `toggle-placement="start"`. The toggle says whether the region is open with
|
|
64400
|
+
* `aria-expanded`, and the region opens below the row. The region follows the
|
|
64401
|
+
* toggle's region in focus order, so Tab from the toggle at the end goes into
|
|
64402
|
+
* the open region. The custom state `folded` is on the host while the bar is
|
|
64403
|
+
* that narrow, and `open` while the folded region is open. A server serves the
|
|
64404
|
+
* bar unfolded, and the browser folds it once it has measured it.
|
|
64405
|
+
*
|
|
64406
|
+
* **`open` says whether the folded region is open, and setting it opens or
|
|
64407
|
+
* closes the region.** `requestOpen(true)` and `requestOpen(false)` do the same
|
|
64408
|
+
* and send `helix-before-open` or `helix-before-close` first, which you can
|
|
64409
|
+
* cancel, and `toggleOpen()` asks for the opposite. `toggle` follows every
|
|
64410
|
+
* change. The region closes on Escape, which puts focus back on the toggle,
|
|
64411
|
+
* when focus moves to something outside the header, and on a press outside
|
|
64412
|
+
* it. A bar that widens past `fold-below` closes its region.
|
|
63738
64413
|
*
|
|
63739
64414
|
* The host is the page's `banner` landmark. Placed inside `main`, `article`,
|
|
63740
64415
|
* `aside`, `nav` or `section`, it is a plain box instead, as a native
|
|
@@ -63769,6 +64444,24 @@ export type CustomElementsSolidJs = {
|
|
|
63769
64444
|
* - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
|
|
63770
64445
|
* - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
|
|
63771
64446
|
* scrolls a container instead of the window. Unset is the window.
|
|
64447
|
+
* - `toggle-placement`/`togglePlacement`: Where the toggle that opens a folded middle region sits: at the end of the
|
|
64448
|
+
* bar, after the trailing content, or with `start`, before the leading
|
|
64449
|
+
* content.
|
|
64450
|
+
*
|
|
64451
|
+
* Optional, so the resting bar writes no attribute onto the host.
|
|
64452
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
64453
|
+
* - `open`: Whether the element is open.
|
|
64454
|
+
*
|
|
64455
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
64456
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
64457
|
+
* same statement in markup.
|
|
64458
|
+
*
|
|
64459
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
64460
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
64461
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
64462
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
64463
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
64464
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
63772
64465
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
63773
64466
|
*
|
|
63774
64467
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -63794,7 +64487,10 @@ export type CustomElementsSolidJs = {
|
|
|
63794
64487
|
*
|
|
63795
64488
|
* Events that will be emitted by the component.
|
|
63796
64489
|
*
|
|
64490
|
+
* - `helix-before-close`: The folded region is about to close. Cancelable: cancel it to keep it open.
|
|
64491
|
+
* - `helix-before-open`: The folded region is about to open. Cancelable: cancel it to keep it closed.
|
|
63797
64492
|
* - `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.
|
|
64493
|
+
* - `toggle`: The folded region opened or closed. The event carries `newState` and `oldState`.
|
|
63798
64494
|
*
|
|
63799
64495
|
* ## Slots
|
|
63800
64496
|
*
|
|
@@ -63805,6 +64501,20 @@ export type CustomElementsSolidJs = {
|
|
|
63805
64501
|
* - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
|
|
63806
64502
|
* - `start`: Leading content, usually a wordmark.
|
|
63807
64503
|
*
|
|
64504
|
+
* ## Methods
|
|
64505
|
+
*
|
|
64506
|
+
* Methods that can be called to access component functionality.
|
|
64507
|
+
*
|
|
64508
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
64509
|
+
* was applied.
|
|
64510
|
+
*
|
|
64511
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
64512
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
64513
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
64514
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
64515
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
64516
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
64517
|
+
*
|
|
63808
64518
|
* ## CSS Parts
|
|
63809
64519
|
*
|
|
63810
64520
|
* Custom selectors for styling elements within the component.
|
|
@@ -65208,11 +65918,15 @@ export type CustomElementsSolidJs = {
|
|
|
65208
65918
|
* appearance and size.
|
|
65209
65919
|
*
|
|
65210
65920
|
* **Buttons that stay pressed.** With `selection-mode`, each button with a
|
|
65211
|
-
* `value` is a toggle button: a press presses or releases it
|
|
65212
|
-
*
|
|
65213
|
-
*
|
|
65214
|
-
*
|
|
65215
|
-
*
|
|
65921
|
+
* `value` is a toggle button: a press presses or releases it. `multiple` lets
|
|
65922
|
+
* any number be pressed, and each button says so with `aria-pressed`. `single`
|
|
65923
|
+
* keeps one pressed at a time: the group is a `radiogroup` and each button a
|
|
65924
|
+
* `radio` that says so with `aria-checked`, as React Aria's toggle button
|
|
65925
|
+
* group is. A press on the pressed one releases it, unless
|
|
65926
|
+
* `disallow-empty-selection` keeps one pressed. `value` is the pressed values,
|
|
65927
|
+
* comma separated. A press sends a cancelable `helix-before-change` with the
|
|
65928
|
+
* value it would leave, then `change`. A pressed Helix button has
|
|
65929
|
+
* `:state(pressed)` on its own element.
|
|
65216
65930
|
*
|
|
65217
65931
|
* The pressed state is written on the control inside each button's shadow
|
|
65218
65932
|
* root, so the markup you rendered is never changed and a framework hydrating
|
|
@@ -65240,15 +65954,18 @@ export type CustomElementsSolidJs = {
|
|
|
65240
65954
|
* | Space, Enter | Presses or releases the focused button. |
|
|
65241
65955
|
*
|
|
65242
65956
|
* Left and Right swap on a right-to-left page, and a disabled button is
|
|
65243
|
-
* passed over.
|
|
65957
|
+
* passed over. Under `multiple` the group is a `toolbar`, with
|
|
65244
65958
|
* `aria-orientation` under `orientation="vertical"`. Inside a toolbar it stays
|
|
65245
65959
|
* a named `group`, and the toolbar's own arrow keys walk its buttons, so a
|
|
65246
|
-
* reader meets one toolbar.
|
|
65960
|
+
* reader meets one toolbar. Under `single` it is a `radiogroup` either way.
|
|
65247
65961
|
*
|
|
65248
65962
|
* ## Attributes & Properties
|
|
65249
65963
|
*
|
|
65250
65964
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
65251
65965
|
*
|
|
65966
|
+
* - `disallow-empty-selection`/`disallowEmptySelection`: Keeps at least one button pressed once one is, as React Aria's
|
|
65967
|
+
* `disallowEmptySelection`: a press that would leave none pressed is
|
|
65968
|
+
* refused.
|
|
65252
65969
|
* - `label`: The group's name, read by screen readers.
|
|
65253
65970
|
*
|
|
65254
65971
|
* On the host through internals, so an author's `aria-label` still overrides
|
|
@@ -65617,6 +66334,7 @@ export type CustomElementsSolidJs = {
|
|
|
65617
66334
|
* These can be used to apply styling when a component is in a given state.
|
|
65618
66335
|
*
|
|
65619
66336
|
* - `pending`: The button is pending: `pending` is set.
|
|
66337
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
65620
66338
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
65621
66339
|
*/
|
|
65622
66340
|
"helix-headless-button": Partial<
|
|
@@ -69838,6 +70556,7 @@ export type CustomElementsSolidJs = {
|
|
|
69838
70556
|
* - `copied`: The moment after a successful copy, while `copied-label` names the button.
|
|
69839
70557
|
* - `failed`: The moment after a press that put nothing on the clipboard, while `error-label` names the button.
|
|
69840
70558
|
* - `pending`: The button is pending: `pending` is set.
|
|
70559
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
69841
70560
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
69842
70561
|
*/
|
|
69843
70562
|
"helix-headless-copy-button": Partial<
|
|
@@ -70344,17 +71063,24 @@ export type CustomElementsSolidJs = {
|
|
|
70344
71063
|
* gives a picker and locale formatting but allows almost no styling, so the
|
|
70345
71064
|
* field is a text field. Typing sends `input` on each keystroke and `change`
|
|
70346
71065
|
* when you leave the field, as a text field does. A date picked from the
|
|
70347
|
-
* calendar sends both.
|
|
71066
|
+
* calendar sends both. The field reads ISO, `2026-08-04`, and a date written
|
|
71067
|
+
* in the order, the digits, and the month names of `locale`, `8/4/2026` or
|
|
71068
|
+
* `Aug 4, 2026` in `en-US` and `4.8.2026` in `de-DE`, which becomes the value
|
|
71069
|
+
* as you leave the field.
|
|
70348
71070
|
*
|
|
70349
71071
|
* The trigger and ArrowDown open the calendar with focus on the selected day,
|
|
70350
71072
|
* Tab moves between the calendar's controls without leaving it, and Escape
|
|
70351
71073
|
* closes it and returns focus to the field. A press into the field opens the
|
|
70352
71074
|
* calendar too. Tab into the field opens nothing, and Tab out of the field
|
|
70353
|
-
* closes the calendar.
|
|
71075
|
+
* closes the calendar. The text field is a `combobox` with
|
|
71076
|
+
* `aria-haspopup="dialog"`, `aria-expanded`, and `aria-controls`, as in the
|
|
71077
|
+
* APG date picker combobox, since Down opens the calendar from it.
|
|
70354
71078
|
*
|
|
70355
71079
|
* With `segmented`, the field is a row of segments in place of the text: a
|
|
70356
71080
|
* month, a day and a year in the order the locale writes them, each set with
|
|
70357
|
-
* digits or the arrow keys. Alt+Down opens the calendar from a segment.
|
|
71081
|
+
* digits or the arrow keys. Alt+Down opens the calendar from a segment. A
|
|
71082
|
+
* `range` is two rows with a dash between them, the start and the end, as
|
|
71083
|
+
* React Aria's DateRangePicker draws them, and `multiple` keeps the text.
|
|
70358
71084
|
*
|
|
70359
71085
|
* Text that is not a date gives the form an empty value, as a native date
|
|
70360
71086
|
* field does, and `value` keeps the text so it can be corrected.
|
|
@@ -70384,27 +71110,39 @@ export type CustomElementsSolidJs = {
|
|
|
70384
71110
|
*
|
|
70385
71111
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
70386
71112
|
*
|
|
70387
|
-
* - `autocomplete`: What the browser may autofill here, as one of the platform's own tokens
|
|
71113
|
+
* - `autocomplete`: What the browser may autofill here, as one of the platform's own tokens,
|
|
71114
|
+
* such as `bday`.
|
|
70388
71115
|
*
|
|
70389
71116
|
* Empty leaves the attribute off, which is the browser's default and is what
|
|
70390
71117
|
* lets autofill work at all: hardcoding `off` here means a birthday or a
|
|
70391
|
-
* postal code can never be filled in for a reader.
|
|
70392
|
-
*
|
|
70393
|
-
*
|
|
70394
|
-
*
|
|
70395
|
-
*
|
|
70396
|
-
*
|
|
70397
|
-
*
|
|
70398
|
-
*
|
|
70399
|
-
*
|
|
71118
|
+
* postal code can never be filled in for a reader. With `segmented`, a
|
|
71119
|
+
* hidden native date input carries it, since no browser fills the segments.
|
|
71120
|
+
* - `calendar`: The calendar the written date, the segments, and the calendar's days are
|
|
71121
|
+
* in: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar
|
|
71122
|
+
* with months of its own that Date Picker's `calendar` names, such as
|
|
71123
|
+
* `persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.
|
|
71124
|
+
*
|
|
71125
|
+
* Absent is the locale's own where its months are the Gregorian months, and
|
|
71126
|
+
* `gregory` for every other, as Date Picker's `calendar` is. The value is
|
|
71127
|
+
* `YYYY-MM-DD` in every calendar, and a focused text field is ISO in every
|
|
71128
|
+
* calendar. In `segmented`, the segments are the day, month, and year as
|
|
71129
|
+
* the calendar counts them, in the order the locale writes them: Mehr 14,
|
|
71130
|
+
* 1405 is month 7 and day 14 of 1405 under `persian`. Under the five with
|
|
71131
|
+
* Gregorian months they are the Gregorian day, month, and year, or ISO order
|
|
71132
|
+
* for `iso8601`.
|
|
70400
71133
|
* - `calendar-label`/`calendarLabel`: The name of the calendar's grid of days, read by screen readers.
|
|
71134
|
+
* - `clearable`: Whether the field shows a button that empties it, as Input's `clearable`
|
|
71135
|
+
* does. Shown only while the field holds something to clear and is neither
|
|
71136
|
+
* disabled nor read-only.
|
|
71137
|
+
* - `clear-label`/`clearLabel`: The accessible name of the clear button, which shows only an icon.
|
|
70401
71138
|
* - `date-style`/`dateStyle`: How a date is written in the field: `short` through `full`, or ISO.
|
|
70402
71139
|
*
|
|
70403
71140
|
* **The field renders when it is idle and holds the value when it is being
|
|
70404
71141
|
* edited.** A written date is a rendering, and a document being edited must
|
|
70405
71142
|
* not be a rendering of something else: `Intl.DateTimeFormat` formats and does
|
|
70406
|
-
* not parse, so
|
|
70407
|
-
*
|
|
71143
|
+
* not parse, so a rendering such as `Tuesday, August 4, 2026` is no text to
|
|
71144
|
+
* edit. The field does read a date typed in the locale's order and digits as
|
|
71145
|
+
* you leave it, which covers what a reader types.
|
|
70408
71146
|
*
|
|
70409
71147
|
* The way out is not to choose between the two but to separate them in time.
|
|
70410
71148
|
* Idle, the field shows `4 August 2026`, which is what a date is for reading.
|
|
@@ -70472,6 +71210,9 @@ export type CustomElementsSolidJs = {
|
|
|
70472
71210
|
*
|
|
70473
71211
|
* **The name goes in**, so a row of them is heard as which one each
|
|
70474
71212
|
* removes rather than as "Remove" said once per date.
|
|
71213
|
+
* - `selection-label`/`selectionLabel`: What a screen reader hears about the dates chosen in the calendar, with
|
|
71214
|
+
* `{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's
|
|
71215
|
+
* `selection-label` says.
|
|
70475
71216
|
* - `step`: How far apart the selectable dates are, in days.
|
|
70476
71217
|
*
|
|
70477
71218
|
* `<input type="date" step>`'s own unit, handed to the calendar this renders
|
|
@@ -70479,8 +71220,13 @@ export type CustomElementsSolidJs = {
|
|
|
70479
71220
|
* where there is one and from 1 January 1970 where there is not, which is the
|
|
70480
71221
|
* platform's base.
|
|
70481
71222
|
* - `step-mismatch-message`/`stepMismatchMessage`: The message shown when a date is not on `step`.
|
|
71223
|
+
* - `time-zone`/`timeZone`: The time zone today is read in, such as `America/New_York`, handed to the
|
|
71224
|
+
* calendar: the day marked today, and the month an empty field opens on.
|
|
71225
|
+
* Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone.
|
|
70482
71226
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
|
|
70483
71227
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
|
|
71228
|
+
* - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
|
|
71229
|
+
* set. `{mode}` is `single`, `range`, or `multiple`.
|
|
70484
71230
|
* - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
|
|
70485
71231
|
* `{heading}` filled in.
|
|
70486
71232
|
* - `empty-message`/`emptyMessage`: What a row of segments reports when the field is required and every
|
|
@@ -70491,6 +71237,10 @@ export type CustomElementsSolidJs = {
|
|
|
70491
71237
|
* - `incomplete-message`/`incompleteMessage`: What a row of segments reports while some segments are set and others
|
|
70492
71238
|
* are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
70493
71239
|
* `time`.
|
|
71240
|
+
* - `range-end-label`/`rangeEndLabel`: What a screen reader hears before the segments of a range's second date
|
|
71241
|
+
* or time, after each segment's own name.
|
|
71242
|
+
* - `range-start-label`/`rangeStartLabel`: What a screen reader hears before the segments of a range's first date
|
|
71243
|
+
* or time, after each segment's own name: "month, Start, Stay".
|
|
70494
71244
|
* - `segmented`: Whether the field is a row of segments, one for each part of the date or
|
|
70495
71245
|
* time, in place of a line of text.
|
|
70496
71246
|
*
|
|
@@ -70651,6 +71401,7 @@ export type CustomElementsSolidJs = {
|
|
|
70651
71401
|
* - `helix-before-change`: Fired before the date changes. Cancelable: call `preventDefault()` to keep the current date.
|
|
70652
71402
|
* - `helix-before-close`: Fired before the calendar closes. Cancelable: call `preventDefault()` to keep it open.
|
|
70653
71403
|
* - `helix-before-open`: Fired before the calendar opens. Cancelable: call `preventDefault()` to keep it closed.
|
|
71404
|
+
* - `helix-clear`: Fired after the clear button has emptied the field, after `input` and `change`.
|
|
70654
71405
|
* - `input`: Fired after the value changes.
|
|
70655
71406
|
* - `toggle`: Fired when the calendar opens or closes, with `newState` and `oldState`.
|
|
70656
71407
|
*
|
|
@@ -70658,6 +71409,7 @@ export type CustomElementsSolidJs = {
|
|
|
70658
71409
|
*
|
|
70659
71410
|
* Areas where markup can be added to the component.
|
|
70660
71411
|
*
|
|
71412
|
+
* - `clear-icon`: Replaces the cross on the clear button, under `clearable`.
|
|
70661
71413
|
* - `end`: Content after the date, before the trigger, such as a clear button.
|
|
70662
71414
|
* - `feedback`: The error message under the field.
|
|
70663
71415
|
* - `hint`: The help text under the field.
|
|
@@ -70733,6 +71485,7 @@ export type CustomElementsSolidJs = {
|
|
|
70733
71485
|
*
|
|
70734
71486
|
* Custom selectors for styling elements within the component.
|
|
70735
71487
|
*
|
|
71488
|
+
* - `clear`: The button that empties the field, under `clearable`, while it holds a date.
|
|
70736
71489
|
* - `control`: The text input.
|
|
70737
71490
|
* - `date`: One held date, as a tag, in `multiple`.
|
|
70738
71491
|
* - `date-cell`: The tag's grid cell, which a tag draws only inside a tag group.
|
|
@@ -70774,8 +71527,10 @@ export type CustomElementsSolidJs = {
|
|
|
70774
71527
|
* - `picker-periods`: The grid of months or years.
|
|
70775
71528
|
* - `picker-previous`: The control that moves to the previous month.
|
|
70776
71529
|
* - `picker-previous-mark`: The icon on the previous month control.
|
|
71530
|
+
* - `picker-selection`: The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.
|
|
70777
71531
|
* - `picker-week`: One row of days.
|
|
70778
71532
|
* - `picker-weekday`: A column header naming a day of the week.
|
|
71533
|
+
* - `range-separator`: The dash between a range's two rows of segments, in `segmented`, beside `literal`.
|
|
70779
71534
|
* - `rest`: The count of dates beyond the ones shown. It is a `<button>` with `expandable` and a `<span>` without it.
|
|
70780
71535
|
* - `segment`: One part of the date, a year, a month or a day, in `segmented`.
|
|
70781
71536
|
* - `segment-placeholder`: A segment with nothing in it yet. Applied with `segment`.
|
|
@@ -70789,6 +71544,7 @@ export type CustomElementsSolidJs = {
|
|
|
70789
71544
|
*
|
|
70790
71545
|
* These can be used to apply styling when a component is in a given state.
|
|
70791
71546
|
*
|
|
71547
|
+
* - `blank`: The field holds no date.
|
|
70792
71548
|
* - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
|
|
70793
71549
|
* - `open`: The calendar is open.
|
|
70794
71550
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -70811,9 +71567,11 @@ export type CustomElementsSolidJs = {
|
|
|
70811
71567
|
* **Dates are `YYYY-MM-DD` strings, and every calculation is in UTC**, because
|
|
70812
71568
|
* a local-time `Date` shifts across a time zone or daylight-saving boundary.
|
|
70813
71569
|
*
|
|
70814
|
-
* **The
|
|
70815
|
-
* locale's own where its months are the Gregorian months, as `th-TH`
|
|
70816
|
-
* 2569 for 2026, and `gregory` where they are not, as for `fa-IR
|
|
71570
|
+
* **The months are the ones `calendar` counts**: the Gregorian months for the
|
|
71571
|
+
* locale's own calendar where its months are the Gregorian months, as `th-TH`
|
|
71572
|
+
* writes 2569 for 2026, and `gregory` where they are not, as for `fa-IR`
|
|
71573
|
+
* with no `calendar`. Name a calendar with months of its own, such as
|
|
71574
|
+
* `persian`, and every view counts its days, months, and years from `Intl`.
|
|
70817
71575
|
*
|
|
70818
71576
|
* `month` sets which month the grid shows, separately from `value`, so paging
|
|
70819
71577
|
* selects nothing and you can control the view. When unset, it follows the
|
|
@@ -70821,7 +71579,14 @@ export type CustomElementsSolidJs = {
|
|
|
70821
71579
|
*
|
|
70822
71580
|
* `mode` sets how many dates are held. Unset holds one, `range` holds two and
|
|
70823
71581
|
* marks the dates between them, and `multiple` toggles each date. All three
|
|
70824
|
-
* read and write the same comma-separated `value`.
|
|
71582
|
+
* read and write the same comma-separated `value`. With a `mode`, the grid
|
|
71583
|
+
* carries `aria-multiselectable`. While a range holds one end, the grid draws
|
|
71584
|
+
* the range to the day under the pointer or the focus, marking those cells
|
|
71585
|
+
* `data-range-preview`.
|
|
71586
|
+
*
|
|
71587
|
+
* The chosen date, range, or count of dates is the grid's description, in a
|
|
71588
|
+
* region screen readers announce when it changes, as React Aria's calendars
|
|
71589
|
+
* do. `selection-label` words it.
|
|
70825
71590
|
*
|
|
70826
71591
|
* `max-view` makes the heading a button that steps back to the months of the
|
|
70827
71592
|
* year, and with `year` to a page of years, as Zag's date picker does. The
|
|
@@ -70856,14 +71621,16 @@ export type CustomElementsSolidJs = {
|
|
|
70856
71621
|
* `ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`
|
|
70857
71622
|
* for `fa-IR`.
|
|
70858
71623
|
*
|
|
70859
|
-
* `persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`,
|
|
70860
|
-
* `
|
|
70861
|
-
*
|
|
70862
|
-
*
|
|
70863
|
-
*
|
|
71624
|
+
* `persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,
|
|
71625
|
+
* `islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,
|
|
71626
|
+
* `indian`, `chinese`, and `dangi` draw a calendar with months of its own,
|
|
71627
|
+
* as React Aria's calendars do: each grid is one of that calendar's months,
|
|
71628
|
+
* the Hebrew and Chinese leap months and Ethiopia's five-day thirteenth
|
|
71629
|
+
* month included, and Previous, Next and the page keys move by those
|
|
71630
|
+
* months. With `max-view`, the months view shows that calendar's year, of
|
|
71631
|
+
* twelve or thirteen months, and the years view its years. `month` and
|
|
70864
71632
|
* `helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The
|
|
70865
|
-
*
|
|
70866
|
-
* months only. The value is `YYYY-MM-DD` in every calendar.
|
|
71633
|
+
* value is `YYYY-MM-DD` in every calendar.
|
|
70867
71634
|
* - `default-month`/`defaultMonth`: The month to open on when `month` is not set.
|
|
70868
71635
|
* - `disable-dates`/`disableDates`: Dates that cannot be chosen, as `YYYY-MM-DD`, separated by commas or
|
|
70869
71636
|
* spaces.
|
|
@@ -70926,6 +71693,11 @@ export type CustomElementsSolidJs = {
|
|
|
70926
71693
|
* value and stays reachable, which is what a form showing a value somebody
|
|
70927
71694
|
* else set needs.
|
|
70928
71695
|
* - `required`: Stops the form from submitting while no date is chosen.
|
|
71696
|
+
* - `selection-label`/`selectionLabel`: What a screen reader hears about the chosen dates: the grid's
|
|
71697
|
+
* description, said again whenever the dates change. `{kind}` is `date`,
|
|
71698
|
+
* `start` while a range holds one end, `range`, or `dates` for `multiple`.
|
|
71699
|
+
* `{start}` and `{end}` are dates written in `locale`, and `{count}` is how
|
|
71700
|
+
* many dates are chosen.
|
|
70929
71701
|
* - `step`: How far apart the selectable dates are, in days.
|
|
70930
71702
|
*
|
|
70931
71703
|
* `<input type="date" step>`'s own unit, counted from `min` where there is
|
|
@@ -71080,6 +71852,13 @@ export type CustomElementsSolidJs = {
|
|
|
71080
71852
|
* Date Input calls this when its trigger opens the calendar, which is where
|
|
71081
71853
|
* the APG date picker dialog puts focus. The host is not focusable, so a
|
|
71082
71854
|
* plain `focus()` on it did nothing and focus stayed on the trigger.
|
|
71855
|
+
* - `showChosen() => void`: Shows the days again, on the month of the chosen date, with the tab stop
|
|
71856
|
+
* on that date, forgetting the month and the day the reader browsed to.
|
|
71857
|
+
*
|
|
71858
|
+
* Date Input calls it each time its panel opens, which is where the APG
|
|
71859
|
+
* date picker dialog puts focus. Measured before this: from August 4, two
|
|
71860
|
+
* presses of Page Down, Escape, and Down again opened on October 4.
|
|
71861
|
+
* A `month` you set stays until the reader pages away from it.
|
|
71083
71862
|
* - `requestValue(next: string) => boolean`: Refuses every change while read-only. See `readOnly`.
|
|
71084
71863
|
* - `formResetCallback() => void`: Returns the control to its `defaultValue`, or to its `value` attribute
|
|
71085
71864
|
* where there is no `default-value`.
|
|
@@ -71143,7 +71922,7 @@ export type CustomElementsSolidJs = {
|
|
|
71143
71922
|
* Custom selectors for styling elements within the component.
|
|
71144
71923
|
*
|
|
71145
71924
|
* - `cell`: One column of a week row. A range is painted on the cells.
|
|
71146
|
-
* - `cell-range-end`: The cell of a range's last day, beside `cell
|
|
71925
|
+
* - `cell-range-end`: The cell of a range's last day, beside `cell`, or of the day a waiting range is drawn to.
|
|
71147
71926
|
* - `cell-range-middle`: A cell between a range's ends, beside `cell`.
|
|
71148
71927
|
* - `cell-range-start`: The cell of a range's first day, beside `cell`.
|
|
71149
71928
|
* - `day`: The shape inside a cell. A single chosen date is painted on it.
|
|
@@ -71169,6 +71948,7 @@ export type CustomElementsSolidJs = {
|
|
|
71169
71948
|
* - `periods`: The grid of months or years.
|
|
71170
71949
|
* - `previous`: The control that moves to the previous month.
|
|
71171
71950
|
* - `previous-mark`: The glyph on the previous month control, where none is slotted.
|
|
71951
|
+
* - `selection`: The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.
|
|
71172
71952
|
* - `week`: One row of days.
|
|
71173
71953
|
* - `weekday`: A column header naming a day of the week. It shows the short name and says the full one.
|
|
71174
71954
|
*
|
|
@@ -71176,7 +71956,11 @@ export type CustomElementsSolidJs = {
|
|
|
71176
71956
|
*
|
|
71177
71957
|
* These can be used to apply styling when a component is in a given state.
|
|
71178
71958
|
*
|
|
71179
|
-
* - `
|
|
71959
|
+
* - `blank`: While no date is chosen.
|
|
71960
|
+
* - `invalid`: While `invalid` is set, `feedback` says what is wrong, the picker holds a date outside `min` and `max` or one it bars, or it is `required`, holds no date, and the reader has answered once or a form has refused it.
|
|
71961
|
+
* - `month-view`: While the months of a year are shown, where `max-view` is set.
|
|
71962
|
+
* - `range-pending`: While a `range` holds its first end and waits for the second.
|
|
71963
|
+
* - `year-view`: While a page of years is shown, where `max-view` is `year`.
|
|
71180
71964
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
71181
71965
|
*/
|
|
71182
71966
|
"helix-headless-date-picker": Partial<
|
|
@@ -73818,20 +74602,22 @@ export type CustomElementsSolidJs = {
|
|
|
73818
74602
|
*
|
|
73819
74603
|
* **A date is written in a calendar Date Picker draws**: the locale's own
|
|
73820
74604
|
* where its months are the Gregorian months, as `th-TH` writes 2569 for 2026,
|
|
73821
|
-
* and `gregory` where they are not, as for `fa-IR`. `calendar` picks
|
|
73822
|
-
*
|
|
74605
|
+
* and `gregory` where they are not, as for `fa-IR`. `calendar` picks any of
|
|
74606
|
+
* them, `persian` and `hebrew` included.
|
|
73823
74607
|
*
|
|
73824
74608
|
* ## Attributes & Properties
|
|
73825
74609
|
*
|
|
73826
74610
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
73827
74611
|
*
|
|
73828
74612
|
* - `calendar`: The calendar a date is written in: `gregory`, `buddhist`, `japanese`,
|
|
73829
|
-
* `roc`, or `iso8601`,
|
|
73830
|
-
*
|
|
73831
|
-
*
|
|
73832
|
-
*
|
|
73833
|
-
*
|
|
73834
|
-
*
|
|
74613
|
+
* `roc`, or `iso8601`, or a calendar with months of its own, such as
|
|
74614
|
+
* `persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every
|
|
74615
|
+
* calendar Date Picker and Date Input draw.
|
|
74616
|
+
*
|
|
74617
|
+
* Absent is the locale's own where its months are the Gregorian months,
|
|
74618
|
+
* such as `buddhist` for `th-TH`, and `gregory` for every other, such as
|
|
74619
|
+
* `persian` for `fa-IR`, so a date written here reads as the same date a
|
|
74620
|
+
* Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405.
|
|
73835
74621
|
* - `date`: The timestamp, in any format `Date` can parse.
|
|
73836
74622
|
*
|
|
73837
74623
|
* An ISO string is what an API sends and what `<time datetime>` takes, so it
|
|
@@ -73850,6 +74636,9 @@ export type CustomElementsSolidJs = {
|
|
|
73850
74636
|
* - `date-style`/`dateStyle`: The locale's own pattern for the date: `full`, `long`, `medium`, or
|
|
73851
74637
|
* `short`. Set, it stands in for `weekday`, `day`, `month`, `year` and `era`.
|
|
73852
74638
|
* - `day`: How the day of the month is written, where a date is shown.
|
|
74639
|
+
* - `day-period`/`dayPeriod`: Writes the part of the day in words, such as "in the morning" or "at
|
|
74640
|
+
* night", in its `long`, `short`, or `narrow` form, where `hour` is on a
|
|
74641
|
+
* twelve-hour clock.
|
|
73853
74642
|
* - `elapsed`: Shows how long ago the timestamp was, in a compact form such as "3h", in
|
|
73854
74643
|
* place of the date.
|
|
73855
74644
|
*
|
|
@@ -73864,6 +74653,8 @@ export type CustomElementsSolidJs = {
|
|
|
73864
74653
|
* Off by default, which draws the date as one run of text, as Shoelace and
|
|
73865
74654
|
* Web Awesome do. An `elapsed` or `relative` reading is one phrase either
|
|
73866
74655
|
* way.
|
|
74656
|
+
* - `fractional-second-digits`/`fractionalSecondDigits`: How many digits of a fraction of a second to write after `second`: 1, 2,
|
|
74657
|
+
* or 3, as in 09:41:07.250.
|
|
73867
74658
|
* - `frozen`: Draws an `elapsed` or `relative` reading once and leaves it, where it
|
|
73868
74659
|
* would otherwise move on as it goes stale.
|
|
73869
74660
|
*
|
|
@@ -73901,7 +74692,9 @@ export type CustomElementsSolidJs = {
|
|
|
73901
74692
|
* - `time-zone`/`timeZone`: The time zone to read the timestamp in.
|
|
73902
74693
|
*
|
|
73903
74694
|
* Empty is the runtime's own.
|
|
73904
|
-
* - `time-zone-name`/`timeZoneName`: Shows the name of the time zone
|
|
74695
|
+
* - `time-zone-name`/`timeZoneName`: Shows the name of the time zone: `long` or `short`, as Pacific Daylight
|
|
74696
|
+
* Time or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or
|
|
74697
|
+
* `longGeneric` or `shortGeneric`, as Pacific Time or PT.
|
|
73905
74698
|
* - `weekday`: How the weekday is written, where one is shown.
|
|
73906
74699
|
* - `year`: How the year is written, where a date is shown.
|
|
73907
74700
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
@@ -73932,6 +74725,7 @@ export type CustomElementsSolidJs = {
|
|
|
73932
74725
|
* - `day`: The day of the month, with `fields`.
|
|
73933
74726
|
* - `day-period`: AM or PM, or the locale's word for the part of the day, with `fields`.
|
|
73934
74727
|
* - `era`: The era, such as AD, with `fields` and `era`.
|
|
74728
|
+
* - `fractional-second`: The fraction of a second, with `fields` and `fractional-second-digits`.
|
|
73935
74729
|
* - `hour`: The hour, with `fields`.
|
|
73936
74730
|
* - `minute`: The minute, with `fields`.
|
|
73937
74731
|
* - `month`: The month, with `fields`.
|
|
@@ -74905,6 +75699,7 @@ export type CustomElementsSolidJs = {
|
|
|
74905
75699
|
* These can be used to apply styling when a component is in a given state.
|
|
74906
75700
|
*
|
|
74907
75701
|
* - `pending`: The button is pending: `pending` is set.
|
|
75702
|
+
* - `pressed`: A Button Group in a selection mode has this button pressed.
|
|
74908
75703
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
74909
75704
|
*/
|
|
74910
75705
|
"helix-headless-icon-button": Partial<
|
|
@@ -75807,7 +76602,8 @@ export type CustomElementsSolidJs = {
|
|
|
75807
76602
|
* Each item is a `group` with the role description `slide`, named by its
|
|
75808
76603
|
* `label` or, without one, by its place in the set, such as "2 of 5", as the
|
|
75809
76604
|
* APG carousel pattern names a slide. The lightbox supplies both words, so they
|
|
75810
|
-
* are translated on the lightbox.
|
|
76605
|
+
* are translated on the lightbox. A `description`, while there is one,
|
|
76606
|
+
* describes the group, so a screen reader says it with the name.
|
|
75811
76607
|
*
|
|
75812
76608
|
* An item that is not current is hidden and stays in the DOM, as a `TabPanel`
|
|
75813
76609
|
* does. Crawlers can read it, it is in the server-rendered markup, and an
|
|
@@ -75892,9 +76688,10 @@ export type CustomElementsSolidJs = {
|
|
|
75892
76688
|
* buttons that send `--previous`, `--next` and `--close`.
|
|
75893
76689
|
*
|
|
75894
76690
|
* **Set `max-zoom` to let a reader zoom into the shown item**, such as `3`.
|
|
75895
|
-
* Two fingers pinch it,
|
|
75896
|
-
* about the point
|
|
75897
|
-
*
|
|
76691
|
+
* Two fingers pinch it, and so does a trackpad pinch or the wheel with Ctrl
|
|
76692
|
+
* held, about the point under the pointer. A double click or a double tap
|
|
76693
|
+
* zooms all the way in about the point pressed and back out, and once zoomed
|
|
76694
|
+
* one pointer drags it about and the wheel moves it. `+` and `-` zoom in and out from the keyboard, and `0` puts it back.
|
|
75898
76695
|
* The scale and the offset are on the `viewport` part as `--lightbox-zoom`,
|
|
75899
76696
|
* `--lightbox-pan-x` and `--lightbox-pan-y`, written only while zoomed, and a
|
|
75900
76697
|
* swipe moves to the next item only while the item is at its own size. With
|
|
@@ -76115,6 +76912,8 @@ export type CustomElementsSolidJs = {
|
|
|
76115
76912
|
*
|
|
76116
76913
|
* These can be used to apply styling when a component is in a given state.
|
|
76117
76914
|
*
|
|
76915
|
+
* - `entering`: From the moment the viewer opens until its entrance has finished.
|
|
76916
|
+
* - `exiting`: From the moment the viewer closes until its exit has finished.
|
|
76118
76917
|
* - `fullscreen`: While the viewer fills the screen.
|
|
76119
76918
|
* - `idle`: The user has been still long enough for the controls to hide.
|
|
76120
76919
|
* - `open`: While the viewer is open.
|
|
@@ -79764,6 +80563,7 @@ export type CustomElementsSolidJs = {
|
|
|
79764
80563
|
* - `time-day`: Format Date's `day`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
79765
80564
|
* - `time-day-period`: Format Date's `day-period`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
79766
80565
|
* - `time-era`: Format Date's `era`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
80566
|
+
* - `time-fractional-second`: Format Date's `fractional-second`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
79767
80567
|
* - `time-hour`: Format Date's `hour`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
79768
80568
|
* - `time-minute`: Format Date's `minute`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
79769
80569
|
* - `time-month`: Format Date's `month`, forwarded for a time drawn as fields. An elapsed time draws none.
|
|
@@ -84189,6 +84989,10 @@ export type CustomElementsSolidJs = {
|
|
|
84189
84989
|
* `min-steps-between-thumbs` keeps them that many steps apart, and the readout
|
|
84190
84990
|
* joins the two as `range-text` writes them.
|
|
84191
84991
|
*
|
|
84992
|
+
* A press on a range's track takes the nearest thumb to the point pressed,
|
|
84993
|
+
* and moving the pointer drags it, as React Aria's and Web Awesome's sliders
|
|
84994
|
+
* do. The thumb takes focus, and `change` is sent as the press ends.
|
|
84995
|
+
*
|
|
84192
84996
|
* `origin` sets where a single thumb's fill starts: at `min`, at the middle of
|
|
84193
84997
|
* the track, or at `max`. A balance or an offset from zero fills from the
|
|
84194
84998
|
* middle, as Zag's slider `origin` does. The fill's ends are published as
|
|
@@ -84213,7 +85017,7 @@ export type CustomElementsSolidJs = {
|
|
|
84213
85017
|
* |---|---|
|
|
84214
85018
|
* | Right, Up | Moves the thumb up by `step`. |
|
|
84215
85019
|
* | Left, Down | Moves the thumb down by `step`. |
|
|
84216
|
-
* | Page Up, Page Down | Moves the thumb by
|
|
85020
|
+
* | Page Up, Page Down | Moves the thumb by `page-step`, or by the platform's larger step where it is not set. |
|
|
84217
85021
|
* | Home, End | Moves the thumb to its lowest or highest value. |
|
|
84218
85022
|
*
|
|
84219
85023
|
* Under `readonly` none of these move the thumb, and Tab still reaches it.
|
|
@@ -84274,6 +85078,9 @@ export type CustomElementsSolidJs = {
|
|
|
84274
85078
|
* - `origin`: Where a single thumb's fill starts: `start` at `min`, `center` at the
|
|
84275
85079
|
* middle of the track, or `end` at `max`. Absent is `start`. A range fills
|
|
84276
85080
|
* between its thumbs and ignores it.
|
|
85081
|
+
* - `page-step`/`pageStep`: How far Page Up and Page Down move a thumb, in the slider's own units, as
|
|
85082
|
+
* React Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys
|
|
85083
|
+
* to the platform, which moves a tenth of the track.
|
|
84277
85084
|
* - `range`: Adds a second thumb, so the value is a pair.
|
|
84278
85085
|
*
|
|
84279
85086
|
* The pair is one string, `"10,50"`, which is what `value` and
|
|
@@ -84506,6 +85313,8 @@ export type CustomElementsSolidJs = {
|
|
|
84506
85313
|
*
|
|
84507
85314
|
* These can be used to apply styling when a component is in a given state.
|
|
84508
85315
|
*
|
|
85316
|
+
* - `dragging`: A thumb is being dragged, by its thumb or from a press on the track.
|
|
85317
|
+
* - `focus-visible`: A thumb has focus that the keyboard brought, where the browser draws a focus ring.
|
|
84509
85318
|
* - `invalid`: The slider has an error to show, from the browser's validation or from your `feedback`.
|
|
84510
85319
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
84511
85320
|
*/
|
|
@@ -85692,6 +86501,10 @@ export type CustomElementsSolidJs = {
|
|
|
85692
86501
|
* region. The current stage's button carries `aria-current="step"`, and only
|
|
85693
86502
|
* the button, so the state is said once, on the control.
|
|
85694
86503
|
*
|
|
86504
|
+
* A stage's `content`, while it holds anything, is a group named by the
|
|
86505
|
+
* stage's name, so a screen reader moving into it hears which stage it
|
|
86506
|
+
* belongs to.
|
|
86507
|
+
*
|
|
85695
86508
|
* ## Attributes & Properties
|
|
85696
86509
|
*
|
|
85697
86510
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -86754,10 +87567,18 @@ export type CustomElementsSolidJs = {
|
|
|
86754
87567
|
* the tab list lands on the panel's first link or control where there is one,
|
|
86755
87568
|
* and on the panel itself where there is none.
|
|
86756
87569
|
*
|
|
87570
|
+
* **Set `lazy` for a panel that is expensive to draw.** Its content waits in a
|
|
87571
|
+
* `<template>` inside it, and goes into the panel the first time the panel is
|
|
87572
|
+
* shown, so it costs nothing until a reader opens that tab. Once in, it stays.
|
|
87573
|
+
* The panel sends `helix-load` at the same moment, for content your code
|
|
87574
|
+
* renders itself.
|
|
87575
|
+
*
|
|
86757
87576
|
* ## Attributes & Properties
|
|
86758
87577
|
*
|
|
86759
87578
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
86760
87579
|
*
|
|
87580
|
+
* - `lazy`: Whether the panel's content waits in a `<template>` until the panel is
|
|
87581
|
+
* first shown.
|
|
86761
87582
|
* - `selected`: Whether this panel is the visible one.
|
|
86762
87583
|
* - `value`: Pairs the panel with the tab of the same value.
|
|
86763
87584
|
* - `label`: The name of the panel, which is the text of the tab that opens it.
|
|
@@ -86791,11 +87612,17 @@ export type CustomElementsSolidJs = {
|
|
|
86791
87612
|
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
86792
87613
|
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
86793
87614
|
*
|
|
87615
|
+
* ## Events
|
|
87616
|
+
*
|
|
87617
|
+
* Events that will be emitted by the component.
|
|
87618
|
+
*
|
|
87619
|
+
* - `helix-load`: Fired the first time a `lazy` panel is shown, once its template's content is in.
|
|
87620
|
+
*
|
|
86794
87621
|
* ## Slots
|
|
86795
87622
|
*
|
|
86796
87623
|
* Areas where markup can be added to the component.
|
|
86797
87624
|
*
|
|
86798
|
-
* - `(default)`: The panel's content.
|
|
87625
|
+
* - `(default)`: The panel's content. Under `lazy`, a `<template>` holding it.
|
|
86799
87626
|
*
|
|
86800
87627
|
* ## CSS Parts
|
|
86801
87628
|
*
|
|
@@ -86807,6 +87634,7 @@ export type CustomElementsSolidJs = {
|
|
|
86807
87634
|
*
|
|
86808
87635
|
* These can be used to apply styling when a component is in a given state.
|
|
86809
87636
|
*
|
|
87637
|
+
* - `loaded`: Once a `lazy` panel has been shown and its content is in.
|
|
86810
87638
|
* - `selected`: While its tab is the one selected.
|
|
86811
87639
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
86812
87640
|
*/
|
|
@@ -86859,9 +87687,9 @@ export type CustomElementsSolidJs = {
|
|
|
86859
87687
|
* | Enter, Space | Selects the tab with focus, or follows its link. |
|
|
86860
87688
|
* | Tab | Leaves the list for the selected panel. |
|
|
86861
87689
|
*
|
|
86862
|
-
* Removing the selected tab selects the
|
|
86863
|
-
* `active` says so, with `helix-activate`. Where
|
|
86864
|
-
* focus moves to the tab now selected.
|
|
87690
|
+
* Removing the selected tab selects the enabled tab beside it, the next one
|
|
87691
|
+
* or else the one before, and `active` says so, with `helix-activate`. Where
|
|
87692
|
+
* the removed tab had focus, focus moves to the tab now selected.
|
|
86865
87693
|
*
|
|
86866
87694
|
* **More tabs than fit.** With `scroll-controls`, a strip that scrolls shows a
|
|
86867
87695
|
* button at each end it can scroll toward, as Web Awesome's tab group does,
|
|
@@ -86967,6 +87795,8 @@ export type CustomElementsSolidJs = {
|
|
|
86967
87795
|
* - `(default)`: The tabs, as direct children of this element.
|
|
86968
87796
|
* - `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.
|
|
86969
87797
|
* - `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.
|
|
87798
|
+
* - `scroll-end-icon`: Replaces the glyph on the button that scrolls the strip toward its end.
|
|
87799
|
+
* - `scroll-start-icon`: Replaces the glyph on the button that scrolls the strip toward its start.
|
|
86970
87800
|
*
|
|
86971
87801
|
* ## Methods
|
|
86972
87802
|
*
|
|
@@ -86988,7 +87818,9 @@ export type CustomElementsSolidJs = {
|
|
|
86988
87818
|
* - `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.
|
|
86989
87819
|
* - `panels`: The panel container.
|
|
86990
87820
|
* - `scroll-end`: The button that scrolls the strip toward its end, shown under `scroll-controls` while there is more that way.
|
|
87821
|
+
* - `scroll-end-mark`: The glyph on that button, where none is slotted.
|
|
86991
87822
|
* - `scroll-start`: The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way.
|
|
87823
|
+
* - `scroll-start-mark`: The glyph on that button, where none is slotted.
|
|
86992
87824
|
* - `tabs`: The tab list.
|
|
86993
87825
|
*
|
|
86994
87826
|
* ## CSS States
|
|
@@ -87016,8 +87848,8 @@ export type CustomElementsSolidJs = {
|
|
|
87016
87848
|
* can: a press on its `dismiss` mark, or Delete or Backspace while the tab
|
|
87017
87849
|
* has focus, sends `helix-dismiss`. The tab does not remove itself, because
|
|
87018
87850
|
* your code owns the set, so remove the tab and its panel in your handler.
|
|
87019
|
-
* Focus moves to the tab beside it, and the tab
|
|
87020
|
-
*
|
|
87851
|
+
* Focus moves to the tab beside it, and where the tab was selected, the tab
|
|
87852
|
+
* set selects that same tab.
|
|
87021
87853
|
* The tab says the key through `aria-keyshortcuts`, and the mark is for the
|
|
87022
87854
|
* pointer, hidden from screen readers.
|
|
87023
87855
|
*
|
|
@@ -87074,6 +87906,7 @@ export type CustomElementsSolidJs = {
|
|
|
87074
87906
|
* Areas where markup can be added to the component.
|
|
87075
87907
|
*
|
|
87076
87908
|
* - `(default)`: The tab's label.
|
|
87909
|
+
* - `dismiss-icon`: Replaces the glyph on the mark that closes a `dismissible` tab.
|
|
87077
87910
|
*
|
|
87078
87911
|
* ## Methods
|
|
87079
87912
|
*
|
|
@@ -87098,6 +87931,7 @@ export type CustomElementsSolidJs = {
|
|
|
87098
87931
|
* Custom selectors for styling elements within the component.
|
|
87099
87932
|
*
|
|
87100
87933
|
* - `dismiss`: The mark a pointer presses to close a `dismissible` tab.
|
|
87934
|
+
* - `dismiss-mark`: The glyph on that mark, where none is slotted.
|
|
87101
87935
|
* - `tab`: The tab itself.
|
|
87102
87936
|
*
|
|
87103
87937
|
* ## CSS States
|
|
@@ -87662,20 +88496,25 @@ export type CustomElementsSolidJs = {
|
|
|
87662
88496
|
* `seconds`, because that is what the form
|
|
87663
88497
|
* submits, what `min` and `max` compare against, and what sorts correctly as a
|
|
87664
88498
|
* string. While idle, the field shows the time in the user's locale format.
|
|
87665
|
-
* Once the caret is in the field, it shows the value itself
|
|
87666
|
-
*
|
|
87667
|
-
*
|
|
88499
|
+
* Once the caret is in the field, it shows the value itself. You can type
|
|
88500
|
+
* `14:30`, or a time as you write one, such as `2:30 PM`, `2.30pm`, or
|
|
88501
|
+
* `14h30`, and the field reads it as you leave it, with AM and PM in the
|
|
88502
|
+
* locale's words.
|
|
87668
88503
|
*
|
|
87669
88504
|
* Typing sends `input` on each keystroke and `change` when you leave the
|
|
87670
88505
|
* field. The trigger and ArrowDown open the list, and so does a press into the
|
|
87671
|
-
* field; Tab into the field opens nothing.
|
|
88506
|
+
* field; Tab into the field opens nothing. The text field is a `combobox`
|
|
88507
|
+
* with `aria-haspopup="dialog"`, `aria-expanded`, and `aria-controls`, since
|
|
88508
|
+
* Down opens the list from it. In the list, the arrow keys, typed digits and PageUp and PageDown
|
|
87672
88509
|
* move through the times, and Enter, Space or a click chooses one and closes
|
|
87673
88510
|
* the panel. With `variant="wheels"` each wheel moves the time as you turn it,
|
|
87674
88511
|
* the panel stays open, and Enter or Escape closes it.
|
|
87675
88512
|
*
|
|
87676
88513
|
* With `segmented`, the field is a row of segments in place of the text: an
|
|
87677
88514
|
* hour, a minute, and AM or PM where the clock has them, each set with digits
|
|
87678
|
-
* or the arrow keys. Alt+Down opens the list from a segment.
|
|
88515
|
+
* or the arrow keys. Alt+Down opens the list from a segment. A `range` is two
|
|
88516
|
+
* rows with a dash between them, the start and the end, and `multiple` keeps
|
|
88517
|
+
* the text.
|
|
87679
88518
|
*
|
|
87680
88519
|
* Text that is not a time gives the form an empty value, as a native time
|
|
87681
88520
|
* field does, and `value` keeps the text so it can be corrected.
|
|
@@ -87707,6 +88546,10 @@ export type CustomElementsSolidJs = {
|
|
|
87707
88546
|
*
|
|
87708
88547
|
* Empty leaves the attribute off, which is the browser's default and is what
|
|
87709
88548
|
* lets autofill work at all.
|
|
88549
|
+
* - `clearable`: Whether the field shows a button that empties it, as Input's `clearable`
|
|
88550
|
+
* does. Shown only while the field holds something to clear and is neither
|
|
88551
|
+
* disabled nor read-only.
|
|
88552
|
+
* - `clear-label`/`clearLabel`: The accessible name of the clear button, which shows only an icon.
|
|
87710
88553
|
* - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
87711
88554
|
*
|
|
87712
88555
|
* Handed to the list, which offers them as unavailable, and checked against
|
|
@@ -87755,6 +88598,8 @@ export type CustomElementsSolidJs = {
|
|
|
87755
88598
|
* never something this element would refuse to read back.
|
|
87756
88599
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the list, read by screen readers.
|
|
87757
88600
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-times` bars a time.
|
|
88601
|
+
* - `unreadable-message`/`unreadableMessage`: The message for text that is no time, where `bad-input-message` is not
|
|
88602
|
+
* set. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`.
|
|
87758
88603
|
* - `variant`: Whether the panel shows one list of times or a column for each part of the
|
|
87759
88604
|
* time.
|
|
87760
88605
|
*
|
|
@@ -87777,6 +88622,10 @@ export type CustomElementsSolidJs = {
|
|
|
87777
88622
|
* - `incomplete-message`/`incompleteMessage`: What a row of segments reports while some segments are set and others
|
|
87778
88623
|
* are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
87779
88624
|
* `time`.
|
|
88625
|
+
* - `range-end-label`/`rangeEndLabel`: What a screen reader hears before the segments of a range's second date
|
|
88626
|
+
* or time, after each segment's own name.
|
|
88627
|
+
* - `range-start-label`/`rangeStartLabel`: What a screen reader hears before the segments of a range's first date
|
|
88628
|
+
* or time, after each segment's own name: "month, Start, Stay".
|
|
87780
88629
|
* - `segmented`: Whether the field is a row of segments, one for each part of the date or
|
|
87781
88630
|
* time, in place of a line of text.
|
|
87782
88631
|
*
|
|
@@ -87928,6 +88777,7 @@ export type CustomElementsSolidJs = {
|
|
|
87928
88777
|
* - `helix-before-change`: Fired before the time changes. Cancelable: canceling it stops the change and leaves the decision to you.
|
|
87929
88778
|
* - `helix-before-close`: Fired before the list closes. Cancelable: canceling it keeps the list open and leaves the decision to you.
|
|
87930
88779
|
* - `helix-before-open`: Fired before the list opens. Cancelable: canceling it keeps the list closed and leaves the decision to you.
|
|
88780
|
+
* - `helix-clear`: Fired after the clear button has emptied the field, after `input` and `change`.
|
|
87931
88781
|
* - `input`: Fired after the value changes.
|
|
87932
88782
|
* - `toggle`: Fired after the list opens or closes, with `newState` and `oldState`.
|
|
87933
88783
|
*
|
|
@@ -87935,6 +88785,7 @@ export type CustomElementsSolidJs = {
|
|
|
87935
88785
|
*
|
|
87936
88786
|
* Areas where markup can be added to the component.
|
|
87937
88787
|
*
|
|
88788
|
+
* - `clear-icon`: Replaces the cross on the clear button, under `clearable`.
|
|
87938
88789
|
* - `end`: Content after the time, before the trigger, such as a clear button.
|
|
87939
88790
|
* - `feedback`: The message that says what is wrong with the value.
|
|
87940
88791
|
* - `hint`: Help under the field.
|
|
@@ -88008,6 +88859,7 @@ export type CustomElementsSolidJs = {
|
|
|
88008
88859
|
*
|
|
88009
88860
|
* Custom selectors for styling elements within the component.
|
|
88010
88861
|
*
|
|
88862
|
+
* - `clear`: The button that empties the field, under `clearable`, while it holds a time.
|
|
88011
88863
|
* - `control`: The text input.
|
|
88012
88864
|
* - `feedback`: The message that says what is wrong with the value.
|
|
88013
88865
|
* - `field`: The box that holds the text and the trigger.
|
|
@@ -88053,6 +88905,7 @@ export type CustomElementsSolidJs = {
|
|
|
88053
88905
|
* - `picker-option-item-selected`: The row of a chosen time: the one time, or either end of a range.
|
|
88054
88906
|
* - `picker-option-label`: The option's label.
|
|
88055
88907
|
* - `picker-option-text`: The label and the caption, as one column.
|
|
88908
|
+
* - `range-separator`: The dash between a range's two rows of segments, in `segmented`, beside `literal`.
|
|
88056
88909
|
* - `rest`: The count of times held beyond the ones shown. A `<button>` with `expandable`, and a `<span>` without it.
|
|
88057
88910
|
* - `segment`: One part of the time, an hour, a minute, a second or AM and PM, in `segmented`.
|
|
88058
88911
|
* - `segment-placeholder`: A segment with nothing in it yet. Applied with `segment`.
|
|
@@ -88073,6 +88926,7 @@ export type CustomElementsSolidJs = {
|
|
|
88073
88926
|
*
|
|
88074
88927
|
* These can be used to apply styling when a component is in a given state.
|
|
88075
88928
|
*
|
|
88929
|
+
* - `blank`: The field holds no time.
|
|
88076
88930
|
* - `invalid`: The control has an error to show, from the browser's validation or from your `feedback`.
|
|
88077
88931
|
* - `open`: While the clock is open.
|
|
88078
88932
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -88129,7 +88983,10 @@ export type CustomElementsSolidJs = {
|
|
|
88129
88983
|
* host's `aria-label` or its `aria-labelledby`. A development build warns
|
|
88130
88984
|
* where all four are empty. The list is described by the hint, or by the
|
|
88131
88985
|
* message in `feedback` in its place, and carries `aria-multiselectable` with
|
|
88132
|
-
* a `mode
|
|
88986
|
+
* a `mode`. It carries `aria-invalid` while `feedback` says what is wrong,
|
|
88987
|
+
* while it holds a time outside `min` and `max` or one the picker does not
|
|
88988
|
+
* offer, and, for a `required` picker with no time, once the reader has
|
|
88989
|
+
* chosen one or a form has refused the picker. The wheels
|
|
88133
88990
|
* are a `group` with that name, holding one `listbox` per wheel, named "Hour",
|
|
88134
88991
|
* "Minute", "Second" and "AM/PM" in the page's language, and each described
|
|
88135
88992
|
* the same way.
|
|
@@ -88487,7 +89344,7 @@ export type CustomElementsSolidJs = {
|
|
|
88487
89344
|
* - `list-loading`: The text shown while the options load.
|
|
88488
89345
|
* - `list-search`: The region that holds the filter field.
|
|
88489
89346
|
* - `list-search-field`: The filter field.
|
|
88490
|
-
* - `option`: One time in the list. It carries `data-between` inside a range.
|
|
89347
|
+
* - `option`: One time in the list. It carries `data-between` inside a range, and inside the run to the time under the pointer while a range waits for its second end.
|
|
88491
89348
|
* - `option-between`: A time inside a chosen range, excluding its ends, beside `option`.
|
|
88492
89349
|
* - `option-description`: The caption under the time's label, when there is one.
|
|
88493
89350
|
* - `option-item`: The row.
|
|
@@ -88501,7 +89358,8 @@ export type CustomElementsSolidJs = {
|
|
|
88501
89358
|
* These can be used to apply styling when a component is in a given state.
|
|
88502
89359
|
*
|
|
88503
89360
|
* - `blank`: While no time is chosen.
|
|
88504
|
-
* - `invalid`: While `invalid` is set
|
|
89361
|
+
* - `invalid`: While `invalid` is set, `feedback` says what is wrong, or the list carries `aria-invalid`.
|
|
89362
|
+
* - `range-pending`: While a `range` holds its first time and waits for the second.
|
|
88505
89363
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
88506
89364
|
*/
|
|
88507
89365
|
"helix-headless-time-picker": Partial<
|
|
@@ -88737,8 +89595,9 @@ export type CustomElementsSolidJs = {
|
|
|
88737
89595
|
*
|
|
88738
89596
|
* **Each item runs its own timer.** A timer held by the region would restart
|
|
88739
89597
|
* with each new message, and the last of three messages would stay for nine
|
|
88740
|
-
* seconds. It pauses while the pointer or focus is on the message
|
|
88741
|
-
* the page is hidden, so a message is not
|
|
89598
|
+
* seconds. It pauses while the pointer or focus is on the message or anywhere
|
|
89599
|
+
* in the region's stack, and while the page is hidden, so a message is not
|
|
89600
|
+
* spent in a background tab.
|
|
88742
89601
|
*
|
|
88743
89602
|
* **Each message is an `alertdialog` named by its words**, which is how a reader
|
|
88744
89603
|
* who moves into the stack hears which message they are on. Give it a
|
|
@@ -88747,10 +89606,11 @@ export type CustomElementsSolidJs = {
|
|
|
88747
89606
|
* says each message once as it arrives, a `danger` one assertively, so a
|
|
88748
89607
|
* message is never a live region of its own.
|
|
88749
89608
|
*
|
|
88750
|
-
* A touch or a pen swipes a message toward the end of the line,
|
|
88751
|
-
*
|
|
88752
|
-
*
|
|
88753
|
-
* `--toast-swipe-x
|
|
89609
|
+
* A touch or a pen swipes a message toward the end of the line, or toward the
|
|
89610
|
+
* edge the region's `swipe-direction` names, and past halfway, or quickly,
|
|
89611
|
+
* dismisses it through the same `helix-dismiss` as its control. While it
|
|
89612
|
+
* moves, the distance is on the `item` part as `--toast-swipe-x` or
|
|
89613
|
+
* `--toast-swipe-y`.
|
|
88754
89614
|
*
|
|
88755
89615
|
* **Escape dismisses the message holding focus**, through the same
|
|
88756
89616
|
* `helix-dismiss`, and focus moves to the next message.
|
|
@@ -88852,6 +89712,7 @@ export type CustomElementsSolidJs = {
|
|
|
88852
89712
|
*
|
|
88853
89713
|
* - `--toast-duration`: How long this message stays, in milliseconds, for a progress hint.
|
|
88854
89714
|
* - `--toast-swipe-x`: How far a swipe has moved the message across, in pixels, toward the right.
|
|
89715
|
+
* - `--toast-swipe-y`: How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`.
|
|
88855
89716
|
*
|
|
88856
89717
|
* ## CSS Parts
|
|
88857
89718
|
*
|
|
@@ -88873,7 +89734,7 @@ export type CustomElementsSolidJs = {
|
|
|
88873
89734
|
* These can be used to apply styling when a component is in a given state.
|
|
88874
89735
|
*
|
|
88875
89736
|
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
88876
|
-
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
89737
|
+
* - `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.
|
|
88877
89738
|
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
88878
89739
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
88879
89740
|
*/
|
|
@@ -88915,7 +89776,12 @@ export type CustomElementsSolidJs = {
|
|
|
88915
89776
|
* to render them from: it appends a message of the region's own tier and
|
|
88916
89777
|
* removes it once it has been dismissed and has finished leaving. Messages
|
|
88917
89778
|
* you render yourself stay yours, and the region never removes them. A touch
|
|
88918
|
-
* or a pen swipes a message away toward the end of the line
|
|
89779
|
+
* or a pen swipes a message away toward the end of the line, or toward the
|
|
89780
|
+
* edge `swipe-direction` names.
|
|
89781
|
+
*
|
|
89782
|
+
* **Every message's timer waits while a pointer or focus is in the stack**, as
|
|
89783
|
+
* React Aria's and Radix's regions do, so a reader moving from one message to
|
|
89784
|
+
* the next does not lose the one behind them.
|
|
88919
89785
|
*
|
|
88920
89786
|
* **The stack is in the top layer.** The `region` part is a `popover="manual"`
|
|
88921
89787
|
* shown while a message is showing, and shown again above a modal dialog that
|
|
@@ -88980,6 +89846,8 @@ export type CustomElementsSolidJs = {
|
|
|
88980
89846
|
* consumer's server markup does not have. A sheet carries the resting
|
|
88981
89847
|
* arrangement in its own `:host` rule and the selectors describe only the
|
|
88982
89848
|
* departures, which is what `orientation` does.
|
|
89849
|
+
* - `swipe-direction`/`swipeDirection`: The edge a touch or a pen swipes a message toward to dismiss it: `end`,
|
|
89850
|
+
* the end of the line, or `start`, `top` or `bottom`. Unset is `end`.
|
|
88983
89851
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
88984
89852
|
*
|
|
88985
89853
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -89087,7 +89955,7 @@ export type CustomElementsSolidJs = {
|
|
|
89087
89955
|
* | Right, Down | Moves to the next item, from the last back to the first. In a single group, chooses it. |
|
|
89088
89956
|
* | Left, Up | Moves to the item before, from the first round to the last. In a single group, chooses it. |
|
|
89089
89957
|
* | Home, End | Moves to the first or the last item. In a single group, chooses it. |
|
|
89090
|
-
* | Space, Enter | Chooses the focused item, or presses or releases it in a multiple group. |
|
|
89958
|
+
* | Space, Enter | Chooses the focused item, or presses or releases it in a multiple group. With `allow-empty-selection`, takes back the chosen item. |
|
|
89091
89959
|
*
|
|
89092
89960
|
* Left and Right swap on a right-to-left page, and a disabled item is passed
|
|
89093
89961
|
* over. A single group is a `radiogroup` of items with `role="radio"` and
|
|
@@ -89099,6 +89967,11 @@ export type CustomElementsSolidJs = {
|
|
|
89099
89967
|
*
|
|
89100
89968
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
89101
89969
|
*
|
|
89970
|
+
* - `allow-empty-selection`/`allowEmptySelection`: Whether a press on the chosen item, or Space or Enter on it, takes it
|
|
89971
|
+
* back so nothing is chosen, as React Aria's `ToggleButtonGroup` and
|
|
89972
|
+
* Radix's `ToggleGroup` do in a single group. Absent, a single group always
|
|
89973
|
+
* keeps its choice once it has one, as a radio group does. A multiple group
|
|
89974
|
+
* releases a pressed item either way.
|
|
89102
89975
|
* - `label-placement`/`labelPlacement`: Where the group's label sits. `start` puts it on the track's line.
|
|
89103
89976
|
*
|
|
89104
89977
|
* Absent is above, which is what a field looks like and what almost every
|
|
@@ -89444,13 +90317,13 @@ export type CustomElementsSolidJs = {
|
|
|
89444
90317
|
*
|
|
89445
90318
|
* Custom selectors for styling elements within the component.
|
|
89446
90319
|
*
|
|
89447
|
-
* - `item`: The radio button.
|
|
90320
|
+
* - `item`: The button: a radio in a group where one is chosen, and a button with `aria-pressed` on its own or in a group where several can be.
|
|
89448
90321
|
*
|
|
89449
90322
|
* ## CSS States
|
|
89450
90323
|
*
|
|
89451
90324
|
* These can be used to apply styling when a component is in a given state.
|
|
89452
90325
|
*
|
|
89453
|
-
* - `pressed`: The item is pressed, in a group where several can be.
|
|
90326
|
+
* - `pressed`: The item is pressed, on its own or in a group where several can be.
|
|
89454
90327
|
* - `selected`: The item is chosen.
|
|
89455
90328
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
89456
90329
|
*/
|
|
@@ -89861,6 +90734,17 @@ export type CustomElementsSolidJs = {
|
|
|
89861
90734
|
* least distance that brings it on screen, so the stop that points at it is
|
|
89862
90735
|
* on screen too.
|
|
89863
90736
|
*
|
|
90737
|
+
* **A stop's `effect` runs as the tour reaches it**, before it is shown, and
|
|
90738
|
+
* the stop waits for a promise it returns, with `:state(preparing)` on the
|
|
90739
|
+
* tour meanwhile. A function it returns runs when the tour leaves the stop.
|
|
90740
|
+
*
|
|
90741
|
+
* **A press outside the current stop and its target does nothing by
|
|
90742
|
+
* default**, so a reader can use the page the tour is describing. Set
|
|
90743
|
+
* `outside-press="close"` to end the tour on one, through `helix-before-close`
|
|
90744
|
+
* as Skip does, or `outside-press="block"` to refuse it, so the stop and its
|
|
90745
|
+
* target are all a pointer can reach while the tour runs, as Zag's
|
|
90746
|
+
* `preventInteraction` does.
|
|
90747
|
+
*
|
|
89864
90748
|
* **Keyboard.** Focus is on the current stop's panel, which is not in the
|
|
89865
90749
|
* `Tab` order itself.
|
|
89866
90750
|
*
|
|
@@ -89898,6 +90782,9 @@ export type CustomElementsSolidJs = {
|
|
|
89898
90782
|
* `undefined` until somebody sets one.
|
|
89899
90783
|
* - `label`: The tour's name, read by screen readers, such as "Getting started".
|
|
89900
90784
|
* - `next-label`/`nextLabel`: Label for the control that goes on.
|
|
90785
|
+
* - `outside-press`/`outsidePress`: What a press outside the current stop and its target does while the tour
|
|
90786
|
+
* runs. Unset, nothing: the page stays usable. `close` ends the tour, as
|
|
90787
|
+
* Skip does, and `block` refuses the press.
|
|
89901
90788
|
* - `progress`: Draws each stop's place in the run in its panel, as well as saying it.
|
|
89902
90789
|
* - `progress-label`/`progressLabel`: Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
89903
90790
|
* written in the locale. Translate it with the rest of your text.
|
|
@@ -90001,6 +90888,7 @@ export type CustomElementsSolidJs = {
|
|
|
90001
90888
|
* These can be used to apply styling when a component is in a given state.
|
|
90002
90889
|
*
|
|
90003
90890
|
* - `open`: While the tour is running.
|
|
90891
|
+
* - `preparing`: While the tour waits for the current stop's `effect` before showing the stop.
|
|
90004
90892
|
* - `waiting`: While the tour waits at a `wait` stop for its target to be on the page.
|
|
90005
90893
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
90006
90894
|
*/
|
|
@@ -90037,6 +90925,13 @@ export type CustomElementsSolidJs = {
|
|
|
90037
90925
|
* get Back, Next, and Skip, already wired. Slot your own `actions` and drive
|
|
90038
90926
|
* them with `next()`, `back()`, and `skip()` on the root.
|
|
90039
90927
|
*
|
|
90928
|
+
* **Set `effect` to prepare the page for a stop**, such as opening the menu
|
|
90929
|
+
* it points into or loading what it describes. It is a function, set from
|
|
90930
|
+
* script, that the tour runs as it reaches the stop. Return a promise and the
|
|
90931
|
+
* stop waits for it, and the tour has `:state(preparing)` meanwhile; return a
|
|
90932
|
+
* function, or resolve to one, and the tour runs it when it leaves the stop.
|
|
90933
|
+
* Zag's tour step has the same `effect`.
|
|
90934
|
+
*
|
|
90040
90935
|
* **`for` is an id, as with `Tooltip`**, so you can point at a target elsewhere
|
|
90041
90936
|
* on the page from markup. It resolves against the stop's root node, so a stop
|
|
90042
90937
|
* inside a shadow tree points at a target in that tree.
|
|
@@ -90078,6 +90973,8 @@ export type CustomElementsSolidJs = {
|
|
|
90078
90973
|
*
|
|
90079
90974
|
* Reflected, because the styled tier places a dialog and a floating panel by
|
|
90080
90975
|
* it, and unset at rest, so no default is written onto the host.
|
|
90976
|
+
* - `effect`: Run as the tour reaches the stop, before it is shown: see the description
|
|
90977
|
+
* above. A function, so it is set from script and has no attribute. (property only)
|
|
90081
90978
|
* - `target`: The element the stop points at, or `null` when no element has the `for` id. (property only) (readonly)
|
|
90082
90979
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
90083
90980
|
*
|
|
@@ -90160,6 +91057,8 @@ export type CustomElementsSolidJs = {
|
|
|
90160
91057
|
*
|
|
90161
91058
|
* These can be used to apply styling when a component is in a given state.
|
|
90162
91059
|
*
|
|
91060
|
+
* - `entering`: From the moment the stop is shown until its entrance has finished.
|
|
91061
|
+
* - `exiting`: From the moment the stop is left until its exit has finished.
|
|
90163
91062
|
* - `placed-bottom`: The panel sits below its target.
|
|
90164
91063
|
* - `placed-left`: The panel sits to the left of its target.
|
|
90165
91064
|
* - `placed-right`: The panel sits to the right of its target.
|
|
@@ -91932,6 +92831,8 @@ export type CustomCssProperties = {
|
|
|
91932
92831
|
"--toast-duration"?: (string) | undefined;
|
|
91933
92832
|
/** How far a swipe has moved the message across, in pixels, toward the right. */
|
|
91934
92833
|
"--toast-swipe-x"?: (string) | undefined;
|
|
92834
|
+
/** How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`. */
|
|
92835
|
+
"--toast-swipe-y"?: (string) | undefined;
|
|
91935
92836
|
/** The lit box's height, in pixels, padding included. Written on the spotlight while it lights a target. */
|
|
91936
92837
|
"--tour-spotlight-height"?: (string) | undefined;
|
|
91937
92838
|
/** The lit box's width, in pixels, padding included. Written on the spotlight while it lights a target. */
|