@fusion.dev/helix-headless 0.197.1 → 0.199.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.
Files changed (53) hide show
  1. package/api.json +1 -1
  2. package/custom-elements.json +8267 -2270
  3. package/dist/carousel/root/carousel-root.d.ts +14 -0
  4. package/dist/carousel/root/carousel-root.js +15 -1
  5. package/dist/element-events.generated.js +19 -0
  6. package/dist/graph/root/graph-root.d.ts +33 -0
  7. package/dist/graph/root/graph-root.js +57 -0
  8. package/dist/index.d.ts +4 -0
  9. package/dist/index.js +4 -0
  10. package/dist/map/raster/map-raster.d.ts +7 -3
  11. package/dist/map/raster/map-raster.js +5 -3
  12. package/dist/motion-toggle/index.d.ts +1 -0
  13. package/dist/motion-toggle/index.js +1 -0
  14. package/dist/motion-toggle/root/motion-toggle-root.d.ts +77 -0
  15. package/dist/motion-toggle/root/motion-toggle-root.js +56 -0
  16. package/dist/spatial-bar-chart/bars.d.ts +79 -0
  17. package/dist/spatial-bar-chart/bars.js +72 -0
  18. package/dist/spatial-bar-chart/index.d.ts +2 -0
  19. package/dist/spatial-bar-chart/index.js +2 -0
  20. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.d.ts +245 -0
  21. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.js +262 -0
  22. package/dist/spatial-ribbon-chart/index.d.ts +2 -0
  23. package/dist/spatial-ribbon-chart/index.js +2 -0
  24. package/dist/spatial-ribbon-chart/ribbons.d.ts +55 -0
  25. package/dist/spatial-ribbon-chart/ribbons.js +99 -0
  26. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.d.ts +243 -0
  27. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.js +259 -0
  28. package/dist/spatial-scatter-chart/field.d.ts +8 -0
  29. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.d.ts +14 -0
  30. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.js +20 -6
  31. package/dist/spatial-scatter-chart/view.d.ts +14 -1
  32. package/dist/spatial-scatter-chart/view.js +29 -9
  33. package/dist/spatial-surface-chart/grid.d.ts +22 -0
  34. package/dist/spatial-surface-chart/grid.js +67 -1
  35. package/dist/spatial-surface-chart/index.d.ts +1 -1
  36. package/dist/spatial-surface-chart/index.js +1 -1
  37. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.d.ts +20 -0
  38. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.js +38 -5
  39. package/dist/spatial-treemap/blocks.d.ts +106 -0
  40. package/dist/spatial-treemap/blocks.js +215 -0
  41. package/dist/spatial-treemap/index.d.ts +2 -0
  42. package/dist/spatial-treemap/index.js +2 -0
  43. package/dist/spatial-treemap/root/spatial-treemap-root.d.ts +236 -0
  44. package/dist/spatial-treemap/root/spatial-treemap-root.js +249 -0
  45. package/dist/video/root/video-root.d.ts +14 -0
  46. package/dist/video/root/video-root.js +30 -2
  47. package/examples.json +1 -1
  48. package/lint.json +1 -1
  49. package/package.json +5 -5
  50. package/types/jsx.d.ts +3037 -99
  51. package/types/svelte.d.ts +4 -0
  52. package/types/vue.d.ts +519 -3
  53. package/types/words.d.ts +149 -0
package/types/vue.d.ts CHANGED
@@ -101,6 +101,7 @@ import type {
101
101
  HelixHeadlessMenu,
102
102
  HelixHeadlessMenuSection,
103
103
  HelixHeadlessMeter,
104
+ HelixHeadlessMotionToggle,
104
105
  HelixHeadlessNavigation,
105
106
  HelixHeadlessNotificationGroup,
106
107
  HelixHeadlessNotification,
@@ -134,9 +135,12 @@ import type {
134
135
  HelixHeadlessSkipLink,
135
136
  HelixHeadlessSlider,
136
137
  HelixHeadlessSparkline,
138
+ HelixHeadlessSpatialBarChart,
137
139
  HelixHeadlessSpatialHeatmap,
140
+ HelixHeadlessSpatialRibbonChart,
138
141
  HelixHeadlessSpatialScatterChart,
139
142
  HelixHeadlessSpatialSurfaceChart,
143
+ HelixHeadlessSpatialTreemap,
140
144
  HelixHeadlessSpeedDialGroup,
141
145
  HelixHeadlessSpeedDialItem,
142
146
  HelixHeadlessSpeedDial,
@@ -2326,7 +2330,13 @@ export type HelixHeadlessCarouselHelixSelectElementEvent =
2326
2330
  HelixHeadlessCarouselElementEvent<HelixSelectEvent>;
2327
2331
 
2328
2332
  export type HelixHeadlessCarouselVueProps = {
2329
- /** Whether the carousel advances on its own. */
2333
+ /** Whether the carousel advances on its own.
2334
+
2335
+ **Not where the reader asked for less motion**, or where the page has
2336
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the carousel
2337
+ starts still, and its rotation control starts it. A page that pauses its
2338
+ motion later stops the rotation, and one that lets it run again starts it
2339
+ again, unless the reader stopped it. */
2330
2340
  autoplay?: (HelixHeadlessCarousel["autoplay"]) | undefined;
2331
2341
  /** Whether the previous and next controls are shown.
2332
2342
 
@@ -7812,6 +7822,16 @@ the list then holds, written with `count-label`. */
7812
7822
  the drawing, with `{note}` for its name and `{count}` for how many notes
7813
7823
  the list then holds, written with `count-label`. */
7814
7824
  selectionLabel?: (HelixHeadlessGraph["selectionLabel"]) | undefined;
7825
+ /** What the `settling` part says while a layout runs unseen, where the reader
7826
+ asked for less motion or the page paused its motion. */
7827
+ "settling-label"?: (HelixHeadlessGraph["settlingLabel"]) | undefined;
7828
+ /** What the `settling` part says while a layout runs unseen, where the reader
7829
+ asked for less motion or the page paused its motion. */
7830
+ settlingLabel?: (HelixHeadlessGraph["settlingLabel"]) | undefined;
7831
+ /** What the button that stops a long layout says. */
7832
+ "stop-layout-label"?: (HelixHeadlessGraph["stopLayoutLabel"]) | undefined;
7833
+ /** What the button that stops a long layout says. */
7834
+ stopLayoutLabel?: (HelixHeadlessGraph["stopLayoutLabel"]) | undefined;
7815
7835
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
7816
7836
  "two-finger-hint-label"?: (HelixHeadlessGraph["twoFingerHintLabel"]) | undefined;
7817
7837
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
@@ -11358,6 +11378,22 @@ export type HelixHeadlessMeterVueEvents = {
11358
11378
  "helix-band": HelixHeadlessMeterHelixBandElementEvent;
11359
11379
  };
11360
11380
 
11381
+ /** `HelixHeadlessMotionToggle` component event */
11382
+ export type HelixHeadlessMotionToggleElementEvent<E = Event> = TypedEvent<
11383
+ HelixHeadlessMotionToggle,
11384
+ E
11385
+ >;
11386
+
11387
+ export type HelixHeadlessMotionToggleVueProps = {
11388
+ /** The button's name, which stays the same whichever way it stands. */
11389
+ label?: (HelixHeadlessMotionToggle["label"]) | undefined;
11390
+ };
11391
+
11392
+ export type HelixHeadlessMotionToggleVueEvents = {
11393
+ /** Fired after a press pauses the page's motion or lets it run. */
11394
+ change: HelixHeadlessMotionToggleElementEvent;
11395
+ };
11396
+
11361
11397
  export type HelixHeadlessNavigationVueProps = {
11362
11398
  /** Whether the arrow keys move focus between the destinations.
11363
11399
 
@@ -14516,6 +14552,144 @@ export type HelixHeadlessSparklineVueEvents = {
14516
14552
  "helix-reading-press": HelixHeadlessSparklineHelixReadingPressElementEvent;
14517
14553
  };
14518
14554
 
14555
+ /** `HelixHeadlessSpatialBarChart` component event */
14556
+ export type HelixHeadlessSpatialBarChartElementEvent<E = Event> = TypedEvent<
14557
+ HelixHeadlessSpatialBarChart,
14558
+ E
14559
+ >;
14560
+ /** `helix-plot-change` event type */
14561
+ export type HelixHeadlessSpatialBarChartHelixPlotChangeElementEvent =
14562
+ HelixHeadlessSpatialBarChartElementEvent<HelixPlotChangeEvent>;
14563
+ /** `helix-plot-turn` event type */
14564
+ export type HelixHeadlessSpatialBarChartHelixPlotTurnElementEvent =
14565
+ HelixHeadlessSpatialBarChartElementEvent<HelixPlotTurnEvent>;
14566
+ /** `helix-reading-change` event type */
14567
+ export type HelixHeadlessSpatialBarChartHelixReadingChangeElementEvent =
14568
+ HelixHeadlessSpatialBarChartElementEvent<HelixReadingChangeEvent>;
14569
+ /** `helix-reading-press` event type */
14570
+ export type HelixHeadlessSpatialBarChartHelixReadingPressElementEvent =
14571
+ HelixHeadlessSpatialBarChartElementEvent<HelixReadingPressEvent>;
14572
+
14573
+ export type HelixHeadlessSpatialBarChartVueProps = {
14574
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
14575
+ alone and fill the plot, as a picture on a product's own page does. The
14576
+ table, the summary, the tooltip, and the keys still carry every value,
14577
+ and a renderer draws no box either. */
14578
+ "no-box"?: (HelixHeadlessSpatialBarChart["noBox"]) | undefined;
14579
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
14580
+ alone and fill the plot, as a picture on a product's own page does. The
14581
+ table, the summary, the tooltip, and the keys still carry every value,
14582
+ and a renderer draws no box either. */
14583
+ noBox?: (HelixHeadlessSpatialBarChart["noBox"]) | undefined;
14584
+ /** What the readout says for a place with no value. `{category}` and
14585
+ `{series}` name the place. */
14586
+ "open-label"?: (HelixHeadlessSpatialBarChart["openLabel"]) | undefined;
14587
+ /** What the readout says for a place with no value. `{category}` and
14588
+ `{series}` name the place. */
14589
+ openLabel?: (HelixHeadlessSpatialBarChart["openLabel"]) | undefined;
14590
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
14591
+ "plot-label"?: (HelixHeadlessSpatialBarChart["plotLabel"]) | undefined;
14592
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
14593
+ plotLabel?: (HelixHeadlessSpatialBarChart["plotLabel"]) | undefined;
14594
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
14595
+ are the number of bars, series, and categories, written in the locale,
14596
+ and `{low}` and `{high}` the lowest and the highest value. */
14597
+ "summary-label"?: (HelixHeadlessSpatialBarChart["summaryLabel"]) | undefined;
14598
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
14599
+ are the number of bars, series, and categories, written in the locale,
14600
+ and `{low}` and `{high}` the lowest and the highest value. */
14601
+ summaryLabel?: (HelixHeadlessSpatialBarChart["summaryLabel"]) | undefined;
14602
+ /** The words shown in place of the drawing when the table has no readings,
14603
+ and the fallback of the `empty` slot. */
14604
+ "empty-text"?: (HelixHeadlessSpatialBarChart["emptyText"]) | undefined;
14605
+ /** The words shown in place of the drawing when the table has no readings,
14606
+ and the fallback of the `empty` slot. */
14607
+ emptyText?: (HelixHeadlessSpatialBarChart["emptyText"]) | undefined;
14608
+ /** Whether the readings are still on their way. The chart shows
14609
+ `loading-text` in place of an empty drawing until it has readings.
14610
+
14611
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
14612
+ that already has readings keeps drawing them, so a refresh does not
14613
+ blank it. */
14614
+ loading?: (HelixHeadlessSpatialBarChart["loading"]) | undefined;
14615
+ /** The words shown in place of the drawing while `loading` is set and
14616
+ there are no readings yet, and the fallback of the `loading` slot. */
14617
+ "loading-text"?: (HelixHeadlessSpatialBarChart["loadingText"]) | undefined;
14618
+ /** The words shown in place of the drawing while `loading` is set and
14619
+ there are no readings yet, and the fallback of the `loading` slot. */
14620
+ loadingText?: (HelixHeadlessSpatialBarChart["loadingText"]) | undefined;
14621
+ /** The id of the table to read.
14622
+
14623
+ Names a table in the same tree, so a chart inside another component's
14624
+ shadow root reads a table in that root rather than one in the document. A
14625
+ `<table>` or anything built from grid roles, including `helix-table`.
14626
+
14627
+ **In React this arrives as a property and not as an attribute**, the way
14628
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
14629
+ for?: (HelixHeadlessSpatialBarChart["for"]) | undefined;
14630
+ /** The chart's name, which starts the chart's text summary.
14631
+
14632
+ Absent falls back to the table's own caption, which is usually the right
14633
+ words and is already written. */
14634
+ label?: (HelixHeadlessSpatialBarChart["label"]) | undefined;
14635
+ /** The locale the chart's own numbers are written in: its axis, its
14636
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
14637
+
14638
+ Absent reads the nearest `lang`, then the runtime's own. The table's
14639
+ cells are shown as the table writes them, whatever this says. */
14640
+ locale?: (HelixHeadlessSpatialBarChart["locale"]) | undefined;
14641
+ /** Where a reading the keys moved to stands among the readings, said after
14642
+ it. `{position}` and `{count}` are replaced with the numbers, written in
14643
+ `locale`.
14644
+
14645
+ Set it to the words of the page's language, such as `{position} von
14646
+ {count}`, or to nothing to say no position. A slice or a series a
14647
+ legend hid is not counted. */
14648
+ "position-label"?: (HelixHeadlessSpatialBarChart["positionLabel"]) | undefined;
14649
+ /** Where a reading the keys moved to stands among the readings, said after
14650
+ it. `{position}` and `{count}` are replaced with the numbers, written in
14651
+ `locale`.
14652
+
14653
+ Set it to the words of the page's language, such as `{position} von
14654
+ {count}`, or to nothing to say no position. A slice or a series a
14655
+ legend hid is not counted. */
14656
+ positionLabel?: (HelixHeadlessSpatialBarChart["positionLabel"]) | undefined;
14657
+ /** The readings as data, in the shape of a table, where the page has no
14658
+ table to point `for` at. `for` wins where both are set.
14659
+
14660
+ ```js
14661
+ chart.data = {
14662
+ caption: 'Sessions by channel',
14663
+ columns: ['Month', 'Direct', 'Referral'],
14664
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
14665
+ }
14666
+ ```
14667
+
14668
+ The first column holds each row's label and every column after it a
14669
+ series, as in a table. A cell is a number, words, `null` for a blank,
14670
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
14671
+ number is shown in `locale`.
14672
+
14673
+ **A table is still the better source where the page can show one**:
14674
+ it reads with no script and before hydration, and a reader can sort and
14675
+ copy it. Data is drawn on the client only, so a server serves the
14676
+ frame, and the summary, the keys and the readout are then the whole of
14677
+ what a screen reader is given. Set a new object to redraw: the chart
14678
+ does not look inside the one it has. */
14679
+ data?: (HelixHeadlessSpatialBarChart["data"]) | undefined;
14680
+ };
14681
+
14682
+ export type HelixHeadlessSpatialBarChartVueEvents = {
14683
+ /** The bars or the bar the keys rest on changed, which the renderer is told. It stays on the chart. */
14684
+ "helix-plot-change": HelixHeadlessSpatialBarChartHelixPlotChangeElementEvent;
14685
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
14686
+ "helix-plot-turn": HelixHeadlessSpatialBarChartHelixPlotTurnElementEvent;
14687
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
14688
+ "helix-reading-change": HelixHeadlessSpatialBarChartHelixReadingChangeElementEvent;
14689
+ /** A bar was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
14690
+ "helix-reading-press": HelixHeadlessSpatialBarChartHelixReadingPressElementEvent;
14691
+ };
14692
+
14519
14693
  /** `HelixHeadlessSpatialHeatmap` component event */
14520
14694
  export type HelixHeadlessSpatialHeatmapElementEvent<E = Event> = TypedEvent<
14521
14695
  HelixHeadlessSpatialHeatmap,
@@ -14773,6 +14947,144 @@ export type HelixHeadlessSpatialHeatmapVueEvents = {
14773
14947
  "helix-resize": HelixHeadlessSpatialHeatmapHelixResizeElementEvent;
14774
14948
  };
14775
14949
 
14950
+ /** `HelixHeadlessSpatialRibbonChart` component event */
14951
+ export type HelixHeadlessSpatialRibbonChartElementEvent<E = Event> = TypedEvent<
14952
+ HelixHeadlessSpatialRibbonChart,
14953
+ E
14954
+ >;
14955
+ /** `helix-plot-change` event type */
14956
+ export type HelixHeadlessSpatialRibbonChartHelixPlotChangeElementEvent =
14957
+ HelixHeadlessSpatialRibbonChartElementEvent<HelixPlotChangeEvent>;
14958
+ /** `helix-plot-turn` event type */
14959
+ export type HelixHeadlessSpatialRibbonChartHelixPlotTurnElementEvent =
14960
+ HelixHeadlessSpatialRibbonChartElementEvent<HelixPlotTurnEvent>;
14961
+ /** `helix-reading-change` event type */
14962
+ export type HelixHeadlessSpatialRibbonChartHelixReadingChangeElementEvent =
14963
+ HelixHeadlessSpatialRibbonChartElementEvent<HelixReadingChangeEvent>;
14964
+ /** `helix-reading-press` event type */
14965
+ export type HelixHeadlessSpatialRibbonChartHelixReadingPressElementEvent =
14966
+ HelixHeadlessSpatialRibbonChartElementEvent<HelixReadingPressEvent>;
14967
+
14968
+ export type HelixHeadlessSpatialRibbonChartVueProps = {
14969
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
14970
+ alone and fill the plot, as a picture on a product's own page does. The
14971
+ table, the summary, the tooltip, and the keys still carry every value,
14972
+ and a renderer draws no box either. */
14973
+ "no-box"?: (HelixHeadlessSpatialRibbonChart["noBox"]) | undefined;
14974
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
14975
+ alone and fill the plot, as a picture on a product's own page does. The
14976
+ table, the summary, the tooltip, and the keys still carry every value,
14977
+ and a renderer draws no box either. */
14978
+ noBox?: (HelixHeadlessSpatialRibbonChart["noBox"]) | undefined;
14979
+ /** What the readout says for a reading the table has no value for.
14980
+ `{place}` and `{series}` name it. */
14981
+ "open-label"?: (HelixHeadlessSpatialRibbonChart["openLabel"]) | undefined;
14982
+ /** What the readout says for a reading the table has no value for.
14983
+ `{place}` and `{series}` name it. */
14984
+ openLabel?: (HelixHeadlessSpatialRibbonChart["openLabel"]) | undefined;
14985
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
14986
+ "plot-label"?: (HelixHeadlessSpatialRibbonChart["plotLabel"]) | undefined;
14987
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
14988
+ plotLabel?: (HelixHeadlessSpatialRibbonChart["plotLabel"]) | undefined;
14989
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
14990
+ the number of readings, series, and places, written in the locale,
14991
+ and `{low}` and `{high}` the lowest and the highest value. */
14992
+ "summary-label"?: (HelixHeadlessSpatialRibbonChart["summaryLabel"]) | undefined;
14993
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
14994
+ the number of readings, series, and places, written in the locale,
14995
+ and `{low}` and `{high}` the lowest and the highest value. */
14996
+ summaryLabel?: (HelixHeadlessSpatialRibbonChart["summaryLabel"]) | undefined;
14997
+ /** The words shown in place of the drawing when the table has no readings,
14998
+ and the fallback of the `empty` slot. */
14999
+ "empty-text"?: (HelixHeadlessSpatialRibbonChart["emptyText"]) | undefined;
15000
+ /** The words shown in place of the drawing when the table has no readings,
15001
+ and the fallback of the `empty` slot. */
15002
+ emptyText?: (HelixHeadlessSpatialRibbonChart["emptyText"]) | undefined;
15003
+ /** Whether the readings are still on their way. The chart shows
15004
+ `loading-text` in place of an empty drawing until it has readings.
15005
+
15006
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
15007
+ that already has readings keeps drawing them, so a refresh does not
15008
+ blank it. */
15009
+ loading?: (HelixHeadlessSpatialRibbonChart["loading"]) | undefined;
15010
+ /** The words shown in place of the drawing while `loading` is set and
15011
+ there are no readings yet, and the fallback of the `loading` slot. */
15012
+ "loading-text"?: (HelixHeadlessSpatialRibbonChart["loadingText"]) | undefined;
15013
+ /** The words shown in place of the drawing while `loading` is set and
15014
+ there are no readings yet, and the fallback of the `loading` slot. */
15015
+ loadingText?: (HelixHeadlessSpatialRibbonChart["loadingText"]) | undefined;
15016
+ /** The id of the table to read.
15017
+
15018
+ Names a table in the same tree, so a chart inside another component's
15019
+ shadow root reads a table in that root rather than one in the document. A
15020
+ `<table>` or anything built from grid roles, including `helix-table`.
15021
+
15022
+ **In React this arrives as a property and not as an attribute**, the way
15023
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
15024
+ for?: (HelixHeadlessSpatialRibbonChart["for"]) | undefined;
15025
+ /** The chart's name, which starts the chart's text summary.
15026
+
15027
+ Absent falls back to the table's own caption, which is usually the right
15028
+ words and is already written. */
15029
+ label?: (HelixHeadlessSpatialRibbonChart["label"]) | undefined;
15030
+ /** The locale the chart's own numbers are written in: its axis, its
15031
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
15032
+
15033
+ Absent reads the nearest `lang`, then the runtime's own. The table's
15034
+ cells are shown as the table writes them, whatever this says. */
15035
+ locale?: (HelixHeadlessSpatialRibbonChart["locale"]) | undefined;
15036
+ /** Where a reading the keys moved to stands among the readings, said after
15037
+ it. `{position}` and `{count}` are replaced with the numbers, written in
15038
+ `locale`.
15039
+
15040
+ Set it to the words of the page's language, such as `{position} von
15041
+ {count}`, or to nothing to say no position. A slice or a series a
15042
+ legend hid is not counted. */
15043
+ "position-label"?: (HelixHeadlessSpatialRibbonChart["positionLabel"]) | undefined;
15044
+ /** Where a reading the keys moved to stands among the readings, said after
15045
+ it. `{position}` and `{count}` are replaced with the numbers, written in
15046
+ `locale`.
15047
+
15048
+ Set it to the words of the page's language, such as `{position} von
15049
+ {count}`, or to nothing to say no position. A slice or a series a
15050
+ legend hid is not counted. */
15051
+ positionLabel?: (HelixHeadlessSpatialRibbonChart["positionLabel"]) | undefined;
15052
+ /** The readings as data, in the shape of a table, where the page has no
15053
+ table to point `for` at. `for` wins where both are set.
15054
+
15055
+ ```js
15056
+ chart.data = {
15057
+ caption: 'Sessions by channel',
15058
+ columns: ['Month', 'Direct', 'Referral'],
15059
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
15060
+ }
15061
+ ```
15062
+
15063
+ The first column holds each row's label and every column after it a
15064
+ series, as in a table. A cell is a number, words, `null` for a blank,
15065
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
15066
+ number is shown in `locale`.
15067
+
15068
+ **A table is still the better source where the page can show one**:
15069
+ it reads with no script and before hydration, and a reader can sort and
15070
+ copy it. Data is drawn on the client only, so a server serves the
15071
+ frame, and the summary, the keys and the readout are then the whole of
15072
+ what a screen reader is given. Set a new object to redraw: the chart
15073
+ does not look inside the one it has. */
15074
+ data?: (HelixHeadlessSpatialRibbonChart["data"]) | undefined;
15075
+ };
15076
+
15077
+ export type HelixHeadlessSpatialRibbonChartVueEvents = {
15078
+ /** The readings or the reading the keys rest on changed, which the renderer is told. It stays on the chart. */
15079
+ "helix-plot-change": HelixHeadlessSpatialRibbonChartHelixPlotChangeElementEvent;
15080
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
15081
+ "helix-plot-turn": HelixHeadlessSpatialRibbonChartHelixPlotTurnElementEvent;
15082
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
15083
+ "helix-reading-change": HelixHeadlessSpatialRibbonChartHelixReadingChangeElementEvent;
15084
+ /** A reading was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
15085
+ "helix-reading-press": HelixHeadlessSpatialRibbonChartHelixReadingPressElementEvent;
15086
+ };
15087
+
14776
15088
  /** `HelixHeadlessSpatialScatterChart` component event */
14777
15089
  export type HelixHeadlessSpatialScatterChartElementEvent<E = Event> =
14778
15090
  TypedEvent<HelixHeadlessSpatialScatterChart, E>;
@@ -14790,10 +15102,28 @@ export type HelixHeadlessSpatialScatterChartHelixReadingPressElementEvent =
14790
15102
  HelixHeadlessSpatialScatterChartElementEvent<HelixReadingPressEvent>;
14791
15103
 
14792
15104
  export type HelixHeadlessSpatialScatterChartVueProps = {
15105
+ /** Draws a line from each point straight down to the floor of the box, in
15106
+ its group's color, so where a point stands across and in depth reads off
15107
+ the floor's grid. A renderer draws them too. */
15108
+ "drop-lines"?: (HelixHeadlessSpatialScatterChart["dropLines"]) | undefined;
15109
+ /** Draws a line from each point straight down to the floor of the box, in
15110
+ its group's color, so where a point stands across and in depth reads off
15111
+ the floor's grid. A renderer draws them too. */
15112
+ dropLines?: (HelixHeadlessSpatialScatterChart["dropLines"]) | undefined;
14793
15113
  /** The column of text that puts each point in a group, by its heading. None by default. */
14794
15114
  "group-by"?: (HelixHeadlessSpatialScatterChart["groupBy"]) | undefined;
14795
15115
  /** The column of text that puts each point in a group, by its heading. None by default. */
14796
15116
  groupBy?: (HelixHeadlessSpatialScatterChart["groupBy"]) | undefined;
15117
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15118
+ alone and fill the plot, as a picture on a product's own page does. The
15119
+ table, the summary, the tooltip, and the keys still carry every value,
15120
+ and a renderer draws no box either. */
15121
+ "no-box"?: (HelixHeadlessSpatialScatterChart["noBox"]) | undefined;
15122
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15123
+ alone and fill the plot, as a picture on a product's own page does. The
15124
+ table, the summary, the tooltip, and the keys still carry every value,
15125
+ and a renderer draws no box either. */
15126
+ noBox?: (HelixHeadlessSpatialScatterChart["noBox"]) | undefined;
14797
15127
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
14798
15128
  "plot-label"?: (HelixHeadlessSpatialScatterChart["plotLabel"]) | undefined;
14799
15129
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
@@ -14912,6 +15242,20 @@ export type HelixHeadlessSpatialSurfaceChartHelixReadingPressElementEvent =
14912
15242
  HelixHeadlessSpatialSurfaceChartElementEvent<HelixReadingPressEvent>;
14913
15243
 
14914
15244
  export type HelixHeadlessSpatialSurfaceChartVueProps = {
15245
+ /** Draws the surface's contour lines on it, at each tick of its height, in
15246
+ the ramp's colors, so its shape reads as on a map and two places at the
15247
+ same height read as such. A renderer draws them too. */
15248
+ contours?: (HelixHeadlessSpatialSurfaceChart["contours"]) | undefined;
15249
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15250
+ alone and fill the plot, as a picture on a product's own page does. The
15251
+ table, the summary, the tooltip, and the keys still carry every value,
15252
+ and a renderer draws no box either. */
15253
+ "no-box"?: (HelixHeadlessSpatialSurfaceChart["noBox"]) | undefined;
15254
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15255
+ alone and fill the plot, as a picture on a product's own page does. The
15256
+ table, the summary, the tooltip, and the keys still carry every value,
15257
+ and a renderer draws no box either. */
15258
+ noBox?: (HelixHeadlessSpatialSurfaceChart["noBox"]) | undefined;
14915
15259
  /** What the readout says for a place with no reading. `{x}` and `{z}` are
14916
15260
  the place's numbers across and in depth, and `{across}` and `{depth}`
14917
15261
  the two measures' names. */
@@ -15025,6 +15369,142 @@ export type HelixHeadlessSpatialSurfaceChartVueEvents = {
15025
15369
  "helix-reading-press": HelixHeadlessSpatialSurfaceChartHelixReadingPressElementEvent;
15026
15370
  };
15027
15371
 
15372
+ /** `HelixHeadlessSpatialTreemap` component event */
15373
+ export type HelixHeadlessSpatialTreemapElementEvent<E = Event> = TypedEvent<
15374
+ HelixHeadlessSpatialTreemap,
15375
+ E
15376
+ >;
15377
+ /** `helix-plot-change` event type */
15378
+ export type HelixHeadlessSpatialTreemapHelixPlotChangeElementEvent =
15379
+ HelixHeadlessSpatialTreemapElementEvent<HelixPlotChangeEvent>;
15380
+ /** `helix-plot-turn` event type */
15381
+ export type HelixHeadlessSpatialTreemapHelixPlotTurnElementEvent =
15382
+ HelixHeadlessSpatialTreemapElementEvent<HelixPlotTurnEvent>;
15383
+ /** `helix-reading-change` event type */
15384
+ export type HelixHeadlessSpatialTreemapHelixReadingChangeElementEvent =
15385
+ HelixHeadlessSpatialTreemapElementEvent<HelixReadingChangeEvent>;
15386
+ /** `helix-reading-press` event type */
15387
+ export type HelixHeadlessSpatialTreemapHelixReadingPressElementEvent =
15388
+ HelixHeadlessSpatialTreemapElementEvent<HelixReadingPressEvent>;
15389
+
15390
+ export type HelixHeadlessSpatialTreemapVueProps = {
15391
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
15392
+ "group-by"?: (HelixHeadlessSpatialTreemap["groupBy"]) | undefined;
15393
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
15394
+ groupBy?: (HelixHeadlessSpatialTreemap["groupBy"]) | undefined;
15395
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15396
+ alone and fill the plot, as a picture on a product's own page does. The
15397
+ table, the summary, the tooltip, and the keys still carry every value,
15398
+ and a renderer draws no box either. */
15399
+ "no-box"?: (HelixHeadlessSpatialTreemap["noBox"]) | undefined;
15400
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
15401
+ alone and fill the plot, as a picture on a product's own page does. The
15402
+ table, the summary, the tooltip, and the keys still carry every value,
15403
+ and a renderer draws no box either. */
15404
+ noBox?: (HelixHeadlessSpatialTreemap["noBox"]) | undefined;
15405
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
15406
+ "plot-label"?: (HelixHeadlessSpatialTreemap["plotLabel"]) | undefined;
15407
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
15408
+ plotLabel?: (HelixHeadlessSpatialTreemap["plotLabel"]) | undefined;
15409
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
15410
+ of items and groups, written in the locale, and `{low}` and `{high}` the
15411
+ smallest and the largest size. */
15412
+ "summary-label"?: (HelixHeadlessSpatialTreemap["summaryLabel"]) | undefined;
15413
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
15414
+ of items and groups, written in the locale, and `{low}` and `{high}` the
15415
+ smallest and the largest size. */
15416
+ summaryLabel?: (HelixHeadlessSpatialTreemap["summaryLabel"]) | undefined;
15417
+ /** The words shown in place of the drawing when the table has no readings,
15418
+ and the fallback of the `empty` slot. */
15419
+ "empty-text"?: (HelixHeadlessSpatialTreemap["emptyText"]) | undefined;
15420
+ /** The words shown in place of the drawing when the table has no readings,
15421
+ and the fallback of the `empty` slot. */
15422
+ emptyText?: (HelixHeadlessSpatialTreemap["emptyText"]) | undefined;
15423
+ /** Whether the readings are still on their way. The chart shows
15424
+ `loading-text` in place of an empty drawing until it has readings.
15425
+
15426
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
15427
+ that already has readings keeps drawing them, so a refresh does not
15428
+ blank it. */
15429
+ loading?: (HelixHeadlessSpatialTreemap["loading"]) | undefined;
15430
+ /** The words shown in place of the drawing while `loading` is set and
15431
+ there are no readings yet, and the fallback of the `loading` slot. */
15432
+ "loading-text"?: (HelixHeadlessSpatialTreemap["loadingText"]) | undefined;
15433
+ /** The words shown in place of the drawing while `loading` is set and
15434
+ there are no readings yet, and the fallback of the `loading` slot. */
15435
+ loadingText?: (HelixHeadlessSpatialTreemap["loadingText"]) | undefined;
15436
+ /** The id of the table to read.
15437
+
15438
+ Names a table in the same tree, so a chart inside another component's
15439
+ shadow root reads a table in that root rather than one in the document. A
15440
+ `<table>` or anything built from grid roles, including `helix-table`.
15441
+
15442
+ **In React this arrives as a property and not as an attribute**, the way
15443
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
15444
+ for?: (HelixHeadlessSpatialTreemap["for"]) | undefined;
15445
+ /** The chart's name, which starts the chart's text summary.
15446
+
15447
+ Absent falls back to the table's own caption, which is usually the right
15448
+ words and is already written. */
15449
+ label?: (HelixHeadlessSpatialTreemap["label"]) | undefined;
15450
+ /** The locale the chart's own numbers are written in: its axis, its
15451
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
15452
+
15453
+ Absent reads the nearest `lang`, then the runtime's own. The table's
15454
+ cells are shown as the table writes them, whatever this says. */
15455
+ locale?: (HelixHeadlessSpatialTreemap["locale"]) | undefined;
15456
+ /** Where a reading the keys moved to stands among the readings, said after
15457
+ it. `{position}` and `{count}` are replaced with the numbers, written in
15458
+ `locale`.
15459
+
15460
+ Set it to the words of the page's language, such as `{position} von
15461
+ {count}`, or to nothing to say no position. A slice or a series a
15462
+ legend hid is not counted. */
15463
+ "position-label"?: (HelixHeadlessSpatialTreemap["positionLabel"]) | undefined;
15464
+ /** Where a reading the keys moved to stands among the readings, said after
15465
+ it. `{position}` and `{count}` are replaced with the numbers, written in
15466
+ `locale`.
15467
+
15468
+ Set it to the words of the page's language, such as `{position} von
15469
+ {count}`, or to nothing to say no position. A slice or a series a
15470
+ legend hid is not counted. */
15471
+ positionLabel?: (HelixHeadlessSpatialTreemap["positionLabel"]) | undefined;
15472
+ /** The readings as data, in the shape of a table, where the page has no
15473
+ table to point `for` at. `for` wins where both are set.
15474
+
15475
+ ```js
15476
+ chart.data = {
15477
+ caption: 'Sessions by channel',
15478
+ columns: ['Month', 'Direct', 'Referral'],
15479
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
15480
+ }
15481
+ ```
15482
+
15483
+ The first column holds each row's label and every column after it a
15484
+ series, as in a table. A cell is a number, words, `null` for a blank,
15485
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
15486
+ number is shown in `locale`.
15487
+
15488
+ **A table is still the better source where the page can show one**:
15489
+ it reads with no script and before hydration, and a reader can sort and
15490
+ copy it. Data is drawn on the client only, so a server serves the
15491
+ frame, and the summary, the keys and the readout are then the whole of
15492
+ what a screen reader is given. Set a new object to redraw: the chart
15493
+ does not look inside the one it has. */
15494
+ data?: (HelixHeadlessSpatialTreemap["data"]) | undefined;
15495
+ };
15496
+
15497
+ export type HelixHeadlessSpatialTreemapVueEvents = {
15498
+ /** The blocks or the block the keys rest on changed, which the renderer is told. It stays on the chart. */
15499
+ "helix-plot-change": HelixHeadlessSpatialTreemapHelixPlotChangeElementEvent;
15500
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
15501
+ "helix-plot-turn": HelixHeadlessSpatialTreemapHelixPlotTurnElementEvent;
15502
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
15503
+ "helix-reading-change": HelixHeadlessSpatialTreemapHelixReadingChangeElementEvent;
15504
+ /** A block was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
15505
+ "helix-reading-press": HelixHeadlessSpatialTreemapHelixReadingPressElementEvent;
15506
+ };
15507
+
15028
15508
  export type HelixHeadlessSpeedDialGroupVueProps = {
15029
15509
  /** The group's name, drawn above its actions and read by screen readers. */
15030
15510
  label?: (HelixHeadlessSpeedDialGroup["label"]) | undefined;
@@ -18977,7 +19457,13 @@ it is muted.
18977
19457
  Forwarded to the video, which decides. Whether an unprompted play is
18978
19458
  permitted is the browser's policy, and what follows a refused autoplay is a
18979
19459
  paused player showing its start control, which is the correct thing to be
18980
- looking at. */
19460
+ looking at.
19461
+
19462
+ **Not where the reader asked for less motion**, or while the page has
19463
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the player
19464
+ waits on its start control. A page that pauses its motion pauses a video
19465
+ that started itself, and one that lets it run again plays it again. A
19466
+ video the reader started is theirs, and neither touches it. */
18981
19467
  autoplay?: (HelixHeadlessVideo["autoplay"]) | undefined;
18982
19468
  /** What the live region says when `c` turns captions off. */
18983
19469
  "captions-hidden-label"?: (HelixHeadlessVideo["captionsHiddenLabel"]) | undefined;
@@ -19801,16 +20287,22 @@ export type CustomCssProperties = {
19801
20287
  "--slider-marker-at"?: (string) | undefined;
19802
20288
  /** Where the filled span ends, as a fraction of the track, 0 to 1: a range's upper thumb, or the farther of a single thumb and its `origin`. */
19803
20289
  "--slider-to"?: (string) | undefined;
20290
+ /** How far a bar's face turns from the light, from 0 for its top. The component writes it on each face, and the stylesheet that shades the face reads it. */
20291
+ "--spatial-bar-chart-shade"?: (string) | undefined;
19804
20292
  /** Where the `start` or the `end` label stands clear of the drawing, from the footer's inline start, in pixels. The component measures it and writes it on the label, with `data-placed`, as the view turns. */
19805
20293
  "--spatial-heatmap-label-x"?: (string) | undefined;
19806
20294
  /** Where the `start` or the `end` label stands clear of the drawing, from the footer's top, in pixels. The component measures it and writes it on the label, with `data-placed`, as the view turns. */
19807
20295
  "--spatial-heatmap-label-y"?: (string) | undefined;
19808
20296
  /** How many cells the drawing spans across: its columns and its rows together. The component writes it on the strip, and a stylesheet that caps the cell size reads it. */
19809
20297
  "--spatial-heatmap-span"?: (string) | undefined;
20298
+ /** How far a ribbon's face turns from the light, from 0 for a level top. The component writes it on each face, and the stylesheet that shades the face reads it. */
20299
+ "--spatial-ribbon-chart-shade"?: (string) | undefined;
19810
20300
  /** How high a face of the surface stands between the lowest reading and the highest, from 0 to 1: its corners' average. The component writes it on each face, and the stylesheet that colors the face along the ramp reads it. */
19811
20301
  "--spatial-surface-chart-level"?: (string) | undefined;
19812
20302
  /** How far a face of the surface turns from the light, as a share of lightness to take from its color, from 0 facing it to about 0.3. The component writes it on each face, and the stylesheet that shades the face reads it. */
19813
20303
  "--spatial-surface-chart-shade"?: (string) | undefined;
20304
+ /** How far a block's face turns from the light, from 0 for its top. The component writes it on each face, and the stylesheet that shades the face reads it. */
20305
+ "--spatial-treemap-shade"?: (string) | undefined;
19814
20306
  /** Where a nested splitter crosses this one, as a percentage. */
19815
20307
  "--splitter-corner-at"?: (string) | undefined;
19816
20308
  /** Where the divider sits, as a percentage of the box. */
@@ -20289,7 +20781,7 @@ export interface WcToolkitVueGlobalComponents {
20289
20781
  HelixHeadlessMapPositionVueProps,
20290
20782
  HelixHeadlessMapPositionVueEvents
20291
20783
  >;
20292
- /** 'connectMap' draws the tiles over the map's land and roads, and under its routes, areas, and place names. Set 'ground' to draw them under the roads as well, for imagery of the ground, such as satellite or aerial photographs. Set 'max-zoom' to the deepest zoom the provider has tiles for, and the map enlarges those tiles past it. Set 'src' to one tile URL with '{z}', '{x}', and '{y}' in it, or set 'frames' to several, such as the last hour of radar. While 'playing' is set, the layer shows the frames in order, 'interval' milliseconds each, and starts again from the first. The frames do not play while the user has asked for reduced motion, and the layer shows its last frame. Content that moves for more than five seconds needs a way to pause it, so give 'playing' a control on your page. Put the tile provider's credit in 'attribution'. The frame shows it beside the map's own credit. */
20784
+ /** 'connectMap' draws the tiles over the map's land and roads, and under its routes, areas, and place names. Set 'ground' to draw them under the roads as well, for imagery of the ground, such as satellite or aerial photographs. Set 'max-zoom' to the deepest zoom the provider has tiles for, and the map enlarges those tiles past it. Set 'src' to one tile URL with '{z}', '{x}', and '{y}' in it, or set 'frames' to several, such as the last hour of radar. While 'playing' is set, the layer shows the frames in order, 'interval' milliseconds each, and starts again from the first. The frames do not play while the user has asked for reduced motion, or while the page has paused its motion, through 'pauseMotion' or 'Motion Toggle', and the layer holds the frame it shows. Content that moves for more than five seconds needs a way to pause it, which 'Motion Toggle' gives the whole page, or give 'playing' a control of its own. Put the tile provider's credit in 'attribution'. The frame shows it beside the map's own credit. */
20293
20785
  "helix-headless-map-raster": DefineCustomElement<
20294
20786
  HelixHeadlessMapRaster,
20295
20787
  HelixHeadlessMapRasterVueProps,
@@ -20343,6 +20835,12 @@ export interface WcToolkitVueGlobalComponents {
20343
20835
  HelixHeadlessMeterVueProps,
20344
20836
  HelixHeadlessMeterVueEvents
20345
20837
  >;
20838
+ /** WCAG 2.2.2 asks that motion which starts by itself and runs longer than five seconds can be paused. **This is one control for the whole page**: a press pauses every Helix component that moves by itself, and another lets them run again. - 'Carousel' stops rotating under 'autoplay'. - 'Video' pauses a video that started itself under 'autoplay'. - 'Aura', 'Orb', and 'Strands' hold the frame they show. - A graph that 'connectGraph' lays out stops where its notes stand, and its three.js view stops turning. - A map layer's 'frames' stop on the frame they show. **The choice is the page's**, held on the document element as 'data-helix-motion="paused"', so two of these on one page agree, and a page can set it in its markup or with 'pauseMotion' from '@fusion.dev/helix-core'. A stylesheet can select on the attribute to pause motion of its own. It is a toggle button: a '<button>' that says whether motion is paused with 'aria-pressed'. It keeps one name, 'label', whichever way it stands, as a toggle button does, and its icon shows what a press does next. Put it where a reader looks first, such as the page's header. Where the reader asked for reduced motion, nothing moves by itself to begin with. */
20839
+ "helix-headless-motion-toggle": DefineCustomElement<
20840
+ HelixHeadlessMotionToggle,
20841
+ HelixHeadlessMotionToggleVueProps,
20842
+ HelixHeadlessMotionToggleVueEvents
20843
+ >;
20346
20844
  /** Renders a real '<nav>', the landmark that screen reader users jump to. Navigation is its own component, separate from 'AppHeader', so you can use it in a header, a footer, or a sidebar. **It renders no links.** Bring your own, mark the current one with 'aria-current="page"', and style them with the 'data-navigation-item' recipe. A router renders its own anchors and cannot render them inside the component's shadow root. The component moves a marker to the current item. It finds the current item by reading 'aria-current', so the attribute that screen readers announce also places the marker. Any value but 'false' counts, so a sidebar of sections on one page can mark the section in view with 'aria-current="location"'. Where several are marked, 'page' wins. **The destinations can be a list.** Slot a '<ul>' or an '<ol>' of '<li>' elements, each holding a link, and a screen reader says how many there are and where each one is, as in Radix's 'NavigationMenu.List'. The marker and the arrow keys work on the list items as they do on bare links. Give the list 'role="list"' as well, since Safari drops the semantics of a list drawn without bullets. Set 'orientation="vertical"' to stack the destinations in a column, for a sidebar. Set 'arrows' and the arrow keys move focus between the destinations, as Radix's navigation menu does: left and right along a row, up and down a column, Home and End to the ends. A 'Megamenu' among them is reached at its trigger. Tab still stops at every link, since a navigation is a list of links and not a single control, and the keys across the other axis are left to the page and to an open panel. While a 'Megamenu', or another disclosure among the destinations, is open, the navigation is ':state(open)', so a page can dim what lies under the panel, as Radix's navigation menu marks its open state. A screen reader lists the page's navigation landmarks by name, so two named alike cannot be told apart. Where another navigation in the same document has the same name, "Main" for two with no 'label', the later one warns once with the kind 'duplicate-name'. */
20347
20845
  "helix-headless-navigation": DefineCustomElement<
20348
20846
  HelixHeadlessNavigation,
@@ -20511,12 +21009,24 @@ export interface WcToolkitVueGlobalComponents {
20511
21009
  HelixHeadlessSparklineVueProps,
20512
21010
  HelixHeadlessSparklineVueEvents
20513
21011
  >;
21012
+ /** A 3D bar chart reads its table as 'Bar Chart' does: **each row is a category, named by its label, and each numeric column a series**, named by its heading. The bars stand on a grid of categories across and series in depth, each as tall as its value from zero and colored by its series, so one series is a single row of bars and several make a block of them. **The flat 'Bar Chart' is read more exactly.** Measured, a reader judges a 3D bar's value less closely than a flat one's, and a bar can stand behind another. Use this one where the shape across two sets of names matters more than any one exact value, such as sales by region and by quarter. The tooltip and the table carry the exact values, and a drag turns the view to show a bar another hides. **Helix draws the frame, and the chart draws the bars in 3D itself, in SVG**: a picture a print and a page without WebGL show too, which a drag or Shift with an arrow turns. Put a box inside the chart, and 'connectSpatialBarChart' from '@fusion.dev/helix-plot', given 'threeBarDriver' from '@fusion.dev/helix-plot/three', draws the bars in it with three.js, lit and in perspective. **The table is the reading.** Every number is in it, and screen readers read it. The 'summary' part names the number of bars, series, and categories, and the range of values, and describes the plot. **The plot is read by key, across and in depth.** It takes focus, named by 'label' or the caption. The left and right arrows move from category to category, the down and up arrows from series to series, and Home and End go to the first and the last bar. The 'live' part says the bar's category, series, and value in words. Shift with an arrow turns the view, and Escape lets the bar go. **A reading shows its row in a tooltip**, as on every chart: the bar a mouse or a pen rests on, the bar tapped, or the one the keys move to. **Readings are sent as every chart sends them.** 'helix-reading-change' says each move of the reading, and 'helix-reading-press' a bar clicked or pressed with Enter or Space, each with the row of the table in 'index'. **Keyboard.** The plot is one tab stop once it has readings. | Key | What it does | |---|---| | Tab | Moves focus to the plot. | | Right, Left | Moves to the next or the previous category. | | Down, Up | Moves to the next or the previous series. | | Home, End | Moves to the first or the last bar. | | Shift with an arrow | Turns the view across, or tilts it up and down. | | Enter, Space | Presses the bar, which sends 'helix-reading-press'. | | Escape | Lets the bar go. | */
21013
+ "helix-headless-spatial-bar-chart": DefineCustomElement<
21014
+ HelixHeadlessSpatialBarChart,
21015
+ HelixHeadlessSpatialBarChartVueProps,
21016
+ HelixHeadlessSpatialBarChartVueEvents
21017
+ >;
20514
21018
  /** The same strip as 'Heatmap', seen from above at an angle. Each reading is a prism: its top face takes the cell's tone, and its height repeats the value, measured from zero against the highest reading in the table. 'rows="7"' makes a contribution graph, with each week a column running down to the right. **The height says what the tone says.** Read the exact value from the tooltip or the table, and compare readings by tone. A tall reading at the front can hide a short one behind it, so the newest column stands at the front, where nothing covers it. **Everything else is 'Heatmap'.** The table named by 'for', the tones and thresholds, the keys, the tooltip, the overview, 'selection-mode', and the events all work as they do there. The class extends the headless heatmap, and its own entry point carries the drawing, so a page using only 'Heatmap' loads none of it. **It was 'helix-isometric-heatmap' until 0.190.0**, and 'helix-headless-isometric-heatmap' in the headless tier. The old tags are gone, and so are the '--isometric-heatmap-*' hooks, which are '--spatial-heatmap-*', and the words key, which is 'helix-spatial-heatmap'. The two shade hooks now take a step of lightness, such as '0.07', where they took a percentage mixed toward black. Every attribute, part, and event kept its name. **'flat' lays every prism down** at no height, which leaves the tones on a plane at the same angle. **The prisms stand on a slab**, the 'base', which reaches a little past the grid, so the relief reads as one object. The 'start' and 'end' slots name the two ends of the front edge, the long edge nearer the reader, which is the strip's first and last column. The component measures where each label stands under its corner, clear of the drawing, and writes it on the label as '--spatial-heatmap-label-x' and '--spatial-heatmap-label-y'. A renderer tells the chart where it draws those corners, so the labels stand at them there too, and follow them as the view turns. **'gap' and 'min-cell' set the smallest cell.** The drawing scales as a whole, so a wider box draws larger cells and the gap grows with them. A box too narrow for every column at 'min-cell' draws the newest that fit. **The drawing is SVG and holds still.** It scales with its box through its 'viewBox', needs no WebGL, and has no motion to pause. A drag turns it and tilts it, and Shift with an arrow turns it a step, from the isometric view it starts at. **Under 'selection-mode', the prisms are painted back to front for the view, and the grid's rows and cells stand beside them in the table's order**, holding no drawing of their own, so a turned view paints correctly and a screen reader still reads the grid in order. **A renderer can draw it in 3D instead.** Put a box for it in the 'renderer' slot, and 'connectSpatialHeatmap' from '@fusion.dev/helix-plot', given 'threeHeatmapDriver' from '@fusion.dev/helix-plot/three', draws the prisms in it with three.js, lit, in the same tones, in a view that drags round and zooms. The chart publishes its readings in 'field', and its own drawing stays under the renderer's, unseen, where a screen reader and the keys still reach it. Shift with an arrow turns the view, except under 'selection-mode="multiple"', where it selects. **Keyboard.** The keys are 'Heatmap''s. Down moves to the next reading in a column, drawn down to the left, and Right to the same reading in the next column, drawn down to the right. | Key | What it does | |---|---| | Tab | Moves focus to the strip and shows the first cell. | | Down, Up | Moves to the next or the previous cell. | | Right, Left | Moves a column on or back, a week with 'rows="7"'. On a right-to-left page, Left moves on. | | Home, End | Moves to the first or the last cell. | | Page Down, Page Up | Moves a month on or back where the rows carry dates, and four columns otherwise. | | Enter, Space | Presses the cell, which sends 'helix-reading-press', and selects it or lets it go under 'selection-mode'. | | Shift with an arrow, Home, End, Page Up or Page Down | Selects every cell from the last one pressed to where the key went, under 'selection-mode="multiple"'. | | Shift with an arrow | Turns the view a step, or a renderer's where one is connected, except under 'selection-mode="multiple"'. | | Escape | Puts the cell's tooltip away. | */
20515
21019
  "helix-headless-spatial-heatmap": DefineCustomElement<
20516
21020
  HelixHeadlessSpatialHeatmap,
20517
21021
  HelixHeadlessSpatialHeatmapVueProps,
20518
21022
  HelixHeadlessSpatialHeatmapVueEvents
20519
21023
  >;
21024
+ /** A 3D ribbon chart reads its table as 'Line Chart' does: **each row is a place across, such as a day, named by its label, and each numeric column a series**, named by its heading. Each series is a ribbon in a depth of its own, the first in front, its top following the values and its face falling to zero, so several series that would tangle as lines stand apart. **The flat 'Line Chart' is read more exactly.** Use this one where the shape of each series, and how the series differ, matters more than any one value, such as response times by region over a month. The tooltip and the table carry the exact values, and a drag turns the view to show a ribbon another hides. **Helix draws the frame, and the chart draws the ribbons in 3D itself, in SVG**: a picture a print and a page without WebGL show too, which a drag or Shift with an arrow turns. Put a box inside the chart, and 'connectSpatialRibbonChart' from '@fusion.dev/helix-plot', given 'threeRibbonDriver' from '@fusion.dev/helix-plot/three', draws the ribbons in it with three.js, lit and in perspective. **The table is the reading.** Every number is in it, and screen readers read it. The 'summary' part names the number of readings, series, and places, and the range of values, and describes the plot. **The plot is read by key, across and in depth.** It takes focus, named by 'label' or the caption. The left and right arrows move from place to place, the down and up arrows from series to series, and Home and End go to the first and the last reading. The 'live' part says the reading's place, series, and value in words. Shift with an arrow turns the view, and Escape lets the reading go. **A reading shows its row in a tooltip**, as on every chart: the reading a mouse or a pen rests nearest, the one tapped, or the one the keys move to. **Readings are sent as every chart sends them.** 'helix-reading-change' says each move of the reading, and 'helix-reading-press' a reading clicked or pressed with Enter or Space, each with the row of the table in 'index'. **Keyboard.** The plot is one tab stop once it has readings. | Key | What it does | |---|---| | Tab | Moves focus to the plot. | | Right, Left | Moves to the next or the previous place. | | Down, Up | Moves to the next or the previous series. | | Home, End | Moves to the first or the last reading. | | Shift with an arrow | Turns the view across, or tilts it up and down. | | Enter, Space | Presses the reading, which sends 'helix-reading-press'. | | Escape | Lets the reading go. | */
21025
+ "helix-headless-spatial-ribbon-chart": DefineCustomElement<
21026
+ HelixHeadlessSpatialRibbonChart,
21027
+ HelixHeadlessSpatialRibbonChartVueProps,
21028
+ HelixHeadlessSpatialRibbonChartVueEvents
21029
+ >;
20520
21030
  /** A 3D scatter chart shows how three measures relate. The table's first three numeric columns are measured across, up, and in depth, and each row is one point. 'group-by' names a column of text, such as a team or a cluster, and each group is drawn in its own color. **Helix draws the frame, and a renderer draws the points in 3D.** Put a box for the renderer inside the chart, and 'connectSpatialScatterChart' from '@fusion.dev/helix-plot', given 'threeScatterDriver' from '@fusion.dev/helix-plot/three', draws the points in it with three.js and keeps it in step with the chart. Until a renderer has drawn, and where none is connected, the chart draws the points in 3D itself, in SVG, from the same place the renderer's camera starts: a picture a print and a page without WebGL show too, which a drag or Shift with an arrow turns. **The table is the reading.** Every number is in it, and screen readers read it. The 'summary' part names the three measures and the number of points, and describes the plot. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from point to point in the table's order, Home and End go to the first and the last, and the up and down arrows move among the measures the readout says first. The 'live' part says the point's row in words, and the renderer marks it. Shift with an arrow turns the view, and Escape lets the point go. **A reading shows its row in a tooltip**, as on every chart: the point a mouse or a pen rests on in the drawing, the point tapped, or the one the keys move to, once a renderer has drawn. **Readings are sent as every chart sends them.** 'helix-reading-change' says each move of the reading, by pointer or key, and 'helix-reading-press' a point clicked, tapped, or pressed with Enter or Space, each with the row of the table in 'index'. **Keyboard.** The plot is one tab stop once it has points. | Key | What it does | |---|---| | Tab | Moves focus to the plot. | | Right, Left | Moves to the next or the previous point, in the table's order. | | Up, Down | Moves among the point's measures, which the readout says first. | | Home, End | Moves to the first or the last point. | | Shift with an arrow | Turns the view across, or tilts it up and down. | | Enter, Space | Presses the point, which sends 'helix-reading-press'. | | Escape | Lets the point go. | */
20521
21031
  "helix-headless-spatial-scatter-chart": DefineCustomElement<
20522
21032
  HelixHeadlessSpatialScatterChart,
@@ -20529,6 +21039,12 @@ export interface WcToolkitVueGlobalComponents {
20529
21039
  HelixHeadlessSpatialSurfaceChartVueProps,
20530
21040
  HelixHeadlessSpatialSurfaceChartVueEvents
20531
21041
  >;
21042
+ /** A 3D treemap shares a floor out among the rows of its table: **the first numeric column is each block's size, and its share of the floor is in proportion to it**. The second numeric column, where there is one, is each block's height, from zero, so one block shows two measures: how large an item is, and how it stands on another count, such as each service's requests and its errors. 'group-by' names a column of text, such as a team, that gathers its rows into one part of the floor, in one color, and the part is as large as their total. **Each part is laid out as near to square as its share allows**, so two items compare by area, and the largest stand at the back left, where they hide the least. With no height column the blocks stand as one thin slab, a treemap seen in 3D. **Helix draws the frame, and the chart draws the blocks in 3D itself, in SVG**: a picture a print and a page without WebGL show too, which a drag or Shift with an arrow turns. Put a box inside the chart, and 'connectSpatialTreemap' from '@fusion.dev/helix-plot', given 'threeTreemapDriver' from '@fusion.dev/helix-plot/three', draws the blocks in it with three.js, lit and in perspective. **The table is the reading.** Every number is in it, and screen readers read it. The 'summary' part names the number of items and groups and the range of their sizes, and describes the plot. **The plot is read by key, in the table's order.** It takes focus, named by 'label' or the caption. The left and right arrows move from item to item, the down and up arrows among the item's measures, which the readout says first, and Home and End go to the first and the last item. Shift with an arrow turns the view, and Escape lets the item go. **A reading shows its row in a tooltip**, as on every chart: the block a mouse or a pen rests on, the block tapped, or the one the keys move to. **Readings are sent as every chart sends them.** 'helix-reading-change' says each move of the reading, and 'helix-reading-press' a block clicked or pressed with Enter or Space, each with the row of the table in 'index'. **Keyboard.** The plot is one tab stop once it has readings. | Key | What it does | |---|---| | Tab | Moves focus to the plot. | | Right, Left | Moves to the next or the previous item, in the table's order. | | Down, Up | Moves among the item's measures, which the readout says first. | | Home, End | Moves to the first or the last item. | | Shift with an arrow | Turns the view across, or tilts it up and down. | | Enter, Space | Presses the item, which sends 'helix-reading-press'. | | Escape | Lets the item go. | */
21043
+ "helix-headless-spatial-treemap": DefineCustomElement<
21044
+ HelixHeadlessSpatialTreemap,
21045
+ HelixHeadlessSpatialTreemapVueProps,
21046
+ HelixHeadlessSpatialTreemapVueEvents
21047
+ >;
20532
21048
  /** A 'group' of the dial's menu, named by its label, as React Aria's menu sections and Menu's groups are: a reader hears the name on entering the set, and the arrow keys walk through every group's actions in order, from the last action of one group to the first of the next. Put actions straight into the group, and the group straight into the dial. Anything else slotted here is drawn and is not an action. */
20533
21049
  "helix-headless-speed-dial-group": DefineCustomElement<
20534
21050
  HelixHeadlessSpeedDialGroup,