@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/types/vue.d.ts CHANGED
@@ -612,17 +612,23 @@ are interpolations, so a larger number extrapolates rather than
612
612
  exaggerating, and a streak whose length has passed through zero is drawn
613
613
  as a bar across the whole frame.
614
614
 
615
- Read by four of the eleven shapes, the ones made of many similar things,
615
+ Read by six of the eleven shapes, the ones made of many similar things,
616
616
  whether those are counted or continuous: `streaks`, whose lanes draw a
617
617
  speed, a length, a width, a spacing and a weight apiece; `particles`, whose
618
- motes draw a size, a brightness and a wander; and `rays` and `aurora`, whose
619
- fan, bundles and folds widen or even out.
620
-
621
- Inert on the other seven, for three different reasons. `braid`, `waves` and
622
- `flow` have a single subject and nothing to vary. `threads` and `lattice`
623
- are even on purpose, a scatter of strands and a regular structure each being
624
- what it is because its members do not differ. `caustics` and `fracture` are
625
- populations this does not reach, which is a gap rather than a refusal. */
618
+ motes draw a size, a brightness and a wander; `rays` and `aurora`, whose
619
+ fan, bundles and folds widen or even out; `caustics`, whose three depths of
620
+ fold close on one scale and one weight while the pool over them flattens to
621
+ an even wash; and `fracture`, whose sites come home to their own cell
622
+ centers, leaving equal territories and no border more contested than
623
+ another.
624
+
625
+ Inert on the other five, and every one of them a refusal. `braid`, `waves`
626
+ and `flow` have a single subject and nothing to vary. `threads` and
627
+ `lattice` are even on purpose, a scatter of strands and a regular structure
628
+ each being what it is because its members do not differ: `threads` gives
629
+ its seven one amplitude, one thickness, one weight and one frequency on
630
+ the argument that alike is what makes a weave read as woven, and a lattice
631
+ whose cells differed would be a scatter with straight lines in it. */
626
632
  variance?: (HelixAura["variance"]) | undefined;
627
633
  /** Which form the light takes. Absent is `braid`.
628
634
 
@@ -1534,6 +1540,27 @@ clamps to the last *slide*, so three of the six indicators point at an
1534
1540
  offset the track has already reached: pressing next walks the dots to the
1535
1541
  end while the slides stop moving a third of the way through.
1536
1542
 
1543
+ **The number is published to the styles rather than enumerated by them**,
1544
+ as `--carousel-per-view` on the track, which is what keeps a width and a
1545
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
1546
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
1547
+ judgment; above it the pane fell back to one across while this file went on
1548
+ counting positions. Measured in Chromium over eight slides, six across gave
1549
+ three dots, a pane taking the whole track and five slides reachable only by
1550
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
1551
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
1552
+ its correction the same way and for the same reason.
1553
+
1554
+ **On the track and not on the host.** A custom property on the host is a
1555
+ reflected attribute by another name: it would arrive on upgrade, and a
1556
+ consumer's server markup never had it. Inside the component's own shadow
1557
+ root it serializes with the rest of the template on the server, and the
1558
+ track's own declaration beats anything a consumer inherits in, so the
1559
+ attribute is the one answer to how wide a pane is.
1560
+
1561
+ A value the track cannot honor is taken to the nearest one it can, by
1562
+ `across`, and both tiers read that rather than this.
1563
+
1537
1564
  No default, because it reflects. A reflected property with a value writes
1538
1565
  its attribute on upgrade, and the host then carries something a consumer's
1539
1566
  server markup never had, which React reports as a mismatch. The one-across
@@ -1550,6 +1577,27 @@ clamps to the last *slide*, so three of the six indicators point at an
1550
1577
  offset the track has already reached: pressing next walks the dots to the
1551
1578
  end while the slides stop moving a third of the way through.
1552
1579
 
1580
+ **The number is published to the styles rather than enumerated by them**,
1581
+ as `--carousel-per-view` on the track, which is what keeps a width and a
1582
+ count from disagreeing. A sheet can only name a value it wrote a rule for,
1583
+ so the styled tier enumerated `per-view="2"` through `5` and called five a
1584
+ judgment; above it the pane fell back to one across while this file went on
1585
+ counting positions. Measured in Chromium over eight slides, six across gave
1586
+ three dots, a pane taking the whole track and five slides reachable only by
1587
+ dragging. Written from here there is no ceiling to exceed, and a consumer's
1588
+ own sheet reads the same declaration the styled one does. `runEnd` publishes
1589
+ its correction the same way and for the same reason.
1590
+
1591
+ **On the track and not on the host.** A custom property on the host is a
1592
+ reflected attribute by another name: it would arrive on upgrade, and a
1593
+ consumer's server markup never had it. Inside the component's own shadow
1594
+ root it serializes with the rest of the template on the server, and the
1595
+ track's own declaration beats anything a consumer inherits in, so the
1596
+ attribute is the one answer to how wide a pane is.
1597
+
1598
+ A value the track cannot honor is taken to the nearest one it can, by
1599
+ `across`, and both tiers read that rather than this.
1600
+
1553
1601
  No default, because it reflects. A reflected property with a value writes
1554
1602
  its attribute on upgrade, and the host then carries something a consumer's
1555
1603
  server markup never had, which React reports as a mismatch. The one-across
@@ -2210,6 +2258,67 @@ answer to which one is authoritative or which has the caret. Do not close it
2210
2258
  the other way round, with Color Input dropping its own field: the value
2211
2259
  would then be unreadable and unpasteable without opening a panel. */
2212
2260
  noValue?: (HelixColorPicker["noValue"]) | undefined;
2261
+ /** Whether the control refuses changes while still submitting its value.
2262
+
2263
+ **Enforced by refusing every request in one place**, which is the seam this
2264
+ component already has: `requestValue` is what every path here comes through,
2265
+ and gating it once is what stops the next call site from being written
2266
+ without the check.
2267
+
2268
+ Not `disabled`, which is the confusion worth naming: a disabled control
2269
+ submits nothing and leaves the tab order, and a read-only one submits its
2270
+ value and stays reachable, which is what a form showing a color somebody
2271
+ else set needs.
2272
+
2273
+ **One gate is not enough here, and the second is `move`.** This picker
2274
+ holds a model beside its value, which Date Picker and Time Picker do not:
2275
+ `moved` is the HSB the square is drawn from, and it is written before the
2276
+ value is requested. Gating only the request would leave the square under
2277
+ the reader's pointer and the value where it was, which is a control that
2278
+ refuses and looks like it accepted. */
2279
+ readonly?: (HelixColorPicker["readOnly"]) | undefined;
2280
+ /** Whether the control refuses changes while still submitting its value.
2281
+
2282
+ **Enforced by refusing every request in one place**, which is the seam this
2283
+ component already has: `requestValue` is what every path here comes through,
2284
+ and gating it once is what stops the next call site from being written
2285
+ without the check.
2286
+
2287
+ Not `disabled`, which is the confusion worth naming: a disabled control
2288
+ submits nothing and leaves the tab order, and a read-only one submits its
2289
+ value and stays reachable, which is what a form showing a color somebody
2290
+ else set needs.
2291
+
2292
+ **One gate is not enough here, and the second is `move`.** This picker
2293
+ holds a model beside its value, which Date Picker and Time Picker do not:
2294
+ `moved` is the HSB the square is drawn from, and it is written before the
2295
+ value is requested. Gating only the request would leave the square under
2296
+ the reader's pointer and the value where it was, which is a control that
2297
+ refuses and looks like it accepted. */
2298
+ readOnly?: (HelixColorPicker["readOnly"]) | undefined;
2299
+ /** Whether the form refuses to submit while no color is chosen.
2300
+
2301
+ **A color is exactly as requirable as a date**, which is the comparison
2302
+ that settles it: this element extends `HelixFormElement`, carries `name`
2303
+ and reports its value, so a consumer writing
2304
+ `<helix-color-picker name="brand" required>` inside a form has every reason
2305
+ to expect the form to refuse an empty one. Its two siblings in the same
2306
+ composition position, Date Picker and Time Picker, both check it.
2307
+
2308
+ Written out rather than taken from `MixinField`, for the reason those two
2309
+ record: the mixin brings a label, a hint and a feedback region, and this is
2310
+ a panel composed *into* a field that already has all three, so taking it
2311
+ would give one control two of each. What is left is the validity call and
2312
+ the anchor the browser points its bubble at.
2313
+
2314
+ **Emptiness is the only fault reported, and bad input deliberately is
2315
+ not.** The value row is typed into a character at a time and every
2316
+ keystroke reaches `requestValue`, so `#0`, `#00` and `#00f` would each be a
2317
+ reported fault on the way to `#00ff00`. Date Picker and Time Picker can
2318
+ report bad input because their value moves only on a commit. Color Input
2319
+ reports it for this family instead, once, against the field the reader
2320
+ typed into. */
2321
+ required?: (HelixColorPicker["required"]) | undefined;
2213
2322
  /** Colors offered under the picker, as a comma-separated list. */
2214
2323
  swatches?: (HelixColorPicker["swatches"]) | undefined;
2215
2324
  /** Whether the control is non-interactive.
@@ -7104,7 +7213,41 @@ a reset should return to. */
7104
7213
  Zero rather than one, because "no rating" and "the worst rating" are
7105
7214
  different answers and a control that cannot express the first has to
7106
7215
  pretend the second. A survey that requires an answer says so with
7107
- `required`, not by making one unreachable. */
7216
+ `required`, not by making one unreachable.
7217
+
7218
+ **It is the floor of the scale, and every edge follows from that.**
7219
+
7220
+ *Clearing* returns the row to it. An empty rating, a value nothing can
7221
+ parse, and a form reset with nothing declared are all the same situation,
7222
+ and all three draw `min` filled: at the default of zero that is the empty
7223
+ row this always drew, and at `min="2"` it is two marks, the way an empty
7224
+ `Slider` sits at its own minimum rather than at zero. The value is still
7225
+ `""` through all of it, so `required` still refuses it and `valueAsNumber`
7226
+ is still `NaN`: what the row shows is the bottom of the scale, not an
7227
+ answer somebody gave.
7228
+
7229
+ *The steps* are the scores from `step` up to `max` that are not below it,
7230
+ so `min="2"` on five marks offers 2 to 5 and leaves the first two marks
7231
+ filled and unpressable. At zero nothing is dropped, which is why the
7232
+ default row is unchanged.
7233
+
7234
+ *The keyboard* moves through those steps and no others. `wrap` is already
7235
+ false here, so arrowing down from the lowest one holds its ground rather
7236
+ than reaching a score this property forbids, and the tab stop an unrated
7237
+ rating carries sits on the lowest score offered rather than on the first
7238
+ mark.
7239
+
7240
+ *A `min` between two steps* is a floor and not a step: `min="1.5"` with
7241
+ whole marks clamps the value at 1.5 and offers 2 upward, since 1.5 is not
7242
+ somewhere the row can be pressed. That is a real thing to ask for and is
7243
+ left to mean what it says.
7244
+
7245
+ *A `min` outside the marks is refused rather than obeyed*, and says so
7246
+ once on the console. Below zero and anything that is not a number are read
7247
+ as zero, there being no mark to draw for a negative score; above `max` is
7248
+ read as `max`, which collapses the scale to its top score rather than
7249
+ leaving a rating with nothing to press. A property that silently accepts
7250
+ nonsense is the fault this pays off, so neither case is quietly ignored. */
7108
7251
  min?: (HelixRating["min"]) | undefined;
7109
7252
  /** Whether this shows a score rather than asks for one.
7110
7253
 
@@ -10577,6 +10720,8 @@ export type CustomCssProperties = {
10577
10720
  "--carousel-gap"?: (string) | undefined;
10578
10721
  /** The size one pane is laid out at. A sheet sets it and the component measures the run with it. */
10579
10722
  "--carousel-pane"?: (string) | undefined;
10723
+ /** 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`. */
10724
+ "--carousel-per-view"?: (string) | undefined;
10580
10725
  /** 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`. */
10581
10726
  "--carousel-run-end"?: (string) | undefined;
10582
10727
  /** Fill behind the composer. */
@@ -11157,9 +11302,9 @@ export type CustomCssProperties = {
11157
11302
  "--rating-full"?: (string) | undefined;
11158
11303
  /** How much of the next mark is filled, 0 to 1. */
11159
11304
  "--rating-part"?: (string) | undefined;
11160
- /** The width of one step, as a fraction of a mark. */
11305
+ /** Which step along the row a target is, counting from one, whatever `min` leaves open. */
11161
11306
  "--rating-step"?: (string) | undefined;
11162
- /** How many steps one mark is divided into. */
11307
+ /** How many steps the whole row holds, which is `max` over `step`. */
11163
11308
  "--rating-steps"?: (string) | undefined;
11164
11309
  /** The invisible width of a divider's drag target. */
11165
11310
  "--sandbox-grab"?: (string) | undefined;
@@ -11569,7 +11714,7 @@ export interface WcToolkitVueGlobalComponents {
11569
11714
  HelixCardVueProps,
11570
11715
  HelixCardVueEvents
11571
11716
  >;
11572
- /** The track scroll-snaps, so a drag and a trackpad swipe move it with the browser's own momentum and the controls only have to scroll. Slides take the full track by default. 'per-view' fits more than one across, up to five, and is declared on the tier below because it decides how many positions the track has rather than only how wide a slide is, which is what a run of cards wants rather than a run of full-width panels. */
11717
+ /** The track scroll-snaps, so a drag and a trackpad swipe move it with the browser's own momentum and the controls only have to scroll. Slides take the full track by default. 'per-view' fits more than one across, at any count, and is declared on the tier below because it decides how many positions the track has rather than only how wide a slide is, which is what a run of cards wants rather than a run of full-width panels. This sheet divides the track by the number that tier publishes rather than enumerating the values it will answer for, so there is no count it silently draws one across. */
11573
11718
  "helix-carousel": DefineCustomElement<
11574
11719
  HelixCarousel,
11575
11720
  HelixCarouselVueProps,