@fusion.dev/helix 0.176.1 → 0.177.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/jsx.d.ts CHANGED
@@ -1696,6 +1696,13 @@ hit-testable at rest, or it would swallow clicks meant for what is over it,
1696
1696
  and an element that is not hit-testable never receives the `pointermove`
1697
1697
  this listens for. Asking for the pointer is asking for the hit test. */
1698
1698
  interactive?: (HelixAura["interactive"]) | undefined;
1699
+ /** Whether the field holds still on the frame it shows.
1700
+
1701
+ Set it from a pause control on your page, so a reader can stop the motion,
1702
+ as WCAG 2.2.2 asks of anything that moves for more than five seconds. A
1703
+ change to another property still repaints the frame. Clearing it starts
1704
+ the field from where it stopped. */
1705
+ paused?: (HelixAura["paused"]) | undefined;
1699
1706
  /** How far the pointer reaches into the field, `0` upward.
1700
1707
 
1701
1708
  Multiplied into the presence the pointer already fades in and out with, so
@@ -1808,6 +1815,13 @@ hit-testable at rest, or it would swallow clicks meant for what is over it,
1808
1815
  and an element that is not hit-testable never receives the `pointermove`
1809
1816
  this listens for. Asking for the pointer is asking for the hit test. */
1810
1817
  "prop:interactive"?: (HelixAura["interactive"]) | undefined;
1818
+ /** Whether the field holds still on the frame it shows.
1819
+
1820
+ Set it from a pause control on your page, so a reader can stop the motion,
1821
+ as WCAG 2.2.2 asks of anything that moves for more than five seconds. A
1822
+ change to another property still repaints the frame. Clearing it starts
1823
+ the field from where it stopped. */
1824
+ "prop:paused"?: (HelixAura["paused"]) | undefined;
1811
1825
  /** How far the pointer reaches into the field, `0` upward.
1812
1826
 
1813
1827
  Multiplied into the presence the pointer already fades in and out with, so
@@ -14216,6 +14230,18 @@ Unset is horizontal, or across the toolbar the divider sits in. */
14216
14230
  textContent?: (string | number) | undefined;
14217
14231
  };
14218
14232
 
14233
+ /** `HelixDonutChart` component event */
14234
+ export type HelixDonutChartElementEvent<E = Event> = TypedEvent<
14235
+ HelixDonutChart,
14236
+ E
14237
+ >;
14238
+ /** `helix-reading-change` event type */
14239
+ export type HelixDonutChartHelixReadingChangeElementEvent =
14240
+ HelixDonutChartElementEvent<HelixReadingChangeEvent>;
14241
+ /** `helix-reading-press` event type */
14242
+ export type HelixDonutChartHelixReadingPressElementEvent =
14243
+ HelixDonutChartElementEvent<HelixReadingPressEvent>;
14244
+
14219
14245
  export type HelixDonutChartProps = {
14220
14246
  /** How strongly the slices are drawn.
14221
14247
 
@@ -14258,6 +14284,25 @@ chart and a card mean the same thing by the word.
14258
14284
  material choice, it is an absent series, and a chart says that by not
14259
14285
  having the datum rather than by painting it invisibly. */
14260
14286
  material?: (HelixDonutChart["material"]) | undefined;
14287
+ /** The words shown in place of the drawing when the table has no readings,
14288
+ and the fallback of the `empty` slot. */
14289
+ "empty-text"?: (HelixDonutChart["emptyText"]) | undefined;
14290
+ /** The words shown in place of the drawing when the table has no readings,
14291
+ and the fallback of the `empty` slot. */
14292
+ emptyText?: (HelixDonutChart["emptyText"]) | undefined;
14293
+ /** Whether the readings are still on their way. The chart shows
14294
+ `loading-text` in place of an empty drawing until it has readings.
14295
+
14296
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
14297
+ that already has readings keeps drawing them, so a refresh does not
14298
+ blank it. */
14299
+ loading?: (HelixDonutChart["loading"]) | undefined;
14300
+ /** The words shown in place of the drawing while `loading` is set and
14301
+ there are no readings yet, and the fallback of the `loading` slot. */
14302
+ "loading-text"?: (HelixDonutChart["loadingText"]) | undefined;
14303
+ /** The words shown in place of the drawing while `loading` is set and
14304
+ there are no readings yet, and the fallback of the `loading` slot. */
14305
+ loadingText?: (HelixDonutChart["loadingText"]) | undefined;
14261
14306
  /** The id of the table to read.
14262
14307
 
14263
14308
  Names a table in the same tree, so a chart inside another component's
@@ -14381,6 +14426,15 @@ frame, and the summary, the keys and the readout are then the whole of
14381
14426
  what a screen reader is given. Set a new object to redraw: the chart
14382
14427
  does not look inside the one it has. */
14383
14428
  data?: (HelixDonutChart["data"]) | undefined;
14429
+
14430
+ /** The slice shown moved, or was put away: `index` is the slice's row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
14431
+ "onhelix-reading-change"?: ((
14432
+ e: HelixDonutChartHelixReadingChangeElementEvent,
14433
+ ) => void) | undefined;
14434
+ /** A slice was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
14435
+ "onhelix-reading-press"?: ((
14436
+ e: HelixDonutChartHelixReadingPressElementEvent,
14437
+ ) => void) | undefined;
14384
14438
  };
14385
14439
 
14386
14440
  export type HelixDonutChartSolidJsProps = {
@@ -14425,6 +14479,25 @@ chart and a card mean the same thing by the word.
14425
14479
  material choice, it is an absent series, and a chart says that by not
14426
14480
  having the datum rather than by painting it invisibly. */
14427
14481
  "prop:material"?: (HelixDonutChart["material"]) | undefined;
14482
+ /** The words shown in place of the drawing when the table has no readings,
14483
+ and the fallback of the `empty` slot. */
14484
+ "attr:empty-text"?: (HelixDonutChart["emptyText"]) | undefined;
14485
+ /** The words shown in place of the drawing when the table has no readings,
14486
+ and the fallback of the `empty` slot. */
14487
+ "prop:emptyText"?: (HelixDonutChart["emptyText"]) | undefined;
14488
+ /** Whether the readings are still on their way. The chart shows
14489
+ `loading-text` in place of an empty drawing until it has readings.
14490
+
14491
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
14492
+ that already has readings keeps drawing them, so a refresh does not
14493
+ blank it. */
14494
+ "prop:loading"?: (HelixDonutChart["loading"]) | undefined;
14495
+ /** The words shown in place of the drawing while `loading` is set and
14496
+ there are no readings yet, and the fallback of the `loading` slot. */
14497
+ "attr:loading-text"?: (HelixDonutChart["loadingText"]) | undefined;
14498
+ /** The words shown in place of the drawing while `loading` is set and
14499
+ there are no readings yet, and the fallback of the `loading` slot. */
14500
+ "prop:loadingText"?: (HelixDonutChart["loadingText"]) | undefined;
14428
14501
  /** The id of the table to read.
14429
14502
 
14430
14503
  Names a table in the same tree, so a chart inside another component's
@@ -14548,6 +14621,14 @@ frame, and the summary, the keys and the readout are then the whole of
14548
14621
  what a screen reader is given. Set a new object to redraw: the chart
14549
14622
  does not look inside the one it has. */
14550
14623
  "prop:data"?: (HelixDonutChart["data"]) | undefined;
14624
+ /** The slice shown moved, or was put away: `index` is the slice's row, or `-1` for none, with its `label` and the `pointerType` that moved it. */
14625
+ "on:helix-reading-change"?: ((
14626
+ e: HelixDonutChartHelixReadingChangeElementEvent,
14627
+ ) => void) | undefined;
14628
+ /** A slice was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
14629
+ "on:helix-reading-press"?: ((
14630
+ e: HelixDonutChartHelixReadingPressElementEvent,
14631
+ ) => void) | undefined;
14551
14632
 
14552
14633
  /** Set the innerHTML of the element */
14553
14634
  innerHTML?: (string) | undefined;
@@ -17140,6 +17221,14 @@ own, since the fallback name is the same word. Empty leaves the role. */
17140
17221
  "selected-label"?: (HelixGraph["selectedLabel"]) | undefined;
17141
17222
  /** How the selected note is described in the list. */
17142
17223
  selectedLabel?: (HelixGraph["selectedLabel"]) | undefined;
17224
+ /** What screen readers hear after a reader selects a note, in the list or in
17225
+ the drawing, with `{note}` for its name and `{count}` for how many notes
17226
+ the list then holds, written with `count-label`. */
17227
+ "selection-label"?: (HelixGraph["selectionLabel"]) | undefined;
17228
+ /** What screen readers hear after a reader selects a note, in the list or in
17229
+ the drawing, with `{note}` for its name and `{count}` for how many notes
17230
+ the list then holds, written with `count-label`. */
17231
+ selectionLabel?: (HelixGraph["selectionLabel"]) | undefined;
17143
17232
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
17144
17233
  "two-finger-hint-label"?: (HelixGraph["twoFingerHintLabel"]) | undefined;
17145
17234
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
@@ -17459,6 +17548,14 @@ own, since the fallback name is the same word. Empty leaves the role. */
17459
17548
  "attr:selected-label"?: (HelixGraph["selectedLabel"]) | undefined;
17460
17549
  /** How the selected note is described in the list. */
17461
17550
  "prop:selectedLabel"?: (HelixGraph["selectedLabel"]) | undefined;
17551
+ /** What screen readers hear after a reader selects a note, in the list or in
17552
+ the drawing, with `{note}` for its name and `{count}` for how many notes
17553
+ the list then holds, written with `count-label`. */
17554
+ "attr:selection-label"?: (HelixGraph["selectionLabel"]) | undefined;
17555
+ /** What screen readers hear after a reader selects a note, in the list or in
17556
+ the drawing, with `{note}` for its name and `{count}` for how many notes
17557
+ the list then holds, written with `count-label`. */
17558
+ "prop:selectionLabel"?: (HelixGraph["selectionLabel"]) | undefined;
17462
17559
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
17463
17560
  "attr:two-finger-hint-label"?: (HelixGraph["twoFingerHintLabel"]) | undefined;
17464
17561
  /** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
@@ -17876,8 +17973,9 @@ no order in it. */
17876
17973
  /** The name the `overview` gives the total of the readings drawn,
17877
17974
  `{totalLabel}` in `overview-label`. */
17878
17975
  totalLabel?: (HelixHeatmap["totalLabel"]) | undefined;
17879
- /** The selected cells, by the names their rows have in the table, such as
17880
- `2026-06-11`, separated by commas.
17976
+ /** The selected cells, separated by commas: each by the date its row's
17977
+ header carries in a `<time datetime>`, such as `2026-06-11`, or by the
17978
+ header's words where it carries none.
17881
17979
 
17882
17980
  Set it to start with cells selected. Written by a press or a key under
17883
17981
  `selection-mode`. */
@@ -18082,8 +18180,9 @@ no order in it. */
18082
18180
  /** The name the `overview` gives the total of the readings drawn,
18083
18181
  `{totalLabel}` in `overview-label`. */
18084
18182
  "prop:totalLabel"?: (HelixHeatmap["totalLabel"]) | undefined;
18085
- /** The selected cells, by the names their rows have in the table, such as
18086
- `2026-06-11`, separated by commas.
18183
+ /** The selected cells, separated by commas: each by the date its row's
18184
+ header carries in a `<time datetime>`, such as `2026-06-11`, or by the
18185
+ header's words where it carries none.
18087
18186
 
18088
18187
  Set it to start with cells selected. Written by a press or a key under
18089
18188
  `selection-mode`. */
@@ -21900,6 +21999,10 @@ loader is on the page.
21900
21999
  Names an element in the same tree. In React it arrives as a property, the
21901
22000
  way `Tooltip.for` does. */
21902
22001
  for?: (HelixLoader["for"]) | undefined;
22002
+ /** Whether no work is in progress. The loader draws nothing of its own, has
22003
+ no role, and marks no region busy, and what is in the `content` slot
22004
+ shows. Clearing it starts `delay` again. */
22005
+ idle?: (HelixLoader["idle"]) | undefined;
21903
22006
  /** The loader's name, announced by screen readers while the work is in
21904
22007
  progress. */
21905
22008
  label?: (HelixLoader["label"]) | undefined;
@@ -21930,6 +22033,10 @@ loader is on the page.
21930
22033
  Names an element in the same tree. In React it arrives as a property, the
21931
22034
  way `Tooltip.for` does. */
21932
22035
  "prop:for"?: (HelixLoader["for"]) | undefined;
22036
+ /** Whether no work is in progress. The loader draws nothing of its own, has
22037
+ no role, and marks no region busy, and what is in the `content` slot
22038
+ shows. Clearing it starts `delay` again. */
22039
+ "prop:idle"?: (HelixLoader["idle"]) | undefined;
21933
22040
  /** The loader's name, announced by screen readers while the work is in
21934
22041
  progress. */
21935
22042
  "prop:label"?: (HelixLoader["label"]) | undefined;
@@ -31994,6 +32101,18 @@ cannot be written in an attribute. */
31994
32101
  textContent?: (string | number) | undefined;
31995
32102
  };
31996
32103
 
32104
+ /** `HelixSparkline` component event */
32105
+ export type HelixSparklineElementEvent<E = Event> = TypedEvent<
32106
+ HelixSparkline,
32107
+ E
32108
+ >;
32109
+ /** `helix-reading-change` event type */
32110
+ export type HelixSparklineHelixReadingChangeElementEvent =
32111
+ HelixSparklineElementEvent<HelixReadingChangeEvent>;
32112
+ /** `helix-reading-press` event type */
32113
+ export type HelixSparklineHelixReadingPressElementEvent =
32114
+ HelixSparklineElementEvent<HelixReadingPressEvent>;
32115
+
31997
32116
  export type HelixSparklineProps = {
31998
32117
  /** How strongly the line, area, or columns are drawn.
31999
32118
 
@@ -32177,6 +32296,15 @@ with `values={[1240, 1318]}`. The attribute is the form to prefer, because
32177
32296
  a string is what survives React's hydration where an array property does
32178
32297
  not. */
32179
32298
  values?: (HelixSparkline["values"]) | undefined;
32299
+
32300
+ /** The reading shown moved, or was put away: `index` is the reading, or `-1` for none, with its row's `label` from a table and the `pointerType` that moved it. */
32301
+ "onhelix-reading-change"?: ((
32302
+ e: HelixSparklineHelixReadingChangeElementEvent,
32303
+ ) => void) | undefined;
32304
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
32305
+ "onhelix-reading-press"?: ((
32306
+ e: HelixSparklineHelixReadingPressElementEvent,
32307
+ ) => void) | undefined;
32180
32308
  };
32181
32309
 
32182
32310
  export type HelixSparklineSolidJsProps = {
@@ -32362,6 +32490,14 @@ with `values={[1240, 1318]}`. The attribute is the form to prefer, because
32362
32490
  a string is what survives React's hydration where an array property does
32363
32491
  not. */
32364
32492
  "prop:values"?: (HelixSparkline["values"]) | undefined;
32493
+ /** The reading shown moved, or was put away: `index` is the reading, or `-1` for none, with its row's `label` from a table and the `pointerType` that moved it. */
32494
+ "on:helix-reading-change"?: ((
32495
+ e: HelixSparklineHelixReadingChangeElementEvent,
32496
+ ) => void) | undefined;
32497
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
32498
+ "on:helix-reading-press"?: ((
32499
+ e: HelixSparklineHelixReadingPressElementEvent,
32500
+ ) => void) | undefined;
32365
32501
 
32366
32502
  /** Set the innerHTML of the element */
32367
32503
  innerHTML?: (string) | undefined;
@@ -35295,8 +35431,9 @@ Absent selects nothing, and the tags carry no selected state at all. */
35295
35431
 
35296
35432
  Absent selects nothing, and the tags carry no selected state at all. */
35297
35433
  selectionMode?: (HelixTagGroup["selectionMode"]) | undefined;
35298
- /** The selected tags' values, separated by commas, since a value may hold a
35299
- space.
35434
+ /** The selected tags' values, separated by commas with no space, as Toggle
35435
+ Group and Table write theirs, since a value may hold a space. A value
35436
+ written with a space after each comma is read the same way.
35300
35437
 
35301
35438
  Set it to start with tags selected. A tag's value is its `value`, or its
35302
35439
  words where it has none. */
@@ -35352,8 +35489,9 @@ Absent selects nothing, and the tags carry no selected state at all. */
35352
35489
 
35353
35490
  Absent selects nothing, and the tags carry no selected state at all. */
35354
35491
  "prop:selectionMode"?: (HelixTagGroup["selectionMode"]) | undefined;
35355
- /** The selected tags' values, separated by commas, since a value may hold a
35356
- space.
35492
+ /** The selected tags' values, separated by commas with no space, as Toggle
35493
+ Group and Table write theirs, since a value may hold a space. A value
35494
+ written with a space after each comma is read the same way.
35357
35495
 
35358
35496
  Set it to start with tags selected. A tag's value is its `value`, or its
35359
35497
  words where it has none. */
@@ -42593,12 +42731,6 @@ export type CustomElements = {
42593
42731
  *
42594
42732
  * Absent draws none: bands read as a composition need no numbers beside
42595
42733
  * them, and the tooltip and the table hold every reading.
42596
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
42597
- *
42598
- * Public for the same reason `series` and `named` are: a protected member
42599
- * cannot be cast onto across unrelated classes, so it would be invisible to
42600
- * every chart that needs it. Reading where a pointer is resting is a fair
42601
- * thing to ask a chart anyway. (property only) (readonly)
42602
42734
  * - `data`: The readings as data, in the shape of a table, where the page has no
42603
42735
  * table to point `for` at. `for` wins where both are set.
42604
42736
  *
@@ -42637,21 +42769,6 @@ export type CustomElements = {
42637
42769
  * names an element, and the chart is a generic around its plot: written
42638
42770
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
42639
42771
  * strip always did. (property only) (readonly)
42640
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
42641
- * while hydrating, where no table is resolved and no data is read. A
42642
- * chart says it has no readings only once this is true. (property only) (readonly)
42643
- * - `sourceRows`: Every row of the table, with each cell's text and number.
42644
- *
42645
- * This is where a tooltip's content comes from, and it is deliberately not
42646
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
42647
- * what the table says, which is `$128k` and not `128000`, and often wants
42648
- * the column beside it that nothing plotted at all.
42649
- *
42650
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
42651
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
42652
- * calendar week, and declaring that against a base class whose `rows` is a
42653
- * `Row[]` getter is a type error at best. Name the member for what it holds
42654
- * rather than for the shortest word available. (property only) (readonly)
42655
42772
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
42656
42773
  *
42657
42774
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -42697,8 +42814,6 @@ export type CustomElements = {
42697
42814
  *
42698
42815
  * Methods that can be called to access component functionality.
42699
42816
  *
42700
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
42701
- * `aria-label` asks for an update, because it names the plot.
42702
42817
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
42703
42818
  *
42704
42819
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -42758,9 +42873,10 @@ export type CustomElements = {
42758
42873
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
42759
42874
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
42760
42875
  * - `mark`: The invisible point the tooltip is anchored to.
42761
- * - `plot`: The drawing, which takes focus to be read by key.
42876
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
42762
42877
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
42763
42878
  * - `svg`: The drawing surface the bands sit on.
42879
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
42764
42880
  * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
42765
42881
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
42766
42882
  * - `tooltip-anchor`: The `Tooltip` element itself.
@@ -42783,6 +42899,9 @@ export type CustomElements = {
42783
42899
  *
42784
42900
  * These can be used to apply styling when a component is in a given state.
42785
42901
  *
42902
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
42903
+ * - `empty`: While the `empty` part stands in the plot.
42904
+ * - `loading`: While the `loading` part stands in the plot.
42786
42905
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
42787
42906
  */
42788
42907
  "helix-area-chart": Partial<
@@ -42807,6 +42926,8 @@ export type CustomElements = {
42807
42926
  * The shader stops drawing in these cases:
42808
42927
  * - The element is off screen or in a background tab.
42809
42928
  * - `prefers-reduced-motion` is set. The element shows one still frame.
42929
+ * - `paused` is set, from a pause control on your page. The element holds the
42930
+ * frame it shows.
42810
42931
  * - The browser takes back the drawing context, on a GPU reset or past its
42811
42932
  * limit of about sixteen contexts. The gradient shows until the context
42812
42933
  * returns.
@@ -42869,6 +42990,12 @@ export type CustomElements = {
42869
42990
  * hit-testable at rest, or it would swallow clicks meant for what is over it,
42870
42991
  * and an element that is not hit-testable never receives the `pointermove`
42871
42992
  * this listens for. Asking for the pointer is asking for the hit test.
42993
+ * - `paused`: Whether the field holds still on the frame it shows.
42994
+ *
42995
+ * Set it from a pause control on your page, so a reader can stop the motion,
42996
+ * as WCAG 2.2.2 asks of anything that moves for more than five seconds. A
42997
+ * change to another property still repaints the frame. Clearing it starts
42998
+ * the field from where it stopped.
42872
42999
  * - `reach`: How far the pointer reaches into the field, `0` upward.
42873
43000
  *
42874
43001
  * Multiplied into the presence the pointer already fades in and out with, so
@@ -43172,7 +43299,7 @@ export type CustomElements = {
43172
43299
  *
43173
43300
  * Areas where markup can be added to the component.
43174
43301
  *
43175
- * - `(default)`: Replaces the image and initials entirely, for an icon.
43302
+ * - `(default)`: Shown when there is no usable image, in place of the initials, for an icon. Hidden from assistive technology when the avatar has a `name`, which the host announces.
43176
43303
  *
43177
43304
  * ## CSS Custom Properties
43178
43305
  *
@@ -43586,12 +43713,6 @@ export type CustomElements = {
43586
43713
  *
43587
43714
  * Absent draws none with one scale, since bars compared with each other need
43588
43715
  * no numbers. With `secondary` both scales are drawn whatever this says.
43589
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
43590
- *
43591
- * Public for the same reason `series` and `named` are: a protected member
43592
- * cannot be cast onto across unrelated classes, so it would be invisible to
43593
- * every chart that needs it. Reading where a pointer is resting is a fair
43594
- * thing to ask a chart anyway. (property only) (readonly)
43595
43716
  * - `data`: The readings as data, in the shape of a table, where the page has no
43596
43717
  * table to point `for` at. `for` wins where both are set.
43597
43718
  *
@@ -43630,21 +43751,6 @@ export type CustomElements = {
43630
43751
  * names an element, and the chart is a generic around its plot: written
43631
43752
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
43632
43753
  * strip always did. (property only) (readonly)
43633
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
43634
- * while hydrating, where no table is resolved and no data is read. A
43635
- * chart says it has no readings only once this is true. (property only) (readonly)
43636
- * - `sourceRows`: Every row of the table, with each cell's text and number.
43637
- *
43638
- * This is where a tooltip's content comes from, and it is deliberately not
43639
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
43640
- * what the table says, which is `$128k` and not `128000`, and often wants
43641
- * the column beside it that nothing plotted at all.
43642
- *
43643
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
43644
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
43645
- * calendar week, and declaring that against a base class whose `rows` is a
43646
- * `Row[]` getter is a type error at best. Name the member for what it holds
43647
- * rather than for the shortest word available. (property only) (readonly)
43648
43754
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
43649
43755
  *
43650
43756
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -43690,8 +43796,6 @@ export type CustomElements = {
43690
43796
  *
43691
43797
  * Methods that can be called to access component functionality.
43692
43798
  *
43693
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
43694
- * `aria-label` asks for an update, because it names the plot.
43695
43799
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
43696
43800
  *
43697
43801
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -43759,9 +43863,10 @@ export type CustomElements = {
43759
43863
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
43760
43864
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
43761
43865
  * - `mark`: The invisible point the tooltip is anchored to.
43762
- * - `plot`: The drawing, which takes focus to be read by key.
43866
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
43763
43867
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
43764
43868
  * - `svg`: The drawing surface the bars and lines sit on.
43869
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
43765
43870
  * - `tick`: One number on an axis.
43766
43871
  * - `tooltip`: The tooltip bubble, forwarded from `Tooltip`.
43767
43872
  * - `tooltip-anchor`: The `Tooltip` element itself.
@@ -43784,6 +43889,9 @@ export type CustomElements = {
43784
43889
  *
43785
43890
  * These can be used to apply styling when a component is in a given state.
43786
43891
  *
43892
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
43893
+ * - `empty`: While the `empty` part stands in the plot.
43894
+ * - `loading`: While the `loading` part stands in the plot.
43787
43895
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
43788
43896
  */
43789
43897
  "helix-bar-chart": Partial<
@@ -44945,6 +45053,10 @@ export type CustomElements = {
44945
45053
  * that one transform reads, so the cards are placed once in the document's
44946
45054
  * coordinates and are not laid out again.
44947
45055
  *
45056
+ * The [Canvases](https://fusion.dev/helix/docs/canvases) guide loads and saves
45057
+ * a board, keeps it in your state, and lists every key and the roles a screen
45058
+ * reader meets.
45059
+ *
44948
45060
  * ## Attributes & Properties
44949
45061
  *
44950
45062
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -50734,6 +50846,16 @@ export type CustomElements = {
50734
50846
  * **`transparent` is where this one stops.** A mark with no ink is not a
50735
50847
  * material choice, it is an absent series, and a chart says that by not
50736
50848
  * having the datum rather than by painting it invisibly.
50849
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
50850
+ * and the fallback of the `empty` slot.
50851
+ * - `loading`: Whether the readings are still on their way. The chart shows
50852
+ * `loading-text` in place of an empty drawing until it has readings.
50853
+ *
50854
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
50855
+ * that already has readings keeps drawing them, so a refresh does not
50856
+ * blank it.
50857
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
50858
+ * there are no readings yet, and the fallback of the `loading` slot.
50737
50859
  * - `for`: The id of the table to read.
50738
50860
  *
50739
50861
  * Names a table in the same tree, so a chart inside another component's
@@ -50811,12 +50933,6 @@ export type CustomElements = {
50811
50933
  * rotation that puts the first slice at nine o'clock, the aspect ratio of a
50812
50934
  * box that is no longer square, and where the middle sits once the bottom of
50813
50935
  * the circle is not drawn.
50814
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
50815
- *
50816
- * Public for the same reason `series` and `named` are: a protected member
50817
- * cannot be cast onto across unrelated classes, so it would be invisible to
50818
- * every chart that needs it. Reading where a pointer is resting is a fair
50819
- * thing to ask a chart anyway. (property only) (readonly)
50820
50936
  * - `data`: The readings as data, in the shape of a table, where the page has no
50821
50937
  * table to point `for` at. `for` wins where both are set.
50822
50938
  *
@@ -50855,21 +50971,6 @@ export type CustomElements = {
50855
50971
  * names an element, and the chart is a generic around its plot: written
50856
50972
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
50857
50973
  * strip always did. (property only) (readonly)
50858
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
50859
- * while hydrating, where no table is resolved and no data is read. A
50860
- * chart says it has no readings only once this is true. (property only) (readonly)
50861
- * - `sourceRows`: Every row of the table, with each cell's text and number.
50862
- *
50863
- * This is where a tooltip's content comes from, and it is deliberately not
50864
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
50865
- * what the table says, which is `$128k` and not `128000`, and often wants
50866
- * the column beside it that nothing plotted at all.
50867
- *
50868
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
50869
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
50870
- * calendar week, and declaring that against a base class whose `rows` is a
50871
- * `Row[]` getter is a type error at best. Name the member for what it holds
50872
- * rather than for the shortest word available. (property only) (readonly)
50873
50974
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
50874
50975
  *
50875
50976
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -50897,18 +50998,25 @@ export type CustomElements = {
50897
50998
  * browser harness's awaits it alone: a browser always runs the frame, and a
50898
50999
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
50899
51000
  *
51001
+ * ## Events
51002
+ *
51003
+ * Events that will be emitted by the component.
51004
+ *
51005
+ * - `helix-reading-change`: The slice shown moved, or was put away: `index` is the slice's row, or `-1` for none, with its `label` and the `pointerType` that moved it.
51006
+ * - `helix-reading-press`: A slice was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
51007
+ *
50900
51008
  * ## Slots
50901
51009
  *
50902
51010
  * Areas where markup can be added to the component.
50903
51011
  *
50904
51012
  * - `(default)`: Content in the middle of the ring, usually a total. It is read by screen readers, while the ring itself is hidden from them.
51013
+ * - `empty`: Content shown in place of the ring when the table has no readings. Falls back to `empty-text`.
51014
+ * - `loading`: Content shown in place of the ring while `loading` is set and there are no readings yet. Falls back to `loading-text`.
50905
51015
  *
50906
51016
  * ## Methods
50907
51017
  *
50908
51018
  * Methods that can be called to access component functionality.
50909
51019
  *
50910
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
50911
- * `aria-label` asks for an update, because it names the plot.
50912
51020
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
50913
51021
  *
50914
51022
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -50958,14 +51066,17 @@ export type CustomElements = {
50958
51066
  * Custom selectors for styling elements within the component.
50959
51067
  *
50960
51068
  * - `center`: The middle of the ring, holding whatever is slotted.
51069
+ * - `empty`: The words in place of the ring when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.
50961
51070
  * - `live`: The readout: a polite live region that says the slice the keys moved to. Hide it visually.
51071
+ * - `loading`: The words in place of the ring while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
50962
51072
  * - `mark`: The invisible point the tooltip is anchored to.
50963
- * - `plot`: The drawing, which takes focus to be read by key.
51073
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
50964
51074
  * - `segment`: One slice.
50965
51075
  * - `segment-active`: The slice under the pointer. Set alongside `segment`.
50966
51076
  * - `segment-edge`: One slice as a closed shape, used to draw its outline.
50967
51077
  * - `slice-label`: One slice's share, written on the slice under `slice-labels`. Placed with `left` and `top`, or `inset-inline-start` and `top` on a half ring, and carries its series color as `--chart-series`.
50968
51078
  * - `summary`: The chart's name and each slice's share, written as a sentence for screen readers. Hide it visually.
51079
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
50969
51080
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
50970
51081
  * - `tooltip-anchor`: The `Tooltip` element itself.
50971
51082
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -50988,6 +51099,9 @@ export type CustomElements = {
50988
51099
  *
50989
51100
  * These can be used to apply styling when a component is in a given state.
50990
51101
  *
51102
+ * - `active`: While a slice is shown, under the pointer or the keys, with its tooltip open.
51103
+ * - `empty`: While the `empty` part stands in place of the ring.
51104
+ * - `loading`: While the `loading` part stands in place of the ring.
50991
51105
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
50992
51106
  */
50993
51107
  "helix-donut-chart": Partial<
@@ -52898,6 +53012,10 @@ export type CustomElements = {
52898
53012
  * `no-panel`, the drawing takes the whole frame, and a button among the
52899
53013
  * controls opens the search and the list over its end.
52900
53014
  *
53015
+ * The [Graphs](https://fusion.dev/helix/docs/graphs) guide connects a
53016
+ * renderer, lists the keys and what a screen reader hears, and describes the
53017
+ * methods of a driver for another renderer.
53018
+ *
52901
53019
  * ## Attributes & Properties
52902
53020
  *
52903
53021
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -53024,6 +53142,9 @@ export type CustomElements = {
53024
53142
  * own, since the fallback name is the same word. Empty leaves the role.
53025
53143
  * - `search-label`/`searchLabel`: The search field's name.
53026
53144
  * - `selected-label`/`selectedLabel`: How the selected note is described in the list.
53145
+ * - `selection-label`/`selectionLabel`: What screen readers hear after a reader selects a note, in the list or in
53146
+ * the drawing, with `{note}` for its name and `{count}` for how many notes
53147
+ * the list then holds, written with `count-label`.
53027
53148
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
53028
53149
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
53029
53150
  * - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
@@ -53174,7 +53295,7 @@ export type CustomElements = {
53174
53295
  * - `gesture-hint`: Words over the graph for a moment when it lets a gesture pass to the page, such as how to zoom it.
53175
53296
  * - `gesture-status`: The line shown while a graph with `gestures="activate"` has the gestures.
53176
53297
  * - `header`: The strip above the graph.
53177
- * - `legend`: The groups over the drawing, with `legend`, each a button that shows or hides its notes.
53298
+ * - `legend`: The groups over the drawing, with `legend`: a toolbar of buttons, each showing or hiding its notes, which is one tab stop.
53178
53299
  * - `legend-item`: One group in the legend, pressed while its notes are shown. Carries `data-tone` where every note in the group has the same tone, which colors the notes over the group's own color.
53179
53300
  * - `legend-item-hidden`: A group in the legend whose notes are hidden.
53180
53301
  * - `legend-swatch`: The mark in a group's color, before its name.
@@ -53435,17 +53556,12 @@ export type CustomElements = {
53435
53556
  * no order in it.
53436
53557
  * - `total-label`/`totalLabel`: The name the `overview` gives the total of the readings drawn,
53437
53558
  * `{totalLabel}` in `overview-label`.
53438
- * - `value`: The selected cells, by the names their rows have in the table, such as
53439
- * `2026-06-11`, separated by commas.
53559
+ * - `value`: The selected cells, separated by commas: each by the date its row's
53560
+ * header carries in a `<time datetime>`, such as `2026-06-11`, or by the
53561
+ * header's words where it carries none.
53440
53562
  *
53441
53563
  * Set it to start with cells selected. Written by a press or a key under
53442
53564
  * `selection-mode`.
53443
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
53444
- *
53445
- * Public for the same reason `series` and `named` are: a protected member
53446
- * cannot be cast onto across unrelated classes, so it would be invisible to
53447
- * every chart that needs it. Reading where a pointer is resting is a fair
53448
- * thing to ask a chart anyway. (property only) (readonly)
53449
53565
  * - `data`: The readings as data, in the shape of a table, where the page has no
53450
53566
  * table to point `for` at. `for` wins where both are set.
53451
53567
  *
@@ -53484,21 +53600,6 @@ export type CustomElements = {
53484
53600
  * names an element, and the chart is a generic around its plot: written
53485
53601
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
53486
53602
  * strip always did. (property only) (readonly)
53487
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
53488
- * while hydrating, where no table is resolved and no data is read. A
53489
- * chart says it has no readings only once this is true. (property only) (readonly)
53490
- * - `sourceRows`: Every row of the table, with each cell's text and number.
53491
- *
53492
- * This is where a tooltip's content comes from, and it is deliberately not
53493
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
53494
- * what the table says, which is `$128k` and not `128000`, and often wants
53495
- * the column beside it that nothing plotted at all.
53496
- *
53497
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
53498
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
53499
- * calendar week, and declaring that against a base class whose `rows` is a
53500
- * `Row[]` getter is a type error at best. Name the member for what it holds
53501
- * rather than for the shortest word available. (property only) (readonly)
53502
53603
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
53503
53604
  *
53504
53605
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -53560,8 +53661,6 @@ export type CustomElements = {
53560
53661
  *
53561
53662
  * Methods that can be called to access component functionality.
53562
53663
  *
53563
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
53564
- * `aria-label` asks for an update, because it names the plot.
53565
53664
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
53566
53665
  *
53567
53666
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -53654,11 +53753,14 @@ export type CustomElements = {
53654
53753
  * - `selection`: A polite region that says how many cells are selected after a change, rendered from the first change. Hide it visually.
53655
53754
  * - `start`: The leading slot's box.
53656
53755
  * - `summary`: The middle slot's box.
53756
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
53657
53757
  *
53658
53758
  * ## CSS States
53659
53759
  *
53660
53760
  * These can be used to apply styling when a component is in a given state.
53661
53761
  *
53762
+ * - `active`: While a cell is shown, under the pointer or the keys, with its tooltip open.
53763
+ * - `empty`: While the `empty` part stands in place of the cells.
53662
53764
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
53663
53765
  */
53664
53766
  "helix-heatmap": Partial<
@@ -55367,12 +55469,6 @@ export type CustomElements = {
55367
55469
  * Set it where the distance from nothing is the point rather than the shape,
55368
55470
  * and accept that a series which never approaches zero becomes a flat rule
55369
55471
  * near the top of the box.
55370
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
55371
- *
55372
- * Public for the same reason `series` and `named` are: a protected member
55373
- * cannot be cast onto across unrelated classes, so it would be invisible to
55374
- * every chart that needs it. Reading where a pointer is resting is a fair
55375
- * thing to ask a chart anyway. (property only) (readonly)
55376
55472
  * - `data`: The readings as data, in the shape of a table, where the page has no
55377
55473
  * table to point `for` at. `for` wins where both are set.
55378
55474
  *
@@ -55411,21 +55507,6 @@ export type CustomElements = {
55411
55507
  * names an element, and the chart is a generic around its plot: written
55412
55508
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
55413
55509
  * strip always did. (property only) (readonly)
55414
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
55415
- * while hydrating, where no table is resolved and no data is read. A
55416
- * chart says it has no readings only once this is true. (property only) (readonly)
55417
- * - `sourceRows`: Every row of the table, with each cell's text and number.
55418
- *
55419
- * This is where a tooltip's content comes from, and it is deliberately not
55420
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
55421
- * what the table says, which is `$128k` and not `128000`, and often wants
55422
- * the column beside it that nothing plotted at all.
55423
- *
55424
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
55425
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
55426
- * calendar week, and declaring that against a base class whose `rows` is a
55427
- * `Row[]` getter is a type error at best. Name the member for what it holds
55428
- * rather than for the shortest word available. (property only) (readonly)
55429
55510
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
55430
55511
  *
55431
55512
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -55471,8 +55552,6 @@ export type CustomElements = {
55471
55552
  *
55472
55553
  * Methods that can be called to access component functionality.
55473
55554
  *
55474
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
55475
- * `aria-label` asks for an update, because it names the plot.
55476
55555
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
55477
55556
  *
55478
55557
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -55543,9 +55622,10 @@ export type CustomElements = {
55543
55622
  * - `mark`: The invisible point the tooltip is anchored to.
55544
55623
  * - `marker`: The mark on one reading, under `markers`, and on a reading with a blank on either side. Placed with `inset-inline-start` and `inset-block-start`, and carries its series color as `--chart-series`.
55545
55624
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
55546
- * - `plot`: The drawing, which takes focus to be read by key.
55625
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
55547
55626
  * - `summary`: The chart's name and each series' latest reading, written as a sentence for screen readers. Hide it visually.
55548
55627
  * - `svg`: The drawing surface the lines and areas sit on.
55628
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
55549
55629
  * - `terminus`: The mark on one series' last reading.
55550
55630
  * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
55551
55631
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
@@ -55569,6 +55649,9 @@ export type CustomElements = {
55569
55649
  *
55570
55650
  * These can be used to apply styling when a component is in a given state.
55571
55651
  *
55652
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
55653
+ * - `empty`: While the `empty` part stands in the plot.
55654
+ * - `loading`: While the `loading` part stands in the plot.
55572
55655
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
55573
55656
  */
55574
55657
  "helix-line-chart": Partial<
@@ -56300,6 +56383,9 @@ export type CustomElements = {
56300
56383
  * While `delay` runs, the loader keeps its size and draws nothing, so the line
56301
56384
  * it sits in does not move when it appears.
56302
56385
  *
56386
+ * With something in the `content` slot, the loader takes the larger of the ring
56387
+ * and the content, and the ring centers over the content while the work runs.
56388
+ *
56303
56389
  * ## Attributes & Properties
56304
56390
  *
56305
56391
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -56324,6 +56410,9 @@ export type CustomElements = {
56324
56410
  *
56325
56411
  * Names an element in the same tree. In React it arrives as a property, the
56326
56412
  * way `Tooltip.for` does.
56413
+ * - `idle`: Whether no work is in progress. The loader draws nothing of its own, has
56414
+ * no role, and marks no region busy, and what is in the `content` slot
56415
+ * shows. Clearing it starts `delay` again.
56327
56416
  * - `label`: The loader's name, announced by screen readers while the work is in
56328
56417
  * progress.
56329
56418
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -56352,13 +56441,14 @@ export type CustomElements = {
56352
56441
  * Areas where markup can be added to the component.
56353
56442
  *
56354
56443
  * - `(default)`: An icon or logo that stays still at the center. Empty by default.
56444
+ * - `content`: What the loader stands in for while the work runs, such as a button. It keeps its size, hidden and inert, until `idle` is set.
56355
56445
  *
56356
56446
  * ## CSS Custom Properties
56357
56447
  *
56358
56448
  * CSS variables available for styling the component.
56359
56449
  *
56360
56450
  * - `--loader-color`: Color of the moving arc.
56361
- * - `--loader-duration`: How long one turn of the arc takes, 0.8s by default. With motion reduced the turn slows to a crawl whatever this says.
56451
+ * - `--loader-duration`: How long one turn of the arc takes, 0.8s by default. With motion reduced the arc turns once every four seconds, whatever this says.
56362
56452
  * - `--loader-size`: Diameter. Defaults to the size token that `size` picks, which is 1.5rem at the default density.
56363
56453
  * - `--loader-track-color`: Color of the circle behind the arc.
56364
56454
  * - `--loader-track-width`: Width of the arc and the circle behind it, in units of a 24-unit drawing. Defaults to 2.
@@ -56367,6 +56457,7 @@ export type CustomElements = {
56367
56457
  *
56368
56458
  * Custom selectors for styling elements within the component.
56369
56459
  *
56460
+ * - `content`: The box that holds the `content` slot. Hidden while the work runs, and shown while `idle` is set.
56370
56461
  * - `indicator`: The arc that turns.
56371
56462
  * - `mark`: The region that holds the slotted content at the center.
56372
56463
  * - `svg`: The rotating circle pair.
@@ -56977,6 +57068,10 @@ export type CustomElements = {
56977
57068
  * to draw the map's credit compact in a corner over the map, which suits a
56978
57069
  * map the width of the page.
56979
57070
  *
57071
+ * The [Maps](https://fusion.dev/helix/docs/maps) guide connects a renderer,
57072
+ * lists the keys and what a screen reader hears, and describes every method
57073
+ * a driver for another renderer can have.
57074
+ *
56980
57075
  * ## Attributes & Properties
56981
57076
  *
56982
57077
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -63055,12 +63150,6 @@ export type CustomElements = {
63055
63150
  * Absent draws none. A series with fewer than two points, or with every
63056
63151
  * point at one measure across, has no line to draw. The summary already
63057
63152
  * gives each series' correlation, which says how near the points are to it.
63058
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
63059
- *
63060
- * Public for the same reason `series` and `named` are: a protected member
63061
- * cannot be cast onto across unrelated classes, so it would be invisible to
63062
- * every chart that needs it. Reading where a pointer is resting is a fair
63063
- * thing to ask a chart anyway. (property only) (readonly)
63064
63153
  * - `data`: The readings as data, in the shape of a table, where the page has no
63065
63154
  * table to point `for` at. `for` wins where both are set.
63066
63155
  *
@@ -63099,21 +63188,6 @@ export type CustomElements = {
63099
63188
  * names an element, and the chart is a generic around its plot: written
63100
63189
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
63101
63190
  * strip always did. (property only) (readonly)
63102
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
63103
- * while hydrating, where no table is resolved and no data is read. A
63104
- * chart says it has no readings only once this is true. (property only) (readonly)
63105
- * - `sourceRows`: Every row of the table, with each cell's text and number.
63106
- *
63107
- * This is where a tooltip's content comes from, and it is deliberately not
63108
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
63109
- * what the table says, which is `$128k` and not `128000`, and often wants
63110
- * the column beside it that nothing plotted at all.
63111
- *
63112
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
63113
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
63114
- * calendar week, and declaring that against a base class whose `rows` is a
63115
- * `Row[]` getter is a type error at best. Name the member for what it holds
63116
- * rather than for the shortest word available. (property only) (readonly)
63117
63191
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
63118
63192
  *
63119
63193
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -63159,8 +63233,6 @@ export type CustomElements = {
63159
63233
  *
63160
63234
  * Methods that can be called to access component functionality.
63161
63235
  *
63162
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
63163
- * `aria-label` asks for an update, because it names the plot.
63164
63236
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
63165
63237
  *
63166
63238
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -63219,11 +63291,12 @@ export type CustomElements = {
63219
63291
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
63220
63292
  * - `mark`: The invisible point the tooltip is anchored to.
63221
63293
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
63222
- * - `plot`: The drawing, which takes focus to be read by key.
63294
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
63223
63295
  * - `point`: One row, as a point.
63224
63296
  * - `point-active`: A point in the row under the pointer. Set alongside `point`.
63225
63297
  * - `summary`: The text that says how strongly the measures relate, for people who cannot see the points.
63226
63298
  * - `svg`: The drawing surface the gridlines and the trend lines sit on.
63299
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
63227
63300
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
63228
63301
  * - `tooltip-anchor`: The `Tooltip` element itself.
63229
63302
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -63243,7 +63316,7 @@ export type CustomElements = {
63243
63316
  * - `trend`: One series' line of best fit, under `trend`. Carries its series color as `--chart-series`.
63244
63317
  * - `x-axis`: The values along the horizontal axis, under the plot.
63245
63318
  * - `x-name`: The name of the horizontal measure.
63246
- * - `x-tick`: One labeled value on the horizontal axis. Each axis has its own tick part, because `::part()` cannot tell which axis a tick is on.
63319
+ * - `x-tick`: One labeled value on the horizontal axis. Each axis has its own tick part, because `::part()` cannot tell which axis a tick is on. The one at the far edge carries `data-edge="end"`.
63247
63320
  * - `y-axis`: The values along the vertical axis, beside the plot.
63248
63321
  * - `y-name`: The name of the vertical measure.
63249
63322
  * - `y-tick`: One labeled value on the vertical axis.
@@ -63252,6 +63325,9 @@ export type CustomElements = {
63252
63325
  *
63253
63326
  * These can be used to apply styling when a component is in a given state.
63254
63327
  *
63328
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
63329
+ * - `empty`: While the `empty` part stands in the plot.
63330
+ * - `loading`: While the `loading` part stands in the plot.
63255
63331
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
63256
63332
  */
63257
63333
  "helix-scatter-chart": Partial<
@@ -64425,8 +64501,6 @@ export type CustomElements = {
64425
64501
  * with `values={[1240, 1318]}`. The attribute is the form to prefer, because
64426
64502
  * a string is what survives React's hydration where an array property does
64427
64503
  * not.
64428
- * - `pointer`: Finds the reading a pointer or a key rests on, as it does for every
64429
- * chart, so a sparkline is read the way they are. (property only) (readonly)
64430
64504
  * - `named`: The drawing's name: an `aria-label` written on the sparkline, then `label`. (property only) (readonly)
64431
64505
  * - `readings`: How many readings there are, which the pointer and the keys walk. (property only) (readonly)
64432
64506
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -64450,11 +64524,12 @@ export type CustomElements = {
64450
64524
  * browser harness's awaits it alone: a browser always runs the frame, and a
64451
64525
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
64452
64526
  *
64453
- * ## Methods
64527
+ * ## Events
64454
64528
  *
64455
- * Methods that can be called to access component functionality.
64529
+ * Events that will be emitted by the component.
64456
64530
  *
64457
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes; a new `aria-label` renames the drawing.
64531
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the reading, or `-1` for none, with its row's `label` from a table and the `pointerType` that moved it.
64532
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
64458
64533
  *
64459
64534
  * ## CSS Custom Properties
64460
64535
  *
@@ -66920,8 +66995,9 @@ export type CustomElements = {
66920
66995
  * - `selection-mode`/`selectionMode`: How many tags a reader can select: `single`, `multiple`, or none.
66921
66996
  *
66922
66997
  * Absent selects nothing, and the tags carry no selected state at all.
66923
- * - `value`: The selected tags' values, separated by commas, since a value may hold a
66924
- * space.
66998
+ * - `value`: The selected tags' values, separated by commas with no space, as Toggle
66999
+ * Group and Table write theirs, since a value may hold a space. A value
67000
+ * written with a space after each comma is read the same way.
66925
67001
  *
66926
67002
  * Set it to start with tags selected. A tag's value is its `value`, or its
66927
67003
  * words where it has none.
@@ -70035,7 +70111,7 @@ export type CustomElements = {
70035
70111
  *
70036
70112
  * Areas where markup can be added to the component.
70037
70113
  *
70038
- * - `(default)`: The item's label.
70114
+ * - `(default)`: The item's label. A nested item does not go here: give it `slot="children"`. In a development build, an item nested here is reported.
70039
70115
  * - `chevron`: Replaces the expand and collapse mark of a branch. A slotted icon is sized and turned like the drawn one.
70040
70116
  * - `children`: Nested items, which make this a branch.
70041
70117
  * - `end`: Content after the label, at the far side of the row, such as a count or a state.
@@ -72178,12 +72254,6 @@ export type CustomElementsSolidJs = {
72178
72254
  *
72179
72255
  * Absent draws none: bands read as a composition need no numbers beside
72180
72256
  * them, and the tooltip and the table hold every reading.
72181
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
72182
- *
72183
- * Public for the same reason `series` and `named` are: a protected member
72184
- * cannot be cast onto across unrelated classes, so it would be invisible to
72185
- * every chart that needs it. Reading where a pointer is resting is a fair
72186
- * thing to ask a chart anyway. (property only) (readonly)
72187
72257
  * - `data`: The readings as data, in the shape of a table, where the page has no
72188
72258
  * table to point `for` at. `for` wins where both are set.
72189
72259
  *
@@ -72222,21 +72292,6 @@ export type CustomElementsSolidJs = {
72222
72292
  * names an element, and the chart is a generic around its plot: written
72223
72293
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
72224
72294
  * strip always did. (property only) (readonly)
72225
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
72226
- * while hydrating, where no table is resolved and no data is read. A
72227
- * chart says it has no readings only once this is true. (property only) (readonly)
72228
- * - `sourceRows`: Every row of the table, with each cell's text and number.
72229
- *
72230
- * This is where a tooltip's content comes from, and it is deliberately not
72231
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
72232
- * what the table says, which is `$128k` and not `128000`, and often wants
72233
- * the column beside it that nothing plotted at all.
72234
- *
72235
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
72236
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
72237
- * calendar week, and declaring that against a base class whose `rows` is a
72238
- * `Row[]` getter is a type error at best. Name the member for what it holds
72239
- * rather than for the shortest word available. (property only) (readonly)
72240
72295
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
72241
72296
  *
72242
72297
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -72282,8 +72337,6 @@ export type CustomElementsSolidJs = {
72282
72337
  *
72283
72338
  * Methods that can be called to access component functionality.
72284
72339
  *
72285
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
72286
- * `aria-label` asks for an update, because it names the plot.
72287
72340
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
72288
72341
  *
72289
72342
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -72343,9 +72396,10 @@ export type CustomElementsSolidJs = {
72343
72396
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
72344
72397
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
72345
72398
  * - `mark`: The invisible point the tooltip is anchored to.
72346
- * - `plot`: The drawing, which takes focus to be read by key.
72399
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
72347
72400
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
72348
72401
  * - `svg`: The drawing surface the bands sit on.
72402
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
72349
72403
  * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
72350
72404
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
72351
72405
  * - `tooltip-anchor`: The `Tooltip` element itself.
@@ -72368,6 +72422,9 @@ export type CustomElementsSolidJs = {
72368
72422
  *
72369
72423
  * These can be used to apply styling when a component is in a given state.
72370
72424
  *
72425
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
72426
+ * - `empty`: While the `empty` part stands in the plot.
72427
+ * - `loading`: While the `loading` part stands in the plot.
72371
72428
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
72372
72429
  */
72373
72430
  "helix-area-chart": Partial<
@@ -72395,6 +72452,8 @@ export type CustomElementsSolidJs = {
72395
72452
  * The shader stops drawing in these cases:
72396
72453
  * - The element is off screen or in a background tab.
72397
72454
  * - `prefers-reduced-motion` is set. The element shows one still frame.
72455
+ * - `paused` is set, from a pause control on your page. The element holds the
72456
+ * frame it shows.
72398
72457
  * - The browser takes back the drawing context, on a GPU reset or past its
72399
72458
  * limit of about sixteen contexts. The gradient shows until the context
72400
72459
  * returns.
@@ -72457,6 +72516,12 @@ export type CustomElementsSolidJs = {
72457
72516
  * hit-testable at rest, or it would swallow clicks meant for what is over it,
72458
72517
  * and an element that is not hit-testable never receives the `pointermove`
72459
72518
  * this listens for. Asking for the pointer is asking for the hit test.
72519
+ * - `paused`: Whether the field holds still on the frame it shows.
72520
+ *
72521
+ * Set it from a pause control on your page, so a reader can stop the motion,
72522
+ * as WCAG 2.2.2 asks of anything that moves for more than five seconds. A
72523
+ * change to another property still repaints the frame. Clearing it starts
72524
+ * the field from where it stopped.
72460
72525
  * - `reach`: How far the pointer reaches into the field, `0` upward.
72461
72526
  *
72462
72527
  * Multiplied into the presence the pointer already fades in and out with, so
@@ -72765,7 +72830,7 @@ export type CustomElementsSolidJs = {
72765
72830
  *
72766
72831
  * Areas where markup can be added to the component.
72767
72832
  *
72768
- * - `(default)`: Replaces the image and initials entirely, for an icon.
72833
+ * - `(default)`: Shown when there is no usable image, in place of the initials, for an icon. Hidden from assistive technology when the avatar has a `name`, which the host announces.
72769
72834
  *
72770
72835
  * ## CSS Custom Properties
72771
72836
  *
@@ -73187,12 +73252,6 @@ export type CustomElementsSolidJs = {
73187
73252
  *
73188
73253
  * Absent draws none with one scale, since bars compared with each other need
73189
73254
  * no numbers. With `secondary` both scales are drawn whatever this says.
73190
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
73191
- *
73192
- * Public for the same reason `series` and `named` are: a protected member
73193
- * cannot be cast onto across unrelated classes, so it would be invisible to
73194
- * every chart that needs it. Reading where a pointer is resting is a fair
73195
- * thing to ask a chart anyway. (property only) (readonly)
73196
73255
  * - `data`: The readings as data, in the shape of a table, where the page has no
73197
73256
  * table to point `for` at. `for` wins where both are set.
73198
73257
  *
@@ -73231,21 +73290,6 @@ export type CustomElementsSolidJs = {
73231
73290
  * names an element, and the chart is a generic around its plot: written
73232
73291
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
73233
73292
  * strip always did. (property only) (readonly)
73234
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
73235
- * while hydrating, where no table is resolved and no data is read. A
73236
- * chart says it has no readings only once this is true. (property only) (readonly)
73237
- * - `sourceRows`: Every row of the table, with each cell's text and number.
73238
- *
73239
- * This is where a tooltip's content comes from, and it is deliberately not
73240
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
73241
- * what the table says, which is `$128k` and not `128000`, and often wants
73242
- * the column beside it that nothing plotted at all.
73243
- *
73244
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
73245
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
73246
- * calendar week, and declaring that against a base class whose `rows` is a
73247
- * `Row[]` getter is a type error at best. Name the member for what it holds
73248
- * rather than for the shortest word available. (property only) (readonly)
73249
73293
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
73250
73294
  *
73251
73295
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -73291,8 +73335,6 @@ export type CustomElementsSolidJs = {
73291
73335
  *
73292
73336
  * Methods that can be called to access component functionality.
73293
73337
  *
73294
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
73295
- * `aria-label` asks for an update, because it names the plot.
73296
73338
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
73297
73339
  *
73298
73340
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -73360,9 +73402,10 @@ export type CustomElementsSolidJs = {
73360
73402
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
73361
73403
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
73362
73404
  * - `mark`: The invisible point the tooltip is anchored to.
73363
- * - `plot`: The drawing, which takes focus to be read by key.
73405
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
73364
73406
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
73365
73407
  * - `svg`: The drawing surface the bars and lines sit on.
73408
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
73366
73409
  * - `tick`: One number on an axis.
73367
73410
  * - `tooltip`: The tooltip bubble, forwarded from `Tooltip`.
73368
73411
  * - `tooltip-anchor`: The `Tooltip` element itself.
@@ -73385,6 +73428,9 @@ export type CustomElementsSolidJs = {
73385
73428
  *
73386
73429
  * These can be used to apply styling when a component is in a given state.
73387
73430
  *
73431
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
73432
+ * - `empty`: While the `empty` part stands in the plot.
73433
+ * - `loading`: While the `loading` part stands in the plot.
73388
73434
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
73389
73435
  */
73390
73436
  "helix-bar-chart": Partial<
@@ -74573,6 +74619,10 @@ export type CustomElementsSolidJs = {
74573
74619
  * that one transform reads, so the cards are placed once in the document's
74574
74620
  * coordinates and are not laid out again.
74575
74621
  *
74622
+ * The [Canvases](https://fusion.dev/helix/docs/canvases) guide loads and saves
74623
+ * a board, keeps it in your state, and lists every key and the roles a screen
74624
+ * reader meets.
74625
+ *
74576
74626
  * ## Attributes & Properties
74577
74627
  *
74578
74628
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -80423,6 +80473,16 @@ export type CustomElementsSolidJs = {
80423
80473
  * **`transparent` is where this one stops.** A mark with no ink is not a
80424
80474
  * material choice, it is an absent series, and a chart says that by not
80425
80475
  * having the datum rather than by painting it invisibly.
80476
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
80477
+ * and the fallback of the `empty` slot.
80478
+ * - `loading`: Whether the readings are still on their way. The chart shows
80479
+ * `loading-text` in place of an empty drawing until it has readings.
80480
+ *
80481
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
80482
+ * that already has readings keeps drawing them, so a refresh does not
80483
+ * blank it.
80484
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
80485
+ * there are no readings yet, and the fallback of the `loading` slot.
80426
80486
  * - `for`: The id of the table to read.
80427
80487
  *
80428
80488
  * Names a table in the same tree, so a chart inside another component's
@@ -80500,12 +80560,6 @@ export type CustomElementsSolidJs = {
80500
80560
  * rotation that puts the first slice at nine o'clock, the aspect ratio of a
80501
80561
  * box that is no longer square, and where the middle sits once the bottom of
80502
80562
  * the circle is not drawn.
80503
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
80504
- *
80505
- * Public for the same reason `series` and `named` are: a protected member
80506
- * cannot be cast onto across unrelated classes, so it would be invisible to
80507
- * every chart that needs it. Reading where a pointer is resting is a fair
80508
- * thing to ask a chart anyway. (property only) (readonly)
80509
80563
  * - `data`: The readings as data, in the shape of a table, where the page has no
80510
80564
  * table to point `for` at. `for` wins where both are set.
80511
80565
  *
@@ -80544,21 +80598,6 @@ export type CustomElementsSolidJs = {
80544
80598
  * names an element, and the chart is a generic around its plot: written
80545
80599
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
80546
80600
  * strip always did. (property only) (readonly)
80547
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
80548
- * while hydrating, where no table is resolved and no data is read. A
80549
- * chart says it has no readings only once this is true. (property only) (readonly)
80550
- * - `sourceRows`: Every row of the table, with each cell's text and number.
80551
- *
80552
- * This is where a tooltip's content comes from, and it is deliberately not
80553
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
80554
- * what the table says, which is `$128k` and not `128000`, and often wants
80555
- * the column beside it that nothing plotted at all.
80556
- *
80557
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
80558
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
80559
- * calendar week, and declaring that against a base class whose `rows` is a
80560
- * `Row[]` getter is a type error at best. Name the member for what it holds
80561
- * rather than for the shortest word available. (property only) (readonly)
80562
80601
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
80563
80602
  *
80564
80603
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -80586,18 +80625,25 @@ export type CustomElementsSolidJs = {
80586
80625
  * browser harness's awaits it alone: a browser always runs the frame, and a
80587
80626
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
80588
80627
  *
80628
+ * ## Events
80629
+ *
80630
+ * Events that will be emitted by the component.
80631
+ *
80632
+ * - `helix-reading-change`: The slice shown moved, or was put away: `index` is the slice's row, or `-1` for none, with its `label` and the `pointerType` that moved it.
80633
+ * - `helix-reading-press`: A slice was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
80634
+ *
80589
80635
  * ## Slots
80590
80636
  *
80591
80637
  * Areas where markup can be added to the component.
80592
80638
  *
80593
80639
  * - `(default)`: Content in the middle of the ring, usually a total. It is read by screen readers, while the ring itself is hidden from them.
80640
+ * - `empty`: Content shown in place of the ring when the table has no readings. Falls back to `empty-text`.
80641
+ * - `loading`: Content shown in place of the ring while `loading` is set and there are no readings yet. Falls back to `loading-text`.
80594
80642
  *
80595
80643
  * ## Methods
80596
80644
  *
80597
80645
  * Methods that can be called to access component functionality.
80598
80646
  *
80599
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
80600
- * `aria-label` asks for an update, because it names the plot.
80601
80647
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
80602
80648
  *
80603
80649
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -80647,14 +80693,17 @@ export type CustomElementsSolidJs = {
80647
80693
  * Custom selectors for styling elements within the component.
80648
80694
  *
80649
80695
  * - `center`: The middle of the ring, holding whatever is slotted.
80696
+ * - `empty`: The words in place of the ring when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration.
80650
80697
  * - `live`: The readout: a polite live region that says the slice the keys moved to. Hide it visually.
80698
+ * - `loading`: The words in place of the ring while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
80651
80699
  * - `mark`: The invisible point the tooltip is anchored to.
80652
- * - `plot`: The drawing, which takes focus to be read by key.
80700
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
80653
80701
  * - `segment`: One slice.
80654
80702
  * - `segment-active`: The slice under the pointer. Set alongside `segment`.
80655
80703
  * - `segment-edge`: One slice as a closed shape, used to draw its outline.
80656
80704
  * - `slice-label`: One slice's share, written on the slice under `slice-labels`. Placed with `left` and `top`, or `inset-inline-start` and `top` on a half ring, and carries its series color as `--chart-series`.
80657
80705
  * - `summary`: The chart's name and each slice's share, written as a sentence for screen readers. Hide it visually.
80706
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
80658
80707
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
80659
80708
  * - `tooltip-anchor`: The `Tooltip` element itself.
80660
80709
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -80677,6 +80726,9 @@ export type CustomElementsSolidJs = {
80677
80726
  *
80678
80727
  * These can be used to apply styling when a component is in a given state.
80679
80728
  *
80729
+ * - `active`: While a slice is shown, under the pointer or the keys, with its tooltip open.
80730
+ * - `empty`: While the `empty` part stands in place of the ring.
80731
+ * - `loading`: While the `loading` part stands in place of the ring.
80680
80732
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
80681
80733
  */
80682
80734
  "helix-donut-chart": Partial<
@@ -82627,6 +82679,10 @@ export type CustomElementsSolidJs = {
82627
82679
  * `no-panel`, the drawing takes the whole frame, and a button among the
82628
82680
  * controls opens the search and the list over its end.
82629
82681
  *
82682
+ * The [Graphs](https://fusion.dev/helix/docs/graphs) guide connects a
82683
+ * renderer, lists the keys and what a screen reader hears, and describes the
82684
+ * methods of a driver for another renderer.
82685
+ *
82630
82686
  * ## Attributes & Properties
82631
82687
  *
82632
82688
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -82753,6 +82809,9 @@ export type CustomElementsSolidJs = {
82753
82809
  * own, since the fallback name is the same word. Empty leaves the role.
82754
82810
  * - `search-label`/`searchLabel`: The search field's name.
82755
82811
  * - `selected-label`/`selectedLabel`: How the selected note is described in the list.
82812
+ * - `selection-label`/`selectionLabel`: What screen readers hear after a reader selects a note, in the list or in
82813
+ * the drawing, with `{note}` for its name and `{count}` for how many notes
82814
+ * the list then holds, written with `count-label`.
82756
82815
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
82757
82816
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
82758
82817
  * - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
@@ -82903,7 +82962,7 @@ export type CustomElementsSolidJs = {
82903
82962
  * - `gesture-hint`: Words over the graph for a moment when it lets a gesture pass to the page, such as how to zoom it.
82904
82963
  * - `gesture-status`: The line shown while a graph with `gestures="activate"` has the gestures.
82905
82964
  * - `header`: The strip above the graph.
82906
- * - `legend`: The groups over the drawing, with `legend`, each a button that shows or hides its notes.
82965
+ * - `legend`: The groups over the drawing, with `legend`: a toolbar of buttons, each showing or hiding its notes, which is one tab stop.
82907
82966
  * - `legend-item`: One group in the legend, pressed while its notes are shown. Carries `data-tone` where every note in the group has the same tone, which colors the notes over the group's own color.
82908
82967
  * - `legend-item-hidden`: A group in the legend whose notes are hidden.
82909
82968
  * - `legend-swatch`: The mark in a group's color, before its name.
@@ -83171,17 +83230,12 @@ export type CustomElementsSolidJs = {
83171
83230
  * no order in it.
83172
83231
  * - `total-label`/`totalLabel`: The name the `overview` gives the total of the readings drawn,
83173
83232
  * `{totalLabel}` in `overview-label`.
83174
- * - `value`: The selected cells, by the names their rows have in the table, such as
83175
- * `2026-06-11`, separated by commas.
83233
+ * - `value`: The selected cells, separated by commas: each by the date its row's
83234
+ * header carries in a `<time datetime>`, such as `2026-06-11`, or by the
83235
+ * header's words where it carries none.
83176
83236
  *
83177
83237
  * Set it to start with cells selected. Written by a press or a key under
83178
83238
  * `selection-mode`.
83179
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
83180
- *
83181
- * Public for the same reason `series` and `named` are: a protected member
83182
- * cannot be cast onto across unrelated classes, so it would be invisible to
83183
- * every chart that needs it. Reading where a pointer is resting is a fair
83184
- * thing to ask a chart anyway. (property only) (readonly)
83185
83239
  * - `data`: The readings as data, in the shape of a table, where the page has no
83186
83240
  * table to point `for` at. `for` wins where both are set.
83187
83241
  *
@@ -83220,21 +83274,6 @@ export type CustomElementsSolidJs = {
83220
83274
  * names an element, and the chart is a generic around its plot: written
83221
83275
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
83222
83276
  * strip always did. (property only) (readonly)
83223
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
83224
- * while hydrating, where no table is resolved and no data is read. A
83225
- * chart says it has no readings only once this is true. (property only) (readonly)
83226
- * - `sourceRows`: Every row of the table, with each cell's text and number.
83227
- *
83228
- * This is where a tooltip's content comes from, and it is deliberately not
83229
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
83230
- * what the table says, which is `$128k` and not `128000`, and often wants
83231
- * the column beside it that nothing plotted at all.
83232
- *
83233
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
83234
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
83235
- * calendar week, and declaring that against a base class whose `rows` is a
83236
- * `Row[]` getter is a type error at best. Name the member for what it holds
83237
- * rather than for the shortest word available. (property only) (readonly)
83238
83277
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
83239
83278
  *
83240
83279
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -83296,8 +83335,6 @@ export type CustomElementsSolidJs = {
83296
83335
  *
83297
83336
  * Methods that can be called to access component functionality.
83298
83337
  *
83299
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
83300
- * `aria-label` asks for an update, because it names the plot.
83301
83338
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
83302
83339
  *
83303
83340
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -83390,11 +83427,14 @@ export type CustomElementsSolidJs = {
83390
83427
  * - `selection`: A polite region that says how many cells are selected after a change, rendered from the first change. Hide it visually.
83391
83428
  * - `start`: The leading slot's box.
83392
83429
  * - `summary`: The middle slot's box.
83430
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
83393
83431
  *
83394
83432
  * ## CSS States
83395
83433
  *
83396
83434
  * These can be used to apply styling when a component is in a given state.
83397
83435
  *
83436
+ * - `active`: While a cell is shown, under the pointer or the keys, with its tooltip open.
83437
+ * - `empty`: While the `empty` part stands in place of the cells.
83398
83438
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
83399
83439
  */
83400
83440
  "helix-heatmap": Partial<
@@ -85132,12 +85172,6 @@ export type CustomElementsSolidJs = {
85132
85172
  * Set it where the distance from nothing is the point rather than the shape,
85133
85173
  * and accept that a series which never approaches zero becomes a flat rule
85134
85174
  * near the top of the box.
85135
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
85136
- *
85137
- * Public for the same reason `series` and `named` are: a protected member
85138
- * cannot be cast onto across unrelated classes, so it would be invisible to
85139
- * every chart that needs it. Reading where a pointer is resting is a fair
85140
- * thing to ask a chart anyway. (property only) (readonly)
85141
85175
  * - `data`: The readings as data, in the shape of a table, where the page has no
85142
85176
  * table to point `for` at. `for` wins where both are set.
85143
85177
  *
@@ -85176,21 +85210,6 @@ export type CustomElementsSolidJs = {
85176
85210
  * names an element, and the chart is a generic around its plot: written
85177
85211
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
85178
85212
  * strip always did. (property only) (readonly)
85179
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
85180
- * while hydrating, where no table is resolved and no data is read. A
85181
- * chart says it has no readings only once this is true. (property only) (readonly)
85182
- * - `sourceRows`: Every row of the table, with each cell's text and number.
85183
- *
85184
- * This is where a tooltip's content comes from, and it is deliberately not
85185
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
85186
- * what the table says, which is `$128k` and not `128000`, and often wants
85187
- * the column beside it that nothing plotted at all.
85188
- *
85189
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
85190
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
85191
- * calendar week, and declaring that against a base class whose `rows` is a
85192
- * `Row[]` getter is a type error at best. Name the member for what it holds
85193
- * rather than for the shortest word available. (property only) (readonly)
85194
85213
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
85195
85214
  *
85196
85215
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -85236,8 +85255,6 @@ export type CustomElementsSolidJs = {
85236
85255
  *
85237
85256
  * Methods that can be called to access component functionality.
85238
85257
  *
85239
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
85240
- * `aria-label` asks for an update, because it names the plot.
85241
85258
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
85242
85259
  *
85243
85260
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -85308,9 +85325,10 @@ export type CustomElementsSolidJs = {
85308
85325
  * - `mark`: The invisible point the tooltip is anchored to.
85309
85326
  * - `marker`: The mark on one reading, under `markers`, and on a reading with a blank on either side. Placed with `inset-inline-start` and `inset-block-start`, and carries its series color as `--chart-series`.
85310
85327
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
85311
- * - `plot`: The drawing, which takes focus to be read by key.
85328
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
85312
85329
  * - `summary`: The chart's name and each series' latest reading, written as a sentence for screen readers. Hide it visually.
85313
85330
  * - `svg`: The drawing surface the lines and areas sit on.
85331
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
85314
85332
  * - `terminus`: The mark on one series' last reading.
85315
85333
  * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
85316
85334
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
@@ -85334,6 +85352,9 @@ export type CustomElementsSolidJs = {
85334
85352
  *
85335
85353
  * These can be used to apply styling when a component is in a given state.
85336
85354
  *
85355
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
85356
+ * - `empty`: While the `empty` part stands in the plot.
85357
+ * - `loading`: While the `loading` part stands in the plot.
85337
85358
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
85338
85359
  */
85339
85360
  "helix-line-chart": Partial<
@@ -86076,6 +86097,9 @@ export type CustomElementsSolidJs = {
86076
86097
  * While `delay` runs, the loader keeps its size and draws nothing, so the line
86077
86098
  * it sits in does not move when it appears.
86078
86099
  *
86100
+ * With something in the `content` slot, the loader takes the larger of the ring
86101
+ * and the content, and the ring centers over the content while the work runs.
86102
+ *
86079
86103
  * ## Attributes & Properties
86080
86104
  *
86081
86105
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -86100,6 +86124,9 @@ export type CustomElementsSolidJs = {
86100
86124
  *
86101
86125
  * Names an element in the same tree. In React it arrives as a property, the
86102
86126
  * way `Tooltip.for` does.
86127
+ * - `idle`: Whether no work is in progress. The loader draws nothing of its own, has
86128
+ * no role, and marks no region busy, and what is in the `content` slot
86129
+ * shows. Clearing it starts `delay` again.
86103
86130
  * - `label`: The loader's name, announced by screen readers while the work is in
86104
86131
  * progress.
86105
86132
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -86128,13 +86155,14 @@ export type CustomElementsSolidJs = {
86128
86155
  * Areas where markup can be added to the component.
86129
86156
  *
86130
86157
  * - `(default)`: An icon or logo that stays still at the center. Empty by default.
86158
+ * - `content`: What the loader stands in for while the work runs, such as a button. It keeps its size, hidden and inert, until `idle` is set.
86131
86159
  *
86132
86160
  * ## CSS Custom Properties
86133
86161
  *
86134
86162
  * CSS variables available for styling the component.
86135
86163
  *
86136
86164
  * - `--loader-color`: Color of the moving arc.
86137
- * - `--loader-duration`: How long one turn of the arc takes, 0.8s by default. With motion reduced the turn slows to a crawl whatever this says.
86165
+ * - `--loader-duration`: How long one turn of the arc takes, 0.8s by default. With motion reduced the arc turns once every four seconds, whatever this says.
86138
86166
  * - `--loader-size`: Diameter. Defaults to the size token that `size` picks, which is 1.5rem at the default density.
86139
86167
  * - `--loader-track-color`: Color of the circle behind the arc.
86140
86168
  * - `--loader-track-width`: Width of the arc and the circle behind it, in units of a 24-unit drawing. Defaults to 2.
@@ -86143,6 +86171,7 @@ export type CustomElementsSolidJs = {
86143
86171
  *
86144
86172
  * Custom selectors for styling elements within the component.
86145
86173
  *
86174
+ * - `content`: The box that holds the `content` slot. Hidden while the work runs, and shown while `idle` is set.
86146
86175
  * - `indicator`: The arc that turns.
86147
86176
  * - `mark`: The region that holds the slotted content at the center.
86148
86177
  * - `svg`: The rotating circle pair.
@@ -86780,6 +86809,10 @@ export type CustomElementsSolidJs = {
86780
86809
  * to draw the map's credit compact in a corner over the map, which suits a
86781
86810
  * map the width of the page.
86782
86811
  *
86812
+ * The [Maps](https://fusion.dev/helix/docs/maps) guide connects a renderer,
86813
+ * lists the keys and what a screen reader hears, and describes every method
86814
+ * a driver for another renderer can have.
86815
+ *
86783
86816
  * ## Attributes & Properties
86784
86817
  *
86785
86818
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -92969,12 +93002,6 @@ export type CustomElementsSolidJs = {
92969
93002
  * Absent draws none. A series with fewer than two points, or with every
92970
93003
  * point at one measure across, has no line to draw. The summary already
92971
93004
  * gives each series' correlation, which says how near the points are to it.
92972
- * - `pointer`: Finds the reading nearest the pointer, so the tooltip can sit on it.
92973
- *
92974
- * Public for the same reason `series` and `named` are: a protected member
92975
- * cannot be cast onto across unrelated classes, so it would be invisible to
92976
- * every chart that needs it. Reading where a pointer is resting is a fair
92977
- * thing to ask a chart anyway. (property only) (readonly)
92978
93005
  * - `data`: The readings as data, in the shape of a table, where the page has no
92979
93006
  * table to point `for` at. `for` wins where both are set.
92980
93007
  *
@@ -93013,21 +93040,6 @@ export type CustomElementsSolidJs = {
93013
93040
  * names an element, and the chart is a generic around its plot: written
93014
93041
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
93015
93042
  * strip always did. (property only) (readonly)
93016
- * - `readingsKnown`: Whether the readings have been looked for: false on the server and
93017
- * while hydrating, where no table is resolved and no data is read. A
93018
- * chart says it has no readings only once this is true. (property only) (readonly)
93019
- * - `sourceRows`: Every row of the table, with each cell's text and number.
93020
- *
93021
- * This is where a tooltip's content comes from, and it is deliberately not
93022
- * `series`. A chart draws numbers; a reader resting a pointer on one wants
93023
- * what the table says, which is `$128k` and not `128000`, and often wants
93024
- * the column beside it that nothing plotted at all.
93025
- *
93026
- * **Not `rows`.** It is the source table's rows, and `rows` on a chart is a
93027
- * name a chart wants for itself: `helix-heatmap` takes `rows="7"` to mean a
93028
- * calendar week, and declaring that against a base class whose `rows` is a
93029
- * `Row[]` getter is a type error at best. Name the member for what it holds
93030
- * rather than for the shortest word available. (property only) (readonly)
93031
93043
  * - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
93032
93044
  *
93033
93045
  * The same test `readSeries` applies when it drops a column of notes: a
@@ -93073,8 +93085,6 @@ export type CustomElementsSolidJs = {
93073
93085
  *
93074
93086
  * Methods that can be called to access component functionality.
93075
93087
  *
93076
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A new
93077
- * `aria-label` asks for an update, because it names the plot.
93078
93088
  * - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
93079
93089
  *
93080
93090
  * **A cell's place in its row is not its series' depth, and the tooltip
@@ -93133,11 +93143,12 @@ export type CustomElementsSolidJs = {
93133
93143
  * - `loading`: The words in place of the drawing while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
93134
93144
  * - `mark`: The invisible point the tooltip is anchored to.
93135
93145
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
93136
- * - `plot`: The drawing, which takes focus to be read by key.
93146
+ * - `plot`: The drawing, which takes focus to be read by key. With nothing to draw, a group named as the chart is, holding the `empty` or `loading` part.
93137
93147
  * - `point`: One row, as a point.
93138
93148
  * - `point-active`: A point in the row under the pointer. Set alongside `point`.
93139
93149
  * - `summary`: The text that says how strongly the measures relate, for people who cannot see the points.
93140
93150
  * - `svg`: The drawing surface the gridlines and the trend lines sit on.
93151
+ * - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
93141
93152
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
93142
93153
  * - `tooltip-anchor`: The `Tooltip` element itself.
93143
93154
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -93157,7 +93168,7 @@ export type CustomElementsSolidJs = {
93157
93168
  * - `trend`: One series' line of best fit, under `trend`. Carries its series color as `--chart-series`.
93158
93169
  * - `x-axis`: The values along the horizontal axis, under the plot.
93159
93170
  * - `x-name`: The name of the horizontal measure.
93160
- * - `x-tick`: One labeled value on the horizontal axis. Each axis has its own tick part, because `::part()` cannot tell which axis a tick is on.
93171
+ * - `x-tick`: One labeled value on the horizontal axis. Each axis has its own tick part, because `::part()` cannot tell which axis a tick is on. The one at the far edge carries `data-edge="end"`.
93161
93172
  * - `y-axis`: The values along the vertical axis, beside the plot.
93162
93173
  * - `y-name`: The name of the vertical measure.
93163
93174
  * - `y-tick`: One labeled value on the vertical axis.
@@ -93166,6 +93177,9 @@ export type CustomElementsSolidJs = {
93166
93177
  *
93167
93178
  * These can be used to apply styling when a component is in a given state.
93168
93179
  *
93180
+ * - `active`: While a reading is shown, under the pointer or the keys, with its tooltip open.
93181
+ * - `empty`: While the `empty` part stands in the plot.
93182
+ * - `loading`: While the `loading` part stands in the plot.
93169
93183
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
93170
93184
  */
93171
93185
  "helix-scatter-chart": Partial<
@@ -94357,8 +94371,6 @@ export type CustomElementsSolidJs = {
94357
94371
  * with `values={[1240, 1318]}`. The attribute is the form to prefer, because
94358
94372
  * a string is what survives React's hydration where an array property does
94359
94373
  * not.
94360
- * - `pointer`: Finds the reading a pointer or a key rests on, as it does for every
94361
- * chart, so a sparkline is read the way they are. (property only) (readonly)
94362
94374
  * - `named`: The drawing's name: an `aria-label` written on the sparkline, then `label`. (property only) (readonly)
94363
94375
  * - `readings`: How many readings there are, which the pointer and the keys walk. (property only) (readonly)
94364
94376
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -94382,11 +94394,12 @@ export type CustomElementsSolidJs = {
94382
94394
  * browser harness's awaits it alone: a browser always runs the frame, and a
94383
94395
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
94384
94396
  *
94385
- * ## Methods
94397
+ * ## Events
94386
94398
  *
94387
- * Methods that can be called to access component functionality.
94399
+ * Events that will be emitted by the component.
94388
94400
  *
94389
- * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes; a new `aria-label` renames the drawing.
94401
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the reading, or `-1` for none, with its row's `label` from a table and the `pointerType` that moved it.
94402
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
94390
94403
  *
94391
94404
  * ## CSS Custom Properties
94392
94405
  *
@@ -96909,8 +96922,9 @@ export type CustomElementsSolidJs = {
96909
96922
  * - `selection-mode`/`selectionMode`: How many tags a reader can select: `single`, `multiple`, or none.
96910
96923
  *
96911
96924
  * Absent selects nothing, and the tags carry no selected state at all.
96912
- * - `value`: The selected tags' values, separated by commas, since a value may hold a
96913
- * space.
96925
+ * - `value`: The selected tags' values, separated by commas with no space, as Toggle
96926
+ * Group and Table write theirs, since a value may hold a space. A value
96927
+ * written with a space after each comma is read the same way.
96914
96928
  *
96915
96929
  * Set it to start with tags selected. A tag's value is its `value`, or its
96916
96930
  * words where it has none.
@@ -100074,7 +100088,7 @@ export type CustomElementsSolidJs = {
100074
100088
  *
100075
100089
  * Areas where markup can be added to the component.
100076
100090
  *
100077
- * - `(default)`: The item's label.
100091
+ * - `(default)`: The item's label. A nested item does not go here: give it `slot="children"`. In a development build, an item nested here is reported.
100078
100092
  * - `chevron`: Replaces the expand and collapse mark of a branch. A slotted icon is sized and turned like the drawn one.
100079
100093
  * - `children`: Nested items, which make this a branch.
100080
100094
  * - `end`: Content after the label, at the far side of the row, such as a count or a state.
@@ -102728,7 +102742,7 @@ export type CustomCssProperties = {
102728
102742
  "--listbox-max-block-size"?: (string) | undefined;
102729
102743
  /** Color of the moving arc. */
102730
102744
  "--loader-color"?: (string) | undefined;
102731
- /** How long one turn of the arc takes, 0.8s by default. With motion reduced the turn slows to a crawl whatever this says. */
102745
+ /** How long one turn of the arc takes, 0.8s by default. With motion reduced the arc turns once every four seconds, whatever this says. */
102732
102746
  "--loader-duration"?: (string) | undefined;
102733
102747
  /** Diameter. Defaults to the size token that `size` picks, which is 1.5rem at the default density. */
102734
102748
  "--loader-size"?: (string) | undefined;