@fusion.dev/helix 0.173.0 → 0.174.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.174.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.174.0",
58
+ "@fusion.dev/helix-headless": "0.174.0",
59
+ "@fusion.dev/helix-styles": "0.174.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.174.0",
63
+ "@fusion.dev/helix-testing": "0.174.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
@@ -33443,23 +33443,43 @@ export type HelixStrandsHelixStrandsFallbackElementEvent =
33443
33443
  HelixStrandsElementEvent<HelixStrandsFallbackEvent>;
33444
33444
 
33445
33445
  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`
33446
+ /** Where the form sits across the box, as a share of the width: the bend's
33447
+ apex 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 bend's apex sits at `0.5`
33449
33449
  and a ribbon runs down the middle.
33450
33450
 
33451
33451
  **A share rather than a length**, so the ribbon keeps its place when the
33452
33452
  box changes shape. Read inside a box only; in `travel` each stop has its
33453
33453
  own. */
33454
33454
  at?: (HelixStrands["at"]) | undefined;
33455
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
33456
+ strands alone, crisp and dimmer, and `1` is the default glow. */
33457
+ bloom?: (HelixStrands["bloom"]) | undefined;
33458
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
33459
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
33460
+ that range. The ribbon as a whole keeps its strength. */
33461
+ contrast?: (HelixStrands["contrast"]) | undefined;
33455
33462
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
33456
33463
  forty. Clamped to that range. */
33457
33464
  density?: (HelixStrands["density"]) | undefined;
33465
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
33466
+ range. The strands at the front of the ribbon's roll are drawn thicker,
33467
+ brighter, and further from its axis, and those at the back thinner, dimmer,
33468
+ and out of focus. */
33469
+ depth?: (HelixStrands["depth"]) | undefined;
33470
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
33471
+ waving as one, to `1`, each strand at its own pace and angle, crossing
33472
+ over the others. Clamped to that range. */
33473
+ drift?: (HelixStrands["drift"]) | undefined;
33474
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
33475
+ draws none, `1` six hundred, and `4`, the most, two thousand four
33476
+ hundred. They gather where the ribbon is brightest. */
33477
+ dust?: (HelixStrands["dust"]) | undefined;
33458
33478
  /** Overall brightness, as a multiplier on the light. */
33459
33479
  gain?: (HelixStrands["gain"]) | undefined;
33460
33480
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
33461
33481
  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. */
33482
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
33463
33483
  softness?: (HelixStrands["softness"]) | undefined;
33464
33484
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
33465
33485
  speed?: (HelixStrands["speed"]) | undefined;
@@ -33482,23 +33502,43 @@ itself to the viewport, behind the page. */
33482
33502
  };
33483
33503
 
33484
33504
  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`
33505
+ /** Where the form sits across the box, as a share of the width: the bend's
33506
+ apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
33507
+ crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
33488
33508
  and a ribbon runs down the middle.
33489
33509
 
33490
33510
  **A share rather than a length**, so the ribbon keeps its place when the
33491
33511
  box changes shape. Read inside a box only; in `travel` each stop has its
33492
33512
  own. */
33493
33513
  "prop:at"?: (HelixStrands["at"]) | undefined;
33514
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
33515
+ strands alone, crisp and dimmer, and `1` is the default glow. */
33516
+ "prop:bloom"?: (HelixStrands["bloom"]) | undefined;
33517
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
33518
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
33519
+ that range. The ribbon as a whole keeps its strength. */
33520
+ "prop:contrast"?: (HelixStrands["contrast"]) | undefined;
33494
33521
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
33495
33522
  forty. Clamped to that range. */
33496
33523
  "prop:density"?: (HelixStrands["density"]) | undefined;
33524
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
33525
+ range. The strands at the front of the ribbon's roll are drawn thicker,
33526
+ brighter, and further from its axis, and those at the back thinner, dimmer,
33527
+ and out of focus. */
33528
+ "prop:depth"?: (HelixStrands["depth"]) | undefined;
33529
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
33530
+ waving as one, to `1`, each strand at its own pace and angle, crossing
33531
+ over the others. Clamped to that range. */
33532
+ "prop:drift"?: (HelixStrands["drift"]) | undefined;
33533
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
33534
+ draws none, `1` six hundred, and `4`, the most, two thousand four
33535
+ hundred. They gather where the ribbon is brightest. */
33536
+ "prop:dust"?: (HelixStrands["dust"]) | undefined;
33497
33537
  /** Overall brightness, as a multiplier on the light. */
33498
33538
  "prop:gain"?: (HelixStrands["gain"]) | undefined;
33499
33539
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
33500
33540
  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. */
33541
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
33502
33542
  "prop:softness"?: (HelixStrands["softness"]) | undefined;
33503
33543
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
33504
33544
  "prop:speed"?: (HelixStrands["speed"]) | undefined;
@@ -33525,9 +33565,9 @@ itself to the viewport, behind the page. */
33525
33565
  };
33526
33566
 
33527
33567
  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. */
33568
+ /** Where the form sits across the page, as a share of the width: the bend's
33569
+ apex or the ribbon's axis. A wave crosses the whole width and does not
33570
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
33531
33571
  at?: (HelixStrandsStop["at"]) | undefined;
33532
33572
  /** The id of the element the form is pinned to, in the same tree as the stop. */
33533
33573
  for?: (HelixStrandsStop["for"]) | undefined;
@@ -33536,9 +33576,9 @@ read it. Unset, a fan bends at `0.4` and a ribbon runs down the middle. */
33536
33576
  };
33537
33577
 
33538
33578
  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. */
33579
+ /** Where the form sits across the page, as a share of the width: the bend's
33580
+ apex or the ribbon's axis. A wave crosses the whole width and does not
33581
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
33542
33582
  "prop:at"?: (HelixStrandsStop["at"]) | undefined;
33543
33583
  /** The id of the element the form is pinned to, in the same tree as the stop. */
33544
33584
  "prop:for"?: (HelixStrandsStop["for"]) | undefined;
@@ -65449,16 +65489,16 @@ export type CustomElements = {
65449
65489
  * roll over one another, and light runs along them.
65450
65490
  *
65451
65491
  * 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
65492
+ * a few are `--helix-color-accent` for depth, and the page they light is
65453
65493
  * `--helix-color-background`. On a light page the light becomes ink, because
65454
65494
  * light added to near-white cannot be seen.
65455
65495
  *
65456
- * **Three forms, set with `variant`.** `fan` is a tight, bright bend with its
65496
+ * **Three forms, set with `variant`.** `bend` turns bright strands through one tight point, with its
65457
65497
  * arms opening to the right. `ribbon`, the default, is a broad, soft ribbon in
65458
65498
  * long curves. `waves` is sharp strands crossing the full width.
65459
65499
  *
65460
65500
  * **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
65501
+ * way an image does, and `at` places the bend's apex or the ribbon's axis across
65462
65502
  * it. Content placed inside sits over the ribbon, in the `content` part.
65463
65503
  *
65464
65504
  * **Down the whole page, with `travel`.** The element fixes itself behind the
@@ -65466,8 +65506,9 @@ export type CustomElements = {
65466
65506
  * bottom, so scrolling travels along it. Put `helix-strands-stop` elements
65467
65507
  * inside to pin a form to a section: each names an element with `for` and says
65468
65508
  * 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.
65509
+ * its own `variant`, and between two waves less than a screen and a half
65510
+ * apart it turns off screen so each wave reads alone. Set `z-index` on the
65511
+ * element to move it.
65471
65512
  *
65472
65513
  * The ribbon stops moving in these cases:
65473
65514
  * - `prefers-reduced-motion` is set. The element shows one still frame, and in
@@ -65487,20 +65528,35 @@ export type CustomElements = {
65487
65528
  *
65488
65529
  * Component attributes and properties that can be applied to the element or by using JavaScript.
65489
65530
  *
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`
65531
+ * - `at`: Where the form sits across the box, as a share of the width: the bend's
65532
+ * apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
65533
+ * crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
65493
65534
  * and a ribbon runs down the middle.
65494
65535
  *
65495
65536
  * **A share rather than a length**, so the ribbon keeps its place when the
65496
65537
  * box changes shape. Read inside a box only; in `travel` each stop has its
65497
65538
  * own.
65539
+ * - `bloom`: How much the glow around the strands adds, as a multiplier. `0` draws the
65540
+ * strands alone, crisp and dimmer, and `1` is the default glow.
65541
+ * - `contrast`: How far apart the brightest and dimmest strands are, from `0`, most of
65542
+ * them alike, to `1`, a few burning bright over many faint ones. Clamped to
65543
+ * that range. The ribbon as a whole keeps its strength.
65498
65544
  * - `density`: How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
65499
65545
  * forty. Clamped to that range.
65546
+ * - `depth`: How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
65547
+ * range. The strands at the front of the ribbon's roll are drawn thicker,
65548
+ * brighter, and further from its axis, and those at the back thinner, dimmer,
65549
+ * and out of focus.
65550
+ * - `drift`: How differently each strand moves, from `0`, the whole ribbon rolling and
65551
+ * waving as one, to `1`, each strand at its own pace and angle, crossing
65552
+ * over the others. Clamped to that range.
65553
+ * - `dust`: How many specks of dust drift around the strands, as a multiplier: `0`
65554
+ * draws none, `1` six hundred, and `4`, the most, two thousand four
65555
+ * hundred. They gather where the ribbon is brightest.
65500
65556
  * - `gain`: Overall brightness, as a multiplier on the light.
65501
65557
  * - `softness`: The share of strands drawn out of focus where the ribbon is wide, from `0`,
65502
65558
  * 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.
65559
+ * form, such as a bend's apex or a wave, stays sharp whatever this says.
65504
65560
  * - `speed`: How fast the ribbon moves, as a multiplier on time. `0` holds it still.
65505
65561
  * - `spread`: How wide the ribbon is, as a multiplier on each form's own width.
65506
65562
  * - `travel`: Whether the ribbon is laid down the whole page, so scrolling travels along
@@ -65550,7 +65606,7 @@ export type CustomElements = {
65550
65606
  * - `--strands-glow`: The color of most strands. Defaults to `--helix-color-primary`.
65551
65607
  * - `--strands-ground`: The page the light is added to. Defaults to `--helix-color-background`.
65552
65608
  * - `--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`.
65609
+ * - `--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
65610
  *
65555
65611
  * ## CSS Parts
65556
65612
  *
@@ -65572,8 +65628,8 @@ export type CustomElements = {
65572
65628
 
65573
65629
  /**
65574
65630
  * 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
65631
+ * `for` and says which form the ribbon takes when the page reaches it: a `bend`
65632
+ * turning through it, a `ribbon` passing through `at`, or `waves` crossing at
65577
65633
  * its top edge. The stops are read in page order, whatever order they are
65578
65634
  * written in, and a stop naming no element is skipped.
65579
65635
  *
@@ -65588,9 +65644,9 @@ export type CustomElements = {
65588
65644
  *
65589
65645
  * Component attributes and properties that can be applied to the element or by using JavaScript.
65590
65646
  *
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.
65647
+ * - `at`: Where the form sits across the page, as a share of the width: the bend's
65648
+ * apex or the ribbon's axis. A wave crosses the whole width and does not
65649
+ * read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle.
65594
65650
  * - `for`: The id of the element the form is pinned to, in the same tree as the stop.
65595
65651
  * - `variant`: The form the ribbon takes at the element. When it is not set, the form is `ribbon`.
65596
65652
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -95384,16 +95440,16 @@ export type CustomElementsSolidJs = {
95384
95440
  * roll over one another, and light runs along them.
95385
95441
  *
95386
95442
  * 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
95443
+ * a few are `--helix-color-accent` for depth, and the page they light is
95388
95444
  * `--helix-color-background`. On a light page the light becomes ink, because
95389
95445
  * light added to near-white cannot be seen.
95390
95446
  *
95391
- * **Three forms, set with `variant`.** `fan` is a tight, bright bend with its
95447
+ * **Three forms, set with `variant`.** `bend` turns bright strands through one tight point, with its
95392
95448
  * arms opening to the right. `ribbon`, the default, is a broad, soft ribbon in
95393
95449
  * long curves. `waves` is sharp strands crossing the full width.
95394
95450
  *
95395
95451
  * **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
95452
+ * way an image does, and `at` places the bend's apex or the ribbon's axis across
95397
95453
  * it. Content placed inside sits over the ribbon, in the `content` part.
95398
95454
  *
95399
95455
  * **Down the whole page, with `travel`.** The element fixes itself behind the
@@ -95401,8 +95457,9 @@ export type CustomElementsSolidJs = {
95401
95457
  * bottom, so scrolling travels along it. Put `helix-strands-stop` elements
95402
95458
  * inside to pin a form to a section: each names an element with `for` and says
95403
95459
  * 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.
95460
+ * its own `variant`, and between two waves less than a screen and a half
95461
+ * apart it turns off screen so each wave reads alone. Set `z-index` on the
95462
+ * element to move it.
95406
95463
  *
95407
95464
  * The ribbon stops moving in these cases:
95408
95465
  * - `prefers-reduced-motion` is set. The element shows one still frame, and in
@@ -95422,20 +95479,35 @@ export type CustomElementsSolidJs = {
95422
95479
  *
95423
95480
  * Component attributes and properties that can be applied to the element or by using JavaScript.
95424
95481
  *
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`
95482
+ * - `at`: Where the form sits across the box, as a share of the width: the bend's
95483
+ * apex or the ribbon's axis. `0` is the left edge and `1` the right. A wave
95484
+ * crosses the whole width and does not read it. Unset, a bend's apex sits at `0.5`
95428
95485
  * and a ribbon runs down the middle.
95429
95486
  *
95430
95487
  * **A share rather than a length**, so the ribbon keeps its place when the
95431
95488
  * box changes shape. Read inside a box only; in `travel` each stop has its
95432
95489
  * own.
95490
+ * - `bloom`: How much the glow around the strands adds, as a multiplier. `0` draws the
95491
+ * strands alone, crisp and dimmer, and `1` is the default glow.
95492
+ * - `contrast`: How far apart the brightest and dimmest strands are, from `0`, most of
95493
+ * them alike, to `1`, a few burning bright over many faint ones. Clamped to
95494
+ * that range. The ribbon as a whole keeps its strength.
95433
95495
  * - `density`: How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
95434
95496
  * forty. Clamped to that range.
95497
+ * - `depth`: How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
95498
+ * range. The strands at the front of the ribbon's roll are drawn thicker,
95499
+ * brighter, and further from its axis, and those at the back thinner, dimmer,
95500
+ * and out of focus.
95501
+ * - `drift`: How differently each strand moves, from `0`, the whole ribbon rolling and
95502
+ * waving as one, to `1`, each strand at its own pace and angle, crossing
95503
+ * over the others. Clamped to that range.
95504
+ * - `dust`: How many specks of dust drift around the strands, as a multiplier: `0`
95505
+ * draws none, `1` six hundred, and `4`, the most, two thousand four
95506
+ * hundred. They gather where the ribbon is brightest.
95435
95507
  * - `gain`: Overall brightness, as a multiplier on the light.
95436
95508
  * - `softness`: The share of strands drawn out of focus where the ribbon is wide, from `0`,
95437
95509
  * 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.
95510
+ * form, such as a bend's apex or a wave, stays sharp whatever this says.
95439
95511
  * - `speed`: How fast the ribbon moves, as a multiplier on time. `0` holds it still.
95440
95512
  * - `spread`: How wide the ribbon is, as a multiplier on each form's own width.
95441
95513
  * - `travel`: Whether the ribbon is laid down the whole page, so scrolling travels along
@@ -95485,7 +95557,7 @@ export type CustomElementsSolidJs = {
95485
95557
  * - `--strands-glow`: The color of most strands. Defaults to `--helix-color-primary`.
95486
95558
  * - `--strands-ground`: The page the light is added to. Defaults to `--helix-color-background`.
95487
95559
  * - `--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`.
95560
+ * - `--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
95561
  *
95490
95562
  * ## CSS Parts
95491
95563
  *
@@ -95510,8 +95582,8 @@ export type CustomElementsSolidJs = {
95510
95582
 
95511
95583
  /**
95512
95584
  * 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
95585
+ * `for` and says which form the ribbon takes when the page reaches it: a `bend`
95586
+ * turning through it, a `ribbon` passing through `at`, or `waves` crossing at
95515
95587
  * its top edge. The stops are read in page order, whatever order they are
95516
95588
  * written in, and a stop naming no element is skipped.
95517
95589
  *
@@ -95526,9 +95598,9 @@ export type CustomElementsSolidJs = {
95526
95598
  *
95527
95599
  * Component attributes and properties that can be applied to the element or by using JavaScript.
95528
95600
  *
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.
95601
+ * - `at`: Where the form sits across the page, as a share of the width: the bend's
95602
+ * apex or the ribbon's axis. A wave crosses the whole width and does not
95603
+ * read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle.
95532
95604
  * - `for`: The id of the element the form is pinned to, in the same tree as the stop.
95533
95605
  * - `variant`: The form the ribbon takes at the element. When it is not set, the form is `ribbon`.
95534
95606
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -103474,7 +103546,7 @@ export type CustomCssProperties = {
103474
103546
  "--strands-ground"?: (string) | undefined;
103475
103547
  /** 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
103548
  "--strands-peak"?: (string) | undefined;
103477
- /** The color of a few strands, for depth. Defaults to `--helix-color-info`. */
103549
+ /** 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
103550
  "--strands-tint"?: (string) | undefined;
103479
103551
  /** Height of the track. The width follows it. */
103480
103552
  "--switch-block-size"?: (string) | undefined;
package/types/vue.d.ts CHANGED
@@ -17150,23 +17150,43 @@ export type HelixStrandsHelixStrandsFallbackElementEvent =
17150
17150
  HelixStrandsElementEvent<HelixStrandsFallbackEvent>;
17151
17151
 
17152
17152
  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`
17153
+ /** Where the form sits across the box, as a share of the width: the bend's
17154
+ apex 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 bend's apex sits at `0.5`
17156
17156
  and a ribbon runs down the middle.
17157
17157
 
17158
17158
  **A share rather than a length**, so the ribbon keeps its place when the
17159
17159
  box changes shape. Read inside a box only; in `travel` each stop has its
17160
17160
  own. */
17161
17161
  at?: (HelixStrands["at"]) | undefined;
17162
+ /** How much the glow around the strands adds, as a multiplier. `0` draws the
17163
+ strands alone, crisp and dimmer, and `1` is the default glow. */
17164
+ bloom?: (HelixStrands["bloom"]) | undefined;
17165
+ /** How far apart the brightest and dimmest strands are, from `0`, most of
17166
+ them alike, to `1`, a few burning bright over many faint ones. Clamped to
17167
+ that range. The ribbon as a whole keeps its strength. */
17168
+ contrast?: (HelixStrands["contrast"]) | undefined;
17162
17169
  /** How many strands the ribbon has, from `0`, sixty, to `1`, three hundred and
17163
17170
  forty. Clamped to that range. */
17164
17171
  density?: (HelixStrands["density"]) | undefined;
17172
+ /** How much the ribbon's depth shows, from `0`, flat, to `1`. Clamped to that
17173
+ range. The strands at the front of the ribbon's roll are drawn thicker,
17174
+ brighter, and further from its axis, and those at the back thinner, dimmer,
17175
+ and out of focus. */
17176
+ depth?: (HelixStrands["depth"]) | undefined;
17177
+ /** How differently each strand moves, from `0`, the whole ribbon rolling and
17178
+ waving as one, to `1`, each strand at its own pace and angle, crossing
17179
+ over the others. Clamped to that range. */
17180
+ drift?: (HelixStrands["drift"]) | undefined;
17181
+ /** How many specks of dust drift around the strands, as a multiplier: `0`
17182
+ draws none, `1` six hundred, and `4`, the most, two thousand four
17183
+ hundred. They gather where the ribbon is brightest. */
17184
+ dust?: (HelixStrands["dust"]) | undefined;
17165
17185
  /** Overall brightness, as a multiplier on the light. */
17166
17186
  gain?: (HelixStrands["gain"]) | undefined;
17167
17187
  /** The share of strands drawn out of focus where the ribbon is wide, from `0`,
17168
17188
  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. */
17189
+ form, such as a bend's apex or a wave, stays sharp whatever this says. */
17170
17190
  softness?: (HelixStrands["softness"]) | undefined;
17171
17191
  /** How fast the ribbon moves, as a multiplier on time. `0` holds it still. */
17172
17192
  speed?: (HelixStrands["speed"]) | undefined;
@@ -17189,9 +17209,9 @@ export type HelixStrandsVueEvents = {
17189
17209
  };
17190
17210
 
17191
17211
  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. */
17212
+ /** Where the form sits across the page, as a share of the width: the bend's
17213
+ apex or the ribbon's axis. A wave crosses the whole width and does not
17214
+ read it. Unset, a bend's apex sits at `0.5` and a ribbon runs down the middle. */
17195
17215
  at?: (HelixStrandsStop["at"]) | undefined;
17196
17216
  /** The id of the element the form is pinned to, in the same tree as the stop. */
17197
17217
  for?: (HelixStrandsStop["for"]) | undefined;
@@ -23483,7 +23503,7 @@ export type CustomCssProperties = {
23483
23503
  "--strands-ground"?: (string) | undefined;
23484
23504
  /** 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
23505
  "--strands-peak"?: (string) | undefined;
23486
- /** The color of a few strands, for depth. Defaults to `--helix-color-info`. */
23506
+ /** 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
23507
  "--strands-tint"?: (string) | undefined;
23488
23508
  /** Height of the track. The width follows it. */
23489
23509
  "--switch-block-size"?: (string) | undefined;
@@ -24751,13 +24771,13 @@ export interface WcToolkitVueGlobalComponents {
24751
24771
  HelixStepVueProps,
24752
24772
  HelixStepVueEvents
24753
24773
  >;
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. */
24774
+ /** 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
24775
  "helix-strands": DefineCustomElement<
24756
24776
  HelixStrands,
24757
24777
  HelixStrandsVueProps,
24758
24778
  HelixStrandsVueEvents
24759
24779
  >;
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. */
24780
+ /** 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
24781
  "helix-strands-stop": DefineCustomElement<
24762
24782
  HelixStrandsStop,
24763
24783
  HelixStrandsStopVueProps,