@fusion.dev/helix-headless 0.182.2 → 0.184.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 +625 -90
- package/dist/bar-chart/root/bar-chart-root.d.ts +1 -0
- package/dist/bar-chart/root/bar-chart-root.js +3 -2
- package/dist/code-block/root/code-block-root.d.ts +42 -1
- package/dist/code-block/root/code-block-root.js +25 -4
- package/dist/heatmap/root/heatmap-root.d.ts +11 -1
- package/dist/heatmap/root/heatmap-root.js +17 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/menu/filter/index.d.ts +1 -0
- package/dist/menu/filter/index.js +4 -0
- package/dist/menu/filter/menu-filter.d.ts +114 -0
- package/dist/menu/filter/menu-filter.js +172 -0
- package/dist/menu/root/menu-root.d.ts +28 -29
- package/dist/menu/root/menu-root.js +32 -107
- package/dist/time-input/root/time-input-root.d.ts +11 -0
- package/dist/time-input/root/time-input-root.js +11 -0
- package/dist/virtual-list/reorder/virtual-list-reorder.js +5 -1
- package/dist/virtual-list/root/virtual-list-root.d.ts +95 -17
- package/dist/virtual-list/root/virtual-list-root.js +123 -28
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +232 -30
- package/types/vue.d.ts +38 -7
- package/types/words.d.ts +7 -0
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.184.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -49,14 +49,14 @@
|
|
|
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.184.0",
|
|
53
|
+
"@fusion.dev/helix-icons": "0.184.0",
|
|
54
54
|
"tslib": "^2.8.1",
|
|
55
55
|
"uqr": "^0.1.3"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@fusion.dev/helix-cem": "0.
|
|
59
|
-
"@fusion.dev/helix-testing": "0.
|
|
58
|
+
"@fusion.dev/helix-cem": "0.184.0",
|
|
59
|
+
"@fusion.dev/helix-testing": "0.184.0",
|
|
60
60
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
61
61
|
"@happy-dom/global-registrator": "^20.14.5",
|
|
62
62
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -6392,7 +6392,11 @@ whole of it, which Shiki writes, are taken off, so the lines sit level
|
|
|
6392
6392
|
with the gutter's numbers and the block keeps one tab stop. The code stays
|
|
6393
6393
|
in the slot, so the copy button copies it as written and a reader without
|
|
6394
6394
|
the script still has it. Not called on a server, which has no code to
|
|
6395
|
-
read, nor for a diff.
|
|
6395
|
+
read, nor for a diff.
|
|
6396
|
+
|
|
6397
|
+
Absent, the block draws with the highlighter `registerHighlighter` gave
|
|
6398
|
+
every block, where an entry such as `@fusion.dev/helix-sandbox/code-block`
|
|
6399
|
+
registered one, and plain otherwise. */
|
|
6396
6400
|
highlight?: (HelixHeadlessCodeBlock["highlight"]) | undefined;
|
|
6397
6401
|
|
|
6398
6402
|
/** A file tab showed its file, whose name `file` now holds. */
|
|
@@ -6634,7 +6638,11 @@ whole of it, which Shiki writes, are taken off, so the lines sit level
|
|
|
6634
6638
|
with the gutter's numbers and the block keeps one tab stop. The code stays
|
|
6635
6639
|
in the slot, so the copy button copies it as written and a reader without
|
|
6636
6640
|
the script still has it. Not called on a server, which has no code to
|
|
6637
|
-
read, nor for a diff.
|
|
6641
|
+
read, nor for a diff.
|
|
6642
|
+
|
|
6643
|
+
Absent, the block draws with the highlighter `registerHighlighter` gave
|
|
6644
|
+
every block, where an entry such as `@fusion.dev/helix-sandbox/code-block`
|
|
6645
|
+
registered one, and plain otherwise. */
|
|
6638
6646
|
"prop:highlight"?: (HelixHeadlessCodeBlock["highlight"]) | undefined;
|
|
6639
6647
|
/** A file tab showed its file, whose name `file` now holds. */
|
|
6640
6648
|
"on:change"?: ((e: HelixHeadlessCodeBlockElementEvent) => void) | undefined;
|
|
@@ -21529,7 +21537,11 @@ Cleared as the menu closes and as a submenu opens or closes, so each page
|
|
|
21529
21537
|
starts with every row showing. */
|
|
21530
21538
|
filter?: (HelixHeadlessMenu["filter"]) | undefined;
|
|
21531
21539
|
/** Whether the menu shows a field above its rows that narrows them as the
|
|
21532
|
-
reader types, with focus staying in the field
|
|
21540
|
+
reader types, with focus staying in the field, once
|
|
21541
|
+
`@fusion.dev/helix/menu/filter` (or `@fusion.dev/helix-headless/menu/filter`)
|
|
21542
|
+
is imported. Without that import it does nothing, so a menu that never
|
|
21543
|
+
filters carries none of the filter's code, and a development build says
|
|
21544
|
+
which import is missing. */
|
|
21533
21545
|
filterable?: (HelixHeadlessMenu["filterable"]) | undefined;
|
|
21534
21546
|
/** The filter field's name and placeholder. */
|
|
21535
21547
|
"filter-label"?: (HelixHeadlessMenu["filterLabel"]) | undefined;
|
|
@@ -21667,7 +21679,11 @@ Cleared as the menu closes and as a submenu opens or closes, so each page
|
|
|
21667
21679
|
starts with every row showing. */
|
|
21668
21680
|
"prop:filter"?: (HelixHeadlessMenu["filter"]) | undefined;
|
|
21669
21681
|
/** Whether the menu shows a field above its rows that narrows them as the
|
|
21670
|
-
reader types, with focus staying in the field
|
|
21682
|
+
reader types, with focus staying in the field, once
|
|
21683
|
+
`@fusion.dev/helix/menu/filter` (or `@fusion.dev/helix-headless/menu/filter`)
|
|
21684
|
+
is imported. Without that import it does nothing, so a menu that never
|
|
21685
|
+
filters carries none of the filter's code, and a development build says
|
|
21686
|
+
which import is missing. */
|
|
21671
21687
|
"prop:filterable"?: (HelixHeadlessMenu["filterable"]) | undefined;
|
|
21672
21688
|
/** The filter field's name and placeholder. */
|
|
21673
21689
|
"attr:filter-label"?: (HelixHeadlessMenu["filterLabel"]) | undefined;
|
|
@@ -31763,6 +31779,12 @@ number, and both are carried as one comma-separated value, which is what a
|
|
|
31763
31779
|
form submits. `TimePicker` carries the longer note on the interaction and
|
|
31764
31780
|
on why a wheel cannot do either. */
|
|
31765
31781
|
mode?: (HelixHeadlessTimeInput["mode"]) | undefined;
|
|
31782
|
+
/** The words on the list's button that chooses the current time, drawn with
|
|
31783
|
+
`show-now`. */
|
|
31784
|
+
"now-label"?: (HelixHeadlessTimeInput["nowLabel"]) | undefined;
|
|
31785
|
+
/** The words on the list's button that chooses the current time, drawn with
|
|
31786
|
+
`show-now`. */
|
|
31787
|
+
nowLabel?: (HelixHeadlessTimeInput["nowLabel"]) | undefined;
|
|
31766
31788
|
/** Placeholder text shown before a time is entered. */
|
|
31767
31789
|
placeholder?: (HelixHeadlessTimeInput["placeholder"]) | undefined;
|
|
31768
31790
|
/** The message shown when a range holds more than two times.
|
|
@@ -31803,6 +31825,14 @@ removes rather than as "Remove" said once per time. */
|
|
|
31803
31825
|
may give them, the field writes them, and the list's `step` counts seconds.
|
|
31804
31826
|
See Time Picker's `seconds`. */
|
|
31805
31827
|
seconds?: (HelixHeadlessTimeInput["seconds"]) | undefined;
|
|
31828
|
+
/** Draws a button under the times in the list that chooses the current time,
|
|
31829
|
+
moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
31830
|
+
are `now-label`. */
|
|
31831
|
+
"show-now"?: (HelixHeadlessTimeInput["showNow"]) | undefined;
|
|
31832
|
+
/** Draws a button under the times in the list that chooses the current time,
|
|
31833
|
+
moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
31834
|
+
are `now-label`. */
|
|
31835
|
+
showNow?: (HelixHeadlessTimeInput["showNow"]) | undefined;
|
|
31806
31836
|
/** How far apart the offered times are, in minutes, or in seconds with
|
|
31807
31837
|
`seconds`. */
|
|
31808
31838
|
step?: (HelixHeadlessTimeInput["step"]) | undefined;
|
|
@@ -32171,6 +32201,12 @@ number, and both are carried as one comma-separated value, which is what a
|
|
|
32171
32201
|
form submits. `TimePicker` carries the longer note on the interaction and
|
|
32172
32202
|
on why a wheel cannot do either. */
|
|
32173
32203
|
"prop:mode"?: (HelixHeadlessTimeInput["mode"]) | undefined;
|
|
32204
|
+
/** The words on the list's button that chooses the current time, drawn with
|
|
32205
|
+
`show-now`. */
|
|
32206
|
+
"attr:now-label"?: (HelixHeadlessTimeInput["nowLabel"]) | undefined;
|
|
32207
|
+
/** The words on the list's button that chooses the current time, drawn with
|
|
32208
|
+
`show-now`. */
|
|
32209
|
+
"prop:nowLabel"?: (HelixHeadlessTimeInput["nowLabel"]) | undefined;
|
|
32174
32210
|
/** Placeholder text shown before a time is entered. */
|
|
32175
32211
|
"prop:placeholder"?: (HelixHeadlessTimeInput["placeholder"]) | undefined;
|
|
32176
32212
|
/** The message shown when a range holds more than two times.
|
|
@@ -32211,6 +32247,14 @@ removes rather than as "Remove" said once per time. */
|
|
|
32211
32247
|
may give them, the field writes them, and the list's `step` counts seconds.
|
|
32212
32248
|
See Time Picker's `seconds`. */
|
|
32213
32249
|
"prop:seconds"?: (HelixHeadlessTimeInput["seconds"]) | undefined;
|
|
32250
|
+
/** Draws a button under the times in the list that chooses the current time,
|
|
32251
|
+
moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
32252
|
+
are `now-label`. */
|
|
32253
|
+
"bool:show-now"?: (HelixHeadlessTimeInput["showNow"]) | undefined;
|
|
32254
|
+
/** Draws a button under the times in the list that chooses the current time,
|
|
32255
|
+
moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
32256
|
+
are `now-label`. */
|
|
32257
|
+
"prop:showNow"?: (HelixHeadlessTimeInput["showNow"]) | undefined;
|
|
32214
32258
|
/** How far apart the offered times are, in minutes, or in seconds with
|
|
32215
32259
|
`seconds`. */
|
|
32216
32260
|
"prop:step"?: (HelixHeadlessTimeInput["step"]) | undefined;
|
|
@@ -36982,6 +37026,13 @@ are rendered at a time.
|
|
|
36982
37026
|
An `aria-label` or `aria-labelledby` on the host names the list too, and
|
|
36983
37027
|
wins over this. */
|
|
36984
37028
|
label?: (HelixHeadlessVirtualList["label"]) | undefined;
|
|
37029
|
+
/** How items of more than one column are laid out. `grid`, the default, puts
|
|
37030
|
+
them in lines of equal columns. `waterfall` puts each item, in the order
|
|
37031
|
+
of the set, under the column that ends highest, as a wall of photos of
|
|
37032
|
+
different heights is: `columns`, or `min-column-width`, says how many
|
|
37033
|
+
columns. Rows of a waterfall are measured, and Up and Down move along a
|
|
37034
|
+
column. */
|
|
37035
|
+
layout?: (HelixHeadlessVirtualList["layout"]) | undefined;
|
|
36985
37036
|
/** Marks the list as busy fetching more items, and draws a row after the last
|
|
36986
37037
|
item that says so.
|
|
36987
37038
|
|
|
@@ -37014,14 +37065,15 @@ follows the box as it resizes, which `columns` then does not decide. */
|
|
|
37014
37065
|
/** Which way the list runs. `horizontal` lays the items out along a line
|
|
37015
37066
|
and scrolls it sideways: Left and Right move between items, the other
|
|
37016
37067
|
way round on a right-to-left page, and `estimate` is an item's width. A
|
|
37017
|
-
grid always
|
|
37068
|
+
grid and a waterfall always run down. */
|
|
37018
37069
|
orientation?: (HelixHeadlessVirtualList["orientation"]) | undefined;
|
|
37019
37070
|
/** Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
|
|
37020
37071
|
(or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
|
|
37021
37072
|
with an arrow moves the row the keys are on, and a pointer drags a row.
|
|
37022
37073
|
The list moves no item itself: you move your `items` on `helix-reorder`.
|
|
37023
37074
|
Without that import it does nothing, so a list that never moves items
|
|
37024
|
-
carries none of the code. A list of one column, without sections
|
|
37075
|
+
carries none of the code. A list of one column, without sections or a
|
|
37076
|
+
waterfall. */
|
|
37025
37077
|
reorderable?: (HelixHeadlessVirtualList["reorderable"]) | undefined;
|
|
37026
37078
|
/** The field of each item that names its section, as a key or a path of
|
|
37027
37079
|
keys. Set, the items are drawn in sections: a header, then the items, in
|
|
@@ -37150,6 +37202,13 @@ are rendered at a time.
|
|
|
37150
37202
|
An `aria-label` or `aria-labelledby` on the host names the list too, and
|
|
37151
37203
|
wins over this. */
|
|
37152
37204
|
"prop:label"?: (HelixHeadlessVirtualList["label"]) | undefined;
|
|
37205
|
+
/** How items of more than one column are laid out. `grid`, the default, puts
|
|
37206
|
+
them in lines of equal columns. `waterfall` puts each item, in the order
|
|
37207
|
+
of the set, under the column that ends highest, as a wall of photos of
|
|
37208
|
+
different heights is: `columns`, or `min-column-width`, says how many
|
|
37209
|
+
columns. Rows of a waterfall are measured, and Up and Down move along a
|
|
37210
|
+
column. */
|
|
37211
|
+
"prop:layout"?: (HelixHeadlessVirtualList["layout"]) | undefined;
|
|
37153
37212
|
/** Marks the list as busy fetching more items, and draws a row after the last
|
|
37154
37213
|
item that says so.
|
|
37155
37214
|
|
|
@@ -37182,14 +37241,15 @@ follows the box as it resizes, which `columns` then does not decide. */
|
|
|
37182
37241
|
/** Which way the list runs. `horizontal` lays the items out along a line
|
|
37183
37242
|
and scrolls it sideways: Left and Right move between items, the other
|
|
37184
37243
|
way round on a right-to-left page, and `estimate` is an item's width. A
|
|
37185
|
-
grid always
|
|
37244
|
+
grid and a waterfall always run down. */
|
|
37186
37245
|
"prop:orientation"?: (HelixHeadlessVirtualList["orientation"]) | undefined;
|
|
37187
37246
|
/** Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
|
|
37188
37247
|
(or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
|
|
37189
37248
|
with an arrow moves the row the keys are on, and a pointer drags a row.
|
|
37190
37249
|
The list moves no item itself: you move your `items` on `helix-reorder`.
|
|
37191
37250
|
Without that import it does nothing, so a list that never moves items
|
|
37192
|
-
carries none of the code. A list of one column, without sections
|
|
37251
|
+
carries none of the code. A list of one column, without sections or a
|
|
37252
|
+
waterfall. */
|
|
37193
37253
|
"prop:reorderable"?: (HelixHeadlessVirtualList["reorderable"]) | undefined;
|
|
37194
37254
|
/** The field of each item that names its section, as a key or a path of
|
|
37195
37255
|
keys. Set, the items are drawn in sections: a header, then the items, in
|
|
@@ -38870,6 +38930,7 @@ export type CustomElements = {
|
|
|
38870
38930
|
* - `bar`: One column. Under `stacked`, one segment of a category's column.
|
|
38871
38931
|
* - `bar-end`: The bar at a column's far end, the end away from zero, which is the end to round. A column standing alone is its own far end. Under `stacked`, the last positive segment above zero and the last negative one below it. Its `data-end` is `positive` or `negative`. A blank or a zero is never the end. Set together with `bar`.
|
|
38872
38932
|
* - `bar-end-negative`: A far end below zero, whose far end is its bottom, or its inline start when the bars run across. Set together with `bar-end`.
|
|
38933
|
+
* - `bar-negative`: A bar below zero, standing alone or any segment of a stack below it, whose base is its top, or its inline end when the bars run across. Set together with `bar`.
|
|
38873
38934
|
* - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
|
|
38874
38935
|
* - `bar-wash-start`: The stop of a bar's gradient at its base.
|
|
38875
38936
|
* - `baseline`: The line the columns stand on.
|
|
@@ -42110,6 +42171,20 @@ export type CustomElements = {
|
|
|
42110
42171
|
* the slot, so the copy button and the page's own text are the code as
|
|
42111
42172
|
* written.
|
|
42112
42173
|
*
|
|
42174
|
+
* **Code Block ships no grammar**, so plain code costs you no parser. To color
|
|
42175
|
+
* code without a highlighter of your own, import one more entry beside the
|
|
42176
|
+
* block's. It colors every block by its `language` (`css`, `html`, `js`,
|
|
42177
|
+
* `jsx`, `sh`, `ts`, or `tsx`) with the Lezer grammars of the sandbox's
|
|
42178
|
+
* editor, in the editor's colors:
|
|
42179
|
+
*
|
|
42180
|
+
* ```js
|
|
42181
|
+
* import '@fusion.dev/helix/code-block'
|
|
42182
|
+
* import '@fusion.dev/helix-sandbox/code-block'
|
|
42183
|
+
* ```
|
|
42184
|
+
*
|
|
42185
|
+
* That entry calls `registerHighlighter`, which you can also call yourself to
|
|
42186
|
+
* give every block one highlighter of your own.
|
|
42187
|
+
*
|
|
42113
42188
|
* Set `expandable` on a block whose height is capped, such as by
|
|
42114
42189
|
* `--code-block-max-block-size`, and a button under it shows every line and
|
|
42115
42190
|
* then fewer again, as a docs site's long example does. The button is drawn
|
|
@@ -42282,7 +42357,11 @@ export type CustomElements = {
|
|
|
42282
42357
|
* with the gutter's numbers and the block keeps one tab stop. The code stays
|
|
42283
42358
|
* in the slot, so the copy button copies it as written and a reader without
|
|
42284
42359
|
* the script still has it. Not called on a server, which has no code to
|
|
42285
|
-
* read, nor for a diff.
|
|
42360
|
+
* read, nor for a diff.
|
|
42361
|
+
*
|
|
42362
|
+
* Absent, the block draws with the highlighter `registerHighlighter` gave
|
|
42363
|
+
* every block, where an entry such as `@fusion.dev/helix-sandbox/code-block`
|
|
42364
|
+
* registered one, and plain otherwise. (property only)
|
|
42286
42365
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
42287
42366
|
*
|
|
42288
42367
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -53647,7 +53726,15 @@ export type CustomElements = {
|
|
|
53647
53726
|
* opens it from the keyboard, and the trigger is described by
|
|
53648
53727
|
* `long-press-label`, which says so.
|
|
53649
53728
|
*
|
|
53650
|
-
* **A filter field
|
|
53729
|
+
* **A filter field** is a separate import, `@fusion.dev/helix/menu/filter`, so
|
|
53730
|
+
* a menu that never filters carries none of its code:
|
|
53731
|
+
*
|
|
53732
|
+
* ```js
|
|
53733
|
+
* import '@fusion.dev/helix/menu'
|
|
53734
|
+
* import '@fusion.dev/helix/menu/filter'
|
|
53735
|
+
* ```
|
|
53736
|
+
*
|
|
53737
|
+
* With it imported and `filterable` set, the menu opens with focus in a field
|
|
53651
53738
|
* above its rows, and typing narrows the rows of the page the keys move in,
|
|
53652
53739
|
* as React Aria's `Autocomplete` around a `Menu` does. A row is kept where its
|
|
53653
53740
|
* words hold the filter, in any case, or where `filterMatch` says so. Each
|
|
@@ -53680,7 +53767,11 @@ export type CustomElements = {
|
|
|
53680
53767
|
* Cleared as the menu closes and as a submenu opens or closes, so each page
|
|
53681
53768
|
* starts with every row showing.
|
|
53682
53769
|
* - `filterable`: Whether the menu shows a field above its rows that narrows them as the
|
|
53683
|
-
* reader types, with focus staying in the field
|
|
53770
|
+
* reader types, with focus staying in the field, once
|
|
53771
|
+
* `@fusion.dev/helix/menu/filter` (or `@fusion.dev/helix-headless/menu/filter`)
|
|
53772
|
+
* is imported. Without that import it does nothing, so a menu that never
|
|
53773
|
+
* filters carries none of the filter's code, and a development build says
|
|
53774
|
+
* which import is missing.
|
|
53684
53775
|
* - `filter-label`/`filterLabel`: The filter field's name and placeholder.
|
|
53685
53776
|
* - `label`: Accessible name for the surface.
|
|
53686
53777
|
*
|
|
@@ -62667,6 +62758,8 @@ export type CustomElements = {
|
|
|
62667
62758
|
* number, and both are carried as one comma-separated value, which is what a
|
|
62668
62759
|
* form submits. `TimePicker` carries the longer note on the interaction and
|
|
62669
62760
|
* on why a wheel cannot do either.
|
|
62761
|
+
* - `now-label`/`nowLabel`: The words on the list's button that chooses the current time, drawn with
|
|
62762
|
+
* `show-now`.
|
|
62670
62763
|
* - `placeholder`: Placeholder text shown before a time is entered.
|
|
62671
62764
|
* - `range-length-message`/`rangeLengthMessage`: The message shown when a range holds more than two times.
|
|
62672
62765
|
*
|
|
@@ -62684,6 +62777,9 @@ export type CustomElements = {
|
|
|
62684
62777
|
* - `seconds`: Whether times carry their seconds: the value is `HH:mm:ss`, a typed time
|
|
62685
62778
|
* may give them, the field writes them, and the list's `step` counts seconds.
|
|
62686
62779
|
* See Time Picker's `seconds`.
|
|
62780
|
+
* - `show-now`/`showNow`: Draws a button under the times in the list that chooses the current time,
|
|
62781
|
+
* moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
62782
|
+
* are `now-label`.
|
|
62687
62783
|
* - `step`: How far apart the offered times are, in minutes, or in seconds with
|
|
62688
62784
|
* `seconds`.
|
|
62689
62785
|
* - `time-style`/`timeStyle`: Whether the field shows the time in the local style or as the value
|
|
@@ -66680,6 +66776,32 @@ export type CustomElements = {
|
|
|
66680
66776
|
* smallest item size, and follows the box as it resizes. `gap` spaces the rows, and the columns
|
|
66681
66777
|
* of a grid, by a number of pixels the list counts in each row's place.
|
|
66682
66778
|
*
|
|
66779
|
+
* A grid without `selection-mode` is a grid to a reader, as the APG's grid
|
|
66780
|
+
* and React Aria's grid list are: the box is a `grid` with `aria-rowcount`
|
|
66781
|
+
* and `aria-colcount`, each line drawn is a `row` with `aria-rowindex`, and
|
|
66782
|
+
* each item a `gridcell` with `aria-colindex`. Each line is a slot of the
|
|
66783
|
+
* list's own, so your rows stay its children: give an item one element. With
|
|
66784
|
+
* `selection-mode` it stays a list box of options, as React Aria's list box
|
|
66785
|
+
* in a grid layout does.
|
|
66786
|
+
*
|
|
66787
|
+
* **A waterfall.** `layout="waterfall"` puts each item, in the order of the
|
|
66788
|
+
* set, under the column that ends highest so far, the leftmost of a tie, as a
|
|
66789
|
+
* wall of photos of different heights is, and as React Aria's waterfall
|
|
66790
|
+
* layout and TanStack Virtual's lanes do. `columns`, or `min-column-width`,
|
|
66791
|
+
* says how many columns. Every item is measured, at the width of its column,
|
|
66792
|
+
* and placed at its column and its height, so items of any height leave no
|
|
66793
|
+
* holes. The list draws the items that reach into the box, and the item
|
|
66794
|
+
* holding focus. A reader hears a list, or a list box, in the order of the
|
|
66795
|
+
* set, which is also the order Tab and a screen reader's own keys take.
|
|
66796
|
+
*
|
|
66797
|
+
* In a waterfall, Down and Up move along the column to the next or the
|
|
66798
|
+
* previous item in it, Right and Left move to the next or the previous
|
|
66799
|
+
* column, to the item there that sits beside this one the most, or the
|
|
66800
|
+
* nearest above where none does, and Page Down and Page Up move a box down
|
|
66801
|
+
* or up the column. Home and End go to the first and the last item of the
|
|
66802
|
+
* set, and Shift with a key takes in the items between in the order of the
|
|
66803
|
+
* set.
|
|
66804
|
+
*
|
|
66683
66805
|
* **Across.** `orientation="horizontal"` lays the items out along a line and
|
|
66684
66806
|
* scrolls it sideways, as a strip of cards does, windowed the same way:
|
|
66685
66807
|
* `estimate` is then an item's width, and the box needs an inline size.
|
|
@@ -66698,10 +66820,11 @@ export type CustomElements = {
|
|
|
66698
66820
|
*
|
|
66699
66821
|
* | Key | What it does |
|
|
66700
66822
|
* |---|---|
|
|
66701
|
-
* | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. |
|
|
66702
|
-
* | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
|
|
66703
|
-
* | Home, End | Moves to the first or the last item. |
|
|
66704
|
-
* |
|
|
66823
|
+
* | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line, or in a waterfall to the next or the previous item down the same column. |
|
|
66824
|
+
* | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a waterfall, moves to the item beside in the next or the previous column. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
|
|
66825
|
+
* | Home, End | Moves to the first or the last item. In a grid without `selection-mode`, to the first or the last item of the line. |
|
|
66826
|
+
* | Control or Command with Home or End | In a grid without `selection-mode`, moves to the first or the last item. |
|
|
66827
|
+
* | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen, or in a waterfall a box down or up the column. |
|
|
66705
66828
|
* | A letter or a word | Moves to the next item whose text starts with what you typed. |
|
|
66706
66829
|
* | Escape | Lets go of every chosen item, in a list with `selection-mode`. |
|
|
66707
66830
|
* | Alt with Up or Down | In a `reorderable` list, moves the item a place. Alt with Home or End moves it to either end. |
|
|
@@ -66716,8 +66839,9 @@ export type CustomElements = {
|
|
|
66716
66839
|
* or the item itself when it is a string or a number.
|
|
66717
66840
|
*
|
|
66718
66841
|
* Each row says its place in the whole set with `aria-posinset` and
|
|
66719
|
-
* `aria-setsize`, so a screen reader says "4,000 of 10,000"
|
|
66720
|
-
* focus stays drawn when it
|
|
66842
|
+
* `aria-setsize`, so a screen reader says "4,000 of 10,000", and each cell of
|
|
66843
|
+
* a grid its line and its column. The row holding focus stays drawn when it
|
|
66844
|
+
* scrolls out.
|
|
66721
66845
|
*
|
|
66722
66846
|
* **Selecting.** `selection-mode` makes the list a list box a reader chooses
|
|
66723
66847
|
* from: `single` selects one item and `multiple` any number. Space or a press
|
|
@@ -66825,6 +66949,12 @@ export type CustomElements = {
|
|
|
66825
66949
|
*
|
|
66826
66950
|
* An `aria-label` or `aria-labelledby` on the host names the list too, and
|
|
66827
66951
|
* wins over this.
|
|
66952
|
+
* - `layout`: How items of more than one column are laid out. `grid`, the default, puts
|
|
66953
|
+
* them in lines of equal columns. `waterfall` puts each item, in the order
|
|
66954
|
+
* of the set, under the column that ends highest, as a wall of photos of
|
|
66955
|
+
* different heights is: `columns`, or `min-column-width`, says how many
|
|
66956
|
+
* columns. Rows of a waterfall are measured, and Up and Down move along a
|
|
66957
|
+
* column.
|
|
66828
66958
|
* - `loading`: Marks the list as busy fetching more items, and draws a row after the last
|
|
66829
66959
|
* item that says so.
|
|
66830
66960
|
*
|
|
@@ -66847,13 +66977,14 @@ export type CustomElements = {
|
|
|
66847
66977
|
* - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
|
|
66848
66978
|
* and scrolls it sideways: Left and Right move between items, the other
|
|
66849
66979
|
* way round on a right-to-left page, and `estimate` is an item's width. A
|
|
66850
|
-
* grid always
|
|
66980
|
+
* grid and a waterfall always run down.
|
|
66851
66981
|
* - `reorderable`: Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
|
|
66852
66982
|
* (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
|
|
66853
66983
|
* with an arrow moves the row the keys are on, and a pointer drags a row.
|
|
66854
66984
|
* The list moves no item itself: you move your `items` on `helix-reorder`.
|
|
66855
66985
|
* Without that import it does nothing, so a list that never moves items
|
|
66856
|
-
* carries none of the code. A list of one column, without sections
|
|
66986
|
+
* carries none of the code. A list of one column, without sections or a
|
|
66987
|
+
* waterfall.
|
|
66857
66988
|
* - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
|
|
66858
66989
|
* keys. Set, the items are drawn in sections: a header, then the items, in
|
|
66859
66990
|
* an element with the `group` role that the header names. A section starts
|
|
@@ -68575,6 +68706,7 @@ export type CustomElementsSolidJs = {
|
|
|
68575
68706
|
* - `bar`: One column. Under `stacked`, one segment of a category's column.
|
|
68576
68707
|
* - `bar-end`: The bar at a column's far end, the end away from zero, which is the end to round. A column standing alone is its own far end. Under `stacked`, the last positive segment above zero and the last negative one below it. Its `data-end` is `positive` or `negative`. A blank or a zero is never the end. Set together with `bar`.
|
|
68577
68708
|
* - `bar-end-negative`: A far end below zero, whose far end is its bottom, or its inline start when the bars run across. Set together with `bar-end`.
|
|
68709
|
+
* - `bar-negative`: A bar below zero, standing alone or any segment of a stack below it, whose base is its top, or its inline end when the bars run across. Set together with `bar`.
|
|
68578
68710
|
* - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
|
|
68579
68711
|
* - `bar-wash-start`: The stop of a bar's gradient at its base.
|
|
68580
68712
|
* - `baseline`: The line the columns stand on.
|
|
@@ -71848,6 +71980,20 @@ export type CustomElementsSolidJs = {
|
|
|
71848
71980
|
* the slot, so the copy button and the page's own text are the code as
|
|
71849
71981
|
* written.
|
|
71850
71982
|
*
|
|
71983
|
+
* **Code Block ships no grammar**, so plain code costs you no parser. To color
|
|
71984
|
+
* code without a highlighter of your own, import one more entry beside the
|
|
71985
|
+
* block's. It colors every block by its `language` (`css`, `html`, `js`,
|
|
71986
|
+
* `jsx`, `sh`, `ts`, or `tsx`) with the Lezer grammars of the sandbox's
|
|
71987
|
+
* editor, in the editor's colors:
|
|
71988
|
+
*
|
|
71989
|
+
* ```js
|
|
71990
|
+
* import '@fusion.dev/helix/code-block'
|
|
71991
|
+
* import '@fusion.dev/helix-sandbox/code-block'
|
|
71992
|
+
* ```
|
|
71993
|
+
*
|
|
71994
|
+
* That entry calls `registerHighlighter`, which you can also call yourself to
|
|
71995
|
+
* give every block one highlighter of your own.
|
|
71996
|
+
*
|
|
71851
71997
|
* Set `expandable` on a block whose height is capped, such as by
|
|
71852
71998
|
* `--code-block-max-block-size`, and a button under it shows every line and
|
|
71853
71999
|
* then fewer again, as a docs site's long example does. The button is drawn
|
|
@@ -72020,7 +72166,11 @@ export type CustomElementsSolidJs = {
|
|
|
72020
72166
|
* with the gutter's numbers and the block keeps one tab stop. The code stays
|
|
72021
72167
|
* in the slot, so the copy button copies it as written and a reader without
|
|
72022
72168
|
* the script still has it. Not called on a server, which has no code to
|
|
72023
|
-
* read, nor for a diff.
|
|
72169
|
+
* read, nor for a diff.
|
|
72170
|
+
*
|
|
72171
|
+
* Absent, the block draws with the highlighter `registerHighlighter` gave
|
|
72172
|
+
* every block, where an entry such as `@fusion.dev/helix-sandbox/code-block`
|
|
72173
|
+
* registered one, and plain otherwise. (property only)
|
|
72024
72174
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
72025
72175
|
*
|
|
72026
72176
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -83505,7 +83655,15 @@ export type CustomElementsSolidJs = {
|
|
|
83505
83655
|
* opens it from the keyboard, and the trigger is described by
|
|
83506
83656
|
* `long-press-label`, which says so.
|
|
83507
83657
|
*
|
|
83508
|
-
* **A filter field
|
|
83658
|
+
* **A filter field** is a separate import, `@fusion.dev/helix/menu/filter`, so
|
|
83659
|
+
* a menu that never filters carries none of its code:
|
|
83660
|
+
*
|
|
83661
|
+
* ```js
|
|
83662
|
+
* import '@fusion.dev/helix/menu'
|
|
83663
|
+
* import '@fusion.dev/helix/menu/filter'
|
|
83664
|
+
* ```
|
|
83665
|
+
*
|
|
83666
|
+
* With it imported and `filterable` set, the menu opens with focus in a field
|
|
83509
83667
|
* above its rows, and typing narrows the rows of the page the keys move in,
|
|
83510
83668
|
* as React Aria's `Autocomplete` around a `Menu` does. A row is kept where its
|
|
83511
83669
|
* words hold the filter, in any case, or where `filterMatch` says so. Each
|
|
@@ -83538,7 +83696,11 @@ export type CustomElementsSolidJs = {
|
|
|
83538
83696
|
* Cleared as the menu closes and as a submenu opens or closes, so each page
|
|
83539
83697
|
* starts with every row showing.
|
|
83540
83698
|
* - `filterable`: Whether the menu shows a field above its rows that narrows them as the
|
|
83541
|
-
* reader types, with focus staying in the field
|
|
83699
|
+
* reader types, with focus staying in the field, once
|
|
83700
|
+
* `@fusion.dev/helix/menu/filter` (or `@fusion.dev/helix-headless/menu/filter`)
|
|
83701
|
+
* is imported. Without that import it does nothing, so a menu that never
|
|
83702
|
+
* filters carries none of the filter's code, and a development build says
|
|
83703
|
+
* which import is missing.
|
|
83542
83704
|
* - `filter-label`/`filterLabel`: The filter field's name and placeholder.
|
|
83543
83705
|
* - `label`: Accessible name for the surface.
|
|
83544
83706
|
*
|
|
@@ -92639,6 +92801,8 @@ export type CustomElementsSolidJs = {
|
|
|
92639
92801
|
* number, and both are carried as one comma-separated value, which is what a
|
|
92640
92802
|
* form submits. `TimePicker` carries the longer note on the interaction and
|
|
92641
92803
|
* on why a wheel cannot do either.
|
|
92804
|
+
* - `now-label`/`nowLabel`: The words on the list's button that chooses the current time, drawn with
|
|
92805
|
+
* `show-now`.
|
|
92642
92806
|
* - `placeholder`: Placeholder text shown before a time is entered.
|
|
92643
92807
|
* - `range-length-message`/`rangeLengthMessage`: The message shown when a range holds more than two times.
|
|
92644
92808
|
*
|
|
@@ -92656,6 +92820,9 @@ export type CustomElementsSolidJs = {
|
|
|
92656
92820
|
* - `seconds`: Whether times carry their seconds: the value is `HH:mm:ss`, a typed time
|
|
92657
92821
|
* may give them, the field writes them, and the list's `step` counts seconds.
|
|
92658
92822
|
* See Time Picker's `seconds`.
|
|
92823
|
+
* - `show-now`/`showNow`: Draws a button under the times in the list that chooses the current time,
|
|
92824
|
+
* moved to the nearest time on offer. See Time Picker's `show-now`. Its words
|
|
92825
|
+
* are `now-label`.
|
|
92659
92826
|
* - `step`: How far apart the offered times are, in minutes, or in seconds with
|
|
92660
92827
|
* `seconds`.
|
|
92661
92828
|
* - `time-style`/`timeStyle`: Whether the field shows the time in the local style or as the value
|
|
@@ -96698,6 +96865,32 @@ export type CustomElementsSolidJs = {
|
|
|
96698
96865
|
* smallest item size, and follows the box as it resizes. `gap` spaces the rows, and the columns
|
|
96699
96866
|
* of a grid, by a number of pixels the list counts in each row's place.
|
|
96700
96867
|
*
|
|
96868
|
+
* A grid without `selection-mode` is a grid to a reader, as the APG's grid
|
|
96869
|
+
* and React Aria's grid list are: the box is a `grid` with `aria-rowcount`
|
|
96870
|
+
* and `aria-colcount`, each line drawn is a `row` with `aria-rowindex`, and
|
|
96871
|
+
* each item a `gridcell` with `aria-colindex`. Each line is a slot of the
|
|
96872
|
+
* list's own, so your rows stay its children: give an item one element. With
|
|
96873
|
+
* `selection-mode` it stays a list box of options, as React Aria's list box
|
|
96874
|
+
* in a grid layout does.
|
|
96875
|
+
*
|
|
96876
|
+
* **A waterfall.** `layout="waterfall"` puts each item, in the order of the
|
|
96877
|
+
* set, under the column that ends highest so far, the leftmost of a tie, as a
|
|
96878
|
+
* wall of photos of different heights is, and as React Aria's waterfall
|
|
96879
|
+
* layout and TanStack Virtual's lanes do. `columns`, or `min-column-width`,
|
|
96880
|
+
* says how many columns. Every item is measured, at the width of its column,
|
|
96881
|
+
* and placed at its column and its height, so items of any height leave no
|
|
96882
|
+
* holes. The list draws the items that reach into the box, and the item
|
|
96883
|
+
* holding focus. A reader hears a list, or a list box, in the order of the
|
|
96884
|
+
* set, which is also the order Tab and a screen reader's own keys take.
|
|
96885
|
+
*
|
|
96886
|
+
* In a waterfall, Down and Up move along the column to the next or the
|
|
96887
|
+
* previous item in it, Right and Left move to the next or the previous
|
|
96888
|
+
* column, to the item there that sits beside this one the most, or the
|
|
96889
|
+
* nearest above where none does, and Page Down and Page Up move a box down
|
|
96890
|
+
* or up the column. Home and End go to the first and the last item of the
|
|
96891
|
+
* set, and Shift with a key takes in the items between in the order of the
|
|
96892
|
+
* set.
|
|
96893
|
+
*
|
|
96701
96894
|
* **Across.** `orientation="horizontal"` lays the items out along a line and
|
|
96702
96895
|
* scrolls it sideways, as a strip of cards does, windowed the same way:
|
|
96703
96896
|
* `estimate` is then an item's width, and the box needs an inline size.
|
|
@@ -96716,10 +96909,11 @@ export type CustomElementsSolidJs = {
|
|
|
96716
96909
|
*
|
|
96717
96910
|
* | Key | What it does |
|
|
96718
96911
|
* |---|---|
|
|
96719
|
-
* | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. |
|
|
96720
|
-
* | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
|
|
96721
|
-
* | Home, End | Moves to the first or the last item. |
|
|
96722
|
-
* |
|
|
96912
|
+
* | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line, or in a waterfall to the next or the previous item down the same column. |
|
|
96913
|
+
* | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a waterfall, moves to the item beside in the next or the previous column. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
|
|
96914
|
+
* | Home, End | Moves to the first or the last item. In a grid without `selection-mode`, to the first or the last item of the line. |
|
|
96915
|
+
* | Control or Command with Home or End | In a grid without `selection-mode`, moves to the first or the last item. |
|
|
96916
|
+
* | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen, or in a waterfall a box down or up the column. |
|
|
96723
96917
|
* | A letter or a word | Moves to the next item whose text starts with what you typed. |
|
|
96724
96918
|
* | Escape | Lets go of every chosen item, in a list with `selection-mode`. |
|
|
96725
96919
|
* | Alt with Up or Down | In a `reorderable` list, moves the item a place. Alt with Home or End moves it to either end. |
|
|
@@ -96734,8 +96928,9 @@ export type CustomElementsSolidJs = {
|
|
|
96734
96928
|
* or the item itself when it is a string or a number.
|
|
96735
96929
|
*
|
|
96736
96930
|
* Each row says its place in the whole set with `aria-posinset` and
|
|
96737
|
-
* `aria-setsize`, so a screen reader says "4,000 of 10,000"
|
|
96738
|
-
* focus stays drawn when it
|
|
96931
|
+
* `aria-setsize`, so a screen reader says "4,000 of 10,000", and each cell of
|
|
96932
|
+
* a grid its line and its column. The row holding focus stays drawn when it
|
|
96933
|
+
* scrolls out.
|
|
96739
96934
|
*
|
|
96740
96935
|
* **Selecting.** `selection-mode` makes the list a list box a reader chooses
|
|
96741
96936
|
* from: `single` selects one item and `multiple` any number. Space or a press
|
|
@@ -96843,6 +97038,12 @@ export type CustomElementsSolidJs = {
|
|
|
96843
97038
|
*
|
|
96844
97039
|
* An `aria-label` or `aria-labelledby` on the host names the list too, and
|
|
96845
97040
|
* wins over this.
|
|
97041
|
+
* - `layout`: How items of more than one column are laid out. `grid`, the default, puts
|
|
97042
|
+
* them in lines of equal columns. `waterfall` puts each item, in the order
|
|
97043
|
+
* of the set, under the column that ends highest, as a wall of photos of
|
|
97044
|
+
* different heights is: `columns`, or `min-column-width`, says how many
|
|
97045
|
+
* columns. Rows of a waterfall are measured, and Up and Down move along a
|
|
97046
|
+
* column.
|
|
96846
97047
|
* - `loading`: Marks the list as busy fetching more items, and draws a row after the last
|
|
96847
97048
|
* item that says so.
|
|
96848
97049
|
*
|
|
@@ -96865,13 +97066,14 @@ export type CustomElementsSolidJs = {
|
|
|
96865
97066
|
* - `orientation`: Which way the list runs. `horizontal` lays the items out along a line
|
|
96866
97067
|
* and scrolls it sideways: Left and Right move between items, the other
|
|
96867
97068
|
* way round on a right-to-left page, and `estimate` is an item's width. A
|
|
96868
|
-
* grid always
|
|
97069
|
+
* grid and a waterfall always run down.
|
|
96869
97070
|
* - `reorderable`: Lets a reader move items, once `@fusion.dev/helix/virtual-list/reorder`
|
|
96870
97071
|
* (or `@fusion.dev/helix-headless/virtual-list/reorder`) is imported: Alt
|
|
96871
97072
|
* with an arrow moves the row the keys are on, and a pointer drags a row.
|
|
96872
97073
|
* The list moves no item itself: you move your `items` on `helix-reorder`.
|
|
96873
97074
|
* Without that import it does nothing, so a list that never moves items
|
|
96874
|
-
* carries none of the code. A list of one column, without sections
|
|
97075
|
+
* carries none of the code. A list of one column, without sections or a
|
|
97076
|
+
* waterfall.
|
|
96875
97077
|
* - `section-field`/`sectionField`: The field of each item that names its section, as a key or a path of
|
|
96876
97078
|
* keys. Set, the items are drawn in sections: a header, then the items, in
|
|
96877
97079
|
* an element with the `group` role that the header names. A section starts
|