@fusion.dev/helix-headless 0.47.0 → 0.48.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 +159 -35
- package/dist/carousel/root/carousel-root.d.ts +42 -0
- package/dist/carousel/root/carousel-root.js +6 -2
- package/dist/color-picker/root/color-picker-root.d.ts +78 -3
- package/dist/color-picker/root/color-picker-root.js +47 -4
- package/dist/rating/root/rating-root.d.ts +65 -7
- package/dist/rating/root/rating-root.js +35 -8
- package/dist/time-picker/root/time-picker-root.d.ts +13 -0
- package/dist/time-picker/root/time-picker-root.js +2 -0
- package/package.json +5 -5
- package/types/jsx.d.ts +507 -22
- package/types/vue.d.ts +143 -4
package/types/jsx.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ import type {
|
|
|
18
18
|
HelixDismissEvent,
|
|
19
19
|
HelixFacetEvent,
|
|
20
20
|
HelixFilterEvent,
|
|
21
|
+
HelixFormElement,
|
|
21
22
|
HelixHeadlessAccordion,
|
|
22
23
|
HelixHeadlessAccordionItem,
|
|
23
24
|
HelixHeadlessAnnouncement,
|
|
@@ -1839,6 +1840,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
1839
1840
|
offset the track has already reached: pressing next walks the dots to the
|
|
1840
1841
|
end while the slides stop moving a third of the way through.
|
|
1841
1842
|
|
|
1843
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
1844
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
1845
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
1846
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
1847
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
1848
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
1849
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
1850
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
1851
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
1852
|
+
its correction the same way and for the same reason.
|
|
1853
|
+
|
|
1854
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
1855
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
1856
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
1857
|
+
root it serializes with the rest of the template on the server, and the
|
|
1858
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
1859
|
+
attribute is the one answer to how wide a pane is.
|
|
1860
|
+
|
|
1861
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
1862
|
+
`across`, and both tiers read that rather than this.
|
|
1863
|
+
|
|
1842
1864
|
No default, because it reflects. A reflected property with a value writes
|
|
1843
1865
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
1844
1866
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -1855,6 +1877,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
1855
1877
|
offset the track has already reached: pressing next walks the dots to the
|
|
1856
1878
|
end while the slides stop moving a third of the way through.
|
|
1857
1879
|
|
|
1880
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
1881
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
1882
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
1883
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
1884
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
1885
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
1886
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
1887
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
1888
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
1889
|
+
its correction the same way and for the same reason.
|
|
1890
|
+
|
|
1891
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
1892
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
1893
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
1894
|
+
root it serializes with the rest of the template on the server, and the
|
|
1895
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
1896
|
+
attribute is the one answer to how wide a pane is.
|
|
1897
|
+
|
|
1898
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
1899
|
+
`across`, and both tiers read that rather than this.
|
|
1900
|
+
|
|
1858
1901
|
No default, because it reflects. A reflected property with a value writes
|
|
1859
1902
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
1860
1903
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -1940,6 +1983,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
1940
1983
|
offset the track has already reached: pressing next walks the dots to the
|
|
1941
1984
|
end while the slides stop moving a third of the way through.
|
|
1942
1985
|
|
|
1986
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
1987
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
1988
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
1989
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
1990
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
1991
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
1992
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
1993
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
1994
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
1995
|
+
its correction the same way and for the same reason.
|
|
1996
|
+
|
|
1997
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
1998
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
1999
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
2000
|
+
root it serializes with the rest of the template on the server, and the
|
|
2001
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
2002
|
+
attribute is the one answer to how wide a pane is.
|
|
2003
|
+
|
|
2004
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
2005
|
+
`across`, and both tiers read that rather than this.
|
|
2006
|
+
|
|
1943
2007
|
No default, because it reflects. A reflected property with a value writes
|
|
1944
2008
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
1945
2009
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -1956,6 +2020,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
1956
2020
|
offset the track has already reached: pressing next walks the dots to the
|
|
1957
2021
|
end while the slides stop moving a third of the way through.
|
|
1958
2022
|
|
|
2023
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
2024
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
2025
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
2026
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
2027
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
2028
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
2029
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
2030
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
2031
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
2032
|
+
its correction the same way and for the same reason.
|
|
2033
|
+
|
|
2034
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
2035
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
2036
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
2037
|
+
root it serializes with the rest of the template on the server, and the
|
|
2038
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
2039
|
+
attribute is the one answer to how wide a pane is.
|
|
2040
|
+
|
|
2041
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
2042
|
+
`across`, and both tiers read that rather than this.
|
|
2043
|
+
|
|
1959
2044
|
No default, because it reflects. A reflected property with a value writes
|
|
1960
2045
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
1961
2046
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -3070,6 +3155,67 @@ answer to which one is authoritative or which has the caret. Do not close it
|
|
|
3070
3155
|
the other way round, with Color Input dropping its own field: the value
|
|
3071
3156
|
would then be unreadable and unpasteable without opening a panel. */
|
|
3072
3157
|
noValue?: (HelixHeadlessColorPicker["noValue"]) | undefined;
|
|
3158
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
3159
|
+
|
|
3160
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
3161
|
+
component already has: `requestValue` is what every path here comes through,
|
|
3162
|
+
and gating it once is what stops the next call site from being written
|
|
3163
|
+
without the check.
|
|
3164
|
+
|
|
3165
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
3166
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
3167
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
3168
|
+
else set needs.
|
|
3169
|
+
|
|
3170
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
3171
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
3172
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3173
|
+
value is requested. Gating only the request would leave the square under
|
|
3174
|
+
the reader's pointer and the value where it was, which is a control that
|
|
3175
|
+
refuses and looks like it accepted. */
|
|
3176
|
+
readonly?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3177
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
3178
|
+
|
|
3179
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
3180
|
+
component already has: `requestValue` is what every path here comes through,
|
|
3181
|
+
and gating it once is what stops the next call site from being written
|
|
3182
|
+
without the check.
|
|
3183
|
+
|
|
3184
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
3185
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
3186
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
3187
|
+
else set needs.
|
|
3188
|
+
|
|
3189
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
3190
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
3191
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3192
|
+
value is requested. Gating only the request would leave the square under
|
|
3193
|
+
the reader's pointer and the value where it was, which is a control that
|
|
3194
|
+
refuses and looks like it accepted. */
|
|
3195
|
+
readOnly?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3196
|
+
/** Whether the form refuses to submit while no color is chosen.
|
|
3197
|
+
|
|
3198
|
+
**A color is exactly as requirable as a date**, which is the comparison
|
|
3199
|
+
that settles it: this element extends `HelixFormElement`, carries `name`
|
|
3200
|
+
and reports its value, so a consumer writing
|
|
3201
|
+
`<helix-color-picker name="brand" required>` inside a form has every reason
|
|
3202
|
+
to expect the form to refuse an empty one. Its two siblings in the same
|
|
3203
|
+
composition position, Date Picker and Time Picker, both check it.
|
|
3204
|
+
|
|
3205
|
+
Written out rather than taken from `MixinField`, for the reason those two
|
|
3206
|
+
record: the mixin brings a label, a hint and a feedback region, and this is
|
|
3207
|
+
a panel composed *into* a field that already has all three, so taking it
|
|
3208
|
+
would give one control two of each. What is left is the validity call and
|
|
3209
|
+
the anchor the browser points its bubble at.
|
|
3210
|
+
|
|
3211
|
+
**Emptiness is the only fault reported, and bad input deliberately is
|
|
3212
|
+
not.** The value row is typed into a character at a time and every
|
|
3213
|
+
keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
3214
|
+
reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
3215
|
+
report bad input because their value moves only on a commit. Color Input
|
|
3216
|
+
reports it for this family instead, once, against the field the reader
|
|
3217
|
+
typed into. */
|
|
3218
|
+
required?: (HelixHeadlessColorPicker["required"]) | undefined;
|
|
3073
3219
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
3074
3220
|
swatches?: (HelixHeadlessColorPicker["swatches"]) | undefined;
|
|
3075
3221
|
/** The value the markup declared, which is where a reset returns to. */
|
|
@@ -3190,6 +3336,67 @@ answer to which one is authoritative or which has the caret. Do not close it
|
|
|
3190
3336
|
the other way round, with Color Input dropping its own field: the value
|
|
3191
3337
|
would then be unreadable and unpasteable without opening a panel. */
|
|
3192
3338
|
"prop:noValue"?: (HelixHeadlessColorPicker["noValue"]) | undefined;
|
|
3339
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
3340
|
+
|
|
3341
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
3342
|
+
component already has: `requestValue` is what every path here comes through,
|
|
3343
|
+
and gating it once is what stops the next call site from being written
|
|
3344
|
+
without the check.
|
|
3345
|
+
|
|
3346
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
3347
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
3348
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
3349
|
+
else set needs.
|
|
3350
|
+
|
|
3351
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
3352
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
3353
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3354
|
+
value is requested. Gating only the request would leave the square under
|
|
3355
|
+
the reader's pointer and the value where it was, which is a control that
|
|
3356
|
+
refuses and looks like it accepted. */
|
|
3357
|
+
"bool:readonly"?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3358
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
3359
|
+
|
|
3360
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
3361
|
+
component already has: `requestValue` is what every path here comes through,
|
|
3362
|
+
and gating it once is what stops the next call site from being written
|
|
3363
|
+
without the check.
|
|
3364
|
+
|
|
3365
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
3366
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
3367
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
3368
|
+
else set needs.
|
|
3369
|
+
|
|
3370
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
3371
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
3372
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
3373
|
+
value is requested. Gating only the request would leave the square under
|
|
3374
|
+
the reader's pointer and the value where it was, which is a control that
|
|
3375
|
+
refuses and looks like it accepted. */
|
|
3376
|
+
"prop:readOnly"?: (HelixHeadlessColorPicker["readOnly"]) | undefined;
|
|
3377
|
+
/** Whether the form refuses to submit while no color is chosen.
|
|
3378
|
+
|
|
3379
|
+
**A color is exactly as requirable as a date**, which is the comparison
|
|
3380
|
+
that settles it: this element extends `HelixFormElement`, carries `name`
|
|
3381
|
+
and reports its value, so a consumer writing
|
|
3382
|
+
`<helix-color-picker name="brand" required>` inside a form has every reason
|
|
3383
|
+
to expect the form to refuse an empty one. Its two siblings in the same
|
|
3384
|
+
composition position, Date Picker and Time Picker, both check it.
|
|
3385
|
+
|
|
3386
|
+
Written out rather than taken from `MixinField`, for the reason those two
|
|
3387
|
+
record: the mixin brings a label, a hint and a feedback region, and this is
|
|
3388
|
+
a panel composed *into* a field that already has all three, so taking it
|
|
3389
|
+
would give one control two of each. What is left is the validity call and
|
|
3390
|
+
the anchor the browser points its bubble at.
|
|
3391
|
+
|
|
3392
|
+
**Emptiness is the only fault reported, and bad input deliberately is
|
|
3393
|
+
not.** The value row is typed into a character at a time and every
|
|
3394
|
+
keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
3395
|
+
reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
3396
|
+
report bad input because their value moves only on a commit. Color Input
|
|
3397
|
+
reports it for this family instead, once, against the field the reader
|
|
3398
|
+
typed into. */
|
|
3399
|
+
"prop:required"?: (HelixHeadlessColorPicker["required"]) | undefined;
|
|
3193
3400
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
3194
3401
|
"prop:swatches"?: (HelixHeadlessColorPicker["swatches"]) | undefined;
|
|
3195
3402
|
/** The value the markup declared, which is where a reset returns to. */
|
|
@@ -11817,7 +12024,41 @@ export type HelixHeadlessRatingProps = {
|
|
|
11817
12024
|
Zero rather than one, because "no rating" and "the worst rating" are
|
|
11818
12025
|
different answers and a control that cannot express the first has to
|
|
11819
12026
|
pretend the second. A survey that requires an answer says so with
|
|
11820
|
-
`required`, not by making one unreachable.
|
|
12027
|
+
`required`, not by making one unreachable.
|
|
12028
|
+
|
|
12029
|
+
**It is the floor of the scale, and every edge follows from that.**
|
|
12030
|
+
|
|
12031
|
+
*Clearing* returns the row to it. An empty rating, a value nothing can
|
|
12032
|
+
parse, and a form reset with nothing declared are all the same situation,
|
|
12033
|
+
and all three draw `min` filled: at the default of zero that is the empty
|
|
12034
|
+
row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
12035
|
+
`Slider` sits at its own minimum rather than at zero. The value is still
|
|
12036
|
+
`""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
12037
|
+
is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
12038
|
+
answer somebody gave.
|
|
12039
|
+
|
|
12040
|
+
*The steps* are the scores from `step` up to `max` that are not below it,
|
|
12041
|
+
so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
12042
|
+
filled and unpressable. At zero nothing is dropped, which is why the
|
|
12043
|
+
default row is unchanged.
|
|
12044
|
+
|
|
12045
|
+
*The keyboard* moves through those steps and no others. `wrap` is already
|
|
12046
|
+
false here, so arrowing down from the lowest one holds its ground rather
|
|
12047
|
+
than reaching a score this property forbids, and the tab stop an unrated
|
|
12048
|
+
rating carries sits on the lowest score offered rather than on the first
|
|
12049
|
+
mark.
|
|
12050
|
+
|
|
12051
|
+
*A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
12052
|
+
whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
12053
|
+
somewhere the row can be pressed. That is a real thing to ask for and is
|
|
12054
|
+
left to mean what it says.
|
|
12055
|
+
|
|
12056
|
+
*A `min` outside the marks is refused rather than obeyed*, and says so
|
|
12057
|
+
once on the console. Below zero and anything that is not a number are read
|
|
12058
|
+
as zero, there being no mark to draw for a negative score; above `max` is
|
|
12059
|
+
read as `max`, which collapses the scale to its top score rather than
|
|
12060
|
+
leaving a rating with nothing to press. A property that silently accepts
|
|
12061
|
+
nonsense is the fault this pays off, so neither case is quietly ignored. */
|
|
11821
12062
|
min?: (HelixHeadlessRating["min"]) | undefined;
|
|
11822
12063
|
/** Whether this shows a score rather than asks for one.
|
|
11823
12064
|
|
|
@@ -11940,7 +12181,41 @@ export type HelixHeadlessRatingSolidJsProps = {
|
|
|
11940
12181
|
Zero rather than one, because "no rating" and "the worst rating" are
|
|
11941
12182
|
different answers and a control that cannot express the first has to
|
|
11942
12183
|
pretend the second. A survey that requires an answer says so with
|
|
11943
|
-
`required`, not by making one unreachable.
|
|
12184
|
+
`required`, not by making one unreachable.
|
|
12185
|
+
|
|
12186
|
+
**It is the floor of the scale, and every edge follows from that.**
|
|
12187
|
+
|
|
12188
|
+
*Clearing* returns the row to it. An empty rating, a value nothing can
|
|
12189
|
+
parse, and a form reset with nothing declared are all the same situation,
|
|
12190
|
+
and all three draw `min` filled: at the default of zero that is the empty
|
|
12191
|
+
row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
12192
|
+
`Slider` sits at its own minimum rather than at zero. The value is still
|
|
12193
|
+
`""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
12194
|
+
is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
12195
|
+
answer somebody gave.
|
|
12196
|
+
|
|
12197
|
+
*The steps* are the scores from `step` up to `max` that are not below it,
|
|
12198
|
+
so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
12199
|
+
filled and unpressable. At zero nothing is dropped, which is why the
|
|
12200
|
+
default row is unchanged.
|
|
12201
|
+
|
|
12202
|
+
*The keyboard* moves through those steps and no others. `wrap` is already
|
|
12203
|
+
false here, so arrowing down from the lowest one holds its ground rather
|
|
12204
|
+
than reaching a score this property forbids, and the tab stop an unrated
|
|
12205
|
+
rating carries sits on the lowest score offered rather than on the first
|
|
12206
|
+
mark.
|
|
12207
|
+
|
|
12208
|
+
*A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
12209
|
+
whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
12210
|
+
somewhere the row can be pressed. That is a real thing to ask for and is
|
|
12211
|
+
left to mean what it says.
|
|
12212
|
+
|
|
12213
|
+
*A `min` outside the marks is refused rather than obeyed*, and says so
|
|
12214
|
+
once on the console. Below zero and anything that is not a number are read
|
|
12215
|
+
as zero, there being no mark to draw for a negative score; above `max` is
|
|
12216
|
+
read as `max`, which collapses the scale to its top score rather than
|
|
12217
|
+
leaving a rating with nothing to press. A property that silently accepts
|
|
12218
|
+
nonsense is the fault this pays off, so neither case is quietly ignored. */
|
|
11944
12219
|
"prop:min"?: (HelixHeadlessRating["min"]) | undefined;
|
|
11945
12220
|
/** Whether this shows a score rather than asks for one.
|
|
11946
12221
|
|
|
@@ -19196,6 +19471,27 @@ export type CustomElements = {
|
|
|
19196
19471
|
* offset the track has already reached: pressing next walks the dots to the
|
|
19197
19472
|
* end while the slides stop moving a third of the way through.
|
|
19198
19473
|
*
|
|
19474
|
+
* **The number is published to the styles rather than enumerated by them**,
|
|
19475
|
+
* as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
19476
|
+
* count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
19477
|
+
* so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
19478
|
+
* judgment; above it the pane fell back to one across while this file went on
|
|
19479
|
+
* counting positions. Measured in Chromium over eight slides, six across gave
|
|
19480
|
+
* three dots, a pane taking the whole track and five slides reachable only by
|
|
19481
|
+
* dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
19482
|
+
* own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
19483
|
+
* its correction the same way and for the same reason.
|
|
19484
|
+
*
|
|
19485
|
+
* **On the track and not on the host.** A custom property on the host is a
|
|
19486
|
+
* reflected attribute by another name: it would arrive on upgrade, and a
|
|
19487
|
+
* consumer's server markup never had it. Inside the component's own shadow
|
|
19488
|
+
* root it serializes with the rest of the template on the server, and the
|
|
19489
|
+
* track's own declaration beats anything a consumer inherits in, so the
|
|
19490
|
+
* attribute is the one answer to how wide a pane is.
|
|
19491
|
+
*
|
|
19492
|
+
* A value the track cannot honor is taken to the nearest one it can, by
|
|
19493
|
+
* `across`, and both tiers read that rather than this.
|
|
19494
|
+
*
|
|
19199
19495
|
* No default, because it reflects. A reflected property with a value writes
|
|
19200
19496
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
19201
19497
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -19252,6 +19548,7 @@ export type CustomElements = {
|
|
|
19252
19548
|
*
|
|
19253
19549
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
19254
19550
|
* - `--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`)
|
|
19255
19552
|
* - `--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`)
|
|
19256
19553
|
*
|
|
19257
19554
|
* ## CSS Parts
|
|
@@ -20565,6 +20862,46 @@ export type CustomElements = {
|
|
|
20565
20862
|
* answer to which one is authoritative or which has the caret. Do not close it
|
|
20566
20863
|
* the other way round, with Color Input dropping its own field: the value
|
|
20567
20864
|
* would then be unreadable and unpasteable without opening a panel.
|
|
20865
|
+
* - `readonly`/`readOnly`: Whether the control refuses changes while still submitting its value.
|
|
20866
|
+
*
|
|
20867
|
+
* **Enforced by refusing every request in one place**, which is the seam this
|
|
20868
|
+
* component already has: `requestValue` is what every path here comes through,
|
|
20869
|
+
* and gating it once is what stops the next call site from being written
|
|
20870
|
+
* without the check.
|
|
20871
|
+
*
|
|
20872
|
+
* Not `disabled`, which is the confusion worth naming: a disabled control
|
|
20873
|
+
* submits nothing and leaves the tab order, and a read-only one submits its
|
|
20874
|
+
* value and stays reachable, which is what a form showing a color somebody
|
|
20875
|
+
* else set needs.
|
|
20876
|
+
*
|
|
20877
|
+
* **One gate is not enough here, and the second is `move`.** This picker
|
|
20878
|
+
* holds a model beside its value, which Date Picker and Time Picker do not:
|
|
20879
|
+
* `moved` is the HSB the square is drawn from, and it is written before the
|
|
20880
|
+
* value is requested. Gating only the request would leave the square under
|
|
20881
|
+
* the reader's pointer and the value where it was, which is a control that
|
|
20882
|
+
* refuses and looks like it accepted.
|
|
20883
|
+
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
20884
|
+
*
|
|
20885
|
+
* **A color is exactly as requirable as a date**, which is the comparison
|
|
20886
|
+
* that settles it: this element extends `HelixFormElement`, carries `name`
|
|
20887
|
+
* and reports its value, so a consumer writing
|
|
20888
|
+
* `<helix-color-picker name="brand" required>` inside a form has every reason
|
|
20889
|
+
* to expect the form to refuse an empty one. Its two siblings in the same
|
|
20890
|
+
* composition position, Date Picker and Time Picker, both check it.
|
|
20891
|
+
*
|
|
20892
|
+
* Written out rather than taken from `MixinField`, for the reason those two
|
|
20893
|
+
* record: the mixin brings a label, a hint and a feedback region, and this is
|
|
20894
|
+
* a panel composed *into* a field that already has all three, so taking it
|
|
20895
|
+
* would give one control two of each. What is left is the validity call and
|
|
20896
|
+
* the anchor the browser points its bubble at.
|
|
20897
|
+
*
|
|
20898
|
+
* **Emptiness is the only fault reported, and bad input deliberately is
|
|
20899
|
+
* not.** The value row is typed into a character at a time and every
|
|
20900
|
+
* keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
20901
|
+
* reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
20902
|
+
* report bad input because their value moves only on a commit. Color Input
|
|
20903
|
+
* reports it for this family instead, once, against the field the reader
|
|
20904
|
+
* typed into.
|
|
20568
20905
|
* - `swatches`: Colors offered under the picker, as a comma-separated list.
|
|
20569
20906
|
* - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
|
|
20570
20907
|
* - `value`: What the control holds now, and what its form submits.
|
|
@@ -20642,14 +20979,8 @@ export type CustomElements = {
|
|
|
20642
20979
|
*
|
|
20643
20980
|
* Methods that can be called to access component functionality.
|
|
20644
20981
|
*
|
|
20982
|
+
* - `requestValue(next: string) => boolean`: Refuses every change while read-only. See `readOnly`.
|
|
20645
20983
|
* - `focus(options?: FocusOptions) => void`: Puts the keyboard on the square, which is the control a reader wants.
|
|
20646
|
-
* - `requestValue(next: string) => boolean`: Requests a new value, and reports whether the request stood.
|
|
20647
|
-
*
|
|
20648
|
-
* Announces before it acts, so `preventDefault()` on the `helix-before-change` is
|
|
20649
|
-
* a refusal and nothing moves. Nobody refusing means the control updates
|
|
20650
|
-
* itself, whether or not a consumer declared `value`: a declared property
|
|
20651
|
-
* is a seed and a correction, the way `<input value>` is, and a consumer
|
|
20652
|
-
* who wants the change for themselves refuses it and assigns their own.
|
|
20653
20984
|
* - `formResetCallback() => void`: Returns the control to the value its markup declared.
|
|
20654
20985
|
*
|
|
20655
20986
|
* Both halves are dropped, the consumer's and the control's, because a
|
|
@@ -29255,6 +29586,40 @@ export type CustomElements = {
|
|
|
29255
29586
|
* different answers and a control that cannot express the first has to
|
|
29256
29587
|
* pretend the second. A survey that requires an answer says so with
|
|
29257
29588
|
* `required`, not by making one unreachable.
|
|
29589
|
+
*
|
|
29590
|
+
* **It is the floor of the scale, and every edge follows from that.**
|
|
29591
|
+
*
|
|
29592
|
+
* *Clearing* returns the row to it. An empty rating, a value nothing can
|
|
29593
|
+
* parse, and a form reset with nothing declared are all the same situation,
|
|
29594
|
+
* and all three draw `min` filled: at the default of zero that is the empty
|
|
29595
|
+
* row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
29596
|
+
* `Slider` sits at its own minimum rather than at zero. The value is still
|
|
29597
|
+
* `""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
29598
|
+
* is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
29599
|
+
* answer somebody gave.
|
|
29600
|
+
*
|
|
29601
|
+
* *The steps* are the scores from `step` up to `max` that are not below it,
|
|
29602
|
+
* so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
29603
|
+
* filled and unpressable. At zero nothing is dropped, which is why the
|
|
29604
|
+
* default row is unchanged.
|
|
29605
|
+
*
|
|
29606
|
+
* *The keyboard* moves through those steps and no others. `wrap` is already
|
|
29607
|
+
* false here, so arrowing down from the lowest one holds its ground rather
|
|
29608
|
+
* than reaching a score this property forbids, and the tab stop an unrated
|
|
29609
|
+
* rating carries sits on the lowest score offered rather than on the first
|
|
29610
|
+
* mark.
|
|
29611
|
+
*
|
|
29612
|
+
* *A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
29613
|
+
* whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
29614
|
+
* somewhere the row can be pressed. That is a real thing to ask for and is
|
|
29615
|
+
* left to mean what it says.
|
|
29616
|
+
*
|
|
29617
|
+
* *A `min` outside the marks is refused rather than obeyed*, and says so
|
|
29618
|
+
* once on the console. Below zero and anything that is not a number are read
|
|
29619
|
+
* as zero, there being no mark to draw for a negative score; above `max` is
|
|
29620
|
+
* read as `max`, which collapses the scale to its top score rather than
|
|
29621
|
+
* leaving a rating with nothing to press. A property that silently accepts
|
|
29622
|
+
* nonsense is the fault this pays off, so neither case is quietly ignored.
|
|
29258
29623
|
* - `readonly`/`readOnly`: Whether this shows a score rather than asks for one.
|
|
29259
29624
|
*
|
|
29260
29625
|
* A readout is not a control that has been switched off. It takes no focus,
|
|
@@ -29412,14 +29777,15 @@ export type CustomElements = {
|
|
|
29412
29777
|
*
|
|
29413
29778
|
* - `--rating-full`: How many marks are wholly filled. (default: `undefined`)
|
|
29414
29779
|
* - `--rating-part`: How much of the next mark is filled, 0 to 1. (default: `undefined`)
|
|
29415
|
-
* - `--rating-step`:
|
|
29416
|
-
* - `--rating-steps`: How many steps
|
|
29780
|
+
* - `--rating-step`: Which step along the row a target is, counting from one, whatever `min` leaves open. (default: `undefined`)
|
|
29781
|
+
* - `--rating-steps`: How many steps the whole row holds, which is `max` over `step`. (default: `undefined`)
|
|
29417
29782
|
*
|
|
29418
29783
|
* ## CSS Parts
|
|
29419
29784
|
*
|
|
29420
29785
|
* Custom selectors for styling elements within the component.
|
|
29421
29786
|
*
|
|
29422
29787
|
* - `feedback`: What is wrong with it.
|
|
29788
|
+
* - `field`: The row: the marks, and the score beside them.
|
|
29423
29789
|
* - `fill`: The filled marks, clipped to the score.
|
|
29424
29790
|
* - `hint`: Help under the marks, while nothing is wrong.
|
|
29425
29791
|
* - `label`: The question, over the marks.
|
|
@@ -32620,6 +32986,19 @@ export type CustomElements = {
|
|
|
32620
32986
|
* string, which is the whole reason the shape is that one. What each row *says*
|
|
32621
32987
|
* is the reader's own convention, from `Intl`.
|
|
32622
32988
|
*
|
|
32989
|
+
* **The chosen row is marked in the markup, not worked out on upgrade.** The
|
|
32990
|
+
* listbox is handed the answer as `.value`, and lit-ssr serializes no property
|
|
32991
|
+
* binding, so a served `value="09:30"` shipped ninety-six rows with nothing on
|
|
32992
|
+
* any of them saying which one it was: the mark arrived when the listbox
|
|
32993
|
+
* upgraded and ran `place`. So each option is given `selected` as well, which
|
|
32994
|
+
* is an attribute binding and does serve, and which the listbox then agrees
|
|
32995
|
+
* with rather than fights, `place` writing the same answer from the same value.
|
|
32996
|
+
* `selected` is the declaration a consumer writes on `Option` anywhere else in
|
|
32997
|
+
* the library, and Date Picker expresses its own choice as markup for the same
|
|
32998
|
+
* reason: a picker whose answer is invisible until a script runs is a picker
|
|
32999
|
+
* whose answer is not served at all. Both readings do it, the list and the
|
|
33000
|
+
* wheels, a wheel being a listbox like the list is.
|
|
33001
|
+
*
|
|
32623
33002
|
* ## Attributes & Properties
|
|
32624
33003
|
*
|
|
32625
33004
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -36973,6 +37352,27 @@ export type CustomElementsSolidJs = {
|
|
|
36973
37352
|
* offset the track has already reached: pressing next walks the dots to the
|
|
36974
37353
|
* end while the slides stop moving a third of the way through.
|
|
36975
37354
|
*
|
|
37355
|
+
* **The number is published to the styles rather than enumerated by them**,
|
|
37356
|
+
* as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
37357
|
+
* count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
37358
|
+
* so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
37359
|
+
* judgment; above it the pane fell back to one across while this file went on
|
|
37360
|
+
* counting positions. Measured in Chromium over eight slides, six across gave
|
|
37361
|
+
* three dots, a pane taking the whole track and five slides reachable only by
|
|
37362
|
+
* dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
37363
|
+
* own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
37364
|
+
* its correction the same way and for the same reason.
|
|
37365
|
+
*
|
|
37366
|
+
* **On the track and not on the host.** A custom property on the host is a
|
|
37367
|
+
* reflected attribute by another name: it would arrive on upgrade, and a
|
|
37368
|
+
* consumer's server markup never had it. Inside the component's own shadow
|
|
37369
|
+
* root it serializes with the rest of the template on the server, and the
|
|
37370
|
+
* track's own declaration beats anything a consumer inherits in, so the
|
|
37371
|
+
* attribute is the one answer to how wide a pane is.
|
|
37372
|
+
*
|
|
37373
|
+
* A value the track cannot honor is taken to the nearest one it can, by
|
|
37374
|
+
* `across`, and both tiers read that rather than this.
|
|
37375
|
+
*
|
|
36976
37376
|
* No default, because it reflects. A reflected property with a value writes
|
|
36977
37377
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
36978
37378
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -37029,6 +37429,7 @@ export type CustomElementsSolidJs = {
|
|
|
37029
37429
|
*
|
|
37030
37430
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
37031
37431
|
* - `--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`)
|
|
37032
37433
|
* - `--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`)
|
|
37033
37434
|
*
|
|
37034
37435
|
* ## CSS Parts
|
|
@@ -38361,6 +38762,46 @@ export type CustomElementsSolidJs = {
|
|
|
38361
38762
|
* answer to which one is authoritative or which has the caret. Do not close it
|
|
38362
38763
|
* the other way round, with Color Input dropping its own field: the value
|
|
38363
38764
|
* would then be unreadable and unpasteable without opening a panel.
|
|
38765
|
+
* - `readonly`/`readOnly`: Whether the control refuses changes while still submitting its value.
|
|
38766
|
+
*
|
|
38767
|
+
* **Enforced by refusing every request in one place**, which is the seam this
|
|
38768
|
+
* component already has: `requestValue` is what every path here comes through,
|
|
38769
|
+
* and gating it once is what stops the next call site from being written
|
|
38770
|
+
* without the check.
|
|
38771
|
+
*
|
|
38772
|
+
* Not `disabled`, which is the confusion worth naming: a disabled control
|
|
38773
|
+
* submits nothing and leaves the tab order, and a read-only one submits its
|
|
38774
|
+
* value and stays reachable, which is what a form showing a color somebody
|
|
38775
|
+
* else set needs.
|
|
38776
|
+
*
|
|
38777
|
+
* **One gate is not enough here, and the second is `move`.** This picker
|
|
38778
|
+
* holds a model beside its value, which Date Picker and Time Picker do not:
|
|
38779
|
+
* `moved` is the HSB the square is drawn from, and it is written before the
|
|
38780
|
+
* value is requested. Gating only the request would leave the square under
|
|
38781
|
+
* the reader's pointer and the value where it was, which is a control that
|
|
38782
|
+
* refuses and looks like it accepted.
|
|
38783
|
+
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
38784
|
+
*
|
|
38785
|
+
* **A color is exactly as requirable as a date**, which is the comparison
|
|
38786
|
+
* that settles it: this element extends `HelixFormElement`, carries `name`
|
|
38787
|
+
* and reports its value, so a consumer writing
|
|
38788
|
+
* `<helix-color-picker name="brand" required>` inside a form has every reason
|
|
38789
|
+
* to expect the form to refuse an empty one. Its two siblings in the same
|
|
38790
|
+
* composition position, Date Picker and Time Picker, both check it.
|
|
38791
|
+
*
|
|
38792
|
+
* Written out rather than taken from `MixinField`, for the reason those two
|
|
38793
|
+
* record: the mixin brings a label, a hint and a feedback region, and this is
|
|
38794
|
+
* a panel composed *into* a field that already has all three, so taking it
|
|
38795
|
+
* would give one control two of each. What is left is the validity call and
|
|
38796
|
+
* the anchor the browser points its bubble at.
|
|
38797
|
+
*
|
|
38798
|
+
* **Emptiness is the only fault reported, and bad input deliberately is
|
|
38799
|
+
* not.** The value row is typed into a character at a time and every
|
|
38800
|
+
* keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
38801
|
+
* reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
38802
|
+
* report bad input because their value moves only on a commit. Color Input
|
|
38803
|
+
* reports it for this family instead, once, against the field the reader
|
|
38804
|
+
* typed into.
|
|
38364
38805
|
* - `swatches`: Colors offered under the picker, as a comma-separated list.
|
|
38365
38806
|
* - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
|
|
38366
38807
|
* - `value`: What the control holds now, and what its form submits.
|
|
@@ -38438,14 +38879,8 @@ export type CustomElementsSolidJs = {
|
|
|
38438
38879
|
*
|
|
38439
38880
|
* Methods that can be called to access component functionality.
|
|
38440
38881
|
*
|
|
38882
|
+
* - `requestValue(next: string) => boolean`: Refuses every change while read-only. See `readOnly`.
|
|
38441
38883
|
* - `focus(options?: FocusOptions) => void`: Puts the keyboard on the square, which is the control a reader wants.
|
|
38442
|
-
* - `requestValue(next: string) => boolean`: Requests a new value, and reports whether the request stood.
|
|
38443
|
-
*
|
|
38444
|
-
* Announces before it acts, so `preventDefault()` on the `helix-before-change` is
|
|
38445
|
-
* a refusal and nothing moves. Nobody refusing means the control updates
|
|
38446
|
-
* itself, whether or not a consumer declared `value`: a declared property
|
|
38447
|
-
* is a seed and a correction, the way `<input value>` is, and a consumer
|
|
38448
|
-
* who wants the change for themselves refuses it and assigns their own.
|
|
38449
38884
|
* - `formResetCallback() => void`: Returns the control to the value its markup declared.
|
|
38450
38885
|
*
|
|
38451
38886
|
* Both halves are dropped, the consumer's and the control's, because a
|
|
@@ -47175,6 +47610,40 @@ export type CustomElementsSolidJs = {
|
|
|
47175
47610
|
* different answers and a control that cannot express the first has to
|
|
47176
47611
|
* pretend the second. A survey that requires an answer says so with
|
|
47177
47612
|
* `required`, not by making one unreachable.
|
|
47613
|
+
*
|
|
47614
|
+
* **It is the floor of the scale, and every edge follows from that.**
|
|
47615
|
+
*
|
|
47616
|
+
* *Clearing* returns the row to it. An empty rating, a value nothing can
|
|
47617
|
+
* parse, and a form reset with nothing declared are all the same situation,
|
|
47618
|
+
* and all three draw `min` filled: at the default of zero that is the empty
|
|
47619
|
+
* row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
47620
|
+
* `Slider` sits at its own minimum rather than at zero. The value is still
|
|
47621
|
+
* `""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
47622
|
+
* is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
47623
|
+
* answer somebody gave.
|
|
47624
|
+
*
|
|
47625
|
+
* *The steps* are the scores from `step` up to `max` that are not below it,
|
|
47626
|
+
* so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
47627
|
+
* filled and unpressable. At zero nothing is dropped, which is why the
|
|
47628
|
+
* default row is unchanged.
|
|
47629
|
+
*
|
|
47630
|
+
* *The keyboard* moves through those steps and no others. `wrap` is already
|
|
47631
|
+
* false here, so arrowing down from the lowest one holds its ground rather
|
|
47632
|
+
* than reaching a score this property forbids, and the tab stop an unrated
|
|
47633
|
+
* rating carries sits on the lowest score offered rather than on the first
|
|
47634
|
+
* mark.
|
|
47635
|
+
*
|
|
47636
|
+
* *A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
47637
|
+
* whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
47638
|
+
* somewhere the row can be pressed. That is a real thing to ask for and is
|
|
47639
|
+
* left to mean what it says.
|
|
47640
|
+
*
|
|
47641
|
+
* *A `min` outside the marks is refused rather than obeyed*, and says so
|
|
47642
|
+
* once on the console. Below zero and anything that is not a number are read
|
|
47643
|
+
* as zero, there being no mark to draw for a negative score; above `max` is
|
|
47644
|
+
* read as `max`, which collapses the scale to its top score rather than
|
|
47645
|
+
* leaving a rating with nothing to press. A property that silently accepts
|
|
47646
|
+
* nonsense is the fault this pays off, so neither case is quietly ignored.
|
|
47178
47647
|
* - `readonly`/`readOnly`: Whether this shows a score rather than asks for one.
|
|
47179
47648
|
*
|
|
47180
47649
|
* A readout is not a control that has been switched off. It takes no focus,
|
|
@@ -47332,14 +47801,15 @@ export type CustomElementsSolidJs = {
|
|
|
47332
47801
|
*
|
|
47333
47802
|
* - `--rating-full`: How many marks are wholly filled. (default: `undefined`)
|
|
47334
47803
|
* - `--rating-part`: How much of the next mark is filled, 0 to 1. (default: `undefined`)
|
|
47335
|
-
* - `--rating-step`:
|
|
47336
|
-
* - `--rating-steps`: How many steps
|
|
47804
|
+
* - `--rating-step`: Which step along the row a target is, counting from one, whatever `min` leaves open. (default: `undefined`)
|
|
47805
|
+
* - `--rating-steps`: How many steps the whole row holds, which is `max` over `step`. (default: `undefined`)
|
|
47337
47806
|
*
|
|
47338
47807
|
* ## CSS Parts
|
|
47339
47808
|
*
|
|
47340
47809
|
* Custom selectors for styling elements within the component.
|
|
47341
47810
|
*
|
|
47342
47811
|
* - `feedback`: What is wrong with it.
|
|
47812
|
+
* - `field`: The row: the marks, and the score beside them.
|
|
47343
47813
|
* - `fill`: The filled marks, clipped to the score.
|
|
47344
47814
|
* - `hint`: Help under the marks, while nothing is wrong.
|
|
47345
47815
|
* - `label`: The question, over the marks.
|
|
@@ -50610,6 +51080,19 @@ export type CustomElementsSolidJs = {
|
|
|
50610
51080
|
* string, which is the whole reason the shape is that one. What each row *says*
|
|
50611
51081
|
* is the reader's own convention, from `Intl`.
|
|
50612
51082
|
*
|
|
51083
|
+
* **The chosen row is marked in the markup, not worked out on upgrade.** The
|
|
51084
|
+
* listbox is handed the answer as `.value`, and lit-ssr serializes no property
|
|
51085
|
+
* binding, so a served `value="09:30"` shipped ninety-six rows with nothing on
|
|
51086
|
+
* any of them saying which one it was: the mark arrived when the listbox
|
|
51087
|
+
* upgraded and ran `place`. So each option is given `selected` as well, which
|
|
51088
|
+
* is an attribute binding and does serve, and which the listbox then agrees
|
|
51089
|
+
* with rather than fights, `place` writing the same answer from the same value.
|
|
51090
|
+
* `selected` is the declaration a consumer writes on `Option` anywhere else in
|
|
51091
|
+
* the library, and Date Picker expresses its own choice as markup for the same
|
|
51092
|
+
* reason: a picker whose answer is invisible until a script runs is a picker
|
|
51093
|
+
* whose answer is not served at all. Both readings do it, the list and the
|
|
51094
|
+
* wheels, a wheel being a listbox like the list is.
|
|
51095
|
+
*
|
|
50613
51096
|
* ## Attributes & Properties
|
|
50614
51097
|
*
|
|
50615
51098
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -53132,6 +53615,8 @@ export type CustomCssProperties = {
|
|
|
53132
53615
|
"--carousel-gap"?: (string) | undefined;
|
|
53133
53616
|
/** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
|
|
53134
53617
|
"--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`. */
|
|
53619
|
+
"--carousel-per-view"?: (string) | undefined;
|
|
53135
53620
|
/** 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`. */
|
|
53136
53621
|
"--carousel-run-end"?: (string) | undefined;
|
|
53137
53622
|
/** The chosen color, to paint over the transparency check. */
|
|
@@ -53212,9 +53697,9 @@ export type CustomCssProperties = {
|
|
|
53212
53697
|
"--rating-full"?: (string) | undefined;
|
|
53213
53698
|
/** How much of the next mark is filled, 0 to 1. */
|
|
53214
53699
|
"--rating-part"?: (string) | undefined;
|
|
53215
|
-
/**
|
|
53700
|
+
/** Which step along the row a target is, counting from one, whatever `min` leaves open. */
|
|
53216
53701
|
"--rating-step"?: (string) | undefined;
|
|
53217
|
-
/** How many steps
|
|
53702
|
+
/** How many steps the whole row holds, which is `max` over `step`. */
|
|
53218
53703
|
"--rating-steps"?: (string) | undefined;
|
|
53219
53704
|
/** Where a point sits across, as a percentage. Written by the component. */
|
|
53220
53705
|
"--chart-point-x"?: (string) | undefined;
|