@fusion.dev/helix 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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.157.0",
4
+ "version": "0.158.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -54,13 +54,13 @@
54
54
  },
55
55
  "bugs": "https://github.com/project-fusion/fusion/issues",
56
56
  "dependencies": {
57
- "@fusion.dev/helix-core": "0.157.0",
58
- "@fusion.dev/helix-headless": "0.157.0",
59
- "@fusion.dev/helix-styles": "0.157.0"
57
+ "@fusion.dev/helix-core": "0.158.0",
58
+ "@fusion.dev/helix-headless": "0.158.0",
59
+ "@fusion.dev/helix-styles": "0.158.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@fusion.dev/helix-cem": "0.157.0",
63
- "@fusion.dev/helix-testing": "0.157.0",
62
+ "@fusion.dev/helix-cem": "0.158.0",
63
+ "@fusion.dev/helix-testing": "0.158.0",
64
64
  "@fusion.dev/scripts": "0.0.0-dev",
65
65
  "@happy-dom/global-registrator": "^20.14.5",
66
66
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -10051,6 +10051,13 @@ how many are left, written in the locale, and each language writes the
10051
10051
  forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
10052
10052
  {# poleceń} other {# polecenia}}`. */
10053
10053
  resultsLabel?: (HelixCommand["resultsLabel"]) | undefined;
10054
+ /** Whether a command is kept by the filter: a function given the command's
10055
+ words and the filter, trimmed, that returns `true` to keep it showing, as
10056
+ React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
10057
+
10058
+ Absent, a command is kept where its words hold the filter, in any case. A
10059
+ property only, there being no way to write a function in markup. */
10060
+ filterMatch?: (HelixCommand["filterMatch"]) | undefined;
10054
10061
  /** The commands as data, for a palette too long to draw whole: each a value,
10055
10062
  which is also its words, or a record with a `value`, a `label` and
10056
10063
  `disabled`. Handed to the list, which draws only the commands in sight and
@@ -10176,6 +10183,13 @@ how many are left, written in the locale, and each language writes the
10176
10183
  forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
10177
10184
  {# poleceń} other {# polecenia}}`. */
10178
10185
  "prop:resultsLabel"?: (HelixCommand["resultsLabel"]) | undefined;
10186
+ /** Whether a command is kept by the filter: a function given the command's
10187
+ words and the filter, trimmed, that returns `true` to keep it showing, as
10188
+ React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
10189
+
10190
+ Absent, a command is kept where its words hold the filter, in any case. A
10191
+ property only, there being no way to write a function in markup. */
10192
+ "prop:filterMatch"?: (HelixCommand["filterMatch"]) | undefined;
10179
10193
  /** The commands as data, for a palette too long to draw whole: each a value,
10180
10194
  which is also its words, or a record with a `value`, a `label` and
10181
10195
  `disabled`. Handed to the list, which draws only the commands in sight and
@@ -19988,7 +20002,9 @@ Not reflected, as a state never is. `row-current` is the part a
19988
20002
  stylesheet draws it from. */
19989
20003
  current?: (HelixListItem["current"]) | undefined;
19990
20004
  /** Takes the row out of reach in a list with `selection-mode`: the arrow keys
19991
- pass over it and it cannot be selected or acted on. */
20005
+ pass over it and it cannot be selected or acted on. In a list with
20006
+ `disabled-behavior="selection"`, it cannot be selected and is reached and
20007
+ acted on as any row is. */
19992
20008
  disabled?: (HelixListItem["disabled"]) | undefined;
19993
20009
  /** The URL the row links to. Leave it empty for a row that is not a link.
19994
20010
 
@@ -20024,6 +20040,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
20024
20040
  Written by the list from its own `value`, and unset where nothing can be
20025
20041
  selected, which keeps `aria-selected` off a list that does not select. */
20026
20042
  selected?: (HelixListItem["selected"]) | undefined;
20043
+ /** Whether `disabled` takes the row out of selection alone, written by a list
20044
+ with `disabled-behavior="selection"`. No attribute: it is coordination
20045
+ between elements, as `focusable` is. */
20046
+ selectionOnly?: (HelixListItem["selectionOnly"]) | undefined;
20027
20047
 
20028
20048
  /** 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. */
20029
20049
  "onhelix-action"?: ((e: HelixListItemHelixActionElementEvent) => void) | undefined;
@@ -20039,7 +20059,9 @@ Not reflected, as a state never is. `row-current` is the part a
20039
20059
  stylesheet draws it from. */
20040
20060
  "prop:current"?: (HelixListItem["current"]) | undefined;
20041
20061
  /** Takes the row out of reach in a list with `selection-mode`: the arrow keys
20042
- pass over it and it cannot be selected or acted on. */
20062
+ pass over it and it cannot be selected or acted on. In a list with
20063
+ `disabled-behavior="selection"`, it cannot be selected and is reached and
20064
+ acted on as any row is. */
20043
20065
  "prop:disabled"?: (HelixListItem["disabled"]) | undefined;
20044
20066
  /** The URL the row links to. Leave it empty for a row that is not a link.
20045
20067
 
@@ -20075,6 +20097,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
20075
20097
  Written by the list from its own `value`, and unset where nothing can be
20076
20098
  selected, which keeps `aria-selected` off a list that does not select. */
20077
20099
  "prop:selected"?: (HelixListItem["selected"]) | undefined;
20100
+ /** Whether `disabled` takes the row out of selection alone, written by a list
20101
+ with `disabled-behavior="selection"`. No attribute: it is coordination
20102
+ between elements, as `focusable` is. */
20103
+ "prop:selectionOnly"?: (HelixListItem["selectionOnly"]) | undefined;
20078
20104
  /** 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. */
20079
20105
  "on:helix-action"?: ((e: HelixListItemHelixActionElementEvent) => void) | undefined;
20080
20106
 
@@ -20126,6 +20152,20 @@ refused, in a `reorderable` list. */
20126
20152
  /** What screen readers hear when a held row is put back, or a move is
20127
20153
  refused, in a `reorderable` list. */
20128
20154
  canceledLabel?: (HelixList["canceledLabel"]) | undefined;
20155
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
20156
+ passes over the row, or `selection`, which keeps the row out of the
20157
+ selection and lets the keys reach it and Enter or a press act on it, as
20158
+ React Aria's GridList takes `disabledBehavior`.
20159
+
20160
+ Absent is `all`. */
20161
+ "disabled-behavior"?: (HelixList["disabledBehavior"]) | undefined;
20162
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
20163
+ passes over the row, or `selection`, which keeps the row out of the
20164
+ selection and lets the keys reach it and Enter or a press act on it, as
20165
+ React Aria's GridList takes `disabledBehavior`.
20166
+
20167
+ Absent is `all`. */
20168
+ disabledBehavior?: (HelixList["disabledBehavior"]) | undefined;
20129
20169
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
20130
20170
  "dropped-label"?: (HelixList["droppedLabel"]) | undefined;
20131
20171
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
@@ -20273,6 +20313,20 @@ refused, in a `reorderable` list. */
20273
20313
  /** What screen readers hear when a held row is put back, or a move is
20274
20314
  refused, in a `reorderable` list. */
20275
20315
  "prop:canceledLabel"?: (HelixList["canceledLabel"]) | undefined;
20316
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
20317
+ passes over the row, or `selection`, which keeps the row out of the
20318
+ selection and lets the keys reach it and Enter or a press act on it, as
20319
+ React Aria's GridList takes `disabledBehavior`.
20320
+
20321
+ Absent is `all`. */
20322
+ "attr:disabled-behavior"?: (HelixList["disabledBehavior"]) | undefined;
20323
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
20324
+ passes over the row, or `selection`, which keeps the row out of the
20325
+ selection and lets the keys reach it and Enter or a press act on it, as
20326
+ React Aria's GridList takes `disabledBehavior`.
20327
+
20328
+ Absent is `all`. */
20329
+ "prop:disabledBehavior"?: (HelixList["disabledBehavior"]) | undefined;
20276
20330
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
20277
20331
  "attr:dropped-label"?: (HelixList["droppedLabel"]) | undefined;
20278
20332
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
@@ -20663,6 +20717,14 @@ imperatively later, and nothing is hydrating by then.
20663
20717
 
20664
20718
  Here rather than on each control. */
20665
20719
  name?: (HelixListbox["name"]) | undefined;
20720
+ /** Whether an option is kept by the filter: a function given the option's
20721
+ words and the filter, trimmed, that returns `true` to keep it showing, as
20722
+ React Aria's `Autocomplete` takes `filter`. For matching that ignores
20723
+ accents, matches the start of each word, or matches out of order.
20724
+
20725
+ Absent, an option is kept where its words hold the filter, in any case. A
20726
+ property only, there being no way to write a function in markup. */
20727
+ filterMatch?: (HelixListbox["filterMatch"]) | undefined;
20666
20728
  /** The options as data, for a list too long to draw whole: each a value,
20667
20729
  which is also its words, or a record with a `value`, a `label` and
20668
20730
  `disabled`. Set, the list draws only the options in sight, and the ones
@@ -20955,6 +21017,14 @@ imperatively later, and nothing is hydrating by then.
20955
21017
 
20956
21018
  Here rather than on each control. */
20957
21019
  "prop:name"?: (HelixListbox["name"]) | undefined;
21020
+ /** Whether an option is kept by the filter: a function given the option's
21021
+ words and the filter, trimmed, that returns `true` to keep it showing, as
21022
+ React Aria's `Autocomplete` takes `filter`. For matching that ignores
21023
+ accents, matches the start of each word, or matches out of order.
21024
+
21025
+ Absent, an option is kept where its words hold the filter, in any case. A
21026
+ property only, there being no way to write a function in markup. */
21027
+ "prop:filterMatch"?: (HelixListbox["filterMatch"]) | undefined;
20958
21028
  /** The options as data, for a list too long to draw whole: each a value,
20959
21029
  which is also its words, or a record with a `value`, a `label` and
20960
21030
  `disabled`. Set, the list draws only the options in sight, and the ones
@@ -24386,8 +24456,11 @@ imperatively later, and nothing is hydrating by then.
24386
24456
 
24387
24457
  Here rather than on each control. */
24388
24458
  name?: (HelixNumberInput["name"]) | undefined;
24389
- /** The value as a number, or `NaN` while the control is empty.
24459
+ /** The value as a number, or `NaN` while the control is empty or does not
24460
+ hold a number.
24390
24461
 
24462
+ Read in the locale and the format, as the form reads it, so `1,5` typed
24463
+ in a locale with a decimal comma is 1.5 here while the form holds 1.5.
24391
24464
  `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
24392
24465
  is zero, so an empty control would report a number it does not hold and a
24393
24466
  form would submit it. */
@@ -24661,8 +24734,11 @@ imperatively later, and nothing is hydrating by then.
24661
24734
 
24662
24735
  Here rather than on each control. */
24663
24736
  "prop:name"?: (HelixNumberInput["name"]) | undefined;
24664
- /** The value as a number, or `NaN` while the control is empty.
24737
+ /** The value as a number, or `NaN` while the control is empty or does not
24738
+ hold a number.
24665
24739
 
24740
+ Read in the locale and the format, as the form reads it, so `1,5` typed
24741
+ in a locale with a decimal comma is 1.5 here while the form holds 1.5.
24666
24742
  `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
24667
24743
  is zero, so an empty control would report a number it does not hold and a
24668
24744
  form would submit it. */
@@ -30009,7 +30085,8 @@ control height until you size it, with a height on the element or
30009
30085
  /** What is loading, read out as the placeholder's name, such as "Loading
30010
30086
  profile".
30011
30087
 
30012
- Absent hides the placeholder from screen readers. */
30088
+ Absent hides the placeholder from screen readers. Around content, the name
30089
+ is read while `loading` is set, and the loaded content is read as it is. */
30013
30090
  label?: (HelixSkeleton["label"]) | undefined;
30014
30091
  /** Whether the content inside is still loading, which keeps it inert and
30015
30092
  draws the placeholder over it.
@@ -30039,7 +30116,8 @@ control height until you size it, with a height on the element or
30039
30116
  /** What is loading, read out as the placeholder's name, such as "Loading
30040
30117
  profile".
30041
30118
 
30042
- Absent hides the placeholder from screen readers. */
30119
+ Absent hides the placeholder from screen readers. Around content, the name
30120
+ is read while `loading` is set, and the loaded content is read as it is. */
30043
30121
  "prop:label"?: (HelixSkeleton["label"]) | undefined;
30044
30122
  /** Whether the content inside is still loading, which keeps it inert and
30045
30123
  draws the placeholder over it.
@@ -46058,6 +46136,12 @@ export type CustomElements = {
46058
46136
  * how many are left, written in the locale, and each language writes the
46059
46137
  * forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
46060
46138
  * {# poleceń} other {# polecenia}}`.
46139
+ * - `filterMatch`: Whether a command is kept by the filter: a function given the command's
46140
+ * words and the filter, trimmed, that returns `true` to keep it showing, as
46141
+ * React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
46142
+ *
46143
+ * Absent, a command is kept where its words hold the filter, in any case. A
46144
+ * property only, there being no way to write a function in markup. (property only)
46061
46145
  * - `items`: The commands as data, for a palette too long to draw whole: each a value,
46062
46146
  * which is also its words, or a record with a `value`, a `label` and
46063
46147
  * `disabled`. Handed to the list, which draws only the commands in sight and
@@ -46156,6 +46240,7 @@ export type CustomElements = {
46156
46240
  * - `listbox-loading`: The text shown while the commands are loading.
46157
46241
  * - `listbox-search`: The region that holds the filter field.
46158
46242
  * - `listbox-search-field`: The filter field.
46243
+ * - `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.
46159
46244
  *
46160
46245
  * ## CSS States
46161
46246
  *
@@ -52997,7 +53082,9 @@ export type CustomElements = {
52997
53082
  * Not reflected, as a state never is. `row-current` is the part a
52998
53083
  * stylesheet draws it from.
52999
53084
  * - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
53000
- * pass over it and it cannot be selected or acted on.
53085
+ * pass over it and it cannot be selected or acted on. In a list with
53086
+ * `disabled-behavior="selection"`, it cannot be selected and is reached and
53087
+ * acted on as any row is.
53001
53088
  * - `href`: The URL the row links to. Leave it empty for a row that is not a link.
53002
53089
  *
53003
53090
  * Empty rather than optional, and unset by default: a list is not always a
@@ -53024,6 +53111,9 @@ export type CustomElements = {
53024
53111
  *
53025
53112
  * Written by the list from its own `value`, and unset where nothing can be
53026
53113
  * selected, which keeps `aria-selected` off a list that does not select. (property only)
53114
+ * - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
53115
+ * with `disabled-behavior="selection"`. No attribute: it is coordination
53116
+ * between elements, as `focusable` is. (property only)
53027
53117
  * - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
53028
53118
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
53029
53119
  *
@@ -53101,6 +53191,7 @@ export type CustomElements = {
53101
53191
  * - `dragging`: The row is being moved, in a `reorderable` list.
53102
53192
  * - `drop-after`: The row being moved goes after this one when it is dropped.
53103
53193
  * - `drop-before`: The row being moved goes before this one when it is dropped.
53194
+ * - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
53104
53195
  * - `selected`: The row is selected, in a list that selects.
53105
53196
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
53106
53197
  */
@@ -53133,6 +53224,12 @@ export type CustomElements = {
53133
53224
  * `unordered` too, where it numbers what a bullet did not.
53134
53225
  * - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
53135
53226
  * refused, in a `reorderable` list.
53227
+ * - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
53228
+ * passes over the row, or `selection`, which keeps the row out of the
53229
+ * selection and lets the keys reach it and Enter or a press act on it, as
53230
+ * React Aria's GridList takes `disabledBehavior`.
53231
+ *
53232
+ * Absent is `all`.
53136
53233
  * - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
53137
53234
  * - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
53138
53235
  * slot is empty. Empty, the default, shows no row.
@@ -53432,6 +53529,13 @@ export type CustomElements = {
53432
53529
  * imperatively later, and nothing is hydrating by then.
53433
53530
  *
53434
53531
  * Here rather than on each control.
53532
+ * - `filterMatch`: Whether an option is kept by the filter: a function given the option's
53533
+ * words and the filter, trimmed, that returns `true` to keep it showing, as
53534
+ * React Aria's `Autocomplete` takes `filter`. For matching that ignores
53535
+ * accents, matches the start of each word, or matches out of order.
53536
+ *
53537
+ * Absent, an option is kept where its words hold the filter, in any case. A
53538
+ * property only, there being no way to write a function in markup. (property only)
53435
53539
  * - `items`: The options as data, for a list too long to draw whole: each a value,
53436
53540
  * which is also its words, or a record with a `value`, a `label` and
53437
53541
  * `disabled`. Set, the list draws only the options in sight, and the ones
@@ -53468,7 +53572,10 @@ export type CustomElements = {
53468
53572
  * Descendants rather than children, because a group puts a level between the
53469
53573
  * list and its options and the keyboard has to move through a grouped list
53470
53574
  * exactly as it moves through a flat one. (property only) (readonly)
53471
- * - `values`: The chosen values, as an array whether or not `multiple` is set. (property only) (readonly)
53575
+ * - `values`: The chosen values, as an array whether or not `multiple` is set.
53576
+ *
53577
+ * Read against the options' values, so an option whose value holds a comma
53578
+ * is one value. See `chosenValues`. (property only) (readonly)
53472
53579
  * - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
53473
53580
  * - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
53474
53581
  * - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
@@ -55301,6 +55408,10 @@ export type CustomElements = {
55301
55408
  * - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
55302
55409
  * - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
55303
55410
  * - `open`: While the menu is open.
55411
+ * - `placed-bottom`: While the open panel sits below its trigger.
55412
+ * - `placed-left`: While the open panel sits to the left of its trigger.
55413
+ * - `placed-right`: While the open panel sits to the right of its trigger.
55414
+ * - `placed-top`: While the open panel sits above its trigger.
55304
55415
  * - `start`: A row on the current page has content in its leading column, so every row keeps that column.
55305
55416
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
55306
55417
  */
@@ -56351,8 +56462,11 @@ export type CustomElements = {
56351
56462
  * imperatively later, and nothing is hydrating by then.
56352
56463
  *
56353
56464
  * Here rather than on each control.
56354
- * - `valueAsNumber`: The value as a number, or `NaN` while the control is empty.
56465
+ * - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
56466
+ * hold a number.
56355
56467
  *
56468
+ * Read in the locale and the format, as the form reads it, so `1,5` typed
56469
+ * in a locale with a decimal comma is 1.5 here while the form holds 1.5.
56356
56470
  * `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
56357
56471
  * is zero, so an empty control would report a number it does not hold and a
56358
56472
  * form would submit it. (property only)
@@ -60796,7 +60910,8 @@ export type CustomElements = {
60796
60910
  * - `label`: What is loading, read out as the placeholder's name, such as "Loading
60797
60911
  * profile".
60798
60912
  *
60799
- * Absent hides the placeholder from screen readers.
60913
+ * Absent hides the placeholder from screen readers. Around content, the name
60914
+ * is read while `loading` is set, and the loaded content is read as it is.
60800
60915
  * - `loading`: Whether the content inside is still loading, which keeps it inert and
60801
60916
  * draws the placeholder over it.
60802
60917
  *
@@ -74542,6 +74657,12 @@ export type CustomElementsSolidJs = {
74542
74657
  * how many are left, written in the locale, and each language writes the
74543
74658
  * forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
74544
74659
  * {# poleceń} other {# polecenia}}`.
74660
+ * - `filterMatch`: Whether a command is kept by the filter: a function given the command's
74661
+ * words and the filter, trimmed, that returns `true` to keep it showing, as
74662
+ * React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
74663
+ *
74664
+ * Absent, a command is kept where its words hold the filter, in any case. A
74665
+ * property only, there being no way to write a function in markup. (property only)
74545
74666
  * - `items`: The commands as data, for a palette too long to draw whole: each a value,
74546
74667
  * which is also its words, or a record with a `value`, a `label` and
74547
74668
  * `disabled`. Handed to the list, which draws only the commands in sight and
@@ -74640,6 +74761,7 @@ export type CustomElementsSolidJs = {
74640
74761
  * - `listbox-loading`: The text shown while the commands are loading.
74641
74762
  * - `listbox-search`: The region that holds the filter field.
74642
74763
  * - `listbox-search-field`: The filter field.
74764
+ * - `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.
74643
74765
  *
74644
74766
  * ## CSS States
74645
74767
  *
@@ -81585,7 +81707,9 @@ export type CustomElementsSolidJs = {
81585
81707
  * Not reflected, as a state never is. `row-current` is the part a
81586
81708
  * stylesheet draws it from.
81587
81709
  * - `disabled`: Takes the row out of reach in a list with `selection-mode`: the arrow keys
81588
- * pass over it and it cannot be selected or acted on.
81710
+ * pass over it and it cannot be selected or acted on. In a list with
81711
+ * `disabled-behavior="selection"`, it cannot be selected and is reached and
81712
+ * acted on as any row is.
81589
81713
  * - `href`: The URL the row links to. Leave it empty for a row that is not a link.
81590
81714
  *
81591
81715
  * Empty rather than optional, and unset by default: a list is not always a
@@ -81612,6 +81736,9 @@ export type CustomElementsSolidJs = {
81612
81736
  *
81613
81737
  * Written by the list from its own `value`, and unset where nothing can be
81614
81738
  * selected, which keeps `aria-selected` off a list that does not select. (property only)
81739
+ * - `selectionOnly`: Whether `disabled` takes the row out of selection alone, written by a list
81740
+ * with `disabled-behavior="selection"`. No attribute: it is coordination
81741
+ * between elements, as `focusable` is. (property only)
81615
81742
  * - `words`: The row's words, or none where the children are not known yet. (property only) (readonly)
81616
81743
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
81617
81744
  *
@@ -81689,6 +81816,7 @@ export type CustomElementsSolidJs = {
81689
81816
  * - `dragging`: The row is being moved, in a `reorderable` list.
81690
81817
  * - `drop-after`: The row being moved goes after this one when it is dropped.
81691
81818
  * - `drop-before`: The row being moved goes before this one when it is dropped.
81819
+ * - `focus-visible`: The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.
81692
81820
  * - `selected`: The row is selected, in a list that selects.
81693
81821
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
81694
81822
  */
@@ -81724,6 +81852,12 @@ export type CustomElementsSolidJs = {
81724
81852
  * `unordered` too, where it numbers what a bullet did not.
81725
81853
  * - `canceled-label`/`canceledLabel`: What screen readers hear when a held row is put back, or a move is
81726
81854
  * refused, in a `reorderable` list.
81855
+ * - `disabled-behavior`/`disabledBehavior`: What `disabled` takes from a row, in a list that selects: `all`, which
81856
+ * passes over the row, or `selection`, which keeps the row out of the
81857
+ * selection and lets the keys reach it and Enter or a press act on it, as
81858
+ * React Aria's GridList takes `disabledBehavior`.
81859
+ *
81860
+ * Absent is `all`.
81727
81861
  * - `dropped-label`/`droppedLabel`: What screen readers hear when a row is dropped, in a `reorderable` list.
81728
81862
  * - `empty-label`/`emptyLabel`: The text of the row shown while the list has no rows, where the `empty`
81729
81863
  * slot is empty. Empty, the default, shows no row.
@@ -82025,6 +82159,13 @@ export type CustomElementsSolidJs = {
82025
82159
  * imperatively later, and nothing is hydrating by then.
82026
82160
  *
82027
82161
  * Here rather than on each control.
82162
+ * - `filterMatch`: Whether an option is kept by the filter: a function given the option's
82163
+ * words and the filter, trimmed, that returns `true` to keep it showing, as
82164
+ * React Aria's `Autocomplete` takes `filter`. For matching that ignores
82165
+ * accents, matches the start of each word, or matches out of order.
82166
+ *
82167
+ * Absent, an option is kept where its words hold the filter, in any case. A
82168
+ * property only, there being no way to write a function in markup. (property only)
82028
82169
  * - `items`: The options as data, for a list too long to draw whole: each a value,
82029
82170
  * which is also its words, or a record with a `value`, a `label` and
82030
82171
  * `disabled`. Set, the list draws only the options in sight, and the ones
@@ -82061,7 +82202,10 @@ export type CustomElementsSolidJs = {
82061
82202
  * Descendants rather than children, because a group puts a level between the
82062
82203
  * list and its options and the keyboard has to move through a grouped list
82063
82204
  * exactly as it moves through a flat one. (property only) (readonly)
82064
- * - `values`: The chosen values, as an array whether or not `multiple` is set. (property only) (readonly)
82205
+ * - `values`: The chosen values, as an array whether or not `multiple` is set.
82206
+ *
82207
+ * Read against the options' values, so an option whose value holds a comma
82208
+ * is one value. See `chosenValues`. (property only) (readonly)
82065
82209
  * - `validity`: Whether the control meets its constraints, and why not. (property only) (readonly)
82066
82210
  * - `validationMessage`: The message the browser would show for the control, or an empty string. (property only) (readonly)
82067
82211
  * - `willValidate`: Whether the control is checked when its form is submitted. (property only) (readonly)
@@ -83938,6 +84082,10 @@ export type CustomElementsSolidJs = {
83938
84082
  * - `drilled`: A submenu's page is showing, so content that is not a row can hide with the top page.
83939
84083
  * - `mark`: A row on the current page has a checkbox or a link, so every row keeps the trailing column.
83940
84084
  * - `open`: While the menu is open.
84085
+ * - `placed-bottom`: While the open panel sits below its trigger.
84086
+ * - `placed-left`: While the open panel sits to the left of its trigger.
84087
+ * - `placed-right`: While the open panel sits to the right of its trigger.
84088
+ * - `placed-top`: While the open panel sits above its trigger.
83941
84089
  * - `start`: A row on the current page has content in its leading column, so every row keeps that column.
83942
84090
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
83943
84091
  */
@@ -85010,8 +85158,11 @@ export type CustomElementsSolidJs = {
85010
85158
  * imperatively later, and nothing is hydrating by then.
85011
85159
  *
85012
85160
  * Here rather than on each control.
85013
- * - `valueAsNumber`: The value as a number, or `NaN` while the control is empty.
85161
+ * - `valueAsNumber`: The value as a number, or `NaN` while the control is empty or does not
85162
+ * hold a number.
85014
85163
  *
85164
+ * Read in the locale and the format, as the form reads it, so `1,5` typed
85165
+ * in a locale with a decimal comma is 1.5 here while the form holds 1.5.
85015
85166
  * `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
85016
85167
  * is zero, so an empty control would report a number it does not hold and a
85017
85168
  * form would submit it. (property only)
@@ -89539,7 +89690,8 @@ export type CustomElementsSolidJs = {
89539
89690
  * - `label`: What is loading, read out as the placeholder's name, such as "Loading
89540
89691
  * profile".
89541
89692
  *
89542
- * Absent hides the placeholder from screen readers.
89693
+ * Absent hides the placeholder from screen readers. Around content, the name
89694
+ * is read while `loading` is set, and the loaded content is read as it is.
89543
89695
  * - `loading`: Whether the content inside is still loading, which keeps it inert and
89544
89696
  * draws the placeholder over it.
89545
89697
  *
package/types/vue.d.ts CHANGED
@@ -5211,6 +5211,13 @@ how many are left, written in the locale, and each language writes the
5211
5211
  forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
5212
5212
  {# poleceń} other {# polecenia}}`. */
5213
5213
  resultsLabel?: (HelixCommand["resultsLabel"]) | undefined;
5214
+ /** Whether a command is kept by the filter: a function given the command's
5215
+ words and the filter, trimmed, that returns `true` to keep it showing, as
5216
+ React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
5217
+
5218
+ Absent, a command is kept where its words hold the filter, in any case. A
5219
+ property only, there being no way to write a function in markup. */
5220
+ filterMatch?: (HelixCommand["filterMatch"]) | undefined;
5214
5221
  /** The commands as data, for a palette too long to draw whole: each a value,
5215
5222
  which is also its words, or a record with a `value`, a `label` and
5216
5223
  `disabled`. Handed to the list, which draws only the commands in sight and
@@ -10237,7 +10244,9 @@ Not reflected, as a state never is. `row-current` is the part a
10237
10244
  stylesheet draws it from. */
10238
10245
  current?: (HelixListItem["current"]) | undefined;
10239
10246
  /** Takes the row out of reach in a list with `selection-mode`: the arrow keys
10240
- pass over it and it cannot be selected or acted on. */
10247
+ pass over it and it cannot be selected or acted on. In a list with
10248
+ `disabled-behavior="selection"`, it cannot be selected and is reached and
10249
+ acted on as any row is. */
10241
10250
  disabled?: (HelixListItem["disabled"]) | undefined;
10242
10251
  /** The URL the row links to. Leave it empty for a row that is not a link.
10243
10252
 
@@ -10273,6 +10282,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
10273
10282
  Written by the list from its own `value`, and unset where nothing can be
10274
10283
  selected, which keeps `aria-selected` off a list that does not select. */
10275
10284
  selected?: (HelixListItem["selected"]) | undefined;
10285
+ /** Whether `disabled` takes the row out of selection alone, written by a list
10286
+ with `disabled-behavior="selection"`. No attribute: it is coordination
10287
+ between elements, as `focusable` is. */
10288
+ selectionOnly?: (HelixListItem["selectionOnly"]) | undefined;
10276
10289
  };
10277
10290
 
10278
10291
  export type HelixListItemVueEvents = {
@@ -10322,6 +10335,20 @@ refused, in a `reorderable` list. */
10322
10335
  /** What screen readers hear when a held row is put back, or a move is
10323
10336
  refused, in a `reorderable` list. */
10324
10337
  canceledLabel?: (HelixList["canceledLabel"]) | undefined;
10338
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
10339
+ passes over the row, or `selection`, which keeps the row out of the
10340
+ selection and lets the keys reach it and Enter or a press act on it, as
10341
+ React Aria's GridList takes `disabledBehavior`.
10342
+
10343
+ Absent is `all`. */
10344
+ "disabled-behavior"?: (HelixList["disabledBehavior"]) | undefined;
10345
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
10346
+ passes over the row, or `selection`, which keeps the row out of the
10347
+ selection and lets the keys reach it and Enter or a press act on it, as
10348
+ React Aria's GridList takes `disabledBehavior`.
10349
+
10350
+ Absent is `all`. */
10351
+ disabledBehavior?: (HelixList["disabledBehavior"]) | undefined;
10325
10352
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
10326
10353
  "dropped-label"?: (HelixList["droppedLabel"]) | undefined;
10327
10354
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
@@ -10706,6 +10733,14 @@ imperatively later, and nothing is hydrating by then.
10706
10733
 
10707
10734
  Here rather than on each control. */
10708
10735
  name?: (HelixListbox["name"]) | undefined;
10736
+ /** Whether an option is kept by the filter: a function given the option's
10737
+ words and the filter, trimmed, that returns `true` to keep it showing, as
10738
+ React Aria's `Autocomplete` takes `filter`. For matching that ignores
10739
+ accents, matches the start of each word, or matches out of order.
10740
+
10741
+ Absent, an option is kept where its words hold the filter, in any case. A
10742
+ property only, there being no way to write a function in markup. */
10743
+ filterMatch?: (HelixListbox["filterMatch"]) | undefined;
10709
10744
  /** The options as data, for a list too long to draw whole: each a value,
10710
10745
  which is also its words, or a record with a `value`, a `label` and
10711
10746
  `disabled`. Set, the list draws only the options in sight, and the ones
@@ -12643,8 +12678,11 @@ imperatively later, and nothing is hydrating by then.
12643
12678
 
12644
12679
  Here rather than on each control. */
12645
12680
  name?: (HelixNumberInput["name"]) | undefined;
12646
- /** The value as a number, or `NaN` while the control is empty.
12681
+ /** The value as a number, or `NaN` while the control is empty or does not
12682
+ hold a number.
12647
12683
 
12684
+ Read in the locale and the format, as the form reads it, so `1,5` typed
12685
+ in a locale with a decimal comma is 1.5 here while the form holds 1.5.
12648
12686
  `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
12649
12687
  is zero, so an empty control would report a number it does not hold and a
12650
12688
  form would submit it. */
@@ -15407,7 +15445,8 @@ control height until you size it, with a height on the element or
15407
15445
  /** What is loading, read out as the placeholder's name, such as "Loading
15408
15446
  profile".
15409
15447
 
15410
- Absent hides the placeholder from screen readers. */
15448
+ Absent hides the placeholder from screen readers. Around content, the name
15449
+ is read while `loading` is set, and the loaded content is read as it is. */
15411
15450
  label?: (HelixSkeleton["label"]) | undefined;
15412
15451
  /** Whether the content inside is still loading, which keeps it inert and
15413
15452
  draws the placeholder over it.