@fusion.dev/helix 0.176.0 → 0.177.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.
@@ -21,6 +21,8 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
21
21
  * The shader stops drawing in these cases:
22
22
  * - The element is off screen or in a background tab.
23
23
  * - `prefers-reduced-motion` is set. The element shows one still frame.
24
+ * - `paused` is set, from a pause control on your page. The element holds the
25
+ * frame it shows.
24
26
  * - The browser takes back the drawing context, on a GPU reset or past its
25
27
  * limit of about sixteen contexts. The gradient shows until the context
26
28
  * returns.
@@ -116,6 +118,15 @@ export declare class HelixAura extends HelixElement {
116
118
  * this listens for. Asking for the pointer is asking for the hit test.
117
119
  */
118
120
  interactive: boolean;
121
+ /**
122
+ * Whether the field holds still on the frame it shows.
123
+ *
124
+ * Set it from a pause control on your page, so a reader can stop the motion,
125
+ * as WCAG 2.2.2 asks of anything that moves for more than five seconds. A
126
+ * change to another property still repaints the frame. Clearing it starts
127
+ * the field from where it stopped.
128
+ */
129
+ paused: boolean;
119
130
  /**
120
131
  * How far the pointer reaches into the field, `0` upward.
121
132
  *
@@ -360,7 +371,7 @@ export declare class HelixAura extends HelixElement {
360
371
  */
361
372
  private prepare;
362
373
  connectedCallback(): void;
363
- protected updated(): void;
374
+ protected updated(changed: PropertyValues): void;
364
375
  disconnectedCallback(): void;
365
376
  /**
366
377
  * Gives the context back, once nothing has claimed the element again.
@@ -22,6 +22,7 @@ let HelixAura = class HelixAura extends HelixElement {
22
22
  this.drift = 0;
23
23
  this.gain = 1;
24
24
  this.interactive = false;
25
+ this.paused = false;
25
26
  this.reach = 1;
26
27
  this.scale = 1;
27
28
  this.speed = 1;
@@ -45,7 +46,7 @@ let HelixAura = class HelixAura extends HelixElement {
45
46
  this.target = { presence: 0, x: 0, y: 0 };
46
47
  this.eased = { presence: 0, x: 0, y: 0 };
47
48
  this.gate = new PaintGateController(this, {
48
- canRun: () => !!this.gl && !this.gl.isContextLost() && this.width > 0 && this.opened,
49
+ canRun: () => !this.paused && !!this.gl && !this.gl.isContextLost() && this.width > 0 && this.opened,
49
50
  onFrame: (delta) => {
50
51
  this.advance(delta);
51
52
  },
@@ -236,7 +237,15 @@ let HelixAura = class HelixAura extends HelixElement {
236
237
  this.start();
237
238
  }
238
239
  }
239
- updated() {
240
+ updated(changed) {
241
+ if (changed.has('paused')) {
242
+ if (this.paused) {
243
+ this.gate.stop();
244
+ }
245
+ else {
246
+ this.gate.play();
247
+ }
248
+ }
240
249
  this.paintOnce();
241
250
  }
242
251
  disconnectedCallback() {
@@ -504,6 +513,9 @@ __decorate([
504
513
  __decorate([
505
514
  property({ reflect: true, type: Boolean })
506
515
  ], HelixAura.prototype, "interactive", void 0);
516
+ __decorate([
517
+ property({ type: Boolean })
518
+ ], HelixAura.prototype, "paused", void 0);
507
519
  __decorate([
508
520
  property({ type: Number })
509
521
  ], HelixAura.prototype, "reach", void 0);
@@ -14,7 +14,7 @@ import type { CSSResultGroup } from 'lit';
14
14
  * @aliases Profile picture, Gravatar
15
15
  * @documentation https://fusion.dev/helix/components/avatar
16
16
  *
17
- * @slot - Replaces the image and initials entirely, for an icon.
17
+ * @slot - Shown when there is no usable image, in place of the initials, for an icon. Hidden from assistive technology when the avatar has a `name`, which the host announces.
18
18
  *
19
19
  * @csspart image - The image, when one is loading or loaded.
20
20
  * @csspart initials - The initials shown when there is no usable image.
@@ -12,6 +12,10 @@ import type { CSSResultGroup } from 'lit';
12
12
  * that one transform reads, so the cards are placed once in the document's
13
13
  * coordinates and are not laid out again.
14
14
  *
15
+ * The [Canvases](https://fusion.dev/helix/docs/canvases) guide loads and saves
16
+ * a board, keeps it in your state, and lists every key and the roles a screen
17
+ * reader meets.
18
+ *
15
19
  * @since 0.100.0
16
20
  * @status experimental
17
21
  * @category media
@@ -1,5 +1,5 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: grid;position: relative;inline-size: var(--donut-chart-size, 16em);place-items: center;}[part="plot"] {grid-area: 1 / 1;}[part="plot"] {position: relative;inline-size: 100%;}[part="plot"] svg {aspect-ratio: 1;display: block;inline-size: 100%;}[part="track"],
2
+ export const styles = createSheet(`:host {display: grid;position: relative;inline-size: var(--donut-chart-size, 16em);place-items: center;}[part="plot"] {grid-area: 1 / 1;}[part="plot"] {position: relative;inline-size: 100%;}[part="plot"]:not(:has(svg)) {aspect-ratio: 1;}:host([sweep="half"]) [part="plot"]:not(:has(svg)) {aspect-ratio: 2;}[part="plot"] svg {aspect-ratio: 1;display: block;inline-size: 100%;}[part="track"],
3
3
  [part~="segment"] {transform: rotate(-90deg);transform-box: fill-box;transform-origin: center;}[part="track"] {stroke: var(--donut-chart-track-color, var(--helix-color-surface-sunken));}[part~="segment"] {stroke-linecap: butt;stroke-width: var(--donut-chart-stroke);}[part="center"] slot {--stat-value-size: 24cqi;font-size: 13cqi;}[part="center"] {inset-block-start: 50%;inset-inline-start: 50%;pointer-events: none;position: absolute;translate: -50% -50%;box-sizing: border-box;--_donut-chart-ring: 80;container-type: inline-size;display: grid;inline-size: calc(100% * (var(--_donut-chart-ring) - 2 * var(--donut-chart-stroke, 16)) / 100);place-items: center;text-align: center;}[part~="segment"] {stroke: var(--chart-series);}[part~="segment"][data-active] {stroke-width: calc(var(--donut-chart-stroke) * 1.18);}:host([emphasis="outlined"]) [part~="segment"][data-active] {stroke: var(--chart-series);stroke-width: var(--donut-chart-stroke);}[part~="segment"] {transition:
4
4
  r var(--helix-duration-normal) var(--helix-easing-decelerate),
5
5
  stroke var(--helix-duration-fast) var(--helix-easing-decelerate),
@@ -8,12 +8,13 @@ import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessDonutChart } from '@fusion.dev/helix-headless/donut-chart';
9
9
  import { property } from 'lit/decorators.js';
10
10
  import { styles as seriesStyles } from '../../shared/chart/series.css.js';
11
+ import { styles as statusStyles } from '../../shared/chart/status.css.js';
11
12
  import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
12
13
  import { styles } from './donut-chart-root.css.js';
13
14
  import '../../tooltip/index.js';
14
15
  let HelixDonutChart = class HelixDonutChart extends HelixHeadlessDonutChart {
15
16
  static { this.tier = 'helix-'; }
16
- static { this.styles = [seriesStyles, tooltipStyles, styles]; }
17
+ static { this.styles = [seriesStyles, statusStyles, tooltipStyles, styles]; }
17
18
  };
18
19
  __decorate([
19
20
  property({ reflect: true })
@@ -104,6 +104,7 @@ registerElementEvents({
104
104
  ],
105
105
  'helix-date-picker': ['change', 'helix-before-change', 'helix-navigate', 'input'],
106
106
  'helix-dialog': ['close', 'helix-before-close', 'helix-before-open', 'toggle'],
107
+ 'helix-donut-chart': ['helix-reading-change', 'helix-reading-press'],
107
108
  'helix-drawer': ['close', 'helix-before-close', 'helix-before-open', 'toggle'],
108
109
  'helix-drilldown': ['helix-navigate', 'helix-select'],
109
110
  'helix-drilldown-item': ['helix-select'],
@@ -255,6 +256,7 @@ registerElementEvents({
255
256
  'toggle',
256
257
  ],
257
258
  'helix-slider': ['change', 'helix-before-change', 'input'],
259
+ 'helix-sparkline': ['helix-reading-change', 'helix-reading-press'],
258
260
  'helix-speed-dial': ['helix-before-close', 'helix-before-open', 'helix-select', 'toggle'],
259
261
  'helix-speed-dial-item': ['helix-select'],
260
262
  'helix-splitter': [
@@ -11,6 +11,10 @@ import type { CSSResultGroup } from 'lit';
11
11
  * `no-panel`, the drawing takes the whole frame, and a button among the
12
12
  * controls opens the search and the list over its end.
13
13
  *
14
+ * The [Graphs](https://fusion.dev/helix/docs/graphs) guide connects a
15
+ * renderer, lists the keys and what a screen reader hears, and describes the
16
+ * methods of a driver for another renderer.
17
+ *
14
18
  * @since 0.116.0
15
19
  * @status experimental
16
20
  * @category media
@@ -18,4 +18,5 @@ var(--helix-color-surface-sunken)
18
18
  );--heatmap-tone-5: var(--helix-color-primary-active);display: grid;grid-template-columns: minmax(0, max-content);}[part="strip"] {display: grid;gap: var(--heatmap-gap, var(--helix-space-2xs));grid-auto-columns: var(--_heatmap-cell-width);grid-auto-flow: column;grid-template-rows: repeat(var(--heatmap-rows, 1), var(--_heatmap-cell-height));justify-content: start;position: relative;}[part~="cell"] {background-color: var(--heatmap-tone, var(--helix-color-surface-sunken));border-radius: var(--heatmap-cell-radius, calc(var(--helix-radii-sm) * 0.5));inline-size: var(--_heatmap-cell-width);}[part="mark"] {block-size: 1px;inline-size: 1px;pointer-events: none;position: absolute;}[part="tooltip-anchor"] {inset: 0;pointer-events: none;position: absolute;}[part="tooltip-label"] {display: block;font-weight: var(--helix-weight-medium);opacity: 0.72;}[part~="tooltip-cell"] {align-items: baseline;display: flex;gap: var(--helix-space-sm);justify-content: space-between;}[part="tooltip-name"] {opacity: 0.72;}[part="tooltip-value"] {font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);}@media (hover: hover) {[part~="cell"]:hover {outline: var(--helix-border-thin) solid var(--helix-color-foreground);outline-offset: var(--helix-border-thin);}[part="strip"]:not([data-spaced]) [part~="cell"]:hover {outline-offset: calc(var(--helix-border-thin) * -1);}}[part~="cell-active"] {outline: var(--helix-border-thin) solid var(--helix-color-foreground);outline-offset: var(--helix-border-thin);}[part="strip"]:not([data-spaced]) [part~="cell-active"] {outline-offset: calc(var(--helix-border-thin) * -1);}[part~="cell-selected"] {box-shadow: inset 0 0 0 var(--heatmap-selected-width, var(--helix-border-thick))
19
19
  var(--heatmap-selected-color, var(--helix-color-primary));}[part="strip"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part~="tooltip-cell-current"] {font-weight: var(--helix-weight-medium);}[part="live"],
20
20
  [part="overview"],
21
- [part="selection"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}[part="footer"] {align-items: baseline;color: var(--helix-color-foreground-subtle);display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);gap: var(--helix-space-xs);grid-template-columns: auto minmax(0, 1fr) auto;padding-block-start: var(--helix-space-xs);}[part="summary"] {text-align: center;}[part="end"] {text-align: end;}[part="footer"][data-empty] {display: none;}[part="empty"] {color: var(--helix-color-foreground-subtle);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-none);text-align: center;}@media print {[part~="cell"] {outline: var(--helix-border-thin) solid var(--helix-color-border);outline-offset: calc(var(--helix-border-thin) * -1);}}`);
21
+ [part="selection"],
22
+ [part="table"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}[part="footer"] {align-items: baseline;color: var(--helix-color-foreground-subtle);display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);gap: var(--helix-space-xs);grid-template-columns: auto minmax(0, 1fr) auto;padding-block-start: var(--helix-space-xs);}[part="summary"] {text-align: center;}[part="end"] {text-align: end;}[part="footer"][data-empty] {display: none;}[part="empty"] {color: var(--helix-color-foreground-subtle);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-none);text-align: center;}@media print {[part~="cell"] {outline: var(--helix-border-thin) solid var(--helix-color-border);outline-offset: calc(var(--helix-border-thin) * -1);}}`);
@@ -1,5 +1,5 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {--_icon-button-size: var(--icon-button-size, var(--helix-size-control));display: inline-flex;}:host {--_icon-button-edge: var(--helix-color-border);--_icon-button-turn: 0.8s;--_icon-button-ink: var(--helix-color-foreground-muted);--_icon-button-ink-hover: var(--helix-color-foreground);--_icon-button-fill: var(--_icon-button-tone);--_icon-button-fill-hover: var(--_icon-button-tone-hover);--_icon-button-on-tone: var(--helix-color-background);--_icon-button-tone: var(--helix-color-foreground);--_icon-button-tone-hover: color-mix(
2
+ export const styles = createSheet(`:host {--_icon-button-size: var(--icon-button-size, var(--helix-size-control));display: inline-flex;}:host {--_icon-button-edge: var(--helix-color-border);--_icon-button-crawl: 4s;--_icon-button-turn: 0.8s;--_icon-button-ink: var(--helix-color-foreground-muted);--_icon-button-ink-hover: var(--helix-color-foreground);--_icon-button-fill: var(--_icon-button-tone);--_icon-button-fill-hover: var(--_icon-button-tone-hover);--_icon-button-on-tone: var(--helix-color-background);--_icon-button-tone: var(--helix-color-foreground);--_icon-button-tone-hover: color-mix(
3
3
  in oklab,
4
4
  var(--helix-color-foreground) 86%,
5
5
  var(--helix-color-background)
@@ -95,4 +95,4 @@ color-mix(in oklab, var(--_icon-button-tone) 22%, transparent)
95
95
  var(--icon-button-foreground-color, var(--_icon-button-tone))
96
96
  );}:host(:disabled) [part="button"] {cursor: not-allowed;opacity: 0.5;}:host(:state(pending)) [part="button"] {cursor: progress;position: relative;}:host(:state(pending)) [part="button"] > :not([part="spinner"]) {visibility: hidden;}[part="spinner"] {animation: helix-icon-button-turn var(--icon-button-spinner-duration, var(--_icon-button-turn))
97
97
  linear infinite;block-size: var(--icon-button-spinner-size, 1.15em);border: var(--helix-border-thick) solid
98
- color-mix(in oklab, var(--icon-button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--icon-button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--icon-button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-icon-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration: calc(var(--helix-duration-slow) * 12);}}@media print {:host {display: none;}}`);
98
+ color-mix(in oklab, var(--icon-button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--icon-button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--icon-button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-icon-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration: var(--_icon-button-crawl);}}@media print {:host {display: none;}}`);
@@ -1,6 +1,6 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {--_loader-size: var(--helix-size-loader-md);--_loader-breathe: 2.4s;--_loader-stroke: 2;--_loader-turn: 0.8s;color: inherit;display: inline-grid;flex-shrink: 0;place-items: center;vertical-align: middle;}:host([size="sm"]) {--_loader-size: var(--helix-size-loader-sm);}:host([size="lg"]) {--_loader-size: var(--helix-size-loader-lg);}[part="svg"] {animation: helix-loader-turn var(--loader-duration, var(--_loader-turn)) linear infinite;grid-area: 1 / 1;block-size: var(--loader-size, var(--_loader-size));inline-size: var(--loader-size, var(--_loader-size));}[part="track"] {animation: helix-loader-breathe var(--_loader-breathe) ease-in-out infinite;opacity: 0.18;stroke: var(--loader-track-color, currentColor);stroke-width: var(--loader-track-width, var(--_loader-stroke));}[part="mark"] {animation: helix-loader-breathe-mark var(--_loader-breathe) ease-in-out infinite;}@keyframes helix-loader-breathe {0%,
2
+ export const styles = createSheet(`:host {--_loader-size: var(--helix-size-loader-md);--_loader-breathe: 2.4s;--_loader-crawl: 4s;--_loader-stroke: 2;--_loader-turn: 0.8s;color: inherit;display: inline-grid;flex-shrink: 0;place-items: center;vertical-align: middle;}:host([size="sm"]) {--_loader-size: var(--helix-size-loader-sm);}:host([size="lg"]) {--_loader-size: var(--helix-size-loader-lg);}[part="content"] {grid-area: 1 / 1;}[part="svg"] {animation: helix-loader-turn var(--loader-duration, var(--_loader-turn)) linear infinite;grid-area: 1 / 1;block-size: var(--loader-size, var(--_loader-size));inline-size: var(--loader-size, var(--_loader-size));}[part="track"] {animation: helix-loader-breathe var(--_loader-breathe) ease-in-out infinite;opacity: 0.18;stroke: var(--loader-track-color, currentColor);stroke-width: var(--loader-track-width, var(--_loader-stroke));}[part="mark"] {animation: helix-loader-breathe-mark var(--_loader-breathe) ease-in-out infinite;}@keyframes helix-loader-breathe {0%,
3
3
  100% {opacity: 0.12;}50% {opacity: 0.24;}}@keyframes helix-loader-breathe-mark {0%,
4
4
  100% {opacity: 0.45;scale: 0.82;}50% {opacity: 1;scale: 1;}}[part="indicator"] {stroke: var(--loader-color, currentColor);stroke-dasharray: 50, 100;stroke-linecap: round;stroke-width: var(--loader-track-width, var(--_loader-stroke));}@keyframes helix-loader-turn {to {transform: rotate(1turn);}}@media (prefers-reduced-motion: reduce) {[part="track"],
5
- [part="mark"] {animation: none;}}@media (prefers-reduced-motion: reduce) {[part="svg"] {animation-duration: calc(var(--helix-duration-slow) * 12);}}[part="mark"] {--_mark-size: calc(var(--loader-size, var(--_loader-size)) * 0.4);--icon-size: var(--_mark-size);align-items: center;block-size: var(--_mark-size);display: flex;grid-area: 1 / 1;inline-size: var(--_mark-size);justify-content: center;}[part="mark"] ::slotted(*) {block-size: 100%;inline-size: 100%;}:host([variant="pulse"]) [part="indicator"] {display: none;}:host([variant="pulse"]) [part="svg"] {animation: none;}:host([variant="pulse"]) {--_loader-size: calc(var(--helix-size-loader-lg) * 2);}:host([variant="pulse"][size="sm"]) {--_loader-size: var(--helix-size-loader-lg);}:host([variant="pulse"][size="lg"]) {--_loader-size: calc(var(--helix-size-loader-lg) * 3);}:host([variant="pulse"]) [part="track"] {display: none;}:host([variant="pulse"]) [part="mark"] {animation-name: helix-loader-pulse-mark;}@keyframes helix-loader-pulse-mark {0%,
5
+ [part="mark"] {animation: none;}}@media (prefers-reduced-motion: reduce) {[part="svg"] {animation-duration: var(--_loader-crawl);}}[part="mark"] {--_mark-size: calc(var(--loader-size, var(--_loader-size)) * 0.4);--icon-size: var(--_mark-size);align-items: center;block-size: var(--_mark-size);display: flex;grid-area: 1 / 1;inline-size: var(--_mark-size);justify-content: center;}[part="mark"] ::slotted(*) {block-size: 100%;inline-size: 100%;}:host([variant="pulse"]) [part="indicator"] {display: none;}:host([variant="pulse"]) [part="svg"] {animation: none;}:host([variant="pulse"]) {--_loader-size: calc(var(--helix-size-loader-lg) * 2);}:host([variant="pulse"][size="sm"]) {--_loader-size: var(--helix-size-loader-lg);}:host([variant="pulse"][size="lg"]) {--_loader-size: calc(var(--helix-size-loader-lg) * 3);}:host([variant="pulse"]) [part="track"] {display: none;}:host([variant="pulse"]) [part="mark"] {animation-name: helix-loader-pulse-mark;}@keyframes helix-loader-pulse-mark {0%,
6
6
  100% {opacity: 0.35;}50% {opacity: 1;}}@media (prefers-reduced-motion: reduce) {:host([variant="pulse"]) [part="mark"] {animation: none;opacity: 1;}}[part="svg"][hidden] {display: inline;visibility: hidden;}[part="mark"][hidden] {display: flex;visibility: hidden;}@media print {:host {display: none;}}`);
@@ -13,6 +13,9 @@ import type { CSSResultGroup } from 'lit';
13
13
  * While `delay` runs, the loader keeps its size and draws nothing, so the line
14
14
  * it sits in does not move when it appears.
15
15
  *
16
+ * With something in the `content` slot, the loader takes the larger of the ring
17
+ * and the content, and the ring centers over the content while the work runs.
18
+ *
16
19
  * @since 0.1.0
17
20
  * @status stable
18
21
  * @category feedback
@@ -20,7 +23,7 @@ import type { CSSResultGroup } from 'lit';
20
23
  * @documentation https://fusion.dev/helix/components/loader
21
24
  *
22
25
  * @cssproperty --loader-color - Color of the moving arc.
23
- * @cssproperty --loader-duration - How long one turn of the arc takes, 0.8s by default. With motion reduced the turn slows to a crawl whatever this says.
26
+ * @cssproperty --loader-duration - How long one turn of the arc takes, 0.8s by default. With motion reduced the arc turns once every four seconds, whatever this says.
24
27
  * @cssproperty --loader-size - Diameter. Defaults to the size token that `size` picks, which is 1.5rem at the default density.
25
28
  * @cssproperty --loader-track-color - Color of the circle behind the arc.
26
29
  * @cssproperty --loader-track-width - Width of the arc and the circle behind it, in units of a 24-unit drawing. Defaults to 2.
@@ -13,6 +13,10 @@ import type { CSSResultGroup } from 'lit';
13
13
  * to draw the map's credit compact in a corner over the map, which suits a
14
14
  * map the width of the page.
15
15
  *
16
+ * The [Maps](https://fusion.dev/helix/docs/maps) guide connects a renderer,
17
+ * lists the keys and what a screen reader hears, and describes every method
18
+ * a driver for another renderer can have.
19
+ *
16
20
  * @since 0.100.0
17
21
  * @status experimental
18
22
  * @category media
@@ -13,5 +13,5 @@ inset-block-start var(--helix-duration-normal) var(--helix-easing-decelerate),
13
13
  inset-inline-start var(--helix-duration-normal) var(--helix-easing-decelerate),
14
14
  scale var(--helix-duration-fast) var(--helix-easing-decelerate);translate: -50% -50%;}[part~="point"][data-active] {opacity: 1;scale: 1.5;}[part="x-axis"],
15
15
  [part="y-axis"] {display: grid;}[part="x-axis"] {grid-area: x-axis;}[part="y-axis"] {grid-area: y-axis;}[part="x-tick"],
16
- [part="y-tick"] {color: var(--helix-color-foreground-muted);font-size: var(--helix-text-xs);font-variant-numeric: tabular-nums;grid-area: 1 / 1;line-height: 1;position: relative;white-space: nowrap;}[part="x-tick"] {inset-inline-start: var(--chart-tick);justify-self: start;translate: -50% 0;}[part="y-tick"] {align-self: start;inset-block-start: var(--chart-tick);justify-self: end;translate: 0 -50%;}@container (inline-size < 30rem) {[part="x-tick"]:nth-last-child(even) {visibility: hidden;}}[part="x-name"],
16
+ [part="y-tick"] {color: var(--helix-color-foreground-muted);font-size: var(--helix-text-xs);font-variant-numeric: tabular-nums;grid-area: 1 / 1;line-height: 1;position: relative;white-space: nowrap;}[part="x-tick"] {inset-inline-start: var(--chart-tick);justify-self: start;translate: -50% 0;}[part="x-tick"][data-edge="end"] {translate: -100% 0;}[part="y-tick"] {align-self: start;inset-block-start: var(--chart-tick);justify-self: end;translate: 0 -50%;}@container (inline-size < 30rem) {[part="x-tick"]:nth-last-child(even) {visibility: hidden;}}[part="x-name"],
17
17
  [part="y-name"] {color: var(--helix-color-foreground-muted);font-size: var(--helix-text-xs);font-weight: var(--helix-weight-medium);}[part="x-name"] {grid-area: x-name;justify-self: end;}[part="y-name"] {grid-area: y-name;justify-self: start;}[part="summary"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}@starting-style {[part~="point"] {opacity: 0;}}@media print {:host {print-color-adjust: exact;}}`);
@@ -1,3 +1,3 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`[part="empty"],
3
- [part="loading"] {color: var(--helix-color-foreground-subtle);display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inset: 0;margin: var(--helix-space-none);place-content: center;position: absolute;text-align: center;}`);
3
+ [part="loading"] {color: var(--helix-color-foreground-subtle);display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inset: 0;margin: var(--helix-space-none);place-content: center;position: absolute;text-align: center;}[part="table"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}`);
@@ -15,7 +15,7 @@ import type { CSSResultGroup } from 'lit';
15
15
  * @aliases TreeNode, Branch, Leaf
16
16
  * @documentation https://fusion.dev/helix/components/tree
17
17
  *
18
- * @slot - The item's label.
18
+ * @slot - The item's label. A nested item does not go here: give it `slot="children"`. In a development build, an item nested here is reported.
19
19
  * @slot chevron - Replaces the expand and collapse mark of a branch. A slotted icon is sized and
20
20
  * turned like the drawn one.
21
21
  * @slot children - Nested items, which make this a branch.