@fusion.dev/helix 0.41.1 → 0.42.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/types/jsx.d.ts CHANGED
@@ -1087,13 +1087,17 @@ 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 the shapes made of many similar things, whether those are counted
1091
- or continuous: `streaks`, whose lanes draw a speed, a length, a width, a
1092
- spacing and a weight apiece; `particles`, whose motes draw a size, a
1093
- brightness and a wander; and `rays` and `aurora`, whose fan, bundles and
1094
- folds widen or even out. `braid`, `waves` and `flow` have a
1095
- single subject and nothing to vary, and `threads` is even on purpose, so on
1096
- those four this is inert. */
1090
+ Read by four of the eleven shapes, the ones made of many similar things,
1091
+ whether those are counted or continuous: `streaks`, whose lanes draw a
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. */
1097
1101
  variance?: (HelixAura["variance"]) | undefined;
1098
1102
  /** Which form the light takes. Absent is `braid`.
1099
1103
 
@@ -1185,13 +1189,17 @@ are interpolations, so a larger number extrapolates rather than
1185
1189
  exaggerating, and a streak whose length has passed through zero is drawn
1186
1190
  as a bar across the whole frame.
1187
1191
 
1188
- Read by the shapes made of many similar things, whether those are counted
1189
- or continuous: `streaks`, whose lanes draw a speed, a length, a width, a
1190
- spacing and a weight apiece; `particles`, whose motes draw a size, a
1191
- brightness and a wander; and `rays` and `aurora`, whose fan, bundles and
1192
- folds widen or even out. `braid`, `waves` and `flow` have a
1193
- single subject and nothing to vary, and `threads` is even on purpose, so on
1194
- those four this is inert. */
1192
+ Read by four of the eleven shapes, the ones made of many similar things,
1193
+ whether those are counted or continuous: `streaks`, whose lanes draw a
1194
+ 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. */
1195
1203
  "prop:variance"?: (HelixAura["variance"]) | undefined;
1196
1204
  /** Which form the light takes. Absent is `braid`.
1197
1205
 
@@ -1906,7 +1914,15 @@ export type HelixBreadcrumbsSolidJsProps = {
1906
1914
  };
1907
1915
 
1908
1916
  export type HelixButtonGroupProps = {
1909
- /** Whether the buttons are one bar or a spaced row. */
1917
+ /** Whether the buttons are one bar or a spaced row.
1918
+
1919
+ Joined by default: one control made of parts, sharing borders, reading as a
1920
+ segmented bar.
1921
+
1922
+ `spaced` is the same set with air between them, for a row of related but
1923
+ separate actions. The semantics and the joining are separate questions:
1924
+ `role="group"` and a shared name are what make a set of buttons a set, and
1925
+ `helix-flex` gives the spacing without the group. */
1910
1926
  variant?: (HelixButtonGroup["variant"]) | undefined;
1911
1927
  /** Accessible name for the group.
1912
1928
 
@@ -1934,7 +1950,15 @@ column. */
1934
1950
  };
1935
1951
 
1936
1952
  export type HelixButtonGroupSolidJsProps = {
1937
- /** Whether the buttons are one bar or a spaced row. */
1953
+ /** Whether the buttons are one bar or a spaced row.
1954
+
1955
+ Joined by default: one control made of parts, sharing borders, reading as a
1956
+ segmented bar.
1957
+
1958
+ `spaced` is the same set with air between them, for a row of related but
1959
+ separate actions. The semantics and the joining are separate questions:
1960
+ `role="group"` and a shared name are what make a set of buttons a set, and
1961
+ `helix-flex` gives the spacing without the group. */
1938
1962
  "prop:variant"?: (HelixButtonGroup["variant"]) | undefined;
1939
1963
  /** Accessible name for the group.
1940
1964
 
@@ -2802,7 +2826,7 @@ server markup never had, which React reports as a mismatch. The one-across
2802
2826
  case is the absent attribute, and the styles read it that way. */
2803
2827
  perView?: (HelixCarousel["perView"]) | undefined;
2804
2828
 
2805
- /** Fired when the slide in view changes, with its index. Cancelable: refusing it takes the decision and nothing moves. */
2829
+ /** Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`. */
2806
2830
  "onhelix-select"?: ((e: HelixCarouselHelixSelectElementEvent) => void) | undefined;
2807
2831
  };
2808
2832
 
@@ -3032,7 +3056,7 @@ its attribute on upgrade, and the host then carries something a consumer's
3032
3056
  server markup never had, which React reports as a mismatch. The one-across
3033
3057
  case is the absent attribute, and the styles read it that way. */
3034
3058
  "prop:perView"?: (HelixCarousel["perView"]) | undefined;
3035
- /** Fired when the slide in view changes, with its index. Cancelable: refusing it takes the decision and nothing moves. */
3059
+ /** Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`. */
3036
3060
  "on:helix-select"?: ((e: HelixCarouselHelixSelectElementEvent) => void) | undefined;
3037
3061
 
3038
3062
  /** Set the innerHTML of the element */
@@ -6604,9 +6628,36 @@ export type HelixDialogHelixBeforeOpenElementEvent =
6604
6628
  HelixDialogElementEvent<HelixBeforeOpenEvent>;
6605
6629
 
6606
6630
  export type HelixDialogProps = {
6607
- /** Whether the panel's contents run from the start or center on it. */
6631
+ /** Which way the panel's contents read.
6632
+
6633
+ One property for the whole panel rather than one per region. The regions are
6634
+ never mixed in practice: a dialog that asks a short question centers its
6635
+ mark, its title, its sentence and its buttons together, and a dialog holding
6636
+ a form runs all four from the start. Three properties would be three ways to
6637
+ write the same two arrangements, and a fourth way to get one of them wrong.
6638
+
6639
+ Unset is `start` and stays unset, so a reflected default cannot appear on a
6640
+ host whose server output never had it. */
6608
6641
  align?: (HelixDialog["align"]) | undefined;
6609
- /** How wide the panel is allowed to be. */
6642
+ /** How wide the panel is allowed to be.
6643
+
6644
+ Steps rather than a number, because a dialog's width is a fact about what is
6645
+ in it: a confirmation is narrow, a form is not, and picking pixels per
6646
+ dialog is how a product ends up with nine of them. `full` takes the viewport
6647
+ less the same inset every step already stops short by, so a takeover is one
6648
+ more rung and not a second property.
6649
+
6650
+ Unset is `md`, read as `:host(:not([size]))` beside `:host([size="md"])`
6651
+ rather than assigned here, for the reason `Drawer.placement` gives: this
6652
+ reflects, and a default would put `size="md"` into markup no consumer wrote.
6653
+
6654
+ `size` is right despite the rule that controls have no size, because that
6655
+ rule's own test is whether two of them sitting together could legitimately
6656
+ differ, and it is answering "a ragged row is unwritable". Two dialogs never
6657
+ sit together. One is on screen at a time, in the top layer, and it is the
6658
+ region rather than a control in one, which is the same reason `Avatar` and
6659
+ `Spinner` keep theirs. Not `appearance`, which says how a thing reads
6660
+ rather than how wide it is. */
6610
6661
  size?: (HelixDialog["size"]) | undefined;
6611
6662
  /** Whether the element is open.
6612
6663
 
@@ -6682,9 +6733,36 @@ survives to it and a consumer reading one back gets what they wrote. */
6682
6733
  };
6683
6734
 
6684
6735
  export type HelixDialogSolidJsProps = {
6685
- /** Whether the panel's contents run from the start or center on it. */
6736
+ /** Which way the panel's contents read.
6737
+
6738
+ One property for the whole panel rather than one per region. The regions are
6739
+ never mixed in practice: a dialog that asks a short question centers its
6740
+ mark, its title, its sentence and its buttons together, and a dialog holding
6741
+ a form runs all four from the start. Three properties would be three ways to
6742
+ write the same two arrangements, and a fourth way to get one of them wrong.
6743
+
6744
+ Unset is `start` and stays unset, so a reflected default cannot appear on a
6745
+ host whose server output never had it. */
6686
6746
  "prop:align"?: (HelixDialog["align"]) | undefined;
6687
- /** How wide the panel is allowed to be. */
6747
+ /** How wide the panel is allowed to be.
6748
+
6749
+ Steps rather than a number, because a dialog's width is a fact about what is
6750
+ in it: a confirmation is narrow, a form is not, and picking pixels per
6751
+ dialog is how a product ends up with nine of them. `full` takes the viewport
6752
+ less the same inset every step already stops short by, so a takeover is one
6753
+ more rung and not a second property.
6754
+
6755
+ Unset is `md`, read as `:host(:not([size]))` beside `:host([size="md"])`
6756
+ rather than assigned here, for the reason `Drawer.placement` gives: this
6757
+ reflects, and a default would put `size="md"` into markup no consumer wrote.
6758
+
6759
+ `size` is right despite the rule that controls have no size, because that
6760
+ rule's own test is whether two of them sitting together could legitimately
6761
+ differ, and it is answering "a ragged row is unwritable". Two dialogs never
6762
+ sit together. One is on screen at a time, in the top layer, and it is the
6763
+ region rather than a control in one, which is the same reason `Avatar` and
6764
+ `Spinner` keep theirs. Not `appearance`, which says how a thing reads
6765
+ rather than how wide it is. */
6688
6766
  "prop:size"?: (HelixDialog["size"]) | undefined;
6689
6767
  /** Whether the element is open.
6690
6768
 
@@ -19462,7 +19540,35 @@ export type HelixVideoHelixPreviousElementEvent =
19462
19540
  HelixVideoElementEvent<HelixPreviousEvent>;
19463
19541
 
19464
19542
  export type HelixVideoProps = {
19465
- /** Whether the bar floats on the picture or sits on its own ground. */
19543
+ /** How the control bar sits on the picture.
19544
+
19545
+ `separation` and not `emphasis`: all three states say what the bar sits on,
19546
+ which is where it separates from the picture, rather than how loud it is.
19547
+
19548
+ Absent is the default and is what a player looks like, and what the
19549
+ platform's own controls do: they float on a gradient that fades up into the
19550
+ picture, dark enough to read them against a bright frame and gone entirely
19551
+ a little higher up. The picture runs edge to edge behind them. It has no
19552
+ name because it is the resting treatment.
19553
+
19554
+ `filled` gives the controls a bar of their own, which is what a video
19555
+ embedded in a document usually wants, where the player is a component on a
19556
+ page rather than the page itself. It stays put rather than fading, because
19557
+ a bar that is part of the frame would leave a strip of the well behind it.
19558
+
19559
+ `plain` is neither: the controls sit straight on the picture with nothing
19560
+ behind them. For a consumer who knows their footage, or who is putting
19561
+ their own ground there.
19562
+
19563
+ A presentation property, so it lives on this tier. The headless element renders
19564
+ the same bar for all three.
19565
+
19566
+ **Optional rather than defaulted, which is not a style preference.** A
19567
+ reflecting property with a default writes its attribute onto every host the
19568
+ moment the element upgrades, including the ones a consumer rendered and did
19569
+ not touch, and React reads that as a hydration mismatch. The absent
19570
+ attribute *is* the shadow, which the stylesheet reads as the base rule, so
19571
+ only the departure has to be named. */
19466
19572
  separation?: (HelixVideo["separation"]) | undefined;
19467
19573
  /** Whether it starts on its own, which a browser only allows while silent.
19468
19574
 
@@ -19711,7 +19817,35 @@ past the end is the one write the platform answers with an exception. */
19711
19817
  };
19712
19818
 
19713
19819
  export type HelixVideoSolidJsProps = {
19714
- /** Whether the bar floats on the picture or sits on its own ground. */
19820
+ /** How the control bar sits on the picture.
19821
+
19822
+ `separation` and not `emphasis`: all three states say what the bar sits on,
19823
+ which is where it separates from the picture, rather than how loud it is.
19824
+
19825
+ Absent is the default and is what a player looks like, and what the
19826
+ platform's own controls do: they float on a gradient that fades up into the
19827
+ picture, dark enough to read them against a bright frame and gone entirely
19828
+ a little higher up. The picture runs edge to edge behind them. It has no
19829
+ name because it is the resting treatment.
19830
+
19831
+ `filled` gives the controls a bar of their own, which is what a video
19832
+ embedded in a document usually wants, where the player is a component on a
19833
+ page rather than the page itself. It stays put rather than fading, because
19834
+ a bar that is part of the frame would leave a strip of the well behind it.
19835
+
19836
+ `plain` is neither: the controls sit straight on the picture with nothing
19837
+ behind them. For a consumer who knows their footage, or who is putting
19838
+ their own ground there.
19839
+
19840
+ A presentation property, so it lives on this tier. The headless element renders
19841
+ the same bar for all three.
19842
+
19843
+ **Optional rather than defaulted, which is not a style preference.** A
19844
+ reflecting property with a default writes its attribute onto every host the
19845
+ moment the element upgrades, including the ones a consumer rendered and did
19846
+ not touch, and React reads that as a hydration mismatch. The absent
19847
+ attribute *is* the shadow, which the stylesheet reads as the base rule, so
19848
+ only the departure has to be named. */
19715
19849
  "prop:separation"?: (HelixVideo["separation"]) | undefined;
19716
19850
  /** Whether it starts on its own, which a browser only allows while silent.
19717
19851
 
@@ -20779,13 +20913,17 @@ export type CustomElements = {
20779
20913
  * exaggerating, and a streak whose length has passed through zero is drawn
20780
20914
  * as a bar across the whole frame.
20781
20915
  *
20782
- * Read by the shapes made of many similar things, whether those are counted
20783
- * or continuous: `streaks`, whose lanes draw a speed, a length, a width, a
20784
- * spacing and a weight apiece; `particles`, whose motes draw a size, a
20785
- * brightness and a wander; and `rays` and `aurora`, whose fan, bundles and
20786
- * folds widen or even out. `braid`, `waves` and `flow` have a
20787
- * single subject and nothing to vary, and `threads` is even on purpose, so on
20788
- * those four this is inert.
20916
+ * Read by four of the eleven shapes, the ones made of many similar things,
20917
+ * whether those are counted or continuous: `streaks`, whose lanes draw a
20918
+ * speed, a length, a width, a spacing and a weight apiece; `particles`, whose
20919
+ * motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
20920
+ * fan, bundles and folds widen or even out.
20921
+ *
20922
+ * Inert on the other seven, for three different reasons. `braid`, `waves` and
20923
+ * `flow` have a single subject and nothing to vary. `threads` and `lattice`
20924
+ * are even on purpose, a scatter of strands and a regular structure each being
20925
+ * what it is because its members do not differ. `caustics` and `fracture` are
20926
+ * populations this does not reach, which is a gap rather than a refusal.
20789
20927
  * - `variant`: Which form the light takes. Absent is `braid`.
20790
20928
  *
20791
20929
  * Reflected because the fallback gradient selects on it, and given no default
@@ -21656,6 +21794,14 @@ export type CustomElements = {
21656
21794
  * Component attributes and properties that can be applied to the element or by using JavaScript.
21657
21795
  *
21658
21796
  * - `variant`: Whether the buttons are one bar or a spaced row.
21797
+ *
21798
+ * Joined by default: one control made of parts, sharing borders, reading as a
21799
+ * segmented bar.
21800
+ *
21801
+ * `spaced` is the same set with air between them, for a row of related but
21802
+ * separate actions. The semantics and the joining are separate questions:
21803
+ * `role="group"` and a shared name are what make a set of buttons a set, and
21804
+ * `helix-flex` gives the spacing without the group.
21659
21805
  * - `label`: Accessible name for the group.
21660
21806
  *
21661
21807
  * On the host through internals, so an author's `aria-label` still overrides
@@ -22372,7 +22518,7 @@ export type CustomElements = {
22372
22518
  *
22373
22519
  * Events that will be emitted by the component.
22374
22520
  *
22375
- * - `helix-select`: Fired when the slide in view changes, with its index. Cancelable: refusing it takes the decision and nothing moves.
22521
+ * - `helix-select`: Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`.
22376
22522
  *
22377
22523
  * ## Slots
22378
22524
  *
@@ -25542,8 +25688,35 @@ export type CustomElements = {
25542
25688
  *
25543
25689
  * Component attributes and properties that can be applied to the element or by using JavaScript.
25544
25690
  *
25545
- * - `align`: Whether the panel's contents run from the start or center on it.
25691
+ * - `align`: Which way the panel's contents read.
25692
+ *
25693
+ * One property for the whole panel rather than one per region. The regions are
25694
+ * never mixed in practice: a dialog that asks a short question centers its
25695
+ * mark, its title, its sentence and its buttons together, and a dialog holding
25696
+ * a form runs all four from the start. Three properties would be three ways to
25697
+ * write the same two arrangements, and a fourth way to get one of them wrong.
25698
+ *
25699
+ * Unset is `start` and stays unset, so a reflected default cannot appear on a
25700
+ * host whose server output never had it.
25546
25701
  * - `size`: How wide the panel is allowed to be.
25702
+ *
25703
+ * Steps rather than a number, because a dialog's width is a fact about what is
25704
+ * in it: a confirmation is narrow, a form is not, and picking pixels per
25705
+ * dialog is how a product ends up with nine of them. `full` takes the viewport
25706
+ * less the same inset every step already stops short by, so a takeover is one
25707
+ * more rung and not a second property.
25708
+ *
25709
+ * Unset is `md`, read as `:host(:not([size]))` beside `:host([size="md"])`
25710
+ * rather than assigned here, for the reason `Drawer.placement` gives: this
25711
+ * reflects, and a default would put `size="md"` into markup no consumer wrote.
25712
+ *
25713
+ * `size` is right despite the rule that controls have no size, because that
25714
+ * rule's own test is whether two of them sitting together could legitimately
25715
+ * differ, and it is answering "a ragged row is unwritable". Two dialogs never
25716
+ * sit together. One is on screen at a time, in the top layer, and it is the
25717
+ * region rather than a control in one, which is the same reason `Avatar` and
25718
+ * `Spinner` keep theirs. Not `appearance`, which says how a thing reads
25719
+ * rather than how wide it is.
25547
25720
  * - `open`: Whether the element is open.
25548
25721
  *
25549
25722
  * One property, not two, so `dialog.open` answers the question anyone
@@ -38774,7 +38947,35 @@ export type CustomElements = {
38774
38947
  *
38775
38948
  * Component attributes and properties that can be applied to the element or by using JavaScript.
38776
38949
  *
38777
- * - `separation`: Whether the bar floats on the picture or sits on its own ground.
38950
+ * - `separation`: How the control bar sits on the picture.
38951
+ *
38952
+ * `separation` and not `emphasis`: all three states say what the bar sits on,
38953
+ * which is where it separates from the picture, rather than how loud it is.
38954
+ *
38955
+ * Absent is the default and is what a player looks like, and what the
38956
+ * platform's own controls do: they float on a gradient that fades up into the
38957
+ * picture, dark enough to read them against a bright frame and gone entirely
38958
+ * a little higher up. The picture runs edge to edge behind them. It has no
38959
+ * name because it is the resting treatment.
38960
+ *
38961
+ * `filled` gives the controls a bar of their own, which is what a video
38962
+ * embedded in a document usually wants, where the player is a component on a
38963
+ * page rather than the page itself. It stays put rather than fading, because
38964
+ * a bar that is part of the frame would leave a strip of the well behind it.
38965
+ *
38966
+ * `plain` is neither: the controls sit straight on the picture with nothing
38967
+ * behind them. For a consumer who knows their footage, or who is putting
38968
+ * their own ground there.
38969
+ *
38970
+ * A presentation property, so it lives on this tier. The headless element renders
38971
+ * the same bar for all three.
38972
+ *
38973
+ * **Optional rather than defaulted, which is not a style preference.** A
38974
+ * reflecting property with a default writes its attribute onto every host the
38975
+ * moment the element upgrades, including the ones a consumer rendered and did
38976
+ * not touch, and React reads that as a hydration mismatch. The absent
38977
+ * attribute *is* the shadow, which the stylesheet reads as the base rule, so
38978
+ * only the departure has to be named.
38778
38979
  * - `autoplay`: Whether it starts on its own, which a browser only allows while silent.
38779
38980
  *
38780
38981
  * Forwarded rather than acted on. Whether an unprompted play is permitted is
@@ -39899,13 +40100,17 @@ export type CustomElementsSolidJs = {
39899
40100
  * exaggerating, and a streak whose length has passed through zero is drawn
39900
40101
  * as a bar across the whole frame.
39901
40102
  *
39902
- * Read by the shapes made of many similar things, whether those are counted
39903
- * or continuous: `streaks`, whose lanes draw a speed, a length, a width, a
39904
- * spacing and a weight apiece; `particles`, whose motes draw a size, a
39905
- * brightness and a wander; and `rays` and `aurora`, whose fan, bundles and
39906
- * folds widen or even out. `braid`, `waves` and `flow` have a
39907
- * single subject and nothing to vary, and `threads` is even on purpose, so on
39908
- * those four this is inert.
40103
+ * Read by four of the eleven shapes, the ones made of many similar things,
40104
+ * whether those are counted or continuous: `streaks`, whose lanes draw a
40105
+ * speed, a length, a width, a spacing and a weight apiece; `particles`, whose
40106
+ * motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
40107
+ * fan, bundles and folds widen or even out.
40108
+ *
40109
+ * Inert on the other seven, for three different reasons. `braid`, `waves` and
40110
+ * `flow` have a single subject and nothing to vary. `threads` and `lattice`
40111
+ * are even on purpose, a scatter of strands and a regular structure each being
40112
+ * what it is because its members do not differ. `caustics` and `fracture` are
40113
+ * populations this does not reach, which is a gap rather than a refusal.
39909
40114
  * - `variant`: Which form the light takes. Absent is `braid`.
39910
40115
  *
39911
40116
  * Reflected because the fallback gradient selects on it, and given no default
@@ -40801,6 +41006,14 @@ export type CustomElementsSolidJs = {
40801
41006
  * Component attributes and properties that can be applied to the element or by using JavaScript.
40802
41007
  *
40803
41008
  * - `variant`: Whether the buttons are one bar or a spaced row.
41009
+ *
41010
+ * Joined by default: one control made of parts, sharing borders, reading as a
41011
+ * segmented bar.
41012
+ *
41013
+ * `spaced` is the same set with air between them, for a row of related but
41014
+ * separate actions. The semantics and the joining are separate questions:
41015
+ * `role="group"` and a shared name are what make a set of buttons a set, and
41016
+ * `helix-flex` gives the spacing without the group.
40804
41017
  * - `label`: Accessible name for the group.
40805
41018
  *
40806
41019
  * On the host through internals, so an author's `aria-label` still overrides
@@ -41528,7 +41741,7 @@ export type CustomElementsSolidJs = {
41528
41741
  *
41529
41742
  * Events that will be emitted by the component.
41530
41743
  *
41531
- * - `helix-select`: Fired when the slide in view changes, with its index. Cancelable: refusing it takes the decision and nothing moves.
41744
+ * - `helix-select`: Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`.
41532
41745
  *
41533
41746
  * ## Slots
41534
41747
  *
@@ -44748,8 +44961,35 @@ export type CustomElementsSolidJs = {
44748
44961
  *
44749
44962
  * Component attributes and properties that can be applied to the element or by using JavaScript.
44750
44963
  *
44751
- * - `align`: Whether the panel's contents run from the start or center on it.
44964
+ * - `align`: Which way the panel's contents read.
44965
+ *
44966
+ * One property for the whole panel rather than one per region. The regions are
44967
+ * never mixed in practice: a dialog that asks a short question centers its
44968
+ * mark, its title, its sentence and its buttons together, and a dialog holding
44969
+ * a form runs all four from the start. Three properties would be three ways to
44970
+ * write the same two arrangements, and a fourth way to get one of them wrong.
44971
+ *
44972
+ * Unset is `start` and stays unset, so a reflected default cannot appear on a
44973
+ * host whose server output never had it.
44752
44974
  * - `size`: How wide the panel is allowed to be.
44975
+ *
44976
+ * Steps rather than a number, because a dialog's width is a fact about what is
44977
+ * in it: a confirmation is narrow, a form is not, and picking pixels per
44978
+ * dialog is how a product ends up with nine of them. `full` takes the viewport
44979
+ * less the same inset every step already stops short by, so a takeover is one
44980
+ * more rung and not a second property.
44981
+ *
44982
+ * Unset is `md`, read as `:host(:not([size]))` beside `:host([size="md"])`
44983
+ * rather than assigned here, for the reason `Drawer.placement` gives: this
44984
+ * reflects, and a default would put `size="md"` into markup no consumer wrote.
44985
+ *
44986
+ * `size` is right despite the rule that controls have no size, because that
44987
+ * rule's own test is whether two of them sitting together could legitimately
44988
+ * differ, and it is answering "a ragged row is unwritable". Two dialogs never
44989
+ * sit together. One is on screen at a time, in the top layer, and it is the
44990
+ * region rather than a control in one, which is the same reason `Avatar` and
44991
+ * `Spinner` keep theirs. Not `appearance`, which says how a thing reads
44992
+ * rather than how wide it is.
44753
44993
  * - `open`: Whether the element is open.
44754
44994
  *
44755
44995
  * One property, not two, so `dialog.open` answers the question anyone
@@ -58291,7 +58531,35 @@ export type CustomElementsSolidJs = {
58291
58531
  *
58292
58532
  * Component attributes and properties that can be applied to the element or by using JavaScript.
58293
58533
  *
58294
- * - `separation`: Whether the bar floats on the picture or sits on its own ground.
58534
+ * - `separation`: How the control bar sits on the picture.
58535
+ *
58536
+ * `separation` and not `emphasis`: all three states say what the bar sits on,
58537
+ * which is where it separates from the picture, rather than how loud it is.
58538
+ *
58539
+ * Absent is the default and is what a player looks like, and what the
58540
+ * platform's own controls do: they float on a gradient that fades up into the
58541
+ * picture, dark enough to read them against a bright frame and gone entirely
58542
+ * a little higher up. The picture runs edge to edge behind them. It has no
58543
+ * name because it is the resting treatment.
58544
+ *
58545
+ * `filled` gives the controls a bar of their own, which is what a video
58546
+ * embedded in a document usually wants, where the player is a component on a
58547
+ * page rather than the page itself. It stays put rather than fading, because
58548
+ * a bar that is part of the frame would leave a strip of the well behind it.
58549
+ *
58550
+ * `plain` is neither: the controls sit straight on the picture with nothing
58551
+ * behind them. For a consumer who knows their footage, or who is putting
58552
+ * their own ground there.
58553
+ *
58554
+ * A presentation property, so it lives on this tier. The headless element renders
58555
+ * the same bar for all three.
58556
+ *
58557
+ * **Optional rather than defaulted, which is not a style preference.** A
58558
+ * reflecting property with a default writes its attribute onto every host the
58559
+ * moment the element upgrades, including the ones a consumer rendered and did
58560
+ * not touch, and React reads that as a hydration mismatch. The absent
58561
+ * attribute *is* the shadow, which the stylesheet reads as the base rule, so
58562
+ * only the departure has to be named.
58295
58563
  * - `autoplay`: Whether it starts on its own, which a browser only allows while silent.
58296
58564
  *
58297
58565
  * Forwarded rather than acted on. Whether an unprompted play is permitted is
package/types/vue.d.ts CHANGED
@@ -612,13 +612,17 @@ are interpolations, so a larger number extrapolates rather than
612
612
  exaggerating, and a streak whose length has passed through zero is drawn
613
613
  as a bar across the whole frame.
614
614
 
615
- Read by the shapes made of many similar things, whether those are counted
616
- or continuous: `streaks`, whose lanes draw a speed, a length, a width, a
617
- spacing and a weight apiece; `particles`, whose motes draw a size, a
618
- brightness and a wander; and `rays` and `aurora`, whose fan, bundles and
619
- folds widen or even out. `braid`, `waves` and `flow` have a
620
- single subject and nothing to vary, and `threads` is even on purpose, so on
621
- those four this is inert. */
615
+ Read by four of the eleven shapes, the ones made of many similar things,
616
+ whether those are counted or continuous: `streaks`, whose lanes draw a
617
+ speed, a length, a width, a spacing and a weight apiece; `particles`, whose
618
+ motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
619
+ fan, bundles and folds widen or even out.
620
+
621
+ Inert on the other seven, for three different reasons. `braid`, `waves` and
622
+ `flow` have a single subject and nothing to vary. `threads` and `lattice`
623
+ are even on purpose, a scatter of strands and a regular structure each being
624
+ what it is because its members do not differ. `caustics` and `fracture` are
625
+ populations this does not reach, which is a gap rather than a refusal. */
622
626
  variance?: (HelixAura["variance"]) | undefined;
623
627
  /** Which form the light takes. Absent is `braid`.
624
628
 
@@ -982,7 +986,15 @@ export type HelixBreadcrumbsVueProps = {};
982
986
  export type HelixBreadcrumbsVueEvents = {};
983
987
 
984
988
  export type HelixButtonGroupVueProps = {
985
- /** Whether the buttons are one bar or a spaced row. */
989
+ /** Whether the buttons are one bar or a spaced row.
990
+
991
+ Joined by default: one control made of parts, sharing borders, reading as a
992
+ segmented bar.
993
+
994
+ `spaced` is the same set with air between them, for a row of related but
995
+ separate actions. The semantics and the joining are separate questions:
996
+ `role="group"` and a shared name are what make a set of buttons a set, and
997
+ `helix-flex` gives the spacing without the group. */
986
998
  variant?: (HelixButtonGroup["variant"]) | undefined;
987
999
  /** Accessible name for the group.
988
1000
 
@@ -1546,7 +1558,7 @@ case is the absent attribute, and the styles read it that way. */
1546
1558
  };
1547
1559
 
1548
1560
  export type HelixCarouselVueEvents = {
1549
- /** Fired when the slide in view changes, with its index. Cancelable: refusing it takes the decision and nothing moves. */
1561
+ /** Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`. */
1550
1562
  "helix-select": HelixCarouselHelixSelectElementEvent;
1551
1563
  };
1552
1564
 
@@ -3386,9 +3398,36 @@ export type HelixDialogHelixBeforeOpenElementEvent =
3386
3398
  HelixDialogElementEvent<HelixBeforeOpenEvent>;
3387
3399
 
3388
3400
  export type HelixDialogVueProps = {
3389
- /** Whether the panel's contents run from the start or center on it. */
3401
+ /** Which way the panel's contents read.
3402
+
3403
+ One property for the whole panel rather than one per region. The regions are
3404
+ never mixed in practice: a dialog that asks a short question centers its
3405
+ mark, its title, its sentence and its buttons together, and a dialog holding
3406
+ a form runs all four from the start. Three properties would be three ways to
3407
+ write the same two arrangements, and a fourth way to get one of them wrong.
3408
+
3409
+ Unset is `start` and stays unset, so a reflected default cannot appear on a
3410
+ host whose server output never had it. */
3390
3411
  align?: (HelixDialog["align"]) | undefined;
3391
- /** How wide the panel is allowed to be. */
3412
+ /** How wide the panel is allowed to be.
3413
+
3414
+ Steps rather than a number, because a dialog's width is a fact about what is
3415
+ in it: a confirmation is narrow, a form is not, and picking pixels per
3416
+ dialog is how a product ends up with nine of them. `full` takes the viewport
3417
+ less the same inset every step already stops short by, so a takeover is one
3418
+ more rung and not a second property.
3419
+
3420
+ Unset is `md`, read as `:host(:not([size]))` beside `:host([size="md"])`
3421
+ rather than assigned here, for the reason `Drawer.placement` gives: this
3422
+ reflects, and a default would put `size="md"` into markup no consumer wrote.
3423
+
3424
+ `size` is right despite the rule that controls have no size, because that
3425
+ rule's own test is whether two of them sitting together could legitimately
3426
+ differ, and it is answering "a ragged row is unwritable". Two dialogs never
3427
+ sit together. One is on screen at a time, in the top layer, and it is the
3428
+ region rather than a control in one, which is the same reason `Avatar` and
3429
+ `Spinner` keep theirs. Not `appearance`, which says how a thing reads
3430
+ rather than how wide it is. */
3392
3431
  size?: (HelixDialog["size"]) | undefined;
3393
3432
  /** Whether the element is open.
3394
3433
 
@@ -9993,7 +10032,35 @@ export type HelixVideoHelixPreviousElementEvent =
9993
10032
  HelixVideoElementEvent<HelixPreviousEvent>;
9994
10033
 
9995
10034
  export type HelixVideoVueProps = {
9996
- /** Whether the bar floats on the picture or sits on its own ground. */
10035
+ /** How the control bar sits on the picture.
10036
+
10037
+ `separation` and not `emphasis`: all three states say what the bar sits on,
10038
+ which is where it separates from the picture, rather than how loud it is.
10039
+
10040
+ Absent is the default and is what a player looks like, and what the
10041
+ platform's own controls do: they float on a gradient that fades up into the
10042
+ picture, dark enough to read them against a bright frame and gone entirely
10043
+ a little higher up. The picture runs edge to edge behind them. It has no
10044
+ name because it is the resting treatment.
10045
+
10046
+ `filled` gives the controls a bar of their own, which is what a video
10047
+ embedded in a document usually wants, where the player is a component on a
10048
+ page rather than the page itself. It stays put rather than fading, because
10049
+ a bar that is part of the frame would leave a strip of the well behind it.
10050
+
10051
+ `plain` is neither: the controls sit straight on the picture with nothing
10052
+ behind them. For a consumer who knows their footage, or who is putting
10053
+ their own ground there.
10054
+
10055
+ A presentation property, so it lives on this tier. The headless element renders
10056
+ the same bar for all three.
10057
+
10058
+ **Optional rather than defaulted, which is not a style preference.** A
10059
+ reflecting property with a default writes its attribute onto every host the
10060
+ moment the element upgrades, including the ones a consumer rendered and did
10061
+ not touch, and React reads that as a hydration mismatch. The absent
10062
+ attribute *is* the shadow, which the stylesheet reads as the base rule, so
10063
+ only the departure has to be named. */
9997
10064
  separation?: (HelixVideo["separation"]) | undefined;
9998
10065
  /** Whether it starts on its own, which a browser only allows while silent.
9999
10066