@fusion.dev/helix-headless 0.157.0 → 0.158.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 +178 -22
- package/dist/command/root/command-root.d.ts +19 -5
- package/dist/command/root/command-root.js +14 -4
- package/dist/data-table/root/data-table-root.js +5 -2
- package/dist/list/item/list-item.d.ts +15 -1
- package/dist/list/item/list-item.js +20 -1
- package/dist/list/root/list-root.d.ts +29 -1
- package/dist/list/root/list-root.js +44 -10
- package/dist/listbox/root/listbox-root.d.ts +19 -2
- package/dist/listbox/root/listbox-root.js +16 -8
- package/dist/map/root/map-root.d.ts +4 -0
- package/dist/map/root/map-root.js +1 -1
- package/dist/menu/item/menu-item.js +1 -1
- package/dist/menu/root/menu-root.d.ts +6 -2
- package/dist/menu/root/menu-root.js +9 -2
- package/dist/number-input/root/number-input-root.d.ts +7 -4
- package/dist/number-input/root/number-input-root.js +3 -3
- package/dist/progress/root/progress-root.js +1 -1
- package/dist/select/root/select-root.d.ts +8 -1
- package/dist/select/root/select-root.js +8 -5
- package/dist/skeleton/root/skeleton-root.d.ts +2 -1
- package/dist/skeleton/root/skeleton-root.js +1 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +208 -40
- package/types/vue.d.ts +48 -9
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-headless",
|
|
3
3
|
"description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.158.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -49,13 +49,13 @@
|
|
|
49
49
|
},
|
|
50
50
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@fusion.dev/helix-core": "0.
|
|
53
|
-
"@fusion.dev/helix-icons": "0.
|
|
52
|
+
"@fusion.dev/helix-core": "0.158.0",
|
|
53
|
+
"@fusion.dev/helix-icons": "0.158.0",
|
|
54
54
|
"uqr": "^0.1.3"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@fusion.dev/helix-cem": "0.
|
|
58
|
-
"@fusion.dev/helix-testing": "0.
|
|
57
|
+
"@fusion.dev/helix-cem": "0.158.0",
|
|
58
|
+
"@fusion.dev/helix-testing": "0.158.0",
|
|
59
59
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
60
60
|
"@happy-dom/global-registrator": "^20.14.5",
|
|
61
61
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -8419,6 +8419,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8419
8419
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8420
8420
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8421
8421
|
open?: (HelixHeadlessCommand["open"]) | undefined;
|
|
8422
|
+
/** Whether a command is kept by the filter: a function given the command's
|
|
8423
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
8424
|
+
React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
8425
|
+
|
|
8426
|
+
Absent, a command is kept where its words hold the filter, in any case. A
|
|
8427
|
+
property only, there being no way to write a function in markup. */
|
|
8428
|
+
filterMatch?: (HelixHeadlessCommand["filterMatch"]) | undefined;
|
|
8422
8429
|
/** The commands as data, for a palette too long to draw whole: each a value,
|
|
8423
8430
|
which is also its words, or a record with a `value`, a `label` and
|
|
8424
8431
|
`disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -8548,6 +8555,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8548
8555
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8549
8556
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8550
8557
|
"prop:open"?: (HelixHeadlessCommand["open"]) | undefined;
|
|
8558
|
+
/** Whether a command is kept by the filter: a function given the command's
|
|
8559
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
8560
|
+
React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
8561
|
+
|
|
8562
|
+
Absent, a command is kept where its words hold the filter, in any case. A
|
|
8563
|
+
property only, there being no way to write a function in markup. */
|
|
8564
|
+
"prop:filterMatch"?: (HelixHeadlessCommand["filterMatch"]) | undefined;
|
|
8551
8565
|
/** The commands as data, for a palette too long to draw whole: each a value,
|
|
8552
8566
|
which is also its words, or a record with a `value`, a `label` and
|
|
8553
8567
|
`disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -17395,7 +17409,9 @@ Not reflected, as a state never is. `row-current` is the part a
|
|
|
17395
17409
|
stylesheet draws it from. */
|
|
17396
17410
|
current?: (HelixHeadlessListItem["current"]) | undefined;
|
|
17397
17411
|
/** Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
17398
|
-
pass over it and it cannot be selected or acted on.
|
|
17412
|
+
pass over it and it cannot be selected or acted on. In a list with
|
|
17413
|
+
`disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
17414
|
+
acted on as any row is. */
|
|
17399
17415
|
disabled?: (HelixHeadlessListItem["disabled"]) | undefined;
|
|
17400
17416
|
/** The URL the row links to. Leave it empty for a row that is not a link.
|
|
17401
17417
|
|
|
@@ -17431,6 +17447,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
|
|
|
17431
17447
|
Written by the list from its own `value`, and unset where nothing can be
|
|
17432
17448
|
selected, which keeps `aria-selected` off a list that does not select. */
|
|
17433
17449
|
selected?: (HelixHeadlessListItem["selected"]) | undefined;
|
|
17450
|
+
/** Whether `disabled` takes the row out of selection alone, written by a list
|
|
17451
|
+
with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
17452
|
+
between elements, as `focusable` is. */
|
|
17453
|
+
selectionOnly?: (HelixHeadlessListItem["selectionOnly"]) | undefined;
|
|
17434
17454
|
|
|
17435
17455
|
/** The reader pressed Enter on the row, or pressed the row in a list that selects nothing, in a list with `selection-mode`. Read the row from `target`. A row with `href` follows its link instead. */
|
|
17436
17456
|
"onhelix-action"?: ((e: HelixHeadlessListItemHelixActionElementEvent) => void) | undefined;
|
|
@@ -17446,7 +17466,9 @@ Not reflected, as a state never is. `row-current` is the part a
|
|
|
17446
17466
|
stylesheet draws it from. */
|
|
17447
17467
|
"prop:current"?: (HelixHeadlessListItem["current"]) | undefined;
|
|
17448
17468
|
/** Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
17449
|
-
pass over it and it cannot be selected or acted on.
|
|
17469
|
+
pass over it and it cannot be selected or acted on. In a list with
|
|
17470
|
+
`disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
17471
|
+
acted on as any row is. */
|
|
17450
17472
|
"prop:disabled"?: (HelixHeadlessListItem["disabled"]) | undefined;
|
|
17451
17473
|
/** The URL the row links to. Leave it empty for a row that is not a link.
|
|
17452
17474
|
|
|
@@ -17482,6 +17504,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
|
|
|
17482
17504
|
Written by the list from its own `value`, and unset where nothing can be
|
|
17483
17505
|
selected, which keeps `aria-selected` off a list that does not select. */
|
|
17484
17506
|
"prop:selected"?: (HelixHeadlessListItem["selected"]) | undefined;
|
|
17507
|
+
/** Whether `disabled` takes the row out of selection alone, written by a list
|
|
17508
|
+
with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
17509
|
+
between elements, as `focusable` is. */
|
|
17510
|
+
"prop:selectionOnly"?: (HelixHeadlessListItem["selectionOnly"]) | undefined;
|
|
17485
17511
|
/** The reader pressed Enter on the row, or pressed the row in a list that selects nothing, in a list with `selection-mode`. Read the row from `target`. A row with `href` follows its link instead. */
|
|
17486
17512
|
"on:helix-action"?: ((e: HelixHeadlessListItemHelixActionElementEvent) => void) | undefined;
|
|
17487
17513
|
|
|
@@ -17519,6 +17545,20 @@ refused, in a `reorderable` list. */
|
|
|
17519
17545
|
/** What screen readers hear when a held row is put back, or a move is
|
|
17520
17546
|
refused, in a `reorderable` list. */
|
|
17521
17547
|
canceledLabel?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
17548
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17549
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17550
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17551
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17552
|
+
|
|
17553
|
+
Absent is `all`. */
|
|
17554
|
+
"disabled-behavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17555
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17556
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17557
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17558
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17559
|
+
|
|
17560
|
+
Absent is `all`. */
|
|
17561
|
+
disabledBehavior?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17522
17562
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
17523
17563
|
"dropped-label"?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
17524
17564
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
@@ -17651,6 +17691,20 @@ refused, in a `reorderable` list. */
|
|
|
17651
17691
|
/** What screen readers hear when a held row is put back, or a move is
|
|
17652
17692
|
refused, in a `reorderable` list. */
|
|
17653
17693
|
"prop:canceledLabel"?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
17694
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17695
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17696
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17697
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17698
|
+
|
|
17699
|
+
Absent is `all`. */
|
|
17700
|
+
"attr:disabled-behavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17701
|
+
/** What `disabled` takes from a row, in a list that selects: `all`, which
|
|
17702
|
+
passes over the row, or `selection`, which keeps the row out of the
|
|
17703
|
+
selection and lets the keys reach it and Enter or a press act on it, as
|
|
17704
|
+
React Aria's GridList takes `disabledBehavior`.
|
|
17705
|
+
|
|
17706
|
+
Absent is `all`. */
|
|
17707
|
+
"prop:disabledBehavior"?: (HelixHeadlessList["disabledBehavior"]) | undefined;
|
|
17654
17708
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
17655
17709
|
"attr:dropped-label"?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
17656
17710
|
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
@@ -18042,6 +18096,14 @@ imperatively later, and nothing is hydrating by then.
|
|
|
18042
18096
|
|
|
18043
18097
|
Here rather than on each control. */
|
|
18044
18098
|
name?: (HelixHeadlessListbox["name"]) | undefined;
|
|
18099
|
+
/** Whether an option is kept by the filter: a function given the option's
|
|
18100
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
18101
|
+
React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
18102
|
+
accents, matches the start of each word, or matches out of order.
|
|
18103
|
+
|
|
18104
|
+
Absent, an option is kept where its words hold the filter, in any case. A
|
|
18105
|
+
property only, there being no way to write a function in markup. */
|
|
18106
|
+
filterMatch?: (HelixHeadlessListbox["filterMatch"]) | undefined;
|
|
18045
18107
|
/** The options as data, for a list too long to draw whole: each a value,
|
|
18046
18108
|
which is also its words, or a record with a `value`, a `label` and
|
|
18047
18109
|
`disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -18332,6 +18394,14 @@ imperatively later, and nothing is hydrating by then.
|
|
|
18332
18394
|
|
|
18333
18395
|
Here rather than on each control. */
|
|
18334
18396
|
"prop:name"?: (HelixHeadlessListbox["name"]) | undefined;
|
|
18397
|
+
/** Whether an option is kept by the filter: a function given the option's
|
|
18398
|
+
words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
18399
|
+
React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
18400
|
+
accents, matches the start of each word, or matches out of order.
|
|
18401
|
+
|
|
18402
|
+
Absent, an option is kept where its words hold the filter, in any case. A
|
|
18403
|
+
property only, there being no way to write a function in markup. */
|
|
18404
|
+
"prop:filterMatch"?: (HelixHeadlessListbox["filterMatch"]) | undefined;
|
|
18335
18405
|
/** The options as data, for a list too long to draw whole: each a value,
|
|
18336
18406
|
which is also its words, or a record with a `value`, a `label` and
|
|
18337
18407
|
`disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -21603,8 +21673,11 @@ imperatively later, and nothing is hydrating by then.
|
|
|
21603
21673
|
|
|
21604
21674
|
Here rather than on each control. */
|
|
21605
21675
|
name?: (HelixHeadlessNumberInput["name"]) | undefined;
|
|
21606
|
-
/** The value as a number, or `NaN` while the control is empty
|
|
21676
|
+
/** The value as a number, or `NaN` while the control is empty or does not
|
|
21677
|
+
hold a number.
|
|
21607
21678
|
|
|
21679
|
+
Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
21680
|
+
in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
21608
21681
|
`NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
21609
21682
|
is zero, so an empty control would report a number it does not hold and a
|
|
21610
21683
|
form would submit it. */
|
|
@@ -21878,8 +21951,11 @@ imperatively later, and nothing is hydrating by then.
|
|
|
21878
21951
|
|
|
21879
21952
|
Here rather than on each control. */
|
|
21880
21953
|
"prop:name"?: (HelixHeadlessNumberInput["name"]) | undefined;
|
|
21881
|
-
/** The value as a number, or `NaN` while the control is empty
|
|
21954
|
+
/** The value as a number, or `NaN` while the control is empty or does not
|
|
21955
|
+
hold a number.
|
|
21882
21956
|
|
|
21957
|
+
Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
21958
|
+
in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
21883
21959
|
`NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
21884
21960
|
is zero, so an empty control would report a number it does not hold and a
|
|
21885
21961
|
form would submit it. */
|
|
@@ -26018,7 +26094,8 @@ export type HelixHeadlessSkeletonProps = {
|
|
|
26018
26094
|
/** What is loading, read out as the placeholder's name, such as "Loading
|
|
26019
26095
|
profile".
|
|
26020
26096
|
|
|
26021
|
-
Absent hides the placeholder from screen readers.
|
|
26097
|
+
Absent hides the placeholder from screen readers. Around content, the name
|
|
26098
|
+
is read while `loading` is set, and the loaded content is read as it is. */
|
|
26022
26099
|
label?: (HelixHeadlessSkeleton["label"]) | undefined;
|
|
26023
26100
|
/** Whether the content inside is still loading, which keeps it inert and
|
|
26024
26101
|
draws the placeholder over it.
|
|
@@ -26032,7 +26109,8 @@ export type HelixHeadlessSkeletonSolidJsProps = {
|
|
|
26032
26109
|
/** What is loading, read out as the placeholder's name, such as "Loading
|
|
26033
26110
|
profile".
|
|
26034
26111
|
|
|
26035
|
-
Absent hides the placeholder from screen readers.
|
|
26112
|
+
Absent hides the placeholder from screen readers. Around content, the name
|
|
26113
|
+
is read while `loading` is set, and the loaded content is read as it is. */
|
|
26036
26114
|
"prop:label"?: (HelixHeadlessSkeleton["label"]) | undefined;
|
|
26037
26115
|
/** Whether the content inside is still loading, which keeps it inert and
|
|
26038
26116
|
draws the placeholder over it.
|
|
@@ -41095,8 +41173,9 @@ export type CustomElements = {
|
|
|
41095
41173
|
*
|
|
41096
41174
|
* Choosing the opener says `helix-select` with its value, and canceling it
|
|
41097
41175
|
* keeps the page that is shown. The list then shows the page, named by the
|
|
41098
|
-
* opener's words, and
|
|
41099
|
-
*
|
|
41176
|
+
* opener's words, and a screen reader hears those words. Backspace in an empty
|
|
41177
|
+
* filter goes back, and a screen reader hears the name of the page it goes
|
|
41178
|
+
* back to. `page` says which page is shown.
|
|
41100
41179
|
*
|
|
41101
41180
|
* The filter is cleared when the palette closes, so each opening starts from
|
|
41102
41181
|
* the full list. Combobox and Select do the same. As typing narrows the list, a
|
|
@@ -41118,9 +41197,10 @@ export type CustomElements = {
|
|
|
41118
41197
|
* | Tab | Stays in the palette, which is modal. With `inline`, moves on through the page. |
|
|
41119
41198
|
*
|
|
41120
41199
|
* **ARIA.** The palette is a modal `dialog` named by `label`, or with
|
|
41121
|
-
* `inline` no dialog at all. Inside it the filter field is a
|
|
41122
|
-
* `aria-
|
|
41123
|
-
* `
|
|
41200
|
+
* `inline` no dialog at all. Inside it the filter field is a text field with
|
|
41201
|
+
* `aria-autocomplete="list"`, `aria-controls` on the list, and
|
|
41202
|
+
* `aria-activedescendant` on the highlighted command, as the field of React
|
|
41203
|
+
* Aria's `Autocomplete` is. The commands are a `listbox` of `option`s. How many commands typing left, the empty text and
|
|
41124
41204
|
* the loading text are said in a polite live region.
|
|
41125
41205
|
*
|
|
41126
41206
|
* ## Attributes & Properties
|
|
@@ -41184,6 +41264,12 @@ export type CustomElements = {
|
|
|
41184
41264
|
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
41185
41265
|
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
41186
41266
|
* the resolved state for stylesheets, which is what the mirror is for.
|
|
41267
|
+
* - `filterMatch`: Whether a command is kept by the filter: a function given the command's
|
|
41268
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
41269
|
+
* React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
41270
|
+
*
|
|
41271
|
+
* Absent, a command is kept where its words hold the filter, in any case. A
|
|
41272
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
41187
41273
|
* - `items`: The commands as data, for a palette too long to draw whole: each a value,
|
|
41188
41274
|
* which is also its words, or a record with a `value`, a `label` and
|
|
41189
41275
|
* `disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -41275,6 +41361,7 @@ export type CustomElements = {
|
|
|
41275
41361
|
* - `listbox-loading`: The text shown while the commands are loading.
|
|
41276
41362
|
* - `listbox-search`: The region that holds the filter field.
|
|
41277
41363
|
* - `listbox-search-field`: The filter field.
|
|
41364
|
+
* - `live`: The region a screen reader announces the page shown from, by the words of the command that opens it, drawn once there is one to say. Visually hidden in the styled tier.
|
|
41278
41365
|
*
|
|
41279
41366
|
* ## CSS States
|
|
41280
41367
|
*
|
|
@@ -48186,7 +48273,9 @@ export type CustomElements = {
|
|
|
48186
48273
|
* Not reflected, as a state never is. `row-current` is the part a
|
|
48187
48274
|
* stylesheet draws it from.
|
|
48188
48275
|
* - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
48189
|
-
* pass over it and it cannot be selected or acted on.
|
|
48276
|
+
* pass over it and it cannot be selected or acted on. In a list with
|
|
48277
|
+
* `disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
48278
|
+
* acted on as any row is.
|
|
48190
48279
|
* - `href`: The URL the row links to. Leave it empty for a row that is not a link.
|
|
48191
48280
|
*
|
|
48192
48281
|
* Empty rather than optional, and unset by default: a list is not always a
|
|
@@ -48213,6 +48302,9 @@ export type CustomElements = {
|
|
|
48213
48302
|
*
|
|
48214
48303
|
* Written by the list from its own `value`, and unset where nothing can be
|
|
48215
48304
|
* selected, which keeps `aria-selected` off a list that does not select. (property only)
|
|
48305
|
+
* - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
|
|
48306
|
+
* with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
48307
|
+
* between elements, as `focusable` is. (property only)
|
|
48216
48308
|
* - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
|
|
48217
48309
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
48218
48310
|
*
|
|
@@ -48273,6 +48365,7 @@ export type CustomElements = {
|
|
|
48273
48365
|
* - `dragging`: The row is being moved, in a `reorderable` list.
|
|
48274
48366
|
* - `drop-after`: The row being moved goes after this one when it is dropped.
|
|
48275
48367
|
* - `drop-before`: The row being moved goes before this one when it is dropped.
|
|
48368
|
+
* - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
|
|
48276
48369
|
* - `selected`: The row is selected, in a list that selects.
|
|
48277
48370
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
48278
48371
|
*/
|
|
@@ -48289,7 +48382,9 @@ export type CustomElements = {
|
|
|
48289
48382
|
* `multiple` any number, and `value` holds the selected rows' values,
|
|
48290
48383
|
* separated by commas. A change asks with `helix-before-change` and tells
|
|
48291
48384
|
* with `change`. `none` selects nothing, so a press acts on the row. A
|
|
48292
|
-
* `disabled` row is passed over.
|
|
48385
|
+
* `disabled` row is passed over. With `disabled-behavior="selection"`, a
|
|
48386
|
+
* `disabled` row cannot be selected, and is reached and acted on as any row
|
|
48387
|
+
* is, as React Aria's GridList has it. Each row is named by its label and described
|
|
48293
48388
|
* by its description, so the words of the controls in `end` are not read as
|
|
48294
48389
|
* part of its name.
|
|
48295
48390
|
*
|
|
@@ -48367,6 +48462,12 @@ export type CustomElements = {
|
|
|
48367
48462
|
*
|
|
48368
48463
|
* - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
|
|
48369
48464
|
* refused, in a `reorderable` list.
|
|
48465
|
+
* - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
|
|
48466
|
+
* passes over the row, or `selection`, which keeps the row out of the
|
|
48467
|
+
* selection and lets the keys reach it and Enter or a press act on it, as
|
|
48468
|
+
* React Aria's GridList takes `disabledBehavior`.
|
|
48469
|
+
*
|
|
48470
|
+
* Absent is `all`.
|
|
48370
48471
|
* - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
|
|
48371
48472
|
* - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
|
|
48372
48473
|
* slot is empty. Empty, the default, shows no row.
|
|
@@ -48506,7 +48607,9 @@ export type CustomElements = {
|
|
|
48506
48607
|
* With `multiple` set, `value` is a comma-separated string, like
|
|
48507
48608
|
* `Checkbox.Group`'s, because `MixinControllerValue` holds a string. The form
|
|
48508
48609
|
* receives one entry per selected option, as a native `<select multiple>` sends
|
|
48509
|
-
* it, so your server does not split on commas.
|
|
48610
|
+
* it, so your server does not split on commas. An option's value may hold a
|
|
48611
|
+
* comma: a run of the string that is an option's value is read as that one
|
|
48612
|
+
* value, and the form sends it as one entry.
|
|
48510
48613
|
*
|
|
48511
48614
|
* Selected and active are separate. The selected option is the value. The
|
|
48512
48615
|
* active option is where the keyboard is: the arrow keys move it, and
|
|
@@ -48713,6 +48816,13 @@ export type CustomElements = {
|
|
|
48713
48816
|
* imperatively later, and nothing is hydrating by then.
|
|
48714
48817
|
*
|
|
48715
48818
|
* Here rather than on each control.
|
|
48819
|
+
* - `filterMatch`: Whether an option is kept by the filter: a function given the option's
|
|
48820
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
48821
|
+
* React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
48822
|
+
* accents, matches the start of each word, or matches out of order.
|
|
48823
|
+
*
|
|
48824
|
+
* Absent, an option is kept where its words hold the filter, in any case. A
|
|
48825
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
48716
48826
|
* - `items`: The options as data, for a list too long to draw whole: each a value,
|
|
48717
48827
|
* which is also its words, or a record with a `value`, a `label` and
|
|
48718
48828
|
* `disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -48749,7 +48859,10 @@ export type CustomElements = {
|
|
|
48749
48859
|
* Descendants rather than children, because a group puts a level between the
|
|
48750
48860
|
* list and its options and the keyboard has to move through a grouped list
|
|
48751
48861
|
* exactly as it moves through a flat one. (property only) (readonly)
|
|
48752
|
-
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
48862
|
+
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
48863
|
+
*
|
|
48864
|
+
* Read against the options' values, so an option whose value holds a comma
|
|
48865
|
+
* is one value. See `chosenValues`. (property only) (readonly)
|
|
48753
48866
|
* - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
|
|
48754
48867
|
* - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
|
|
48755
48868
|
* - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
|
|
@@ -50520,8 +50633,8 @@ export type CustomElements = {
|
|
|
50520
50633
|
* rows, Home and End go to the first and the last, a typed letter moves to
|
|
50521
50634
|
* the next row whose name starts with it, Enter and Space choose, Right Arrow
|
|
50522
50635
|
* opens a row's submenu and Left Arrow goes back, the two swapping on a
|
|
50523
|
-
* right-to-left page
|
|
50524
|
-
* trigger. Tab closes it and moves on.
|
|
50636
|
+
* right-to-left page. Left Arrow on the top page does nothing. Escape closes
|
|
50637
|
+
* the menu and returns focus to the trigger. Tab closes it and moves on.
|
|
50525
50638
|
*
|
|
50526
50639
|
* While it is open, the surface carries the trigger's width as
|
|
50527
50640
|
* `--floating-anchor-inline-size` and the room left below it as
|
|
@@ -50665,6 +50778,10 @@ export type CustomElements = {
|
|
|
50665
50778
|
* - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
|
|
50666
50779
|
* - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
|
|
50667
50780
|
* - `open`: While the menu is open.
|
|
50781
|
+
* - `placed-bottom`: While the open panel sits below its trigger.
|
|
50782
|
+
* - `placed-left`: While the open panel sits to the left of its trigger.
|
|
50783
|
+
* - `placed-right`: While the open panel sits to the right of its trigger.
|
|
50784
|
+
* - `placed-top`: While the open panel sits above its trigger.
|
|
50668
50785
|
* - `start`: A row on the current page has content in its leading column, so every row keeps that column.
|
|
50669
50786
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
50670
50787
|
*/
|
|
@@ -51564,9 +51681,9 @@ export type CustomElements = {
|
|
|
51564
51681
|
* The locale's group separators are read in every field, so `1,234` is a
|
|
51565
51682
|
* number in `en-US`.
|
|
51566
51683
|
*
|
|
51567
|
-
* The field and its two buttons sit in a `role="group"
|
|
51568
|
-
* `role-label`, "number field" in English, as its
|
|
51569
|
-
* React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
51684
|
+
* The field and its two buttons sit in a `role="group"` named by the label,
|
|
51685
|
+
* and the field carries `role-label`, "number field" in English, as its
|
|
51686
|
+
* `aria-roledescription`, as React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
51570
51687
|
* field, with no `role="spinbutton"`, which VoiceOver reads as a slider you
|
|
51571
51688
|
* cannot type in, and no role description, so VoiceOver says the field is
|
|
51572
51689
|
* required. React Aria's NumberField does the same.
|
|
@@ -51745,8 +51862,11 @@ export type CustomElements = {
|
|
|
51745
51862
|
* imperatively later, and nothing is hydrating by then.
|
|
51746
51863
|
*
|
|
51747
51864
|
* Here rather than on each control.
|
|
51748
|
-
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty
|
|
51865
|
+
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
|
|
51866
|
+
* hold a number.
|
|
51749
51867
|
*
|
|
51868
|
+
* Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
51869
|
+
* in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
51750
51870
|
* `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
51751
51871
|
* is zero, so an empty control would report a number it does not hold and a
|
|
51752
51872
|
* form would submit it. (property only)
|
|
@@ -55142,7 +55262,9 @@ export type CustomElements = {
|
|
|
55142
55262
|
* whole set.
|
|
55143
55263
|
*
|
|
55144
55264
|
* `Select` owns the value, passes it down to the listbox, and takes changes
|
|
55145
|
-
* back, so the value lives in one place.
|
|
55265
|
+
* back, so the value lives in one place. With `multiple`, the value is the
|
|
55266
|
+
* chosen values joined with commas, and the form receives one entry for each.
|
|
55267
|
+
* An option's value may hold a comma, and it is read as one value.
|
|
55146
55268
|
*
|
|
55147
55269
|
* Set `valueContent` to draw the trigger's content from the chosen options,
|
|
55148
55270
|
* and several chosen options are written as a list in the reader's language.
|
|
@@ -55519,7 +55641,8 @@ export type CustomElements = {
|
|
|
55519
55641
|
* - `label`: What is loading, read out as the placeholder's name, such as "Loading
|
|
55520
55642
|
* profile".
|
|
55521
55643
|
*
|
|
55522
|
-
* Absent hides the placeholder from screen readers.
|
|
55644
|
+
* Absent hides the placeholder from screen readers. Around content, the name
|
|
55645
|
+
* is read while `loading` is set, and the loaded content is read as it is.
|
|
55523
55646
|
* - `loading`: Whether the content inside is still loading, which keeps it inert and
|
|
55524
55647
|
* draws the placeholder over it.
|
|
55525
55648
|
*
|
|
@@ -69278,8 +69401,9 @@ export type CustomElementsSolidJs = {
|
|
|
69278
69401
|
*
|
|
69279
69402
|
* Choosing the opener says `helix-select` with its value, and canceling it
|
|
69280
69403
|
* keeps the page that is shown. The list then shows the page, named by the
|
|
69281
|
-
* opener's words, and
|
|
69282
|
-
*
|
|
69404
|
+
* opener's words, and a screen reader hears those words. Backspace in an empty
|
|
69405
|
+
* filter goes back, and a screen reader hears the name of the page it goes
|
|
69406
|
+
* back to. `page` says which page is shown.
|
|
69283
69407
|
*
|
|
69284
69408
|
* The filter is cleared when the palette closes, so each opening starts from
|
|
69285
69409
|
* the full list. Combobox and Select do the same. As typing narrows the list, a
|
|
@@ -69301,9 +69425,10 @@ export type CustomElementsSolidJs = {
|
|
|
69301
69425
|
* | Tab | Stays in the palette, which is modal. With `inline`, moves on through the page. |
|
|
69302
69426
|
*
|
|
69303
69427
|
* **ARIA.** The palette is a modal `dialog` named by `label`, or with
|
|
69304
|
-
* `inline` no dialog at all. Inside it the filter field is a
|
|
69305
|
-
* `aria-
|
|
69306
|
-
* `
|
|
69428
|
+
* `inline` no dialog at all. Inside it the filter field is a text field with
|
|
69429
|
+
* `aria-autocomplete="list"`, `aria-controls` on the list, and
|
|
69430
|
+
* `aria-activedescendant` on the highlighted command, as the field of React
|
|
69431
|
+
* Aria's `Autocomplete` is. The commands are a `listbox` of `option`s. How many commands typing left, the empty text and
|
|
69307
69432
|
* the loading text are said in a polite live region.
|
|
69308
69433
|
*
|
|
69309
69434
|
* ## Attributes & Properties
|
|
@@ -69367,6 +69492,12 @@ export type CustomElementsSolidJs = {
|
|
|
69367
69492
|
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
69368
69493
|
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
69369
69494
|
* the resolved state for stylesheets, which is what the mirror is for.
|
|
69495
|
+
* - `filterMatch`: Whether a command is kept by the filter: a function given the command's
|
|
69496
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
69497
|
+
* React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
|
|
69498
|
+
*
|
|
69499
|
+
* Absent, a command is kept where its words hold the filter, in any case. A
|
|
69500
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
69370
69501
|
* - `items`: The commands as data, for a palette too long to draw whole: each a value,
|
|
69371
69502
|
* which is also its words, or a record with a `value`, a `label` and
|
|
69372
69503
|
* `disabled`. Handed to the list, which draws only the commands in sight and
|
|
@@ -69458,6 +69589,7 @@ export type CustomElementsSolidJs = {
|
|
|
69458
69589
|
* - `listbox-loading`: The text shown while the commands are loading.
|
|
69459
69590
|
* - `listbox-search`: The region that holds the filter field.
|
|
69460
69591
|
* - `listbox-search-field`: The filter field.
|
|
69592
|
+
* - `live`: The region a screen reader announces the page shown from, by the words of the command that opens it, drawn once there is one to say. Visually hidden in the styled tier.
|
|
69461
69593
|
*
|
|
69462
69594
|
* ## CSS States
|
|
69463
69595
|
*
|
|
@@ -76437,7 +76569,9 @@ export type CustomElementsSolidJs = {
|
|
|
76437
76569
|
* Not reflected, as a state never is. `row-current` is the part a
|
|
76438
76570
|
* stylesheet draws it from.
|
|
76439
76571
|
* - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
|
|
76440
|
-
* pass over it and it cannot be selected or acted on.
|
|
76572
|
+
* pass over it and it cannot be selected or acted on. In a list with
|
|
76573
|
+
* `disabled-behavior="selection"`, it cannot be selected and is reached and
|
|
76574
|
+
* acted on as any row is.
|
|
76441
76575
|
* - `href`: The URL the row links to. Leave it empty for a row that is not a link.
|
|
76442
76576
|
*
|
|
76443
76577
|
* Empty rather than optional, and unset by default: a list is not always a
|
|
@@ -76464,6 +76598,9 @@ export type CustomElementsSolidJs = {
|
|
|
76464
76598
|
*
|
|
76465
76599
|
* Written by the list from its own `value`, and unset where nothing can be
|
|
76466
76600
|
* selected, which keeps `aria-selected` off a list that does not select. (property only)
|
|
76601
|
+
* - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
|
|
76602
|
+
* with `disabled-behavior="selection"`. No attribute: it is coordination
|
|
76603
|
+
* between elements, as `focusable` is. (property only)
|
|
76467
76604
|
* - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
|
|
76468
76605
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
76469
76606
|
*
|
|
@@ -76524,6 +76661,7 @@ export type CustomElementsSolidJs = {
|
|
|
76524
76661
|
* - `dragging`: The row is being moved, in a `reorderable` list.
|
|
76525
76662
|
* - `drop-after`: The row being moved goes after this one when it is dropped.
|
|
76526
76663
|
* - `drop-before`: The row being moved goes before this one when it is dropped.
|
|
76664
|
+
* - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
|
|
76527
76665
|
* - `selected`: The row is selected, in a list that selects.
|
|
76528
76666
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
76529
76667
|
*/
|
|
@@ -76543,7 +76681,9 @@ export type CustomElementsSolidJs = {
|
|
|
76543
76681
|
* `multiple` any number, and `value` holds the selected rows' values,
|
|
76544
76682
|
* separated by commas. A change asks with `helix-before-change` and tells
|
|
76545
76683
|
* with `change`. `none` selects nothing, so a press acts on the row. A
|
|
76546
|
-
* `disabled` row is passed over.
|
|
76684
|
+
* `disabled` row is passed over. With `disabled-behavior="selection"`, a
|
|
76685
|
+
* `disabled` row cannot be selected, and is reached and acted on as any row
|
|
76686
|
+
* is, as React Aria's GridList has it. Each row is named by its label and described
|
|
76547
76687
|
* by its description, so the words of the controls in `end` are not read as
|
|
76548
76688
|
* part of its name.
|
|
76549
76689
|
*
|
|
@@ -76621,6 +76761,12 @@ export type CustomElementsSolidJs = {
|
|
|
76621
76761
|
*
|
|
76622
76762
|
* - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
|
|
76623
76763
|
* refused, in a `reorderable` list.
|
|
76764
|
+
* - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
|
|
76765
|
+
* passes over the row, or `selection`, which keeps the row out of the
|
|
76766
|
+
* selection and lets the keys reach it and Enter or a press act on it, as
|
|
76767
|
+
* React Aria's GridList takes `disabledBehavior`.
|
|
76768
|
+
*
|
|
76769
|
+
* Absent is `all`.
|
|
76624
76770
|
* - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
|
|
76625
76771
|
* - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
|
|
76626
76772
|
* slot is empty. Empty, the default, shows no row.
|
|
@@ -76763,7 +76909,9 @@ export type CustomElementsSolidJs = {
|
|
|
76763
76909
|
* With `multiple` set, `value` is a comma-separated string, like
|
|
76764
76910
|
* `Checkbox.Group`'s, because `MixinControllerValue` holds a string. The form
|
|
76765
76911
|
* receives one entry per selected option, as a native `<select multiple>` sends
|
|
76766
|
-
* it, so your server does not split on commas.
|
|
76912
|
+
* it, so your server does not split on commas. An option's value may hold a
|
|
76913
|
+
* comma: a run of the string that is an option's value is read as that one
|
|
76914
|
+
* value, and the form sends it as one entry.
|
|
76767
76915
|
*
|
|
76768
76916
|
* Selected and active are separate. The selected option is the value. The
|
|
76769
76917
|
* active option is where the keyboard is: the arrow keys move it, and
|
|
@@ -76970,6 +77118,13 @@ export type CustomElementsSolidJs = {
|
|
|
76970
77118
|
* imperatively later, and nothing is hydrating by then.
|
|
76971
77119
|
*
|
|
76972
77120
|
* Here rather than on each control.
|
|
77121
|
+
* - `filterMatch`: Whether an option is kept by the filter: a function given the option's
|
|
77122
|
+
* words and the filter, trimmed, that returns `true` to keep it showing, as
|
|
77123
|
+
* React Aria's `Autocomplete` takes `filter`. For matching that ignores
|
|
77124
|
+
* accents, matches the start of each word, or matches out of order.
|
|
77125
|
+
*
|
|
77126
|
+
* Absent, an option is kept where its words hold the filter, in any case. A
|
|
77127
|
+
* property only, there being no way to write a function in markup. (property only)
|
|
76973
77128
|
* - `items`: The options as data, for a list too long to draw whole: each a value,
|
|
76974
77129
|
* which is also its words, or a record with a `value`, a `label` and
|
|
76975
77130
|
* `disabled`. Set, the list draws only the options in sight, and the ones
|
|
@@ -77006,7 +77161,10 @@ export type CustomElementsSolidJs = {
|
|
|
77006
77161
|
* Descendants rather than children, because a group puts a level between the
|
|
77007
77162
|
* list and its options and the keyboard has to move through a grouped list
|
|
77008
77163
|
* exactly as it moves through a flat one. (property only) (readonly)
|
|
77009
|
-
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
77164
|
+
* - `values`: The chosen values, as an array whether or not `multiple` is set.
|
|
77165
|
+
*
|
|
77166
|
+
* Read against the options' values, so an option whose value holds a comma
|
|
77167
|
+
* is one value. See `chosenValues`. (property only) (readonly)
|
|
77010
77168
|
* - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
|
|
77011
77169
|
* - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
|
|
77012
77170
|
* - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
|
|
@@ -78812,8 +78970,8 @@ export type CustomElementsSolidJs = {
|
|
|
78812
78970
|
* rows, Home and End go to the first and the last, a typed letter moves to
|
|
78813
78971
|
* the next row whose name starts with it, Enter and Space choose, Right Arrow
|
|
78814
78972
|
* opens a row's submenu and Left Arrow goes back, the two swapping on a
|
|
78815
|
-
* right-to-left page
|
|
78816
|
-
* trigger. Tab closes it and moves on.
|
|
78973
|
+
* right-to-left page. Left Arrow on the top page does nothing. Escape closes
|
|
78974
|
+
* the menu and returns focus to the trigger. Tab closes it and moves on.
|
|
78817
78975
|
*
|
|
78818
78976
|
* While it is open, the surface carries the trigger's width as
|
|
78819
78977
|
* `--floating-anchor-inline-size` and the room left below it as
|
|
@@ -78957,6 +79115,10 @@ export type CustomElementsSolidJs = {
|
|
|
78957
79115
|
* - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
|
|
78958
79116
|
* - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
|
|
78959
79117
|
* - `open`: While the menu is open.
|
|
79118
|
+
* - `placed-bottom`: While the open panel sits below its trigger.
|
|
79119
|
+
* - `placed-left`: While the open panel sits to the left of its trigger.
|
|
79120
|
+
* - `placed-right`: While the open panel sits to the right of its trigger.
|
|
79121
|
+
* - `placed-top`: While the open panel sits above its trigger.
|
|
78960
79122
|
* - `start`: A row on the current page has content in its leading column, so every row keeps that column.
|
|
78961
79123
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
78962
79124
|
*/
|
|
@@ -79867,9 +80029,9 @@ export type CustomElementsSolidJs = {
|
|
|
79867
80029
|
* The locale's group separators are read in every field, so `1,234` is a
|
|
79868
80030
|
* number in `en-US`.
|
|
79869
80031
|
*
|
|
79870
|
-
* The field and its two buttons sit in a `role="group"
|
|
79871
|
-
* `role-label`, "number field" in English, as its
|
|
79872
|
-
* React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
80032
|
+
* The field and its two buttons sit in a `role="group"` named by the label,
|
|
80033
|
+
* and the field carries `role-label`, "number field" in English, as its
|
|
80034
|
+
* `aria-roledescription`, as React Aria's NumberField does. On iOS and iPadOS the field is a plain text
|
|
79873
80035
|
* field, with no `role="spinbutton"`, which VoiceOver reads as a slider you
|
|
79874
80036
|
* cannot type in, and no role description, so VoiceOver says the field is
|
|
79875
80037
|
* required. React Aria's NumberField does the same.
|
|
@@ -80048,8 +80210,11 @@ export type CustomElementsSolidJs = {
|
|
|
80048
80210
|
* imperatively later, and nothing is hydrating by then.
|
|
80049
80211
|
*
|
|
80050
80212
|
* Here rather than on each control.
|
|
80051
|
-
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty
|
|
80213
|
+
* - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
|
|
80214
|
+
* hold a number.
|
|
80052
80215
|
*
|
|
80216
|
+
* Read in the locale and the format, as the form reads it, so `1,5` typed
|
|
80217
|
+
* in a locale with a decimal comma is 1.5 here while the form holds 1.5.
|
|
80053
80218
|
* `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
|
|
80054
80219
|
* is zero, so an empty control would report a number it does not hold and a
|
|
80055
80220
|
* form would submit it. (property only)
|
|
@@ -83482,7 +83647,9 @@ export type CustomElementsSolidJs = {
|
|
|
83482
83647
|
* whole set.
|
|
83483
83648
|
*
|
|
83484
83649
|
* `Select` owns the value, passes it down to the listbox, and takes changes
|
|
83485
|
-
* back, so the value lives in one place.
|
|
83650
|
+
* back, so the value lives in one place. With `multiple`, the value is the
|
|
83651
|
+
* chosen values joined with commas, and the form receives one entry for each.
|
|
83652
|
+
* An option's value may hold a comma, and it is read as one value.
|
|
83486
83653
|
*
|
|
83487
83654
|
* Set `valueContent` to draw the trigger's content from the chosen options,
|
|
83488
83655
|
* and several chosen options are written as a list in the reader's language.
|
|
@@ -83862,7 +84029,8 @@ export type CustomElementsSolidJs = {
|
|
|
83862
84029
|
* - `label`: What is loading, read out as the placeholder's name, such as "Loading
|
|
83863
84030
|
* profile".
|
|
83864
84031
|
*
|
|
83865
|
-
* Absent hides the placeholder from screen readers.
|
|
84032
|
+
* Absent hides the placeholder from screen readers. Around content, the name
|
|
84033
|
+
* is read while `loading` is set, and the loaded content is read as it is.
|
|
83866
84034
|
* - `loading`: Whether the content inside is still loading, which keeps it inert and
|
|
83867
84035
|
* draws the placeholder over it.
|
|
83868
84036
|
*
|