@fusion.dev/helix-headless 0.49.1 → 0.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +111 -16
- package/dist/carousel/root/carousel-root.d.ts +139 -3
- package/dist/carousel/root/carousel-root.js +80 -6
- package/dist/color-picker/root/color-picker-root.d.ts +7 -1
- package/dist/color-picker/root/color-picker-root.js +3 -0
- package/dist/rating/root/rating-root.d.ts +1 -1
- package/dist/splitter/root/splitter-root.d.ts +29 -14
- package/dist/splitter/root/splitter-root.js +1 -4
- package/dist/time-picker/root/time-picker-root.d.ts +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +203 -17
- package/types/vue.d.ts +65 -5
|
@@ -25,7 +25,7 @@ declare const HelixHeadlessColorPicker_base: (new (...args: any[]) => import("@f
|
|
|
25
25
|
* model once.
|
|
26
26
|
*
|
|
27
27
|
* @since 0.1.0
|
|
28
|
-
* @status
|
|
28
|
+
* @status stable
|
|
29
29
|
* @category forms
|
|
30
30
|
* @aliases Color, ColorArea, Swatch picker
|
|
31
31
|
* @documentation https://fusion.dev/helix/components/color-picker
|
|
@@ -147,6 +147,12 @@ export declare class HelixHeadlessColorPicker extends HelixHeadlessColorPicker_b
|
|
|
147
147
|
* value is requested. Gating only the request would leave the square under
|
|
148
148
|
* the reader's pointer and the value where it was, which is a control that
|
|
149
149
|
* refuses and looks like it accepted.
|
|
150
|
+
*
|
|
151
|
+
* **Two controls are refused whole rather than at either seam**, because
|
|
152
|
+
* both do something before they ask. The syntax toggle rewrites the value, so
|
|
153
|
+
* letting it move would show `rgb` over a hex it is no longer allowed to
|
|
154
|
+
* restate. The eyedropper clears the screen and runs a system sampler, so
|
|
155
|
+
* letting it open would take a color from the reader and drop it.
|
|
150
156
|
*/
|
|
151
157
|
readOnly: boolean;
|
|
152
158
|
/**
|
|
@@ -19,7 +19,7 @@ declare const HelixHeadlessRating_base: (new (...args: any[]) => import("@fusion
|
|
|
19
19
|
* input, and it is announced as one.
|
|
20
20
|
*
|
|
21
21
|
* @since 0.1.0
|
|
22
|
-
* @status
|
|
22
|
+
* @status stable
|
|
23
23
|
* @category forms
|
|
24
24
|
* @aliases Stars, Score, Review score
|
|
25
25
|
* @documentation https://fusion.dev/helix/components/rating
|
|
@@ -41,8 +41,8 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
41
41
|
* @slot end - The pane after it.
|
|
42
42
|
* @slot start - The pane before the divider.
|
|
43
43
|
*
|
|
44
|
-
* @event {HelixBeforeCollapseEvent} helix-before-collapse - Fired before a pane shuts or reopens,
|
|
45
|
-
* @event {HelixBeforeResizeEvent} 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
|
|
44
|
+
* @event {HelixBeforeCollapseEvent} 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.
|
|
45
|
+
* @event {HelixBeforeResizeEvent} 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.
|
|
46
46
|
*
|
|
47
47
|
* @csspart corner - The handle where two dividers cross, added on the client.
|
|
48
48
|
* @csspart end - The box holding the second.
|
|
@@ -331,21 +331,36 @@ export declare class HelixHeadlessSplitter extends HelixElement {
|
|
|
331
331
|
* Through the audited path, so a consumer who owns `position` is told what was
|
|
332
332
|
* asked for and decides, and one who does not has already had it applied.
|
|
333
333
|
*
|
|
334
|
-
* **
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
*
|
|
343
|
-
*
|
|
334
|
+
* **A refused resize ends the resize and not the gesture.** `shutAt` reads the
|
|
335
|
+
* position the gesture ended on, so the collapse is computed from a number the
|
|
336
|
+
* consumer may have declined, and the reading this replaces was that the two
|
|
337
|
+
* are therefore one decision: refuse the first and the second cannot stand.
|
|
338
|
+
* That is a reasonable thing to believe about a splitter nobody else owns, and
|
|
339
|
+
* it takes "no" to mean the gesture is over. What it misses is that a consumer
|
|
340
|
+
* who owns the position refuses in order to *take* the decision, not to end
|
|
341
|
+
* it. The sandbox two folders away refuses every `helix-before-resize` from
|
|
342
|
+
* the splitter inside it, re-announces the same move in its own vocabulary and
|
|
343
|
+
* writes the answer back through `position`, which is what makes it the single
|
|
344
|
+
* decision point; returning on its refusal left `panel-collapsed-size` inert
|
|
345
|
+
* there, the shipped `with-a-panel` example measuring a 0px panel against the
|
|
346
|
+
* 36 its summary promises. So the collapse is reached either way and is
|
|
347
|
+
* refused, or not, on its own.
|
|
348
|
+
*
|
|
349
|
+
* **Which is honest because the collapse carries its own position.** A shut
|
|
350
|
+
* pane sits at `collapsed-size`, which is where `position` reads it from once
|
|
351
|
+
* `collapsed` is set, and never at the number the resize named: refuse a drag
|
|
352
|
+
* to 100 on a splitter with `collapsed-size="10"`, allow the collapse, and the
|
|
353
|
+
* divider is at 90. Nothing writes the refused number either, `requestChange`
|
|
354
|
+
* applying nothing when it is refused and the collapse below writing the open
|
|
355
|
+
* position back over whatever a drag had already drawn, so a consumer who says
|
|
356
|
+
* no to the position and yes to the collapse gets the pane shut and keeps the
|
|
357
|
+
* number they had to reopen to. The two coincide only where `collapsed-size`
|
|
358
|
+
* is zero, and the states differ even there: a shut pane knows where to open
|
|
359
|
+
* back to and a divider parked at the edge does not.
|
|
344
360
|
*
|
|
345
361
|
* Refusing the collapse alone still leaves the resize, which is the other way
|
|
346
362
|
* round and is coherent: the divider goes where the drag put it and the pane
|
|
347
|
-
* is not declared shut.
|
|
348
|
-
* out from under a position they said no to.
|
|
363
|
+
* is not declared shut.
|
|
349
364
|
*
|
|
350
365
|
* **A gesture that moved nothing announces nothing, and this is the one place
|
|
351
366
|
* that can say so.** A change carrying the position the divider already had
|
|
@@ -305,7 +305,7 @@ let HelixHeadlessSplitter = HelixHeadlessSplitter_1 = class HelixHeadlessSplitte
|
|
|
305
305
|
if (wanted === began && shut === this.collapsed) {
|
|
306
306
|
return;
|
|
307
307
|
}
|
|
308
|
-
|
|
308
|
+
requestChange({
|
|
309
309
|
apply: (value) => {
|
|
310
310
|
const previous = this.position;
|
|
311
311
|
this.positionState = value;
|
|
@@ -315,9 +315,6 @@ let HelixHeadlessSplitter = HelixHeadlessSplitter_1 = class HelixHeadlessSplitte
|
|
|
315
315
|
host: this,
|
|
316
316
|
next: wanted,
|
|
317
317
|
});
|
|
318
|
-
if (!moved) {
|
|
319
|
-
return;
|
|
320
|
-
}
|
|
321
318
|
if (shut !== this.collapsed) {
|
|
322
319
|
requestChange({
|
|
323
320
|
apply: (value) => {
|
|
@@ -57,7 +57,7 @@ declare const HelixHeadlessTimePicker_base: (new (...args: any[]) => import("@fu
|
|
|
57
57
|
* wheels, a wheel being a listbox like the list is.
|
|
58
58
|
*
|
|
59
59
|
* @since 0.1.0
|
|
60
|
-
* @status
|
|
60
|
+
* @status stable
|
|
61
61
|
* @category forms
|
|
62
62
|
* @aliases Time, TimeList
|
|
63
63
|
* @documentation https://fusion.dev/helix/components/time-picker
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-headless",
|
|
3
3
|
"description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.51.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
},
|
|
47
47
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@fusion.dev/helix-core": "0.
|
|
50
|
-
"@fusion.dev/helix-icons": "0.
|
|
49
|
+
"@fusion.dev/helix-core": "0.51.0",
|
|
50
|
+
"@fusion.dev/helix-icons": "0.51.0",
|
|
51
51
|
"uqr": "^0.1.3"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
55
|
-
"@fusion.dev/helix-cem": "0.
|
|
56
|
-
"@fusion.dev/helix-testing": "0.
|
|
55
|
+
"@fusion.dev/helix-cem": "0.51.0",
|
|
56
|
+
"@fusion.dev/helix-testing": "0.51.0",
|
|
57
57
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
58
58
|
"@happy-dom/global-registrator": "^20.0.0",
|
|
59
59
|
"@lit-labs/ssr": "^4.1.0",
|
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
|
|
@@ -3172,7 +3264,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
|
|
|
3172
3264
|
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3173
3265
|
value is requested. Gating only the request would leave the square under
|
|
3174
3266
|
the reader's pointer and the value where it was, which is a control that
|
|
3175
|
-
refuses and looks like it accepted.
|
|
3267
|
+
refuses and looks like it accepted.
|
|
3268
|
+
|
|
3269
|
+
**Two controls are refused whole rather than at either seam**, because
|
|
3270
|
+
both do something before they ask. The syntax toggle rewrites the value, so
|
|
3271
|
+
letting it move would show `rgb` over a hex it is no longer allowed to
|
|
3272
|
+
restate. The eyedropper clears the screen and runs a system sampler, so
|
|
3273
|
+
letting it open would take a color from the reader and drop it. */
|
|
3176
3274
|
readonly?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3177
3275
|
/** Whether the control refuses changes while still submitting its value.
|
|
3178
3276
|
|
|
@@ -3191,7 +3289,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
|
|
|
3191
3289
|
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3192
3290
|
value is requested. Gating only the request would leave the square under
|
|
3193
3291
|
the reader's pointer and the value where it was, which is a control that
|
|
3194
|
-
refuses and looks like it accepted.
|
|
3292
|
+
refuses and looks like it accepted.
|
|
3293
|
+
|
|
3294
|
+
**Two controls are refused whole rather than at either seam**, because
|
|
3295
|
+
both do something before they ask. The syntax toggle rewrites the value, so
|
|
3296
|
+
letting it move would show `rgb` over a hex it is no longer allowed to
|
|
3297
|
+
restate. The eyedropper clears the screen and runs a system sampler, so
|
|
3298
|
+
letting it open would take a color from the reader and drop it. */
|
|
3195
3299
|
readOnly?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3196
3300
|
/** Whether the form refuses to submit while no color is chosen.
|
|
3197
3301
|
|
|
@@ -3353,7 +3457,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
|
|
|
3353
3457
|
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3354
3458
|
value is requested. Gating only the request would leave the square under
|
|
3355
3459
|
the reader's pointer and the value where it was, which is a control that
|
|
3356
|
-
refuses and looks like it accepted.
|
|
3460
|
+
refuses and looks like it accepted.
|
|
3461
|
+
|
|
3462
|
+
**Two controls are refused whole rather than at either seam**, because
|
|
3463
|
+
both do something before they ask. The syntax toggle rewrites the value, so
|
|
3464
|
+
letting it move would show `rgb` over a hex it is no longer allowed to
|
|
3465
|
+
restate. The eyedropper clears the screen and runs a system sampler, so
|
|
3466
|
+
letting it open would take a color from the reader and drop it. */
|
|
3357
3467
|
"bool:readonly"?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3358
3468
|
/** Whether the control refuses changes while still submitting its value.
|
|
3359
3469
|
|
|
@@ -3372,7 +3482,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
|
|
|
3372
3482
|
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3373
3483
|
value is requested. Gating only the request would leave the square under
|
|
3374
3484
|
the reader's pointer and the value where it was, which is a control that
|
|
3375
|
-
refuses and looks like it accepted.
|
|
3485
|
+
refuses and looks like it accepted.
|
|
3486
|
+
|
|
3487
|
+
**Two controls are refused whole rather than at either seam**, because
|
|
3488
|
+
both do something before they ask. The syntax toggle rewrites the value, so
|
|
3489
|
+
letting it move would show `rgb` over a hex it is no longer allowed to
|
|
3490
|
+
restate. The eyedropper clears the screen and runs a system sampler, so
|
|
3491
|
+
letting it open would take a color from the reader and drop it. */
|
|
3376
3492
|
"prop:readOnly"?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3377
3493
|
/** Whether the form refuses to submit while no color is chosen.
|
|
3378
3494
|
|
|
@@ -13334,11 +13450,11 @@ has an honest answer. */
|
|
|
13334
13450
|
/** How far one arrow press moves it, as a percentage. */
|
|
13335
13451
|
step?: (HelixHeadlessSplitter["step"]) | undefined;
|
|
13336
13452
|
|
|
13337
|
-
/** Fired before a pane shuts or reopens,
|
|
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. */
|
|
13338
13454
|
"onhelix-before-collapse"?: ((
|
|
13339
13455
|
e: HelixHeadlessSplitterHelixBeforeCollapseElementEvent,
|
|
13340
13456
|
) => void) | undefined;
|
|
13341
|
-
/** 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
|
|
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. */
|
|
13342
13458
|
"onhelix-before-resize"?: ((
|
|
13343
13459
|
e: HelixHeadlessSplitterHelixBeforeResizeElementEvent,
|
|
13344
13460
|
) => void) | undefined;
|
|
@@ -13438,11 +13554,11 @@ has an honest answer. */
|
|
|
13438
13554
|
"prop:orientation"?: (HelixHeadlessSplitter["orientation"]) | undefined;
|
|
13439
13555
|
/** How far one arrow press moves it, as a percentage. */
|
|
13440
13556
|
"prop:step"?: (HelixHeadlessSplitter["step"]) | undefined;
|
|
13441
|
-
/** Fired before a pane shuts or reopens,
|
|
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. */
|
|
13442
13558
|
"on:helix-before-collapse"?: ((
|
|
13443
13559
|
e: HelixHeadlessSplitterHelixBeforeCollapseElementEvent,
|
|
13444
13560
|
) => void) | undefined;
|
|
13445
|
-
/** 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
|
|
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. */
|
|
13446
13562
|
"on:helix-before-resize"?: ((
|
|
13447
13563
|
e: HelixHeadlessSplitterHelixBeforeResizeElementEvent,
|
|
13448
13564
|
) => void) | undefined;
|
|
@@ -19492,6 +19608,29 @@ export type CustomElements = {
|
|
|
19492
19608
|
* A value the track cannot honor is taken to the nearest one it can, by
|
|
19493
19609
|
* `across`, and both tiers read that rather than this.
|
|
19494
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
|
+
*
|
|
19495
19634
|
* No default, because it reflects. A reflected property with a value writes
|
|
19496
19635
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
19497
19636
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -19501,7 +19640,11 @@ export type CustomElements = {
|
|
|
19501
19640
|
* A window of `perView` slides sliding one at a time over `n` of them stops
|
|
19502
19641
|
* `n - perView + 1` times, so six slides four across is three: 0 to 3, 1 to 4,
|
|
19503
19642
|
* 2 to 5. One at minimum, since a carousel showing everything it has still
|
|
19504
|
-
* has the one place to be.
|
|
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)
|
|
19505
19648
|
* - `slides`: The slides, in light-DOM order. Empty on the server, which has no tree. (property only) (readonly)
|
|
19506
19649
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
19507
19650
|
*
|
|
@@ -19548,8 +19691,9 @@ export type CustomElements = {
|
|
|
19548
19691
|
*
|
|
19549
19692
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
19550
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`)
|
|
19551
|
-
* - `--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`)
|
|
19552
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`)
|
|
19553
19697
|
*
|
|
19554
19698
|
* ## CSS Parts
|
|
19555
19699
|
*
|
|
@@ -20880,6 +21024,12 @@ export type CustomElements = {
|
|
|
20880
21024
|
* value is requested. Gating only the request would leave the square under
|
|
20881
21025
|
* the reader's pointer and the value where it was, which is a control that
|
|
20882
21026
|
* refuses and looks like it accepted.
|
|
21027
|
+
*
|
|
21028
|
+
* **Two controls are refused whole rather than at either seam**, because
|
|
21029
|
+
* both do something before they ask. The syntax toggle rewrites the value, so
|
|
21030
|
+
* letting it move would show `rgb` over a hex it is no longer allowed to
|
|
21031
|
+
* restate. The eyedropper clears the screen and runs a system sampler, so
|
|
21032
|
+
* letting it open would take a color from the reader and drop it.
|
|
20883
21033
|
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
20884
21034
|
*
|
|
20885
21035
|
* **A color is exactly as requirable as a date**, which is the comparison
|
|
@@ -31145,8 +31295,8 @@ export type CustomElements = {
|
|
|
31145
31295
|
*
|
|
31146
31296
|
* Events that will be emitted by the component.
|
|
31147
31297
|
*
|
|
31148
|
-
* - `helix-before-collapse`: Fired before a pane shuts or reopens,
|
|
31149
|
-
* - `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
|
|
31298
|
+
* - `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.
|
|
31299
|
+
* - `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.
|
|
31150
31300
|
*
|
|
31151
31301
|
* ## Slots
|
|
31152
31302
|
*
|
|
@@ -37373,6 +37523,29 @@ export type CustomElementsSolidJs = {
|
|
|
37373
37523
|
* A value the track cannot honor is taken to the nearest one it can, by
|
|
37374
37524
|
* `across`, and both tiers read that rather than this.
|
|
37375
37525
|
*
|
|
37526
|
+
* **`auto` fits as many as the track can hold**, at `--carousel-slide-min`
|
|
37527
|
+
* apiece, and nothing is written onto the track: the count is the sheet's,
|
|
37528
|
+
* and the sheet's alone, because it is the one number here CSS can work out
|
|
37529
|
+
* for itself. Everything it takes is a length the sheet already has, so the
|
|
37530
|
+
* panes are laid out at their final width by the first rule that runs, on a
|
|
37531
|
+
* server's markup as on the client's, and no script is waited on. That is the
|
|
37532
|
+
* whole reason a declared count was ever the only option: a carousel that
|
|
37533
|
+
* asks how wide its container is can only ask on the client, so the panes go
|
|
37534
|
+
* down at one width and move to another when the answer arrives. Written
|
|
37535
|
+
* inline the count would outrank the sheet that computes it, which is why an
|
|
37536
|
+
* `auto` track is handed nothing. A count stays for the design that calls for
|
|
37537
|
+
* exactly three.
|
|
37538
|
+
*
|
|
37539
|
+
* The styled sheet says how it divides, and the headless `auto` example
|
|
37540
|
+
* carries the same three lines for a consumer writing their own.
|
|
37541
|
+
*
|
|
37542
|
+
* **A value rather than the resting behavior**, which is what the
|
|
37543
|
+
* responsiveness policy asks of every axis that a box decides: a splitter
|
|
37544
|
+
* turns on `orientation="auto"` and a plain one does not turn at all. Fitting
|
|
37545
|
+
* changes what the carousel *does*, since how many are across is how many
|
|
37546
|
+
* places the track can stop, so a carousel that had not asked for it would
|
|
37547
|
+
* find its position count moving with the window.
|
|
37548
|
+
*
|
|
37376
37549
|
* No default, because it reflects. A reflected property with a value writes
|
|
37377
37550
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
37378
37551
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -37382,7 +37555,11 @@ export type CustomElementsSolidJs = {
|
|
|
37382
37555
|
* A window of `perView` slides sliding one at a time over `n` of them stops
|
|
37383
37556
|
* `n - perView + 1` times, so six slides four across is three: 0 to 3, 1 to 4,
|
|
37384
37557
|
* 2 to 5. One at minimum, since a carousel showing everything it has still
|
|
37385
|
-
* has the one place to be.
|
|
37558
|
+
* has the one place to be.
|
|
37559
|
+
*
|
|
37560
|
+
* One across until a fitted track has been laid out, which is the same answer
|
|
37561
|
+
* a carousel that has never been told anything gives, and the dots are
|
|
37562
|
+
* withheld rather than counted from it. See `across`. (property only) (readonly)
|
|
37386
37563
|
* - `slides`: The slides, in light-DOM order. Empty on the server, which has no tree. (property only) (readonly)
|
|
37387
37564
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
37388
37565
|
*
|
|
@@ -37429,8 +37606,9 @@ export type CustomElementsSolidJs = {
|
|
|
37429
37606
|
*
|
|
37430
37607
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
37431
37608
|
* - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
37432
|
-
* - `--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`)
|
|
37609
|
+
* - `--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`)
|
|
37433
37610
|
* - `--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`)
|
|
37611
|
+
* - `--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`)
|
|
37434
37612
|
*
|
|
37435
37613
|
* ## CSS Parts
|
|
37436
37614
|
*
|
|
@@ -38780,6 +38958,12 @@ export type CustomElementsSolidJs = {
|
|
|
38780
38958
|
* value is requested. Gating only the request would leave the square under
|
|
38781
38959
|
* the reader's pointer and the value where it was, which is a control that
|
|
38782
38960
|
* refuses and looks like it accepted.
|
|
38961
|
+
*
|
|
38962
|
+
* **Two controls are refused whole rather than at either seam**, because
|
|
38963
|
+
* both do something before they ask. The syntax toggle rewrites the value, so
|
|
38964
|
+
* letting it move would show `rgb` over a hex it is no longer allowed to
|
|
38965
|
+
* restate. The eyedropper clears the screen and runs a system sampler, so
|
|
38966
|
+
* letting it open would take a color from the reader and drop it.
|
|
38783
38967
|
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
38784
38968
|
*
|
|
38785
38969
|
* **A color is exactly as requirable as a date**, which is the comparison
|
|
@@ -49193,8 +49377,8 @@ export type CustomElementsSolidJs = {
|
|
|
49193
49377
|
*
|
|
49194
49378
|
* Events that will be emitted by the component.
|
|
49195
49379
|
*
|
|
49196
|
-
* - `helix-before-collapse`: Fired before a pane shuts or reopens,
|
|
49197
|
-
* - `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
|
|
49380
|
+
* - `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.
|
|
49381
|
+
* - `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.
|
|
49198
49382
|
*
|
|
49199
49383
|
* ## Slots
|
|
49200
49384
|
*
|
|
@@ -53615,10 +53799,12 @@ export type CustomCssProperties = {
|
|
|
53615
53799
|
"--carousel-gap"?: (string) | undefined;
|
|
53616
53800
|
/** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
|
|
53617
53801
|
"--carousel-pane"?: (string) | undefined;
|
|
53618
|
-
/** 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`. */
|
|
53802
|
+
/** 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`. */
|
|
53619
53803
|
"--carousel-per-view"?: (string) | undefined;
|
|
53620
53804
|
/** 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`. */
|
|
53621
53805
|
"--carousel-run-end"?: (string) | undefined;
|
|
53806
|
+
/** 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. */
|
|
53807
|
+
"--carousel-slide-min"?: (string) | undefined;
|
|
53622
53808
|
/** The chosen color, to paint over the transparency check. */
|
|
53623
53809
|
"--color-input-swatch"?: (string) | undefined;
|
|
53624
53810
|
/** The chosen brightness, 0 to 100, as a percentage. */
|