@fusion.dev/helix 0.173.0 → 0.175.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.173.0",
4
+ "version": "0.175.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -54,13 +54,13 @@
54
54
  },
55
55
  "bugs": "https://github.com/project-fusion/fusion/issues",
56
56
  "dependencies": {
57
- "@fusion.dev/helix-core": "0.173.0",
58
- "@fusion.dev/helix-headless": "0.173.0",
59
- "@fusion.dev/helix-styles": "0.173.0"
57
+ "@fusion.dev/helix-core": "0.175.0",
58
+ "@fusion.dev/helix-headless": "0.175.0",
59
+ "@fusion.dev/helix-styles": "0.175.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@fusion.dev/helix-cem": "0.173.0",
63
- "@fusion.dev/helix-testing": "0.173.0",
62
+ "@fusion.dev/helix-cem": "0.175.0",
63
+ "@fusion.dev/helix-testing": "0.175.0",
64
64
  "@fusion.dev/scripts": "0.0.0-dev",
65
65
  "@happy-dom/global-registrator": "^20.14.5",
66
66
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -19904,7 +19904,8 @@ Written by the root, which is the only thing that sees the set. */
19904
19904
  /** The item's name. It names the item's group, and fills `{label}` in the
19905
19905
  lightbox's `status-label`. */
19906
19906
  label?: (HelixLightboxItem["label"]) | undefined;
19907
- /** The item's identifier. The root compares its `active` value against it. */
19907
+ /** The item's identifier. The root compares its `active` value against it.
19908
+ Without one, the item is named by its place in the set, counted from 1. */
19908
19909
  value?: (HelixLightboxItem["value"]) | undefined;
19909
19910
  };
19910
19911
 
@@ -19916,7 +19917,8 @@ Written by the root, which is the only thing that sees the set. */
19916
19917
  /** The item's name. It names the item's group, and fills `{label}` in the
19917
19918
  lightbox's `status-label`. */
19918
19919
  "prop:label"?: (HelixLightboxItem["label"]) | undefined;
19919
- /** The item's identifier. The root compares its `active` value against it. */
19920
+ /** The item's identifier. The root compares its `active` value against it.
19921
+ Without one, the item is named by its place in the set, counted from 1. */
19920
19922
  "prop:value"?: (HelixLightboxItem["value"]) | undefined;
19921
19923
 
19922
19924
  /** Set the innerHTML of the element */
@@ -33443,23 +33445,43 @@ export type HelixStrandsHelixStrandsFallbackElementEvent =
33443
33445
  HelixStrandsElementEvent<HelixStrandsFallbackEvent>;
33444
33446
 
33445
33447
  export type HelixStrandsProps = {
33446
- /** Where the form sits across the box, as a share of the width: the fan's
33447
- bend or the ribbon's axis. `0` is the left edge and `1` the right. A wave
33448
- crosses the whole width and does not read it. Unset, a fan bends at `0.4`
33448
+ /** Where the form sits across the box, as a share of the width: the bend's
33449
+ apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
33450
+ crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
33449
33451
  and a ribbon runs down the middle.
33450
33452
 
33451
33453
  **A share rather than a length**, so the ribbon keeps its place when the
33452
33454
  box changes shape. Read inside a box only; in `travel` each stop has its
33453
33455
  own. */
33454
33456
  at?: (HelixStrands["at"]) | undefined;
33457
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
33458
+ strands alone, crisp and dimmer, and `1` is the default glow. */
33459
+ bloom?: (HelixStrands["bloom"]) | undefined;
33460
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
33461
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
33462
+ that range. The ribbon as a whole keeps its strength. */
33463
+ contrast?: (HelixStrands["contrast"]) | undefined;
33455
33464
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
33456
33465
  forty. Clamped to that range. */
33457
33466
  density?: (HelixStrands["density"]) | undefined;
33467
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
33468
+ range. The strands at the front of the ribbon's roll are drawn thicker,
33469
+ brighter, and further from its axis, and those at the back thinner, dimmer,
33470
+ and out of focus. */
33471
+ depth?: (HelixStrands["depth"]) | undefined;
33472
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
33473
+ waving as one, to `1`, each strand at its own pace and angle, crossing
33474
+ over the others. Clamped to that range. */
33475
+ drift?: (HelixStrands["drift"]) | undefined;
33476
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
33477
+ draws none, `1` six hundred, and `4`, the most, two thousand four
33478
+ hundred. They gather where the ribbon is brightest. */
33479
+ dust?: (HelixStrands["dust"]) | undefined;
33458
33480
  /** Overall brightness, as a multiplier on the light. */
33459
33481
  gain?: (HelixStrands["gain"]) | undefined;
33460
33482
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
33461
33483
  every strand sharp, to `1`, every one soft. Clamped to that range. A tight
33462
- form, such as a fan's bend or a wave, stays sharp whatever this says. */
33484
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
33463
33485
  softness?: (HelixStrands["softness"]) | undefined;
33464
33486
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
33465
33487
  speed?: (HelixStrands["speed"]) | undefined;
@@ -33482,23 +33504,43 @@ itself to the viewport, behind the page. */
33482
33504
  };
33483
33505
 
33484
33506
  export type HelixStrandsSolidJsProps = {
33485
- /** Where the form sits across the box, as a share of the width: the fan's
33486
- bend or the ribbon's axis. `0` is the left edge and `1` the right. A wave
33487
- crosses the whole width and does not read it. Unset, a fan bends at `0.4`
33507
+ /** Where the form sits across the box, as a share of the width: the bend's
33508
+ apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
33509
+ crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
33488
33510
  and a ribbon runs down the middle.
33489
33511
 
33490
33512
  **A share rather than a length**, so the ribbon keeps its place when the
33491
33513
  box changes shape. Read inside a box only; in `travel` each stop has its
33492
33514
  own. */
33493
33515
  "prop:at"?: (HelixStrands["at"]) | undefined;
33516
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
33517
+ strands alone, crisp and dimmer, and `1` is the default glow. */
33518
+ "prop:bloom"?: (HelixStrands["bloom"]) | undefined;
33519
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
33520
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
33521
+ that range. The ribbon as a whole keeps its strength. */
33522
+ "prop:contrast"?: (HelixStrands["contrast"]) | undefined;
33494
33523
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
33495
33524
  forty. Clamped to that range. */
33496
33525
  "prop:density"?: (HelixStrands["density"]) | undefined;
33526
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
33527
+ range. The strands at the front of the ribbon's roll are drawn thicker,
33528
+ brighter, and further from its axis, and those at the back thinner, dimmer,
33529
+ and out of focus. */
33530
+ "prop:depth"?: (HelixStrands["depth"]) | undefined;
33531
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
33532
+ waving as one, to `1`, each strand at its own pace and angle, crossing
33533
+ over the others. Clamped to that range. */
33534
+ "prop:drift"?: (HelixStrands["drift"]) | undefined;
33535
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
33536
+ draws none, `1` six hundred, and `4`, the most, two thousand four
33537
+ hundred. They gather where the ribbon is brightest. */
33538
+ "prop:dust"?: (HelixStrands["dust"]) | undefined;
33497
33539
  /** Overall brightness, as a multiplier on the light. */
33498
33540
  "prop:gain"?: (HelixStrands["gain"]) | undefined;
33499
33541
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
33500
33542
  every strand sharp, to `1`, every one soft. Clamped to that range. A tight
33501
- form, such as a fan's bend or a wave, stays sharp whatever this says. */
33543
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
33502
33544
  "prop:softness"?: (HelixStrands["softness"]) | undefined;
33503
33545
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
33504
33546
  "prop:speed"?: (HelixStrands["speed"]) | undefined;
@@ -33525,9 +33567,9 @@ itself to the viewport, behind the page. */
33525
33567
  };
33526
33568
 
33527
33569
  export type HelixStrandsStopProps = {
33528
- /** Where the form sits across the page, as a share of the width: the fan's
33529
- bend or the ribbon's axis. A wave crosses the whole width and does not
33530
- read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle. */
33570
+ /** Where the form sits across the page, as a share of the width: the bend's
33571
+ apex or the ribbon's axis. A wave crosses the whole width and does not
33572
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
33531
33573
  at?: (HelixStrandsStop["at"]) | undefined;
33532
33574
  /** The id of the element the form is pinned to, in the same tree as the stop. */
33533
33575
  for?: (HelixStrandsStop["for"]) | undefined;
@@ -33536,9 +33578,9 @@ read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle. */
33536
33578
  };
33537
33579
 
33538
33580
  export type HelixStrandsStopSolidJsProps = {
33539
- /** Where the form sits across the page, as a share of the width: the fan's
33540
- bend or the ribbon's axis. A wave crosses the whole width and does not
33541
- read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle. */
33581
+ /** Where the form sits across the page, as a share of the width: the bend's
33582
+ apex or the ribbon's axis. A wave crosses the whole width and does not
33583
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
33542
33584
  "prop:at"?: (HelixStrandsStop["at"]) | undefined;
33543
33585
  /** The id of the element the form is pinned to, in the same tree as the stop. */
33544
33586
  "prop:for"?: (HelixStrandsStop["for"]) | undefined;
@@ -54857,6 +54899,7 @@ export type CustomElements = {
54857
54899
  * - `label`: The item's name. It names the item's group, and fills `{label}` in the
54858
54900
  * lightbox's `status-label`.
54859
54901
  * - `value`: The item's identifier. The root compares its `active` value against it.
54902
+ * Without one, the item is named by its place in the set, counted from 1.
54860
54903
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
54861
54904
  *
54862
54905
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -65449,16 +65492,16 @@ export type CustomElements = {
65449
65492
  * roll over one another, and light runs along them.
65450
65493
  *
65451
65494
  * Its palette comes from the tokens. The strands are `--helix-color-primary`,
65452
- * a few are `--helix-color-info` for depth, and the page they light is
65495
+ * a few are `--helix-color-accent` for depth, and the page they light is
65453
65496
  * `--helix-color-background`. On a light page the light becomes ink, because
65454
65497
  * light added to near-white cannot be seen.
65455
65498
  *
65456
- * **Three forms, set with `variant`.** `fan` is a tight, bright bend with its
65499
+ * **Three forms, set with `variant`.** `bend` turns bright strands through one tight point, with its
65457
65500
  * arms opening to the right. `ribbon`, the default, is a broad, soft ribbon in
65458
65501
  * long curves. `waves` is sharp strands crossing the full width.
65459
65502
  *
65460
65503
  * **In its own box, by default.** The element fills the box it is given, the
65461
- * way an image does, and `at` places the fan's bend or the ribbon's axis across
65504
+ * way an image does, and `at` places the bend's apex or the ribbon's axis across
65462
65505
  * it. Content placed inside sits over the ribbon, in the `content` part.
65463
65506
  *
65464
65507
  * **Down the whole page, with `travel`.** The element fixes itself behind the
@@ -65466,8 +65509,9 @@ export type CustomElements = {
65466
65509
  * bottom, so scrolling travels along it. Put `helix-strands-stop` elements
65467
65510
  * inside to pin a form to a section: each names an element with `for` and says
65468
65511
  * which form the ribbon takes there. Between stops the ribbon fills the gap in
65469
- * its own `variant`, and between two waves it turns off screen so each wave
65470
- * reads alone. Set `z-index` on the element to move it.
65512
+ * its own `variant`, and between two waves less than a screen and a half
65513
+ * apart it turns off screen so each wave reads alone. Set `z-index` on the
65514
+ * element to move it.
65471
65515
  *
65472
65516
  * The ribbon stops moving in these cases:
65473
65517
  * - `prefers-reduced-motion` is set. The element shows one still frame, and in
@@ -65487,20 +65531,35 @@ export type CustomElements = {
65487
65531
  *
65488
65532
  * Component attributes and properties that can be applied to the element or by using JavaScript.
65489
65533
  *
65490
- * - `at`: Where the form sits across the box, as a share of the width: the fan's
65491
- * bend or the ribbon's axis. `0` is the left edge and `1` the right. A wave
65492
- * crosses the whole width and does not read it. Unset, a fan bends at `0.4`
65534
+ * - `at`: Where the form sits across the box, as a share of the width: the bend's
65535
+ * apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
65536
+ * crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
65493
65537
  * and a ribbon runs down the middle.
65494
65538
  *
65495
65539
  * **A share rather than a length**, so the ribbon keeps its place when the
65496
65540
  * box changes shape. Read inside a box only; in `travel` each stop has its
65497
65541
  * own.
65542
+ * - `bloom`: How much the glow around the strands adds, as a multiplier. `0` draws the
65543
+ * strands alone, crisp and dimmer, and `1` is the default glow.
65544
+ * - `contrast`: How far apart the brightest and dimmest strands are, from `0`, most of
65545
+ * them alike, to `1`, a few burning bright over many faint ones. Clamped to
65546
+ * that range. The ribbon as a whole keeps its strength.
65498
65547
  * - `density`: How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
65499
65548
  * forty. Clamped to that range.
65549
+ * - `depth`: How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
65550
+ * range. The strands at the front of the ribbon's roll are drawn thicker,
65551
+ * brighter, and further from its axis, and those at the back thinner, dimmer,
65552
+ * and out of focus.
65553
+ * - `drift`: How differently each strand moves, from `0`, the whole ribbon rolling and
65554
+ * waving as one, to `1`, each strand at its own pace and angle, crossing
65555
+ * over the others. Clamped to that range.
65556
+ * - `dust`: How many specks of dust drift around the strands, as a multiplier: `0`
65557
+ * draws none, `1` six hundred, and `4`, the most, two thousand four
65558
+ * hundred. They gather where the ribbon is brightest.
65500
65559
  * - `gain`: Overall brightness, as a multiplier on the light.
65501
65560
  * - `softness`: The share of strands drawn out of focus where the ribbon is wide, from `0`,
65502
65561
  * every strand sharp, to `1`, every one soft. Clamped to that range. A tight
65503
- * form, such as a fan's bend or a wave, stays sharp whatever this says.
65562
+ * form, such as a bend's apex or a wave, stays sharp whatever this says.
65504
65563
  * - `speed`: How fast the ribbon moves, as a multiplier on time. `0` holds it still.
65505
65564
  * - `spread`: How wide the ribbon is, as a multiplier on each form's own width.
65506
65565
  * - `travel`: Whether the ribbon is laid down the whole page, so scrolling travels along
@@ -65550,7 +65609,7 @@ export type CustomElements = {
65550
65609
  * - `--strands-glow`: The color of most strands. Defaults to `--helix-color-primary`.
65551
65610
  * - `--strands-ground`: The page the light is added to. Defaults to `--helix-color-background`.
65552
65611
  * - `--strands-peak`: The hottest strands, and on a light page the ink the light darkens toward. Defaults to `--helix-color-primary-hover` on a dark page and `--helix-color-primary-active` on a light one.
65553
- * - `--strands-tint`: The color of a few strands, for depth. Defaults to `--helix-color-info`.
65612
+ * - `--strands-tint`: The color of a few strands, for depth. Defaults to `--helix-color-accent`, which is the primary itself unless the theme relates an accent to the brand, as `accent: { from: 'brand', rotate: 40 }` does.
65554
65613
  *
65555
65614
  * ## CSS Parts
65556
65615
  *
@@ -65572,8 +65631,8 @@ export type CustomElements = {
65572
65631
 
65573
65632
  /**
65574
65633
  * Placed inside a `helix-strands` with `travel`, a stop names an element with
65575
- * `for` and says which form the ribbon takes when the page reaches it: a `fan`
65576
- * bending through it, a `ribbon` passing through `at`, or `waves` crossing at
65634
+ * `for` and says which form the ribbon takes when the page reaches it: a `bend`
65635
+ * turning through it, a `ribbon` passing through `at`, or `waves` crossing at
65577
65636
  * its top edge. The stops are read in page order, whatever order they are
65578
65637
  * written in, and a stop naming no element is skipped.
65579
65638
  *
@@ -65588,9 +65647,9 @@ export type CustomElements = {
65588
65647
  *
65589
65648
  * Component attributes and properties that can be applied to the element or by using JavaScript.
65590
65649
  *
65591
- * - `at`: Where the form sits across the page, as a share of the width: the fan's
65592
- * bend or the ribbon's axis. A wave crosses the whole width and does not
65593
- * read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle.
65650
+ * - `at`: Where the form sits across the page, as a share of the width: the bend's
65651
+ * apex or the ribbon's axis. A wave crosses the whole width and does not
65652
+ * read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle.
65594
65653
  * - `for`: The id of the element the form is pinned to, in the same tree as the stop.
65595
65654
  * - `variant`: The form the ribbon takes at the element. When it is not set, the form is `ribbon`.
65596
65655
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -84592,6 +84651,7 @@ export type CustomElementsSolidJs = {
84592
84651
  * - `label`: The item's name. It names the item's group, and fills `{label}` in the
84593
84652
  * lightbox's `status-label`.
84594
84653
  * - `value`: The item's identifier. The root compares its `active` value against it.
84654
+ * Without one, the item is named by its place in the set, counted from 1.
84595
84655
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
84596
84656
  *
84597
84657
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -95384,16 +95444,16 @@ export type CustomElementsSolidJs = {
95384
95444
  * roll over one another, and light runs along them.
95385
95445
  *
95386
95446
  * Its palette comes from the tokens. The strands are `--helix-color-primary`,
95387
- * a few are `--helix-color-info` for depth, and the page they light is
95447
+ * a few are `--helix-color-accent` for depth, and the page they light is
95388
95448
  * `--helix-color-background`. On a light page the light becomes ink, because
95389
95449
  * light added to near-white cannot be seen.
95390
95450
  *
95391
- * **Three forms, set with `variant`.** `fan` is a tight, bright bend with its
95451
+ * **Three forms, set with `variant`.** `bend` turns bright strands through one tight point, with its
95392
95452
  * arms opening to the right. `ribbon`, the default, is a broad, soft ribbon in
95393
95453
  * long curves. `waves` is sharp strands crossing the full width.
95394
95454
  *
95395
95455
  * **In its own box, by default.** The element fills the box it is given, the
95396
- * way an image does, and `at` places the fan's bend or the ribbon's axis across
95456
+ * way an image does, and `at` places the bend's apex or the ribbon's axis across
95397
95457
  * it. Content placed inside sits over the ribbon, in the `content` part.
95398
95458
  *
95399
95459
  * **Down the whole page, with `travel`.** The element fixes itself behind the
@@ -95401,8 +95461,9 @@ export type CustomElementsSolidJs = {
95401
95461
  * bottom, so scrolling travels along it. Put `helix-strands-stop` elements
95402
95462
  * inside to pin a form to a section: each names an element with `for` and says
95403
95463
  * which form the ribbon takes there. Between stops the ribbon fills the gap in
95404
- * its own `variant`, and between two waves it turns off screen so each wave
95405
- * reads alone. Set `z-index` on the element to move it.
95464
+ * its own `variant`, and between two waves less than a screen and a half
95465
+ * apart it turns off screen so each wave reads alone. Set `z-index` on the
95466
+ * element to move it.
95406
95467
  *
95407
95468
  * The ribbon stops moving in these cases:
95408
95469
  * - `prefers-reduced-motion` is set. The element shows one still frame, and in
@@ -95422,20 +95483,35 @@ export type CustomElementsSolidJs = {
95422
95483
  *
95423
95484
  * Component attributes and properties that can be applied to the element or by using JavaScript.
95424
95485
  *
95425
- * - `at`: Where the form sits across the box, as a share of the width: the fan's
95426
- * bend or the ribbon's axis. `0` is the left edge and `1` the right. A wave
95427
- * crosses the whole width and does not read it. Unset, a fan bends at `0.4`
95486
+ * - `at`: Where the form sits across the box, as a share of the width: the bend's
95487
+ * apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
95488
+ * crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
95428
95489
  * and a ribbon runs down the middle.
95429
95490
  *
95430
95491
  * **A share rather than a length**, so the ribbon keeps its place when the
95431
95492
  * box changes shape. Read inside a box only; in `travel` each stop has its
95432
95493
  * own.
95494
+ * - `bloom`: How much the glow around the strands adds, as a multiplier. `0` draws the
95495
+ * strands alone, crisp and dimmer, and `1` is the default glow.
95496
+ * - `contrast`: How far apart the brightest and dimmest strands are, from `0`, most of
95497
+ * them alike, to `1`, a few burning bright over many faint ones. Clamped to
95498
+ * that range. The ribbon as a whole keeps its strength.
95433
95499
  * - `density`: How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
95434
95500
  * forty. Clamped to that range.
95501
+ * - `depth`: How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
95502
+ * range. The strands at the front of the ribbon's roll are drawn thicker,
95503
+ * brighter, and further from its axis, and those at the back thinner, dimmer,
95504
+ * and out of focus.
95505
+ * - `drift`: How differently each strand moves, from `0`, the whole ribbon rolling and
95506
+ * waving as one, to `1`, each strand at its own pace and angle, crossing
95507
+ * over the others. Clamped to that range.
95508
+ * - `dust`: How many specks of dust drift around the strands, as a multiplier: `0`
95509
+ * draws none, `1` six hundred, and `4`, the most, two thousand four
95510
+ * hundred. They gather where the ribbon is brightest.
95435
95511
  * - `gain`: Overall brightness, as a multiplier on the light.
95436
95512
  * - `softness`: The share of strands drawn out of focus where the ribbon is wide, from `0`,
95437
95513
  * every strand sharp, to `1`, every one soft. Clamped to that range. A tight
95438
- * form, such as a fan's bend or a wave, stays sharp whatever this says.
95514
+ * form, such as a bend's apex or a wave, stays sharp whatever this says.
95439
95515
  * - `speed`: How fast the ribbon moves, as a multiplier on time. `0` holds it still.
95440
95516
  * - `spread`: How wide the ribbon is, as a multiplier on each form's own width.
95441
95517
  * - `travel`: Whether the ribbon is laid down the whole page, so scrolling travels along
@@ -95485,7 +95561,7 @@ export type CustomElementsSolidJs = {
95485
95561
  * - `--strands-glow`: The color of most strands. Defaults to `--helix-color-primary`.
95486
95562
  * - `--strands-ground`: The page the light is added to. Defaults to `--helix-color-background`.
95487
95563
  * - `--strands-peak`: The hottest strands, and on a light page the ink the light darkens toward. Defaults to `--helix-color-primary-hover` on a dark page and `--helix-color-primary-active` on a light one.
95488
- * - `--strands-tint`: The color of a few strands, for depth. Defaults to `--helix-color-info`.
95564
+ * - `--strands-tint`: The color of a few strands, for depth. Defaults to `--helix-color-accent`, which is the primary itself unless the theme relates an accent to the brand, as `accent: { from: 'brand', rotate: 40 }` does.
95489
95565
  *
95490
95566
  * ## CSS Parts
95491
95567
  *
@@ -95510,8 +95586,8 @@ export type CustomElementsSolidJs = {
95510
95586
 
95511
95587
  /**
95512
95588
  * Placed inside a `helix-strands` with `travel`, a stop names an element with
95513
- * `for` and says which form the ribbon takes when the page reaches it: a `fan`
95514
- * bending through it, a `ribbon` passing through `at`, or `waves` crossing at
95589
+ * `for` and says which form the ribbon takes when the page reaches it: a `bend`
95590
+ * turning through it, a `ribbon` passing through `at`, or `waves` crossing at
95515
95591
  * its top edge. The stops are read in page order, whatever order they are
95516
95592
  * written in, and a stop naming no element is skipped.
95517
95593
  *
@@ -95526,9 +95602,9 @@ export type CustomElementsSolidJs = {
95526
95602
  *
95527
95603
  * Component attributes and properties that can be applied to the element or by using JavaScript.
95528
95604
  *
95529
- * - `at`: Where the form sits across the page, as a share of the width: the fan's
95530
- * bend or the ribbon's axis. A wave crosses the whole width and does not
95531
- * read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle.
95605
+ * - `at`: Where the form sits across the page, as a share of the width: the bend's
95606
+ * apex or the ribbon's axis. A wave crosses the whole width and does not
95607
+ * read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle.
95532
95608
  * - `for`: The id of the element the form is pinned to, in the same tree as the stop.
95533
95609
  * - `variant`: The form the ribbon takes at the element. When it is not set, the form is `ribbon`.
95534
95610
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -103474,7 +103550,7 @@ export type CustomCssProperties = {
103474
103550
  "--strands-ground"?: (string) | undefined;
103475
103551
  /** The hottest strands, and on a light page the ink the light darkens toward. Defaults to `--helix-color-primary-hover` on a dark page and `--helix-color-primary-active` on a light one. */
103476
103552
  "--strands-peak"?: (string) | undefined;
103477
- /** The color of a few strands, for depth. Defaults to `--helix-color-info`. */
103553
+ /** The color of a few strands, for depth. Defaults to `--helix-color-accent`, which is the primary itself unless the theme relates an accent to the brand, as `accent: { from: 'brand', rotate: 40 }` does. */
103478
103554
  "--strands-tint"?: (string) | undefined;
103479
103555
  /** Height of the track. The width follows it. */
103480
103556
  "--switch-block-size"?: (string) | undefined;
package/types/vue.d.ts CHANGED
@@ -10199,7 +10199,8 @@ Written by the root, which is the only thing that sees the set. */
10199
10199
  /** The item's name. It names the item's group, and fills `{label}` in the
10200
10200
  lightbox's `status-label`. */
10201
10201
  label?: (HelixLightboxItem["label"]) | undefined;
10202
- /** The item's identifier. The root compares its `active` value against it. */
10202
+ /** The item's identifier. The root compares its `active` value against it.
10203
+ Without one, the item is named by its place in the set, counted from 1. */
10203
10204
  value?: (HelixLightboxItem["value"]) | undefined;
10204
10205
  };
10205
10206
 
@@ -17150,23 +17151,43 @@ export type HelixStrandsHelixStrandsFallbackElementEvent =
17150
17151
  HelixStrandsElementEvent<HelixStrandsFallbackEvent>;
17151
17152
 
17152
17153
  export type HelixStrandsVueProps = {
17153
- /** Where the form sits across the box, as a share of the width: the fan's
17154
- bend or the ribbon's axis. `0` is the left edge and `1` the right. A wave
17155
- crosses the whole width and does not read it. Unset, a fan bends at `0.4`
17154
+ /** Where the form sits across the box, as a share of the width: the bend's
17155
+ apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
17156
+ crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
17156
17157
  and a ribbon runs down the middle.
17157
17158
 
17158
17159
  **A share rather than a length**, so the ribbon keeps its place when the
17159
17160
  box changes shape. Read inside a box only; in `travel` each stop has its
17160
17161
  own. */
17161
17162
  at?: (HelixStrands["at"]) | undefined;
17163
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
17164
+ strands alone, crisp and dimmer, and `1` is the default glow. */
17165
+ bloom?: (HelixStrands["bloom"]) | undefined;
17166
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
17167
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
17168
+ that range. The ribbon as a whole keeps its strength. */
17169
+ contrast?: (HelixStrands["contrast"]) | undefined;
17162
17170
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
17163
17171
  forty. Clamped to that range. */
17164
17172
  density?: (HelixStrands["density"]) | undefined;
17173
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
17174
+ range. The strands at the front of the ribbon's roll are drawn thicker,
17175
+ brighter, and further from its axis, and those at the back thinner, dimmer,
17176
+ and out of focus. */
17177
+ depth?: (HelixStrands["depth"]) | undefined;
17178
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
17179
+ waving as one, to `1`, each strand at its own pace and angle, crossing
17180
+ over the others. Clamped to that range. */
17181
+ drift?: (HelixStrands["drift"]) | undefined;
17182
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
17183
+ draws none, `1` six hundred, and `4`, the most, two thousand four
17184
+ hundred. They gather where the ribbon is brightest. */
17185
+ dust?: (HelixStrands["dust"]) | undefined;
17165
17186
  /** Overall brightness, as a multiplier on the light. */
17166
17187
  gain?: (HelixStrands["gain"]) | undefined;
17167
17188
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
17168
17189
  every strand sharp, to `1`, every one soft. Clamped to that range. A tight
17169
- form, such as a fan's bend or a wave, stays sharp whatever this says. */
17190
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
17170
17191
  softness?: (HelixStrands["softness"]) | undefined;
17171
17192
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
17172
17193
  speed?: (HelixStrands["speed"]) | undefined;
@@ -17189,9 +17210,9 @@ export type HelixStrandsVueEvents = {
17189
17210
  };
17190
17211
 
17191
17212
  export type HelixStrandsStopVueProps = {
17192
- /** Where the form sits across the page, as a share of the width: the fan's
17193
- bend or the ribbon's axis. A wave crosses the whole width and does not
17194
- read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle. */
17213
+ /** Where the form sits across the page, as a share of the width: the bend's
17214
+ apex or the ribbon's axis. A wave crosses the whole width and does not
17215
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
17195
17216
  at?: (HelixStrandsStop["at"]) | undefined;
17196
17217
  /** The id of the element the form is pinned to, in the same tree as the stop. */
17197
17218
  for?: (HelixStrandsStop["for"]) | undefined;
@@ -23483,7 +23504,7 @@ export type CustomCssProperties = {
23483
23504
  "--strands-ground"?: (string) | undefined;
23484
23505
  /** The hottest strands, and on a light page the ink the light darkens toward. Defaults to `--helix-color-primary-hover` on a dark page and `--helix-color-primary-active` on a light one. */
23485
23506
  "--strands-peak"?: (string) | undefined;
23486
- /** The color of a few strands, for depth. Defaults to `--helix-color-info`. */
23507
+ /** The color of a few strands, for depth. Defaults to `--helix-color-accent`, which is the primary itself unless the theme relates an accent to the brand, as `accent: { from: 'brand', rotate: 40 }` does. */
23487
23508
  "--strands-tint"?: (string) | undefined;
23488
23509
  /** Height of the track. The width follows it. */
23489
23510
  "--switch-block-size"?: (string) | undefined;
@@ -24751,13 +24772,13 @@ export interface WcToolkitVueGlobalComponents {
24751
24772
  HelixStepVueProps,
24752
24773
  HelixStepVueEvents
24753
24774
  >;
24754
- /** Hundreds of thin strands are drawn as one ribbon, and the light they add together is bloomed, so where they converge the ribbon burns hot. The ribbon moves on its own all the time: it sways and breathes, its strands wave and roll over one another, and light runs along them. Its palette comes from the tokens. The strands are '--helix-color-primary', a few are '--helix-color-info' for depth, and the page they light is '--helix-color-background'. On a light page the light becomes ink, because light added to near-white cannot be seen. **Three forms, set with 'variant'.** 'fan' is a tight, bright bend with its arms opening to the right. 'ribbon', the default, is a broad, soft ribbon in long curves. 'waves' is sharp strands crossing the full width. **In its own box, by default.** The element fills the box it is given, the way an image does, and 'at' places the fan's bend or the ribbon's axis across it. Content placed inside sits over the ribbon, in the 'content' part. **Down the whole page, with 'travel'.** The element fixes itself behind the page, on '--helix-layer-beneath', and lays one ribbon from the top of the page to the bottom, so scrolling travels along it. Put 'helix-strands-stop' elements inside to pin a form to a section: each names an element with 'for' and says which form the ribbon takes there. Between stops the ribbon fills the gap in its own 'variant', and between two waves it turns off screen so each wave reads alone. Set 'z-index' on the element to move it. The ribbon stops moving in these cases: - 'prefers-reduced-motion' is set. The element shows one still frame, and in 'travel' still follows the scroll, without easing. - The element is off screen or in a background tab. It shows a gradient from the same tokens in these cases, and matches ':state(fallback)' and sends 'helix-strands-fallback' with the reason: - The renderer draws on the CPU, such as a headless browser or a machine with no usable GPU. - There is no WebGL, or the browser took the drawing context back. Strands is styled only and has behavior, as 'Aura' does: its behavior is drawing to a canvas, so there is no structure for a headless version to hold. */
24775
+ /** Hundreds of thin strands are drawn as one ribbon, and the light they add together is bloomed, so where they converge the ribbon burns hot. The ribbon moves on its own all the time: it sways and breathes, its strands wave and roll over one another, and light runs along them. Its palette comes from the tokens. The strands are '--helix-color-primary', a few are '--helix-color-accent' for depth, and the page they light is '--helix-color-background'. On a light page the light becomes ink, because light added to near-white cannot be seen. **Three forms, set with 'variant'.** 'bend' turns bright strands through one tight point, with its arms opening to the right. 'ribbon', the default, is a broad, soft ribbon in long curves. 'waves' is sharp strands crossing the full width. **In its own box, by default.** The element fills the box it is given, the way an image does, and 'at' places the bend's apex or the ribbon's axis across it. Content placed inside sits over the ribbon, in the 'content' part. **Down the whole page, with 'travel'.** The element fixes itself behind the page, on '--helix-layer-beneath', and lays one ribbon from the top of the page to the bottom, so scrolling travels along it. Put 'helix-strands-stop' elements inside to pin a form to a section: each names an element with 'for' and says which form the ribbon takes there. Between stops the ribbon fills the gap in its own 'variant', and between two waves less than a screen and a half apart it turns off screen so each wave reads alone. Set 'z-index' on the element to move it. The ribbon stops moving in these cases: - 'prefers-reduced-motion' is set. The element shows one still frame, and in 'travel' still follows the scroll, without easing. - The element is off screen or in a background tab. It shows a gradient from the same tokens in these cases, and matches ':state(fallback)' and sends 'helix-strands-fallback' with the reason: - The renderer draws on the CPU, such as a headless browser or a machine with no usable GPU. - There is no WebGL, or the browser took the drawing context back. Strands is styled only and has behavior, as 'Aura' does: its behavior is drawing to a canvas, so there is no structure for a headless version to hold. */
24755
24776
  "helix-strands": DefineCustomElement<
24756
24777
  HelixStrands,
24757
24778
  HelixStrandsVueProps,
24758
24779
  HelixStrandsVueEvents
24759
24780
  >;
24760
- /** Placed inside a 'helix-strands' with 'travel', a stop names an element with 'for' and says which form the ribbon takes when the page reaches it: a 'fan' bending through it, a 'ribbon' passing through 'at', or 'waves' crossing at its top edge. The stops are read in page order, whatever order they are written in, and a stop naming no element is skipped. A stop draws nothing itself and is never shown. **Every property is reflected**, because the parent watches its stops' attributes to lay the ribbon out again: a change made from script reaches the page as a change made in markup does. None has a default, so a stop writes nothing it was not given. */
24781
+ /** Placed inside a 'helix-strands' with 'travel', a stop names an element with 'for' and says which form the ribbon takes when the page reaches it: a 'bend' turning through it, a 'ribbon' passing through 'at', or 'waves' crossing at its top edge. The stops are read in page order, whatever order they are written in, and a stop naming no element is skipped. A stop draws nothing itself and is never shown. **Every property is reflected**, because the parent watches its stops' attributes to lay the ribbon out again: a change made from script reaches the page as a change made in markup does. None has a default, so a stop writes nothing it was not given. */
24761
24782
  "helix-strands-stop": DefineCustomElement<
24762
24783
  HelixStrandsStop,
24763
24784
  HelixStrandsStopVueProps,