@fusion.dev/helix 0.198.0 → 0.199.1

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.
Files changed (53) hide show
  1. package/api.json +1 -1
  2. package/custom-elements.json +9159 -2248
  3. package/dist/element-events.generated.js +19 -0
  4. package/dist/graph/root/graph-root.css.js +1 -1
  5. package/dist/heatmap/root/heatmap-root.css.js +1 -1
  6. package/dist/heatmap/root/heatmap-root.d.ts +20 -0
  7. package/dist/heatmap/root/heatmap-root.js +7 -0
  8. package/dist/index.d.ts +4 -0
  9. package/dist/index.js +4 -0
  10. package/dist/motion-toggle/index.d.ts +1 -0
  11. package/dist/motion-toggle/index.js +1 -0
  12. package/dist/motion-toggle/root/motion-toggle-root.css.d.ts +1 -0
  13. package/dist/motion-toggle/root/motion-toggle-root.css.js +2 -0
  14. package/dist/motion-toggle/root/motion-toggle-root.d.ts +26 -0
  15. package/dist/motion-toggle/root/motion-toggle-root.js +12 -0
  16. package/dist/orb/root/orb-root.css.js +1 -1
  17. package/dist/orb/root/orb-root.d.ts +8 -0
  18. package/dist/orb/root/orb-root.js +7 -0
  19. package/dist/spatial-bar-chart/index.d.ts +1 -0
  20. package/dist/spatial-bar-chart/index.js +1 -0
  21. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.css.d.ts +1 -0
  22. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.css.js +2 -0
  23. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.d.ts +49 -0
  24. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.js +22 -0
  25. package/dist/spatial-heatmap/root/spatial-heatmap-root.css.js +1 -1
  26. package/dist/spatial-heatmap/root/spatial-heatmap-root.d.ts +21 -0
  27. package/dist/spatial-heatmap/root/spatial-heatmap-root.js +7 -0
  28. package/dist/spatial-ribbon-chart/index.d.ts +1 -0
  29. package/dist/spatial-ribbon-chart/index.js +1 -0
  30. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.css.d.ts +1 -0
  31. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.css.js +2 -0
  32. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.d.ts +49 -0
  33. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.js +22 -0
  34. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.css.js +1 -1
  35. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.d.ts +20 -0
  36. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.js +7 -0
  37. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.css.js +1 -1
  38. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.d.ts +22 -0
  39. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.js +7 -0
  40. package/dist/spatial-treemap/index.d.ts +1 -0
  41. package/dist/spatial-treemap/index.js +1 -0
  42. package/dist/spatial-treemap/root/spatial-treemap-root.css.d.ts +1 -0
  43. package/dist/spatial-treemap/root/spatial-treemap-root.css.js +2 -0
  44. package/dist/spatial-treemap/root/spatial-treemap-root.d.ts +49 -0
  45. package/dist/spatial-treemap/root/spatial-treemap-root.js +22 -0
  46. package/examples.json +1 -1
  47. package/lint.json +1 -1
  48. package/package.json +6 -6
  49. package/skills/helix/SKILL.md +2 -2
  50. package/types/jsx.d.ts +3510 -450
  51. package/types/svelte.d.ts +4 -0
  52. package/types/vue.d.ts +637 -2
  53. package/types/words.d.ts +25 -5
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: block}[part="plot"] {background-color: var(--helix-color-surface-sunken);block-size: var(--spatial-scatter-chart-block-size, 22em);border-radius: var(--helix-radii-md);overflow: hidden;position: relative}::slotted(*) {inset: 0;position: absolute}[part="plot"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="fallback"] {inset: var(--helix-space-md);position: absolute}[part="fallback"][hidden] {display: none}[part="drawing"] {block-size: 100%;display: block;font-family: var(--helix-font-sans);inline-size: 100%;overflow: visible;touch-action: pan-y;user-select: none}[part="grid"] {fill: none;opacity: 0.35;stroke: var(--helix-color-foreground-muted);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="tick"] {fill: var(--helix-color-foreground-muted);font-weight: var(--helix-weight-medium)}[part="axis-name"] {fill: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold)}[part~="point"] {fill: var(--chart-series, var(--helix-color-primary));stroke: var(--helix-color-surface-sunken);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}foreignObject > [part="mark"] {translate: -50% -50%}[part="ring"] {fill: none;pointer-events: none;stroke: var(--helix-color-foreground);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}[part="live"], [part="summary"], [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="empty"], [part="loading"] {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~="point"] {stroke: var(--helix-color-border)}}@media (forced-colors: active) {[part~="point"] {forced-color-adjust: none;stroke: CanvasText}[part="grid"] {stroke: CanvasText}[part="tick"], [part="axis-name"] {fill: CanvasText}[part="ring"] {stroke: Highlight}}`);
2
+ export const styles = createSheet(`:host {display: block}[part="plot"] {background-color: var(--helix-color-surface-sunken);block-size: var(--spatial-scatter-chart-block-size, 22em);border-radius: var(--helix-radii-md);overflow: hidden;position: relative}::slotted(*) {inset: 0;position: absolute}:host([no-box]) [part="plot"] {background-color: transparent}[part="plot"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="fallback"] {inset: var(--helix-space-md);position: absolute}[part="fallback"][hidden] {display: none}[part="drawing"] {block-size: 100%;display: block;font-family: var(--helix-font-sans);inline-size: 100%;overflow: visible;touch-action: pan-y;user-select: none}[part="grid"] {fill: none;opacity: 0.35;stroke: var(--helix-color-foreground-muted);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="tick"] {fill: var(--helix-color-foreground-muted);font-weight: var(--helix-weight-medium)}[part="axis-name"] {fill: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold)}[part="drop-line"] {opacity: 0.45;stroke: var(--chart-series, var(--helix-color-primary));stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part~="point"] {fill: var(--_spatial-scatter-chart-fill, var(--chart-series, var(--helix-color-primary)));fill-opacity: calc(var(--_spatial-scatter-chart-area, 1) * var(--_spatial-scatter-chart-through, 1));stroke: var(--_spatial-scatter-chart-line, var(--helix-color-surface-sunken));stroke-opacity: var(--_spatial-scatter-chart-through, 1);stroke-width: var(--_spatial-scatter-chart-weight, var(--helix-border-thin));vector-effect: non-scaling-stroke}:host([emphasis="outlined"]) [part~="point"] {--_spatial-scatter-chart-fill: color-mix(in oklab, var(--chart-series, var(--helix-color-primary)) 60%, var(--helix-color-background));--_spatial-scatter-chart-line: var(--chart-series, var(--helix-color-primary));--_spatial-scatter-chart-weight: var(--helix-border-thick)}:host([emphasis="subtle"]) [part~="point"] {--_spatial-scatter-chart-area: 0.2;--_spatial-scatter-chart-line: var(--chart-series, var(--helix-color-primary));--_spatial-scatter-chart-weight: var(--helix-border-thick)}:host([material="glass"]) {--_spatial-scatter-chart-through: calc(0.62 * var(--helix-material-opacity))}:host([material="frosted"]) {--_spatial-scatter-chart-through: calc(0.88 * var(--helix-material-opacity))}foreignObject > [part="mark"] {translate: -50% -50%}[part="ring"] {fill: none;pointer-events: none;stroke: var(--helix-color-foreground);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}[part="live"], [part="summary"], [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="empty"], [part="loading"] {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~="point"] {stroke: var(--helix-color-border)}}@media (forced-colors: active) {[part~="point"] {forced-color-adjust: none;stroke: CanvasText}[part="drop-line"] {stroke: CanvasText}[part="grid"] {stroke: CanvasText}[part="tick"], [part="axis-name"] {fill: CanvasText}[part="ring"] {stroke: Highlight}}`);
@@ -12,6 +12,7 @@ import '../../tooltip/index.js';
12
12
  * @since 0.190.0
13
13
  * @status experimental
14
14
  * @category charts
15
+ * @groups charts
15
16
  * @documentation https://fusion.dev/helix/components/spatial-scatter-chart
16
17
  *
17
18
  * @cssproperty --spatial-scatter-chart-block-size - How tall the plot is.
@@ -19,6 +20,25 @@ import '../../tooltip/index.js';
19
20
  export declare class HelixSpatialScatterChart extends HelixHeadlessSpatialScatterChart {
20
21
  static tier: string;
21
22
  static styles: CSSResultGroup;
23
+ /**
24
+ * How strongly the points are drawn, as on every chart.
25
+ *
26
+ * `outlined` is a point as a ring in its group's color over a dot faded
27
+ * toward the page, and `subtle` the same ring over a faint dot. Absent is
28
+ * the filled dot, per the rule that a reflected property takes no default,
29
+ * and `solid` writes it out. A renderer draws the points the same way.
30
+ *
31
+ * It composes with `material`: emphasis decides what is drawn, and material
32
+ * how much of it comes through. The ring on the point the keys rest on keeps
33
+ * its own ink.
34
+ */
35
+ emphasis?: 'outlined' | 'solid' | 'subtle';
36
+ /**
37
+ * How much of each mark comes through, as on every chart: `glass` admits the
38
+ * most of what is behind it, `frosted` less, and absent is opaque. The
39
+ * strength is the theme's, scaled by `--helix-material-opacity`.
40
+ */
41
+ material?: 'frosted' | 'glass';
22
42
  }
23
43
  declare global {
24
44
  interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { customElement } from '@fusion.dev/helix-core';
3
3
  import { HelixHeadlessSpatialScatterChart } from '@fusion.dev/helix-headless/spatial-scatter-chart';
4
+ import { property } from 'lit/decorators.js';
4
5
  import { styles as seriesStyles } from '../../shared/chart/series.css.js';
5
6
  import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
6
7
  import { styles } from './spatial-scatter-chart-root.css.js';
@@ -9,6 +10,12 @@ let HelixSpatialScatterChart = class HelixSpatialScatterChart extends HelixHeadl
9
10
  static { this.tier = 'helix-'; }
10
11
  static { this.styles = [seriesStyles, tooltipStyles, styles]; }
11
12
  };
13
+ __decorate([
14
+ property({ reflect: true })
15
+ ], HelixSpatialScatterChart.prototype, "emphasis", void 0);
16
+ __decorate([
17
+ property({ reflect: true })
18
+ ], HelixSpatialScatterChart.prototype, "material", void 0);
12
19
  HelixSpatialScatterChart = __decorate([
13
20
  customElement('helix-spatial-scatter-chart')
14
21
  ], HelixSpatialScatterChart);
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {--_spatial-surface-chart-high: var(--spatial-surface-chart-high, var(--helix-color-primary-active));--_spatial-surface-chart-low: var(--spatial-surface-chart-low, color-mix(in oklab, var(--helix-color-primary-active) 15%, var(--helix-color-surface-sunken)));display: block}[part="plot"] {background-color: var(--helix-color-surface-sunken);block-size: var(--spatial-surface-chart-block-size, 22em);border-radius: var(--helix-radii-md);overflow: hidden;position: relative}::slotted(*) {inset: 0;position: absolute}[part="plot"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="fallback"] {inset: var(--helix-space-md);position: absolute}[part="fallback"][hidden] {display: none}[part="drawing"] {block-size: 100%;display: block;font-family: var(--helix-font-sans);inline-size: 100%;overflow: visible;touch-action: pan-y;user-select: none}[part="grid"] {fill: none;opacity: 0.35;stroke: var(--helix-color-foreground-muted);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="tick"] {fill: var(--helix-color-foreground-muted);font-weight: var(--helix-weight-medium)}[part="axis-name"] {fill: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold)}[part="face"] {--_spatial-surface-chart-color: color-mix(in oklab, var(--_spatial-surface-chart-high) calc(var(--spatial-surface-chart-level, 0) * 100%), var(--_spatial-surface-chart-low));--_spatial-surface-chart-lit: oklch(from var(--_spatial-surface-chart-color) calc(l - var(--spatial-surface-chart-shade, 0)) c h);--_spatial-surface-chart-rule: oklch(from var(--_spatial-surface-chart-lit) calc(l + clamp(-0.1, (0.6 - l) * 1000, 0.14)) c h);fill: var(--_spatial-surface-chart-lit);stroke: var(--_spatial-surface-chart-rule);stroke-linejoin: round;stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}foreignObject > [part="mark"] {translate: -50% -50%}[part="ring"] {fill: none;pointer-events: none;stroke: var(--helix-color-foreground);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}[part="live"], [part="summary"], [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="empty"], [part="loading"] {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="face"] {stroke: var(--helix-color-border)}}@media (forced-colors: active) {[part="face"] {forced-color-adjust: none;stroke: CanvasText}[part="grid"] {stroke: CanvasText}[part="tick"], [part="axis-name"] {fill: CanvasText}[part="ring"] {stroke: Highlight}}`);
2
+ export const styles = createSheet(`:host {--_spatial-surface-chart-high: var(--spatial-surface-chart-high, var(--helix-color-primary-active));--_spatial-surface-chart-low: var(--spatial-surface-chart-low, color-mix(in oklab, var(--helix-color-primary-active) 15%, var(--helix-color-surface-sunken)));display: block}[part="plot"] {background-color: var(--helix-color-surface-sunken);block-size: var(--spatial-surface-chart-block-size, 22em);border-radius: var(--helix-radii-md);overflow: hidden;position: relative}::slotted(*) {inset: 0;position: absolute}:host([no-box]) [part="plot"] {background-color: transparent}[part="plot"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="fallback"] {inset: var(--helix-space-md);position: absolute}[part="fallback"][hidden] {display: none}[part="drawing"] {block-size: 100%;display: block;font-family: var(--helix-font-sans);inline-size: 100%;overflow: visible;touch-action: pan-y;user-select: none}[part="grid"] {fill: none;opacity: 0.35;stroke: var(--helix-color-foreground-muted);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="tick"] {fill: var(--helix-color-foreground-muted);font-weight: var(--helix-weight-medium)}[part="axis-name"] {fill: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold)}[part="face"] {--_spatial-surface-chart-color: color-mix(in oklab, var(--_spatial-surface-chart-high) calc(var(--spatial-surface-chart-level, 0) * 100%), var(--_spatial-surface-chart-low));--_spatial-surface-chart-lit: oklch(from var(--_spatial-surface-chart-color) calc(l - var(--spatial-surface-chart-shade, 0)) c h);--_spatial-surface-chart-rule: oklch(from var(--_spatial-surface-chart-lit) calc(l + clamp(-0.1, (0.6 - l) * 1000, 0.14)) c h);fill: var(--_spatial-surface-chart-fill, var(--_spatial-surface-chart-lit));fill-opacity: calc(var(--_spatial-surface-chart-area, 1) * var(--_spatial-surface-chart-through, 1));stroke: var(--_spatial-surface-chart-line, var(--_spatial-surface-chart-rule));stroke-linejoin: round;stroke-opacity: var(--_spatial-surface-chart-through, 1);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="contour"] {--_spatial-surface-chart-contour: oklch(from color-mix(in oklab, var(--_spatial-surface-chart-high) calc(var(--spatial-surface-chart-level, 0) * 100%), var(--_spatial-surface-chart-low)) calc(l + clamp(-0.18, (0.6 - l) * 1000, 0.22)) c h);fill: none;stroke: var(--_spatial-surface-chart-contour);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}:host([emphasis="outlined"]) [part="face"] {--_spatial-surface-chart-fill: color-mix(in oklab, var(--_spatial-surface-chart-lit) 60%, var(--helix-color-background));--_spatial-surface-chart-line: var(--_spatial-surface-chart-color)}:host([emphasis="subtle"]) [part="face"] {--_spatial-surface-chart-area: 0.2;--_spatial-surface-chart-line: var(--_spatial-surface-chart-color)}:host([material="glass"]) {--_spatial-surface-chart-through: calc(0.62 * var(--helix-material-opacity))}:host([material="frosted"]) {--_spatial-surface-chart-through: calc(0.88 * var(--helix-material-opacity))}foreignObject > [part="mark"] {translate: -50% -50%}[part="ring"] {fill: none;pointer-events: none;stroke: var(--helix-color-foreground);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}[part="live"], [part="summary"], [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="empty"], [part="loading"] {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="face"] {stroke: var(--helix-color-border)}}@media (forced-colors: active) {[part="contour"] {stroke: CanvasText}[part="face"] {forced-color-adjust: none;stroke: CanvasText}[part="grid"] {stroke: CanvasText}[part="tick"], [part="axis-name"] {fill: CanvasText}[part="ring"] {stroke: Highlight}}`);
@@ -13,6 +13,7 @@ import '../../tooltip/index.js';
13
13
  * @since 0.190.0
14
14
  * @status experimental
15
15
  * @category charts
16
+ * @groups charts
16
17
  * @documentation https://fusion.dev/helix/components/spatial-surface-chart
17
18
  *
18
19
  * @cssproperty --spatial-surface-chart-block-size - How tall the plot is.
@@ -22,6 +23,27 @@ import '../../tooltip/index.js';
22
23
  export declare class HelixSpatialSurfaceChart extends HelixHeadlessSpatialSurfaceChart {
23
24
  static tier: string;
24
25
  static styles: CSSResultGroup;
26
+ /**
27
+ * How strongly the surface is drawn, as on every chart.
28
+ *
29
+ * `outlined` is a wireframe in the ramp's colors over a surface faded toward
30
+ * the page, and `subtle` the same wireframe over a faint surface that the
31
+ * grid behind shows through, so a reading the surface hid from this side can
32
+ * be seen. Absent is the filled surface, per the rule that a reflected
33
+ * property takes no default, and `solid` writes it out. A renderer draws the
34
+ * surface the same way.
35
+ *
36
+ * It composes with `material`: emphasis decides what is drawn, and material
37
+ * how much of it comes through. The ring on the reading the keys rest on
38
+ * keeps its own ink.
39
+ */
40
+ emphasis?: 'outlined' | 'solid' | 'subtle';
41
+ /**
42
+ * How much of each mark comes through, as on every chart: `glass` admits the
43
+ * most of what is behind it, `frosted` less, and absent is opaque. The
44
+ * strength is the theme's, scaled by `--helix-material-opacity`.
45
+ */
46
+ material?: 'frosted' | 'glass';
25
47
  }
26
48
  declare global {
27
49
  interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { customElement } from '@fusion.dev/helix-core';
3
3
  import { HelixHeadlessSpatialSurfaceChart } from '@fusion.dev/helix-headless/spatial-surface-chart';
4
+ import { property } from 'lit/decorators.js';
4
5
  import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
5
6
  import { styles } from './spatial-surface-chart-root.css.js';
6
7
  import '../../tooltip/index.js';
@@ -8,6 +9,12 @@ let HelixSpatialSurfaceChart = class HelixSpatialSurfaceChart extends HelixHeadl
8
9
  static { this.tier = 'helix-'; }
9
10
  static { this.styles = [tooltipStyles, styles]; }
10
11
  };
12
+ __decorate([
13
+ property({ reflect: true })
14
+ ], HelixSpatialSurfaceChart.prototype, "emphasis", void 0);
15
+ __decorate([
16
+ property({ reflect: true })
17
+ ], HelixSpatialSurfaceChart.prototype, "material", void 0);
11
18
  HelixSpatialSurfaceChart = __decorate([
12
19
  customElement('helix-spatial-surface-chart')
13
20
  ], HelixSpatialSurfaceChart);
@@ -0,0 +1 @@
1
+ export { HelixSpatialTreemap } from './root/spatial-treemap-root.js';
@@ -0,0 +1 @@
1
+ export { HelixSpatialTreemap } from './root/spatial-treemap-root.js';
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {display: block}[part="plot"] {background-color: var(--helix-color-surface-sunken);block-size: var(--spatial-treemap-block-size, 22em);border-radius: var(--helix-radii-md);overflow: hidden;position: relative}::slotted(*) {inset: 0;position: absolute}:host([no-box]) [part="plot"] {background-color: transparent}[part="plot"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset)}[part="fallback"] {inset: var(--helix-space-md);position: absolute}[part="fallback"][hidden] {display: none}[part="drawing"] {block-size: 100%;display: block;font-family: var(--helix-font-sans);inline-size: 100%;overflow: visible;touch-action: pan-y;user-select: none}[part="grid"] {fill: none;opacity: 0.35;stroke: var(--helix-color-foreground-muted);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}[part="tick"] {fill: var(--helix-color-foreground-muted);font-weight: var(--helix-weight-medium)}[part="axis-name"] {fill: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold)}[part~="block"] {--_spatial-treemap-color: var(--chart-series, var(--helix-color-primary))}[part="face"] {--_spatial-treemap-face: oklch(from var(--_spatial-treemap-color) calc(l - var(--spatial-treemap-shade, 0) * 0.5) c h);--_spatial-treemap-edge: oklch(from var(--_spatial-treemap-face) calc(l + clamp(-0.08, (0.6 - l) * 1000, 0.1)) c h);fill: var(--_spatial-treemap-fill, var(--_spatial-treemap-face));fill-opacity: calc(var(--_spatial-treemap-area, 1) * var(--_spatial-treemap-through, 1));stroke: var(--_spatial-treemap-line, var(--_spatial-treemap-edge));stroke-linejoin: round;stroke-opacity: var(--_spatial-treemap-through, 1);stroke-width: var(--helix-border-thin);vector-effect: non-scaling-stroke}:host([emphasis="outlined"]) [part="face"] {--_spatial-treemap-fill: color-mix(in oklab, var(--_spatial-treemap-face) 60%, var(--helix-color-background));--_spatial-treemap-line: var(--_spatial-treemap-color)}:host([emphasis="subtle"]) [part="face"] {--_spatial-treemap-area: 0.2;--_spatial-treemap-line: var(--_spatial-treemap-color)}:host([material="glass"]) {--_spatial-treemap-through: calc(0.62 * var(--helix-material-opacity))}:host([material="frosted"]) {--_spatial-treemap-through: calc(0.88 * var(--helix-material-opacity))}foreignObject > [part="mark"] {translate: -50% -50%}[part="ring"] {fill: none;pointer-events: none;stroke: var(--helix-color-foreground);stroke-width: var(--helix-border-thick);vector-effect: non-scaling-stroke}[part="live"], [part="summary"], [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="empty"], [part="loading"] {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="face"] {stroke: var(--helix-color-border)}}@media (forced-colors: active) {[part="face"] {forced-color-adjust: none;stroke: CanvasText}[part="grid"] {stroke: CanvasText}[part="tick"], [part="axis-name"] {fill: CanvasText}[part="ring"] {stroke: Highlight}}`);
@@ -0,0 +1,49 @@
1
+ import { HelixHeadlessSpatialTreemap } from '@fusion.dev/helix-headless/spatial-treemap';
2
+ import type { CSSResultGroup } from 'lit';
3
+ import '../../tooltip/index.js';
4
+ /**
5
+ * @summary A treemap drawn in three dimensions, each item a block whose area is its size and whose height is a second measure.
6
+ *
7
+ * @description
8
+ * Each group takes a series color from the theme, as every chart's series
9
+ * does, and each face of a block is that color darkened by how far it turns
10
+ * from the light. The chart draws the blocks in 3D in SVG, and
11
+ * `@fusion.dev/helix-plot` can draw them with three.js.
12
+ *
13
+ * @since 0.199.0
14
+ * @status experimental
15
+ * @category charts
16
+ * @groups charts
17
+ * @documentation https://fusion.dev/helix/components/spatial-treemap
18
+ *
19
+ * @cssproperty --spatial-treemap-block-size - How tall the plot is.
20
+ */
21
+ export declare class HelixSpatialTreemap extends HelixHeadlessSpatialTreemap {
22
+ static tier: string;
23
+ static styles: CSSResultGroup;
24
+ /**
25
+ * How strongly the blocks are drawn, as on every chart.
26
+ *
27
+ * `outlined` is a block as its edges in its group's color over faces faded
28
+ * toward the page, and `subtle` the same edges over a faint wash, which
29
+ * shows the blocks behind it. Absent is the filled block, per the rule that a
30
+ * reflected property takes no default, and `solid` writes it out. A
31
+ * renderer draws the blocks the same way.
32
+ *
33
+ * It composes with `material`: emphasis decides what is drawn, and material
34
+ * how much of it comes through. The outline on the block the keys rest on
35
+ * keeps its own ink.
36
+ */
37
+ emphasis?: 'outlined' | 'solid' | 'subtle';
38
+ /**
39
+ * How much of each mark comes through, as on every chart: `glass` admits the
40
+ * most of what is behind it, `frosted` less, and absent is opaque. The
41
+ * strength is the theme's, scaled by `--helix-material-opacity`.
42
+ */
43
+ material?: 'frosted' | 'glass';
44
+ }
45
+ declare global {
46
+ interface HTMLElementTagNameMap {
47
+ 'helix-spatial-treemap': HelixSpatialTreemap;
48
+ }
49
+ }
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from '@fusion.dev/helix-core';
3
+ import { HelixHeadlessSpatialTreemap } from '@fusion.dev/helix-headless/spatial-treemap';
4
+ import { property } from 'lit/decorators.js';
5
+ import { styles as seriesStyles } from '../../shared/chart/series.css.js';
6
+ import { styles as tooltipStyles } from '../../shared/chart/tooltip.css.js';
7
+ import { styles } from './spatial-treemap-root.css.js';
8
+ import '../../tooltip/index.js';
9
+ let HelixSpatialTreemap = class HelixSpatialTreemap extends HelixHeadlessSpatialTreemap {
10
+ static { this.tier = 'helix-'; }
11
+ static { this.styles = [seriesStyles, tooltipStyles, styles]; }
12
+ };
13
+ __decorate([
14
+ property({ reflect: true })
15
+ ], HelixSpatialTreemap.prototype, "emphasis", void 0);
16
+ __decorate([
17
+ property({ reflect: true })
18
+ ], HelixSpatialTreemap.prototype, "material", void 0);
19
+ HelixSpatialTreemap = __decorate([
20
+ customElement('helix-spatial-treemap')
21
+ ], HelixSpatialTreemap);
22
+ export { HelixSpatialTreemap };