@fusion.dev/helix 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 (50) hide show
  1. package/api.json +1 -1
  2. package/custom-elements.json +9200 -2296
  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/spatial-bar-chart/index.d.ts +1 -0
  17. package/dist/spatial-bar-chart/index.js +1 -0
  18. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.css.d.ts +1 -0
  19. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.css.js +2 -0
  20. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.d.ts +49 -0
  21. package/dist/spatial-bar-chart/root/spatial-bar-chart-root.js +22 -0
  22. package/dist/spatial-heatmap/root/spatial-heatmap-root.css.js +1 -1
  23. package/dist/spatial-heatmap/root/spatial-heatmap-root.d.ts +21 -0
  24. package/dist/spatial-heatmap/root/spatial-heatmap-root.js +7 -0
  25. package/dist/spatial-ribbon-chart/index.d.ts +1 -0
  26. package/dist/spatial-ribbon-chart/index.js +1 -0
  27. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.css.d.ts +1 -0
  28. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.css.js +2 -0
  29. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.d.ts +49 -0
  30. package/dist/spatial-ribbon-chart/root/spatial-ribbon-chart-root.js +22 -0
  31. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.css.js +1 -1
  32. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.d.ts +20 -0
  33. package/dist/spatial-scatter-chart/root/spatial-scatter-chart-root.js +7 -0
  34. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.css.js +1 -1
  35. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.d.ts +22 -0
  36. package/dist/spatial-surface-chart/root/spatial-surface-chart-root.js +7 -0
  37. package/dist/spatial-treemap/index.d.ts +1 -0
  38. package/dist/spatial-treemap/index.js +1 -0
  39. package/dist/spatial-treemap/root/spatial-treemap-root.css.d.ts +1 -0
  40. package/dist/spatial-treemap/root/spatial-treemap-root.css.js +2 -0
  41. package/dist/spatial-treemap/root/spatial-treemap-root.d.ts +49 -0
  42. package/dist/spatial-treemap/root/spatial-treemap-root.js +22 -0
  43. package/examples.json +1 -1
  44. package/lint.json +1 -1
  45. package/package.json +6 -6
  46. package/skills/helix/SKILL.md +2 -2
  47. package/types/jsx.d.ts +3510 -450
  48. package/types/svelte.d.ts +4 -0
  49. package/types/vue.d.ts +637 -2
  50. package/types/words.d.ts +25 -5
package/types/jsx.d.ts CHANGED
@@ -141,6 +141,7 @@ import type {
141
141
  HelixMenuItem,
142
142
  HelixMenuSection,
143
143
  HelixMeter,
144
+ HelixMotionToggle,
144
145
  HelixMoveEvent,
145
146
  HelixNavigateEvent,
146
147
  HelixNavigation,
@@ -208,9 +209,12 @@ import type {
208
209
  HelixSortEvent,
209
210
  HelixSortedEvent,
210
211
  HelixSparkline,
212
+ HelixSpatialBarChart,
211
213
  HelixSpatialHeatmap,
214
+ HelixSpatialRibbonChart,
212
215
  HelixSpatialScatterChart,
213
216
  HelixSpatialSurfaceChart,
217
+ HelixSpatialTreemap,
214
218
  HelixSpeedDial,
215
219
  HelixSpeedDialGroup,
216
220
  HelixSpeedDialItem,
@@ -5774,7 +5778,13 @@ share the row and split it, dots to the start and arrows to the end,
5774
5778
  arrived at by two defaults rather than by a rule about the pair, so moving
5775
5779
  one leaves the other alone. */
5776
5780
  indicatorPlacement?: (HelixCarousel["indicatorPlacement"]) | undefined;
5777
- /** Whether the carousel advances on its own. */
5781
+ /** Whether the carousel advances on its own.
5782
+
5783
+ **Not where the reader asked for less motion**, or where the page has
5784
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the carousel
5785
+ starts still, and its rotation control starts it. A page that pauses its
5786
+ motion later stops the rotation, and one that lets it run again starts it
5787
+ again, unless the reader stopped it. */
5778
5788
  autoplay?: (HelixCarousel["autoplay"]) | undefined;
5779
5789
  /** Whether the previous and next controls are shown.
5780
5790
 
@@ -6226,7 +6236,13 @@ share the row and split it, dots to the start and arrows to the end,
6226
6236
  arrived at by two defaults rather than by a rule about the pair, so moving
6227
6237
  one leaves the other alone. */
6228
6238
  "prop:indicatorPlacement"?: (HelixCarousel["indicatorPlacement"]) | undefined;
6229
- /** Whether the carousel advances on its own. */
6239
+ /** Whether the carousel advances on its own.
6240
+
6241
+ **Not where the reader asked for less motion**, or where the page has
6242
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the carousel
6243
+ starts still, and its rotation control starts it. A page that pauses its
6244
+ motion later stops the rotation, and one that lets it run again starts it
6245
+ again, unless the reader stopped it. */
6230
6246
  "prop:autoplay"?: (HelixCarousel["autoplay"]) | undefined;
6231
6247
  /** Whether the previous and next controls are shown.
6232
6248
 
@@ -17400,6 +17416,16 @@ the list then holds, written with `count-label`. */
17400
17416
  the drawing, with `{note}` for its name and `{count}` for how many notes
17401
17417
  the list then holds, written with `count-label`. */
17402
17418
  selectionLabel?: (HelixGraph["selectionLabel"]) | undefined;
17419
+ /** What the `settling` part says while a layout runs unseen, where the reader
17420
+ asked for less motion or the page paused its motion. */
17421
+ "settling-label"?: (HelixGraph["settlingLabel"]) | undefined;
17422
+ /** What the `settling` part says while a layout runs unseen, where the reader
17423
+ asked for less motion or the page paused its motion. */
17424
+ settlingLabel?: (HelixGraph["settlingLabel"]) | undefined;
17425
+ /** What the button that stops a long layout says. */
17426
+ "stop-layout-label"?: (HelixGraph["stopLayoutLabel"]) | undefined;
17427
+ /** What the button that stops a long layout says. */
17428
+ stopLayoutLabel?: (HelixGraph["stopLayoutLabel"]) | undefined;
17403
17429
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
17404
17430
  "two-finger-hint-label"?: (HelixGraph["twoFingerHintLabel"]) | undefined;
17405
17431
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
@@ -17745,6 +17771,16 @@ the list then holds, written with `count-label`. */
17745
17771
  the drawing, with `{note}` for its name and `{count}` for how many notes
17746
17772
  the list then holds, written with `count-label`. */
17747
17773
  "prop:selectionLabel"?: (HelixGraph["selectionLabel"]) | undefined;
17774
+ /** What the `settling` part says while a layout runs unseen, where the reader
17775
+ asked for less motion or the page paused its motion. */
17776
+ "attr:settling-label"?: (HelixGraph["settlingLabel"]) | undefined;
17777
+ /** What the `settling` part says while a layout runs unseen, where the reader
17778
+ asked for less motion or the page paused its motion. */
17779
+ "prop:settlingLabel"?: (HelixGraph["settlingLabel"]) | undefined;
17780
+ /** What the button that stops a long layout says. */
17781
+ "attr:stop-layout-label"?: (HelixGraph["stopLayoutLabel"]) | undefined;
17782
+ /** What the button that stops a long layout says. */
17783
+ "prop:stopLayoutLabel"?: (HelixGraph["stopLayoutLabel"]) | undefined;
17748
17784
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
17749
17785
  "attr:two-finger-hint-label"?: (HelixGraph["twoFingerHintLabel"]) | undefined;
17750
17786
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
@@ -18013,6 +18049,21 @@ export type HelixHeatmapHelixResizeElementEvent =
18013
18049
  HelixHeatmapElementEvent<HelixResizeEvent>;
18014
18050
 
18015
18051
  export type HelixHeatmapProps = {
18052
+ /** How strongly the cells are drawn, as on every chart.
18053
+
18054
+ `outlined` is a cell as its edge in its tone over a fill faded toward the
18055
+ page, and `subtle` a faint wash of the tone under the same edge. Absent is
18056
+ the filled cell, per the rule that a reflected property takes no default,
18057
+ and `solid` writes it out.
18058
+
18059
+ It composes with `material`: emphasis decides what is drawn, and material
18060
+ how much of it comes through. The ring on the cell the keys rest on keeps
18061
+ its own ink. */
18062
+ emphasis?: (HelixHeatmap["emphasis"]) | undefined;
18063
+ /** How much of each mark comes through, as on every chart: `glass` admits the
18064
+ most of what is behind it, `frosted` less, and absent is opaque. The
18065
+ strength is the theme's, scaled by `--helix-material-opacity`. */
18066
+ material?: (HelixHeatmap["material"]) | undefined;
18016
18067
  /** The words shown in place of the drawing when the table has no readings,
18017
18068
  and the fallback of the `empty` slot. */
18018
18069
  "empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
@@ -18241,6 +18292,21 @@ does not look inside the one it has. */
18241
18292
  };
18242
18293
 
18243
18294
  export type HelixHeatmapSolidJsProps = {
18295
+ /** How strongly the cells are drawn, as on every chart.
18296
+
18297
+ `outlined` is a cell as its edge in its tone over a fill faded toward the
18298
+ page, and `subtle` a faint wash of the tone under the same edge. Absent is
18299
+ the filled cell, per the rule that a reflected property takes no default,
18300
+ and `solid` writes it out.
18301
+
18302
+ It composes with `material`: emphasis decides what is drawn, and material
18303
+ how much of it comes through. The ring on the cell the keys rest on keeps
18304
+ its own ink. */
18305
+ "prop:emphasis"?: (HelixHeatmap["emphasis"]) | undefined;
18306
+ /** How much of each mark comes through, as on every chart: `glass` admits the
18307
+ most of what is behind it, `frosted` less, and absent is opaque. The
18308
+ strength is the theme's, scaled by `--helix-material-opacity`. */
18309
+ "prop:material"?: (HelixHeatmap["material"]) | undefined;
18244
18310
  /** The words shown in place of the drawing when the table has no readings,
18245
18311
  and the fallback of the `empty` slot. */
18246
18312
  "attr:empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
@@ -24948,6 +25014,32 @@ fair summary of a task and a poor one of a quantity. */
24948
25014
  textContent?: (string | number) | undefined;
24949
25015
  };
24950
25016
 
25017
+ /** `HelixMotionToggle` component event */
25018
+ export type HelixMotionToggleElementEvent<E = Event> = TypedEvent<
25019
+ HelixMotionToggle,
25020
+ E
25021
+ >;
25022
+
25023
+ export type HelixMotionToggleProps = {
25024
+ /** The button's name, which stays the same whichever way it stands. */
25025
+ label?: (HelixMotionToggle["label"]) | undefined;
25026
+
25027
+ /** Fired after a press pauses the page's motion or lets it run. */
25028
+ onchange?: ((e: HelixMotionToggleElementEvent) => void) | undefined;
25029
+ };
25030
+
25031
+ export type HelixMotionToggleSolidJsProps = {
25032
+ /** The button's name, which stays the same whichever way it stands. */
25033
+ "prop:label"?: (HelixMotionToggle["label"]) | undefined;
25034
+ /** Fired after a press pauses the page's motion or lets it run. */
25035
+ "on:change"?: ((e: HelixMotionToggleElementEvent) => void) | undefined;
25036
+
25037
+ /** Set the innerHTML of the element */
25038
+ innerHTML?: (string) | undefined;
25039
+ /** Set the textContent of the element */
25040
+ textContent?: (string | number) | undefined;
25041
+ };
25042
+
24951
25043
  export type HelixNavigationProps = {
24952
25044
  /** Whether the arrow keys move focus between the destinations.
24953
25045
 
@@ -32766,6 +32858,312 @@ not. */
32766
32858
  textContent?: (string | number) | undefined;
32767
32859
  };
32768
32860
 
32861
+ /** `HelixSpatialBarChart` component event */
32862
+ export type HelixSpatialBarChartElementEvent<E = Event> = TypedEvent<
32863
+ HelixSpatialBarChart,
32864
+ E
32865
+ >;
32866
+ /** `helix-plot-change` event type */
32867
+ export type HelixSpatialBarChartHelixPlotChangeElementEvent =
32868
+ HelixSpatialBarChartElementEvent<HelixPlotChangeEvent>;
32869
+ /** `helix-plot-turn` event type */
32870
+ export type HelixSpatialBarChartHelixPlotTurnElementEvent =
32871
+ HelixSpatialBarChartElementEvent<HelixPlotTurnEvent>;
32872
+ /** `helix-reading-change` event type */
32873
+ export type HelixSpatialBarChartHelixReadingChangeElementEvent =
32874
+ HelixSpatialBarChartElementEvent<HelixReadingChangeEvent>;
32875
+ /** `helix-reading-press` event type */
32876
+ export type HelixSpatialBarChartHelixReadingPressElementEvent =
32877
+ HelixSpatialBarChartElementEvent<HelixReadingPressEvent>;
32878
+
32879
+ export type HelixSpatialBarChartProps = {
32880
+ /** How strongly the bars are drawn, as on every chart.
32881
+
32882
+ `outlined` is a bar as its edges in its series' color over faces faded
32883
+ toward the page, and `subtle` the same edges over a faint wash, which
32884
+ shows the bars behind it. Absent is the filled bar, per the rule that a
32885
+ reflected property takes no default, and `solid` writes it out. A
32886
+ renderer draws the bars the same way.
32887
+
32888
+ It composes with `material`: emphasis decides what is drawn, and material
32889
+ how much of it comes through. The outline on the bar the keys rest on
32890
+ keeps its own ink. */
32891
+ emphasis?: (HelixSpatialBarChart["emphasis"]) | undefined;
32892
+ /** How much of each mark comes through, as on every chart: `glass` admits the
32893
+ most of what is behind it, `frosted` less, and absent is opaque. The
32894
+ strength is the theme's, scaled by `--helix-material-opacity`. */
32895
+ material?: (HelixSpatialBarChart["material"]) | undefined;
32896
+ /** The words shown in place of the drawing when the table has no readings,
32897
+ and the fallback of the `empty` slot. */
32898
+ "empty-text"?: (HelixSpatialBarChart["emptyText"]) | undefined;
32899
+ /** The words shown in place of the drawing when the table has no readings,
32900
+ and the fallback of the `empty` slot. */
32901
+ emptyText?: (HelixSpatialBarChart["emptyText"]) | undefined;
32902
+ /** Whether the readings are still on their way. The chart shows
32903
+ `loading-text` in place of an empty drawing until it has readings.
32904
+
32905
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
32906
+ that already has readings keeps drawing them, so a refresh does not
32907
+ blank it. */
32908
+ loading?: (HelixSpatialBarChart["loading"]) | undefined;
32909
+ /** The words shown in place of the drawing while `loading` is set and
32910
+ there are no readings yet, and the fallback of the `loading` slot. */
32911
+ "loading-text"?: (HelixSpatialBarChart["loadingText"]) | undefined;
32912
+ /** The words shown in place of the drawing while `loading` is set and
32913
+ there are no readings yet, and the fallback of the `loading` slot. */
32914
+ loadingText?: (HelixSpatialBarChart["loadingText"]) | undefined;
32915
+ /** The id of the table to read.
32916
+
32917
+ Names a table in the same tree, so a chart inside another component's
32918
+ shadow root reads a table in that root rather than one in the document. A
32919
+ `<table>` or anything built from grid roles, including `helix-table`.
32920
+
32921
+ **In React this arrives as a property and not as an attribute**, the way
32922
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
32923
+ for?: (HelixSpatialBarChart["for"]) | undefined;
32924
+ /** The chart's name, which starts the chart's text summary.
32925
+
32926
+ Absent falls back to the table's own caption, which is usually the right
32927
+ words and is already written. */
32928
+ label?: (HelixSpatialBarChart["label"]) | undefined;
32929
+ /** The locale the chart's own numbers are written in: its axis, its
32930
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
32931
+
32932
+ Absent reads the nearest `lang`, then the runtime's own. The table's
32933
+ cells are shown as the table writes them, whatever this says. */
32934
+ locale?: (HelixSpatialBarChart["locale"]) | undefined;
32935
+ /** Where a reading the keys moved to stands among the readings, said after
32936
+ it. `{position}` and `{count}` are replaced with the numbers, written in
32937
+ `locale`.
32938
+
32939
+ Set it to the words of the page's language, such as `{position} von
32940
+ {count}`, or to nothing to say no position. A slice or a series a
32941
+ legend hid is not counted. */
32942
+ "position-label"?: (HelixSpatialBarChart["positionLabel"]) | undefined;
32943
+ /** Where a reading the keys moved to stands among the readings, said after
32944
+ it. `{position}` and `{count}` are replaced with the numbers, written in
32945
+ `locale`.
32946
+
32947
+ Set it to the words of the page's language, such as `{position} von
32948
+ {count}`, or to nothing to say no position. A slice or a series a
32949
+ legend hid is not counted. */
32950
+ positionLabel?: (HelixSpatialBarChart["positionLabel"]) | undefined;
32951
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
32952
+ alone and fill the plot, as a picture on a product's own page does. The
32953
+ table, the summary, the tooltip, and the keys still carry every value,
32954
+ and a renderer draws no box either. */
32955
+ "no-box"?: (HelixSpatialBarChart["noBox"]) | undefined;
32956
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
32957
+ alone and fill the plot, as a picture on a product's own page does. The
32958
+ table, the summary, the tooltip, and the keys still carry every value,
32959
+ and a renderer draws no box either. */
32960
+ noBox?: (HelixSpatialBarChart["noBox"]) | undefined;
32961
+ /** What the readout says for a place with no value. `{category}` and
32962
+ `{series}` name the place. */
32963
+ "open-label"?: (HelixSpatialBarChart["openLabel"]) | undefined;
32964
+ /** What the readout says for a place with no value. `{category}` and
32965
+ `{series}` name the place. */
32966
+ openLabel?: (HelixSpatialBarChart["openLabel"]) | undefined;
32967
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
32968
+ "plot-label"?: (HelixSpatialBarChart["plotLabel"]) | undefined;
32969
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
32970
+ plotLabel?: (HelixSpatialBarChart["plotLabel"]) | undefined;
32971
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
32972
+ are the number of bars, series, and categories, written in the locale,
32973
+ and `{low}` and `{high}` the lowest and the highest value. */
32974
+ "summary-label"?: (HelixSpatialBarChart["summaryLabel"]) | undefined;
32975
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
32976
+ are the number of bars, series, and categories, written in the locale,
32977
+ and `{low}` and `{high}` the lowest and the highest value. */
32978
+ summaryLabel?: (HelixSpatialBarChart["summaryLabel"]) | undefined;
32979
+ /** The readings as data, in the shape of a table, where the page has no
32980
+ table to point `for` at. `for` wins where both are set.
32981
+
32982
+ ```js
32983
+ chart.data = {
32984
+ caption: 'Sessions by channel',
32985
+ columns: ['Month', 'Direct', 'Referral'],
32986
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
32987
+ }
32988
+ ```
32989
+
32990
+ The first column holds each row's label and every column after it a
32991
+ series, as in a table. A cell is a number, words, `null` for a blank,
32992
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
32993
+ number is shown in `locale`.
32994
+
32995
+ **A table is still the better source where the page can show one**:
32996
+ it reads with no script and before hydration, and a reader can sort and
32997
+ copy it. Data is drawn on the client only, so a server serves the
32998
+ frame, and the summary, the keys and the readout are then the whole of
32999
+ what a screen reader is given. Set a new object to redraw: the chart
33000
+ does not look inside the one it has. */
33001
+ data?: (HelixSpatialBarChart["data"]) | undefined;
33002
+
33003
+ /** The bars or the bar the keys rest on changed, which the renderer is told. It stays on the chart. */
33004
+ "onhelix-plot-change"?: ((
33005
+ e: HelixSpatialBarChartHelixPlotChangeElementEvent,
33006
+ ) => void) | undefined;
33007
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
33008
+ "onhelix-plot-turn"?: ((
33009
+ e: HelixSpatialBarChartHelixPlotTurnElementEvent,
33010
+ ) => void) | undefined;
33011
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
33012
+ "onhelix-reading-change"?: ((
33013
+ e: HelixSpatialBarChartHelixReadingChangeElementEvent,
33014
+ ) => void) | undefined;
33015
+ /** A bar was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
33016
+ "onhelix-reading-press"?: ((
33017
+ e: HelixSpatialBarChartHelixReadingPressElementEvent,
33018
+ ) => void) | undefined;
33019
+ };
33020
+
33021
+ export type HelixSpatialBarChartSolidJsProps = {
33022
+ /** How strongly the bars are drawn, as on every chart.
33023
+
33024
+ `outlined` is a bar as its edges in its series' color over faces faded
33025
+ toward the page, and `subtle` the same edges over a faint wash, which
33026
+ shows the bars behind it. Absent is the filled bar, per the rule that a
33027
+ reflected property takes no default, and `solid` writes it out. A
33028
+ renderer draws the bars the same way.
33029
+
33030
+ It composes with `material`: emphasis decides what is drawn, and material
33031
+ how much of it comes through. The outline on the bar the keys rest on
33032
+ keeps its own ink. */
33033
+ "prop:emphasis"?: (HelixSpatialBarChart["emphasis"]) | undefined;
33034
+ /** How much of each mark comes through, as on every chart: `glass` admits the
33035
+ most of what is behind it, `frosted` less, and absent is opaque. The
33036
+ strength is the theme's, scaled by `--helix-material-opacity`. */
33037
+ "prop:material"?: (HelixSpatialBarChart["material"]) | undefined;
33038
+ /** The words shown in place of the drawing when the table has no readings,
33039
+ and the fallback of the `empty` slot. */
33040
+ "attr:empty-text"?: (HelixSpatialBarChart["emptyText"]) | undefined;
33041
+ /** The words shown in place of the drawing when the table has no readings,
33042
+ and the fallback of the `empty` slot. */
33043
+ "prop:emptyText"?: (HelixSpatialBarChart["emptyText"]) | undefined;
33044
+ /** Whether the readings are still on their way. The chart shows
33045
+ `loading-text` in place of an empty drawing until it has readings.
33046
+
33047
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
33048
+ that already has readings keeps drawing them, so a refresh does not
33049
+ blank it. */
33050
+ "prop:loading"?: (HelixSpatialBarChart["loading"]) | undefined;
33051
+ /** The words shown in place of the drawing while `loading` is set and
33052
+ there are no readings yet, and the fallback of the `loading` slot. */
33053
+ "attr:loading-text"?: (HelixSpatialBarChart["loadingText"]) | undefined;
33054
+ /** The words shown in place of the drawing while `loading` is set and
33055
+ there are no readings yet, and the fallback of the `loading` slot. */
33056
+ "prop:loadingText"?: (HelixSpatialBarChart["loadingText"]) | undefined;
33057
+ /** The id of the table to read.
33058
+
33059
+ Names a table in the same tree, so a chart inside another component's
33060
+ shadow root reads a table in that root rather than one in the document. A
33061
+ `<table>` or anything built from grid roles, including `helix-table`.
33062
+
33063
+ **In React this arrives as a property and not as an attribute**, the way
33064
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
33065
+ "prop:for"?: (HelixSpatialBarChart["for"]) | undefined;
33066
+ /** The chart's name, which starts the chart's text summary.
33067
+
33068
+ Absent falls back to the table's own caption, which is usually the right
33069
+ words and is already written. */
33070
+ "prop:label"?: (HelixSpatialBarChart["label"]) | undefined;
33071
+ /** The locale the chart's own numbers are written in: its axis, its
33072
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
33073
+
33074
+ Absent reads the nearest `lang`, then the runtime's own. The table's
33075
+ cells are shown as the table writes them, whatever this says. */
33076
+ "prop:locale"?: (HelixSpatialBarChart["locale"]) | undefined;
33077
+ /** Where a reading the keys moved to stands among the readings, said after
33078
+ it. `{position}` and `{count}` are replaced with the numbers, written in
33079
+ `locale`.
33080
+
33081
+ Set it to the words of the page's language, such as `{position} von
33082
+ {count}`, or to nothing to say no position. A slice or a series a
33083
+ legend hid is not counted. */
33084
+ "attr:position-label"?: (HelixSpatialBarChart["positionLabel"]) | undefined;
33085
+ /** Where a reading the keys moved to stands among the readings, said after
33086
+ it. `{position}` and `{count}` are replaced with the numbers, written in
33087
+ `locale`.
33088
+
33089
+ Set it to the words of the page's language, such as `{position} von
33090
+ {count}`, or to nothing to say no position. A slice or a series a
33091
+ legend hid is not counted. */
33092
+ "prop:positionLabel"?: (HelixSpatialBarChart["positionLabel"]) | undefined;
33093
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33094
+ alone and fill the plot, as a picture on a product's own page does. The
33095
+ table, the summary, the tooltip, and the keys still carry every value,
33096
+ and a renderer draws no box either. */
33097
+ "bool:no-box"?: (HelixSpatialBarChart["noBox"]) | undefined;
33098
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33099
+ alone and fill the plot, as a picture on a product's own page does. The
33100
+ table, the summary, the tooltip, and the keys still carry every value,
33101
+ and a renderer draws no box either. */
33102
+ "prop:noBox"?: (HelixSpatialBarChart["noBox"]) | undefined;
33103
+ /** What the readout says for a place with no value. `{category}` and
33104
+ `{series}` name the place. */
33105
+ "attr:open-label"?: (HelixSpatialBarChart["openLabel"]) | undefined;
33106
+ /** What the readout says for a place with no value. `{category}` and
33107
+ `{series}` name the place. */
33108
+ "prop:openLabel"?: (HelixSpatialBarChart["openLabel"]) | undefined;
33109
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33110
+ "attr:plot-label"?: (HelixSpatialBarChart["plotLabel"]) | undefined;
33111
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33112
+ "prop:plotLabel"?: (HelixSpatialBarChart["plotLabel"]) | undefined;
33113
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
33114
+ are the number of bars, series, and categories, written in the locale,
33115
+ and `{low}` and `{high}` the lowest and the highest value. */
33116
+ "attr:summary-label"?: (HelixSpatialBarChart["summaryLabel"]) | undefined;
33117
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
33118
+ are the number of bars, series, and categories, written in the locale,
33119
+ and `{low}` and `{high}` the lowest and the highest value. */
33120
+ "prop:summaryLabel"?: (HelixSpatialBarChart["summaryLabel"]) | undefined;
33121
+ /** The readings as data, in the shape of a table, where the page has no
33122
+ table to point `for` at. `for` wins where both are set.
33123
+
33124
+ ```js
33125
+ chart.data = {
33126
+ caption: 'Sessions by channel',
33127
+ columns: ['Month', 'Direct', 'Referral'],
33128
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
33129
+ }
33130
+ ```
33131
+
33132
+ The first column holds each row's label and every column after it a
33133
+ series, as in a table. A cell is a number, words, `null` for a blank,
33134
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
33135
+ number is shown in `locale`.
33136
+
33137
+ **A table is still the better source where the page can show one**:
33138
+ it reads with no script and before hydration, and a reader can sort and
33139
+ copy it. Data is drawn on the client only, so a server serves the
33140
+ frame, and the summary, the keys and the readout are then the whole of
33141
+ what a screen reader is given. Set a new object to redraw: the chart
33142
+ does not look inside the one it has. */
33143
+ "prop:data"?: (HelixSpatialBarChart["data"]) | undefined;
33144
+ /** The bars or the bar the keys rest on changed, which the renderer is told. It stays on the chart. */
33145
+ "on:helix-plot-change"?: ((
33146
+ e: HelixSpatialBarChartHelixPlotChangeElementEvent,
33147
+ ) => void) | undefined;
33148
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
33149
+ "on:helix-plot-turn"?: ((
33150
+ e: HelixSpatialBarChartHelixPlotTurnElementEvent,
33151
+ ) => void) | undefined;
33152
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
33153
+ "on:helix-reading-change"?: ((
33154
+ e: HelixSpatialBarChartHelixReadingChangeElementEvent,
33155
+ ) => void) | undefined;
33156
+ /** A bar was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
33157
+ "on:helix-reading-press"?: ((
33158
+ e: HelixSpatialBarChartHelixReadingPressElementEvent,
33159
+ ) => void) | undefined;
33160
+
33161
+ /** Set the innerHTML of the element */
33162
+ innerHTML?: (string) | undefined;
33163
+ /** Set the textContent of the element */
33164
+ textContent?: (string | number) | undefined;
33165
+ };
33166
+
32769
33167
  /** `HelixSpatialHeatmap` component event */
32770
33168
  export type HelixSpatialHeatmapElementEvent<E = Event> = TypedEvent<
32771
33169
  HelixSpatialHeatmap,
@@ -32791,6 +33189,22 @@ export type HelixSpatialHeatmapHelixResizeElementEvent =
32791
33189
  HelixSpatialHeatmapElementEvent<HelixResizeEvent>;
32792
33190
 
32793
33191
  export type HelixSpatialHeatmapProps = {
33192
+ /** How strongly the prisms are drawn, as on every chart.
33193
+
33194
+ `outlined` is a prism as its edges in its tone over faces faded toward the
33195
+ page, and `subtle` a faint wash of the tone under the same edges, which
33196
+ shows the prisms behind it. Absent is the filled prism, per the rule that
33197
+ a reflected property takes no default, and `solid` writes it out. A
33198
+ renderer draws the prisms the same way.
33199
+
33200
+ It composes with `material`: emphasis decides what is drawn, and material
33201
+ how much of it comes through. The ring on the prism the keys rest on keeps
33202
+ its own ink. */
33203
+ emphasis?: (HelixSpatialHeatmap["emphasis"]) | undefined;
33204
+ /** How much of each mark comes through, as on every chart: `glass` admits the
33205
+ most of what is behind it, `frosted` less, and absent is opaque. The
33206
+ strength is the theme's, scaled by `--helix-material-opacity`. */
33207
+ material?: (HelixSpatialHeatmap["material"]) | undefined;
32794
33208
  /** Draws every prism at no height, so the tones lie on a plane. */
32795
33209
  flat?: (HelixSpatialHeatmap["flat"]) | undefined;
32796
33210
  /** How tall the highest reading stands, in cells. Every other reading stands
@@ -33032,6 +33446,22 @@ does not look inside the one it has. */
33032
33446
  };
33033
33447
 
33034
33448
  export type HelixSpatialHeatmapSolidJsProps = {
33449
+ /** How strongly the prisms are drawn, as on every chart.
33450
+
33451
+ `outlined` is a prism as its edges in its tone over faces faded toward the
33452
+ page, and `subtle` a faint wash of the tone under the same edges, which
33453
+ shows the prisms behind it. Absent is the filled prism, per the rule that
33454
+ a reflected property takes no default, and `solid` writes it out. A
33455
+ renderer draws the prisms the same way.
33456
+
33457
+ It composes with `material`: emphasis decides what is drawn, and material
33458
+ how much of it comes through. The ring on the prism the keys rest on keeps
33459
+ its own ink. */
33460
+ "prop:emphasis"?: (HelixSpatialHeatmap["emphasis"]) | undefined;
33461
+ /** How much of each mark comes through, as on every chart: `glass` admits the
33462
+ most of what is behind it, `frosted` less, and absent is opaque. The
33463
+ strength is the theme's, scaled by `--helix-material-opacity`. */
33464
+ "prop:material"?: (HelixSpatialHeatmap["material"]) | undefined;
33035
33465
  /** Draws every prism at no height, so the tones lie on a plane. */
33036
33466
  "prop:flat"?: (HelixSpatialHeatmap["flat"]) | undefined;
33037
33467
  /** How tall the highest reading stands, in cells. Every other reading stands
@@ -33276,44 +33706,202 @@ does not look inside the one it has. */
33276
33706
  textContent?: (string | number) | undefined;
33277
33707
  };
33278
33708
 
33279
- /** `HelixSpatialScatterChart` component event */
33280
- export type HelixSpatialScatterChartElementEvent<E = Event> = TypedEvent<
33281
- HelixSpatialScatterChart,
33709
+ /** `HelixSpatialRibbonChart` component event */
33710
+ export type HelixSpatialRibbonChartElementEvent<E = Event> = TypedEvent<
33711
+ HelixSpatialRibbonChart,
33282
33712
  E
33283
33713
  >;
33284
33714
  /** `helix-plot-change` event type */
33285
- export type HelixSpatialScatterChartHelixPlotChangeElementEvent =
33286
- HelixSpatialScatterChartElementEvent<HelixPlotChangeEvent>;
33715
+ export type HelixSpatialRibbonChartHelixPlotChangeElementEvent =
33716
+ HelixSpatialRibbonChartElementEvent<HelixPlotChangeEvent>;
33287
33717
  /** `helix-plot-turn` event type */
33288
- export type HelixSpatialScatterChartHelixPlotTurnElementEvent =
33289
- HelixSpatialScatterChartElementEvent<HelixPlotTurnEvent>;
33718
+ export type HelixSpatialRibbonChartHelixPlotTurnElementEvent =
33719
+ HelixSpatialRibbonChartElementEvent<HelixPlotTurnEvent>;
33290
33720
  /** `helix-reading-change` event type */
33291
- export type HelixSpatialScatterChartHelixReadingChangeElementEvent =
33292
- HelixSpatialScatterChartElementEvent<HelixReadingChangeEvent>;
33721
+ export type HelixSpatialRibbonChartHelixReadingChangeElementEvent =
33722
+ HelixSpatialRibbonChartElementEvent<HelixReadingChangeEvent>;
33293
33723
  /** `helix-reading-press` event type */
33294
- export type HelixSpatialScatterChartHelixReadingPressElementEvent =
33295
- HelixSpatialScatterChartElementEvent<HelixReadingPressEvent>;
33724
+ export type HelixSpatialRibbonChartHelixReadingPressElementEvent =
33725
+ HelixSpatialRibbonChartElementEvent<HelixReadingPressEvent>;
33726
+
33727
+ export type HelixSpatialRibbonChartProps = {
33728
+ /** How strongly the ribbons are drawn, as on every chart.
33729
+
33730
+ `outlined` is a ribbon as its edges in its series' color over faces
33731
+ faded toward the page, and `subtle` the same edges over a faint wash,
33732
+ which shows the ribbons behind it. Absent is the filled ribbon, per the
33733
+ rule that a reflected property takes no default, and `solid` writes it
33734
+ out. A renderer draws the ribbons the same way.
33735
+
33736
+ It composes with `material`: emphasis decides what is drawn, and material
33737
+ how much of it comes through. The ring on the reading the keys rest on
33738
+ keeps its own ink. */
33739
+ emphasis?: (HelixSpatialRibbonChart["emphasis"]) | undefined;
33740
+ /** How much of each mark comes through, as on every chart: `glass` admits the
33741
+ most of what is behind it, `frosted` less, and absent is opaque. The
33742
+ strength is the theme's, scaled by `--helix-material-opacity`. */
33743
+ material?: (HelixSpatialRibbonChart["material"]) | undefined;
33744
+ /** The words shown in place of the drawing when the table has no readings,
33745
+ and the fallback of the `empty` slot. */
33746
+ "empty-text"?: (HelixSpatialRibbonChart["emptyText"]) | undefined;
33747
+ /** The words shown in place of the drawing when the table has no readings,
33748
+ and the fallback of the `empty` slot. */
33749
+ emptyText?: (HelixSpatialRibbonChart["emptyText"]) | undefined;
33750
+ /** Whether the readings are still on their way. The chart shows
33751
+ `loading-text` in place of an empty drawing until it has readings.
33296
33752
 
33297
- export type HelixSpatialScatterChartProps = {
33753
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
33754
+ that already has readings keeps drawing them, so a refresh does not
33755
+ blank it. */
33756
+ loading?: (HelixSpatialRibbonChart["loading"]) | undefined;
33757
+ /** The words shown in place of the drawing while `loading` is set and
33758
+ there are no readings yet, and the fallback of the `loading` slot. */
33759
+ "loading-text"?: (HelixSpatialRibbonChart["loadingText"]) | undefined;
33760
+ /** The words shown in place of the drawing while `loading` is set and
33761
+ there are no readings yet, and the fallback of the `loading` slot. */
33762
+ loadingText?: (HelixSpatialRibbonChart["loadingText"]) | undefined;
33763
+ /** The id of the table to read.
33764
+
33765
+ Names a table in the same tree, so a chart inside another component's
33766
+ shadow root reads a table in that root rather than one in the document. A
33767
+ `<table>` or anything built from grid roles, including `helix-table`.
33768
+
33769
+ **In React this arrives as a property and not as an attribute**, the way
33770
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
33771
+ for?: (HelixSpatialRibbonChart["for"]) | undefined;
33772
+ /** The chart's name, which starts the chart's text summary.
33773
+
33774
+ Absent falls back to the table's own caption, which is usually the right
33775
+ words and is already written. */
33776
+ label?: (HelixSpatialRibbonChart["label"]) | undefined;
33777
+ /** The locale the chart's own numbers are written in: its axis, its
33778
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
33779
+
33780
+ Absent reads the nearest `lang`, then the runtime's own. The table's
33781
+ cells are shown as the table writes them, whatever this says. */
33782
+ locale?: (HelixSpatialRibbonChart["locale"]) | undefined;
33783
+ /** Where a reading the keys moved to stands among the readings, said after
33784
+ it. `{position}` and `{count}` are replaced with the numbers, written in
33785
+ `locale`.
33786
+
33787
+ Set it to the words of the page's language, such as `{position} von
33788
+ {count}`, or to nothing to say no position. A slice or a series a
33789
+ legend hid is not counted. */
33790
+ "position-label"?: (HelixSpatialRibbonChart["positionLabel"]) | undefined;
33791
+ /** Where a reading the keys moved to stands among the readings, said after
33792
+ it. `{position}` and `{count}` are replaced with the numbers, written in
33793
+ `locale`.
33794
+
33795
+ Set it to the words of the page's language, such as `{position} von
33796
+ {count}`, or to nothing to say no position. A slice or a series a
33797
+ legend hid is not counted. */
33798
+ positionLabel?: (HelixSpatialRibbonChart["positionLabel"]) | undefined;
33799
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33800
+ alone and fill the plot, as a picture on a product's own page does. The
33801
+ table, the summary, the tooltip, and the keys still carry every value,
33802
+ and a renderer draws no box either. */
33803
+ "no-box"?: (HelixSpatialRibbonChart["noBox"]) | undefined;
33804
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33805
+ alone and fill the plot, as a picture on a product's own page does. The
33806
+ table, the summary, the tooltip, and the keys still carry every value,
33807
+ and a renderer draws no box either. */
33808
+ noBox?: (HelixSpatialRibbonChart["noBox"]) | undefined;
33809
+ /** What the readout says for a reading the table has no value for.
33810
+ `{place}` and `{series}` name it. */
33811
+ "open-label"?: (HelixSpatialRibbonChart["openLabel"]) | undefined;
33812
+ /** What the readout says for a reading the table has no value for.
33813
+ `{place}` and `{series}` name it. */
33814
+ openLabel?: (HelixSpatialRibbonChart["openLabel"]) | undefined;
33815
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33816
+ "plot-label"?: (HelixSpatialRibbonChart["plotLabel"]) | undefined;
33817
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33818
+ plotLabel?: (HelixSpatialRibbonChart["plotLabel"]) | undefined;
33819
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
33820
+ the number of readings, series, and places, written in the locale,
33821
+ and `{low}` and `{high}` the lowest and the highest value. */
33822
+ "summary-label"?: (HelixSpatialRibbonChart["summaryLabel"]) | undefined;
33823
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
33824
+ the number of readings, series, and places, written in the locale,
33825
+ and `{low}` and `{high}` the lowest and the highest value. */
33826
+ summaryLabel?: (HelixSpatialRibbonChart["summaryLabel"]) | undefined;
33827
+ /** The readings as data, in the shape of a table, where the page has no
33828
+ table to point `for` at. `for` wins where both are set.
33829
+
33830
+ ```js
33831
+ chart.data = {
33832
+ caption: 'Sessions by channel',
33833
+ columns: ['Month', 'Direct', 'Referral'],
33834
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
33835
+ }
33836
+ ```
33837
+
33838
+ The first column holds each row's label and every column after it a
33839
+ series, as in a table. A cell is a number, words, `null` for a blank,
33840
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
33841
+ number is shown in `locale`.
33842
+
33843
+ **A table is still the better source where the page can show one**:
33844
+ it reads with no script and before hydration, and a reader can sort and
33845
+ copy it. Data is drawn on the client only, so a server serves the
33846
+ frame, and the summary, the keys and the readout are then the whole of
33847
+ what a screen reader is given. Set a new object to redraw: the chart
33848
+ does not look inside the one it has. */
33849
+ data?: (HelixSpatialRibbonChart["data"]) | undefined;
33850
+
33851
+ /** The readings or the reading the keys rest on changed, which the renderer is told. It stays on the chart. */
33852
+ "onhelix-plot-change"?: ((
33853
+ e: HelixSpatialRibbonChartHelixPlotChangeElementEvent,
33854
+ ) => void) | undefined;
33855
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
33856
+ "onhelix-plot-turn"?: ((
33857
+ e: HelixSpatialRibbonChartHelixPlotTurnElementEvent,
33858
+ ) => void) | undefined;
33859
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
33860
+ "onhelix-reading-change"?: ((
33861
+ e: HelixSpatialRibbonChartHelixReadingChangeElementEvent,
33862
+ ) => void) | undefined;
33863
+ /** A reading was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
33864
+ "onhelix-reading-press"?: ((
33865
+ e: HelixSpatialRibbonChartHelixReadingPressElementEvent,
33866
+ ) => void) | undefined;
33867
+ };
33868
+
33869
+ export type HelixSpatialRibbonChartSolidJsProps = {
33870
+ /** How strongly the ribbons are drawn, as on every chart.
33871
+
33872
+ `outlined` is a ribbon as its edges in its series' color over faces
33873
+ faded toward the page, and `subtle` the same edges over a faint wash,
33874
+ which shows the ribbons behind it. Absent is the filled ribbon, per the
33875
+ rule that a reflected property takes no default, and `solid` writes it
33876
+ out. A renderer draws the ribbons the same way.
33877
+
33878
+ It composes with `material`: emphasis decides what is drawn, and material
33879
+ how much of it comes through. The ring on the reading the keys rest on
33880
+ keeps its own ink. */
33881
+ "prop:emphasis"?: (HelixSpatialRibbonChart["emphasis"]) | undefined;
33882
+ /** How much of each mark comes through, as on every chart: `glass` admits the
33883
+ most of what is behind it, `frosted` less, and absent is opaque. The
33884
+ strength is the theme's, scaled by `--helix-material-opacity`. */
33885
+ "prop:material"?: (HelixSpatialRibbonChart["material"]) | undefined;
33298
33886
  /** The words shown in place of the drawing when the table has no readings,
33299
33887
  and the fallback of the `empty` slot. */
33300
- "empty-text"?: (HelixSpatialScatterChart["emptyText"]) | undefined;
33888
+ "attr:empty-text"?: (HelixSpatialRibbonChart["emptyText"]) | undefined;
33301
33889
  /** The words shown in place of the drawing when the table has no readings,
33302
33890
  and the fallback of the `empty` slot. */
33303
- emptyText?: (HelixSpatialScatterChart["emptyText"]) | undefined;
33891
+ "prop:emptyText"?: (HelixSpatialRibbonChart["emptyText"]) | undefined;
33304
33892
  /** Whether the readings are still on their way. The chart shows
33305
33893
  `loading-text` in place of an empty drawing until it has readings.
33306
33894
 
33307
33895
  Reflected, so a stylesheet can treat the chart while it waits. A chart
33308
33896
  that already has readings keeps drawing them, so a refresh does not
33309
33897
  blank it. */
33310
- loading?: (HelixSpatialScatterChart["loading"]) | undefined;
33898
+ "prop:loading"?: (HelixSpatialRibbonChart["loading"]) | undefined;
33311
33899
  /** The words shown in place of the drawing while `loading` is set and
33312
33900
  there are no readings yet, and the fallback of the `loading` slot. */
33313
- "loading-text"?: (HelixSpatialScatterChart["loadingText"]) | undefined;
33901
+ "attr:loading-text"?: (HelixSpatialRibbonChart["loadingText"]) | undefined;
33314
33902
  /** The words shown in place of the drawing while `loading` is set and
33315
33903
  there are no readings yet, and the fallback of the `loading` slot. */
33316
- loadingText?: (HelixSpatialScatterChart["loadingText"]) | undefined;
33904
+ "prop:loadingText"?: (HelixSpatialRibbonChart["loadingText"]) | undefined;
33317
33905
  /** The id of the table to read.
33318
33906
 
33319
33907
  Names a table in the same tree, so a chart inside another component's
@@ -33322,18 +33910,18 @@ shadow root reads a table in that root rather than one in the document. A
33322
33910
 
33323
33911
  **In React this arrives as a property and not as an attribute**, the way
33324
33912
  `Tooltip.for` does, so it does not reflect and nothing styles on it. */
33325
- for?: (HelixSpatialScatterChart["for"]) | undefined;
33913
+ "prop:for"?: (HelixSpatialRibbonChart["for"]) | undefined;
33326
33914
  /** The chart's name, which starts the chart's text summary.
33327
33915
 
33328
33916
  Absent falls back to the table's own caption, which is usually the right
33329
33917
  words and is already written. */
33330
- label?: (HelixSpatialScatterChart["label"]) | undefined;
33918
+ "prop:label"?: (HelixSpatialRibbonChart["label"]) | undefined;
33331
33919
  /** The locale the chart's own numbers are written in: its axis, its
33332
33920
  percentages and its totals, such as `de` for `1.240` and `32 %`.
33333
33921
 
33334
33922
  Absent reads the nearest `lang`, then the runtime's own. The table's
33335
33923
  cells are shown as the table writes them, whatever this says. */
33336
- locale?: (HelixSpatialScatterChart["locale"]) | undefined;
33924
+ "prop:locale"?: (HelixSpatialRibbonChart["locale"]) | undefined;
33337
33925
  /** Where a reading the keys moved to stands among the readings, said after
33338
33926
  it. `{position}` and `{count}` are replaced with the numbers, written in
33339
33927
  `locale`.
@@ -33341,7 +33929,7 @@ it. `{position}` and `{count}` are replaced with the numbers, written in
33341
33929
  Set it to the words of the page's language, such as `{position} von
33342
33930
  {count}`, or to nothing to say no position. A slice or a series a
33343
33931
  legend hid is not counted. */
33344
- "position-label"?: (HelixSpatialScatterChart["positionLabel"]) | undefined;
33932
+ "attr:position-label"?: (HelixSpatialRibbonChart["positionLabel"]) | undefined;
33345
33933
  /** Where a reading the keys moved to stands among the readings, said after
33346
33934
  it. `{position}` and `{count}` are replaced with the numbers, written in
33347
33935
  `locale`.
@@ -33349,21 +33937,202 @@ it. `{position}` and `{count}` are replaced with the numbers, written in
33349
33937
  Set it to the words of the page's language, such as `{position} von
33350
33938
  {count}`, or to nothing to say no position. A slice or a series a
33351
33939
  legend hid is not counted. */
33352
- positionLabel?: (HelixSpatialScatterChart["positionLabel"]) | undefined;
33353
- /** The column of text that puts each point in a group, by its heading. None by default. */
33354
- "group-by"?: (HelixSpatialScatterChart["groupBy"]) | undefined;
33355
- /** The column of text that puts each point in a group, by its heading. None by default. */
33356
- groupBy?: (HelixSpatialScatterChart["groupBy"]) | undefined;
33940
+ "prop:positionLabel"?: (HelixSpatialRibbonChart["positionLabel"]) | undefined;
33941
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33942
+ alone and fill the plot, as a picture on a product's own page does. The
33943
+ table, the summary, the tooltip, and the keys still carry every value,
33944
+ and a renderer draws no box either. */
33945
+ "bool:no-box"?: (HelixSpatialRibbonChart["noBox"]) | undefined;
33946
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
33947
+ alone and fill the plot, as a picture on a product's own page does. The
33948
+ table, the summary, the tooltip, and the keys still carry every value,
33949
+ and a renderer draws no box either. */
33950
+ "prop:noBox"?: (HelixSpatialRibbonChart["noBox"]) | undefined;
33951
+ /** What the readout says for a reading the table has no value for.
33952
+ `{place}` and `{series}` name it. */
33953
+ "attr:open-label"?: (HelixSpatialRibbonChart["openLabel"]) | undefined;
33954
+ /** What the readout says for a reading the table has no value for.
33955
+ `{place}` and `{series}` name it. */
33956
+ "prop:openLabel"?: (HelixSpatialRibbonChart["openLabel"]) | undefined;
33357
33957
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33358
- "plot-label"?: (HelixSpatialScatterChart["plotLabel"]) | undefined;
33958
+ "attr:plot-label"?: (HelixSpatialRibbonChart["plotLabel"]) | undefined;
33359
33959
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33360
- plotLabel?: (HelixSpatialScatterChart["plotLabel"]) | undefined;
33361
- /** The `summary` part's sentence. `{count}` is the number of points, written
33362
- in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names. */
33363
- "summary-label"?: (HelixSpatialScatterChart["summaryLabel"]) | undefined;
33364
- /** The `summary` part's sentence. `{count}` is the number of points, written
33365
- in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names. */
33366
- summaryLabel?: (HelixSpatialScatterChart["summaryLabel"]) | undefined;
33960
+ "prop:plotLabel"?: (HelixSpatialRibbonChart["plotLabel"]) | undefined;
33961
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
33962
+ the number of readings, series, and places, written in the locale,
33963
+ and `{low}` and `{high}` the lowest and the highest value. */
33964
+ "attr:summary-label"?: (HelixSpatialRibbonChart["summaryLabel"]) | undefined;
33965
+ /** The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
33966
+ the number of readings, series, and places, written in the locale,
33967
+ and `{low}` and `{high}` the lowest and the highest value. */
33968
+ "prop:summaryLabel"?: (HelixSpatialRibbonChart["summaryLabel"]) | undefined;
33969
+ /** The readings as data, in the shape of a table, where the page has no
33970
+ table to point `for` at. `for` wins where both are set.
33971
+
33972
+ ```js
33973
+ chart.data = {
33974
+ caption: 'Sessions by channel',
33975
+ columns: ['Month', 'Direct', 'Referral'],
33976
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
33977
+ }
33978
+ ```
33979
+
33980
+ The first column holds each row's label and every column after it a
33981
+ series, as in a table. A cell is a number, words, `null` for a blank,
33982
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
33983
+ number is shown in `locale`.
33984
+
33985
+ **A table is still the better source where the page can show one**:
33986
+ it reads with no script and before hydration, and a reader can sort and
33987
+ copy it. Data is drawn on the client only, so a server serves the
33988
+ frame, and the summary, the keys and the readout are then the whole of
33989
+ what a screen reader is given. Set a new object to redraw: the chart
33990
+ does not look inside the one it has. */
33991
+ "prop:data"?: (HelixSpatialRibbonChart["data"]) | undefined;
33992
+ /** The readings or the reading the keys rest on changed, which the renderer is told. It stays on the chart. */
33993
+ "on:helix-plot-change"?: ((
33994
+ e: HelixSpatialRibbonChartHelixPlotChangeElementEvent,
33995
+ ) => void) | undefined;
33996
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
33997
+ "on:helix-plot-turn"?: ((
33998
+ e: HelixSpatialRibbonChartHelixPlotTurnElementEvent,
33999
+ ) => void) | undefined;
34000
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
34001
+ "on:helix-reading-change"?: ((
34002
+ e: HelixSpatialRibbonChartHelixReadingChangeElementEvent,
34003
+ ) => void) | undefined;
34004
+ /** A reading was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
34005
+ "on:helix-reading-press"?: ((
34006
+ e: HelixSpatialRibbonChartHelixReadingPressElementEvent,
34007
+ ) => void) | undefined;
34008
+
34009
+ /** Set the innerHTML of the element */
34010
+ innerHTML?: (string) | undefined;
34011
+ /** Set the textContent of the element */
34012
+ textContent?: (string | number) | undefined;
34013
+ };
34014
+
34015
+ /** `HelixSpatialScatterChart` component event */
34016
+ export type HelixSpatialScatterChartElementEvent<E = Event> = TypedEvent<
34017
+ HelixSpatialScatterChart,
34018
+ E
34019
+ >;
34020
+ /** `helix-plot-change` event type */
34021
+ export type HelixSpatialScatterChartHelixPlotChangeElementEvent =
34022
+ HelixSpatialScatterChartElementEvent<HelixPlotChangeEvent>;
34023
+ /** `helix-plot-turn` event type */
34024
+ export type HelixSpatialScatterChartHelixPlotTurnElementEvent =
34025
+ HelixSpatialScatterChartElementEvent<HelixPlotTurnEvent>;
34026
+ /** `helix-reading-change` event type */
34027
+ export type HelixSpatialScatterChartHelixReadingChangeElementEvent =
34028
+ HelixSpatialScatterChartElementEvent<HelixReadingChangeEvent>;
34029
+ /** `helix-reading-press` event type */
34030
+ export type HelixSpatialScatterChartHelixReadingPressElementEvent =
34031
+ HelixSpatialScatterChartElementEvent<HelixReadingPressEvent>;
34032
+
34033
+ export type HelixSpatialScatterChartProps = {
34034
+ /** How strongly the points are drawn, as on every chart.
34035
+
34036
+ `outlined` is a point as a ring in its group's color over a dot faded
34037
+ toward the page, and `subtle` the same ring over a faint dot. Absent is
34038
+ the filled dot, per the rule that a reflected property takes no default,
34039
+ and `solid` writes it out. A renderer draws the points the same way.
34040
+
34041
+ It composes with `material`: emphasis decides what is drawn, and material
34042
+ how much of it comes through. The ring on the point the keys rest on keeps
34043
+ its own ink. */
34044
+ emphasis?: (HelixSpatialScatterChart["emphasis"]) | undefined;
34045
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34046
+ most of what is behind it, `frosted` less, and absent is opaque. The
34047
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34048
+ material?: (HelixSpatialScatterChart["material"]) | undefined;
34049
+ /** The words shown in place of the drawing when the table has no readings,
34050
+ and the fallback of the `empty` slot. */
34051
+ "empty-text"?: (HelixSpatialScatterChart["emptyText"]) | undefined;
34052
+ /** The words shown in place of the drawing when the table has no readings,
34053
+ and the fallback of the `empty` slot. */
34054
+ emptyText?: (HelixSpatialScatterChart["emptyText"]) | undefined;
34055
+ /** Whether the readings are still on their way. The chart shows
34056
+ `loading-text` in place of an empty drawing until it has readings.
34057
+
34058
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
34059
+ that already has readings keeps drawing them, so a refresh does not
34060
+ blank it. */
34061
+ loading?: (HelixSpatialScatterChart["loading"]) | undefined;
34062
+ /** The words shown in place of the drawing while `loading` is set and
34063
+ there are no readings yet, and the fallback of the `loading` slot. */
34064
+ "loading-text"?: (HelixSpatialScatterChart["loadingText"]) | undefined;
34065
+ /** The words shown in place of the drawing while `loading` is set and
34066
+ there are no readings yet, and the fallback of the `loading` slot. */
34067
+ loadingText?: (HelixSpatialScatterChart["loadingText"]) | undefined;
34068
+ /** The id of the table to read.
34069
+
34070
+ Names a table in the same tree, so a chart inside another component's
34071
+ shadow root reads a table in that root rather than one in the document. A
34072
+ `<table>` or anything built from grid roles, including `helix-table`.
34073
+
34074
+ **In React this arrives as a property and not as an attribute**, the way
34075
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
34076
+ for?: (HelixSpatialScatterChart["for"]) | undefined;
34077
+ /** The chart's name, which starts the chart's text summary.
34078
+
34079
+ Absent falls back to the table's own caption, which is usually the right
34080
+ words and is already written. */
34081
+ label?: (HelixSpatialScatterChart["label"]) | undefined;
34082
+ /** The locale the chart's own numbers are written in: its axis, its
34083
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
34084
+
34085
+ Absent reads the nearest `lang`, then the runtime's own. The table's
34086
+ cells are shown as the table writes them, whatever this says. */
34087
+ locale?: (HelixSpatialScatterChart["locale"]) | undefined;
34088
+ /** Where a reading the keys moved to stands among the readings, said after
34089
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34090
+ `locale`.
34091
+
34092
+ Set it to the words of the page's language, such as `{position} von
34093
+ {count}`, or to nothing to say no position. A slice or a series a
34094
+ legend hid is not counted. */
34095
+ "position-label"?: (HelixSpatialScatterChart["positionLabel"]) | undefined;
34096
+ /** Where a reading the keys moved to stands among the readings, said after
34097
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34098
+ `locale`.
34099
+
34100
+ Set it to the words of the page's language, such as `{position} von
34101
+ {count}`, or to nothing to say no position. A slice or a series a
34102
+ legend hid is not counted. */
34103
+ positionLabel?: (HelixSpatialScatterChart["positionLabel"]) | undefined;
34104
+ /** Draws a line from each point straight down to the floor of the box, in
34105
+ its group's color, so where a point stands across and in depth reads off
34106
+ the floor's grid. A renderer draws them too. */
34107
+ "drop-lines"?: (HelixSpatialScatterChart["dropLines"]) | undefined;
34108
+ /** Draws a line from each point straight down to the floor of the box, in
34109
+ its group's color, so where a point stands across and in depth reads off
34110
+ the floor's grid. A renderer draws them too. */
34111
+ dropLines?: (HelixSpatialScatterChart["dropLines"]) | undefined;
34112
+ /** The column of text that puts each point in a group, by its heading. None by default. */
34113
+ "group-by"?: (HelixSpatialScatterChart["groupBy"]) | undefined;
34114
+ /** The column of text that puts each point in a group, by its heading. None by default. */
34115
+ groupBy?: (HelixSpatialScatterChart["groupBy"]) | undefined;
34116
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34117
+ alone and fill the plot, as a picture on a product's own page does. The
34118
+ table, the summary, the tooltip, and the keys still carry every value,
34119
+ and a renderer draws no box either. */
34120
+ "no-box"?: (HelixSpatialScatterChart["noBox"]) | undefined;
34121
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34122
+ alone and fill the plot, as a picture on a product's own page does. The
34123
+ table, the summary, the tooltip, and the keys still carry every value,
34124
+ and a renderer draws no box either. */
34125
+ noBox?: (HelixSpatialScatterChart["noBox"]) | undefined;
34126
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34127
+ "plot-label"?: (HelixSpatialScatterChart["plotLabel"]) | undefined;
34128
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34129
+ plotLabel?: (HelixSpatialScatterChart["plotLabel"]) | undefined;
34130
+ /** The `summary` part's sentence. `{count}` is the number of points, written
34131
+ in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names. */
34132
+ "summary-label"?: (HelixSpatialScatterChart["summaryLabel"]) | undefined;
34133
+ /** The `summary` part's sentence. `{count}` is the number of points, written
34134
+ in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names. */
34135
+ summaryLabel?: (HelixSpatialScatterChart["summaryLabel"]) | undefined;
33367
34136
  /** The readings as data, in the shape of a table, where the page has no
33368
34137
  table to point `for` at. `for` wins where both are set.
33369
34138
 
@@ -33407,6 +34176,21 @@ does not look inside the one it has. */
33407
34176
  };
33408
34177
 
33409
34178
  export type HelixSpatialScatterChartSolidJsProps = {
34179
+ /** How strongly the points are drawn, as on every chart.
34180
+
34181
+ `outlined` is a point as a ring in its group's color over a dot faded
34182
+ toward the page, and `subtle` the same ring over a faint dot. Absent is
34183
+ the filled dot, per the rule that a reflected property takes no default,
34184
+ and `solid` writes it out. A renderer draws the points the same way.
34185
+
34186
+ It composes with `material`: emphasis decides what is drawn, and material
34187
+ how much of it comes through. The ring on the point the keys rest on keeps
34188
+ its own ink. */
34189
+ "prop:emphasis"?: (HelixSpatialScatterChart["emphasis"]) | undefined;
34190
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34191
+ most of what is behind it, `frosted` less, and absent is opaque. The
34192
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34193
+ "prop:material"?: (HelixSpatialScatterChart["material"]) | undefined;
33410
34194
  /** The words shown in place of the drawing when the table has no readings,
33411
34195
  and the fallback of the `empty` slot. */
33412
34196
  "attr:empty-text"?: (HelixSpatialScatterChart["emptyText"]) | undefined;
@@ -33462,10 +34246,28 @@ Set it to the words of the page's language, such as `{position} von
33462
34246
  {count}`, or to nothing to say no position. A slice or a series a
33463
34247
  legend hid is not counted. */
33464
34248
  "prop:positionLabel"?: (HelixSpatialScatterChart["positionLabel"]) | undefined;
34249
+ /** Draws a line from each point straight down to the floor of the box, in
34250
+ its group's color, so where a point stands across and in depth reads off
34251
+ the floor's grid. A renderer draws them too. */
34252
+ "bool:drop-lines"?: (HelixSpatialScatterChart["dropLines"]) | undefined;
34253
+ /** Draws a line from each point straight down to the floor of the box, in
34254
+ its group's color, so where a point stands across and in depth reads off
34255
+ the floor's grid. A renderer draws them too. */
34256
+ "prop:dropLines"?: (HelixSpatialScatterChart["dropLines"]) | undefined;
33465
34257
  /** The column of text that puts each point in a group, by its heading. None by default. */
33466
34258
  "attr:group-by"?: (HelixSpatialScatterChart["groupBy"]) | undefined;
33467
34259
  /** The column of text that puts each point in a group, by its heading. None by default. */
33468
34260
  "prop:groupBy"?: (HelixSpatialScatterChart["groupBy"]) | undefined;
34261
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34262
+ alone and fill the plot, as a picture on a product's own page does. The
34263
+ table, the summary, the tooltip, and the keys still carry every value,
34264
+ and a renderer draws no box either. */
34265
+ "bool:no-box"?: (HelixSpatialScatterChart["noBox"]) | undefined;
34266
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34267
+ alone and fill the plot, as a picture on a product's own page does. The
34268
+ table, the summary, the tooltip, and the keys still carry every value,
34269
+ and a renderer draws no box either. */
34270
+ "prop:noBox"?: (HelixSpatialScatterChart["noBox"]) | undefined;
33469
34271
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
33470
34272
  "attr:plot-label"?: (HelixSpatialScatterChart["plotLabel"]) | undefined;
33471
34273
  /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
@@ -33541,6 +34343,23 @@ export type HelixSpatialSurfaceChartHelixReadingPressElementEvent =
33541
34343
  HelixSpatialSurfaceChartElementEvent<HelixReadingPressEvent>;
33542
34344
 
33543
34345
  export type HelixSpatialSurfaceChartProps = {
34346
+ /** How strongly the surface is drawn, as on every chart.
34347
+
34348
+ `outlined` is a wireframe in the ramp's colors over a surface faded toward
34349
+ the page, and `subtle` the same wireframe over a faint surface that the
34350
+ grid behind shows through, so a reading the surface hid from this side can
34351
+ be seen. Absent is the filled surface, per the rule that a reflected
34352
+ property takes no default, and `solid` writes it out. A renderer draws the
34353
+ surface the same way.
34354
+
34355
+ It composes with `material`: emphasis decides what is drawn, and material
34356
+ how much of it comes through. The ring on the reading the keys rest on
34357
+ keeps its own ink. */
34358
+ emphasis?: (HelixSpatialSurfaceChart["emphasis"]) | undefined;
34359
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34360
+ most of what is behind it, `frosted` less, and absent is opaque. The
34361
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34362
+ material?: (HelixSpatialSurfaceChart["material"]) | undefined;
33544
34363
  /** The words shown in place of the drawing when the table has no readings,
33545
34364
  and the fallback of the `empty` slot. */
33546
34365
  "empty-text"?: (HelixSpatialSurfaceChart["emptyText"]) | undefined;
@@ -33596,6 +34415,20 @@ Set it to the words of the page's language, such as `{position} von
33596
34415
  {count}`, or to nothing to say no position. A slice or a series a
33597
34416
  legend hid is not counted. */
33598
34417
  positionLabel?: (HelixSpatialSurfaceChart["positionLabel"]) | undefined;
34418
+ /** Draws the surface's contour lines on it, at each tick of its height, in
34419
+ the ramp's colors, so its shape reads as on a map and two places at the
34420
+ same height read as such. A renderer draws them too. */
34421
+ contours?: (HelixSpatialSurfaceChart["contours"]) | undefined;
34422
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34423
+ alone and fill the plot, as a picture on a product's own page does. The
34424
+ table, the summary, the tooltip, and the keys still carry every value,
34425
+ and a renderer draws no box either. */
34426
+ "no-box"?: (HelixSpatialSurfaceChart["noBox"]) | undefined;
34427
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34428
+ alone and fill the plot, as a picture on a product's own page does. The
34429
+ table, the summary, the tooltip, and the keys still carry every value,
34430
+ and a renderer draws no box either. */
34431
+ noBox?: (HelixSpatialSurfaceChart["noBox"]) | undefined;
33599
34432
  /** What the readout says for a place with no reading. `{x}` and `{z}` are
33600
34433
  the place's numbers across and in depth, and `{across}` and `{depth}`
33601
34434
  the two measures' names. */
@@ -33661,6 +34494,23 @@ does not look inside the one it has. */
33661
34494
  };
33662
34495
 
33663
34496
  export type HelixSpatialSurfaceChartSolidJsProps = {
34497
+ /** How strongly the surface is drawn, as on every chart.
34498
+
34499
+ `outlined` is a wireframe in the ramp's colors over a surface faded toward
34500
+ the page, and `subtle` the same wireframe over a faint surface that the
34501
+ grid behind shows through, so a reading the surface hid from this side can
34502
+ be seen. Absent is the filled surface, per the rule that a reflected
34503
+ property takes no default, and `solid` writes it out. A renderer draws the
34504
+ surface the same way.
34505
+
34506
+ It composes with `material`: emphasis decides what is drawn, and material
34507
+ how much of it comes through. The ring on the reading the keys rest on
34508
+ keeps its own ink. */
34509
+ "prop:emphasis"?: (HelixSpatialSurfaceChart["emphasis"]) | undefined;
34510
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34511
+ most of what is behind it, `frosted` less, and absent is opaque. The
34512
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34513
+ "prop:material"?: (HelixSpatialSurfaceChart["material"]) | undefined;
33664
34514
  /** The words shown in place of the drawing when the table has no readings,
33665
34515
  and the fallback of the `empty` slot. */
33666
34516
  "attr:empty-text"?: (HelixSpatialSurfaceChart["emptyText"]) | undefined;
@@ -33716,6 +34566,20 @@ Set it to the words of the page's language, such as `{position} von
33716
34566
  {count}`, or to nothing to say no position. A slice or a series a
33717
34567
  legend hid is not counted. */
33718
34568
  "prop:positionLabel"?: (HelixSpatialSurfaceChart["positionLabel"]) | undefined;
34569
+ /** Draws the surface's contour lines on it, at each tick of its height, in
34570
+ the ramp's colors, so its shape reads as on a map and two places at the
34571
+ same height read as such. A renderer draws them too. */
34572
+ "prop:contours"?: (HelixSpatialSurfaceChart["contours"]) | undefined;
34573
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34574
+ alone and fill the plot, as a picture on a product's own page does. The
34575
+ table, the summary, the tooltip, and the keys still carry every value,
34576
+ and a renderer draws no box either. */
34577
+ "bool:no-box"?: (HelixSpatialSurfaceChart["noBox"]) | undefined;
34578
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34579
+ alone and fill the plot, as a picture on a product's own page does. The
34580
+ table, the summary, the tooltip, and the keys still carry every value,
34581
+ and a renderer draws no box either. */
34582
+ "prop:noBox"?: (HelixSpatialSurfaceChart["noBox"]) | undefined;
33719
34583
  /** What the readout says for a place with no reading. `{x}` and `{z}` are
33720
34584
  the place's numbers across and in depth, and `{across}` and `{depth}`
33721
34585
  the two measures' names. */
@@ -33784,6 +34648,308 @@ does not look inside the one it has. */
33784
34648
  textContent?: (string | number) | undefined;
33785
34649
  };
33786
34650
 
34651
+ /** `HelixSpatialTreemap` component event */
34652
+ export type HelixSpatialTreemapElementEvent<E = Event> = TypedEvent<
34653
+ HelixSpatialTreemap,
34654
+ E
34655
+ >;
34656
+ /** `helix-plot-change` event type */
34657
+ export type HelixSpatialTreemapHelixPlotChangeElementEvent =
34658
+ HelixSpatialTreemapElementEvent<HelixPlotChangeEvent>;
34659
+ /** `helix-plot-turn` event type */
34660
+ export type HelixSpatialTreemapHelixPlotTurnElementEvent =
34661
+ HelixSpatialTreemapElementEvent<HelixPlotTurnEvent>;
34662
+ /** `helix-reading-change` event type */
34663
+ export type HelixSpatialTreemapHelixReadingChangeElementEvent =
34664
+ HelixSpatialTreemapElementEvent<HelixReadingChangeEvent>;
34665
+ /** `helix-reading-press` event type */
34666
+ export type HelixSpatialTreemapHelixReadingPressElementEvent =
34667
+ HelixSpatialTreemapElementEvent<HelixReadingPressEvent>;
34668
+
34669
+ export type HelixSpatialTreemapProps = {
34670
+ /** How strongly the blocks are drawn, as on every chart.
34671
+
34672
+ `outlined` is a block as its edges in its group's color over faces faded
34673
+ toward the page, and `subtle` the same edges over a faint wash, which
34674
+ shows the blocks behind it. Absent is the filled block, per the rule that a
34675
+ reflected property takes no default, and `solid` writes it out. A
34676
+ renderer draws the blocks the same way.
34677
+
34678
+ It composes with `material`: emphasis decides what is drawn, and material
34679
+ how much of it comes through. The outline on the block the keys rest on
34680
+ keeps its own ink. */
34681
+ emphasis?: (HelixSpatialTreemap["emphasis"]) | undefined;
34682
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34683
+ most of what is behind it, `frosted` less, and absent is opaque. The
34684
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34685
+ material?: (HelixSpatialTreemap["material"]) | undefined;
34686
+ /** The words shown in place of the drawing when the table has no readings,
34687
+ and the fallback of the `empty` slot. */
34688
+ "empty-text"?: (HelixSpatialTreemap["emptyText"]) | undefined;
34689
+ /** The words shown in place of the drawing when the table has no readings,
34690
+ and the fallback of the `empty` slot. */
34691
+ emptyText?: (HelixSpatialTreemap["emptyText"]) | undefined;
34692
+ /** Whether the readings are still on their way. The chart shows
34693
+ `loading-text` in place of an empty drawing until it has readings.
34694
+
34695
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
34696
+ that already has readings keeps drawing them, so a refresh does not
34697
+ blank it. */
34698
+ loading?: (HelixSpatialTreemap["loading"]) | undefined;
34699
+ /** The words shown in place of the drawing while `loading` is set and
34700
+ there are no readings yet, and the fallback of the `loading` slot. */
34701
+ "loading-text"?: (HelixSpatialTreemap["loadingText"]) | undefined;
34702
+ /** The words shown in place of the drawing while `loading` is set and
34703
+ there are no readings yet, and the fallback of the `loading` slot. */
34704
+ loadingText?: (HelixSpatialTreemap["loadingText"]) | undefined;
34705
+ /** The id of the table to read.
34706
+
34707
+ Names a table in the same tree, so a chart inside another component's
34708
+ shadow root reads a table in that root rather than one in the document. A
34709
+ `<table>` or anything built from grid roles, including `helix-table`.
34710
+
34711
+ **In React this arrives as a property and not as an attribute**, the way
34712
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
34713
+ for?: (HelixSpatialTreemap["for"]) | undefined;
34714
+ /** The chart's name, which starts the chart's text summary.
34715
+
34716
+ Absent falls back to the table's own caption, which is usually the right
34717
+ words and is already written. */
34718
+ label?: (HelixSpatialTreemap["label"]) | undefined;
34719
+ /** The locale the chart's own numbers are written in: its axis, its
34720
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
34721
+
34722
+ Absent reads the nearest `lang`, then the runtime's own. The table's
34723
+ cells are shown as the table writes them, whatever this says. */
34724
+ locale?: (HelixSpatialTreemap["locale"]) | undefined;
34725
+ /** Where a reading the keys moved to stands among the readings, said after
34726
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34727
+ `locale`.
34728
+
34729
+ Set it to the words of the page's language, such as `{position} von
34730
+ {count}`, or to nothing to say no position. A slice or a series a
34731
+ legend hid is not counted. */
34732
+ "position-label"?: (HelixSpatialTreemap["positionLabel"]) | undefined;
34733
+ /** Where a reading the keys moved to stands among the readings, said after
34734
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34735
+ `locale`.
34736
+
34737
+ Set it to the words of the page's language, such as `{position} von
34738
+ {count}`, or to nothing to say no position. A slice or a series a
34739
+ legend hid is not counted. */
34740
+ positionLabel?: (HelixSpatialTreemap["positionLabel"]) | undefined;
34741
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
34742
+ "group-by"?: (HelixSpatialTreemap["groupBy"]) | undefined;
34743
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
34744
+ groupBy?: (HelixSpatialTreemap["groupBy"]) | undefined;
34745
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34746
+ alone and fill the plot, as a picture on a product's own page does. The
34747
+ table, the summary, the tooltip, and the keys still carry every value,
34748
+ and a renderer draws no box either. */
34749
+ "no-box"?: (HelixSpatialTreemap["noBox"]) | undefined;
34750
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34751
+ alone and fill the plot, as a picture on a product's own page does. The
34752
+ table, the summary, the tooltip, and the keys still carry every value,
34753
+ and a renderer draws no box either. */
34754
+ noBox?: (HelixSpatialTreemap["noBox"]) | undefined;
34755
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34756
+ "plot-label"?: (HelixSpatialTreemap["plotLabel"]) | undefined;
34757
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34758
+ plotLabel?: (HelixSpatialTreemap["plotLabel"]) | undefined;
34759
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
34760
+ of items and groups, written in the locale, and `{low}` and `{high}` the
34761
+ smallest and the largest size. */
34762
+ "summary-label"?: (HelixSpatialTreemap["summaryLabel"]) | undefined;
34763
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
34764
+ of items and groups, written in the locale, and `{low}` and `{high}` the
34765
+ smallest and the largest size. */
34766
+ summaryLabel?: (HelixSpatialTreemap["summaryLabel"]) | undefined;
34767
+ /** The readings as data, in the shape of a table, where the page has no
34768
+ table to point `for` at. `for` wins where both are set.
34769
+
34770
+ ```js
34771
+ chart.data = {
34772
+ caption: 'Sessions by channel',
34773
+ columns: ['Month', 'Direct', 'Referral'],
34774
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
34775
+ }
34776
+ ```
34777
+
34778
+ The first column holds each row's label and every column after it a
34779
+ series, as in a table. A cell is a number, words, `null` for a blank,
34780
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
34781
+ number is shown in `locale`.
34782
+
34783
+ **A table is still the better source where the page can show one**:
34784
+ it reads with no script and before hydration, and a reader can sort and
34785
+ copy it. Data is drawn on the client only, so a server serves the
34786
+ frame, and the summary, the keys and the readout are then the whole of
34787
+ what a screen reader is given. Set a new object to redraw: the chart
34788
+ does not look inside the one it has. */
34789
+ data?: (HelixSpatialTreemap["data"]) | undefined;
34790
+
34791
+ /** The blocks or the block the keys rest on changed, which the renderer is told. It stays on the chart. */
34792
+ "onhelix-plot-change"?: ((
34793
+ e: HelixSpatialTreemapHelixPlotChangeElementEvent,
34794
+ ) => void) | undefined;
34795
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
34796
+ "onhelix-plot-turn"?: ((
34797
+ e: HelixSpatialTreemapHelixPlotTurnElementEvent,
34798
+ ) => void) | undefined;
34799
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
34800
+ "onhelix-reading-change"?: ((
34801
+ e: HelixSpatialTreemapHelixReadingChangeElementEvent,
34802
+ ) => void) | undefined;
34803
+ /** A block was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
34804
+ "onhelix-reading-press"?: ((
34805
+ e: HelixSpatialTreemapHelixReadingPressElementEvent,
34806
+ ) => void) | undefined;
34807
+ };
34808
+
34809
+ export type HelixSpatialTreemapSolidJsProps = {
34810
+ /** How strongly the blocks are drawn, as on every chart.
34811
+
34812
+ `outlined` is a block as its edges in its group's color over faces faded
34813
+ toward the page, and `subtle` the same edges over a faint wash, which
34814
+ shows the blocks behind it. Absent is the filled block, per the rule that a
34815
+ reflected property takes no default, and `solid` writes it out. A
34816
+ renderer draws the blocks the same way.
34817
+
34818
+ It composes with `material`: emphasis decides what is drawn, and material
34819
+ how much of it comes through. The outline on the block the keys rest on
34820
+ keeps its own ink. */
34821
+ "prop:emphasis"?: (HelixSpatialTreemap["emphasis"]) | undefined;
34822
+ /** How much of each mark comes through, as on every chart: `glass` admits the
34823
+ most of what is behind it, `frosted` less, and absent is opaque. The
34824
+ strength is the theme's, scaled by `--helix-material-opacity`. */
34825
+ "prop:material"?: (HelixSpatialTreemap["material"]) | undefined;
34826
+ /** The words shown in place of the drawing when the table has no readings,
34827
+ and the fallback of the `empty` slot. */
34828
+ "attr:empty-text"?: (HelixSpatialTreemap["emptyText"]) | undefined;
34829
+ /** The words shown in place of the drawing when the table has no readings,
34830
+ and the fallback of the `empty` slot. */
34831
+ "prop:emptyText"?: (HelixSpatialTreemap["emptyText"]) | undefined;
34832
+ /** Whether the readings are still on their way. The chart shows
34833
+ `loading-text` in place of an empty drawing until it has readings.
34834
+
34835
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
34836
+ that already has readings keeps drawing them, so a refresh does not
34837
+ blank it. */
34838
+ "prop:loading"?: (HelixSpatialTreemap["loading"]) | undefined;
34839
+ /** The words shown in place of the drawing while `loading` is set and
34840
+ there are no readings yet, and the fallback of the `loading` slot. */
34841
+ "attr:loading-text"?: (HelixSpatialTreemap["loadingText"]) | undefined;
34842
+ /** The words shown in place of the drawing while `loading` is set and
34843
+ there are no readings yet, and the fallback of the `loading` slot. */
34844
+ "prop:loadingText"?: (HelixSpatialTreemap["loadingText"]) | undefined;
34845
+ /** The id of the table to read.
34846
+
34847
+ Names a table in the same tree, so a chart inside another component's
34848
+ shadow root reads a table in that root rather than one in the document. A
34849
+ `<table>` or anything built from grid roles, including `helix-table`.
34850
+
34851
+ **In React this arrives as a property and not as an attribute**, the way
34852
+ `Tooltip.for` does, so it does not reflect and nothing styles on it. */
34853
+ "prop:for"?: (HelixSpatialTreemap["for"]) | undefined;
34854
+ /** The chart's name, which starts the chart's text summary.
34855
+
34856
+ Absent falls back to the table's own caption, which is usually the right
34857
+ words and is already written. */
34858
+ "prop:label"?: (HelixSpatialTreemap["label"]) | undefined;
34859
+ /** The locale the chart's own numbers are written in: its axis, its
34860
+ percentages and its totals, such as `de` for `1.240` and `32 %`.
34861
+
34862
+ Absent reads the nearest `lang`, then the runtime's own. The table's
34863
+ cells are shown as the table writes them, whatever this says. */
34864
+ "prop:locale"?: (HelixSpatialTreemap["locale"]) | undefined;
34865
+ /** Where a reading the keys moved to stands among the readings, said after
34866
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34867
+ `locale`.
34868
+
34869
+ Set it to the words of the page's language, such as `{position} von
34870
+ {count}`, or to nothing to say no position. A slice or a series a
34871
+ legend hid is not counted. */
34872
+ "attr:position-label"?: (HelixSpatialTreemap["positionLabel"]) | undefined;
34873
+ /** Where a reading the keys moved to stands among the readings, said after
34874
+ it. `{position}` and `{count}` are replaced with the numbers, written in
34875
+ `locale`.
34876
+
34877
+ Set it to the words of the page's language, such as `{position} von
34878
+ {count}`, or to nothing to say no position. A slice or a series a
34879
+ legend hid is not counted. */
34880
+ "prop:positionLabel"?: (HelixSpatialTreemap["positionLabel"]) | undefined;
34881
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
34882
+ "attr:group-by"?: (HelixSpatialTreemap["groupBy"]) | undefined;
34883
+ /** The column of text that gathers the rows into groups, by its heading. None by default. */
34884
+ "prop:groupBy"?: (HelixSpatialTreemap["groupBy"]) | undefined;
34885
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34886
+ alone and fill the plot, as a picture on a product's own page does. The
34887
+ table, the summary, the tooltip, and the keys still carry every value,
34888
+ and a renderer draws no box either. */
34889
+ "bool:no-box"?: (HelixSpatialTreemap["noBox"]) | undefined;
34890
+ /** Draws no box: no edges, grid, numbers, or names, so the readings stand
34891
+ alone and fill the plot, as a picture on a product's own page does. The
34892
+ table, the summary, the tooltip, and the keys still carry every value,
34893
+ and a renderer draws no box either. */
34894
+ "prop:noBox"?: (HelixSpatialTreemap["noBox"]) | undefined;
34895
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34896
+ "attr:plot-label"?: (HelixSpatialTreemap["plotLabel"]) | undefined;
34897
+ /** The plot's name where the chart has none: no `aria-label`, `label`, or table caption. */
34898
+ "prop:plotLabel"?: (HelixSpatialTreemap["plotLabel"]) | undefined;
34899
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
34900
+ of items and groups, written in the locale, and `{low}` and `{high}` the
34901
+ smallest and the largest size. */
34902
+ "attr:summary-label"?: (HelixSpatialTreemap["summaryLabel"]) | undefined;
34903
+ /** The `summary` part's sentence. `{count}` and `{groups}` are the number
34904
+ of items and groups, written in the locale, and `{low}` and `{high}` the
34905
+ smallest and the largest size. */
34906
+ "prop:summaryLabel"?: (HelixSpatialTreemap["summaryLabel"]) | undefined;
34907
+ /** The readings as data, in the shape of a table, where the page has no
34908
+ table to point `for` at. `for` wins where both are set.
34909
+
34910
+ ```js
34911
+ chart.data = {
34912
+ caption: 'Sessions by channel',
34913
+ columns: ['Month', 'Direct', 'Referral'],
34914
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
34915
+ }
34916
+ ```
34917
+
34918
+ The first column holds each row's label and every column after it a
34919
+ series, as in a table. A cell is a number, words, `null` for a blank,
34920
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
34921
+ number is shown in `locale`.
34922
+
34923
+ **A table is still the better source where the page can show one**:
34924
+ it reads with no script and before hydration, and a reader can sort and
34925
+ copy it. Data is drawn on the client only, so a server serves the
34926
+ frame, and the summary, the keys and the readout are then the whole of
34927
+ what a screen reader is given. Set a new object to redraw: the chart
34928
+ does not look inside the one it has. */
34929
+ "prop:data"?: (HelixSpatialTreemap["data"]) | undefined;
34930
+ /** The blocks or the block the keys rest on changed, which the renderer is told. It stays on the chart. */
34931
+ "on:helix-plot-change"?: ((
34932
+ e: HelixSpatialTreemapHelixPlotChangeElementEvent,
34933
+ ) => void) | undefined;
34934
+ /** Shift with an arrow asked the view to turn, by a step across or up. */
34935
+ "on:helix-plot-turn"?: ((
34936
+ e: HelixSpatialTreemapHelixPlotTurnElementEvent,
34937
+ ) => void) | undefined;
34938
+ /** The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
34939
+ "on:helix-reading-change"?: ((
34940
+ e: HelixSpatialTreemapHelixReadingChangeElementEvent,
34941
+ ) => void) | undefined;
34942
+ /** A block was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
34943
+ "on:helix-reading-press"?: ((
34944
+ e: HelixSpatialTreemapHelixReadingPressElementEvent,
34945
+ ) => void) | undefined;
34946
+
34947
+ /** Set the innerHTML of the element */
34948
+ innerHTML?: (string) | undefined;
34949
+ /** Set the textContent of the element */
34950
+ textContent?: (string | number) | undefined;
34951
+ };
34952
+
33787
34953
  export type HelixSpeedDialGroupProps = {
33788
34954
  /** The group's name, drawn above its actions and read by screen readers. */
33789
34955
  label?: (HelixSpeedDialGroup["label"]) | undefined;
@@ -42079,7 +43245,13 @@ it is muted.
42079
43245
  Forwarded to the video, which decides. Whether an unprompted play is
42080
43246
  permitted is the browser's policy, and what follows a refused autoplay is a
42081
43247
  paused player showing its start control, which is the correct thing to be
42082
- looking at. */
43248
+ looking at.
43249
+
43250
+ **Not where the reader asked for less motion**, or while the page has
43251
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the player
43252
+ waits on its start control. A page that pauses its motion pauses a video
43253
+ that started itself, and one that lets it run again plays it again. A
43254
+ video the reader started is theirs, and neither touches it. */
42083
43255
  autoplay?: (HelixVideo["autoplay"]) | undefined;
42084
43256
  /** What the live region says when `c` turns captions off. */
42085
43257
  "captions-hidden-label"?: (HelixVideo["captionsHiddenLabel"]) | undefined;
@@ -42576,7 +43748,13 @@ it is muted.
42576
43748
  Forwarded to the video, which decides. Whether an unprompted play is
42577
43749
  permitted is the browser's policy, and what follows a refused autoplay is a
42578
43750
  paused player showing its start control, which is the correct thing to be
42579
- looking at. */
43751
+ looking at.
43752
+
43753
+ **Not where the reader asked for less motion**, or while the page has
43754
+ paused its motion, through `pauseMotion` or `Motion Toggle`: the player
43755
+ waits on its start control. A page that pauses its motion pauses a video
43756
+ that started itself, and one that lets it run again plays it again. A
43757
+ video the reader started is theirs, and neither touches it. */
42580
43758
  "prop:autoplay"?: (HelixVideo["autoplay"]) | undefined;
42581
43759
  /** What the live region says when `c` turns captions off. */
42582
43760
  "attr:captions-hidden-label"?: (HelixVideo["captionsHiddenLabel"]) | undefined;
@@ -47171,6 +48349,12 @@ export type CustomElements = {
47171
48349
  * arrived at by two defaults rather than by a rule about the pair, so moving
47172
48350
  * one leaves the other alone.
47173
48351
  * - `autoplay`: Whether the carousel advances on its own.
48352
+ *
48353
+ * **Not where the reader asked for less motion**, or where the page has
48354
+ * paused its motion, through `pauseMotion` or `Motion Toggle`: the carousel
48355
+ * starts still, and its rotation control starts it. A page that pauses its
48356
+ * motion later stops the rotation, and one that lets it run again starts it
48357
+ * again, unless the reader stopped it.
47174
48358
  * - `controls`: Whether the previous and next controls are shown.
47175
48359
  *
47176
48360
  * `auto`, which is the resting behavior and what an absent attribute means,
@@ -54636,6 +55820,9 @@ export type CustomElements = {
54636
55820
  * - `selection-label`/`selectionLabel`: What screen readers hear after a reader selects a note, in the list or in
54637
55821
  * the drawing, with `{note}` for its name and `{count}` for how many notes
54638
55822
  * the list then holds, written with `count-label`.
55823
+ * - `settling-label`/`settlingLabel`: What the `settling` part says while a layout runs unseen, where the reader
55824
+ * asked for less motion or the page paused its motion.
55825
+ * - `stop-layout-label`/`stopLayoutLabel`: What the button that stops a long layout says.
54639
55826
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
54640
55827
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
54641
55828
  * - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
@@ -54737,6 +55924,15 @@ export type CustomElements = {
54737
55924
  * `helix-graph-layout` for the page to keep. Called by `connectGraph` once
54738
55925
  * its layout has settled; a page laying out its own graph calls it the same
54739
55926
  * way.
55927
+ * - `settling(stop?: () => void, unseen = false) => void`: Says a layout is running, with what ends it where the notes stand, or
55928
+ * with nothing, that it has ended. Called by `connectGraph`.
55929
+ *
55930
+ * **A layout that runs past five seconds offers a button that stops it**,
55931
+ * the `stop-layout` part, as WCAG 2.2.2 asks of motion that starts by itself
55932
+ * and runs that long. **`unseen` hides the drawing while the notes move**,
55933
+ * which the connector asks for where the reader asked for less motion or
55934
+ * the page paused its motion: the `settling` part says the notes are being
55935
+ * placed, and the drawing shows them where they settle.
54740
55936
  * - `signal(from: string, to: string, options: { tone?: GraphSignalDetail['tone'] } = {}) => void`: Shows something passing from one note to another, such as a message, a
54741
55937
  * request or a payment, drawn traveling along the drawing and arriving with
54742
55938
  * a pulse. `tone` says what it means and colors it. Call it as often as
@@ -54812,7 +56008,9 @@ export type CustomElements = {
54812
56008
  * - `region`: The frame: the drawing, its controls and the list.
54813
56009
  * - `search`: The bar holding the icon, the search field and the count.
54814
56010
  * - `search-field`: The field that finds a note by its name.
56011
+ * - `settling`: What is said while a layout runs unseen, where the reader asked for less motion or the page paused its motion, over the hidden drawing.
54815
56012
  * - `stage`: The drawing and its controls.
56013
+ * - `stop-layout`: The button that stops a layout that has run past five seconds, where the notes stand.
54816
56014
  * - `viewport`: The box the renderer draws in.
54817
56015
  * - `zoom-in`: The zoom in button.
54818
56016
  * - `zoom-out`: The zoom out button.
@@ -54830,6 +56028,8 @@ export type CustomElements = {
54830
56028
  * - `ready`: The graph has been drawn whole, after `helix-graph-ready`.
54831
56029
  * - `searching`: The search field holds words, and the list holds only the notes they find.
54832
56030
  * - `selected`: A note is selected, in the list or in the drawing.
56031
+ * - `settling`: A layout is running.
56032
+ * - `settling-unseen`: A layout is running with the drawing hidden, where the reader asked for less motion or the page paused its motion.
54833
56033
  * - `sharing`: The page keeps the plain wheel and one finger, with `gestures="cooperative"` or while a graph with `gestures="activate"` waits to be pressed.
54834
56034
  * - `using`: A graph with `gestures="activate"` has been pressed and has the gestures.
54835
56035
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -54961,6 +56161,19 @@ export type CustomElements = {
54961
56161
  *
54962
56162
  * Component attributes and properties that can be applied to the element or by using JavaScript.
54963
56163
  *
56164
+ * - `emphasis`: How strongly the cells are drawn, as on every chart.
56165
+ *
56166
+ * `outlined` is a cell as its edge in its tone over a fill faded toward the
56167
+ * page, and `subtle` a faint wash of the tone under the same edge. Absent is
56168
+ * the filled cell, per the rule that a reflected property takes no default,
56169
+ * and `solid` writes it out.
56170
+ *
56171
+ * It composes with `material`: emphasis decides what is drawn, and material
56172
+ * how much of it comes through. The ring on the cell the keys rest on keeps
56173
+ * its own ink.
56174
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
56175
+ * most of what is behind it, `frosted` less, and absent is opaque. The
56176
+ * strength is the theme's, scaled by `--helix-material-opacity`.
54964
56177
  * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
54965
56178
  * and the fallback of the `empty` slot.
54966
56179
  * - `loading`: Whether the readings are still on their way. The chart shows
@@ -59897,6 +61110,74 @@ export type CustomElements = {
59897
61110
  */
59898
61111
  "helix-meter": Partial<HelixMeterProps & BaseProps<HelixMeter> & BaseEvents<HelixMeter>>;
59899
61112
 
61113
+ /**
61114
+ * A quiet square button, as the controls over a map are, with the pause icon
61115
+ * while motion runs and the play icon while it is paused. Text slotted into
61116
+ * it stands beside the icon.
61117
+ *
61118
+ * ## Attributes & Properties
61119
+ *
61120
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
61121
+ *
61122
+ * - `label`: The button's name, which stays the same whichever way it stands.
61123
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
61124
+ *
61125
+ * **Named `whenSettled` because `settled` is taken four times over**, by
61126
+ * Image, Splitter and both color controls, none of them about transitions. A
61127
+ * base class takes the name every subclass then cannot use.
61128
+ *
61129
+ * **The state it reports cannot be watched, which is why this exists.** A
61130
+ * custom state is deliberately not in the DOM, so there is no
61131
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
61132
+ * instead.
61133
+ *
61134
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
61135
+ * the suppression is still active in. That is the distinction `readyToMove`
61136
+ * in `@fusion.dev/helix-testing` is written around.
61137
+ *
61138
+ * It never resolves where `requestAnimationFrame` never fires, which is a
61139
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
61140
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
61141
+ * browser harness's awaits it alone: a browser always runs the frame, and a
61142
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
61143
+ *
61144
+ * ## Events
61145
+ *
61146
+ * Events that will be emitted by the component.
61147
+ *
61148
+ * - `change`: Fired after a press pauses the page's motion or lets it run.
61149
+ *
61150
+ * ## Slots
61151
+ *
61152
+ * Areas where markup can be added to the component.
61153
+ *
61154
+ * - `(default)`: The button's text, where it shows more than its icon. Defaults to nothing, the icon alone, named by `label`.
61155
+ * - `icon`: Replaces the icon, which is pause while motion runs and play while it is paused.
61156
+ *
61157
+ * ## CSS Custom Properties
61158
+ *
61159
+ * CSS variables available for styling the component.
61160
+ *
61161
+ * - `--motion-toggle-background-color`: The button's fill. Defaults to the floating overlay surface.
61162
+ *
61163
+ * ## CSS Parts
61164
+ *
61165
+ * Custom selectors for styling elements within the component.
61166
+ *
61167
+ * - `button`: The toggle button, with `aria-pressed` while the page's motion is paused.
61168
+ * - `icon`: The icon inside the button.
61169
+ *
61170
+ * ## CSS States
61171
+ *
61172
+ * These can be used to apply styling when a component is in a given state.
61173
+ *
61174
+ * - `paused`: The page's motion is paused.
61175
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
61176
+ */
61177
+ "helix-motion-toggle": Partial<
61178
+ HelixMotionToggleProps & BaseProps<HelixMotionToggle> & BaseEvents<HelixMotionToggle>
61179
+ >;
61180
+
59900
61181
  /**
59901
61182
  * One marker moves to the current destination. A moving marker is easier to
59902
61183
  * follow than a background that switches from one item to another, and the
@@ -66145,6 +67426,260 @@ export type CustomElements = {
66145
67426
  HelixSparklineProps & BaseProps<HelixSparkline> & BaseEvents<HelixSparkline>
66146
67427
  >;
66147
67428
 
67429
+ /**
67430
+ * Each series takes a series color from the theme, as every chart's series
67431
+ * does, and each face of a bar is that color darkened by how far it turns
67432
+ * from the light. The chart draws the bars in 3D in SVG, and
67433
+ * `@fusion.dev/helix-plot` can draw them with three.js.
67434
+ *
67435
+ * ## Attributes & Properties
67436
+ *
67437
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
67438
+ *
67439
+ * - `emphasis`: How strongly the bars are drawn, as on every chart.
67440
+ *
67441
+ * `outlined` is a bar as its edges in its series' color over faces faded
67442
+ * toward the page, and `subtle` the same edges over a faint wash, which
67443
+ * shows the bars behind it. Absent is the filled bar, per the rule that a
67444
+ * reflected property takes no default, and `solid` writes it out. A
67445
+ * renderer draws the bars the same way.
67446
+ *
67447
+ * It composes with `material`: emphasis decides what is drawn, and material
67448
+ * how much of it comes through. The outline on the bar the keys rest on
67449
+ * keeps its own ink.
67450
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
67451
+ * most of what is behind it, `frosted` less, and absent is opaque. The
67452
+ * strength is the theme's, scaled by `--helix-material-opacity`.
67453
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
67454
+ * and the fallback of the `empty` slot.
67455
+ * - `loading`: Whether the readings are still on their way. The chart shows
67456
+ * `loading-text` in place of an empty drawing until it has readings.
67457
+ *
67458
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
67459
+ * that already has readings keeps drawing them, so a refresh does not
67460
+ * blank it.
67461
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
67462
+ * there are no readings yet, and the fallback of the `loading` slot.
67463
+ * - `for`: The id of the table to read.
67464
+ *
67465
+ * Names a table in the same tree, so a chart inside another component's
67466
+ * shadow root reads a table in that root rather than one in the document. A
67467
+ * `<table>` or anything built from grid roles, including `helix-table`.
67468
+ *
67469
+ * **In React this arrives as a property and not as an attribute**, the way
67470
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
67471
+ * - `label`: The chart's name, which starts the chart's text summary.
67472
+ *
67473
+ * Absent falls back to the table's own caption, which is usually the right
67474
+ * words and is already written.
67475
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
67476
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
67477
+ *
67478
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
67479
+ * cells are shown as the table writes them, whatever this says.
67480
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
67481
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
67482
+ * `locale`.
67483
+ *
67484
+ * Set it to the words of the page's language, such as `{position} von
67485
+ * {count}`, or to nothing to say no position. A slice or a series a
67486
+ * legend hid is not counted.
67487
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
67488
+ * alone and fill the plot, as a picture on a product's own page does. The
67489
+ * table, the summary, the tooltip, and the keys still carry every value,
67490
+ * and a renderer draws no box either.
67491
+ * - `open-label`/`openLabel`: What the readout says for a place with no value. `{category}` and
67492
+ * `{series}` name the place.
67493
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
67494
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
67495
+ * are the number of bars, series, and categories, written in the locale,
67496
+ * and `{low}` and `{high}` the lowest and the highest value.
67497
+ * - `data`: The readings as data, in the shape of a table, where the page has no
67498
+ * table to point `for` at. `for` wins where both are set.
67499
+ *
67500
+ * ```js
67501
+ * chart.data = {
67502
+ * caption: 'Sessions by channel',
67503
+ * columns: ['Month', 'Direct', 'Referral'],
67504
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
67505
+ * }
67506
+ * ```
67507
+ *
67508
+ * The first column holds each row's label and every column after it a
67509
+ * series, as in a table. A cell is a number, words, `null` for a blank,
67510
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
67511
+ * number is shown in `locale`.
67512
+ *
67513
+ * **A table is still the better source where the page can show one**:
67514
+ * it reads with no script and before hydration, and a reader can sort and
67515
+ * copy it. Data is drawn on the client only, so a server serves the
67516
+ * frame, and the summary, the keys and the readout are then the whole of
67517
+ * what a screen reader is given. Set a new object to redraw: the chart
67518
+ * does not look inside the one it has. (property only)
67519
+ * - `series`: The table's columns, one series each. Empty when there is no table.
67520
+ *
67521
+ * Held by the controller between edits, so a render reading this five
67522
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
67523
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
67524
+ * then the table's caption.
67525
+ *
67526
+ * The fallback is the reason this is shared rather than copied: a caption is
67527
+ * already written, already the right words, and already the thing a reader
67528
+ * of the table sees. A chart that made the consumer say it twice would be
67529
+ * asking for the second one to drift.
67530
+ *
67531
+ * **An `aria-label` on the chart comes first**, because it is how a page
67532
+ * names an element, and the chart is a generic around its plot: written
67533
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
67534
+ * strip always did. (property only) (readonly)
67535
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
67536
+ *
67537
+ * The same test `readSeries` applies when it drops a column of notes: a
67538
+ * column is a series where any row parses, so a series survives one blank
67539
+ * cell and a column of words is never one. (property only) (readonly)
67540
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
67541
+ * - `field`: The table read as bars. **Each row is a category, and each numeric
67542
+ * column a series.** A renderer reads it. (property only) (readonly)
67543
+ * - `active`: The bar the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
67544
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
67545
+ *
67546
+ * **Named `whenSettled` because `settled` is taken four times over**, by
67547
+ * Image, Splitter and both color controls, none of them about transitions. A
67548
+ * base class takes the name every subclass then cannot use.
67549
+ *
67550
+ * **The state it reports cannot be watched, which is why this exists.** A
67551
+ * custom state is deliberately not in the DOM, so there is no
67552
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
67553
+ * instead.
67554
+ *
67555
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
67556
+ * the suppression is still active in. That is the distinction `readyToMove`
67557
+ * in `@fusion.dev/helix-testing` is written around.
67558
+ *
67559
+ * It never resolves where `requestAnimationFrame` never fires, which is a
67560
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
67561
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
67562
+ * browser harness's awaits it alone: a browser always runs the frame, and a
67563
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
67564
+ *
67565
+ * ## Events
67566
+ *
67567
+ * Events that will be emitted by the component.
67568
+ *
67569
+ * - `helix-plot-change`: The bars or the bar the keys rest on changed, which the renderer is told. It stays on the chart.
67570
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
67571
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
67572
+ * - `helix-reading-press`: A bar was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
67573
+ *
67574
+ * ## Slots
67575
+ *
67576
+ * Areas where markup can be added to the component.
67577
+ *
67578
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
67579
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
67580
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
67581
+ *
67582
+ * ## Methods
67583
+ *
67584
+ * Methods that can be called to access component functionality.
67585
+ *
67586
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
67587
+ *
67588
+ * **A cell's place in its row is not its series' depth, and the tooltip
67589
+ * spent a while assuming it was.** `readSeries` drops a column nothing
67590
+ * parses and `readRows` keeps it, so one column of notes among the figures
67591
+ * moves every column after it one color along in the bubble: a row reading
67592
+ * `Referral 1,080` wearing series three's green beside a legend that says
67593
+ * series three is something else, which is the one failure the dot exists
67594
+ * to prevent.
67595
+ *
67596
+ * Overridden where a chart reads the table some other way. `ScatterChart`
67597
+ * splits the first plotted column off as the measure across, so its first
67598
+ * *plotted* series is this table's second numeric column.
67599
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
67600
+ * reading the same table hid it.
67601
+ *
67602
+ * Asked of the table rather than of a legend, the table being the one
67603
+ * thing the two share: see `SourceController.hide`. A series keeps its
67604
+ * palette slot while it is hidden, so the colors of the others do not move.
67605
+ * For a ring the names are its rows, the slices being the rows.
67606
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
67607
+ * by its column's heading. The keys and the readout pass over one a
67608
+ * legend hid.
67609
+ *
67610
+ * A column's heading is the cell's name in every row, so the first row
67611
+ * answers for the column.
67612
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
67613
+ * column's heading, read from the first row that has a cell there, so a
67614
+ * short first row does not lose the heading. `''` where no row has one.
67615
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the bars, which hides the chart's own
67616
+ * drawing or shows it again. Called by the connector.
67617
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the bar at `index`, or lets it go with `-1`, as a
67618
+ * pointer resting on it in the renderer's drawing or a press there does.
67619
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
67620
+ * reading the keys moved to leaves it. Called by the connector.
67621
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
67622
+ * its top left, or `undefined` while it draws none. The tooltip points
67623
+ * there. Called by the connector.
67624
+ *
67625
+ * ## CSS Custom Properties
67626
+ *
67627
+ * CSS variables available for styling the component.
67628
+ *
67629
+ * - `--spatial-bar-chart-block-size`: How tall the plot is.
67630
+ * - `--spatial-bar-chart-shade`: 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.
67631
+ *
67632
+ * ## CSS Parts
67633
+ *
67634
+ * Custom selectors for styling elements within the component.
67635
+ *
67636
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
67637
+ * - `bar`: One bar, its faces in its series' color.
67638
+ * - `bar-active`: The bar the pointer or the keys rest on. Set alongside `bar`.
67639
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and names, and the bars.
67640
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
67641
+ * - `face`: One face of a bar the view shows, shaded by which way it faces.
67642
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
67643
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
67644
+ * - `live`: The readout: a polite live region that says the bar the keys moved to. Hide it visually.
67645
+ * - `loading`: The words while `loading` is set and there are no readings.
67646
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
67647
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
67648
+ * - `ring`: The outline around the bar the pointer or the keys rest on, painted after it, so the bars in front of it cover it.
67649
+ * - `summary`: The number of bars, series, and categories, and the range of values, written as a sentence for screen readers, which describes the plot. Hide it visually.
67650
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
67651
+ * - `tick`: A category's or a series' name, or a value at a tick, along its edge of the box, in the chart's own drawing.
67652
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
67653
+ * - `tooltip-anchor`: The `Tooltip` element itself.
67654
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
67655
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
67656
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
67657
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
67658
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
67659
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
67660
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
67661
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
67662
+ * - `tooltip-label`: The row's own name inside the tooltip.
67663
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
67664
+ * - `tooltip-name`: A column's name inside the tooltip.
67665
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
67666
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
67667
+ * - `tooltip-value`: A column's value inside the tooltip.
67668
+ *
67669
+ * ## CSS States
67670
+ *
67671
+ * These can be used to apply styling when a component is in a given state.
67672
+ *
67673
+ * - `active`: While a bar is shown, under the pointer or the keys.
67674
+ * - `drawn`: While a renderer has drawn the bars, and the chart's own drawing is hidden.
67675
+ * - `empty`: While the `empty` part stands in place of the readings.
67676
+ * - `loading`: While the `loading` part stands in place of the readings.
67677
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
67678
+ */
67679
+ "helix-spatial-bar-chart": Partial<
67680
+ HelixSpatialBarChartProps & BaseProps<HelixSpatialBarChart> & BaseEvents<HelixSpatialBarChart>
67681
+ >;
67682
+
66148
67683
  /**
66149
67684
  * Each reading is a prism. The top face takes the cell's tone, and the two
66150
67685
  * sides are the same tone, shaded darker, so the whole relief follows your
@@ -66159,6 +67694,20 @@ export type CustomElements = {
66159
67694
  *
66160
67695
  * Component attributes and properties that can be applied to the element or by using JavaScript.
66161
67696
  *
67697
+ * - `emphasis`: How strongly the prisms are drawn, as on every chart.
67698
+ *
67699
+ * `outlined` is a prism as its edges in its tone over faces faded toward the
67700
+ * page, and `subtle` a faint wash of the tone under the same edges, which
67701
+ * shows the prisms behind it. Absent is the filled prism, per the rule that
67702
+ * a reflected property takes no default, and `solid` writes it out. A
67703
+ * renderer draws the prisms the same way.
67704
+ *
67705
+ * It composes with `material`: emphasis decides what is drawn, and material
67706
+ * how much of it comes through. The ring on the prism the keys rest on keeps
67707
+ * its own ink.
67708
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
67709
+ * most of what is behind it, `frosted` less, and absent is opaque. The
67710
+ * strength is the theme's, scaled by `--helix-material-opacity`.
66162
67711
  * - `flat`: Draws every prism at no height, so the tones lie on a plane.
66163
67712
  * - `relief`: How tall the highest reading stands, in cells. Every other reading stands
66164
67713
  * at its share of it.
@@ -66508,14 +68057,29 @@ export type CustomElements = {
66508
68057
  >;
66509
68058
 
66510
68059
  /**
66511
- * The chart draws the points in 3D in SVG, and `@fusion.dev/helix-plot` can
66512
- * draw them with three.js. Each group takes a series color from the theme, as
66513
- * every chart's series does, in both drawings.
68060
+ * Each series takes a series color from the theme, as every chart's series
68061
+ * does, and each face of a ribbon is that color darkened by how far it turns
68062
+ * from the light. The chart draws the ribbons in 3D in SVG, and
68063
+ * `@fusion.dev/helix-plot` can draw them with three.js.
66514
68064
  *
66515
68065
  * ## Attributes & Properties
66516
68066
  *
66517
68067
  * Component attributes and properties that can be applied to the element or by using JavaScript.
66518
68068
  *
68069
+ * - `emphasis`: How strongly the ribbons are drawn, as on every chart.
68070
+ *
68071
+ * `outlined` is a ribbon as its edges in its series' color over faces
68072
+ * faded toward the page, and `subtle` the same edges over a faint wash,
68073
+ * which shows the ribbons behind it. Absent is the filled ribbon, per the
68074
+ * rule that a reflected property takes no default, and `solid` writes it
68075
+ * out. A renderer draws the ribbons the same way.
68076
+ *
68077
+ * It composes with `material`: emphasis decides what is drawn, and material
68078
+ * how much of it comes through. The ring on the reading the keys rest on
68079
+ * keeps its own ink.
68080
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
68081
+ * most of what is behind it, `frosted` less, and absent is opaque. The
68082
+ * strength is the theme's, scaled by `--helix-material-opacity`.
66519
68083
  * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
66520
68084
  * and the fallback of the `empty` slot.
66521
68085
  * - `loading`: Whether the readings are still on their way. The chart shows
@@ -66550,10 +68114,16 @@ export type CustomElements = {
66550
68114
  * Set it to the words of the page's language, such as `{position} von
66551
68115
  * {count}`, or to nothing to say no position. A slice or a series a
66552
68116
  * legend hid is not counted.
66553
- * - `group-by`/`groupBy`: The column of text that puts each point in a group, by its heading. None by default.
68117
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
68118
+ * alone and fill the plot, as a picture on a product's own page does. The
68119
+ * table, the summary, the tooltip, and the keys still carry every value,
68120
+ * and a renderer draws no box either.
68121
+ * - `open-label`/`openLabel`: What the readout says for a reading the table has no value for.
68122
+ * `{place}` and `{series}` name it.
66554
68123
  * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
66555
- * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of points, written
66556
- * in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names.
68124
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
68125
+ * the number of readings, series, and places, written in the locale,
68126
+ * and `{low}` and `{high}` the lowest and the highest value.
66557
68127
  * - `data`: The readings as data, in the shape of a table, where the page has no
66558
68128
  * table to point `for` at. `for` wins where both are set.
66559
68129
  *
@@ -66598,10 +68168,9 @@ export type CustomElements = {
66598
68168
  * column is a series where any row parses, so a series survives one blank
66599
68169
  * cell and a column of words is never one. (property only) (readonly)
66600
68170
  * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
66601
- * - `field`: The table read as points, axes, and groups. **The first three numeric
66602
- * columns are across, up, and in depth**, and a row lacking any of them is
66603
- * left out. A renderer reads it. (property only) (readonly)
66604
- * - `active`: The point the keys or the pointer rest on, as its place in `field.points`, or `-1`. (property only) (readonly)
68171
+ * - `field`: The table read as ribbons. **Each row is a place across, and each
68172
+ * numeric column a series.** A renderer reads it. (property only) (readonly)
68173
+ * - `active`: The reading the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
66605
68174
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
66606
68175
  *
66607
68176
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -66627,18 +68196,18 @@ export type CustomElements = {
66627
68196
  *
66628
68197
  * Events that will be emitted by the component.
66629
68198
  *
66630
- * - `helix-plot-change`: The points or the point the keys rest on changed, which the renderer is told. It stays on the chart.
68199
+ * - `helix-plot-change`: The readings or the reading the keys rest on changed, which the renderer is told. It stays on the chart.
66631
68200
  * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
66632
68201
  * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
66633
- * - `helix-reading-press`: A point was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
68202
+ * - `helix-reading-press`: A reading was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
66634
68203
  *
66635
68204
  * ## Slots
66636
68205
  *
66637
68206
  * Areas where markup can be added to the component.
66638
68207
  *
66639
68208
  * - `(default)`: The renderer's box, which the 3D drawing is made in.
66640
- * - `empty`: Content shown when the table has no points. Falls back to `empty-text`.
66641
- * - `loading`: Content shown while `loading` is set and there are no points yet. Falls back to `loading-text`.
68209
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
68210
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
66642
68211
  *
66643
68212
  * ## Methods
66644
68213
  *
@@ -66673,9 +68242,9 @@ export type CustomElements = {
66673
68242
  * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
66674
68243
  * column's heading, read from the first row that has a cell there, so a
66675
68244
  * short first row does not lose the heading. `''` where no row has one.
66676
- * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the points, which hides the chart's
66677
- * own drawing or shows it again. Called by the connector.
66678
- * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the point at `index`, or lets it go with `-1`, as a
68245
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the ribbons, which hides the chart's own
68246
+ * drawing or shows it again. Called by the connector.
68247
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the one at `index`, or lets it go with `-1`, as a
66679
68248
  * pointer resting on it in the renderer's drawing or a press there does.
66680
68249
  * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
66681
68250
  * reading the keys moved to leaves it. Called by the connector.
@@ -66687,27 +68256,28 @@ export type CustomElements = {
66687
68256
  *
66688
68257
  * CSS variables available for styling the component.
66689
68258
  *
66690
- * - `--spatial-scatter-chart-block-size`: How tall the plot is.
68259
+ * - `--spatial-ribbon-chart-block-size`: How tall the plot is.
68260
+ * - `--spatial-ribbon-chart-shade`: 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.
66691
68261
  *
66692
68262
  * ## CSS Parts
66693
68263
  *
66694
68264
  * Custom selectors for styling elements within the component.
66695
68265
  *
66696
68266
  * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
66697
- * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the points.
66698
- * - `empty`: The words when the table has no points: the `empty` slot, falling back to `empty-text`.
68267
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and names, and the ribbons.
68268
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
68269
+ * - `face`: One face of a ribbon the view shows: a piece of its top, an end, or its side, shaded by how far it turns from the light.
66699
68270
  * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
66700
- * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
66701
- * - `live`: The readout: a polite live region that says the point the keys moved to. Hide it visually.
66702
- * - `loading`: The words while `loading` is set and there are no points.
68271
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
68272
+ * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
68273
+ * - `loading`: The words while `loading` is set and there are no readings.
66703
68274
  * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
66704
68275
  * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
66705
- * - `point`: One point of the chart's own drawing.
66706
- * - `point-active`: The point the pointer or the keys rest on, in the chart's own drawing. Set alongside `point`.
66707
- * - `ring`: The ring around the point the pointer or the keys rest on, drawn over every point.
66708
- * - `summary`: The three measures and the number of points, written as a sentence for screen readers, which describes the plot. Hide it visually.
68276
+ * - `ribbon`: One ribbon, its faces in its series' color.
68277
+ * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the ribbons.
68278
+ * - `summary`: The number of readings, series, and places, and the range of values, written as a sentence for screen readers, which describes the plot. Hide it visually.
66709
68279
  * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
66710
- * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
68280
+ * - `tick`: A place's or a series' name, or a value at a tick, along its edge of the box, in the chart's own drawing.
66711
68281
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
66712
68282
  * - `tooltip-anchor`: The `Tooltip` element itself.
66713
68283
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -66729,28 +68299,40 @@ export type CustomElements = {
66729
68299
  *
66730
68300
  * These can be used to apply styling when a component is in a given state.
66731
68301
  *
66732
- * - `active`: While a point is shown, under the pointer or the keys.
66733
- * - `drawn`: While a renderer has drawn the points, and the chart's own drawing is hidden.
66734
- * - `empty`: While the `empty` part stands in place of the points.
66735
- * - `loading`: While the `loading` part stands in place of the points.
68302
+ * - `active`: While a reading is shown, under the pointer or the keys.
68303
+ * - `drawn`: While a renderer has drawn the ribbons, and the chart's own drawing is hidden.
68304
+ * - `empty`: While the `empty` part stands in place of the readings.
68305
+ * - `loading`: While the `loading` part stands in place of the readings.
66736
68306
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
66737
68307
  */
66738
- "helix-spatial-scatter-chart": Partial<
66739
- HelixSpatialScatterChartProps &
66740
- BaseProps<HelixSpatialScatterChart> &
66741
- BaseEvents<HelixSpatialScatterChart>
68308
+ "helix-spatial-ribbon-chart": Partial<
68309
+ HelixSpatialRibbonChartProps &
68310
+ BaseProps<HelixSpatialRibbonChart> &
68311
+ BaseEvents<HelixSpatialRibbonChart>
66742
68312
  >;
66743
68313
 
66744
68314
  /**
66745
- * The chart draws the surface in 3D in SVG, and `@fusion.dev/helix-plot` can
66746
- * draw it with three.js. Every height is shaded along one
66747
- * ramp from the theme's primary color, quiet where it is low and strong where
66748
- * it is high, so the two drawings agree.
68315
+ * The chart draws the points in 3D in SVG, and `@fusion.dev/helix-plot` can
68316
+ * draw them with three.js. Each group takes a series color from the theme, as
68317
+ * every chart's series does, in both drawings.
66749
68318
  *
66750
68319
  * ## Attributes & Properties
66751
68320
  *
66752
68321
  * Component attributes and properties that can be applied to the element or by using JavaScript.
66753
68322
  *
68323
+ * - `emphasis`: How strongly the points are drawn, as on every chart.
68324
+ *
68325
+ * `outlined` is a point as a ring in its group's color over a dot faded
68326
+ * toward the page, and `subtle` the same ring over a faint dot. Absent is
68327
+ * the filled dot, per the rule that a reflected property takes no default,
68328
+ * and `solid` writes it out. A renderer draws the points the same way.
68329
+ *
68330
+ * It composes with `material`: emphasis decides what is drawn, and material
68331
+ * how much of it comes through. The ring on the point the keys rest on keeps
68332
+ * its own ink.
68333
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
68334
+ * most of what is behind it, `frosted` less, and absent is opaque. The
68335
+ * strength is the theme's, scaled by `--helix-material-opacity`.
66754
68336
  * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
66755
68337
  * and the fallback of the `empty` slot.
66756
68338
  * - `loading`: Whether the readings are still on their way. The chart shows
@@ -66785,14 +68367,17 @@ export type CustomElements = {
66785
68367
  * Set it to the words of the page's language, such as `{position} von
66786
68368
  * {count}`, or to nothing to say no position. A slice or a series a
66787
68369
  * legend hid is not counted.
66788
- * - `open-label`/`openLabel`: What the readout says for a place with no reading. `{x}` and `{z}` are
66789
- * the place's numbers across and in depth, and `{across}` and `{depth}`
66790
- * the two measures' names.
68370
+ * - `drop-lines`/`dropLines`: Draws a line from each point straight down to the floor of the box, in
68371
+ * its group's color, so where a point stands across and in depth reads off
68372
+ * the floor's grid. A renderer draws them too.
68373
+ * - `group-by`/`groupBy`: The column of text that puts each point in a group, by its heading. None by default.
68374
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
68375
+ * alone and fill the plot, as a picture on a product's own page does. The
68376
+ * table, the summary, the tooltip, and the keys still carry every value,
68377
+ * and a renderer draws no box either.
66791
68378
  * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
66792
- * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of readings,
66793
- * written in the locale, `{x}`, `{z}`, and `{y}` are the measures across,
66794
- * in depth, and up, and `{low}` and `{high}` the lowest and the highest
66795
- * reading.
68379
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of points, written
68380
+ * in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names.
66796
68381
  * - `data`: The readings as data, in the shape of a table, where the page has no
66797
68382
  * table to point `for` at. `for` wins where both are set.
66798
68383
  *
@@ -66837,10 +68422,10 @@ export type CustomElements = {
66837
68422
  * column is a series where any row parses, so a series survives one blank
66838
68423
  * cell and a column of words is never one. (property only) (readonly)
66839
68424
  * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
66840
- * - `field`: The table read as a grid of heights. **The first numeric column is
66841
- * across, the second is in depth, and the third is the height.** A
66842
- * renderer reads it. (property only) (readonly)
66843
- * - `active`: The place the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
68425
+ * - `field`: The table read as points, axes, and groups. **The first three numeric
68426
+ * columns are across, up, and in depth**, and a row lacking any of them is
68427
+ * left out. A renderer reads it. (property only) (readonly)
68428
+ * - `active`: The point the keys or the pointer rest on, as its place in `field.points`, or `-1`. (property only) (readonly)
66844
68429
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
66845
68430
  *
66846
68431
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -66866,18 +68451,18 @@ export type CustomElements = {
66866
68451
  *
66867
68452
  * Events that will be emitted by the component.
66868
68453
  *
66869
- * - `helix-plot-change`: The readings or the place the keys rest on changed, which the renderer is told. It stays on the chart.
68454
+ * - `helix-plot-change`: The points or the point the keys rest on changed, which the renderer is told. It stays on the chart.
66870
68455
  * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
66871
- * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none or a place with no reading, with its `label` and the `pointerType` that moved it.
66872
- * - `helix-reading-press`: A place was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
68456
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
68457
+ * - `helix-reading-press`: A point was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
66873
68458
  *
66874
68459
  * ## Slots
66875
68460
  *
66876
68461
  * Areas where markup can be added to the component.
66877
68462
  *
66878
68463
  * - `(default)`: The renderer's box, which the 3D drawing is made in.
66879
- * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
66880
- * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
68464
+ * - `empty`: Content shown when the table has no points. Falls back to `empty-text`.
68465
+ * - `loading`: Content shown while `loading` is set and there are no points yet. Falls back to `loading-text`.
66881
68466
  *
66882
68467
  * ## Methods
66883
68468
  *
@@ -66912,9 +68497,9 @@ export type CustomElements = {
66912
68497
  * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
66913
68498
  * column's heading, read from the first row that has a cell there, so a
66914
68499
  * short first row does not lose the heading. `''` where no row has one.
66915
- * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the surface, which hides the chart's
68500
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the points, which hides the chart's
66916
68501
  * own drawing or shows it again. Called by the connector.
66917
- * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the place at `index`, or lets it go with `-1`, as a
68502
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the point at `index`, or lets it go with `-1`, as a
66918
68503
  * pointer resting on it in the renderer's drawing or a press there does.
66919
68504
  * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
66920
68505
  * reading the keys moved to leaves it. Called by the connector.
@@ -66926,28 +68511,26 @@ export type CustomElements = {
66926
68511
  *
66927
68512
  * CSS variables available for styling the component.
66928
68513
  *
66929
- * - `--spatial-surface-chart-block-size`: How tall the plot is.
66930
- * - `--spatial-surface-chart-high`: The color of the highest reading, which the renderer reads too.
66931
- * - `--spatial-surface-chart-low`: The color of the lowest reading, which the renderer reads too.
66932
- * - `--spatial-surface-chart-level`: 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.
66933
- * - `--spatial-surface-chart-shade`: 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.
68514
+ * - `--spatial-scatter-chart-block-size`: How tall the plot is.
66934
68515
  *
66935
68516
  * ## CSS Parts
66936
68517
  *
66937
68518
  * Custom selectors for styling elements within the component.
66938
68519
  *
66939
68520
  * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
66940
- * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the surface.
66941
- * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
66942
- * - `face`: One square of the surface between four readings, or a triangle where one is missing, shaded by its height and by which way it faces.
68521
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the points.
68522
+ * - `drop-line`: The line from a point straight down to the floor of the box, drawn under `drop-lines`, in its group's color.
68523
+ * - `empty`: The words when the table has no points: the `empty` slot, falling back to `empty-text`.
66943
68524
  * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
66944
68525
  * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
66945
- * - `live`: The readout: a polite live region that says the place the keys moved to. Hide it visually.
66946
- * - `loading`: The words while `loading` is set and there are no readings.
68526
+ * - `live`: The readout: a polite live region that says the point the keys moved to. Hide it visually.
68527
+ * - `loading`: The words while `loading` is set and there are no points.
66947
68528
  * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
66948
68529
  * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
66949
- * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the surface.
66950
- * - `summary`: The measures, the number of readings, and the range of heights, written as a sentence for screen readers, which describes the plot. Hide it visually.
68530
+ * - `point`: One point of the chart's own drawing.
68531
+ * - `point-active`: The point the pointer or the keys rest on, in the chart's own drawing. Set alongside `point`.
68532
+ * - `ring`: The ring around the point the pointer or the keys rest on, drawn over every point.
68533
+ * - `summary`: The three measures and the number of points, written as a sentence for screen readers, which describes the plot. Hide it visually.
66951
68534
  * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
66952
68535
  * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
66953
68536
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
@@ -66971,106 +68554,624 @@ export type CustomElements = {
66971
68554
  *
66972
68555
  * These can be used to apply styling when a component is in a given state.
66973
68556
  *
66974
- * - `active`: While a place is shown, under the pointer or the keys.
66975
- * - `drawn`: While a renderer has drawn the surface, and the chart's own drawing is hidden.
66976
- * - `empty`: While the `empty` part stands in place of the readings.
66977
- * - `loading`: While the `loading` part stands in place of the readings.
68557
+ * - `active`: While a point is shown, under the pointer or the keys.
68558
+ * - `drawn`: While a renderer has drawn the points, and the chart's own drawing is hidden.
68559
+ * - `empty`: While the `empty` part stands in place of the points.
68560
+ * - `loading`: While the `loading` part stands in place of the points.
66978
68561
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
66979
68562
  */
66980
- "helix-spatial-surface-chart": Partial<
66981
- HelixSpatialSurfaceChartProps &
66982
- BaseProps<HelixSpatialSurfaceChart> &
66983
- BaseEvents<HelixSpatialSurfaceChart>
68563
+ "helix-spatial-scatter-chart": Partial<
68564
+ HelixSpatialScatterChartProps &
68565
+ BaseProps<HelixSpatialScatterChart> &
68566
+ BaseEvents<HelixSpatialScatterChart>
66984
68567
  >;
66985
68568
 
66986
68569
  /**
66987
- * A column of actions with its name above them, in the small muted words a
66988
- * menu heads its sections with, lined up on the side the trigger is on. The
66989
- * space between two groups is the space between two actions.
68570
+ * The chart draws the surface in 3D in SVG, and `@fusion.dev/helix-plot` can
68571
+ * draw it with three.js. Every height is shaded along one
68572
+ * ramp from the theme's primary color, quiet where it is low and strong where
68573
+ * it is high, so the two drawings agree.
66990
68574
  *
66991
68575
  * ## Attributes & Properties
66992
68576
  *
66993
68577
  * Component attributes and properties that can be applied to the element or by using JavaScript.
66994
68578
  *
66995
- * - `label`: The group's name, drawn above its actions and read by screen readers.
66996
- * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
66997
- *
66998
- * **Named `whenSettled` because `settled` is taken four times over**, by
66999
- * Image, Splitter and both color controls, none of them about transitions. A
67000
- * base class takes the name every subclass then cannot use.
67001
- *
67002
- * **The state it reports cannot be watched, which is why this exists.** A
67003
- * custom state is deliberately not in the DOM, so there is no
67004
- * `MutationObserver` equivalent for `ElementInternals.states`. Await this
67005
- * instead.
67006
- *
67007
- * Separate from `updateComplete`, which resolves in the microtask checkpoint
67008
- * the suppression is still active in. That is the distinction `readyToMove`
67009
- * in `@fusion.dev/helix-testing` is written around.
67010
- *
67011
- * It never resolves where `requestAnimationFrame` never fires, which is a
67012
- * server, a hidden tab, and happy-dom. Callers that must not hang there race
67013
- * it against a timeout, as the happy-dom harness's `readyToMove` does. The
67014
- * browser harness's awaits it alone: a browser always runs the frame, and a
67015
- * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
67016
- *
67017
- * ## Slots
67018
- *
67019
- * Areas where markup can be added to the component.
67020
- *
67021
- * - `(default)`: The group's actions.
67022
- * - `label`: The group's name, for content richer than the `label` text.
68579
+ * - `emphasis`: How strongly the surface is drawn, as on every chart.
68580
+ *
68581
+ * `outlined` is a wireframe in the ramp's colors over a surface faded toward
68582
+ * the page, and `subtle` the same wireframe over a faint surface that the
68583
+ * grid behind shows through, so a reading the surface hid from this side can
68584
+ * be seen. Absent is the filled surface, per the rule that a reflected
68585
+ * property takes no default, and `solid` writes it out. A renderer draws the
68586
+ * surface the same way.
68587
+ *
68588
+ * It composes with `material`: emphasis decides what is drawn, and material
68589
+ * how much of it comes through. The ring on the reading the keys rest on
68590
+ * keeps its own ink.
68591
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
68592
+ * most of what is behind it, `frosted` less, and absent is opaque. The
68593
+ * strength is the theme's, scaled by `--helix-material-opacity`.
68594
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
68595
+ * and the fallback of the `empty` slot.
68596
+ * - `loading`: Whether the readings are still on their way. The chart shows
68597
+ * `loading-text` in place of an empty drawing until it has readings.
67023
68598
  *
67024
- * ## CSS Custom Properties
68599
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
68600
+ * that already has readings keeps drawing them, so a refresh does not
68601
+ * blank it.
68602
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
68603
+ * there are no readings yet, and the fallback of the `loading` slot.
68604
+ * - `for`: The id of the table to read.
67025
68605
  *
67026
- * CSS variables available for styling the component.
68606
+ * Names a table in the same tree, so a chart inside another component's
68607
+ * shadow root reads a table in that root rather than one in the document. A
68608
+ * `<table>` or anything built from grid roles, including `helix-table`.
67027
68609
  *
67028
- * - `--speed-dial-group-label-color`: Color of the group's name.
67029
- * - `--speed-dial-group-label-font-size`: Size of the group's name.
68610
+ * **In React this arrives as a property and not as an attribute**, the way
68611
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
68612
+ * - `label`: The chart's name, which starts the chart's text summary.
67030
68613
  *
67031
- * ## CSS Parts
68614
+ * Absent falls back to the table's own caption, which is usually the right
68615
+ * words and is already written.
68616
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
68617
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
67032
68618
  *
67033
- * Custom selectors for styling elements within the component.
68619
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
68620
+ * cells are shown as the table writes them, whatever this says.
68621
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
68622
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
68623
+ * `locale`.
67034
68624
  *
67035
- * - `group`: The set, which carries the `group` role.
67036
- * - `label`: The group's name, drawn above its actions while there is one.
68625
+ * Set it to the words of the page's language, such as `{position} von
68626
+ * {count}`, or to nothing to say no position. A slice or a series a
68627
+ * legend hid is not counted.
68628
+ * - `contours`: Draws the surface's contour lines on it, at each tick of its height, in
68629
+ * the ramp's colors, so its shape reads as on a map and two places at the
68630
+ * same height read as such. A renderer draws them too.
68631
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
68632
+ * alone and fill the plot, as a picture on a product's own page does. The
68633
+ * table, the summary, the tooltip, and the keys still carry every value,
68634
+ * and a renderer draws no box either.
68635
+ * - `open-label`/`openLabel`: What the readout says for a place with no reading. `{x}` and `{z}` are
68636
+ * the place's numbers across and in depth, and `{across}` and `{depth}`
68637
+ * the two measures' names.
68638
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
68639
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of readings,
68640
+ * written in the locale, `{x}`, `{z}`, and `{y}` are the measures across,
68641
+ * in depth, and up, and `{low}` and `{high}` the lowest and the highest
68642
+ * reading.
68643
+ * - `data`: The readings as data, in the shape of a table, where the page has no
68644
+ * table to point `for` at. `for` wins where both are set.
67037
68645
  *
67038
- * ## CSS States
68646
+ * ```js
68647
+ * chart.data = {
68648
+ * caption: 'Sessions by channel',
68649
+ * columns: ['Month', 'Direct', 'Referral'],
68650
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
68651
+ * }
68652
+ * ```
67039
68653
  *
67040
- * These can be used to apply styling when a component is in a given state.
68654
+ * The first column holds each row's label and every column after it a
68655
+ * series, as in a table. A cell is a number, words, `null` for a blank,
68656
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
68657
+ * number is shown in `locale`.
67041
68658
  *
67042
- * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
67043
- */
67044
- "helix-speed-dial-group": Partial<
67045
- HelixSpeedDialGroupProps & BaseProps<HelixSpeedDialGroup> & BaseEvents<HelixSpeedDialGroup>
67046
- >;
67047
-
67048
- /**
67049
- * Presentation only: a round mark the size of a small control, with the name on
67050
- * a chip beside it so it stays readable over whatever the dial floats over. The
67051
- * base class handles its behavior.
68659
+ * **A table is still the better source where the page can show one**:
68660
+ * it reads with no script and before hydration, and a reader can sort and
68661
+ * copy it. Data is drawn on the client only, so a server serves the
68662
+ * frame, and the summary, the keys and the readout are then the whole of
68663
+ * what a screen reader is given. Set a new object to redraw: the chart
68664
+ * does not look inside the one it has. (property only)
68665
+ * - `series`: The table's columns, one series each. Empty when there is no table.
67052
68666
  *
67053
- * ## Attributes & Properties
68667
+ * Held by the controller between edits, so a render reading this five
68668
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
68669
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
68670
+ * then the table's caption.
67054
68671
  *
67055
- * Component attributes and properties that can be applied to the element or by using JavaScript.
68672
+ * The fallback is the reason this is shared rather than copied: a caption is
68673
+ * already written, already the right words, and already the thing a reader
68674
+ * of the table sees. A chart that made the consumer say it twice would be
68675
+ * asking for the second one to drift.
67056
68676
  *
67057
- * - `disabled`: Whether the action is disabled, so it cannot be chosen.
67058
- * - `download`: Whether the link downloads the file when the action is chosen. Only
67059
- * meaningful beside an `href`, and only for a file served from the page's
67060
- * origin.
67061
- * - `href`: The URL the action links to. Setting it draws the action as a link.
67062
- * - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
67063
- * - `shortcut`: The action's keyboard shortcut as a chord, such as `mod+s`, carried as
67064
- * `aria-keyshortcuts` and drawn after the name. `mod` is Command on an Apple
67065
- * keyboard and Control elsewhere. Showing a shortcut does not bind it.
67066
- * - `target`: Where the link opens, such as `_blank` for a new tab.
67067
- * - `value`: The action's value, sent in `helix-select` when the action is chosen.
67068
- * - `active`: Whether the action has focus, which makes it the action the keyboard is on.
68677
+ * **An `aria-label` on the chart comes first**, because it is how a page
68678
+ * names an element, and the chart is a generic around its plot: written
68679
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
68680
+ * strip always did. (property only) (readonly)
68681
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
67069
68682
  *
67070
- * `Option` calls the same thing `active`. The focused node is found through
67071
- * every shadow root, as `Menu.Item` does, so a dial inside another
67072
- * component's shadow root still knows its current action. (property only) (readonly)
67073
- * - `selected`: Whether the action has focus, the same as `active`. (property only) (readonly)
68683
+ * The same test `readSeries` applies when it drops a column of notes: a
68684
+ * column is a series where any row parses, so a series survives one blank
68685
+ * cell and a column of words is never one. (property only) (readonly)
68686
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
68687
+ * - `field`: The table read as a grid of heights. **The first numeric column is
68688
+ * across, the second is in depth, and the third is the height.** A
68689
+ * renderer reads it. (property only) (readonly)
68690
+ * - `active`: The place the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
68691
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
68692
+ *
68693
+ * **Named `whenSettled` because `settled` is taken four times over**, by
68694
+ * Image, Splitter and both color controls, none of them about transitions. A
68695
+ * base class takes the name every subclass then cannot use.
68696
+ *
68697
+ * **The state it reports cannot be watched, which is why this exists.** A
68698
+ * custom state is deliberately not in the DOM, so there is no
68699
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
68700
+ * instead.
68701
+ *
68702
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
68703
+ * the suppression is still active in. That is the distinction `readyToMove`
68704
+ * in `@fusion.dev/helix-testing` is written around.
68705
+ *
68706
+ * It never resolves where `requestAnimationFrame` never fires, which is a
68707
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
68708
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
68709
+ * browser harness's awaits it alone: a browser always runs the frame, and a
68710
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
68711
+ *
68712
+ * ## Events
68713
+ *
68714
+ * Events that will be emitted by the component.
68715
+ *
68716
+ * - `helix-plot-change`: The readings or the place the keys rest on changed, which the renderer is told. It stays on the chart.
68717
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
68718
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none or a place with no reading, with its `label` and the `pointerType` that moved it.
68719
+ * - `helix-reading-press`: A place was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
68720
+ *
68721
+ * ## Slots
68722
+ *
68723
+ * Areas where markup can be added to the component.
68724
+ *
68725
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
68726
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
68727
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
68728
+ *
68729
+ * ## Methods
68730
+ *
68731
+ * Methods that can be called to access component functionality.
68732
+ *
68733
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
68734
+ *
68735
+ * **A cell's place in its row is not its series' depth, and the tooltip
68736
+ * spent a while assuming it was.** `readSeries` drops a column nothing
68737
+ * parses and `readRows` keeps it, so one column of notes among the figures
68738
+ * moves every column after it one color along in the bubble: a row reading
68739
+ * `Referral 1,080` wearing series three's green beside a legend that says
68740
+ * series three is something else, which is the one failure the dot exists
68741
+ * to prevent.
68742
+ *
68743
+ * Overridden where a chart reads the table some other way. `ScatterChart`
68744
+ * splits the first plotted column off as the measure across, so its first
68745
+ * *plotted* series is this table's second numeric column.
68746
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
68747
+ * reading the same table hid it.
68748
+ *
68749
+ * Asked of the table rather than of a legend, the table being the one
68750
+ * thing the two share: see `SourceController.hide`. A series keeps its
68751
+ * palette slot while it is hidden, so the colors of the others do not move.
68752
+ * For a ring the names are its rows, the slices being the rows.
68753
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
68754
+ * by its column's heading. The keys and the readout pass over one a
68755
+ * legend hid.
68756
+ *
68757
+ * A column's heading is the cell's name in every row, so the first row
68758
+ * answers for the column.
68759
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
68760
+ * column's heading, read from the first row that has a cell there, so a
68761
+ * short first row does not lose the heading. `''` where no row has one.
68762
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the surface, which hides the chart's
68763
+ * own drawing or shows it again. Called by the connector.
68764
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the place at `index`, or lets it go with `-1`, as a
68765
+ * pointer resting on it in the renderer's drawing or a press there does.
68766
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
68767
+ * reading the keys moved to leaves it. Called by the connector.
68768
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
68769
+ * its top left, or `undefined` while it draws none. The tooltip points
68770
+ * there. Called by the connector.
68771
+ *
68772
+ * ## CSS Custom Properties
68773
+ *
68774
+ * CSS variables available for styling the component.
68775
+ *
68776
+ * - `--spatial-surface-chart-block-size`: How tall the plot is.
68777
+ * - `--spatial-surface-chart-high`: The color of the highest reading, which the renderer reads too.
68778
+ * - `--spatial-surface-chart-low`: The color of the lowest reading, which the renderer reads too.
68779
+ * - `--spatial-surface-chart-level`: 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.
68780
+ * - `--spatial-surface-chart-shade`: 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.
68781
+ *
68782
+ * ## CSS Parts
68783
+ *
68784
+ * Custom selectors for styling elements within the component.
68785
+ *
68786
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
68787
+ * - `contour`: The pieces of one contour line that cross one square of the surface, drawn under `contours` at their height, colored along the ramp by it.
68788
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the surface.
68789
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
68790
+ * - `face`: One square of the surface between four readings, or a triangle where one is missing, shaded by its height and by which way it faces.
68791
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
68792
+ * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
68793
+ * - `live`: The readout: a polite live region that says the place the keys moved to. Hide it visually.
68794
+ * - `loading`: The words while `loading` is set and there are no readings.
68795
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
68796
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
68797
+ * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the surface.
68798
+ * - `summary`: The measures, the number of readings, and the range of heights, written as a sentence for screen readers, which describes the plot. Hide it visually.
68799
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
68800
+ * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
68801
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
68802
+ * - `tooltip-anchor`: The `Tooltip` element itself.
68803
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
68804
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
68805
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
68806
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
68807
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
68808
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
68809
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
68810
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
68811
+ * - `tooltip-label`: The row's own name inside the tooltip.
68812
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
68813
+ * - `tooltip-name`: A column's name inside the tooltip.
68814
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
68815
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
68816
+ * - `tooltip-value`: A column's value inside the tooltip.
68817
+ *
68818
+ * ## CSS States
68819
+ *
68820
+ * These can be used to apply styling when a component is in a given state.
68821
+ *
68822
+ * - `active`: While a place is shown, under the pointer or the keys.
68823
+ * - `drawn`: While a renderer has drawn the surface, and the chart's own drawing is hidden.
68824
+ * - `empty`: While the `empty` part stands in place of the readings.
68825
+ * - `loading`: While the `loading` part stands in place of the readings.
68826
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
68827
+ */
68828
+ "helix-spatial-surface-chart": Partial<
68829
+ HelixSpatialSurfaceChartProps &
68830
+ BaseProps<HelixSpatialSurfaceChart> &
68831
+ BaseEvents<HelixSpatialSurfaceChart>
68832
+ >;
68833
+
68834
+ /**
68835
+ * Each group takes a series color from the theme, as every chart's series
68836
+ * does, and each face of a block is that color darkened by how far it turns
68837
+ * from the light. The chart draws the blocks in 3D in SVG, and
68838
+ * `@fusion.dev/helix-plot` can draw them with three.js.
68839
+ *
68840
+ * ## Attributes & Properties
68841
+ *
68842
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
68843
+ *
68844
+ * - `emphasis`: How strongly the blocks are drawn, as on every chart.
68845
+ *
68846
+ * `outlined` is a block as its edges in its group's color over faces faded
68847
+ * toward the page, and `subtle` the same edges over a faint wash, which
68848
+ * shows the blocks behind it. Absent is the filled block, per the rule that a
68849
+ * reflected property takes no default, and `solid` writes it out. A
68850
+ * renderer draws the blocks the same way.
68851
+ *
68852
+ * It composes with `material`: emphasis decides what is drawn, and material
68853
+ * how much of it comes through. The outline on the block the keys rest on
68854
+ * keeps its own ink.
68855
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
68856
+ * most of what is behind it, `frosted` less, and absent is opaque. The
68857
+ * strength is the theme's, scaled by `--helix-material-opacity`.
68858
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
68859
+ * and the fallback of the `empty` slot.
68860
+ * - `loading`: Whether the readings are still on their way. The chart shows
68861
+ * `loading-text` in place of an empty drawing until it has readings.
68862
+ *
68863
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
68864
+ * that already has readings keeps drawing them, so a refresh does not
68865
+ * blank it.
68866
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
68867
+ * there are no readings yet, and the fallback of the `loading` slot.
68868
+ * - `for`: The id of the table to read.
68869
+ *
68870
+ * Names a table in the same tree, so a chart inside another component's
68871
+ * shadow root reads a table in that root rather than one in the document. A
68872
+ * `<table>` or anything built from grid roles, including `helix-table`.
68873
+ *
68874
+ * **In React this arrives as a property and not as an attribute**, the way
68875
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
68876
+ * - `label`: The chart's name, which starts the chart's text summary.
68877
+ *
68878
+ * Absent falls back to the table's own caption, which is usually the right
68879
+ * words and is already written.
68880
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
68881
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
68882
+ *
68883
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
68884
+ * cells are shown as the table writes them, whatever this says.
68885
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
68886
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
68887
+ * `locale`.
68888
+ *
68889
+ * Set it to the words of the page's language, such as `{position} von
68890
+ * {count}`, or to nothing to say no position. A slice or a series a
68891
+ * legend hid is not counted.
68892
+ * - `group-by`/`groupBy`: The column of text that gathers the rows into groups, by its heading. None by default.
68893
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
68894
+ * alone and fill the plot, as a picture on a product's own page does. The
68895
+ * table, the summary, the tooltip, and the keys still carry every value,
68896
+ * and a renderer draws no box either.
68897
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
68898
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` and `{groups}` are the number
68899
+ * of items and groups, written in the locale, and `{low}` and `{high}` the
68900
+ * smallest and the largest size.
68901
+ * - `data`: The readings as data, in the shape of a table, where the page has no
68902
+ * table to point `for` at. `for` wins where both are set.
68903
+ *
68904
+ * ```js
68905
+ * chart.data = {
68906
+ * caption: 'Sessions by channel',
68907
+ * columns: ['Month', 'Direct', 'Referral'],
68908
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
68909
+ * }
68910
+ * ```
68911
+ *
68912
+ * The first column holds each row's label and every column after it a
68913
+ * series, as in a table. A cell is a number, words, `null` for a blank,
68914
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
68915
+ * number is shown in `locale`.
68916
+ *
68917
+ * **A table is still the better source where the page can show one**:
68918
+ * it reads with no script and before hydration, and a reader can sort and
68919
+ * copy it. Data is drawn on the client only, so a server serves the
68920
+ * frame, and the summary, the keys and the readout are then the whole of
68921
+ * what a screen reader is given. Set a new object to redraw: the chart
68922
+ * does not look inside the one it has. (property only)
68923
+ * - `series`: The table's columns, one series each. Empty when there is no table.
68924
+ *
68925
+ * Held by the controller between edits, so a render reading this five
68926
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
68927
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
68928
+ * then the table's caption.
68929
+ *
68930
+ * The fallback is the reason this is shared rather than copied: a caption is
68931
+ * already written, already the right words, and already the thing a reader
68932
+ * of the table sees. A chart that made the consumer say it twice would be
68933
+ * asking for the second one to drift.
68934
+ *
68935
+ * **An `aria-label` on the chart comes first**, because it is how a page
68936
+ * names an element, and the chart is a generic around its plot: written
68937
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
68938
+ * strip always did. (property only) (readonly)
68939
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
68940
+ *
68941
+ * The same test `readSeries` applies when it drops a column of notes: a
68942
+ * column is a series where any row parses, so a series survives one blank
68943
+ * cell and a column of words is never one. (property only) (readonly)
68944
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
68945
+ * - `field`: The table read as blocks. **The first numeric column is each block's
68946
+ * size, and the second its height.** A renderer reads it. (property only) (readonly)
68947
+ * - `active`: The block the keys or the pointer rest on, as its place in `field.blocks`, or `-1`. (property only) (readonly)
68948
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
68949
+ *
68950
+ * **Named `whenSettled` because `settled` is taken four times over**, by
68951
+ * Image, Splitter and both color controls, none of them about transitions. A
68952
+ * base class takes the name every subclass then cannot use.
68953
+ *
68954
+ * **The state it reports cannot be watched, which is why this exists.** A
68955
+ * custom state is deliberately not in the DOM, so there is no
68956
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
68957
+ * instead.
68958
+ *
68959
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
68960
+ * the suppression is still active in. That is the distinction `readyToMove`
68961
+ * in `@fusion.dev/helix-testing` is written around.
68962
+ *
68963
+ * It never resolves where `requestAnimationFrame` never fires, which is a
68964
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
68965
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
68966
+ * browser harness's awaits it alone: a browser always runs the frame, and a
68967
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
68968
+ *
68969
+ * ## Events
68970
+ *
68971
+ * Events that will be emitted by the component.
68972
+ *
68973
+ * - `helix-plot-change`: The blocks or the block the keys rest on changed, which the renderer is told. It stays on the chart.
68974
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
68975
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
68976
+ * - `helix-reading-press`: A block was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
68977
+ *
68978
+ * ## Slots
68979
+ *
68980
+ * Areas where markup can be added to the component.
68981
+ *
68982
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
68983
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
68984
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
68985
+ *
68986
+ * ## Methods
68987
+ *
68988
+ * Methods that can be called to access component functionality.
68989
+ *
68990
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
68991
+ *
68992
+ * **A cell's place in its row is not its series' depth, and the tooltip
68993
+ * spent a while assuming it was.** `readSeries` drops a column nothing
68994
+ * parses and `readRows` keeps it, so one column of notes among the figures
68995
+ * moves every column after it one color along in the bubble: a row reading
68996
+ * `Referral 1,080` wearing series three's green beside a legend that says
68997
+ * series three is something else, which is the one failure the dot exists
68998
+ * to prevent.
68999
+ *
69000
+ * Overridden where a chart reads the table some other way. `ScatterChart`
69001
+ * splits the first plotted column off as the measure across, so its first
69002
+ * *plotted* series is this table's second numeric column.
69003
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
69004
+ * reading the same table hid it.
69005
+ *
69006
+ * Asked of the table rather than of a legend, the table being the one
69007
+ * thing the two share: see `SourceController.hide`. A series keeps its
69008
+ * palette slot while it is hidden, so the colors of the others do not move.
69009
+ * For a ring the names are its rows, the slices being the rows.
69010
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
69011
+ * by its column's heading. The keys and the readout pass over one a
69012
+ * legend hid.
69013
+ *
69014
+ * A column's heading is the cell's name in every row, so the first row
69015
+ * answers for the column.
69016
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
69017
+ * column's heading, read from the first row that has a cell there, so a
69018
+ * short first row does not lose the heading. `''` where no row has one.
69019
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the blocks, which hides the chart's own
69020
+ * drawing or shows it again. Called by the connector.
69021
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the block at `index`, or lets it go with `-1`, as a
69022
+ * pointer resting on it in the renderer's drawing or a press there does.
69023
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
69024
+ * reading the keys moved to leaves it. Called by the connector.
69025
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
69026
+ * its top left, or `undefined` while it draws none. The tooltip points
69027
+ * there. Called by the connector.
69028
+ *
69029
+ * ## CSS Custom Properties
69030
+ *
69031
+ * CSS variables available for styling the component.
69032
+ *
69033
+ * - `--spatial-treemap-block-size`: How tall the plot is.
69034
+ * - `--spatial-treemap-shade`: 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.
69035
+ *
69036
+ * ## CSS Parts
69037
+ *
69038
+ * Custom selectors for styling elements within the component.
69039
+ *
69040
+ * - `axis-name`: The height's name, along its edge of the box, in the chart's own drawing.
69041
+ * - `block`: One block, its faces in its group's color.
69042
+ * - `block-active`: The block the pointer or the keys rest on. Set alongside `block`.
69043
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the blocks.
69044
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
69045
+ * - `face`: One face of a block the view shows, shaded by which way it faces.
69046
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
69047
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
69048
+ * - `live`: The readout: a polite live region that says the item the keys moved to. Hide it visually.
69049
+ * - `loading`: The words while `loading` is set and there are no readings.
69050
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
69051
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
69052
+ * - `ring`: The outline around the block the pointer or the keys rest on, painted after it, so the blocks in front of it cover it.
69053
+ * - `summary`: The number of items and groups and the range of their sizes, written as a sentence for screen readers, which describes the plot. Hide it visually.
69054
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
69055
+ * - `tick`: A height at a tick, along its edge of the box, in the chart's own drawing.
69056
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
69057
+ * - `tooltip-anchor`: The `Tooltip` element itself.
69058
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
69059
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
69060
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
69061
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
69062
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
69063
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
69064
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
69065
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
69066
+ * - `tooltip-label`: The row's own name inside the tooltip.
69067
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
69068
+ * - `tooltip-name`: A column's name inside the tooltip.
69069
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
69070
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
69071
+ * - `tooltip-value`: A column's value inside the tooltip.
69072
+ *
69073
+ * ## CSS States
69074
+ *
69075
+ * These can be used to apply styling when a component is in a given state.
69076
+ *
69077
+ * - `active`: While a block is shown, under the pointer or the keys.
69078
+ * - `drawn`: While a renderer has drawn the blocks, and the chart's own drawing is hidden.
69079
+ * - `empty`: While the `empty` part stands in place of the readings.
69080
+ * - `loading`: While the `loading` part stands in place of the readings.
69081
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
69082
+ */
69083
+ "helix-spatial-treemap": Partial<
69084
+ HelixSpatialTreemapProps & BaseProps<HelixSpatialTreemap> & BaseEvents<HelixSpatialTreemap>
69085
+ >;
69086
+
69087
+ /**
69088
+ * A column of actions with its name above them, in the small muted words a
69089
+ * menu heads its sections with, lined up on the side the trigger is on. The
69090
+ * space between two groups is the space between two actions.
69091
+ *
69092
+ * ## Attributes & Properties
69093
+ *
69094
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
69095
+ *
69096
+ * - `label`: The group's name, drawn above its actions and read by screen readers.
69097
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
69098
+ *
69099
+ * **Named `whenSettled` because `settled` is taken four times over**, by
69100
+ * Image, Splitter and both color controls, none of them about transitions. A
69101
+ * base class takes the name every subclass then cannot use.
69102
+ *
69103
+ * **The state it reports cannot be watched, which is why this exists.** A
69104
+ * custom state is deliberately not in the DOM, so there is no
69105
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
69106
+ * instead.
69107
+ *
69108
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
69109
+ * the suppression is still active in. That is the distinction `readyToMove`
69110
+ * in `@fusion.dev/helix-testing` is written around.
69111
+ *
69112
+ * It never resolves where `requestAnimationFrame` never fires, which is a
69113
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
69114
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
69115
+ * browser harness's awaits it alone: a browser always runs the frame, and a
69116
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
69117
+ *
69118
+ * ## Slots
69119
+ *
69120
+ * Areas where markup can be added to the component.
69121
+ *
69122
+ * - `(default)`: The group's actions.
69123
+ * - `label`: The group's name, for content richer than the `label` text.
69124
+ *
69125
+ * ## CSS Custom Properties
69126
+ *
69127
+ * CSS variables available for styling the component.
69128
+ *
69129
+ * - `--speed-dial-group-label-color`: Color of the group's name.
69130
+ * - `--speed-dial-group-label-font-size`: Size of the group's name.
69131
+ *
69132
+ * ## CSS Parts
69133
+ *
69134
+ * Custom selectors for styling elements within the component.
69135
+ *
69136
+ * - `group`: The set, which carries the `group` role.
69137
+ * - `label`: The group's name, drawn above its actions while there is one.
69138
+ *
69139
+ * ## CSS States
69140
+ *
69141
+ * These can be used to apply styling when a component is in a given state.
69142
+ *
69143
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
69144
+ */
69145
+ "helix-speed-dial-group": Partial<
69146
+ HelixSpeedDialGroupProps & BaseProps<HelixSpeedDialGroup> & BaseEvents<HelixSpeedDialGroup>
69147
+ >;
69148
+
69149
+ /**
69150
+ * Presentation only: a round mark the size of a small control, with the name on
69151
+ * a chip beside it so it stays readable over whatever the dial floats over. The
69152
+ * base class handles its behavior.
69153
+ *
69154
+ * ## Attributes & Properties
69155
+ *
69156
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
69157
+ *
69158
+ * - `disabled`: Whether the action is disabled, so it cannot be chosen.
69159
+ * - `download`: Whether the link downloads the file when the action is chosen. Only
69160
+ * meaningful beside an `href`, and only for a file served from the page's
69161
+ * origin.
69162
+ * - `href`: The URL the action links to. Setting it draws the action as a link.
69163
+ * - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
69164
+ * - `shortcut`: The action's keyboard shortcut as a chord, such as `mod+s`, carried as
69165
+ * `aria-keyshortcuts` and drawn after the name. `mod` is Command on an Apple
69166
+ * keyboard and Control elsewhere. Showing a shortcut does not bind it.
69167
+ * - `target`: Where the link opens, such as `_blank` for a new tab.
69168
+ * - `value`: The action's value, sent in `helix-select` when the action is chosen.
69169
+ * - `active`: Whether the action has focus, which makes it the action the keyboard is on.
69170
+ *
69171
+ * `Option` calls the same thing `active`. The focused node is found through
69172
+ * every shadow root, as `Menu.Item` does, so a dial inside another
69173
+ * component's shadow root still knows its current action. (property only) (readonly)
69174
+ * - `selected`: Whether the action has focus, the same as `active`. (property only) (readonly)
67074
69175
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
67075
69176
  *
67076
69177
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -73407,6 +75508,12 @@ export type CustomElements = {
73407
75508
  * permitted is the browser's policy, and what follows a refused autoplay is a
73408
75509
  * paused player showing its start control, which is the correct thing to be
73409
75510
  * looking at.
75511
+ *
75512
+ * **Not where the reader asked for less motion**, or while the page has
75513
+ * paused its motion, through `pauseMotion` or `Motion Toggle`: the player
75514
+ * waits on its start control. A page that pauses its motion pauses a video
75515
+ * that started itself, and one that lets it run again plays it again. A
75516
+ * video the reader started is theirs, and neither touches it.
73410
75517
  * - `captions-hidden-label`/`captionsHiddenLabel`: What the live region says when `c` turns captions off.
73411
75518
  * - `captions-label`/`captionsLabel`: The name of the captions control when the video has one track. The control
73412
75519
  * turns that track on and off.
@@ -77822,6 +79929,12 @@ export type CustomElementsSolidJs = {
77822
79929
  * arrived at by two defaults rather than by a rule about the pair, so moving
77823
79930
  * one leaves the other alone.
77824
79931
  * - `autoplay`: Whether the carousel advances on its own.
79932
+ *
79933
+ * **Not where the reader asked for less motion**, or where the page has
79934
+ * paused its motion, through `pauseMotion` or `Motion Toggle`: the carousel
79935
+ * starts still, and its rotation control starts it. A page that pauses its
79936
+ * motion later stops the rotation, and one that lets it run again starts it
79937
+ * again, unless the reader stopped it.
77825
79938
  * - `controls`: Whether the previous and next controls are shown.
77826
79939
  *
77827
79940
  * `auto`, which is the resting behavior and what an absent attribute means,
@@ -85383,6 +87496,9 @@ export type CustomElementsSolidJs = {
85383
87496
  * - `selection-label`/`selectionLabel`: What screen readers hear after a reader selects a note, in the list or in
85384
87497
  * the drawing, with `{note}` for its name and `{count}` for how many notes
85385
87498
  * the list then holds, written with `count-label`.
87499
+ * - `settling-label`/`settlingLabel`: What the `settling` part says while a layout runs unseen, where the reader
87500
+ * asked for less motion or the page paused its motion.
87501
+ * - `stop-layout-label`/`stopLayoutLabel`: What the button that stops a long layout says.
85386
87502
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
85387
87503
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
85388
87504
  * - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
@@ -85484,6 +87600,15 @@ export type CustomElementsSolidJs = {
85484
87600
  * `helix-graph-layout` for the page to keep. Called by `connectGraph` once
85485
87601
  * its layout has settled; a page laying out its own graph calls it the same
85486
87602
  * way.
87603
+ * - `settling(stop?: () => void, unseen = false) => void`: Says a layout is running, with what ends it where the notes stand, or
87604
+ * with nothing, that it has ended. Called by `connectGraph`.
87605
+ *
87606
+ * **A layout that runs past five seconds offers a button that stops it**,
87607
+ * the `stop-layout` part, as WCAG 2.2.2 asks of motion that starts by itself
87608
+ * and runs that long. **`unseen` hides the drawing while the notes move**,
87609
+ * which the connector asks for where the reader asked for less motion or
87610
+ * the page paused its motion: the `settling` part says the notes are being
87611
+ * placed, and the drawing shows them where they settle.
85487
87612
  * - `signal(from: string, to: string, options: { tone?: GraphSignalDetail['tone'] } = {}) => void`: Shows something passing from one note to another, such as a message, a
85488
87613
  * request or a payment, drawn traveling along the drawing and arriving with
85489
87614
  * a pulse. `tone` says what it means and colors it. Call it as often as
@@ -85559,7 +87684,9 @@ export type CustomElementsSolidJs = {
85559
87684
  * - `region`: The frame: the drawing, its controls and the list.
85560
87685
  * - `search`: The bar holding the icon, the search field and the count.
85561
87686
  * - `search-field`: The field that finds a note by its name.
87687
+ * - `settling`: What is said while a layout runs unseen, where the reader asked for less motion or the page paused its motion, over the hidden drawing.
85562
87688
  * - `stage`: The drawing and its controls.
87689
+ * - `stop-layout`: The button that stops a layout that has run past five seconds, where the notes stand.
85563
87690
  * - `viewport`: The box the renderer draws in.
85564
87691
  * - `zoom-in`: The zoom in button.
85565
87692
  * - `zoom-out`: The zoom out button.
@@ -85577,6 +87704,8 @@ export type CustomElementsSolidJs = {
85577
87704
  * - `ready`: The graph has been drawn whole, after `helix-graph-ready`.
85578
87705
  * - `searching`: The search field holds words, and the list holds only the notes they find.
85579
87706
  * - `selected`: A note is selected, in the list or in the drawing.
87707
+ * - `settling`: A layout is running.
87708
+ * - `settling-unseen`: A layout is running with the drawing hidden, where the reader asked for less motion or the page paused its motion.
85580
87709
  * - `sharing`: The page keeps the plain wheel and one finger, with `gestures="cooperative"` or while a graph with `gestures="activate"` waits to be pressed.
85581
87710
  * - `using`: A graph with `gestures="activate"` has been pressed and has the gestures.
85582
87711
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -85715,6 +87844,19 @@ export type CustomElementsSolidJs = {
85715
87844
  *
85716
87845
  * Component attributes and properties that can be applied to the element or by using JavaScript.
85717
87846
  *
87847
+ * - `emphasis`: How strongly the cells are drawn, as on every chart.
87848
+ *
87849
+ * `outlined` is a cell as its edge in its tone over a fill faded toward the
87850
+ * page, and `subtle` a faint wash of the tone under the same edge. Absent is
87851
+ * the filled cell, per the rule that a reflected property takes no default,
87852
+ * and `solid` writes it out.
87853
+ *
87854
+ * It composes with `material`: emphasis decides what is drawn, and material
87855
+ * how much of it comes through. The ring on the cell the keys rest on keeps
87856
+ * its own ink.
87857
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
87858
+ * most of what is behind it, `frosted` less, and absent is opaque. The
87859
+ * strength is the theme's, scaled by `--helix-material-opacity`.
85718
87860
  * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
85719
87861
  * and the fallback of the `empty` slot.
85720
87862
  * - `loading`: Whether the readings are still on their way. The chart shows
@@ -90742,6 +92884,77 @@ export type CustomElementsSolidJs = {
90742
92884
  BaseEvents<HelixMeter>
90743
92885
  >;
90744
92886
 
92887
+ /**
92888
+ * A quiet square button, as the controls over a map are, with the pause icon
92889
+ * while motion runs and the play icon while it is paused. Text slotted into
92890
+ * it stands beside the icon.
92891
+ *
92892
+ * ## Attributes & Properties
92893
+ *
92894
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
92895
+ *
92896
+ * - `label`: The button's name, which stays the same whichever way it stands.
92897
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
92898
+ *
92899
+ * **Named `whenSettled` because `settled` is taken four times over**, by
92900
+ * Image, Splitter and both color controls, none of them about transitions. A
92901
+ * base class takes the name every subclass then cannot use.
92902
+ *
92903
+ * **The state it reports cannot be watched, which is why this exists.** A
92904
+ * custom state is deliberately not in the DOM, so there is no
92905
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
92906
+ * instead.
92907
+ *
92908
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
92909
+ * the suppression is still active in. That is the distinction `readyToMove`
92910
+ * in `@fusion.dev/helix-testing` is written around.
92911
+ *
92912
+ * It never resolves where `requestAnimationFrame` never fires, which is a
92913
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
92914
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
92915
+ * browser harness's awaits it alone: a browser always runs the frame, and a
92916
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
92917
+ *
92918
+ * ## Events
92919
+ *
92920
+ * Events that will be emitted by the component.
92921
+ *
92922
+ * - `change`: Fired after a press pauses the page's motion or lets it run.
92923
+ *
92924
+ * ## Slots
92925
+ *
92926
+ * Areas where markup can be added to the component.
92927
+ *
92928
+ * - `(default)`: The button's text, where it shows more than its icon. Defaults to nothing, the icon alone, named by `label`.
92929
+ * - `icon`: Replaces the icon, which is pause while motion runs and play while it is paused.
92930
+ *
92931
+ * ## CSS Custom Properties
92932
+ *
92933
+ * CSS variables available for styling the component.
92934
+ *
92935
+ * - `--motion-toggle-background-color`: The button's fill. Defaults to the floating overlay surface.
92936
+ *
92937
+ * ## CSS Parts
92938
+ *
92939
+ * Custom selectors for styling elements within the component.
92940
+ *
92941
+ * - `button`: The toggle button, with `aria-pressed` while the page's motion is paused.
92942
+ * - `icon`: The icon inside the button.
92943
+ *
92944
+ * ## CSS States
92945
+ *
92946
+ * These can be used to apply styling when a component is in a given state.
92947
+ *
92948
+ * - `paused`: The page's motion is paused.
92949
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
92950
+ */
92951
+ "helix-motion-toggle": Partial<
92952
+ HelixMotionToggleProps &
92953
+ HelixMotionToggleSolidJsProps &
92954
+ BaseProps<HelixMotionToggle> &
92955
+ BaseEvents<HelixMotionToggle>
92956
+ >;
92957
+
90745
92958
  /**
90746
92959
  * One marker moves to the current destination. A moving marker is easier to
90747
92960
  * follow than a background that switches from one item to another, and the
@@ -97098,6 +99311,263 @@ export type CustomElementsSolidJs = {
97098
99311
  BaseEvents<HelixSparkline>
97099
99312
  >;
97100
99313
 
99314
+ /**
99315
+ * Each series takes a series color from the theme, as every chart's series
99316
+ * does, and each face of a bar is that color darkened by how far it turns
99317
+ * from the light. The chart draws the bars in 3D in SVG, and
99318
+ * `@fusion.dev/helix-plot` can draw them with three.js.
99319
+ *
99320
+ * ## Attributes & Properties
99321
+ *
99322
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
99323
+ *
99324
+ * - `emphasis`: How strongly the bars are drawn, as on every chart.
99325
+ *
99326
+ * `outlined` is a bar as its edges in its series' color over faces faded
99327
+ * toward the page, and `subtle` the same edges over a faint wash, which
99328
+ * shows the bars behind it. Absent is the filled bar, per the rule that a
99329
+ * reflected property takes no default, and `solid` writes it out. A
99330
+ * renderer draws the bars the same way.
99331
+ *
99332
+ * It composes with `material`: emphasis decides what is drawn, and material
99333
+ * how much of it comes through. The outline on the bar the keys rest on
99334
+ * keeps its own ink.
99335
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
99336
+ * most of what is behind it, `frosted` less, and absent is opaque. The
99337
+ * strength is the theme's, scaled by `--helix-material-opacity`.
99338
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
99339
+ * and the fallback of the `empty` slot.
99340
+ * - `loading`: Whether the readings are still on their way. The chart shows
99341
+ * `loading-text` in place of an empty drawing until it has readings.
99342
+ *
99343
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
99344
+ * that already has readings keeps drawing them, so a refresh does not
99345
+ * blank it.
99346
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
99347
+ * there are no readings yet, and the fallback of the `loading` slot.
99348
+ * - `for`: The id of the table to read.
99349
+ *
99350
+ * Names a table in the same tree, so a chart inside another component's
99351
+ * shadow root reads a table in that root rather than one in the document. A
99352
+ * `<table>` or anything built from grid roles, including `helix-table`.
99353
+ *
99354
+ * **In React this arrives as a property and not as an attribute**, the way
99355
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
99356
+ * - `label`: The chart's name, which starts the chart's text summary.
99357
+ *
99358
+ * Absent falls back to the table's own caption, which is usually the right
99359
+ * words and is already written.
99360
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
99361
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
99362
+ *
99363
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
99364
+ * cells are shown as the table writes them, whatever this says.
99365
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
99366
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
99367
+ * `locale`.
99368
+ *
99369
+ * Set it to the words of the page's language, such as `{position} von
99370
+ * {count}`, or to nothing to say no position. A slice or a series a
99371
+ * legend hid is not counted.
99372
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
99373
+ * alone and fill the plot, as a picture on a product's own page does. The
99374
+ * table, the summary, the tooltip, and the keys still carry every value,
99375
+ * and a renderer draws no box either.
99376
+ * - `open-label`/`openLabel`: What the readout says for a place with no value. `{category}` and
99377
+ * `{series}` name the place.
99378
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
99379
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}`, `{series}`, and `{categories}`
99380
+ * are the number of bars, series, and categories, written in the locale,
99381
+ * and `{low}` and `{high}` the lowest and the highest value.
99382
+ * - `data`: The readings as data, in the shape of a table, where the page has no
99383
+ * table to point `for` at. `for` wins where both are set.
99384
+ *
99385
+ * ```js
99386
+ * chart.data = {
99387
+ * caption: 'Sessions by channel',
99388
+ * columns: ['Month', 'Direct', 'Referral'],
99389
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
99390
+ * }
99391
+ * ```
99392
+ *
99393
+ * The first column holds each row's label and every column after it a
99394
+ * series, as in a table. A cell is a number, words, `null` for a blank,
99395
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
99396
+ * number is shown in `locale`.
99397
+ *
99398
+ * **A table is still the better source where the page can show one**:
99399
+ * it reads with no script and before hydration, and a reader can sort and
99400
+ * copy it. Data is drawn on the client only, so a server serves the
99401
+ * frame, and the summary, the keys and the readout are then the whole of
99402
+ * what a screen reader is given. Set a new object to redraw: the chart
99403
+ * does not look inside the one it has. (property only)
99404
+ * - `series`: The table's columns, one series each. Empty when there is no table.
99405
+ *
99406
+ * Held by the controller between edits, so a render reading this five
99407
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
99408
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
99409
+ * then the table's caption.
99410
+ *
99411
+ * The fallback is the reason this is shared rather than copied: a caption is
99412
+ * already written, already the right words, and already the thing a reader
99413
+ * of the table sees. A chart that made the consumer say it twice would be
99414
+ * asking for the second one to drift.
99415
+ *
99416
+ * **An `aria-label` on the chart comes first**, because it is how a page
99417
+ * names an element, and the chart is a generic around its plot: written
99418
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
99419
+ * strip always did. (property only) (readonly)
99420
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
99421
+ *
99422
+ * The same test `readSeries` applies when it drops a column of notes: a
99423
+ * column is a series where any row parses, so a series survives one blank
99424
+ * cell and a column of words is never one. (property only) (readonly)
99425
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
99426
+ * - `field`: The table read as bars. **Each row is a category, and each numeric
99427
+ * column a series.** A renderer reads it. (property only) (readonly)
99428
+ * - `active`: The bar the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
99429
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
99430
+ *
99431
+ * **Named `whenSettled` because `settled` is taken four times over**, by
99432
+ * Image, Splitter and both color controls, none of them about transitions. A
99433
+ * base class takes the name every subclass then cannot use.
99434
+ *
99435
+ * **The state it reports cannot be watched, which is why this exists.** A
99436
+ * custom state is deliberately not in the DOM, so there is no
99437
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
99438
+ * instead.
99439
+ *
99440
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
99441
+ * the suppression is still active in. That is the distinction `readyToMove`
99442
+ * in `@fusion.dev/helix-testing` is written around.
99443
+ *
99444
+ * It never resolves where `requestAnimationFrame` never fires, which is a
99445
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
99446
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
99447
+ * browser harness's awaits it alone: a browser always runs the frame, and a
99448
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
99449
+ *
99450
+ * ## Events
99451
+ *
99452
+ * Events that will be emitted by the component.
99453
+ *
99454
+ * - `helix-plot-change`: The bars or the bar the keys rest on changed, which the renderer is told. It stays on the chart.
99455
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
99456
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
99457
+ * - `helix-reading-press`: A bar was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
99458
+ *
99459
+ * ## Slots
99460
+ *
99461
+ * Areas where markup can be added to the component.
99462
+ *
99463
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
99464
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
99465
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
99466
+ *
99467
+ * ## Methods
99468
+ *
99469
+ * Methods that can be called to access component functionality.
99470
+ *
99471
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
99472
+ *
99473
+ * **A cell's place in its row is not its series' depth, and the tooltip
99474
+ * spent a while assuming it was.** `readSeries` drops a column nothing
99475
+ * parses and `readRows` keeps it, so one column of notes among the figures
99476
+ * moves every column after it one color along in the bubble: a row reading
99477
+ * `Referral 1,080` wearing series three's green beside a legend that says
99478
+ * series three is something else, which is the one failure the dot exists
99479
+ * to prevent.
99480
+ *
99481
+ * Overridden where a chart reads the table some other way. `ScatterChart`
99482
+ * splits the first plotted column off as the measure across, so its first
99483
+ * *plotted* series is this table's second numeric column.
99484
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
99485
+ * reading the same table hid it.
99486
+ *
99487
+ * Asked of the table rather than of a legend, the table being the one
99488
+ * thing the two share: see `SourceController.hide`. A series keeps its
99489
+ * palette slot while it is hidden, so the colors of the others do not move.
99490
+ * For a ring the names are its rows, the slices being the rows.
99491
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
99492
+ * by its column's heading. The keys and the readout pass over one a
99493
+ * legend hid.
99494
+ *
99495
+ * A column's heading is the cell's name in every row, so the first row
99496
+ * answers for the column.
99497
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
99498
+ * column's heading, read from the first row that has a cell there, so a
99499
+ * short first row does not lose the heading. `''` where no row has one.
99500
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the bars, which hides the chart's own
99501
+ * drawing or shows it again. Called by the connector.
99502
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the bar at `index`, or lets it go with `-1`, as a
99503
+ * pointer resting on it in the renderer's drawing or a press there does.
99504
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
99505
+ * reading the keys moved to leaves it. Called by the connector.
99506
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
99507
+ * its top left, or `undefined` while it draws none. The tooltip points
99508
+ * there. Called by the connector.
99509
+ *
99510
+ * ## CSS Custom Properties
99511
+ *
99512
+ * CSS variables available for styling the component.
99513
+ *
99514
+ * - `--spatial-bar-chart-block-size`: How tall the plot is.
99515
+ * - `--spatial-bar-chart-shade`: 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.
99516
+ *
99517
+ * ## CSS Parts
99518
+ *
99519
+ * Custom selectors for styling elements within the component.
99520
+ *
99521
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
99522
+ * - `bar`: One bar, its faces in its series' color.
99523
+ * - `bar-active`: The bar the pointer or the keys rest on. Set alongside `bar`.
99524
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and names, and the bars.
99525
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
99526
+ * - `face`: One face of a bar the view shows, shaded by which way it faces.
99527
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
99528
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
99529
+ * - `live`: The readout: a polite live region that says the bar the keys moved to. Hide it visually.
99530
+ * - `loading`: The words while `loading` is set and there are no readings.
99531
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
99532
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
99533
+ * - `ring`: The outline around the bar the pointer or the keys rest on, painted after it, so the bars in front of it cover it.
99534
+ * - `summary`: The number of bars, series, and categories, and the range of values, written as a sentence for screen readers, which describes the plot. Hide it visually.
99535
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
99536
+ * - `tick`: A category's or a series' name, or a value at a tick, along its edge of the box, in the chart's own drawing.
99537
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
99538
+ * - `tooltip-anchor`: The `Tooltip` element itself.
99539
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
99540
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
99541
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
99542
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
99543
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
99544
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
99545
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
99546
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
99547
+ * - `tooltip-label`: The row's own name inside the tooltip.
99548
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
99549
+ * - `tooltip-name`: A column's name inside the tooltip.
99550
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
99551
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
99552
+ * - `tooltip-value`: A column's value inside the tooltip.
99553
+ *
99554
+ * ## CSS States
99555
+ *
99556
+ * These can be used to apply styling when a component is in a given state.
99557
+ *
99558
+ * - `active`: While a bar is shown, under the pointer or the keys.
99559
+ * - `drawn`: While a renderer has drawn the bars, and the chart's own drawing is hidden.
99560
+ * - `empty`: While the `empty` part stands in place of the readings.
99561
+ * - `loading`: While the `loading` part stands in place of the readings.
99562
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
99563
+ */
99564
+ "helix-spatial-bar-chart": Partial<
99565
+ HelixSpatialBarChartProps &
99566
+ HelixSpatialBarChartSolidJsProps &
99567
+ BaseProps<HelixSpatialBarChart> &
99568
+ BaseEvents<HelixSpatialBarChart>
99569
+ >;
99570
+
97101
99571
  /**
97102
99572
  * Each reading is a prism. The top face takes the cell's tone, and the two
97103
99573
  * sides are the same tone, shaded darker, so the whole relief follows your
@@ -97112,6 +99582,20 @@ export type CustomElementsSolidJs = {
97112
99582
  *
97113
99583
  * Component attributes and properties that can be applied to the element or by using JavaScript.
97114
99584
  *
99585
+ * - `emphasis`: How strongly the prisms are drawn, as on every chart.
99586
+ *
99587
+ * `outlined` is a prism as its edges in its tone over faces faded toward the
99588
+ * page, and `subtle` a faint wash of the tone under the same edges, which
99589
+ * shows the prisms behind it. Absent is the filled prism, per the rule that
99590
+ * a reflected property takes no default, and `solid` writes it out. A
99591
+ * renderer draws the prisms the same way.
99592
+ *
99593
+ * It composes with `material`: emphasis decides what is drawn, and material
99594
+ * how much of it comes through. The ring on the prism the keys rest on keeps
99595
+ * its own ink.
99596
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
99597
+ * most of what is behind it, `frosted` less, and absent is opaque. The
99598
+ * strength is the theme's, scaled by `--helix-material-opacity`.
97115
99599
  * - `flat`: Draws every prism at no height, so the tones lie on a plane.
97116
99600
  * - `relief`: How tall the highest reading stands, in cells. Every other reading stands
97117
99601
  * at its share of it.
@@ -97463,6 +99947,262 @@ export type CustomElementsSolidJs = {
97463
99947
  BaseEvents<HelixSpatialHeatmap>
97464
99948
  >;
97465
99949
 
99950
+ /**
99951
+ * Each series takes a series color from the theme, as every chart's series
99952
+ * does, and each face of a ribbon is that color darkened by how far it turns
99953
+ * from the light. The chart draws the ribbons in 3D in SVG, and
99954
+ * `@fusion.dev/helix-plot` can draw them with three.js.
99955
+ *
99956
+ * ## Attributes & Properties
99957
+ *
99958
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
99959
+ *
99960
+ * - `emphasis`: How strongly the ribbons are drawn, as on every chart.
99961
+ *
99962
+ * `outlined` is a ribbon as its edges in its series' color over faces
99963
+ * faded toward the page, and `subtle` the same edges over a faint wash,
99964
+ * which shows the ribbons behind it. Absent is the filled ribbon, per the
99965
+ * rule that a reflected property takes no default, and `solid` writes it
99966
+ * out. A renderer draws the ribbons the same way.
99967
+ *
99968
+ * It composes with `material`: emphasis decides what is drawn, and material
99969
+ * how much of it comes through. The ring on the reading the keys rest on
99970
+ * keeps its own ink.
99971
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
99972
+ * most of what is behind it, `frosted` less, and absent is opaque. The
99973
+ * strength is the theme's, scaled by `--helix-material-opacity`.
99974
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
99975
+ * and the fallback of the `empty` slot.
99976
+ * - `loading`: Whether the readings are still on their way. The chart shows
99977
+ * `loading-text` in place of an empty drawing until it has readings.
99978
+ *
99979
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
99980
+ * that already has readings keeps drawing them, so a refresh does not
99981
+ * blank it.
99982
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
99983
+ * there are no readings yet, and the fallback of the `loading` slot.
99984
+ * - `for`: The id of the table to read.
99985
+ *
99986
+ * Names a table in the same tree, so a chart inside another component's
99987
+ * shadow root reads a table in that root rather than one in the document. A
99988
+ * `<table>` or anything built from grid roles, including `helix-table`.
99989
+ *
99990
+ * **In React this arrives as a property and not as an attribute**, the way
99991
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
99992
+ * - `label`: The chart's name, which starts the chart's text summary.
99993
+ *
99994
+ * Absent falls back to the table's own caption, which is usually the right
99995
+ * words and is already written.
99996
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
99997
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
99998
+ *
99999
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
100000
+ * cells are shown as the table writes them, whatever this says.
100001
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
100002
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
100003
+ * `locale`.
100004
+ *
100005
+ * Set it to the words of the page's language, such as `{position} von
100006
+ * {count}`, or to nothing to say no position. A slice or a series a
100007
+ * legend hid is not counted.
100008
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
100009
+ * alone and fill the plot, as a picture on a product's own page does. The
100010
+ * table, the summary, the tooltip, and the keys still carry every value,
100011
+ * and a renderer draws no box either.
100012
+ * - `open-label`/`openLabel`: What the readout says for a reading the table has no value for.
100013
+ * `{place}` and `{series}` name it.
100014
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
100015
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}`, `{series}`, and `{places}` are
100016
+ * the number of readings, series, and places, written in the locale,
100017
+ * and `{low}` and `{high}` the lowest and the highest value.
100018
+ * - `data`: The readings as data, in the shape of a table, where the page has no
100019
+ * table to point `for` at. `for` wins where both are set.
100020
+ *
100021
+ * ```js
100022
+ * chart.data = {
100023
+ * caption: 'Sessions by channel',
100024
+ * columns: ['Month', 'Direct', 'Referral'],
100025
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
100026
+ * }
100027
+ * ```
100028
+ *
100029
+ * The first column holds each row's label and every column after it a
100030
+ * series, as in a table. A cell is a number, words, `null` for a blank,
100031
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
100032
+ * number is shown in `locale`.
100033
+ *
100034
+ * **A table is still the better source where the page can show one**:
100035
+ * it reads with no script and before hydration, and a reader can sort and
100036
+ * copy it. Data is drawn on the client only, so a server serves the
100037
+ * frame, and the summary, the keys and the readout are then the whole of
100038
+ * what a screen reader is given. Set a new object to redraw: the chart
100039
+ * does not look inside the one it has. (property only)
100040
+ * - `series`: The table's columns, one series each. Empty when there is no table.
100041
+ *
100042
+ * Held by the controller between edits, so a render reading this five
100043
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
100044
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
100045
+ * then the table's caption.
100046
+ *
100047
+ * The fallback is the reason this is shared rather than copied: a caption is
100048
+ * already written, already the right words, and already the thing a reader
100049
+ * of the table sees. A chart that made the consumer say it twice would be
100050
+ * asking for the second one to drift.
100051
+ *
100052
+ * **An `aria-label` on the chart comes first**, because it is how a page
100053
+ * names an element, and the chart is a generic around its plot: written
100054
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
100055
+ * strip always did. (property only) (readonly)
100056
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
100057
+ *
100058
+ * The same test `readSeries` applies when it drops a column of notes: a
100059
+ * column is a series where any row parses, so a series survives one blank
100060
+ * cell and a column of words is never one. (property only) (readonly)
100061
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
100062
+ * - `field`: The table read as ribbons. **Each row is a place across, and each
100063
+ * numeric column a series.** A renderer reads it. (property only) (readonly)
100064
+ * - `active`: The reading the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
100065
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
100066
+ *
100067
+ * **Named `whenSettled` because `settled` is taken four times over**, by
100068
+ * Image, Splitter and both color controls, none of them about transitions. A
100069
+ * base class takes the name every subclass then cannot use.
100070
+ *
100071
+ * **The state it reports cannot be watched, which is why this exists.** A
100072
+ * custom state is deliberately not in the DOM, so there is no
100073
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
100074
+ * instead.
100075
+ *
100076
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
100077
+ * the suppression is still active in. That is the distinction `readyToMove`
100078
+ * in `@fusion.dev/helix-testing` is written around.
100079
+ *
100080
+ * It never resolves where `requestAnimationFrame` never fires, which is a
100081
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
100082
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
100083
+ * browser harness's awaits it alone: a browser always runs the frame, and a
100084
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
100085
+ *
100086
+ * ## Events
100087
+ *
100088
+ * Events that will be emitted by the component.
100089
+ *
100090
+ * - `helix-plot-change`: The readings or the reading the keys rest on changed, which the renderer is told. It stays on the chart.
100091
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
100092
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
100093
+ * - `helix-reading-press`: A reading was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
100094
+ *
100095
+ * ## Slots
100096
+ *
100097
+ * Areas where markup can be added to the component.
100098
+ *
100099
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
100100
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
100101
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
100102
+ *
100103
+ * ## Methods
100104
+ *
100105
+ * Methods that can be called to access component functionality.
100106
+ *
100107
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
100108
+ *
100109
+ * **A cell's place in its row is not its series' depth, and the tooltip
100110
+ * spent a while assuming it was.** `readSeries` drops a column nothing
100111
+ * parses and `readRows` keeps it, so one column of notes among the figures
100112
+ * moves every column after it one color along in the bubble: a row reading
100113
+ * `Referral 1,080` wearing series three's green beside a legend that says
100114
+ * series three is something else, which is the one failure the dot exists
100115
+ * to prevent.
100116
+ *
100117
+ * Overridden where a chart reads the table some other way. `ScatterChart`
100118
+ * splits the first plotted column off as the measure across, so its first
100119
+ * *plotted* series is this table's second numeric column.
100120
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
100121
+ * reading the same table hid it.
100122
+ *
100123
+ * Asked of the table rather than of a legend, the table being the one
100124
+ * thing the two share: see `SourceController.hide`. A series keeps its
100125
+ * palette slot while it is hidden, so the colors of the others do not move.
100126
+ * For a ring the names are its rows, the slices being the rows.
100127
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
100128
+ * by its column's heading. The keys and the readout pass over one a
100129
+ * legend hid.
100130
+ *
100131
+ * A column's heading is the cell's name in every row, so the first row
100132
+ * answers for the column.
100133
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
100134
+ * column's heading, read from the first row that has a cell there, so a
100135
+ * short first row does not lose the heading. `''` where no row has one.
100136
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the ribbons, which hides the chart's own
100137
+ * drawing or shows it again. Called by the connector.
100138
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the one at `index`, or lets it go with `-1`, as a
100139
+ * pointer resting on it in the renderer's drawing or a press there does.
100140
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
100141
+ * reading the keys moved to leaves it. Called by the connector.
100142
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
100143
+ * its top left, or `undefined` while it draws none. The tooltip points
100144
+ * there. Called by the connector.
100145
+ *
100146
+ * ## CSS Custom Properties
100147
+ *
100148
+ * CSS variables available for styling the component.
100149
+ *
100150
+ * - `--spatial-ribbon-chart-block-size`: How tall the plot is.
100151
+ * - `--spatial-ribbon-chart-shade`: 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.
100152
+ *
100153
+ * ## CSS Parts
100154
+ *
100155
+ * Custom selectors for styling elements within the component.
100156
+ *
100157
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
100158
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and names, and the ribbons.
100159
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
100160
+ * - `face`: One face of a ribbon the view shows: a piece of its top, an end, or its side, shaded by how far it turns from the light.
100161
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
100162
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
100163
+ * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
100164
+ * - `loading`: The words while `loading` is set and there are no readings.
100165
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
100166
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
100167
+ * - `ribbon`: One ribbon, its faces in its series' color.
100168
+ * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the ribbons.
100169
+ * - `summary`: The number of readings, series, and places, and the range of values, written as a sentence for screen readers, which describes the plot. Hide it visually.
100170
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
100171
+ * - `tick`: A place's or a series' name, or a value at a tick, along its edge of the box, in the chart's own drawing.
100172
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
100173
+ * - `tooltip-anchor`: The `Tooltip` element itself.
100174
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
100175
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
100176
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
100177
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
100178
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
100179
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
100180
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
100181
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
100182
+ * - `tooltip-label`: The row's own name inside the tooltip.
100183
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
100184
+ * - `tooltip-name`: A column's name inside the tooltip.
100185
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
100186
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
100187
+ * - `tooltip-value`: A column's value inside the tooltip.
100188
+ *
100189
+ * ## CSS States
100190
+ *
100191
+ * These can be used to apply styling when a component is in a given state.
100192
+ *
100193
+ * - `active`: While a reading is shown, under the pointer or the keys.
100194
+ * - `drawn`: While a renderer has drawn the ribbons, and the chart's own drawing is hidden.
100195
+ * - `empty`: While the `empty` part stands in place of the readings.
100196
+ * - `loading`: While the `loading` part stands in place of the readings.
100197
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
100198
+ */
100199
+ "helix-spatial-ribbon-chart": Partial<
100200
+ HelixSpatialRibbonChartProps &
100201
+ HelixSpatialRibbonChartSolidJsProps &
100202
+ BaseProps<HelixSpatialRibbonChart> &
100203
+ BaseEvents<HelixSpatialRibbonChart>
100204
+ >;
100205
+
97466
100206
  /**
97467
100207
  * The chart draws the points in 3D in SVG, and `@fusion.dev/helix-plot` can
97468
100208
  * draw them with three.js. Each group takes a series color from the theme, as
@@ -97472,6 +100212,19 @@ export type CustomElementsSolidJs = {
97472
100212
  *
97473
100213
  * Component attributes and properties that can be applied to the element or by using JavaScript.
97474
100214
  *
100215
+ * - `emphasis`: How strongly the points are drawn, as on every chart.
100216
+ *
100217
+ * `outlined` is a point as a ring in its group's color over a dot faded
100218
+ * toward the page, and `subtle` the same ring over a faint dot. Absent is
100219
+ * the filled dot, per the rule that a reflected property takes no default,
100220
+ * and `solid` writes it out. A renderer draws the points the same way.
100221
+ *
100222
+ * It composes with `material`: emphasis decides what is drawn, and material
100223
+ * how much of it comes through. The ring on the point the keys rest on keeps
100224
+ * its own ink.
100225
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
100226
+ * most of what is behind it, `frosted` less, and absent is opaque. The
100227
+ * strength is the theme's, scaled by `--helix-material-opacity`.
97475
100228
  * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
97476
100229
  * and the fallback of the `empty` slot.
97477
100230
  * - `loading`: Whether the readings are still on their way. The chart shows
@@ -97506,7 +100259,14 @@ export type CustomElementsSolidJs = {
97506
100259
  * Set it to the words of the page's language, such as `{position} von
97507
100260
  * {count}`, or to nothing to say no position. A slice or a series a
97508
100261
  * legend hid is not counted.
100262
+ * - `drop-lines`/`dropLines`: Draws a line from each point straight down to the floor of the box, in
100263
+ * its group's color, so where a point stands across and in depth reads off
100264
+ * the floor's grid. A renderer draws them too.
97509
100265
  * - `group-by`/`groupBy`: The column of text that puts each point in a group, by its heading. None by default.
100266
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
100267
+ * alone and fill the plot, as a picture on a product's own page does. The
100268
+ * table, the summary, the tooltip, and the keys still carry every value,
100269
+ * and a renderer draws no box either.
97510
100270
  * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
97511
100271
  * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of points, written
97512
100272
  * in the locale, and `{x}`, `{y}`, and `{z}` are the three measures' names.
@@ -97583,250 +100343,531 @@ export type CustomElementsSolidJs = {
97583
100343
  *
97584
100344
  * Events that will be emitted by the component.
97585
100345
  *
97586
- * - `helix-plot-change`: The points or the point the keys rest on changed, which the renderer is told. It stays on the chart.
100346
+ * - `helix-plot-change`: The points or the point the keys rest on changed, which the renderer is told. It stays on the chart.
100347
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
100348
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
100349
+ * - `helix-reading-press`: A point was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
100350
+ *
100351
+ * ## Slots
100352
+ *
100353
+ * Areas where markup can be added to the component.
100354
+ *
100355
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
100356
+ * - `empty`: Content shown when the table has no points. Falls back to `empty-text`.
100357
+ * - `loading`: Content shown while `loading` is set and there are no points yet. Falls back to `loading-text`.
100358
+ *
100359
+ * ## Methods
100360
+ *
100361
+ * Methods that can be called to access component functionality.
100362
+ *
100363
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
100364
+ *
100365
+ * **A cell's place in its row is not its series' depth, and the tooltip
100366
+ * spent a while assuming it was.** `readSeries` drops a column nothing
100367
+ * parses and `readRows` keeps it, so one column of notes among the figures
100368
+ * moves every column after it one color along in the bubble: a row reading
100369
+ * `Referral 1,080` wearing series three's green beside a legend that says
100370
+ * series three is something else, which is the one failure the dot exists
100371
+ * to prevent.
100372
+ *
100373
+ * Overridden where a chart reads the table some other way. `ScatterChart`
100374
+ * splits the first plotted column off as the measure across, so its first
100375
+ * *plotted* series is this table's second numeric column.
100376
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
100377
+ * reading the same table hid it.
100378
+ *
100379
+ * Asked of the table rather than of a legend, the table being the one
100380
+ * thing the two share: see `SourceController.hide`. A series keeps its
100381
+ * palette slot while it is hidden, so the colors of the others do not move.
100382
+ * For a ring the names are its rows, the slices being the rows.
100383
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
100384
+ * by its column's heading. The keys and the readout pass over one a
100385
+ * legend hid.
100386
+ *
100387
+ * A column's heading is the cell's name in every row, so the first row
100388
+ * answers for the column.
100389
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
100390
+ * column's heading, read from the first row that has a cell there, so a
100391
+ * short first row does not lose the heading. `''` where no row has one.
100392
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the points, which hides the chart's
100393
+ * own drawing or shows it again. Called by the connector.
100394
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the point at `index`, or lets it go with `-1`, as a
100395
+ * pointer resting on it in the renderer's drawing or a press there does.
100396
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
100397
+ * reading the keys moved to leaves it. Called by the connector.
100398
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
100399
+ * its top left, or `undefined` while it draws none. The tooltip points
100400
+ * there. Called by the connector.
100401
+ *
100402
+ * ## CSS Custom Properties
100403
+ *
100404
+ * CSS variables available for styling the component.
100405
+ *
100406
+ * - `--spatial-scatter-chart-block-size`: How tall the plot is.
100407
+ *
100408
+ * ## CSS Parts
100409
+ *
100410
+ * Custom selectors for styling elements within the component.
100411
+ *
100412
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
100413
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the points.
100414
+ * - `drop-line`: The line from a point straight down to the floor of the box, drawn under `drop-lines`, in its group's color.
100415
+ * - `empty`: The words when the table has no points: the `empty` slot, falling back to `empty-text`.
100416
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
100417
+ * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
100418
+ * - `live`: The readout: a polite live region that says the point the keys moved to. Hide it visually.
100419
+ * - `loading`: The words while `loading` is set and there are no points.
100420
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
100421
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
100422
+ * - `point`: One point of the chart's own drawing.
100423
+ * - `point-active`: The point the pointer or the keys rest on, in the chart's own drawing. Set alongside `point`.
100424
+ * - `ring`: The ring around the point the pointer or the keys rest on, drawn over every point.
100425
+ * - `summary`: The three measures and the number of points, written as a sentence for screen readers, which describes the plot. Hide it visually.
100426
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
100427
+ * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
100428
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
100429
+ * - `tooltip-anchor`: The `Tooltip` element itself.
100430
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
100431
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
100432
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
100433
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
100434
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
100435
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
100436
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
100437
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
100438
+ * - `tooltip-label`: The row's own name inside the tooltip.
100439
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
100440
+ * - `tooltip-name`: A column's name inside the tooltip.
100441
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
100442
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
100443
+ * - `tooltip-value`: A column's value inside the tooltip.
100444
+ *
100445
+ * ## CSS States
100446
+ *
100447
+ * These can be used to apply styling when a component is in a given state.
100448
+ *
100449
+ * - `active`: While a point is shown, under the pointer or the keys.
100450
+ * - `drawn`: While a renderer has drawn the points, and the chart's own drawing is hidden.
100451
+ * - `empty`: While the `empty` part stands in place of the points.
100452
+ * - `loading`: While the `loading` part stands in place of the points.
100453
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
100454
+ */
100455
+ "helix-spatial-scatter-chart": Partial<
100456
+ HelixSpatialScatterChartProps &
100457
+ HelixSpatialScatterChartSolidJsProps &
100458
+ BaseProps<HelixSpatialScatterChart> &
100459
+ BaseEvents<HelixSpatialScatterChart>
100460
+ >;
100461
+
100462
+ /**
100463
+ * The chart draws the surface in 3D in SVG, and `@fusion.dev/helix-plot` can
100464
+ * draw it with three.js. Every height is shaded along one
100465
+ * ramp from the theme's primary color, quiet where it is low and strong where
100466
+ * it is high, so the two drawings agree.
100467
+ *
100468
+ * ## Attributes & Properties
100469
+ *
100470
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
100471
+ *
100472
+ * - `emphasis`: How strongly the surface is drawn, as on every chart.
100473
+ *
100474
+ * `outlined` is a wireframe in the ramp's colors over a surface faded toward
100475
+ * the page, and `subtle` the same wireframe over a faint surface that the
100476
+ * grid behind shows through, so a reading the surface hid from this side can
100477
+ * be seen. Absent is the filled surface, per the rule that a reflected
100478
+ * property takes no default, and `solid` writes it out. A renderer draws the
100479
+ * surface the same way.
100480
+ *
100481
+ * It composes with `material`: emphasis decides what is drawn, and material
100482
+ * how much of it comes through. The ring on the reading the keys rest on
100483
+ * keeps its own ink.
100484
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
100485
+ * most of what is behind it, `frosted` less, and absent is opaque. The
100486
+ * strength is the theme's, scaled by `--helix-material-opacity`.
100487
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
100488
+ * and the fallback of the `empty` slot.
100489
+ * - `loading`: Whether the readings are still on their way. The chart shows
100490
+ * `loading-text` in place of an empty drawing until it has readings.
100491
+ *
100492
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
100493
+ * that already has readings keeps drawing them, so a refresh does not
100494
+ * blank it.
100495
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
100496
+ * there are no readings yet, and the fallback of the `loading` slot.
100497
+ * - `for`: The id of the table to read.
100498
+ *
100499
+ * Names a table in the same tree, so a chart inside another component's
100500
+ * shadow root reads a table in that root rather than one in the document. A
100501
+ * `<table>` or anything built from grid roles, including `helix-table`.
100502
+ *
100503
+ * **In React this arrives as a property and not as an attribute**, the way
100504
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
100505
+ * - `label`: The chart's name, which starts the chart's text summary.
100506
+ *
100507
+ * Absent falls back to the table's own caption, which is usually the right
100508
+ * words and is already written.
100509
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
100510
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
100511
+ *
100512
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
100513
+ * cells are shown as the table writes them, whatever this says.
100514
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
100515
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
100516
+ * `locale`.
100517
+ *
100518
+ * Set it to the words of the page's language, such as `{position} von
100519
+ * {count}`, or to nothing to say no position. A slice or a series a
100520
+ * legend hid is not counted.
100521
+ * - `contours`: Draws the surface's contour lines on it, at each tick of its height, in
100522
+ * the ramp's colors, so its shape reads as on a map and two places at the
100523
+ * same height read as such. A renderer draws them too.
100524
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
100525
+ * alone and fill the plot, as a picture on a product's own page does. The
100526
+ * table, the summary, the tooltip, and the keys still carry every value,
100527
+ * and a renderer draws no box either.
100528
+ * - `open-label`/`openLabel`: What the readout says for a place with no reading. `{x}` and `{z}` are
100529
+ * the place's numbers across and in depth, and `{across}` and `{depth}`
100530
+ * the two measures' names.
100531
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
100532
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of readings,
100533
+ * written in the locale, `{x}`, `{z}`, and `{y}` are the measures across,
100534
+ * in depth, and up, and `{low}` and `{high}` the lowest and the highest
100535
+ * reading.
100536
+ * - `data`: The readings as data, in the shape of a table, where the page has no
100537
+ * table to point `for` at. `for` wins where both are set.
100538
+ *
100539
+ * ```js
100540
+ * chart.data = {
100541
+ * caption: 'Sessions by channel',
100542
+ * columns: ['Month', 'Direct', 'Referral'],
100543
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
100544
+ * }
100545
+ * ```
100546
+ *
100547
+ * The first column holds each row's label and every column after it a
100548
+ * series, as in a table. A cell is a number, words, `null` for a blank,
100549
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
100550
+ * number is shown in `locale`.
100551
+ *
100552
+ * **A table is still the better source where the page can show one**:
100553
+ * it reads with no script and before hydration, and a reader can sort and
100554
+ * copy it. Data is drawn on the client only, so a server serves the
100555
+ * frame, and the summary, the keys and the readout are then the whole of
100556
+ * what a screen reader is given. Set a new object to redraw: the chart
100557
+ * does not look inside the one it has. (property only)
100558
+ * - `series`: The table's columns, one series each. Empty when there is no table.
100559
+ *
100560
+ * Held by the controller between edits, so a render reading this five
100561
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
100562
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
100563
+ * then the table's caption.
100564
+ *
100565
+ * The fallback is the reason this is shared rather than copied: a caption is
100566
+ * already written, already the right words, and already the thing a reader
100567
+ * of the table sees. A chart that made the consumer say it twice would be
100568
+ * asking for the second one to drift.
100569
+ *
100570
+ * **An `aria-label` on the chart comes first**, because it is how a page
100571
+ * names an element, and the chart is a generic around its plot: written
100572
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
100573
+ * strip always did. (property only) (readonly)
100574
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
100575
+ *
100576
+ * The same test `readSeries` applies when it drops a column of notes: a
100577
+ * column is a series where any row parses, so a series survives one blank
100578
+ * cell and a column of words is never one. (property only) (readonly)
100579
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
100580
+ * - `field`: The table read as a grid of heights. **The first numeric column is
100581
+ * across, the second is in depth, and the third is the height.** A
100582
+ * renderer reads it. (property only) (readonly)
100583
+ * - `active`: The place the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
100584
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
100585
+ *
100586
+ * **Named `whenSettled` because `settled` is taken four times over**, by
100587
+ * Image, Splitter and both color controls, none of them about transitions. A
100588
+ * base class takes the name every subclass then cannot use.
100589
+ *
100590
+ * **The state it reports cannot be watched, which is why this exists.** A
100591
+ * custom state is deliberately not in the DOM, so there is no
100592
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
100593
+ * instead.
100594
+ *
100595
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
100596
+ * the suppression is still active in. That is the distinction `readyToMove`
100597
+ * in `@fusion.dev/helix-testing` is written around.
100598
+ *
100599
+ * It never resolves where `requestAnimationFrame` never fires, which is a
100600
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
100601
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
100602
+ * browser harness's awaits it alone: a browser always runs the frame, and a
100603
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
100604
+ *
100605
+ * ## Events
100606
+ *
100607
+ * Events that will be emitted by the component.
100608
+ *
100609
+ * - `helix-plot-change`: The readings or the place the keys rest on changed, which the renderer is told. It stays on the chart.
100610
+ * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
100611
+ * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none or a place with no reading, with its `label` and the `pointerType` that moved it.
100612
+ * - `helix-reading-press`: A place was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
100613
+ *
100614
+ * ## Slots
100615
+ *
100616
+ * Areas where markup can be added to the component.
100617
+ *
100618
+ * - `(default)`: The renderer's box, which the 3D drawing is made in.
100619
+ * - `empty`: Content shown when the table has no readings. Falls back to `empty-text`.
100620
+ * - `loading`: Content shown while `loading` is set and there are no readings yet. Falls back to `loading-text`.
100621
+ *
100622
+ * ## Methods
100623
+ *
100624
+ * Methods that can be called to access component functionality.
100625
+ *
100626
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
100627
+ *
100628
+ * **A cell's place in its row is not its series' depth, and the tooltip
100629
+ * spent a while assuming it was.** `readSeries` drops a column nothing
100630
+ * parses and `readRows` keeps it, so one column of notes among the figures
100631
+ * moves every column after it one color along in the bubble: a row reading
100632
+ * `Referral 1,080` wearing series three's green beside a legend that says
100633
+ * series three is something else, which is the one failure the dot exists
100634
+ * to prevent.
100635
+ *
100636
+ * Overridden where a chart reads the table some other way. `ScatterChart`
100637
+ * splits the first plotted column off as the measure across, so its first
100638
+ * *plotted* series is this table's second numeric column.
100639
+ * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
100640
+ * reading the same table hid it.
100641
+ *
100642
+ * Asked of the table rather than of a legend, the table being the one
100643
+ * thing the two share: see `SourceController.hide`. A series keeps its
100644
+ * palette slot while it is hidden, so the colors of the others do not move.
100645
+ * For a ring the names are its rows, the slices being the rows.
100646
+ * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
100647
+ * by its column's heading. The keys and the readout pass over one a
100648
+ * legend hid.
100649
+ *
100650
+ * A column's heading is the cell's name in every row, so the first row
100651
+ * answers for the column.
100652
+ * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
100653
+ * column's heading, read from the first row that has a cell there, so a
100654
+ * short first row does not lose the heading. `''` where no row has one.
100655
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the surface, which hides the chart's
100656
+ * own drawing or shows it again. Called by the connector.
100657
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the place at `index`, or lets it go with `-1`, as a
100658
+ * pointer resting on it in the renderer's drawing or a press there does.
100659
+ * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
100660
+ * reading the keys moved to leaves it. Called by the connector.
100661
+ * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
100662
+ * its top left, or `undefined` while it draws none. The tooltip points
100663
+ * there. Called by the connector.
100664
+ *
100665
+ * ## CSS Custom Properties
100666
+ *
100667
+ * CSS variables available for styling the component.
100668
+ *
100669
+ * - `--spatial-surface-chart-block-size`: How tall the plot is.
100670
+ * - `--spatial-surface-chart-high`: The color of the highest reading, which the renderer reads too.
100671
+ * - `--spatial-surface-chart-low`: The color of the lowest reading, which the renderer reads too.
100672
+ * - `--spatial-surface-chart-level`: 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.
100673
+ * - `--spatial-surface-chart-shade`: 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.
100674
+ *
100675
+ * ## CSS Parts
100676
+ *
100677
+ * Custom selectors for styling elements within the component.
100678
+ *
100679
+ * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
100680
+ * - `contour`: The pieces of one contour line that cross one square of the surface, drawn under `contours` at their height, colored along the ramp by it.
100681
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the surface.
100682
+ * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
100683
+ * - `face`: One square of the surface between four readings, or a triangle where one is missing, shaded by its height and by which way it faces.
100684
+ * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
100685
+ * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
100686
+ * - `live`: The readout: a polite live region that says the place the keys moved to. Hide it visually.
100687
+ * - `loading`: The words while `loading` is set and there are no readings.
100688
+ * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
100689
+ * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
100690
+ * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the surface.
100691
+ * - `summary`: The measures, the number of readings, and the range of heights, written as a sentence for screen readers, which describes the plot. Hide it visually.
100692
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
100693
+ * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
100694
+ * - `tooltip`: The bubble, forwarded from `Tooltip`.
100695
+ * - `tooltip-anchor`: The `Tooltip` element itself.
100696
+ * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
100697
+ * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
100698
+ * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
100699
+ * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
100700
+ * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
100701
+ * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
100702
+ * - `tooltip-cell`: One column's name and value inside the tooltip.
100703
+ * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
100704
+ * - `tooltip-label`: The row's own name inside the tooltip.
100705
+ * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
100706
+ * - `tooltip-name`: A column's name inside the tooltip.
100707
+ * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
100708
+ * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
100709
+ * - `tooltip-value`: A column's value inside the tooltip.
100710
+ *
100711
+ * ## CSS States
100712
+ *
100713
+ * These can be used to apply styling when a component is in a given state.
100714
+ *
100715
+ * - `active`: While a place is shown, under the pointer or the keys.
100716
+ * - `drawn`: While a renderer has drawn the surface, and the chart's own drawing is hidden.
100717
+ * - `empty`: While the `empty` part stands in place of the readings.
100718
+ * - `loading`: While the `loading` part stands in place of the readings.
100719
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
100720
+ */
100721
+ "helix-spatial-surface-chart": Partial<
100722
+ HelixSpatialSurfaceChartProps &
100723
+ HelixSpatialSurfaceChartSolidJsProps &
100724
+ BaseProps<HelixSpatialSurfaceChart> &
100725
+ BaseEvents<HelixSpatialSurfaceChart>
100726
+ >;
100727
+
100728
+ /**
100729
+ * Each group takes a series color from the theme, as every chart's series
100730
+ * does, and each face of a block is that color darkened by how far it turns
100731
+ * from the light. The chart draws the blocks in 3D in SVG, and
100732
+ * `@fusion.dev/helix-plot` can draw them with three.js.
100733
+ *
100734
+ * ## Attributes & Properties
100735
+ *
100736
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
100737
+ *
100738
+ * - `emphasis`: How strongly the blocks are drawn, as on every chart.
100739
+ *
100740
+ * `outlined` is a block as its edges in its group's color over faces faded
100741
+ * toward the page, and `subtle` the same edges over a faint wash, which
100742
+ * shows the blocks behind it. Absent is the filled block, per the rule that a
100743
+ * reflected property takes no default, and `solid` writes it out. A
100744
+ * renderer draws the blocks the same way.
100745
+ *
100746
+ * It composes with `material`: emphasis decides what is drawn, and material
100747
+ * how much of it comes through. The outline on the block the keys rest on
100748
+ * keeps its own ink.
100749
+ * - `material`: How much of each mark comes through, as on every chart: `glass` admits the
100750
+ * most of what is behind it, `frosted` less, and absent is opaque. The
100751
+ * strength is the theme's, scaled by `--helix-material-opacity`.
100752
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
100753
+ * and the fallback of the `empty` slot.
100754
+ * - `loading`: Whether the readings are still on their way. The chart shows
100755
+ * `loading-text` in place of an empty drawing until it has readings.
100756
+ *
100757
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
100758
+ * that already has readings keeps drawing them, so a refresh does not
100759
+ * blank it.
100760
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
100761
+ * there are no readings yet, and the fallback of the `loading` slot.
100762
+ * - `for`: The id of the table to read.
100763
+ *
100764
+ * Names a table in the same tree, so a chart inside another component's
100765
+ * shadow root reads a table in that root rather than one in the document. A
100766
+ * `<table>` or anything built from grid roles, including `helix-table`.
100767
+ *
100768
+ * **In React this arrives as a property and not as an attribute**, the way
100769
+ * `Tooltip.for` does, so it does not reflect and nothing styles on it.
100770
+ * - `label`: The chart's name, which starts the chart's text summary.
100771
+ *
100772
+ * Absent falls back to the table's own caption, which is usually the right
100773
+ * words and is already written.
100774
+ * - `locale`: The locale the chart's own numbers are written in: its axis, its
100775
+ * percentages and its totals, such as `de` for `1.240` and `32 %`.
100776
+ *
100777
+ * Absent reads the nearest `lang`, then the runtime's own. The table's
100778
+ * cells are shown as the table writes them, whatever this says.
100779
+ * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
100780
+ * it. `{position}` and `{count}` are replaced with the numbers, written in
100781
+ * `locale`.
100782
+ *
100783
+ * Set it to the words of the page's language, such as `{position} von
100784
+ * {count}`, or to nothing to say no position. A slice or a series a
100785
+ * legend hid is not counted.
100786
+ * - `group-by`/`groupBy`: The column of text that gathers the rows into groups, by its heading. None by default.
100787
+ * - `no-box`/`noBox`: Draws no box: no edges, grid, numbers, or names, so the readings stand
100788
+ * alone and fill the plot, as a picture on a product's own page does. The
100789
+ * table, the summary, the tooltip, and the keys still carry every value,
100790
+ * and a renderer draws no box either.
100791
+ * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
100792
+ * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` and `{groups}` are the number
100793
+ * of items and groups, written in the locale, and `{low}` and `{high}` the
100794
+ * smallest and the largest size.
100795
+ * - `data`: The readings as data, in the shape of a table, where the page has no
100796
+ * table to point `for` at. `for` wins where both are set.
100797
+ *
100798
+ * ```js
100799
+ * chart.data = {
100800
+ * caption: 'Sessions by channel',
100801
+ * columns: ['Month', 'Direct', 'Referral'],
100802
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
100803
+ * }
100804
+ * ```
100805
+ *
100806
+ * The first column holds each row's label and every column after it a
100807
+ * series, as in a table. A cell is a number, words, `null` for a blank,
100808
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
100809
+ * number is shown in `locale`.
100810
+ *
100811
+ * **A table is still the better source where the page can show one**:
100812
+ * it reads with no script and before hydration, and a reader can sort and
100813
+ * copy it. Data is drawn on the client only, so a server serves the
100814
+ * frame, and the summary, the keys and the readout are then the whole of
100815
+ * what a screen reader is given. Set a new object to redraw: the chart
100816
+ * does not look inside the one it has. (property only)
100817
+ * - `series`: The table's columns, one series each. Empty when there is no table.
100818
+ *
100819
+ * Held by the controller between edits, so a render reading this five
100820
+ * times parses the table once. See `SourceController.series`. (property only) (readonly)
100821
+ * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
100822
+ * then the table's caption.
100823
+ *
100824
+ * The fallback is the reason this is shared rather than copied: a caption is
100825
+ * already written, already the right words, and already the thing a reader
100826
+ * of the table sees. A chart that made the consumer say it twice would be
100827
+ * asking for the second one to drift.
100828
+ *
100829
+ * **An `aria-label` on the chart comes first**, because it is how a page
100830
+ * names an element, and the chart is a generic around its plot: written
100831
+ * on the host, the name reached nobody. The plot takes it, as Heatmap's
100832
+ * strip always did. (property only) (readonly)
100833
+ * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
100834
+ *
100835
+ * The same test `readSeries` applies when it drops a column of notes: a
100836
+ * column is a series where any row parses, so a series survives one blank
100837
+ * cell and a column of words is never one. (property only) (readonly)
100838
+ * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
100839
+ * - `field`: The table read as blocks. **The first numeric column is each block's
100840
+ * size, and the second its height.** A renderer reads it. (property only) (readonly)
100841
+ * - `active`: The block the keys or the pointer rest on, as its place in `field.blocks`, or `-1`. (property only) (readonly)
100842
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
100843
+ *
100844
+ * **Named `whenSettled` because `settled` is taken four times over**, by
100845
+ * Image, Splitter and both color controls, none of them about transitions. A
100846
+ * base class takes the name every subclass then cannot use.
100847
+ *
100848
+ * **The state it reports cannot be watched, which is why this exists.** A
100849
+ * custom state is deliberately not in the DOM, so there is no
100850
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
100851
+ * instead.
100852
+ *
100853
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
100854
+ * the suppression is still active in. That is the distinction `readyToMove`
100855
+ * in `@fusion.dev/helix-testing` is written around.
100856
+ *
100857
+ * It never resolves where `requestAnimationFrame` never fires, which is a
100858
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
100859
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
100860
+ * browser harness's awaits it alone: a browser always runs the frame, and a
100861
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
100862
+ *
100863
+ * ## Events
100864
+ *
100865
+ * Events that will be emitted by the component.
100866
+ *
100867
+ * - `helix-plot-change`: The blocks or the block the keys rest on changed, which the renderer is told. It stays on the chart.
97587
100868
  * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
97588
100869
  * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none, with its `label` and the `pointerType` that moved it.
97589
- * - `helix-reading-press`: A point was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
97590
- *
97591
- * ## Slots
97592
- *
97593
- * Areas where markup can be added to the component.
97594
- *
97595
- * - `(default)`: The renderer's box, which the 3D drawing is made in.
97596
- * - `empty`: Content shown when the table has no points. Falls back to `empty-text`.
97597
- * - `loading`: Content shown while `loading` is set and there are no points yet. Falls back to `loading-text`.
97598
- *
97599
- * ## Methods
97600
- *
97601
- * Methods that can be called to access component functionality.
97602
- *
97603
- * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
97604
- *
97605
- * **A cell's place in its row is not its series' depth, and the tooltip
97606
- * spent a while assuming it was.** `readSeries` drops a column nothing
97607
- * parses and `readRows` keeps it, so one column of notes among the figures
97608
- * moves every column after it one color along in the bubble: a row reading
97609
- * `Referral 1,080` wearing series three's green beside a legend that says
97610
- * series three is something else, which is the one failure the dot exists
97611
- * to prevent.
97612
- *
97613
- * Overridden where a chart reads the table some other way. `ScatterChart`
97614
- * splits the first plotted column off as the measure across, so its first
97615
- * *plotted* series is this table's second numeric column.
97616
- * - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
97617
- * reading the same table hid it.
97618
- *
97619
- * Asked of the table rather than of a legend, the table being the one
97620
- * thing the two share: see `SourceController.hide`. A series keeps its
97621
- * palette slot while it is hidden, so the colors of the others do not move.
97622
- * For a ring the names are its rows, the slices being the rows.
97623
- * - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
97624
- * by its column's heading. The keys and the readout pass over one a
97625
- * legend hid.
97626
- *
97627
- * A column's heading is the cell's name in every row, so the first row
97628
- * answers for the column.
97629
- * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
97630
- * column's heading, read from the first row that has a cell there, so a
97631
- * short first row does not lose the heading. `''` where no row has one.
97632
- * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the points, which hides the chart's
97633
- * own drawing or shows it again. Called by the connector.
97634
- * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the point at `index`, or lets it go with `-1`, as a
97635
- * pointer resting on it in the renderer's drawing or a press there does.
97636
- * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
97637
- * reading the keys moved to leaves it. Called by the connector.
97638
- * - `placeReading(at: { x: number; y: number } | undefined) => void`: Says where the renderer draws the reading, as fractions of the plot from
97639
- * its top left, or `undefined` while it draws none. The tooltip points
97640
- * there. Called by the connector.
97641
- *
97642
- * ## CSS Custom Properties
97643
- *
97644
- * CSS variables available for styling the component.
97645
- *
97646
- * - `--spatial-scatter-chart-block-size`: How tall the plot is.
97647
- *
97648
- * ## CSS Parts
97649
- *
97650
- * Custom selectors for styling elements within the component.
97651
- *
97652
- * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
97653
- * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the points.
97654
- * - `empty`: The words when the table has no points: the `empty` slot, falling back to `empty-text`.
97655
- * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
97656
- * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
97657
- * - `live`: The readout: a polite live region that says the point the keys moved to. Hide it visually.
97658
- * - `loading`: The words while `loading` is set and there are no points.
97659
- * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
97660
- * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
97661
- * - `point`: One point of the chart's own drawing.
97662
- * - `point-active`: The point the pointer or the keys rest on, in the chart's own drawing. Set alongside `point`.
97663
- * - `ring`: The ring around the point the pointer or the keys rest on, drawn over every point.
97664
- * - `summary`: The three measures and the number of points, written as a sentence for screen readers, which describes the plot. Hide it visually.
97665
- * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
97666
- * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
97667
- * - `tooltip`: The bubble, forwarded from `Tooltip`.
97668
- * - `tooltip-anchor`: The `Tooltip` element itself.
97669
- * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
97670
- * - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
97671
- * - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
97672
- * - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
97673
- * - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
97674
- * - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
97675
- * - `tooltip-cell`: One column's name and value inside the tooltip.
97676
- * - `tooltip-cell-current`: The cell a chart's series keys rest on, which every chart's tooltip can mark. This chart marks none, since its readout says the measure. Set alongside `tooltip-cell`.
97677
- * - `tooltip-label`: The row's own name inside the tooltip.
97678
- * - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
97679
- * - `tooltip-name`: A column's name inside the tooltip.
97680
- * - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
97681
- * - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
97682
- * - `tooltip-value`: A column's value inside the tooltip.
97683
- *
97684
- * ## CSS States
97685
- *
97686
- * These can be used to apply styling when a component is in a given state.
97687
- *
97688
- * - `active`: While a point is shown, under the pointer or the keys.
97689
- * - `drawn`: While a renderer has drawn the points, and the chart's own drawing is hidden.
97690
- * - `empty`: While the `empty` part stands in place of the points.
97691
- * - `loading`: While the `loading` part stands in place of the points.
97692
- * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
97693
- */
97694
- "helix-spatial-scatter-chart": Partial<
97695
- HelixSpatialScatterChartProps &
97696
- HelixSpatialScatterChartSolidJsProps &
97697
- BaseProps<HelixSpatialScatterChart> &
97698
- BaseEvents<HelixSpatialScatterChart>
97699
- >;
97700
-
97701
- /**
97702
- * The chart draws the surface in 3D in SVG, and `@fusion.dev/helix-plot` can
97703
- * draw it with three.js. Every height is shaded along one
97704
- * ramp from the theme's primary color, quiet where it is low and strong where
97705
- * it is high, so the two drawings agree.
97706
- *
97707
- * ## Attributes & Properties
97708
- *
97709
- * Component attributes and properties that can be applied to the element or by using JavaScript.
97710
- *
97711
- * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
97712
- * and the fallback of the `empty` slot.
97713
- * - `loading`: Whether the readings are still on their way. The chart shows
97714
- * `loading-text` in place of an empty drawing until it has readings.
97715
- *
97716
- * Reflected, so a stylesheet can treat the chart while it waits. A chart
97717
- * that already has readings keeps drawing them, so a refresh does not
97718
- * blank it.
97719
- * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
97720
- * there are no readings yet, and the fallback of the `loading` slot.
97721
- * - `for`: The id of the table to read.
97722
- *
97723
- * Names a table in the same tree, so a chart inside another component's
97724
- * shadow root reads a table in that root rather than one in the document. A
97725
- * `<table>` or anything built from grid roles, including `helix-table`.
97726
- *
97727
- * **In React this arrives as a property and not as an attribute**, the way
97728
- * `Tooltip.for` does, so it does not reflect and nothing styles on it.
97729
- * - `label`: The chart's name, which starts the chart's text summary.
97730
- *
97731
- * Absent falls back to the table's own caption, which is usually the right
97732
- * words and is already written.
97733
- * - `locale`: The locale the chart's own numbers are written in: its axis, its
97734
- * percentages and its totals, such as `de` for `1.240` and `32 %`.
97735
- *
97736
- * Absent reads the nearest `lang`, then the runtime's own. The table's
97737
- * cells are shown as the table writes them, whatever this says.
97738
- * - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
97739
- * it. `{position}` and `{count}` are replaced with the numbers, written in
97740
- * `locale`.
97741
- *
97742
- * Set it to the words of the page's language, such as `{position} von
97743
- * {count}`, or to nothing to say no position. A slice or a series a
97744
- * legend hid is not counted.
97745
- * - `open-label`/`openLabel`: What the readout says for a place with no reading. `{x}` and `{z}` are
97746
- * the place's numbers across and in depth, and `{across}` and `{depth}`
97747
- * the two measures' names.
97748
- * - `plot-label`/`plotLabel`: The plot's name where the chart has none: no `aria-label`, `label`, or table caption.
97749
- * - `summary-label`/`summaryLabel`: The `summary` part's sentence. `{count}` is the number of readings,
97750
- * written in the locale, `{x}`, `{z}`, and `{y}` are the measures across,
97751
- * in depth, and up, and `{low}` and `{high}` the lowest and the highest
97752
- * reading.
97753
- * - `data`: The readings as data, in the shape of a table, where the page has no
97754
- * table to point `for` at. `for` wins where both are set.
97755
- *
97756
- * ```js
97757
- * chart.data = {
97758
- * caption: 'Sessions by channel',
97759
- * columns: ['Month', 'Direct', 'Referral'],
97760
- * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
97761
- * }
97762
- * ```
97763
- *
97764
- * The first column holds each row's label and every column after it a
97765
- * series, as in a table. A cell is a number, words, `null` for a blank,
97766
- * or `{ value, text }` for a number shown as words, such as `$128k`. A
97767
- * number is shown in `locale`.
97768
- *
97769
- * **A table is still the better source where the page can show one**:
97770
- * it reads with no script and before hydration, and a reader can sort and
97771
- * copy it. Data is drawn on the client only, so a server serves the
97772
- * frame, and the summary, the keys and the readout are then the whole of
97773
- * what a screen reader is given. Set a new object to redraw: the chart
97774
- * does not look inside the one it has. (property only)
97775
- * - `series`: The table's columns, one series each. Empty when there is no table.
97776
- *
97777
- * Held by the controller between edits, so a render reading this five
97778
- * times parses the table once. See `SourceController.series`. (property only) (readonly)
97779
- * - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
97780
- * then the table's caption.
97781
- *
97782
- * The fallback is the reason this is shared rather than copied: a caption is
97783
- * already written, already the right words, and already the thing a reader
97784
- * of the table sees. A chart that made the consumer say it twice would be
97785
- * asking for the second one to drift.
97786
- *
97787
- * **An `aria-label` on the chart comes first**, because it is how a page
97788
- * names an element, and the chart is a generic around its plot: written
97789
- * on the host, the name reached nobody. The plot takes it, as Heatmap's
97790
- * strip always did. (property only) (readonly)
97791
- * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
97792
- *
97793
- * The same test `readSeries` applies when it drops a column of notes: a
97794
- * column is a series where any row parses, so a series survives one blank
97795
- * cell and a column of words is never one. (property only) (readonly)
97796
- * - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
97797
- * - `field`: The table read as a grid of heights. **The first numeric column is
97798
- * across, the second is in depth, and the third is the height.** A
97799
- * renderer reads it. (property only) (readonly)
97800
- * - `active`: The place the keys or the pointer rest on, as its place in `field.cells`, or `-1`. (property only) (readonly)
97801
- * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
97802
- *
97803
- * **Named `whenSettled` because `settled` is taken four times over**, by
97804
- * Image, Splitter and both color controls, none of them about transitions. A
97805
- * base class takes the name every subclass then cannot use.
97806
- *
97807
- * **The state it reports cannot be watched, which is why this exists.** A
97808
- * custom state is deliberately not in the DOM, so there is no
97809
- * `MutationObserver` equivalent for `ElementInternals.states`. Await this
97810
- * instead.
97811
- *
97812
- * Separate from `updateComplete`, which resolves in the microtask checkpoint
97813
- * the suppression is still active in. That is the distinction `readyToMove`
97814
- * in `@fusion.dev/helix-testing` is written around.
97815
- *
97816
- * It never resolves where `requestAnimationFrame` never fires, which is a
97817
- * server, a hidden tab, and happy-dom. Callers that must not hang there race
97818
- * it against a timeout, as the happy-dom harness's `readyToMove` does. The
97819
- * browser harness's awaits it alone: a browser always runs the frame, and a
97820
- * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
97821
- *
97822
- * ## Events
97823
- *
97824
- * Events that will be emitted by the component.
97825
- *
97826
- * - `helix-plot-change`: The readings or the place the keys rest on changed, which the renderer is told. It stays on the chart.
97827
- * - `helix-plot-turn`: Shift with an arrow asked the view to turn, by a step across or up.
97828
- * - `helix-reading-change`: The reading moved, or was put away: `index` is the row, or `-1` for none or a place with no reading, with its `label` and the `pointerType` that moved it.
97829
- * - `helix-reading-press`: A place was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
100870
+ * - `helix-reading-press`: A block was clicked or pressed with Enter or Space, with the same detail as `helix-reading-change`.
97830
100871
  *
97831
100872
  * ## Slots
97832
100873
  *
@@ -97869,9 +100910,9 @@ export type CustomElementsSolidJs = {
97869
100910
  * - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
97870
100911
  * column's heading, read from the first row that has a cell there, so a
97871
100912
  * short first row does not lose the heading. `''` where no row has one.
97872
- * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the surface, which hides the chart's
97873
- * own drawing or shows it again. Called by the connector.
97874
- * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the place at `index`, or lets it go with `-1`, as a
100913
+ * - `rendererDrawn(on = true) => void`: Says whether a renderer has drawn the blocks, which hides the chart's own
100914
+ * drawing or shows it again. Called by the connector.
100915
+ * - `requestActive(index: number, kind: 'mouse' | 'pen' | 'touch' = 'mouse') => void`: Puts the reading on the block at `index`, or lets it go with `-1`, as a
97875
100916
  * pointer resting on it in the renderer's drawing or a press there does.
97876
100917
  * A touch keeps it until a tap lands elsewhere, and a mouse leaving a
97877
100918
  * reading the keys moved to leaves it. Called by the connector.
@@ -97883,30 +100924,29 @@ export type CustomElementsSolidJs = {
97883
100924
  *
97884
100925
  * CSS variables available for styling the component.
97885
100926
  *
97886
- * - `--spatial-surface-chart-block-size`: How tall the plot is.
97887
- * - `--spatial-surface-chart-high`: The color of the highest reading, which the renderer reads too.
97888
- * - `--spatial-surface-chart-low`: The color of the lowest reading, which the renderer reads too.
97889
- * - `--spatial-surface-chart-level`: 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.
97890
- * - `--spatial-surface-chart-shade`: 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.
100927
+ * - `--spatial-treemap-block-size`: How tall the plot is.
100928
+ * - `--spatial-treemap-shade`: 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.
97891
100929
  *
97892
100930
  * ## CSS Parts
97893
100931
  *
97894
100932
  * Custom selectors for styling elements within the component.
97895
100933
  *
97896
- * - `axis-name`: A measure's name, along its edge of the box, in the chart's own drawing.
97897
- * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the surface.
100934
+ * - `axis-name`: The height's name, along its edge of the box, in the chart's own drawing.
100935
+ * - `block`: One block, its faces in its group's color.
100936
+ * - `block-active`: The block the pointer or the keys rest on. Set alongside `block`.
100937
+ * - `drawing`: The chart's own drawing in SVG: the box, its grid and numbers, and the blocks.
97898
100938
  * - `empty`: The words when the table has no readings: the `empty` slot, falling back to `empty-text`.
97899
- * - `face`: One square of the surface between four readings, or a triangle where one is missing, shaded by its height and by which way it faces.
100939
+ * - `face`: One face of a block the view shows, shaded by which way it faces.
97900
100940
  * - `fallback`: The box the chart's own drawing fills, shown until a renderer has drawn and where none is connected. Hidden from screen readers.
97901
- * - `grid`: The box's edges and its grid at the ticks, in the chart's own drawing.
97902
- * - `live`: The readout: a polite live region that says the place the keys moved to. Hide it visually.
100941
+ * - `grid`: The box's edges and its grid, in the chart's own drawing.
100942
+ * - `live`: The readout: a polite live region that says the item the keys moved to. Hide it visually.
97903
100943
  * - `loading`: The words while `loading` is set and there are no readings.
97904
100944
  * - `mark`: The invisible point the tooltip is anchored to, where the renderer draws the reading.
97905
100945
  * - `plot`: The box the drawing fills, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
97906
- * - `ring`: The ring around the reading the pointer or the keys rest on, drawn over the surface.
97907
- * - `summary`: The measures, the number of readings, and the range of heights, written as a sentence for screen readers, which describes the plot. Hide it visually.
100946
+ * - `ring`: The outline around the block the pointer or the keys rest on, painted after it, so the blocks in front of it cover it.
100947
+ * - `summary`: The number of items and groups and the range of their sizes, written as a sentence for screen readers, which describes the plot. Hide it visually.
97908
100948
  * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
97909
- * - `tick`: A number at a tick, along its edge of the box, in the chart's own drawing.
100949
+ * - `tick`: A height at a tick, along its edge of the box, in the chart's own drawing.
97910
100950
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
97911
100951
  * - `tooltip-anchor`: The `Tooltip` element itself.
97912
100952
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -97928,17 +100968,17 @@ export type CustomElementsSolidJs = {
97928
100968
  *
97929
100969
  * These can be used to apply styling when a component is in a given state.
97930
100970
  *
97931
- * - `active`: While a place is shown, under the pointer or the keys.
97932
- * - `drawn`: While a renderer has drawn the surface, and the chart's own drawing is hidden.
100971
+ * - `active`: While a block is shown, under the pointer or the keys.
100972
+ * - `drawn`: While a renderer has drawn the blocks, and the chart's own drawing is hidden.
97933
100973
  * - `empty`: While the `empty` part stands in place of the readings.
97934
100974
  * - `loading`: While the `loading` part stands in place of the readings.
97935
100975
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
97936
100976
  */
97937
- "helix-spatial-surface-chart": Partial<
97938
- HelixSpatialSurfaceChartProps &
97939
- HelixSpatialSurfaceChartSolidJsProps &
97940
- BaseProps<HelixSpatialSurfaceChart> &
97941
- BaseEvents<HelixSpatialSurfaceChart>
100977
+ "helix-spatial-treemap": Partial<
100978
+ HelixSpatialTreemapProps &
100979
+ HelixSpatialTreemapSolidJsProps &
100980
+ BaseProps<HelixSpatialTreemap> &
100981
+ BaseEvents<HelixSpatialTreemap>
97942
100982
  >;
97943
100983
 
97944
100984
  /**
@@ -104488,6 +107528,12 @@ export type CustomElementsSolidJs = {
104488
107528
  * permitted is the browser's policy, and what follows a refused autoplay is a
104489
107529
  * paused player showing its start control, which is the correct thing to be
104490
107530
  * looking at.
107531
+ *
107532
+ * **Not where the reader asked for less motion**, or while the page has
107533
+ * paused its motion, through `pauseMotion` or `Motion Toggle`: the player
107534
+ * waits on its start control. A page that pauses its motion pauses a video
107535
+ * that started itself, and one that lets it run again plays it again. A
107536
+ * video the reader started is theirs, and neither touches it.
104491
107537
  * - `captions-hidden-label`/`captionsHiddenLabel`: What the live region says when `c` turns captions off.
104492
107538
  * - `captions-label`/`captionsLabel`: The name of the captions control when the video has one track. The control
104493
107539
  * turns that track on and off.
@@ -106486,6 +109532,8 @@ export type CustomCssProperties = {
106486
109532
  "--meter-fraction"?: (string) | undefined;
106487
109533
  /** How much of the circle the arc covers, as a path length. */
106488
109534
  "--meter-sweep"?: (string) | undefined;
109535
+ /** The button's fill. Defaults to the floating overlay surface. */
109536
+ "--motion-toggle-background-color"?: (string) | undefined;
106489
109537
  /** Height of the bar in a row. Each destination fills it. */
106490
109538
  "--navigation-block-size"?: (string) | undefined;
106491
109539
  /** Space between destinations. */
@@ -107024,6 +110072,10 @@ export type CustomCssProperties = {
107024
110072
  "--sparkline-readout-font-size"?: (string) | undefined;
107025
110073
  /** Thickness of the line, overriding `weight`. */
107026
110074
  "--sparkline-width"?: (string) | undefined;
110075
+ /** How tall the plot is. */
110076
+ "--spatial-bar-chart-block-size"?: (string) | undefined;
110077
+ /** 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. */
110078
+ "--spatial-bar-chart-shade"?: (string) | undefined;
107027
110079
  /** The largest a cell grows, along its edge. The strip is never wider than its box, and draws smaller cells to fit. */
107028
110080
  "--spatial-heatmap-cell-size"?: (string) | undefined;
107029
110081
  /** How much less light the left face is than the top, as a step of OKLCH lightness from 0 to 1. 0.07 by default. */
@@ -107039,6 +110091,10 @@ export type CustomCssProperties = {
107039
110091
  /** 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. */
107040
110092
  "--spatial-heatmap-span"?: (string) | undefined;
107041
110093
  /** How tall the plot is. */
110094
+ "--spatial-ribbon-chart-block-size"?: (string) | undefined;
110095
+ /** 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. */
110096
+ "--spatial-ribbon-chart-shade"?: (string) | undefined;
110097
+ /** How tall the plot is. */
107042
110098
  "--spatial-scatter-chart-block-size"?: (string) | undefined;
107043
110099
  /** How tall the plot is. */
107044
110100
  "--spatial-surface-chart-block-size"?: (string) | undefined;
@@ -107050,6 +110106,10 @@ export type CustomCssProperties = {
107050
110106
  "--spatial-surface-chart-level"?: (string) | undefined;
107051
110107
  /** 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. */
107052
110108
  "--spatial-surface-chart-shade"?: (string) | undefined;
110109
+ /** How tall the plot is. */
110110
+ "--spatial-treemap-block-size"?: (string) | undefined;
110111
+ /** 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. */
110112
+ "--spatial-treemap-shade"?: (string) | undefined;
107053
110113
  /** Color of the group's name. */
107054
110114
  "--speed-dial-group-label-color"?: (string) | undefined;
107055
110115
  /** Size of the group's name. */