@fusion.dev/helix 0.46.1 → 0.47.1

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/types/jsx.d.ts CHANGED
@@ -1087,17 +1087,23 @@ are interpolations, so a larger number extrapolates rather than
1087
1087
  exaggerating, and a streak whose length has passed through zero is drawn
1088
1088
  as a bar across the whole frame.
1089
1089
 
1090
- Read by four of the eleven shapes, the ones made of many similar things,
1090
+ Read by six of the eleven shapes, the ones made of many similar things,
1091
1091
  whether those are counted or continuous: `streaks`, whose lanes draw a
1092
1092
  speed, a length, a width, a spacing and a weight apiece; `particles`, whose
1093
- motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
1094
- fan, bundles and folds widen or even out.
1095
-
1096
- Inert on the other seven, for three different reasons. `braid`, `waves` and
1097
- `flow` have a single subject and nothing to vary. `threads` and `lattice`
1098
- are even on purpose, a scatter of strands and a regular structure each being
1099
- what it is because its members do not differ. `caustics` and `fracture` are
1100
- populations this does not reach, which is a gap rather than a refusal. */
1093
+ motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
1094
+ fan, bundles and folds widen or even out; `caustics`, whose three depths of
1095
+ fold close on one scale and one weight while the pool over them flattens to
1096
+ an even wash; and `fracture`, whose sites come home to their own cell
1097
+ centers, leaving equal territories and no border more contested than
1098
+ another.
1099
+
1100
+ Inert on the other five, and every one of them a refusal. `braid`, `waves`
1101
+ and `flow` have a single subject and nothing to vary. `threads` and
1102
+ `lattice` are even on purpose, a scatter of strands and a regular structure
1103
+ each being what it is because its members do not differ: `threads` gives
1104
+ its seven one amplitude, one thickness, one weight and one frequency on
1105
+ the argument that alike is what makes a weave read as woven, and a lattice
1106
+ whose cells differed would be a scatter with straight lines in it. */
1101
1107
  variance?: (HelixAura["variance"]) | undefined;
1102
1108
  /** Which form the light takes. Absent is `braid`.
1103
1109
 
@@ -1189,17 +1195,23 @@ are interpolations, so a larger number extrapolates rather than
1189
1195
  exaggerating, and a streak whose length has passed through zero is drawn
1190
1196
  as a bar across the whole frame.
1191
1197
 
1192
- Read by four of the eleven shapes, the ones made of many similar things,
1198
+ Read by six of the eleven shapes, the ones made of many similar things,
1193
1199
  whether those are counted or continuous: `streaks`, whose lanes draw a
1194
1200
  speed, a length, a width, a spacing and a weight apiece; `particles`, whose
1195
- motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
1196
- fan, bundles and folds widen or even out.
1197
-
1198
- Inert on the other seven, for three different reasons. `braid`, `waves` and
1199
- `flow` have a single subject and nothing to vary. `threads` and `lattice`
1200
- are even on purpose, a scatter of strands and a regular structure each being
1201
- what it is because its members do not differ. `caustics` and `fracture` are
1202
- populations this does not reach, which is a gap rather than a refusal. */
1201
+ motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
1202
+ fan, bundles and folds widen or even out; `caustics`, whose three depths of
1203
+ fold close on one scale and one weight while the pool over them flattens to
1204
+ an even wash; and `fracture`, whose sites come home to their own cell
1205
+ centers, leaving equal territories and no border more contested than
1206
+ another.
1207
+
1208
+ Inert on the other five, and every one of them a refusal. `braid`, `waves`
1209
+ and `flow` have a single subject and nothing to vary. `threads` and
1210
+ `lattice` are even on purpose, a scatter of strands and a regular structure
1211
+ each being what it is because its members do not differ: `threads` gives
1212
+ its seven one amplitude, one thickness, one weight and one frequency on
1213
+ the argument that alike is what makes a weave read as woven, and a lattice
1214
+ whose cells differed would be a scatter with straight lines in it. */
1203
1215
  "prop:variance"?: (HelixAura["variance"]) | undefined;
1204
1216
  /** Which form the light takes. Absent is `braid`.
1205
1217
 
@@ -2804,6 +2816,27 @@ clamps to the last *slide*, so three of the six indicators point at an
2804
2816
  offset the track has already reached: pressing next walks the dots to the
2805
2817
  end while the slides stop moving a third of the way through.
2806
2818
 
2819
+ **The number is published to the styles rather than enumerated by them**,
2820
+ as `--carousel-per-view` on the track, which is what keeps a width and a
2821
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
2822
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
2823
+ judgment; above it the pane fell back to one across while this file went on
2824
+ counting positions. Measured in Chromium over eight slides, six across gave
2825
+ three dots, a pane taking the whole track and five slides reachable only by
2826
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
2827
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
2828
+ its correction the same way and for the same reason.
2829
+
2830
+ **On the track and not on the host.** A custom property on the host is a
2831
+ reflected attribute by another name: it would arrive on upgrade, and a
2832
+ consumer's server markup never had it. Inside the component's own shadow
2833
+ root it serializes with the rest of the template on the server, and the
2834
+ track's own declaration beats anything a consumer inherits in, so the
2835
+ attribute is the one answer to how wide a pane is.
2836
+
2837
+ A value the track cannot honor is taken to the nearest one it can, by
2838
+ `across`, and both tiers read that rather than this.
2839
+
2807
2840
  No default, because it reflects. A reflected property with a value writes
2808
2841
  its attribute on upgrade, and the host then carries something a consumer's
2809
2842
  server markup never had, which React reports as a mismatch. The one-across
@@ -2820,6 +2853,27 @@ clamps to the last *slide*, so three of the six indicators point at an
2820
2853
  offset the track has already reached: pressing next walks the dots to the
2821
2854
  end while the slides stop moving a third of the way through.
2822
2855
 
2856
+ **The number is published to the styles rather than enumerated by them**,
2857
+ as `--carousel-per-view` on the track, which is what keeps a width and a
2858
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
2859
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
2860
+ judgment; above it the pane fell back to one across while this file went on
2861
+ counting positions. Measured in Chromium over eight slides, six across gave
2862
+ three dots, a pane taking the whole track and five slides reachable only by
2863
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
2864
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
2865
+ its correction the same way and for the same reason.
2866
+
2867
+ **On the track and not on the host.** A custom property on the host is a
2868
+ reflected attribute by another name: it would arrive on upgrade, and a
2869
+ consumer's server markup never had it. Inside the component's own shadow
2870
+ root it serializes with the rest of the template on the server, and the
2871
+ track's own declaration beats anything a consumer inherits in, so the
2872
+ attribute is the one answer to how wide a pane is.
2873
+
2874
+ A value the track cannot honor is taken to the nearest one it can, by
2875
+ `across`, and both tiers read that rather than this.
2876
+
2823
2877
  No default, because it reflects. A reflected property with a value writes
2824
2878
  its attribute on upgrade, and the host then carries something a consumer's
2825
2879
  server markup never had, which React reports as a mismatch. The one-across
@@ -3035,6 +3089,27 @@ clamps to the last *slide*, so three of the six indicators point at an
3035
3089
  offset the track has already reached: pressing next walks the dots to the
3036
3090
  end while the slides stop moving a third of the way through.
3037
3091
 
3092
+ **The number is published to the styles rather than enumerated by them**,
3093
+ as `--carousel-per-view` on the track, which is what keeps a width and a
3094
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
3095
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
3096
+ judgment; above it the pane fell back to one across while this file went on
3097
+ counting positions. Measured in Chromium over eight slides, six across gave
3098
+ three dots, a pane taking the whole track and five slides reachable only by
3099
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
3100
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
3101
+ its correction the same way and for the same reason.
3102
+
3103
+ **On the track and not on the host.** A custom property on the host is a
3104
+ reflected attribute by another name: it would arrive on upgrade, and a
3105
+ consumer's server markup never had it. Inside the component's own shadow
3106
+ root it serializes with the rest of the template on the server, and the
3107
+ track's own declaration beats anything a consumer inherits in, so the
3108
+ attribute is the one answer to how wide a pane is.
3109
+
3110
+ A value the track cannot honor is taken to the nearest one it can, by
3111
+ `across`, and both tiers read that rather than this.
3112
+
3038
3113
  No default, because it reflects. A reflected property with a value writes
3039
3114
  its attribute on upgrade, and the host then carries something a consumer's
3040
3115
  server markup never had, which React reports as a mismatch. The one-across
@@ -3051,6 +3126,27 @@ clamps to the last *slide*, so three of the six indicators point at an
3051
3126
  offset the track has already reached: pressing next walks the dots to the
3052
3127
  end while the slides stop moving a third of the way through.
3053
3128
 
3129
+ **The number is published to the styles rather than enumerated by them**,
3130
+ as `--carousel-per-view` on the track, which is what keeps a width and a
3131
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
3132
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
3133
+ judgment; above it the pane fell back to one across while this file went on
3134
+ counting positions. Measured in Chromium over eight slides, six across gave
3135
+ three dots, a pane taking the whole track and five slides reachable only by
3136
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
3137
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
3138
+ its correction the same way and for the same reason.
3139
+
3140
+ **On the track and not on the host.** A custom property on the host is a
3141
+ reflected attribute by another name: it would arrive on upgrade, and a
3142
+ consumer's server markup never had it. Inside the component's own shadow
3143
+ root it serializes with the rest of the template on the server, and the
3144
+ track's own declaration beats anything a consumer inherits in, so the
3145
+ attribute is the one answer to how wide a pane is.
3146
+
3147
+ A value the track cannot honor is taken to the nearest one it can, by
3148
+ `across`, and both tiers read that rather than this.
3149
+
3054
3150
  No default, because it reflects. A reflected property with a value writes
3055
3151
  its attribute on upgrade, and the host then carries something a consumer's
3056
3152
  server markup never had, which React reports as a mismatch. The one-across
@@ -16525,7 +16621,20 @@ on the column it sizes, which is the more particular statement, and it is
16525
16621
  where a resize lands: a reader dragging a column's edge writes `width`, so
16526
16622
  were this list to win, the drag would move the separator and leave the
16527
16623
  track where the list put it. This is the table's default for its columns,
16528
- and each column may say otherwise. */
16624
+ and each column may say otherwise.
16625
+
16626
+ **It is also the only track list a server can send.** The shim has no tree
16627
+ to walk, so a render there knows of no columns and this attribute is the
16628
+ whole answer: a table given one lays its grid out in the first paint, and a
16629
+ table sized only by its columns is one track wide until it upgrades.
16630
+
16631
+ **`helix-data-table` has none of this, and should not.** Its columns are
16632
+ its schema rather than an option, so there is always a column to write a
16633
+ `width` on and a list here would be a second way to say what that says.
16634
+ This table's cells are markup, and a table written as rows of cells with no
16635
+ `helix-table-column` in it has nowhere else to be sized from. Both families
16636
+ take the same CSS hook, `--table-columns` and `--data-table-columns`, which
16637
+ wins over whichever list the element worked out. */
16529
16638
  columns?: (HelixTable["columns"]) | undefined;
16530
16639
  /** Accessible name for the table. */
16531
16640
  label?: (HelixTable["label"]) | undefined;
@@ -16563,7 +16672,20 @@ on the column it sizes, which is the more particular statement, and it is
16563
16672
  where a resize lands: a reader dragging a column's edge writes `width`, so
16564
16673
  were this list to win, the drag would move the separator and leave the
16565
16674
  track where the list put it. This is the table's default for its columns,
16566
- and each column may say otherwise. */
16675
+ and each column may say otherwise.
16676
+
16677
+ **It is also the only track list a server can send.** The shim has no tree
16678
+ to walk, so a render there knows of no columns and this attribute is the
16679
+ whole answer: a table given one lays its grid out in the first paint, and a
16680
+ table sized only by its columns is one track wide until it upgrades.
16681
+
16682
+ **`helix-data-table` has none of this, and should not.** Its columns are
16683
+ its schema rather than an option, so there is always a column to write a
16684
+ `width` on and a list here would be a second way to say what that says.
16685
+ This table's cells are markup, and a table written as rows of cells with no
16686
+ `helix-table-column` in it has nowhere else to be sized from. Both families
16687
+ take the same CSS hook, `--table-columns` and `--data-table-columns`, which
16688
+ wins over whichever list the element worked out. */
16567
16689
  "prop:columns"?: (HelixTable["columns"]) | undefined;
16568
16690
  /** Accessible name for the table. */
16569
16691
  "prop:label"?: (HelixTable["label"]) | undefined;
@@ -19067,13 +19189,6 @@ Unset by default, and unreflected: a tree of choosable nodes is not a tree
19067
19189
  of links, and an empty `href` written onto every row would be a link to the
19068
19190
  current page on every item a consumer never asked to be one. */
19069
19191
  href?: (HelixTreeItem["href"]) | undefined;
19070
- /** Depth from the root, set by the tree so indentation needs no CSS nesting.
19071
-
19072
- Not reflected. The tree assigns this after it upgrades, so an attribute
19073
- here would be a change to markup the consumer rendered and hydration would
19074
- report it. The indent it drives is written onto the row instead, inside the
19075
- shadow root, which is not part of the tree React hydrates. */
19076
- level?: (HelixTreeItem["level"]) | undefined;
19077
19192
  /** What the link declares about where it goes.
19078
19193
 
19079
19194
  Set by the consumer rather than derived from `target`: `noreferrer` is a
@@ -19083,7 +19198,7 @@ this library supports implies it for `target="_blank"` already. */
19083
19198
  rel?: (HelixTreeItem["rel"]) | undefined;
19084
19199
  /** Whether this item is the current one.
19085
19200
 
19086
- Not reflected, for the reason `level` below gives in full: the tree assigns
19201
+ Not reflected, for the reason `level` above gives in full: the tree assigns
19087
19202
  this after it upgrades, so the attribute would be a change to markup the
19088
19203
  consumer rendered and hydration would report it. Mirroring to
19089
19204
  `data-selected` on the host instead is the same fault under another name.
@@ -19095,6 +19210,24 @@ row is not part of the tree React hydrates. */
19095
19210
  target?: (HelixTreeItem["target"]) | undefined;
19096
19211
  /** Identifies the item to the consumer, carried in `helix-select`. */
19097
19212
  value?: (HelixTreeItem["value"]) | undefined;
19213
+ /** Depth from the root, counted by the tree so indentation needs no CSS nesting.
19214
+
19215
+ **Read rather than written, and no attribute at all.** The tree counts the
19216
+ items a row sits inside and assigns this on every sync, so a value declared
19217
+ here is overwritten before the first paint: measured at `level="2"` on three
19218
+ rows of a flat list, all three back to 1 with `--tree-level: 1` on every
19219
+ row. It carried an attribute and a shipped example setting it for as long as
19220
+ both existed, which is a depth a consumer could state and nothing would
19221
+ honor. Depth in this tree is where a row is, not what it claims: a branch's
19222
+ children go in its `children` slot, and that nesting is also what decides
19223
+ which rows a shut branch hides and which row the outward arrow moves to.
19224
+
19225
+ Not reflected either. The tree assigns this after it upgrades, so an
19226
+ attribute here would be a change to markup the consumer rendered and
19227
+ hydration would report it. The indent it drives is written onto the row
19228
+ instead, inside the shadow root, which is not part of the tree React
19229
+ hydrates. */
19230
+ level?: (HelixTreeItem["level"]) | undefined;
19098
19231
  /** Whether this item holds the tree's single tab stop. */
19099
19232
  focusable?: (HelixTreeItem["focusable"]) | undefined;
19100
19233
 
@@ -19134,13 +19267,6 @@ Unset by default, and unreflected: a tree of choosable nodes is not a tree
19134
19267
  of links, and an empty `href` written onto every row would be a link to the
19135
19268
  current page on every item a consumer never asked to be one. */
19136
19269
  "prop:href"?: (HelixTreeItem["href"]) | undefined;
19137
- /** Depth from the root, set by the tree so indentation needs no CSS nesting.
19138
-
19139
- Not reflected. The tree assigns this after it upgrades, so an attribute
19140
- here would be a change to markup the consumer rendered and hydration would
19141
- report it. The indent it drives is written onto the row instead, inside the
19142
- shadow root, which is not part of the tree React hydrates. */
19143
- "prop:level"?: (HelixTreeItem["level"]) | undefined;
19144
19270
  /** What the link declares about where it goes.
19145
19271
 
19146
19272
  Set by the consumer rather than derived from `target`: `noreferrer` is a
@@ -19150,7 +19276,7 @@ this library supports implies it for `target="_blank"` already. */
19150
19276
  "prop:rel"?: (HelixTreeItem["rel"]) | undefined;
19151
19277
  /** Whether this item is the current one.
19152
19278
 
19153
- Not reflected, for the reason `level` below gives in full: the tree assigns
19279
+ Not reflected, for the reason `level` above gives in full: the tree assigns
19154
19280
  this after it upgrades, so the attribute would be a change to markup the
19155
19281
  consumer rendered and hydration would report it. Mirroring to
19156
19282
  `data-selected` on the host instead is the same fault under another name.
@@ -19162,6 +19288,24 @@ row is not part of the tree React hydrates. */
19162
19288
  "prop:target"?: (HelixTreeItem["target"]) | undefined;
19163
19289
  /** Identifies the item to the consumer, carried in `helix-select`. */
19164
19290
  "prop:value"?: (HelixTreeItem["value"]) | undefined;
19291
+ /** Depth from the root, counted by the tree so indentation needs no CSS nesting.
19292
+
19293
+ **Read rather than written, and no attribute at all.** The tree counts the
19294
+ items a row sits inside and assigns this on every sync, so a value declared
19295
+ here is overwritten before the first paint: measured at `level="2"` on three
19296
+ rows of a flat list, all three back to 1 with `--tree-level: 1` on every
19297
+ row. It carried an attribute and a shipped example setting it for as long as
19298
+ both existed, which is a depth a consumer could state and nothing would
19299
+ honor. Depth in this tree is where a row is, not what it claims: a branch's
19300
+ children go in its `children` slot, and that nesting is also what decides
19301
+ which rows a shut branch hides and which row the outward arrow moves to.
19302
+
19303
+ Not reflected either. The tree assigns this after it upgrades, so an
19304
+ attribute here would be a change to markup the consumer rendered and
19305
+ hydration would report it. The indent it drives is written onto the row
19306
+ instead, inside the shadow root, which is not part of the tree React
19307
+ hydrates. */
19308
+ "prop:level"?: (HelixTreeItem["level"]) | undefined;
19165
19309
  /** Whether this item holds the tree's single tab stop. */
19166
19310
  "prop:focusable"?: (HelixTreeItem["focusable"]) | undefined;
19167
19311
  /** Fired when the item is chosen. Cancelable: refusing it takes the decision and nothing moves. */
@@ -21061,17 +21205,23 @@ export type CustomElements = {
21061
21205
  * exaggerating, and a streak whose length has passed through zero is drawn
21062
21206
  * as a bar across the whole frame.
21063
21207
  *
21064
- * Read by four of the eleven shapes, the ones made of many similar things,
21208
+ * Read by six of the eleven shapes, the ones made of many similar things,
21065
21209
  * whether those are counted or continuous: `streaks`, whose lanes draw a
21066
21210
  * speed, a length, a width, a spacing and a weight apiece; `particles`, whose
21067
- * motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
21068
- * fan, bundles and folds widen or even out.
21069
- *
21070
- * Inert on the other seven, for three different reasons. `braid`, `waves` and
21071
- * `flow` have a single subject and nothing to vary. `threads` and `lattice`
21072
- * are even on purpose, a scatter of strands and a regular structure each being
21073
- * what it is because its members do not differ. `caustics` and `fracture` are
21074
- * populations this does not reach, which is a gap rather than a refusal.
21211
+ * motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
21212
+ * fan, bundles and folds widen or even out; `caustics`, whose three depths of
21213
+ * fold close on one scale and one weight while the pool over them flattens to
21214
+ * an even wash; and `fracture`, whose sites come home to their own cell
21215
+ * centers, leaving equal territories and no border more contested than
21216
+ * another.
21217
+ *
21218
+ * Inert on the other five, and every one of them a refusal. `braid`, `waves`
21219
+ * and `flow` have a single subject and nothing to vary. `threads` and
21220
+ * `lattice` are even on purpose, a scatter of strands and a regular structure
21221
+ * each being what it is because its members do not differ: `threads` gives
21222
+ * its seven one amplitude, one thickness, one weight and one frequency on
21223
+ * the argument that alike is what makes a weave read as woven, and a lattice
21224
+ * whose cells differed would be a scatter with straight lines in it.
21075
21225
  * - `variant`: Which form the light takes. Absent is `braid`.
21076
21226
  *
21077
21227
  * Reflected because the fallback gradient selects on it, and given no default
@@ -22497,9 +22647,12 @@ export type CustomElements = {
22497
22647
  * browser's own momentum and the controls only have to scroll.
22498
22648
  *
22499
22649
  * Slides take the full track by default. `per-view` fits more than one across,
22500
- * up to five, and is declared on the tier below because it decides how many
22650
+ * at any count, and is declared on the tier below because it decides how many
22501
22651
  * positions the track has rather than only how wide a slide is,
22502
22652
  * which is what a run of cards wants rather than a run of full-width panels.
22653
+ * This sheet divides the track by the number that tier publishes rather than
22654
+ * enumerating the values it will answer for, so there is no count it silently
22655
+ * draws one across.
22503
22656
  *
22504
22657
  * ## Attributes & Properties
22505
22658
  *
@@ -22630,6 +22783,27 @@ export type CustomElements = {
22630
22783
  * offset the track has already reached: pressing next walks the dots to the
22631
22784
  * end while the slides stop moving a third of the way through.
22632
22785
  *
22786
+ * **The number is published to the styles rather than enumerated by them**,
22787
+ * as `--carousel-per-view` on the track, which is what keeps a width and a
22788
+ * count from disagreeing. A sheet can only name a value it wrote a rule for,
22789
+ * so the styled tier enumerated `per-view="2"` through `5` and called five a
22790
+ * judgment; above it the pane fell back to one across while this file went on
22791
+ * counting positions. Measured in Chromium over eight slides, six across gave
22792
+ * three dots, a pane taking the whole track and five slides reachable only by
22793
+ * dragging. Written from here there is no ceiling to exceed, and a consumer's
22794
+ * own sheet reads the same declaration the styled one does. `runEnd` publishes
22795
+ * its correction the same way and for the same reason.
22796
+ *
22797
+ * **On the track and not on the host.** A custom property on the host is a
22798
+ * reflected attribute by another name: it would arrive on upgrade, and a
22799
+ * consumer's server markup never had it. Inside the component's own shadow
22800
+ * root it serializes with the rest of the template on the server, and the
22801
+ * track's own declaration beats anything a consumer inherits in, so the
22802
+ * attribute is the one answer to how wide a pane is.
22803
+ *
22804
+ * A value the track cannot honor is taken to the nearest one it can, by
22805
+ * `across`, and both tiers read that rather than this.
22806
+ *
22633
22807
  * No default, because it reflects. A reflected property with a value writes
22634
22808
  * its attribute on upgrade, and the host then carries something a consumer's
22635
22809
  * server markup never had, which React reports as a mismatch. The one-across
@@ -22688,6 +22862,7 @@ export type CustomElements = {
22688
22862
  * - `--carousel-block-size`: Height of a vertical track. (default: `undefined`)
22689
22863
  * - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
22690
22864
  * - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
22865
+ * - `--carousel-per-view`: How many slides go across, written onto the track by the component so a sheet divides the track by the same number the positions are counted from. Read it rather than selecting on `per-view`, which cannot be enumerated without a ceiling. See `perView`. (default: `undefined`)
22691
22866
  * - `--carousel-run-end`: How far short of a whole pixel the run ends, on the last slide alone, for a sheet to take up as `margin-inline-end`. See `runEnd`. (default: `undefined`)
22692
22867
  *
22693
22868
  * ## CSS Parts
@@ -36009,6 +36184,19 @@ export type CustomElements = {
36009
36184
  * were this list to win, the drag would move the separator and leave the
36010
36185
  * track where the list put it. This is the table's default for its columns,
36011
36186
  * and each column may say otherwise.
36187
+ *
36188
+ * **It is also the only track list a server can send.** The shim has no tree
36189
+ * to walk, so a render there knows of no columns and this attribute is the
36190
+ * whole answer: a table given one lays its grid out in the first paint, and a
36191
+ * table sized only by its columns is one track wide until it upgrades.
36192
+ *
36193
+ * **`helix-data-table` has none of this, and should not.** Its columns are
36194
+ * its schema rather than an option, so there is always a column to write a
36195
+ * `width` on and a list here would be a second way to say what that says.
36196
+ * This table's cells are markup, and a table written as rows of cells with no
36197
+ * `helix-table-column` in it has nowhere else to be sized from. Both families
36198
+ * take the same CSS hook, `--table-columns` and `--data-table-columns`, which
36199
+ * wins over whichever list the element worked out.
36012
36200
  * - `label`: Accessible name for the table.
36013
36201
  * - `tableColumns`: The columns declared as children, in the order they are written. (property only) (readonly)
36014
36202
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -36042,7 +36230,7 @@ export type CustomElements = {
36042
36230
  *
36043
36231
  * CSS variables available for styling the component.
36044
36232
  *
36045
- * - `--table-columns`: Track list for the columns. (default: `undefined`)
36233
+ * - `--table-columns`: Track list for the columns, which wins over the one the columns worked out. (default: `undefined`)
36046
36234
  * - `--table-template`: The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--table-columns` is the one to set. (default: `undefined`)
36047
36235
  *
36048
36236
  * ## CSS Parts
@@ -38507,12 +38695,6 @@ export type CustomElements = {
38507
38695
  * Unset by default, and unreflected: a tree of choosable nodes is not a tree
38508
38696
  * of links, and an empty `href` written onto every row would be a link to the
38509
38697
  * current page on every item a consumer never asked to be one.
38510
- * - `level`: Depth from the root, set by the tree so indentation needs no CSS nesting.
38511
- *
38512
- * Not reflected. The tree assigns this after it upgrades, so an attribute
38513
- * here would be a change to markup the consumer rendered and hydration would
38514
- * report it. The indent it drives is written onto the row instead, inside the
38515
- * shadow root, which is not part of the tree React hydrates.
38516
38698
  * - `rel`: What the link declares about where it goes.
38517
38699
  *
38518
38700
  * Set by the consumer rather than derived from `target`: `noreferrer` is a
@@ -38521,7 +38703,7 @@ export type CustomElements = {
38521
38703
  * this library supports implies it for `target="_blank"` already.
38522
38704
  * - `selected`: Whether this item is the current one.
38523
38705
  *
38524
- * Not reflected, for the reason `level` below gives in full: the tree assigns
38706
+ * Not reflected, for the reason `level` above gives in full: the tree assigns
38525
38707
  * this after it upgrades, so the attribute would be a change to markup the
38526
38708
  * consumer rendered and hydration would report it. Mirroring to
38527
38709
  * `data-selected` on the host instead is the same fault under another name.
@@ -38530,6 +38712,23 @@ export type CustomElements = {
38530
38712
  * row is not part of the tree React hydrates.
38531
38713
  * - `target`: Where the link opens, for the rare row that leaves the site.
38532
38714
  * - `value`: Identifies the item to the consumer, carried in `helix-select`.
38715
+ * - `level`: Depth from the root, counted by the tree so indentation needs no CSS nesting.
38716
+ *
38717
+ * **Read rather than written, and no attribute at all.** The tree counts the
38718
+ * items a row sits inside and assigns this on every sync, so a value declared
38719
+ * here is overwritten before the first paint: measured at `level="2"` on three
38720
+ * rows of a flat list, all three back to 1 with `--tree-level: 1` on every
38721
+ * row. It carried an attribute and a shipped example setting it for as long as
38722
+ * both existed, which is a depth a consumer could state and nothing would
38723
+ * honor. Depth in this tree is where a row is, not what it claims: a branch's
38724
+ * children go in its `children` slot, and that nesting is also what decides
38725
+ * which rows a shut branch hides and which row the outward arrow moves to.
38726
+ *
38727
+ * Not reflected either. The tree assigns this after it upgrades, so an
38728
+ * attribute here would be a change to markup the consumer rendered and
38729
+ * hydration would report it. The indent it drives is written onto the row
38730
+ * instead, inside the shadow root, which is not part of the tree React
38731
+ * hydrates. (property only)
38533
38732
  * - `focusable`: Whether this item holds the tree's single tab stop. (property only)
38534
38733
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
38535
38734
  *
@@ -40333,17 +40532,23 @@ export type CustomElementsSolidJs = {
40333
40532
  * exaggerating, and a streak whose length has passed through zero is drawn
40334
40533
  * as a bar across the whole frame.
40335
40534
  *
40336
- * Read by four of the eleven shapes, the ones made of many similar things,
40535
+ * Read by six of the eleven shapes, the ones made of many similar things,
40337
40536
  * whether those are counted or continuous: `streaks`, whose lanes draw a
40338
40537
  * speed, a length, a width, a spacing and a weight apiece; `particles`, whose
40339
- * motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
40340
- * fan, bundles and folds widen or even out.
40341
- *
40342
- * Inert on the other seven, for three different reasons. `braid`, `waves` and
40343
- * `flow` have a single subject and nothing to vary. `threads` and `lattice`
40344
- * are even on purpose, a scatter of strands and a regular structure each being
40345
- * what it is because its members do not differ. `caustics` and `fracture` are
40346
- * populations this does not reach, which is a gap rather than a refusal.
40538
+ * motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
40539
+ * fan, bundles and folds widen or even out; `caustics`, whose three depths of
40540
+ * fold close on one scale and one weight while the pool over them flattens to
40541
+ * an even wash; and `fracture`, whose sites come home to their own cell
40542
+ * centers, leaving equal territories and no border more contested than
40543
+ * another.
40544
+ *
40545
+ * Inert on the other five, and every one of them a refusal. `braid`, `waves`
40546
+ * and `flow` have a single subject and nothing to vary. `threads` and
40547
+ * `lattice` are even on purpose, a scatter of strands and a regular structure
40548
+ * each being what it is because its members do not differ: `threads` gives
40549
+ * its seven one amplitude, one thickness, one weight and one frequency on
40550
+ * the argument that alike is what makes a weave read as woven, and a lattice
40551
+ * whose cells differed would be a scatter with straight lines in it.
40347
40552
  * - `variant`: Which form the light takes. Absent is `braid`.
40348
40553
  *
40349
40554
  * Reflected because the fallback gradient selects on it, and given no default
@@ -41805,9 +42010,12 @@ export type CustomElementsSolidJs = {
41805
42010
  * browser's own momentum and the controls only have to scroll.
41806
42011
  *
41807
42012
  * Slides take the full track by default. `per-view` fits more than one across,
41808
- * up to five, and is declared on the tier below because it decides how many
42013
+ * at any count, and is declared on the tier below because it decides how many
41809
42014
  * positions the track has rather than only how wide a slide is,
41810
42015
  * which is what a run of cards wants rather than a run of full-width panels.
42016
+ * This sheet divides the track by the number that tier publishes rather than
42017
+ * enumerating the values it will answer for, so there is no count it silently
42018
+ * draws one across.
41811
42019
  *
41812
42020
  * ## Attributes & Properties
41813
42021
  *
@@ -41938,6 +42146,27 @@ export type CustomElementsSolidJs = {
41938
42146
  * offset the track has already reached: pressing next walks the dots to the
41939
42147
  * end while the slides stop moving a third of the way through.
41940
42148
  *
42149
+ * **The number is published to the styles rather than enumerated by them**,
42150
+ * as `--carousel-per-view` on the track, which is what keeps a width and a
42151
+ * count from disagreeing. A sheet can only name a value it wrote a rule for,
42152
+ * so the styled tier enumerated `per-view="2"` through `5` and called five a
42153
+ * judgment; above it the pane fell back to one across while this file went on
42154
+ * counting positions. Measured in Chromium over eight slides, six across gave
42155
+ * three dots, a pane taking the whole track and five slides reachable only by
42156
+ * dragging. Written from here there is no ceiling to exceed, and a consumer's
42157
+ * own sheet reads the same declaration the styled one does. `runEnd` publishes
42158
+ * its correction the same way and for the same reason.
42159
+ *
42160
+ * **On the track and not on the host.** A custom property on the host is a
42161
+ * reflected attribute by another name: it would arrive on upgrade, and a
42162
+ * consumer's server markup never had it. Inside the component's own shadow
42163
+ * root it serializes with the rest of the template on the server, and the
42164
+ * track's own declaration beats anything a consumer inherits in, so the
42165
+ * attribute is the one answer to how wide a pane is.
42166
+ *
42167
+ * A value the track cannot honor is taken to the nearest one it can, by
42168
+ * `across`, and both tiers read that rather than this.
42169
+ *
41941
42170
  * No default, because it reflects. A reflected property with a value writes
41942
42171
  * its attribute on upgrade, and the host then carries something a consumer's
41943
42172
  * server markup never had, which React reports as a mismatch. The one-across
@@ -41996,6 +42225,7 @@ export type CustomElementsSolidJs = {
41996
42225
  * - `--carousel-block-size`: Height of a vertical track. (default: `undefined`)
41997
42226
  * - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
41998
42227
  * - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
42228
+ * - `--carousel-per-view`: How many slides go across, written onto the track by the component so a sheet divides the track by the same number the positions are counted from. Read it rather than selecting on `per-view`, which cannot be enumerated without a ceiling. See `perView`. (default: `undefined`)
41999
42229
  * - `--carousel-run-end`: How far short of a whole pixel the run ends, on the last slide alone, for a sheet to take up as `margin-inline-end`. See `runEnd`. (default: `undefined`)
42000
42230
  *
42001
42231
  * ## CSS Parts
@@ -55600,6 +55830,19 @@ export type CustomElementsSolidJs = {
55600
55830
  * were this list to win, the drag would move the separator and leave the
55601
55831
  * track where the list put it. This is the table's default for its columns,
55602
55832
  * and each column may say otherwise.
55833
+ *
55834
+ * **It is also the only track list a server can send.** The shim has no tree
55835
+ * to walk, so a render there knows of no columns and this attribute is the
55836
+ * whole answer: a table given one lays its grid out in the first paint, and a
55837
+ * table sized only by its columns is one track wide until it upgrades.
55838
+ *
55839
+ * **`helix-data-table` has none of this, and should not.** Its columns are
55840
+ * its schema rather than an option, so there is always a column to write a
55841
+ * `width` on and a list here would be a second way to say what that says.
55842
+ * This table's cells are markup, and a table written as rows of cells with no
55843
+ * `helix-table-column` in it has nowhere else to be sized from. Both families
55844
+ * take the same CSS hook, `--table-columns` and `--data-table-columns`, which
55845
+ * wins over whichever list the element worked out.
55603
55846
  * - `label`: Accessible name for the table.
55604
55847
  * - `tableColumns`: The columns declared as children, in the order they are written. (property only) (readonly)
55605
55848
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -55633,7 +55876,7 @@ export type CustomElementsSolidJs = {
55633
55876
  *
55634
55877
  * CSS variables available for styling the component.
55635
55878
  *
55636
- * - `--table-columns`: Track list for the columns. (default: `undefined`)
55879
+ * - `--table-columns`: Track list for the columns, which wins over the one the columns worked out. (default: `undefined`)
55637
55880
  * - `--table-template`: The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--table-columns` is the one to set. (default: `undefined`)
55638
55881
  *
55639
55882
  * ## CSS Parts
@@ -58157,12 +58400,6 @@ export type CustomElementsSolidJs = {
58157
58400
  * Unset by default, and unreflected: a tree of choosable nodes is not a tree
58158
58401
  * of links, and an empty `href` written onto every row would be a link to the
58159
58402
  * current page on every item a consumer never asked to be one.
58160
- * - `level`: Depth from the root, set by the tree so indentation needs no CSS nesting.
58161
- *
58162
- * Not reflected. The tree assigns this after it upgrades, so an attribute
58163
- * here would be a change to markup the consumer rendered and hydration would
58164
- * report it. The indent it drives is written onto the row instead, inside the
58165
- * shadow root, which is not part of the tree React hydrates.
58166
58403
  * - `rel`: What the link declares about where it goes.
58167
58404
  *
58168
58405
  * Set by the consumer rather than derived from `target`: `noreferrer` is a
@@ -58171,7 +58408,7 @@ export type CustomElementsSolidJs = {
58171
58408
  * this library supports implies it for `target="_blank"` already.
58172
58409
  * - `selected`: Whether this item is the current one.
58173
58410
  *
58174
- * Not reflected, for the reason `level` below gives in full: the tree assigns
58411
+ * Not reflected, for the reason `level` above gives in full: the tree assigns
58175
58412
  * this after it upgrades, so the attribute would be a change to markup the
58176
58413
  * consumer rendered and hydration would report it. Mirroring to
58177
58414
  * `data-selected` on the host instead is the same fault under another name.
@@ -58180,6 +58417,23 @@ export type CustomElementsSolidJs = {
58180
58417
  * row is not part of the tree React hydrates.
58181
58418
  * - `target`: Where the link opens, for the rare row that leaves the site.
58182
58419
  * - `value`: Identifies the item to the consumer, carried in `helix-select`.
58420
+ * - `level`: Depth from the root, counted by the tree so indentation needs no CSS nesting.
58421
+ *
58422
+ * **Read rather than written, and no attribute at all.** The tree counts the
58423
+ * items a row sits inside and assigns this on every sync, so a value declared
58424
+ * here is overwritten before the first paint: measured at `level="2"` on three
58425
+ * rows of a flat list, all three back to 1 with `--tree-level: 1` on every
58426
+ * row. It carried an attribute and a shipped example setting it for as long as
58427
+ * both existed, which is a depth a consumer could state and nothing would
58428
+ * honor. Depth in this tree is where a row is, not what it claims: a branch's
58429
+ * children go in its `children` slot, and that nesting is also what decides
58430
+ * which rows a shut branch hides and which row the outward arrow moves to.
58431
+ *
58432
+ * Not reflected either. The tree assigns this after it upgrades, so an
58433
+ * attribute here would be a change to markup the consumer rendered and
58434
+ * hydration would report it. The indent it drives is written onto the row
58435
+ * instead, inside the shadow root, which is not part of the tree React
58436
+ * hydrates. (property only)
58183
58437
  * - `focusable`: Whether this item holds the tree's single tab stop. (property only)
58184
58438
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
58185
58439
  *
@@ -59371,6 +59625,8 @@ export type CustomCssProperties = {
59371
59625
  "--carousel-gap"?: (string) | undefined;
59372
59626
  /** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
59373
59627
  "--carousel-pane"?: (string) | undefined;
59628
+ /** How many slides go across, written onto the track by the component so a sheet divides the track by the same number the positions are counted from. Read it rather than selecting on `per-view`, which cannot be enumerated without a ceiling. See `perView`. */
59629
+ "--carousel-per-view"?: (string) | undefined;
59374
59630
  /** How far short of a whole pixel the run ends, on the last slide alone, for a sheet to take up as `margin-inline-end`. See `runEnd`. */
59375
59631
  "--carousel-run-end"?: (string) | undefined;
59376
59632
  /** Fill behind the composer. */
@@ -60117,7 +60373,7 @@ export type CustomCssProperties = {
60117
60373
  "--switch-thumb-color"?: (string) | undefined;
60118
60374
  /** The edge the column this cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the table around it, since the cell is the consumer's markup and nothing is written onto it; read by the sheet that draws the cell, where `justify-content` and `text-align` both take it as it comes and both follow the writing direction. */
60119
60375
  "--table-cell-align"?: (string) | undefined;
60120
- /** Track list for the columns. */
60376
+ /** Track list for the columns, which wins over the one the columns worked out. */
60121
60377
  "--table-columns"?: (string) | undefined;
60122
60378
  /** The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--table-columns` is the one to set. */
60123
60379
  "--table-template"?: (string) | undefined;