@fusion.dev/helix 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 +185 -13
- package/dist/aura/root/aura-root.d.ts +15 -9
- package/dist/aura/shader.d.ts +1 -1
- package/dist/aura/shader.js +71 -11
- package/dist/carousel/root/carousel-root.css.js +5 -23
- package/dist/carousel/root/carousel-root.d.ts +4 -1
- package/dist/color-picker/root/color-picker-root.css.js +5 -0
- package/dist/rating/root/rating-root.css.js +6 -0
- package/dist/rating/root/rating-root.js +3 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +547 -46
- package/types/vue.d.ts +158 -13
package/types/jsx.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ import type {
|
|
|
69
69
|
HelixFilterMenu,
|
|
70
70
|
HelixFilterOperator,
|
|
71
71
|
HelixFlex,
|
|
72
|
+
HelixFormElement,
|
|
72
73
|
HelixFormatDate,
|
|
73
74
|
HelixGrid,
|
|
74
75
|
HelixHeadlessFilterField,
|
|
@@ -1087,17 +1088,23 @@ are interpolations, so a larger number extrapolates rather than
|
|
|
1087
1088
|
exaggerating, and a streak whose length has passed through zero is drawn
|
|
1088
1089
|
as a bar across the whole frame.
|
|
1089
1090
|
|
|
1090
|
-
Read by
|
|
1091
|
+
Read by six of the eleven shapes, the ones made of many similar things,
|
|
1091
1092
|
whether those are counted or continuous: `streaks`, whose lanes draw a
|
|
1092
1093
|
speed, a length, a width, a spacing and a weight apiece; `particles`, whose
|
|
1093
|
-
motes draw a size, a brightness and a wander;
|
|
1094
|
-
fan, bundles and folds widen or even out
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1094
|
+
motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
|
|
1095
|
+
fan, bundles and folds widen or even out; `caustics`, whose three depths of
|
|
1096
|
+
fold close on one scale and one weight while the pool over them flattens to
|
|
1097
|
+
an even wash; and `fracture`, whose sites come home to their own cell
|
|
1098
|
+
centers, leaving equal territories and no border more contested than
|
|
1099
|
+
another.
|
|
1100
|
+
|
|
1101
|
+
Inert on the other five, and every one of them a refusal. `braid`, `waves`
|
|
1102
|
+
and `flow` have a single subject and nothing to vary. `threads` and
|
|
1103
|
+
`lattice` are even on purpose, a scatter of strands and a regular structure
|
|
1104
|
+
each being what it is because its members do not differ: `threads` gives
|
|
1105
|
+
its seven one amplitude, one thickness, one weight and one frequency on
|
|
1106
|
+
the argument that alike is what makes a weave read as woven, and a lattice
|
|
1107
|
+
whose cells differed would be a scatter with straight lines in it. */
|
|
1101
1108
|
variance?: (HelixAura["variance"]) | undefined;
|
|
1102
1109
|
/** Which form the light takes. Absent is `braid`.
|
|
1103
1110
|
|
|
@@ -1189,17 +1196,23 @@ are interpolations, so a larger number extrapolates rather than
|
|
|
1189
1196
|
exaggerating, and a streak whose length has passed through zero is drawn
|
|
1190
1197
|
as a bar across the whole frame.
|
|
1191
1198
|
|
|
1192
|
-
Read by
|
|
1199
|
+
Read by six of the eleven shapes, the ones made of many similar things,
|
|
1193
1200
|
whether those are counted or continuous: `streaks`, whose lanes draw a
|
|
1194
1201
|
speed, a length, a width, a spacing and a weight apiece; `particles`, whose
|
|
1195
|
-
motes draw a size, a brightness and a wander;
|
|
1196
|
-
fan, bundles and folds widen or even out
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1202
|
+
motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
|
|
1203
|
+
fan, bundles and folds widen or even out; `caustics`, whose three depths of
|
|
1204
|
+
fold close on one scale and one weight while the pool over them flattens to
|
|
1205
|
+
an even wash; and `fracture`, whose sites come home to their own cell
|
|
1206
|
+
centers, leaving equal territories and no border more contested than
|
|
1207
|
+
another.
|
|
1208
|
+
|
|
1209
|
+
Inert on the other five, and every one of them a refusal. `braid`, `waves`
|
|
1210
|
+
and `flow` have a single subject and nothing to vary. `threads` and
|
|
1211
|
+
`lattice` are even on purpose, a scatter of strands and a regular structure
|
|
1212
|
+
each being what it is because its members do not differ: `threads` gives
|
|
1213
|
+
its seven one amplitude, one thickness, one weight and one frequency on
|
|
1214
|
+
the argument that alike is what makes a weave read as woven, and a lattice
|
|
1215
|
+
whose cells differed would be a scatter with straight lines in it. */
|
|
1203
1216
|
"prop:variance"?: (HelixAura["variance"]) | undefined;
|
|
1204
1217
|
/** Which form the light takes. Absent is `braid`.
|
|
1205
1218
|
|
|
@@ -2804,6 +2817,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
2804
2817
|
offset the track has already reached: pressing next walks the dots to the
|
|
2805
2818
|
end while the slides stop moving a third of the way through.
|
|
2806
2819
|
|
|
2820
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
2821
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
2822
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
2823
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
2824
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
2825
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
2826
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
2827
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
2828
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
2829
|
+
its correction the same way and for the same reason.
|
|
2830
|
+
|
|
2831
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
2832
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
2833
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
2834
|
+
root it serializes with the rest of the template on the server, and the
|
|
2835
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
2836
|
+
attribute is the one answer to how wide a pane is.
|
|
2837
|
+
|
|
2838
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
2839
|
+
`across`, and both tiers read that rather than this.
|
|
2840
|
+
|
|
2807
2841
|
No default, because it reflects. A reflected property with a value writes
|
|
2808
2842
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
2809
2843
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -2820,6 +2854,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
2820
2854
|
offset the track has already reached: pressing next walks the dots to the
|
|
2821
2855
|
end while the slides stop moving a third of the way through.
|
|
2822
2856
|
|
|
2857
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
2858
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
2859
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
2860
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
2861
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
2862
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
2863
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
2864
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
2865
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
2866
|
+
its correction the same way and for the same reason.
|
|
2867
|
+
|
|
2868
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
2869
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
2870
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
2871
|
+
root it serializes with the rest of the template on the server, and the
|
|
2872
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
2873
|
+
attribute is the one answer to how wide a pane is.
|
|
2874
|
+
|
|
2875
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
2876
|
+
`across`, and both tiers read that rather than this.
|
|
2877
|
+
|
|
2823
2878
|
No default, because it reflects. A reflected property with a value writes
|
|
2824
2879
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
2825
2880
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -3035,6 +3090,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
3035
3090
|
offset the track has already reached: pressing next walks the dots to the
|
|
3036
3091
|
end while the slides stop moving a third of the way through.
|
|
3037
3092
|
|
|
3093
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
3094
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
3095
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
3096
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
3097
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
3098
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
3099
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
3100
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
3101
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
3102
|
+
its correction the same way and for the same reason.
|
|
3103
|
+
|
|
3104
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
3105
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
3106
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
3107
|
+
root it serializes with the rest of the template on the server, and the
|
|
3108
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
3109
|
+
attribute is the one answer to how wide a pane is.
|
|
3110
|
+
|
|
3111
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
3112
|
+
`across`, and both tiers read that rather than this.
|
|
3113
|
+
|
|
3038
3114
|
No default, because it reflects. A reflected property with a value writes
|
|
3039
3115
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
3040
3116
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -3051,6 +3127,27 @@ clamps to the last *slide*, so three of the six indicators point at an
|
|
|
3051
3127
|
offset the track has already reached: pressing next walks the dots to the
|
|
3052
3128
|
end while the slides stop moving a third of the way through.
|
|
3053
3129
|
|
|
3130
|
+
**The number is published to the styles rather than enumerated by them**,
|
|
3131
|
+
as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
3132
|
+
count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
3133
|
+
so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
3134
|
+
judgment; above it the pane fell back to one across while this file went on
|
|
3135
|
+
counting positions. Measured in Chromium over eight slides, six across gave
|
|
3136
|
+
three dots, a pane taking the whole track and five slides reachable only by
|
|
3137
|
+
dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
3138
|
+
own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
3139
|
+
its correction the same way and for the same reason.
|
|
3140
|
+
|
|
3141
|
+
**On the track and not on the host.** A custom property on the host is a
|
|
3142
|
+
reflected attribute by another name: it would arrive on upgrade, and a
|
|
3143
|
+
consumer's server markup never had it. Inside the component's own shadow
|
|
3144
|
+
root it serializes with the rest of the template on the server, and the
|
|
3145
|
+
track's own declaration beats anything a consumer inherits in, so the
|
|
3146
|
+
attribute is the one answer to how wide a pane is.
|
|
3147
|
+
|
|
3148
|
+
A value the track cannot honor is taken to the nearest one it can, by
|
|
3149
|
+
`across`, and both tiers read that rather than this.
|
|
3150
|
+
|
|
3054
3151
|
No default, because it reflects. A reflected property with a value writes
|
|
3055
3152
|
its attribute on upgrade, and the host then carries something a consumer's
|
|
3056
3153
|
server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -4234,6 +4331,67 @@ answer to which one is authoritative or which has the caret. Do not close it
|
|
|
4234
4331
|
the other way round, with Color Input dropping its own field: the value
|
|
4235
4332
|
would then be unreadable and unpasteable without opening a panel. */
|
|
4236
4333
|
noValue?: (HelixColorPicker["noValue"]) | undefined;
|
|
4334
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
4335
|
+
|
|
4336
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
4337
|
+
component already has: `requestValue` is what every path here comes through,
|
|
4338
|
+
and gating it once is what stops the next call site from being written
|
|
4339
|
+
without the check.
|
|
4340
|
+
|
|
4341
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
4342
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
4343
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
4344
|
+
else set needs.
|
|
4345
|
+
|
|
4346
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
4347
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
4348
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
4349
|
+
value is requested. Gating only the request would leave the square under
|
|
4350
|
+
the reader's pointer and the value where it was, which is a control that
|
|
4351
|
+
refuses and looks like it accepted. */
|
|
4352
|
+
readonly?: (HelixColorPicker["readOnly"]) | undefined;
|
|
4353
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
4354
|
+
|
|
4355
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
4356
|
+
component already has: `requestValue` is what every path here comes through,
|
|
4357
|
+
and gating it once is what stops the next call site from being written
|
|
4358
|
+
without the check.
|
|
4359
|
+
|
|
4360
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
4361
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
4362
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
4363
|
+
else set needs.
|
|
4364
|
+
|
|
4365
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
4366
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
4367
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
4368
|
+
value is requested. Gating only the request would leave the square under
|
|
4369
|
+
the reader's pointer and the value where it was, which is a control that
|
|
4370
|
+
refuses and looks like it accepted. */
|
|
4371
|
+
readOnly?: (HelixColorPicker["readOnly"]) | undefined;
|
|
4372
|
+
/** Whether the form refuses to submit while no color is chosen.
|
|
4373
|
+
|
|
4374
|
+
**A color is exactly as requirable as a date**, which is the comparison
|
|
4375
|
+
that settles it: this element extends `HelixFormElement`, carries `name`
|
|
4376
|
+
and reports its value, so a consumer writing
|
|
4377
|
+
`<helix-color-picker name="brand" required>` inside a form has every reason
|
|
4378
|
+
to expect the form to refuse an empty one. Its two siblings in the same
|
|
4379
|
+
composition position, Date Picker and Time Picker, both check it.
|
|
4380
|
+
|
|
4381
|
+
Written out rather than taken from `MixinField`, for the reason those two
|
|
4382
|
+
record: the mixin brings a label, a hint and a feedback region, and this is
|
|
4383
|
+
a panel composed *into* a field that already has all three, so taking it
|
|
4384
|
+
would give one control two of each. What is left is the validity call and
|
|
4385
|
+
the anchor the browser points its bubble at.
|
|
4386
|
+
|
|
4387
|
+
**Emptiness is the only fault reported, and bad input deliberately is
|
|
4388
|
+
not.** The value row is typed into a character at a time and every
|
|
4389
|
+
keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
4390
|
+
reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
4391
|
+
report bad input because their value moves only on a commit. Color Input
|
|
4392
|
+
reports it for this family instead, once, against the field the reader
|
|
4393
|
+
typed into. */
|
|
4394
|
+
required?: (HelixColorPicker["required"]) | undefined;
|
|
4237
4395
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
4238
4396
|
swatches?: (HelixColorPicker["swatches"]) | undefined;
|
|
4239
4397
|
/** Whether the control is non-interactive.
|
|
@@ -4354,6 +4512,67 @@ answer to which one is authoritative or which has the caret. Do not close it
|
|
|
4354
4512
|
the other way round, with Color Input dropping its own field: the value
|
|
4355
4513
|
would then be unreadable and unpasteable without opening a panel. */
|
|
4356
4514
|
"prop:noValue"?: (HelixColorPicker["noValue"]) | undefined;
|
|
4515
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
4516
|
+
|
|
4517
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
4518
|
+
component already has: `requestValue` is what every path here comes through,
|
|
4519
|
+
and gating it once is what stops the next call site from being written
|
|
4520
|
+
without the check.
|
|
4521
|
+
|
|
4522
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
4523
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
4524
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
4525
|
+
else set needs.
|
|
4526
|
+
|
|
4527
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
4528
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
4529
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
4530
|
+
value is requested. Gating only the request would leave the square under
|
|
4531
|
+
the reader's pointer and the value where it was, which is a control that
|
|
4532
|
+
refuses and looks like it accepted. */
|
|
4533
|
+
"bool:readonly"?: (HelixColorPicker["readOnly"]) | undefined;
|
|
4534
|
+
/** Whether the control refuses changes while still submitting its value.
|
|
4535
|
+
|
|
4536
|
+
**Enforced by refusing every request in one place**, which is the seam this
|
|
4537
|
+
component already has: `requestValue` is what every path here comes through,
|
|
4538
|
+
and gating it once is what stops the next call site from being written
|
|
4539
|
+
without the check.
|
|
4540
|
+
|
|
4541
|
+
Not `disabled`, which is the confusion worth naming: a disabled control
|
|
4542
|
+
submits nothing and leaves the tab order, and a read-only one submits its
|
|
4543
|
+
value and stays reachable, which is what a form showing a color somebody
|
|
4544
|
+
else set needs.
|
|
4545
|
+
|
|
4546
|
+
**One gate is not enough here, and the second is `move`.** This picker
|
|
4547
|
+
holds a model beside its value, which Date Picker and Time Picker do not:
|
|
4548
|
+
`moved` is the HSB the square is drawn from, and it is written before the
|
|
4549
|
+
value is requested. Gating only the request would leave the square under
|
|
4550
|
+
the reader's pointer and the value where it was, which is a control that
|
|
4551
|
+
refuses and looks like it accepted. */
|
|
4552
|
+
"prop:readOnly"?: (HelixColorPicker["readOnly"]) | undefined;
|
|
4553
|
+
/** Whether the form refuses to submit while no color is chosen.
|
|
4554
|
+
|
|
4555
|
+
**A color is exactly as requirable as a date**, which is the comparison
|
|
4556
|
+
that settles it: this element extends `HelixFormElement`, carries `name`
|
|
4557
|
+
and reports its value, so a consumer writing
|
|
4558
|
+
`<helix-color-picker name="brand" required>` inside a form has every reason
|
|
4559
|
+
to expect the form to refuse an empty one. Its two siblings in the same
|
|
4560
|
+
composition position, Date Picker and Time Picker, both check it.
|
|
4561
|
+
|
|
4562
|
+
Written out rather than taken from `MixinField`, for the reason those two
|
|
4563
|
+
record: the mixin brings a label, a hint and a feedback region, and this is
|
|
4564
|
+
a panel composed *into* a field that already has all three, so taking it
|
|
4565
|
+
would give one control two of each. What is left is the validity call and
|
|
4566
|
+
the anchor the browser points its bubble at.
|
|
4567
|
+
|
|
4568
|
+
**Emptiness is the only fault reported, and bad input deliberately is
|
|
4569
|
+
not.** The value row is typed into a character at a time and every
|
|
4570
|
+
keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
4571
|
+
reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
4572
|
+
report bad input because their value moves only on a commit. Color Input
|
|
4573
|
+
reports it for this family instead, once, against the field the reader
|
|
4574
|
+
typed into. */
|
|
4575
|
+
"prop:required"?: (HelixColorPicker["required"]) | undefined;
|
|
4357
4576
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
4358
4577
|
"prop:swatches"?: (HelixColorPicker["swatches"]) | undefined;
|
|
4359
4578
|
/** Whether the control is non-interactive.
|
|
@@ -13821,7 +14040,41 @@ a reset should return to. */
|
|
|
13821
14040
|
Zero rather than one, because "no rating" and "the worst rating" are
|
|
13822
14041
|
different answers and a control that cannot express the first has to
|
|
13823
14042
|
pretend the second. A survey that requires an answer says so with
|
|
13824
|
-
`required`, not by making one unreachable.
|
|
14043
|
+
`required`, not by making one unreachable.
|
|
14044
|
+
|
|
14045
|
+
**It is the floor of the scale, and every edge follows from that.**
|
|
14046
|
+
|
|
14047
|
+
*Clearing* returns the row to it. An empty rating, a value nothing can
|
|
14048
|
+
parse, and a form reset with nothing declared are all the same situation,
|
|
14049
|
+
and all three draw `min` filled: at the default of zero that is the empty
|
|
14050
|
+
row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
14051
|
+
`Slider` sits at its own minimum rather than at zero. The value is still
|
|
14052
|
+
`""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
14053
|
+
is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
14054
|
+
answer somebody gave.
|
|
14055
|
+
|
|
14056
|
+
*The steps* are the scores from `step` up to `max` that are not below it,
|
|
14057
|
+
so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
14058
|
+
filled and unpressable. At zero nothing is dropped, which is why the
|
|
14059
|
+
default row is unchanged.
|
|
14060
|
+
|
|
14061
|
+
*The keyboard* moves through those steps and no others. `wrap` is already
|
|
14062
|
+
false here, so arrowing down from the lowest one holds its ground rather
|
|
14063
|
+
than reaching a score this property forbids, and the tab stop an unrated
|
|
14064
|
+
rating carries sits on the lowest score offered rather than on the first
|
|
14065
|
+
mark.
|
|
14066
|
+
|
|
14067
|
+
*A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
14068
|
+
whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
14069
|
+
somewhere the row can be pressed. That is a real thing to ask for and is
|
|
14070
|
+
left to mean what it says.
|
|
14071
|
+
|
|
14072
|
+
*A `min` outside the marks is refused rather than obeyed*, and says so
|
|
14073
|
+
once on the console. Below zero and anything that is not a number are read
|
|
14074
|
+
as zero, there being no mark to draw for a negative score; above `max` is
|
|
14075
|
+
read as `max`, which collapses the scale to its top score rather than
|
|
14076
|
+
leaving a rating with nothing to press. A property that silently accepts
|
|
14077
|
+
nonsense is the fault this pays off, so neither case is quietly ignored. */
|
|
13825
14078
|
min?: (HelixRating["min"]) | undefined;
|
|
13826
14079
|
/** Whether this shows a score rather than asks for one.
|
|
13827
14080
|
|
|
@@ -13961,7 +14214,41 @@ a reset should return to. */
|
|
|
13961
14214
|
Zero rather than one, because "no rating" and "the worst rating" are
|
|
13962
14215
|
different answers and a control that cannot express the first has to
|
|
13963
14216
|
pretend the second. A survey that requires an answer says so with
|
|
13964
|
-
`required`, not by making one unreachable.
|
|
14217
|
+
`required`, not by making one unreachable.
|
|
14218
|
+
|
|
14219
|
+
**It is the floor of the scale, and every edge follows from that.**
|
|
14220
|
+
|
|
14221
|
+
*Clearing* returns the row to it. An empty rating, a value nothing can
|
|
14222
|
+
parse, and a form reset with nothing declared are all the same situation,
|
|
14223
|
+
and all three draw `min` filled: at the default of zero that is the empty
|
|
14224
|
+
row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
14225
|
+
`Slider` sits at its own minimum rather than at zero. The value is still
|
|
14226
|
+
`""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
14227
|
+
is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
14228
|
+
answer somebody gave.
|
|
14229
|
+
|
|
14230
|
+
*The steps* are the scores from `step` up to `max` that are not below it,
|
|
14231
|
+
so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
14232
|
+
filled and unpressable. At zero nothing is dropped, which is why the
|
|
14233
|
+
default row is unchanged.
|
|
14234
|
+
|
|
14235
|
+
*The keyboard* moves through those steps and no others. `wrap` is already
|
|
14236
|
+
false here, so arrowing down from the lowest one holds its ground rather
|
|
14237
|
+
than reaching a score this property forbids, and the tab stop an unrated
|
|
14238
|
+
rating carries sits on the lowest score offered rather than on the first
|
|
14239
|
+
mark.
|
|
14240
|
+
|
|
14241
|
+
*A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
14242
|
+
whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
14243
|
+
somewhere the row can be pressed. That is a real thing to ask for and is
|
|
14244
|
+
left to mean what it says.
|
|
14245
|
+
|
|
14246
|
+
*A `min` outside the marks is refused rather than obeyed*, and says so
|
|
14247
|
+
once on the console. Below zero and anything that is not a number are read
|
|
14248
|
+
as zero, there being no mark to draw for a negative score; above `max` is
|
|
14249
|
+
read as `max`, which collapses the scale to its top score rather than
|
|
14250
|
+
leaving a rating with nothing to press. A property that silently accepts
|
|
14251
|
+
nonsense is the fault this pays off, so neither case is quietly ignored. */
|
|
13965
14252
|
"prop:min"?: (HelixRating["min"]) | undefined;
|
|
13966
14253
|
/** Whether this shows a score rather than asks for one.
|
|
13967
14254
|
|
|
@@ -21109,17 +21396,23 @@ export type CustomElements = {
|
|
|
21109
21396
|
* exaggerating, and a streak whose length has passed through zero is drawn
|
|
21110
21397
|
* as a bar across the whole frame.
|
|
21111
21398
|
*
|
|
21112
|
-
* Read by
|
|
21399
|
+
* Read by six of the eleven shapes, the ones made of many similar things,
|
|
21113
21400
|
* whether those are counted or continuous: `streaks`, whose lanes draw a
|
|
21114
21401
|
* speed, a length, a width, a spacing and a weight apiece; `particles`, whose
|
|
21115
|
-
* motes draw a size, a brightness and a wander;
|
|
21116
|
-
* fan, bundles and folds widen or even out
|
|
21117
|
-
*
|
|
21118
|
-
*
|
|
21119
|
-
*
|
|
21120
|
-
*
|
|
21121
|
-
*
|
|
21122
|
-
*
|
|
21402
|
+
* motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
|
|
21403
|
+
* fan, bundles and folds widen or even out; `caustics`, whose three depths of
|
|
21404
|
+
* fold close on one scale and one weight while the pool over them flattens to
|
|
21405
|
+
* an even wash; and `fracture`, whose sites come home to their own cell
|
|
21406
|
+
* centers, leaving equal territories and no border more contested than
|
|
21407
|
+
* another.
|
|
21408
|
+
*
|
|
21409
|
+
* Inert on the other five, and every one of them a refusal. `braid`, `waves`
|
|
21410
|
+
* and `flow` have a single subject and nothing to vary. `threads` and
|
|
21411
|
+
* `lattice` are even on purpose, a scatter of strands and a regular structure
|
|
21412
|
+
* each being what it is because its members do not differ: `threads` gives
|
|
21413
|
+
* its seven one amplitude, one thickness, one weight and one frequency on
|
|
21414
|
+
* the argument that alike is what makes a weave read as woven, and a lattice
|
|
21415
|
+
* whose cells differed would be a scatter with straight lines in it.
|
|
21123
21416
|
* - `variant`: Which form the light takes. Absent is `braid`.
|
|
21124
21417
|
*
|
|
21125
21418
|
* Reflected because the fallback gradient selects on it, and given no default
|
|
@@ -22545,9 +22838,12 @@ export type CustomElements = {
|
|
|
22545
22838
|
* browser's own momentum and the controls only have to scroll.
|
|
22546
22839
|
*
|
|
22547
22840
|
* Slides take the full track by default. `per-view` fits more than one across,
|
|
22548
|
-
*
|
|
22841
|
+
* at any count, and is declared on the tier below because it decides how many
|
|
22549
22842
|
* positions the track has rather than only how wide a slide is,
|
|
22550
22843
|
* which is what a run of cards wants rather than a run of full-width panels.
|
|
22844
|
+
* This sheet divides the track by the number that tier publishes rather than
|
|
22845
|
+
* enumerating the values it will answer for, so there is no count it silently
|
|
22846
|
+
* draws one across.
|
|
22551
22847
|
*
|
|
22552
22848
|
* ## Attributes & Properties
|
|
22553
22849
|
*
|
|
@@ -22678,6 +22974,27 @@ export type CustomElements = {
|
|
|
22678
22974
|
* offset the track has already reached: pressing next walks the dots to the
|
|
22679
22975
|
* end while the slides stop moving a third of the way through.
|
|
22680
22976
|
*
|
|
22977
|
+
* **The number is published to the styles rather than enumerated by them**,
|
|
22978
|
+
* as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
22979
|
+
* count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
22980
|
+
* so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
22981
|
+
* judgment; above it the pane fell back to one across while this file went on
|
|
22982
|
+
* counting positions. Measured in Chromium over eight slides, six across gave
|
|
22983
|
+
* three dots, a pane taking the whole track and five slides reachable only by
|
|
22984
|
+
* dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
22985
|
+
* own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
22986
|
+
* its correction the same way and for the same reason.
|
|
22987
|
+
*
|
|
22988
|
+
* **On the track and not on the host.** A custom property on the host is a
|
|
22989
|
+
* reflected attribute by another name: it would arrive on upgrade, and a
|
|
22990
|
+
* consumer's server markup never had it. Inside the component's own shadow
|
|
22991
|
+
* root it serializes with the rest of the template on the server, and the
|
|
22992
|
+
* track's own declaration beats anything a consumer inherits in, so the
|
|
22993
|
+
* attribute is the one answer to how wide a pane is.
|
|
22994
|
+
*
|
|
22995
|
+
* A value the track cannot honor is taken to the nearest one it can, by
|
|
22996
|
+
* `across`, and both tiers read that rather than this.
|
|
22997
|
+
*
|
|
22681
22998
|
* No default, because it reflects. A reflected property with a value writes
|
|
22682
22999
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
22683
23000
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -22736,6 +23053,7 @@ export type CustomElements = {
|
|
|
22736
23053
|
* - `--carousel-block-size`: Height of a vertical track. (default: `undefined`)
|
|
22737
23054
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
22738
23055
|
* - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
23056
|
+
* - `--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`)
|
|
22739
23057
|
* - `--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`)
|
|
22740
23058
|
*
|
|
22741
23059
|
* ## CSS Parts
|
|
@@ -24049,6 +24367,46 @@ export type CustomElements = {
|
|
|
24049
24367
|
* answer to which one is authoritative or which has the caret. Do not close it
|
|
24050
24368
|
* the other way round, with Color Input dropping its own field: the value
|
|
24051
24369
|
* would then be unreadable and unpasteable without opening a panel.
|
|
24370
|
+
* - `readonly`/`readOnly`: Whether the control refuses changes while still submitting its value.
|
|
24371
|
+
*
|
|
24372
|
+
* **Enforced by refusing every request in one place**, which is the seam this
|
|
24373
|
+
* component already has: `requestValue` is what every path here comes through,
|
|
24374
|
+
* and gating it once is what stops the next call site from being written
|
|
24375
|
+
* without the check.
|
|
24376
|
+
*
|
|
24377
|
+
* Not `disabled`, which is the confusion worth naming: a disabled control
|
|
24378
|
+
* submits nothing and leaves the tab order, and a read-only one submits its
|
|
24379
|
+
* value and stays reachable, which is what a form showing a color somebody
|
|
24380
|
+
* else set needs.
|
|
24381
|
+
*
|
|
24382
|
+
* **One gate is not enough here, and the second is `move`.** This picker
|
|
24383
|
+
* holds a model beside its value, which Date Picker and Time Picker do not:
|
|
24384
|
+
* `moved` is the HSB the square is drawn from, and it is written before the
|
|
24385
|
+
* value is requested. Gating only the request would leave the square under
|
|
24386
|
+
* the reader's pointer and the value where it was, which is a control that
|
|
24387
|
+
* refuses and looks like it accepted.
|
|
24388
|
+
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
24389
|
+
*
|
|
24390
|
+
* **A color is exactly as requirable as a date**, which is the comparison
|
|
24391
|
+
* that settles it: this element extends `HelixFormElement`, carries `name`
|
|
24392
|
+
* and reports its value, so a consumer writing
|
|
24393
|
+
* `<helix-color-picker name="brand" required>` inside a form has every reason
|
|
24394
|
+
* to expect the form to refuse an empty one. Its two siblings in the same
|
|
24395
|
+
* composition position, Date Picker and Time Picker, both check it.
|
|
24396
|
+
*
|
|
24397
|
+
* Written out rather than taken from `MixinField`, for the reason those two
|
|
24398
|
+
* record: the mixin brings a label, a hint and a feedback region, and this is
|
|
24399
|
+
* a panel composed *into* a field that already has all three, so taking it
|
|
24400
|
+
* would give one control two of each. What is left is the validity call and
|
|
24401
|
+
* the anchor the browser points its bubble at.
|
|
24402
|
+
*
|
|
24403
|
+
* **Emptiness is the only fault reported, and bad input deliberately is
|
|
24404
|
+
* not.** The value row is typed into a character at a time and every
|
|
24405
|
+
* keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
24406
|
+
* reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
24407
|
+
* report bad input because their value moves only on a commit. Color Input
|
|
24408
|
+
* reports it for this family instead, once, against the field the reader
|
|
24409
|
+
* typed into.
|
|
24052
24410
|
* - `swatches`: Colors offered under the picker, as a comma-separated list.
|
|
24053
24411
|
* - `disabled`: Whether the control is non-interactive.
|
|
24054
24412
|
*
|
|
@@ -33084,6 +33442,40 @@ export type CustomElements = {
|
|
|
33084
33442
|
* different answers and a control that cannot express the first has to
|
|
33085
33443
|
* pretend the second. A survey that requires an answer says so with
|
|
33086
33444
|
* `required`, not by making one unreachable.
|
|
33445
|
+
*
|
|
33446
|
+
* **It is the floor of the scale, and every edge follows from that.**
|
|
33447
|
+
*
|
|
33448
|
+
* *Clearing* returns the row to it. An empty rating, a value nothing can
|
|
33449
|
+
* parse, and a form reset with nothing declared are all the same situation,
|
|
33450
|
+
* and all three draw `min` filled: at the default of zero that is the empty
|
|
33451
|
+
* row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
33452
|
+
* `Slider` sits at its own minimum rather than at zero. The value is still
|
|
33453
|
+
* `""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
33454
|
+
* is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
33455
|
+
* answer somebody gave.
|
|
33456
|
+
*
|
|
33457
|
+
* *The steps* are the scores from `step` up to `max` that are not below it,
|
|
33458
|
+
* so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
33459
|
+
* filled and unpressable. At zero nothing is dropped, which is why the
|
|
33460
|
+
* default row is unchanged.
|
|
33461
|
+
*
|
|
33462
|
+
* *The keyboard* moves through those steps and no others. `wrap` is already
|
|
33463
|
+
* false here, so arrowing down from the lowest one holds its ground rather
|
|
33464
|
+
* than reaching a score this property forbids, and the tab stop an unrated
|
|
33465
|
+
* rating carries sits on the lowest score offered rather than on the first
|
|
33466
|
+
* mark.
|
|
33467
|
+
*
|
|
33468
|
+
* *A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
33469
|
+
* whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
33470
|
+
* somewhere the row can be pressed. That is a real thing to ask for and is
|
|
33471
|
+
* left to mean what it says.
|
|
33472
|
+
*
|
|
33473
|
+
* *A `min` outside the marks is refused rather than obeyed*, and says so
|
|
33474
|
+
* once on the console. Below zero and anything that is not a number are read
|
|
33475
|
+
* as zero, there being no mark to draw for a negative score; above `max` is
|
|
33476
|
+
* read as `max`, which collapses the scale to its top score rather than
|
|
33477
|
+
* leaving a rating with nothing to press. A property that silently accepts
|
|
33478
|
+
* nonsense is the fault this pays off, so neither case is quietly ignored.
|
|
33087
33479
|
* - `readonly`/`readOnly`: Whether this shows a score rather than asks for one.
|
|
33088
33480
|
*
|
|
33089
33481
|
* A readout is not a control that has been switched off. It takes no focus,
|
|
@@ -33241,14 +33633,15 @@ export type CustomElements = {
|
|
|
33241
33633
|
* - `--rating-size`: How big one mark is. (default: `undefined`)
|
|
33242
33634
|
* - `--rating-full`: How many marks are wholly filled. (default: `undefined`)
|
|
33243
33635
|
* - `--rating-part`: How much of the next mark is filled, 0 to 1. (default: `undefined`)
|
|
33244
|
-
* - `--rating-step`:
|
|
33245
|
-
* - `--rating-steps`: How many steps
|
|
33636
|
+
* - `--rating-step`: Which step along the row a target is, counting from one, whatever `min` leaves open. (default: `undefined`)
|
|
33637
|
+
* - `--rating-steps`: How many steps the whole row holds, which is `max` over `step`. (default: `undefined`)
|
|
33246
33638
|
*
|
|
33247
33639
|
* ## CSS Parts
|
|
33248
33640
|
*
|
|
33249
33641
|
* Custom selectors for styling elements within the component.
|
|
33250
33642
|
*
|
|
33251
33643
|
* - `feedback`: What is wrong with it.
|
|
33644
|
+
* - `field`: The row: the marks, and the score beside them.
|
|
33252
33645
|
* - `fill`: The filled marks, clipped to the score.
|
|
33253
33646
|
* - `hint`: Help under the marks, while nothing is wrong.
|
|
33254
33647
|
* - `label`: The question, over the marks.
|
|
@@ -40405,17 +40798,23 @@ export type CustomElementsSolidJs = {
|
|
|
40405
40798
|
* exaggerating, and a streak whose length has passed through zero is drawn
|
|
40406
40799
|
* as a bar across the whole frame.
|
|
40407
40800
|
*
|
|
40408
|
-
* Read by
|
|
40801
|
+
* Read by six of the eleven shapes, the ones made of many similar things,
|
|
40409
40802
|
* whether those are counted or continuous: `streaks`, whose lanes draw a
|
|
40410
40803
|
* speed, a length, a width, a spacing and a weight apiece; `particles`, whose
|
|
40411
|
-
* motes draw a size, a brightness and a wander;
|
|
40412
|
-
* fan, bundles and folds widen or even out
|
|
40413
|
-
*
|
|
40414
|
-
*
|
|
40415
|
-
*
|
|
40416
|
-
*
|
|
40417
|
-
*
|
|
40418
|
-
*
|
|
40804
|
+
* motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
|
|
40805
|
+
* fan, bundles and folds widen or even out; `caustics`, whose three depths of
|
|
40806
|
+
* fold close on one scale and one weight while the pool over them flattens to
|
|
40807
|
+
* an even wash; and `fracture`, whose sites come home to their own cell
|
|
40808
|
+
* centers, leaving equal territories and no border more contested than
|
|
40809
|
+
* another.
|
|
40810
|
+
*
|
|
40811
|
+
* Inert on the other five, and every one of them a refusal. `braid`, `waves`
|
|
40812
|
+
* and `flow` have a single subject and nothing to vary. `threads` and
|
|
40813
|
+
* `lattice` are even on purpose, a scatter of strands and a regular structure
|
|
40814
|
+
* each being what it is because its members do not differ: `threads` gives
|
|
40815
|
+
* its seven one amplitude, one thickness, one weight and one frequency on
|
|
40816
|
+
* the argument that alike is what makes a weave read as woven, and a lattice
|
|
40817
|
+
* whose cells differed would be a scatter with straight lines in it.
|
|
40419
40818
|
* - `variant`: Which form the light takes. Absent is `braid`.
|
|
40420
40819
|
*
|
|
40421
40820
|
* Reflected because the fallback gradient selects on it, and given no default
|
|
@@ -41877,9 +42276,12 @@ export type CustomElementsSolidJs = {
|
|
|
41877
42276
|
* browser's own momentum and the controls only have to scroll.
|
|
41878
42277
|
*
|
|
41879
42278
|
* Slides take the full track by default. `per-view` fits more than one across,
|
|
41880
|
-
*
|
|
42279
|
+
* at any count, and is declared on the tier below because it decides how many
|
|
41881
42280
|
* positions the track has rather than only how wide a slide is,
|
|
41882
42281
|
* which is what a run of cards wants rather than a run of full-width panels.
|
|
42282
|
+
* This sheet divides the track by the number that tier publishes rather than
|
|
42283
|
+
* enumerating the values it will answer for, so there is no count it silently
|
|
42284
|
+
* draws one across.
|
|
41883
42285
|
*
|
|
41884
42286
|
* ## Attributes & Properties
|
|
41885
42287
|
*
|
|
@@ -42010,6 +42412,27 @@ export type CustomElementsSolidJs = {
|
|
|
42010
42412
|
* offset the track has already reached: pressing next walks the dots to the
|
|
42011
42413
|
* end while the slides stop moving a third of the way through.
|
|
42012
42414
|
*
|
|
42415
|
+
* **The number is published to the styles rather than enumerated by them**,
|
|
42416
|
+
* as `--carousel-per-view` on the track, which is what keeps a width and a
|
|
42417
|
+
* count from disagreeing. A sheet can only name a value it wrote a rule for,
|
|
42418
|
+
* so the styled tier enumerated `per-view="2"` through `5` and called five a
|
|
42419
|
+
* judgment; above it the pane fell back to one across while this file went on
|
|
42420
|
+
* counting positions. Measured in Chromium over eight slides, six across gave
|
|
42421
|
+
* three dots, a pane taking the whole track and five slides reachable only by
|
|
42422
|
+
* dragging. Written from here there is no ceiling to exceed, and a consumer's
|
|
42423
|
+
* own sheet reads the same declaration the styled one does. `runEnd` publishes
|
|
42424
|
+
* its correction the same way and for the same reason.
|
|
42425
|
+
*
|
|
42426
|
+
* **On the track and not on the host.** A custom property on the host is a
|
|
42427
|
+
* reflected attribute by another name: it would arrive on upgrade, and a
|
|
42428
|
+
* consumer's server markup never had it. Inside the component's own shadow
|
|
42429
|
+
* root it serializes with the rest of the template on the server, and the
|
|
42430
|
+
* track's own declaration beats anything a consumer inherits in, so the
|
|
42431
|
+
* attribute is the one answer to how wide a pane is.
|
|
42432
|
+
*
|
|
42433
|
+
* A value the track cannot honor is taken to the nearest one it can, by
|
|
42434
|
+
* `across`, and both tiers read that rather than this.
|
|
42435
|
+
*
|
|
42013
42436
|
* No default, because it reflects. A reflected property with a value writes
|
|
42014
42437
|
* its attribute on upgrade, and the host then carries something a consumer's
|
|
42015
42438
|
* server markup never had, which React reports as a mismatch. The one-across
|
|
@@ -42068,6 +42491,7 @@ export type CustomElementsSolidJs = {
|
|
|
42068
42491
|
* - `--carousel-block-size`: Height of a vertical track. (default: `undefined`)
|
|
42069
42492
|
* - `--carousel-gap`: Space between slides. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
42070
42493
|
* - `--carousel-pane`: The size one pane is laid out at. A sheet sets it and the component measures the run with it. (default: `undefined`)
|
|
42494
|
+
* - `--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`)
|
|
42071
42495
|
* - `--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`)
|
|
42072
42496
|
*
|
|
42073
42497
|
* ## CSS Parts
|
|
@@ -43406,6 +43830,46 @@ export type CustomElementsSolidJs = {
|
|
|
43406
43830
|
* answer to which one is authoritative or which has the caret. Do not close it
|
|
43407
43831
|
* the other way round, with Color Input dropping its own field: the value
|
|
43408
43832
|
* would then be unreadable and unpasteable without opening a panel.
|
|
43833
|
+
* - `readonly`/`readOnly`: Whether the control refuses changes while still submitting its value.
|
|
43834
|
+
*
|
|
43835
|
+
* **Enforced by refusing every request in one place**, which is the seam this
|
|
43836
|
+
* component already has: `requestValue` is what every path here comes through,
|
|
43837
|
+
* and gating it once is what stops the next call site from being written
|
|
43838
|
+
* without the check.
|
|
43839
|
+
*
|
|
43840
|
+
* Not `disabled`, which is the confusion worth naming: a disabled control
|
|
43841
|
+
* submits nothing and leaves the tab order, and a read-only one submits its
|
|
43842
|
+
* value and stays reachable, which is what a form showing a color somebody
|
|
43843
|
+
* else set needs.
|
|
43844
|
+
*
|
|
43845
|
+
* **One gate is not enough here, and the second is `move`.** This picker
|
|
43846
|
+
* holds a model beside its value, which Date Picker and Time Picker do not:
|
|
43847
|
+
* `moved` is the HSB the square is drawn from, and it is written before the
|
|
43848
|
+
* value is requested. Gating only the request would leave the square under
|
|
43849
|
+
* the reader's pointer and the value where it was, which is a control that
|
|
43850
|
+
* refuses and looks like it accepted.
|
|
43851
|
+
* - `required`: Whether the form refuses to submit while no color is chosen.
|
|
43852
|
+
*
|
|
43853
|
+
* **A color is exactly as requirable as a date**, which is the comparison
|
|
43854
|
+
* that settles it: this element extends `HelixFormElement`, carries `name`
|
|
43855
|
+
* and reports its value, so a consumer writing
|
|
43856
|
+
* `<helix-color-picker name="brand" required>` inside a form has every reason
|
|
43857
|
+
* to expect the form to refuse an empty one. Its two siblings in the same
|
|
43858
|
+
* composition position, Date Picker and Time Picker, both check it.
|
|
43859
|
+
*
|
|
43860
|
+
* Written out rather than taken from `MixinField`, for the reason those two
|
|
43861
|
+
* record: the mixin brings a label, a hint and a feedback region, and this is
|
|
43862
|
+
* a panel composed *into* a field that already has all three, so taking it
|
|
43863
|
+
* would give one control two of each. What is left is the validity call and
|
|
43864
|
+
* the anchor the browser points its bubble at.
|
|
43865
|
+
*
|
|
43866
|
+
* **Emptiness is the only fault reported, and bad input deliberately is
|
|
43867
|
+
* not.** The value row is typed into a character at a time and every
|
|
43868
|
+
* keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
|
|
43869
|
+
* reported fault on the way to `#00ff00`. Date Picker and Time Picker can
|
|
43870
|
+
* report bad input because their value moves only on a commit. Color Input
|
|
43871
|
+
* reports it for this family instead, once, against the field the reader
|
|
43872
|
+
* typed into.
|
|
43409
43873
|
* - `swatches`: Colors offered under the picker, as a comma-separated list.
|
|
43410
43874
|
* - `disabled`: Whether the control is non-interactive.
|
|
43411
43875
|
*
|
|
@@ -52627,6 +53091,40 @@ export type CustomElementsSolidJs = {
|
|
|
52627
53091
|
* different answers and a control that cannot express the first has to
|
|
52628
53092
|
* pretend the second. A survey that requires an answer says so with
|
|
52629
53093
|
* `required`, not by making one unreachable.
|
|
53094
|
+
*
|
|
53095
|
+
* **It is the floor of the scale, and every edge follows from that.**
|
|
53096
|
+
*
|
|
53097
|
+
* *Clearing* returns the row to it. An empty rating, a value nothing can
|
|
53098
|
+
* parse, and a form reset with nothing declared are all the same situation,
|
|
53099
|
+
* and all three draw `min` filled: at the default of zero that is the empty
|
|
53100
|
+
* row this always drew, and at `min="2"` it is two marks, the way an empty
|
|
53101
|
+
* `Slider` sits at its own minimum rather than at zero. The value is still
|
|
53102
|
+
* `""` through all of it, so `required` still refuses it and `valueAsNumber`
|
|
53103
|
+
* is still `NaN`: what the row shows is the bottom of the scale, not an
|
|
53104
|
+
* answer somebody gave.
|
|
53105
|
+
*
|
|
53106
|
+
* *The steps* are the scores from `step` up to `max` that are not below it,
|
|
53107
|
+
* so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
|
|
53108
|
+
* filled and unpressable. At zero nothing is dropped, which is why the
|
|
53109
|
+
* default row is unchanged.
|
|
53110
|
+
*
|
|
53111
|
+
* *The keyboard* moves through those steps and no others. `wrap` is already
|
|
53112
|
+
* false here, so arrowing down from the lowest one holds its ground rather
|
|
53113
|
+
* than reaching a score this property forbids, and the tab stop an unrated
|
|
53114
|
+
* rating carries sits on the lowest score offered rather than on the first
|
|
53115
|
+
* mark.
|
|
53116
|
+
*
|
|
53117
|
+
* *A `min` between two steps* is a floor and not a step: `min="1.5"` with
|
|
53118
|
+
* whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
|
|
53119
|
+
* somewhere the row can be pressed. That is a real thing to ask for and is
|
|
53120
|
+
* left to mean what it says.
|
|
53121
|
+
*
|
|
53122
|
+
* *A `min` outside the marks is refused rather than obeyed*, and says so
|
|
53123
|
+
* once on the console. Below zero and anything that is not a number are read
|
|
53124
|
+
* as zero, there being no mark to draw for a negative score; above `max` is
|
|
53125
|
+
* read as `max`, which collapses the scale to its top score rather than
|
|
53126
|
+
* leaving a rating with nothing to press. A property that silently accepts
|
|
53127
|
+
* nonsense is the fault this pays off, so neither case is quietly ignored.
|
|
52630
53128
|
* - `readonly`/`readOnly`: Whether this shows a score rather than asks for one.
|
|
52631
53129
|
*
|
|
52632
53130
|
* A readout is not a control that has been switched off. It takes no focus,
|
|
@@ -52784,14 +53282,15 @@ export type CustomElementsSolidJs = {
|
|
|
52784
53282
|
* - `--rating-size`: How big one mark is. (default: `undefined`)
|
|
52785
53283
|
* - `--rating-full`: How many marks are wholly filled. (default: `undefined`)
|
|
52786
53284
|
* - `--rating-part`: How much of the next mark is filled, 0 to 1. (default: `undefined`)
|
|
52787
|
-
* - `--rating-step`:
|
|
52788
|
-
* - `--rating-steps`: How many steps
|
|
53285
|
+
* - `--rating-step`: Which step along the row a target is, counting from one, whatever `min` leaves open. (default: `undefined`)
|
|
53286
|
+
* - `--rating-steps`: How many steps the whole row holds, which is `max` over `step`. (default: `undefined`)
|
|
52789
53287
|
*
|
|
52790
53288
|
* ## CSS Parts
|
|
52791
53289
|
*
|
|
52792
53290
|
* Custom selectors for styling elements within the component.
|
|
52793
53291
|
*
|
|
52794
53292
|
* - `feedback`: What is wrong with it.
|
|
53293
|
+
* - `field`: The row: the marks, and the score beside them.
|
|
52795
53294
|
* - `fill`: The filled marks, clipped to the score.
|
|
52796
53295
|
* - `hint`: Help under the marks, while nothing is wrong.
|
|
52797
53296
|
* - `label`: The question, over the marks.
|
|
@@ -59467,6 +59966,8 @@ export type CustomCssProperties = {
|
|
|
59467
59966
|
"--carousel-gap"?: (string) | undefined;
|
|
59468
59967
|
/** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
|
|
59469
59968
|
"--carousel-pane"?: (string) | undefined;
|
|
59969
|
+
/** 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`. */
|
|
59970
|
+
"--carousel-per-view"?: (string) | undefined;
|
|
59470
59971
|
/** 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`. */
|
|
59471
59972
|
"--carousel-run-end"?: (string) | undefined;
|
|
59472
59973
|
/** Fill behind the composer. */
|
|
@@ -60047,9 +60548,9 @@ export type CustomCssProperties = {
|
|
|
60047
60548
|
"--rating-full"?: (string) | undefined;
|
|
60048
60549
|
/** How much of the next mark is filled, 0 to 1. */
|
|
60049
60550
|
"--rating-part"?: (string) | undefined;
|
|
60050
|
-
/**
|
|
60551
|
+
/** Which step along the row a target is, counting from one, whatever `min` leaves open. */
|
|
60051
60552
|
"--rating-step"?: (string) | undefined;
|
|
60052
|
-
/** How many steps
|
|
60553
|
+
/** How many steps the whole row holds, which is `max` over `step`. */
|
|
60053
60554
|
"--rating-steps"?: (string) | undefined;
|
|
60054
60555
|
/** The invisible width of a divider's drag target. */
|
|
60055
60556
|
"--sandbox-grab"?: (string) | undefined;
|