@fusion.dev/helix-headless 0.50.0 → 0.52.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
@@ -1861,6 +1861,29 @@ attribute is the one answer to how wide a pane is.
1861
1861
  A value the track cannot honor is taken to the nearest one it can, by
1862
1862
  `across`, and both tiers read that rather than this.
1863
1863
 
1864
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
1865
+ apiece, and nothing is written onto the track: the count is the sheet's,
1866
+ and the sheet's alone, because it is the one number here CSS can work out
1867
+ for itself. Everything it takes is a length the sheet already has, so the
1868
+ panes are laid out at their final width by the first rule that runs, on a
1869
+ server's markup as on the client's, and no script is waited on. That is the
1870
+ whole reason a declared count was ever the only option: a carousel that
1871
+ asks how wide its container is can only ask on the client, so the panes go
1872
+ down at one width and move to another when the answer arrives. Written
1873
+ inline the count would outrank the sheet that computes it, which is why an
1874
+ `auto` track is handed nothing. A count stays for the design that calls for
1875
+ exactly three.
1876
+
1877
+ The styled sheet says how it divides, and the headless `auto` example
1878
+ carries the same three lines for a consumer writing their own.
1879
+
1880
+ **A value rather than the resting behavior**, which is what the
1881
+ responsiveness policy asks of every axis that a box decides: a splitter
1882
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
1883
+ changes what the carousel *does*, since how many are across is how many
1884
+ places the track can stop, so a carousel that had not asked for it would
1885
+ find its position count moving with the window.
1886
+
1864
1887
  No default, because it reflects. A reflected property with a value writes
1865
1888
  its attribute on upgrade, and the host then carries something a consumer's
1866
1889
  server markup never had, which React reports as a mismatch. The one-across
@@ -1898,6 +1921,29 @@ attribute is the one answer to how wide a pane is.
1898
1921
  A value the track cannot honor is taken to the nearest one it can, by
1899
1922
  `across`, and both tiers read that rather than this.
1900
1923
 
1924
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
1925
+ apiece, and nothing is written onto the track: the count is the sheet's,
1926
+ and the sheet's alone, because it is the one number here CSS can work out
1927
+ for itself. Everything it takes is a length the sheet already has, so the
1928
+ panes are laid out at their final width by the first rule that runs, on a
1929
+ server's markup as on the client's, and no script is waited on. That is the
1930
+ whole reason a declared count was ever the only option: a carousel that
1931
+ asks how wide its container is can only ask on the client, so the panes go
1932
+ down at one width and move to another when the answer arrives. Written
1933
+ inline the count would outrank the sheet that computes it, which is why an
1934
+ `auto` track is handed nothing. A count stays for the design that calls for
1935
+ exactly three.
1936
+
1937
+ The styled sheet says how it divides, and the headless `auto` example
1938
+ carries the same three lines for a consumer writing their own.
1939
+
1940
+ **A value rather than the resting behavior**, which is what the
1941
+ responsiveness policy asks of every axis that a box decides: a splitter
1942
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
1943
+ changes what the carousel *does*, since how many are across is how many
1944
+ places the track can stop, so a carousel that had not asked for it would
1945
+ find its position count moving with the window.
1946
+
1901
1947
  No default, because it reflects. A reflected property with a value writes
1902
1948
  its attribute on upgrade, and the host then carries something a consumer's
1903
1949
  server markup never had, which React reports as a mismatch. The one-across
@@ -2004,6 +2050,29 @@ attribute is the one answer to how wide a pane is.
2004
2050
  A value the track cannot honor is taken to the nearest one it can, by
2005
2051
  `across`, and both tiers read that rather than this.
2006
2052
 
2053
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
2054
+ apiece, and nothing is written onto the track: the count is the sheet's,
2055
+ and the sheet's alone, because it is the one number here CSS can work out
2056
+ for itself. Everything it takes is a length the sheet already has, so the
2057
+ panes are laid out at their final width by the first rule that runs, on a
2058
+ server's markup as on the client's, and no script is waited on. That is the
2059
+ whole reason a declared count was ever the only option: a carousel that
2060
+ asks how wide its container is can only ask on the client, so the panes go
2061
+ down at one width and move to another when the answer arrives. Written
2062
+ inline the count would outrank the sheet that computes it, which is why an
2063
+ `auto` track is handed nothing. A count stays for the design that calls for
2064
+ exactly three.
2065
+
2066
+ The styled sheet says how it divides, and the headless `auto` example
2067
+ carries the same three lines for a consumer writing their own.
2068
+
2069
+ **A value rather than the resting behavior**, which is what the
2070
+ responsiveness policy asks of every axis that a box decides: a splitter
2071
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
2072
+ changes what the carousel *does*, since how many are across is how many
2073
+ places the track can stop, so a carousel that had not asked for it would
2074
+ find its position count moving with the window.
2075
+
2007
2076
  No default, because it reflects. A reflected property with a value writes
2008
2077
  its attribute on upgrade, and the host then carries something a consumer's
2009
2078
  server markup never had, which React reports as a mismatch. The one-across
@@ -2041,6 +2110,29 @@ attribute is the one answer to how wide a pane is.
2041
2110
  A value the track cannot honor is taken to the nearest one it can, by
2042
2111
  `across`, and both tiers read that rather than this.
2043
2112
 
2113
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
2114
+ apiece, and nothing is written onto the track: the count is the sheet's,
2115
+ and the sheet's alone, because it is the one number here CSS can work out
2116
+ for itself. Everything it takes is a length the sheet already has, so the
2117
+ panes are laid out at their final width by the first rule that runs, on a
2118
+ server's markup as on the client's, and no script is waited on. That is the
2119
+ whole reason a declared count was ever the only option: a carousel that
2120
+ asks how wide its container is can only ask on the client, so the panes go
2121
+ down at one width and move to another when the answer arrives. Written
2122
+ inline the count would outrank the sheet that computes it, which is why an
2123
+ `auto` track is handed nothing. A count stays for the design that calls for
2124
+ exactly three.
2125
+
2126
+ The styled sheet says how it divides, and the headless `auto` example
2127
+ carries the same three lines for a consumer writing their own.
2128
+
2129
+ **A value rather than the resting behavior**, which is what the
2130
+ responsiveness policy asks of every axis that a box decides: a splitter
2131
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
2132
+ changes what the carousel *does*, since how many are across is how many
2133
+ places the track can stop, so a carousel that had not asked for it would
2134
+ find its position count moving with the window.
2135
+
2044
2136
  No default, because it reflects. A reflected property with a value writes
2045
2137
  its attribute on upgrade, and the host then carries something a consumer's
2046
2138
  server markup never had, which React reports as a mismatch. The one-across
@@ -13358,11 +13450,11 @@ has an honest answer. */
13358
13450
  /** How far one arrow press moves it, as a percentage. */
13359
13451
  step?: (HelixHeadlessSplitter["step"]) | undefined;
13360
13452
 
13361
- /** Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
13453
+ /** Fired before a pane shuts or reopens, whether or not the resize that reached it was allowed, and carrying its own position: a shut pane sits at `collapsed-size` rather than at the number the resize named. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
13362
13454
  "onhelix-before-collapse"?: ((
13363
13455
  e: HelixHeadlessSplitterHelixBeforeCollapseElementEvent,
13364
13456
  ) => void) | undefined;
13365
- /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
13457
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the position and leaves the rest of the gesture, so a collapse the gesture reached is still announced and still yours to refuse. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
13366
13458
  "onhelix-before-resize"?: ((
13367
13459
  e: HelixHeadlessSplitterHelixBeforeResizeElementEvent,
13368
13460
  ) => void) | undefined;
@@ -13462,11 +13554,11 @@ has an honest answer. */
13462
13554
  "prop:orientation"?: (HelixHeadlessSplitter["orientation"]) | undefined;
13463
13555
  /** How far one arrow press moves it, as a percentage. */
13464
13556
  "prop:step"?: (HelixHeadlessSplitter["step"]) | undefined;
13465
- /** Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
13557
+ /** Fired before a pane shuts or reopens, whether or not the resize that reached it was allowed, and carrying its own position: a shut pane sits at `collapsed-size` rather than at the number the resize named. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
13466
13558
  "on:helix-before-collapse"?: ((
13467
13559
  e: HelixHeadlessSplitterHelixBeforeCollapseElementEvent,
13468
13560
  ) => void) | undefined;
13469
- /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
13561
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the position and leaves the rest of the gesture, so a collapse the gesture reached is still announced and still yours to refuse. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
13470
13562
  "on:helix-before-resize"?: ((
13471
13563
  e: HelixHeadlessSplitterHelixBeforeResizeElementEvent,
13472
13564
  ) => void) | undefined;
@@ -19516,6 +19608,29 @@ export type CustomElements = {
19516
19608
  * A value the track cannot honor is taken to the nearest one it can, by
19517
19609
  * `across`, and both tiers read that rather than this.
19518
19610
  *
19611
+ * **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
19612
+ * apiece, and nothing is written onto the track: the count is the sheet's,
19613
+ * and the sheet's alone, because it is the one number here CSS can work out
19614
+ * for itself. Everything it takes is a length the sheet already has, so the
19615
+ * panes are laid out at their final width by the first rule that runs, on a
19616
+ * server's markup as on the client's, and no script is waited on. That is the
19617
+ * whole reason a declared count was ever the only option: a carousel that
19618
+ * asks how wide its container is can only ask on the client, so the panes go
19619
+ * down at one width and move to another when the answer arrives. Written
19620
+ * inline the count would outrank the sheet that computes it, which is why an
19621
+ * `auto` track is handed nothing. A count stays for the design that calls for
19622
+ * exactly three.
19623
+ *
19624
+ * The styled sheet says how it divides, and the headless `auto` example
19625
+ * carries the same three lines for a consumer writing their own.
19626
+ *
19627
+ * **A value rather than the resting behavior**, which is what the
19628
+ * responsiveness policy asks of every axis that a box decides: a splitter
19629
+ * turns on `orientation="auto"` and a plain one does not turn at all. Fitting
19630
+ * changes what the carousel *does*, since how many are across is how many
19631
+ * places the track can stop, so a carousel that had not asked for it would
19632
+ * find its position count moving with the window.
19633
+ *
19519
19634
  * No default, because it reflects. A reflected property with a value writes
19520
19635
  * its attribute on upgrade, and the host then carries something a consumer's
19521
19636
  * server markup never had, which React reports as a mismatch. The one-across
@@ -19525,7 +19640,11 @@ export type CustomElements = {
19525
19640
  * A window of `perView` slides sliding one at a time over `n` of them stops
19526
19641
  * `n - perView + 1` times, so six slides four across is three: 0 to 3, 1 to 4,
19527
19642
  * 2 to 5. One at minimum, since a carousel showing everything it has still
19528
- * has the one place to be. (property only) (readonly)
19643
+ * has the one place to be.
19644
+ *
19645
+ * One across until a fitted track has been laid out, which is the same answer
19646
+ * a carousel that has never been told anything gives, and the dots are
19647
+ * withheld rather than counted from it. See `across`. (property only) (readonly)
19529
19648
  * - `slides`: The slides, in light-DOM order. Empty on the server, which has no tree. (property only) (readonly)
19530
19649
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
19531
19650
  *
@@ -19572,8 +19691,9 @@ export type CustomElements = {
19572
19691
  *
19573
19692
  * - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
19574
19693
  * - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
19575
- * - `--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`)
19694
+ * - `--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. Under `per-view="auto"` the component writes nothing and the sheet declares it instead, so the same name answers in both modes. See `perView`. (default: `undefined`)
19576
19695
  * - `--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`)
19696
+ * - `--carousel-slide-min`: The narrowest a slide may be laid out, which is what `per-view="auto"` fits the track with. A length, since the sheet divides by it. Unset is the whole track, which is one across. (default: `undefined`)
19577
19697
  *
19578
19698
  * ## CSS Parts
19579
19699
  *
@@ -31067,10 +31187,12 @@ export type CustomElements = {
31067
31187
  * **A pane can be shut, and that is not the same as a divider at the edge.**
31068
31188
  * The geometry is identical and the knowledge is not: only a shut pane knows
31069
31189
  * where to open back to. So `collapsed` is a second state rather than a reading
31070
- * of the position, and the position it opens to is the one collapsing never
31071
- * overwrote. `collapsed-size` keeps a sliver showing where a pane has a tab
31072
- * strip worth leaving, and collapse overrides `min` and `max`, which is what
31073
- * those are for.
31190
+ * of the position, and the position it opens to is where the gesture that shut
31191
+ * it began, whichever gesture that was: a drag takes its reading on the press,
31192
+ * and every other door takes it in `settle`, nothing having been applied there
31193
+ * yet. `collapsed-size` keeps a sliver showing where a pane has a tab strip
31194
+ * worth leaving, and collapse overrides `min` and `max`, which is what those
31195
+ * are for.
31074
31196
  *
31075
31197
  * ## Attributes & Properties
31076
31198
  *
@@ -31175,8 +31297,8 @@ export type CustomElements = {
31175
31297
  *
31176
31298
  * Events that will be emitted by the component.
31177
31299
  *
31178
- * - `helix-before-collapse`: Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
31179
- * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
31300
+ * - `helix-before-collapse`: Fired before a pane shuts or reopens, whether or not the resize that reached it was allowed, and carrying its own position: a shut pane sits at `collapsed-size` rather than at the number the resize named. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
31301
+ * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the position and leaves the rest of the gesture, so a collapse the gesture reached is still announced and still yours to refuse. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
31180
31302
  *
31181
31303
  * ## Slots
31182
31304
  *
@@ -37403,6 +37525,29 @@ export type CustomElementsSolidJs = {
37403
37525
  * A value the track cannot honor is taken to the nearest one it can, by
37404
37526
  * `across`, and both tiers read that rather than this.
37405
37527
  *
37528
+ * **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
37529
+ * apiece, and nothing is written onto the track: the count is the sheet's,
37530
+ * and the sheet's alone, because it is the one number here CSS can work out
37531
+ * for itself. Everything it takes is a length the sheet already has, so the
37532
+ * panes are laid out at their final width by the first rule that runs, on a
37533
+ * server's markup as on the client's, and no script is waited on. That is the
37534
+ * whole reason a declared count was ever the only option: a carousel that
37535
+ * asks how wide its container is can only ask on the client, so the panes go
37536
+ * down at one width and move to another when the answer arrives. Written
37537
+ * inline the count would outrank the sheet that computes it, which is why an
37538
+ * `auto` track is handed nothing. A count stays for the design that calls for
37539
+ * exactly three.
37540
+ *
37541
+ * The styled sheet says how it divides, and the headless `auto` example
37542
+ * carries the same three lines for a consumer writing their own.
37543
+ *
37544
+ * **A value rather than the resting behavior**, which is what the
37545
+ * responsiveness policy asks of every axis that a box decides: a splitter
37546
+ * turns on `orientation="auto"` and a plain one does not turn at all. Fitting
37547
+ * changes what the carousel *does*, since how many are across is how many
37548
+ * places the track can stop, so a carousel that had not asked for it would
37549
+ * find its position count moving with the window.
37550
+ *
37406
37551
  * No default, because it reflects. A reflected property with a value writes
37407
37552
  * its attribute on upgrade, and the host then carries something a consumer's
37408
37553
  * server markup never had, which React reports as a mismatch. The one-across
@@ -37412,7 +37557,11 @@ export type CustomElementsSolidJs = {
37412
37557
  * A window of `perView` slides sliding one at a time over `n` of them stops
37413
37558
  * `n - perView + 1` times, so six slides four across is three: 0 to 3, 1 to 4,
37414
37559
  * 2 to 5. One at minimum, since a carousel showing everything it has still
37415
- * has the one place to be. (property only) (readonly)
37560
+ * has the one place to be.
37561
+ *
37562
+ * One across until a fitted track has been laid out, which is the same answer
37563
+ * a carousel that has never been told anything gives, and the dots are
37564
+ * withheld rather than counted from it. See `across`. (property only) (readonly)
37416
37565
  * - `slides`: The slides, in light-DOM order. Empty on the server, which has no tree. (property only) (readonly)
37417
37566
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
37418
37567
  *
@@ -37459,8 +37608,9 @@ export type CustomElementsSolidJs = {
37459
37608
  *
37460
37609
  * - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
37461
37610
  * - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
37462
- * - `--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`)
37611
+ * - `--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. Under `per-view="auto"` the component writes nothing and the sheet declares it instead, so the same name answers in both modes. See `perView`. (default: `undefined`)
37463
37612
  * - `--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`)
37613
+ * - `--carousel-slide-min`: The narrowest a slide may be laid out, which is what `per-view="auto"` fits the track with. A length, since the sheet divides by it. Unset is the whole track, which is one across. (default: `undefined`)
37464
37614
  *
37465
37615
  * ## CSS Parts
37466
37616
  *
@@ -49121,10 +49271,12 @@ export type CustomElementsSolidJs = {
49121
49271
  * **A pane can be shut, and that is not the same as a divider at the edge.**
49122
49272
  * The geometry is identical and the knowledge is not: only a shut pane knows
49123
49273
  * where to open back to. So `collapsed` is a second state rather than a reading
49124
- * of the position, and the position it opens to is the one collapsing never
49125
- * overwrote. `collapsed-size` keeps a sliver showing where a pane has a tab
49126
- * strip worth leaving, and collapse overrides `min` and `max`, which is what
49127
- * those are for.
49274
+ * of the position, and the position it opens to is where the gesture that shut
49275
+ * it began, whichever gesture that was: a drag takes its reading on the press,
49276
+ * and every other door takes it in `settle`, nothing having been applied there
49277
+ * yet. `collapsed-size` keeps a sliver showing where a pane has a tab strip
49278
+ * worth leaving, and collapse overrides `min` and `max`, which is what those
49279
+ * are for.
49128
49280
  *
49129
49281
  * ## Attributes & Properties
49130
49282
  *
@@ -49229,8 +49381,8 @@ export type CustomElementsSolidJs = {
49229
49381
  *
49230
49382
  * Events that will be emitted by the component.
49231
49383
  *
49232
- * - `helix-before-collapse`: Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
49233
- * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
49384
+ * - `helix-before-collapse`: Fired before a pane shuts or reopens, whether or not the resize that reached it was allowed, and carrying its own position: a shut pane sits at `collapsed-size` rather than at the number the resize named. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
49385
+ * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the position and leaves the rest of the gesture, so a collapse the gesture reached is still announced and still yours to refuse. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
49234
49386
  *
49235
49387
  * ## Slots
49236
49388
  *
@@ -53651,10 +53803,12 @@ export type CustomCssProperties = {
53651
53803
  "--carousel-gap"?: (string) | undefined;
53652
53804
  /** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
53653
53805
  "--carousel-pane"?: (string) | undefined;
53654
- /** 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`. */
53806
+ /** 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. Under `per-view="auto"` the component writes nothing and the sheet declares it instead, so the same name answers in both modes. See `perView`. */
53655
53807
  "--carousel-per-view"?: (string) | undefined;
53656
53808
  /** 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`. */
53657
53809
  "--carousel-run-end"?: (string) | undefined;
53810
+ /** The narrowest a slide may be laid out, which is what `per-view="auto"` fits the track with. A length, since the sheet divides by it. Unset is the whole track, which is one across. */
53811
+ "--carousel-slide-min"?: (string) | undefined;
53658
53812
  /** The chosen color, to paint over the transparency check. */
53659
53813
  "--color-input-swatch"?: (string) | undefined;
53660
53814
  /** The chosen brightness, 0 to 100, as a percentage. */
package/types/vue.d.ts CHANGED
@@ -1006,6 +1006,29 @@ attribute is the one answer to how wide a pane is.
1006
1006
  A value the track cannot honor is taken to the nearest one it can, by
1007
1007
  `across`, and both tiers read that rather than this.
1008
1008
 
1009
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
1010
+ apiece, and nothing is written onto the track: the count is the sheet's,
1011
+ and the sheet's alone, because it is the one number here CSS can work out
1012
+ for itself. Everything it takes is a length the sheet already has, so the
1013
+ panes are laid out at their final width by the first rule that runs, on a
1014
+ server's markup as on the client's, and no script is waited on. That is the
1015
+ whole reason a declared count was ever the only option: a carousel that
1016
+ asks how wide its container is can only ask on the client, so the panes go
1017
+ down at one width and move to another when the answer arrives. Written
1018
+ inline the count would outrank the sheet that computes it, which is why an
1019
+ `auto` track is handed nothing. A count stays for the design that calls for
1020
+ exactly three.
1021
+
1022
+ The styled sheet says how it divides, and the headless `auto` example
1023
+ carries the same three lines for a consumer writing their own.
1024
+
1025
+ **A value rather than the resting behavior**, which is what the
1026
+ responsiveness policy asks of every axis that a box decides: a splitter
1027
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
1028
+ changes what the carousel *does*, since how many are across is how many
1029
+ places the track can stop, so a carousel that had not asked for it would
1030
+ find its position count moving with the window.
1031
+
1009
1032
  No default, because it reflects. A reflected property with a value writes
1010
1033
  its attribute on upgrade, and the host then carries something a consumer's
1011
1034
  server markup never had, which React reports as a mismatch. The one-across
@@ -1043,6 +1066,29 @@ attribute is the one answer to how wide a pane is.
1043
1066
  A value the track cannot honor is taken to the nearest one it can, by
1044
1067
  `across`, and both tiers read that rather than this.
1045
1068
 
1069
+ **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
1070
+ apiece, and nothing is written onto the track: the count is the sheet's,
1071
+ and the sheet's alone, because it is the one number here CSS can work out
1072
+ for itself. Everything it takes is a length the sheet already has, so the
1073
+ panes are laid out at their final width by the first rule that runs, on a
1074
+ server's markup as on the client's, and no script is waited on. That is the
1075
+ whole reason a declared count was ever the only option: a carousel that
1076
+ asks how wide its container is can only ask on the client, so the panes go
1077
+ down at one width and move to another when the answer arrives. Written
1078
+ inline the count would outrank the sheet that computes it, which is why an
1079
+ `auto` track is handed nothing. A count stays for the design that calls for
1080
+ exactly three.
1081
+
1082
+ The styled sheet says how it divides, and the headless `auto` example
1083
+ carries the same three lines for a consumer writing their own.
1084
+
1085
+ **A value rather than the resting behavior**, which is what the
1086
+ responsiveness policy asks of every axis that a box decides: a splitter
1087
+ turns on `orientation="auto"` and a plain one does not turn at all. Fitting
1088
+ changes what the carousel *does*, since how many are across is how many
1089
+ places the track can stop, so a carousel that had not asked for it would
1090
+ find its position count moving with the window.
1091
+
1046
1092
  No default, because it reflects. A reflected property with a value writes
1047
1093
  its attribute on upgrade, and the host then carries something a consumer's
1048
1094
  server markup never had, which React reports as a mismatch. The one-across
@@ -6889,9 +6935,9 @@ has an honest answer. */
6889
6935
  };
6890
6936
 
6891
6937
  export type HelixHeadlessSplitterVueEvents = {
6892
- /** Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
6938
+ /** Fired before a pane shuts or reopens, whether or not the resize that reached it was allowed, and carrying its own position: a shut pane sits at `collapsed-size` rather than at the number the resize named. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
6893
6939
  "helix-before-collapse": HelixHeadlessSplitterHelixBeforeCollapseElementEvent;
6894
- /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
6940
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the position and leaves the rest of the gesture, so a collapse the gesture reached is still announced and still yours to refuse. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
6895
6941
  "helix-before-resize": HelixHeadlessSplitterHelixBeforeResizeElementEvent;
6896
6942
  };
6897
6943
 
@@ -9063,10 +9109,12 @@ export type CustomCssProperties = {
9063
9109
  "--carousel-gap"?: (string) | undefined;
9064
9110
  /** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
9065
9111
  "--carousel-pane"?: (string) | undefined;
9066
- /** 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`. */
9112
+ /** 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. Under `per-view="auto"` the component writes nothing and the sheet declares it instead, so the same name answers in both modes. See `perView`. */
9067
9113
  "--carousel-per-view"?: (string) | undefined;
9068
9114
  /** 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`. */
9069
9115
  "--carousel-run-end"?: (string) | undefined;
9116
+ /** The narrowest a slide may be laid out, which is what `per-view="auto"` fits the track with. A length, since the sheet divides by it. Unset is the whole track, which is one across. */
9117
+ "--carousel-slide-min"?: (string) | undefined;
9070
9118
  /** The chosen color, to paint over the transparency check. */
9071
9119
  "--color-input-swatch"?: (string) | undefined;
9072
9120
  /** The chosen brightness, 0 to 100, as a percentage. */
@@ -9745,7 +9793,7 @@ export interface WcToolkitVueGlobalComponents {
9745
9793
  HelixHeadlessSpeedDialVueProps,
9746
9794
  HelixHeadlessSpeedDialVueEvents
9747
9795
  >;
9748
- /** **One axis, and nesting is how you get two.** A splitter inside a splitter gives back the cross, and gives the three-pane and four-pane arrangements a single divider never had. **Where two of them cross there is a corner, and it moves both.** A splitter slotted into a pane of another, at right angles to it, grows a handle at the crossing: 'move' under the pointer, both arrow axes on the keyboard, and a drag that carries the two positions at once. It appears at 'firstUpdated' rather than in the served markup, being an affordance rather than content, and a splitter with no corner yet is a splitter with two working dividers. **The divider is a real 'role="separator"' with 'aria-valuenow'**, moved by the arrow keys as well as by pointer, with 'Home' and 'End' taking it to its bounds. A drag in progress is a state rather than ':hover', so both dividers a corner moves are lit for as long as it moves them. **It goes where it is put, all the way to either end.** 'min' and 'max' are nothing and everything unless a consumer says otherwise, because a divider that stops short of the edge gives a reader no way to put a pane away. **A pane can be shut, and that is not the same as a divider at the edge.** The geometry is identical and the knowledge is not: only a shut pane knows where to open back to. So 'collapsed' is a second state rather than a reading of the position, and the position it opens to is the one collapsing never overwrote. 'collapsed-size' keeps a sliver showing where a pane has a tab strip worth leaving, and collapse overrides 'min' and 'max', which is what those are for. */
9796
+ /** **One axis, and nesting is how you get two.** A splitter inside a splitter gives back the cross, and gives the three-pane and four-pane arrangements a single divider never had. **Where two of them cross there is a corner, and it moves both.** A splitter slotted into a pane of another, at right angles to it, grows a handle at the crossing: 'move' under the pointer, both arrow axes on the keyboard, and a drag that carries the two positions at once. It appears at 'firstUpdated' rather than in the served markup, being an affordance rather than content, and a splitter with no corner yet is a splitter with two working dividers. **The divider is a real 'role="separator"' with 'aria-valuenow'**, moved by the arrow keys as well as by pointer, with 'Home' and 'End' taking it to its bounds. A drag in progress is a state rather than ':hover', so both dividers a corner moves are lit for as long as it moves them. **It goes where it is put, all the way to either end.** 'min' and 'max' are nothing and everything unless a consumer says otherwise, because a divider that stops short of the edge gives a reader no way to put a pane away. **A pane can be shut, and that is not the same as a divider at the edge.** The geometry is identical and the knowledge is not: only a shut pane knows where to open back to. So 'collapsed' is a second state rather than a reading of the position, and the position it opens to is where the gesture that shut it began, whichever gesture that was: a drag takes its reading on the press, and every other door takes it in 'settle', nothing having been applied there yet. 'collapsed-size' keeps a sliver showing where a pane has a tab strip worth leaving, and collapse overrides 'min' and 'max', which is what those are for. */
9749
9797
  "helix-headless-splitter": DefineCustomElement<
9750
9798
  HelixHeadlessSplitter,
9751
9799
  HelixHeadlessSplitterVueProps,