@fusion.dev/helix 0.184.0 → 0.185.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 +39 -8
- package/dist/data-table/root/data-table-root.css.js +1 -1
- package/dist/data-table/root/data-table-root.d.ts +3 -1
- package/dist/strands/root/strands-root.d.ts +4 -4
- package/dist/strands/root/strands-root.js +1 -6
- package/lint.json +1 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +62 -28
- package/types/vue.d.ts +16 -8
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.
|
|
4
|
+
"version": "0.185.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
},
|
|
55
55
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@fusion.dev/helix-core": "0.
|
|
58
|
-
"@fusion.dev/helix-headless": "0.
|
|
59
|
-
"@fusion.dev/helix-styles": "0.
|
|
57
|
+
"@fusion.dev/helix-core": "0.185.0",
|
|
58
|
+
"@fusion.dev/helix-headless": "0.185.0",
|
|
59
|
+
"@fusion.dev/helix-styles": "0.185.0",
|
|
60
60
|
"tslib": "^2.8.1"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@fusion.dev/helix-cem": "0.
|
|
64
|
-
"@fusion.dev/helix-testing": "0.
|
|
63
|
+
"@fusion.dev/helix-cem": "0.185.0",
|
|
64
|
+
"@fusion.dev/helix-testing": "0.185.0",
|
|
65
65
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
66
66
|
"@happy-dom/global-registrator": "^20.14.5",
|
|
67
67
|
"@lit-labs/ssr": "^4.1.0",
|
package/types/jsx.d.ts
CHANGED
|
@@ -11141,6 +11141,16 @@ and the grid becomes a tree grid.
|
|
|
11141
11141
|
Reflected, because the styled tier indents a tree grid's row headers by
|
|
11142
11142
|
it. No default, so a table that sets none writes nothing onto its host. */
|
|
11143
11143
|
childField?: (HelixDataTable["childField"]) | undefined;
|
|
11144
|
+
/** The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
11145
|
+
dealt out one track to a column in the order the columns are written. A
|
|
11146
|
+
column's own `width` wins in its place, and a column it does not reach
|
|
11147
|
+
takes the track a column with no `width` takes.
|
|
11148
|
+
|
|
11149
|
+
**The one track list a server can send.** A server rendering this element
|
|
11150
|
+
has no columns to read a `width` from, and neither has a stylesheet laying
|
|
11151
|
+
out the rows a page served before the table upgrades, so a table sized here
|
|
11152
|
+
lays those rows out at the widths it draws. */
|
|
11153
|
+
columns?: (HelixDataTable["columns"]) | undefined;
|
|
11144
11154
|
/** The keys of the rows open at the start, separated by commas. Used until
|
|
11145
11155
|
`expanded` is set. */
|
|
11146
11156
|
"default-expanded"?: (HelixDataTable["defaultExpanded"]) | undefined;
|
|
@@ -11560,6 +11570,16 @@ and the grid becomes a tree grid.
|
|
|
11560
11570
|
Reflected, because the styled tier indents a tree grid's row headers by
|
|
11561
11571
|
it. No default, so a table that sets none writes nothing onto its host. */
|
|
11562
11572
|
"prop:childField"?: (HelixDataTable["childField"]) | undefined;
|
|
11573
|
+
/** The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
11574
|
+
dealt out one track to a column in the order the columns are written. A
|
|
11575
|
+
column's own `width` wins in its place, and a column it does not reach
|
|
11576
|
+
takes the track a column with no `width` takes.
|
|
11577
|
+
|
|
11578
|
+
**The one track list a server can send.** A server rendering this element
|
|
11579
|
+
has no columns to read a `width` from, and neither has a stylesheet laying
|
|
11580
|
+
out the rows a page served before the table upgrades, so a table sized here
|
|
11581
|
+
lays those rows out at the widths it draws. */
|
|
11582
|
+
"prop:columns"?: (HelixDataTable["columns"]) | undefined;
|
|
11563
11583
|
/** The keys of the rows open at the start, separated by commas. Used until
|
|
11564
11584
|
`expanded` is set. */
|
|
11565
11585
|
"attr:default-expanded"?: (HelixDataTable["defaultExpanded"]) | undefined;
|
|
@@ -34752,13 +34772,11 @@ and each column may say otherwise.
|
|
|
34752
34772
|
**It is also the only track list a server can send.** The shim has no tree
|
|
34753
34773
|
to walk, so a render there knows of no columns and this attribute is the
|
|
34754
34774
|
whole answer: a table given one lays its grid out in the first paint, and a
|
|
34755
|
-
table sized only by its columns
|
|
34775
|
+
table sized only by its columns takes, until it upgrades, a track for each
|
|
34776
|
+
column at the width a column with no `width` takes (`helix.css`).
|
|
34756
34777
|
|
|
34757
|
-
|
|
34758
|
-
|
|
34759
|
-
and a list here would be a second way to say what that says. This table's
|
|
34760
|
-
cells are markup, and a table written as rows of cells with no column
|
|
34761
|
-
declared in it has nowhere else to be sized from. */
|
|
34778
|
+
Data Table takes the same list, for the same reason: a data table that
|
|
34779
|
+
serves its first page as rows is laid out by it before it upgrades. */
|
|
34762
34780
|
columns?: (HelixTable["columns"]) | undefined;
|
|
34763
34781
|
/** The keys of the rows whose rows are shown at the start, separated by
|
|
34764
34782
|
commas. Used until `expanded` is set. */
|
|
@@ -35015,13 +35033,11 @@ and each column may say otherwise.
|
|
|
35015
35033
|
**It is also the only track list a server can send.** The shim has no tree
|
|
35016
35034
|
to walk, so a render there knows of no columns and this attribute is the
|
|
35017
35035
|
whole answer: a table given one lays its grid out in the first paint, and a
|
|
35018
|
-
table sized only by its columns
|
|
35036
|
+
table sized only by its columns takes, until it upgrades, a track for each
|
|
35037
|
+
column at the width a column with no `width` takes (`helix.css`).
|
|
35019
35038
|
|
|
35020
|
-
|
|
35021
|
-
|
|
35022
|
-
and a list here would be a second way to say what that says. This table's
|
|
35023
|
-
cells are markup, and a table written as rows of cells with no column
|
|
35024
|
-
declared in it has nowhere else to be sized from. */
|
|
35039
|
+
Data Table takes the same list, for the same reason: a data table that
|
|
35040
|
+
serves its first page as rows is laid out by it before it upgrades. */
|
|
35025
35041
|
"prop:columns"?: (HelixTable["columns"]) | undefined;
|
|
35026
35042
|
/** The keys of the rows whose rows are shown at the start, separated by
|
|
35027
35043
|
commas. Used until `expanded` is set. */
|
|
@@ -49411,7 +49427,9 @@ export type CustomElements = {
|
|
|
49411
49427
|
* Write it under the columns as `helix-table-row` and `helix-table-cell`
|
|
49412
49428
|
* elements. `@fusion.dev/helix-styles/helix.css` lays them out as the table
|
|
49413
49429
|
* draws them before it upgrades, and the table shows them until `rows` holds a
|
|
49414
|
-
* row.
|
|
49430
|
+
* row. It holds the checkbox column and the pagination's row from the first
|
|
49431
|
+
* paint, and takes the widths from `columns`, so nothing moves when the table
|
|
49432
|
+
* upgrades or draws its own rows.
|
|
49415
49433
|
*
|
|
49416
49434
|
* ## Attributes & Properties
|
|
49417
49435
|
*
|
|
@@ -49432,6 +49450,15 @@ export type CustomElements = {
|
|
|
49432
49450
|
*
|
|
49433
49451
|
* Reflected, because the styled tier indents a tree grid's row headers by
|
|
49434
49452
|
* it. No default, so a table that sets none writes nothing onto its host.
|
|
49453
|
+
* - `columns`: The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
49454
|
+
* dealt out one track to a column in the order the columns are written. A
|
|
49455
|
+
* column's own `width` wins in its place, and a column it does not reach
|
|
49456
|
+
* takes the track a column with no `width` takes.
|
|
49457
|
+
*
|
|
49458
|
+
* **The one track list a server can send.** A server rendering this element
|
|
49459
|
+
* has no columns to read a `width` from, and neither has a stylesheet laying
|
|
49460
|
+
* out the rows a page served before the table upgrades, so a table sized here
|
|
49461
|
+
* lays those rows out at the widths it draws.
|
|
49435
49462
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows open at the start, separated by commas. Used until
|
|
49436
49463
|
* `expanded` is set.
|
|
49437
49464
|
* - `default-filter`/`defaultFilter`: The starting search query, used until `filter` is set.
|
|
@@ -66111,7 +66138,7 @@ export type CustomElements = {
|
|
|
66111
66138
|
*
|
|
66112
66139
|
* The ribbon stops moving in these cases:
|
|
66113
66140
|
* - `prefers-reduced-motion` is set. The element shows one still frame, and in
|
|
66114
|
-
* `travel` still follows the scroll
|
|
66141
|
+
* `travel` still follows the scroll.
|
|
66115
66142
|
* - The element is off screen or in a background tab.
|
|
66116
66143
|
*
|
|
66117
66144
|
* It shows a gradient from the same tokens in these cases, and matches
|
|
@@ -66840,13 +66867,11 @@ export type CustomElements = {
|
|
|
66840
66867
|
* **It is also the only track list a server can send.** The shim has no tree
|
|
66841
66868
|
* to walk, so a render there knows of no columns and this attribute is the
|
|
66842
66869
|
* whole answer: a table given one lays its grid out in the first paint, and a
|
|
66843
|
-
* table sized only by its columns
|
|
66870
|
+
* table sized only by its columns takes, until it upgrades, a track for each
|
|
66871
|
+
* column at the width a column with no `width` takes (`helix.css`).
|
|
66844
66872
|
*
|
|
66845
|
-
*
|
|
66846
|
-
*
|
|
66847
|
-
* and a list here would be a second way to say what that says. This table's
|
|
66848
|
-
* cells are markup, and a table written as rows of cells with no column
|
|
66849
|
-
* declared in it has nowhere else to be sized from.
|
|
66873
|
+
* Data Table takes the same list, for the same reason: a data table that
|
|
66874
|
+
* serves its first page as rows is laid out by it before it upgrades.
|
|
66850
66875
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows whose rows are shown at the start, separated by
|
|
66851
66876
|
* commas. Used until `expanded` is set.
|
|
66852
66877
|
* - `default-selected`/`defaultSelected`: The keys selected at the start, separated by commas. Used until `selected`
|
|
@@ -79254,7 +79279,9 @@ export type CustomElementsSolidJs = {
|
|
|
79254
79279
|
* Write it under the columns as `helix-table-row` and `helix-table-cell`
|
|
79255
79280
|
* elements. `@fusion.dev/helix-styles/helix.css` lays them out as the table
|
|
79256
79281
|
* draws them before it upgrades, and the table shows them until `rows` holds a
|
|
79257
|
-
* row.
|
|
79282
|
+
* row. It holds the checkbox column and the pagination's row from the first
|
|
79283
|
+
* paint, and takes the widths from `columns`, so nothing moves when the table
|
|
79284
|
+
* upgrades or draws its own rows.
|
|
79258
79285
|
*
|
|
79259
79286
|
* ## Attributes & Properties
|
|
79260
79287
|
*
|
|
@@ -79275,6 +79302,15 @@ export type CustomElementsSolidJs = {
|
|
|
79275
79302
|
*
|
|
79276
79303
|
* Reflected, because the styled tier indents a tree grid's row headers by
|
|
79277
79304
|
* it. No default, so a table that sets none writes nothing onto its host.
|
|
79305
|
+
* - `columns`: The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
79306
|
+
* dealt out one track to a column in the order the columns are written. A
|
|
79307
|
+
* column's own `width` wins in its place, and a column it does not reach
|
|
79308
|
+
* takes the track a column with no `width` takes.
|
|
79309
|
+
*
|
|
79310
|
+
* **The one track list a server can send.** A server rendering this element
|
|
79311
|
+
* has no columns to read a `width` from, and neither has a stylesheet laying
|
|
79312
|
+
* out the rows a page served before the table upgrades, so a table sized here
|
|
79313
|
+
* lays those rows out at the widths it draws.
|
|
79278
79314
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows open at the start, separated by commas. Used until
|
|
79279
79315
|
* `expanded` is set.
|
|
79280
79316
|
* - `default-filter`/`defaultFilter`: The starting search query, used until `filter` is set.
|
|
@@ -96243,7 +96279,7 @@ export type CustomElementsSolidJs = {
|
|
|
96243
96279
|
*
|
|
96244
96280
|
* The ribbon stops moving in these cases:
|
|
96245
96281
|
* - `prefers-reduced-motion` is set. The element shows one still frame, and in
|
|
96246
|
-
* `travel` still follows the scroll
|
|
96282
|
+
* `travel` still follows the scroll.
|
|
96247
96283
|
* - The element is off screen or in a background tab.
|
|
96248
96284
|
*
|
|
96249
96285
|
* It shows a gradient from the same tokens in these cases, and matches
|
|
@@ -96987,13 +97023,11 @@ export type CustomElementsSolidJs = {
|
|
|
96987
97023
|
* **It is also the only track list a server can send.** The shim has no tree
|
|
96988
97024
|
* to walk, so a render there knows of no columns and this attribute is the
|
|
96989
97025
|
* whole answer: a table given one lays its grid out in the first paint, and a
|
|
96990
|
-
* table sized only by its columns
|
|
97026
|
+
* table sized only by its columns takes, until it upgrades, a track for each
|
|
97027
|
+
* column at the width a column with no `width` takes (`helix.css`).
|
|
96991
97028
|
*
|
|
96992
|
-
*
|
|
96993
|
-
*
|
|
96994
|
-
* and a list here would be a second way to say what that says. This table's
|
|
96995
|
-
* cells are markup, and a table written as rows of cells with no column
|
|
96996
|
-
* declared in it has nowhere else to be sized from.
|
|
97029
|
+
* Data Table takes the same list, for the same reason: a data table that
|
|
97030
|
+
* serves its first page as rows is laid out by it before it upgrades.
|
|
96997
97031
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows whose rows are shown at the start, separated by
|
|
96998
97032
|
* commas. Used until `expanded` is set.
|
|
96999
97033
|
* - `default-selected`/`defaultSelected`: The keys selected at the start, separated by commas. Used until `selected`
|
package/types/vue.d.ts
CHANGED
|
@@ -5762,6 +5762,16 @@ and the grid becomes a tree grid.
|
|
|
5762
5762
|
Reflected, because the styled tier indents a tree grid's row headers by
|
|
5763
5763
|
it. No default, so a table that sets none writes nothing onto its host. */
|
|
5764
5764
|
childField?: (HelixDataTable["childField"]) | undefined;
|
|
5765
|
+
/** The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
5766
|
+
dealt out one track to a column in the order the columns are written. A
|
|
5767
|
+
column's own `width` wins in its place, and a column it does not reach
|
|
5768
|
+
takes the track a column with no `width` takes.
|
|
5769
|
+
|
|
5770
|
+
**The one track list a server can send.** A server rendering this element
|
|
5771
|
+
has no columns to read a `width` from, and neither has a stylesheet laying
|
|
5772
|
+
out the rows a page served before the table upgrades, so a table sized here
|
|
5773
|
+
lays those rows out at the widths it draws. */
|
|
5774
|
+
columns?: (HelixDataTable["columns"]) | undefined;
|
|
5765
5775
|
/** The keys of the rows open at the start, separated by commas. Used until
|
|
5766
5776
|
`expanded` is set. */
|
|
5767
5777
|
"default-expanded"?: (HelixDataTable["defaultExpanded"]) | undefined;
|
|
@@ -17848,13 +17858,11 @@ and each column may say otherwise.
|
|
|
17848
17858
|
**It is also the only track list a server can send.** The shim has no tree
|
|
17849
17859
|
to walk, so a render there knows of no columns and this attribute is the
|
|
17850
17860
|
whole answer: a table given one lays its grid out in the first paint, and a
|
|
17851
|
-
table sized only by its columns
|
|
17861
|
+
table sized only by its columns takes, until it upgrades, a track for each
|
|
17862
|
+
column at the width a column with no `width` takes (`helix.css`).
|
|
17852
17863
|
|
|
17853
|
-
|
|
17854
|
-
|
|
17855
|
-
and a list here would be a second way to say what that says. This table's
|
|
17856
|
-
cells are markup, and a table written as rows of cells with no column
|
|
17857
|
-
declared in it has nowhere else to be sized from. */
|
|
17864
|
+
Data Table takes the same list, for the same reason: a data table that
|
|
17865
|
+
serves its first page as rows is laid out by it before it upgrades. */
|
|
17858
17866
|
columns?: (HelixTable["columns"]) | undefined;
|
|
17859
17867
|
/** The keys of the rows whose rows are shown at the start, separated by
|
|
17860
17868
|
commas. Used until `expanded` is set. */
|
|
@@ -24455,7 +24463,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
24455
24463
|
HelixCopyButtonVueProps,
|
|
24456
24464
|
HelixCopyButtonVueEvents
|
|
24457
24465
|
>;
|
|
24458
|
-
/** Rows have hairline rules between them and no fill, and the headings are set apart by weight and color. Helix shows depth with a single border and no elevation, and a header band would be elevation. The grid scrolls in its own box, and the toolbar and footer sit outside it, so the search field stays in place when the columns scroll sideways. 'windowed' draws only the rows in view, for a result too long to lay out at once, and the headings stay in place while the rows scroll. It works with or without 'paginated' and with either 'mode', so a page or a chunk from a server can be windowed. **Write the first page as rows, so the served HTML carries the values.** Write it under the columns as 'helix-table-row' and 'helix-table-cell' elements. '@fusion.dev/helix-styles/helix.css' lays them out as the table draws them before it upgrades, and the table shows them until 'rows' holds a row. */
|
|
24466
|
+
/** Rows have hairline rules between them and no fill, and the headings are set apart by weight and color. Helix shows depth with a single border and no elevation, and a header band would be elevation. The grid scrolls in its own box, and the toolbar and footer sit outside it, so the search field stays in place when the columns scroll sideways. 'windowed' draws only the rows in view, for a result too long to lay out at once, and the headings stay in place while the rows scroll. It works with or without 'paginated' and with either 'mode', so a page or a chunk from a server can be windowed. **Write the first page as rows, so the served HTML carries the values.** Write it under the columns as 'helix-table-row' and 'helix-table-cell' elements. '@fusion.dev/helix-styles/helix.css' lays them out as the table draws them before it upgrades, and the table shows them until 'rows' holds a row. It holds the checkbox column and the pagination's row from the first paint, and takes the widths from 'columns', so nothing moves when the table upgrades or draws its own rows. */
|
|
24459
24467
|
"helix-data-table": DefineCustomElement<
|
|
24460
24468
|
HelixDataTable,
|
|
24461
24469
|
HelixDataTableVueProps,
|
|
@@ -25025,7 +25033,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
25025
25033
|
HelixStepVueProps,
|
|
25026
25034
|
HelixStepVueEvents
|
|
25027
25035
|
>;
|
|
25028
|
-
/** Hundreds of thin strands are drawn as one ribbon, and the light they add together is bloomed, so where they converge the ribbon burns hot. The ribbon moves on its own all the time: it sways and breathes, its strands wave and roll over one another, and light runs along them. Its palette comes from the tokens. The strands are '--helix-color-primary', a few are '--helix-color-accent' for depth, and the page they light is '--helix-color-background'. On a light page the light becomes ink, because light added to near-white cannot be seen. **Four forms, set with 'variant'.** 'bend' turns bright strands through one tight point, with its arms opening to the right. 'ribbon', the default, is a broad, soft ribbon in long curves. 'sweep' enters at a top corner, the one 'at' is nearer, and crosses in one diagonal to the far side. 'waves' is sharp strands crossing the full width. **Quiet behind words.** 'quiet' names elements, such as a hero's words, that the light dims behind to a faint glow, so a bright ribbon can cross the page under them and they stay crisp. **In its own box, by default.** The element fills the box it is given, the way an image does, and 'at' places the bend's apex or the ribbon's axis across it. Content placed inside sits over the ribbon, in the 'content' part. **Down the whole page, with 'travel'.** The element fixes itself behind the page, on '--helix-layer-beneath', and lays one ribbon from the top of the page to the bottom, so scrolling travels along it. Put 'helix-strands-stop' elements inside to pin a form to a section: each names an element with 'for' and says which form the ribbon takes there. Between stops the ribbon fills the gap in its own 'variant', and between two waves less than a screen and a half apart it turns off screen so each wave reads alone. Set 'z-index' on the element to move it. The ribbon stops moving in these cases: - 'prefers-reduced-motion' is set. The element shows one still frame, and in 'travel' still follows the scroll
|
|
25036
|
+
/** Hundreds of thin strands are drawn as one ribbon, and the light they add together is bloomed, so where they converge the ribbon burns hot. The ribbon moves on its own all the time: it sways and breathes, its strands wave and roll over one another, and light runs along them. Its palette comes from the tokens. The strands are '--helix-color-primary', a few are '--helix-color-accent' for depth, and the page they light is '--helix-color-background'. On a light page the light becomes ink, because light added to near-white cannot be seen. **Four forms, set with 'variant'.** 'bend' turns bright strands through one tight point, with its arms opening to the right. 'ribbon', the default, is a broad, soft ribbon in long curves. 'sweep' enters at a top corner, the one 'at' is nearer, and crosses in one diagonal to the far side. 'waves' is sharp strands crossing the full width. **Quiet behind words.** 'quiet' names elements, such as a hero's words, that the light dims behind to a faint glow, so a bright ribbon can cross the page under them and they stay crisp. **In its own box, by default.** The element fills the box it is given, the way an image does, and 'at' places the bend's apex or the ribbon's axis across it. Content placed inside sits over the ribbon, in the 'content' part. **Down the whole page, with 'travel'.** The element fixes itself behind the page, on '--helix-layer-beneath', and lays one ribbon from the top of the page to the bottom, so scrolling travels along it. Put 'helix-strands-stop' elements inside to pin a form to a section: each names an element with 'for' and says which form the ribbon takes there. Between stops the ribbon fills the gap in its own 'variant', and between two waves less than a screen and a half apart it turns off screen so each wave reads alone. Set 'z-index' on the element to move it. The ribbon stops moving in these cases: - 'prefers-reduced-motion' is set. The element shows one still frame, and in 'travel' still follows the scroll. - The element is off screen or in a background tab. It shows a gradient from the same tokens in these cases, and matches ':state(fallback)' and sends 'helix-strands-fallback' with the reason: - The renderer draws on the CPU, such as a headless browser or a machine with no usable GPU. - There is no WebGL, or the browser took the drawing context back. Strands is styled only and has behavior, as 'Aura' does: its behavior is drawing to a canvas, so there is no structure for a headless version to hold. */
|
|
25029
25037
|
"helix-strands": DefineCustomElement<
|
|
25030
25038
|
HelixStrands,
|
|
25031
25039
|
HelixStrandsVueProps,
|