@fusion.dev/helix-headless 0.152.0 → 0.153.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/vue.d.ts CHANGED
@@ -663,6 +663,25 @@ them, and the tooltip and the table hold every reading. */
663
663
  Absent draws none: bands read as a composition need no numbers beside
664
664
  them, and the tooltip and the table hold every reading. */
665
665
  valueAxis?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
666
+ /** The words shown in place of the drawing when the table has no readings,
667
+ and the fallback of the `empty` slot. */
668
+ "empty-text"?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
669
+ /** The words shown in place of the drawing when the table has no readings,
670
+ and the fallback of the `empty` slot. */
671
+ emptyText?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
672
+ /** Whether the readings are still on their way. The chart shows
673
+ `loading-text` in place of an empty drawing until it has readings.
674
+
675
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
676
+ that already has readings keeps drawing them, so a refresh does not
677
+ blank it. */
678
+ loading?: (HelixHeadlessAreaChart["loading"]) | undefined;
679
+ /** The words shown in place of the drawing while `loading` is set and
680
+ there are no readings yet, and the fallback of the `loading` slot. */
681
+ "loading-text"?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
682
+ /** The words shown in place of the drawing while `loading` is set and
683
+ there are no readings yet, and the fallback of the `loading` slot. */
684
+ loadingText?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
666
685
  /** The id of the table to read.
667
686
 
668
687
  Names a table in the same tree, so a chart inside another component's
@@ -699,6 +718,29 @@ Set it to the words of the page's language, such as `{position} von
699
718
  {count}`, or to nothing to say no position. A slice or a series a
700
719
  legend hid is not counted. */
701
720
  positionLabel?: (HelixHeadlessAreaChart["positionLabel"]) | undefined;
721
+ /** The readings as data, in the shape of a table, where the page has no
722
+ table to point `for` at. `for` wins where both are set.
723
+
724
+ ```js
725
+ chart.data = {
726
+ caption: 'Sessions by channel',
727
+ columns: ['Month', 'Direct', 'Referral'],
728
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
729
+ }
730
+ ```
731
+
732
+ The first column holds each row's label and every column after it a
733
+ series, as in a table. A cell is a number, words, `null` for a blank,
734
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
735
+ number is shown in `locale`.
736
+
737
+ **A table is still the better source where the page can show one**:
738
+ it reads with no script and before hydration, and a reader can sort and
739
+ copy it. Data is drawn on the client only, so a server serves the
740
+ frame, and the summary, the keys and the readout are then the whole of
741
+ what a screen reader is given. Set a new object to redraw: the chart
742
+ does not look inside the one it has. */
743
+ data?: (HelixHeadlessAreaChart["data"]) | undefined;
702
744
  };
703
745
 
704
746
  export type HelixHeadlessAreaChartVueEvents = {
@@ -1001,6 +1043,25 @@ bottom of bars under `orientation="horizontal"`.
1001
1043
  Absent draws none with one scale, since bars compared with each other need
1002
1044
  no numbers. With `secondary` both scales are drawn whatever this says. */
1003
1045
  valueAxis?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1046
+ /** The words shown in place of the drawing when the table has no readings,
1047
+ and the fallback of the `empty` slot. */
1048
+ "empty-text"?: (HelixHeadlessBarChart["emptyText"]) | undefined;
1049
+ /** The words shown in place of the drawing when the table has no readings,
1050
+ and the fallback of the `empty` slot. */
1051
+ emptyText?: (HelixHeadlessBarChart["emptyText"]) | undefined;
1052
+ /** Whether the readings are still on their way. The chart shows
1053
+ `loading-text` in place of an empty drawing until it has readings.
1054
+
1055
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
1056
+ that already has readings keeps drawing them, so a refresh does not
1057
+ blank it. */
1058
+ loading?: (HelixHeadlessBarChart["loading"]) | undefined;
1059
+ /** The words shown in place of the drawing while `loading` is set and
1060
+ there are no readings yet, and the fallback of the `loading` slot. */
1061
+ "loading-text"?: (HelixHeadlessBarChart["loadingText"]) | undefined;
1062
+ /** The words shown in place of the drawing while `loading` is set and
1063
+ there are no readings yet, and the fallback of the `loading` slot. */
1064
+ loadingText?: (HelixHeadlessBarChart["loadingText"]) | undefined;
1004
1065
  /** The id of the table to read.
1005
1066
 
1006
1067
  Names a table in the same tree, so a chart inside another component's
@@ -1037,6 +1098,29 @@ Set it to the words of the page's language, such as `{position} von
1037
1098
  {count}`, or to nothing to say no position. A slice or a series a
1038
1099
  legend hid is not counted. */
1039
1100
  positionLabel?: (HelixHeadlessBarChart["positionLabel"]) | undefined;
1101
+ /** The readings as data, in the shape of a table, where the page has no
1102
+ table to point `for` at. `for` wins where both are set.
1103
+
1104
+ ```js
1105
+ chart.data = {
1106
+ caption: 'Sessions by channel',
1107
+ columns: ['Month', 'Direct', 'Referral'],
1108
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
1109
+ }
1110
+ ```
1111
+
1112
+ The first column holds each row's label and every column after it a
1113
+ series, as in a table. A cell is a number, words, `null` for a blank,
1114
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
1115
+ number is shown in `locale`.
1116
+
1117
+ **A table is still the better source where the page can show one**:
1118
+ it reads with no script and before hydration, and a reader can sort and
1119
+ copy it. Data is drawn on the client only, so a server serves the
1120
+ frame, and the summary, the keys and the readout are then the whole of
1121
+ what a screen reader is given. Set a new object to redraw: the chart
1122
+ does not look inside the one it has. */
1123
+ data?: (HelixHeadlessBarChart["data"]) | undefined;
1040
1124
  };
1041
1125
 
1042
1126
  export type HelixHeadlessBarChartVueEvents = {
@@ -5748,6 +5832,29 @@ Set it to the words of the page's language, such as `{position} von
5748
5832
  {count}`, or to nothing to say no position. A slice or a series a
5749
5833
  legend hid is not counted. */
5750
5834
  positionLabel?: (HelixHeadlessDonutChart["positionLabel"]) | undefined;
5835
+ /** The readings as data, in the shape of a table, where the page has no
5836
+ table to point `for` at. `for` wins where both are set.
5837
+
5838
+ ```js
5839
+ chart.data = {
5840
+ caption: 'Sessions by channel',
5841
+ columns: ['Month', 'Direct', 'Referral'],
5842
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
5843
+ }
5844
+ ```
5845
+
5846
+ The first column holds each row's label and every column after it a
5847
+ series, as in a table. A cell is a number, words, `null` for a blank,
5848
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
5849
+ number is shown in `locale`.
5850
+
5851
+ **A table is still the better source where the page can show one**:
5852
+ it reads with no script and before hydration, and a reader can sort and
5853
+ copy it. Data is drawn on the client only, so a server serves the
5854
+ frame, and the summary, the keys and the readout are then the whole of
5855
+ what a screen reader is given. Set a new object to redraw: the chart
5856
+ does not look inside the one it has. */
5857
+ data?: (HelixHeadlessDonutChart["data"]) | undefined;
5751
5858
  };
5752
5859
 
5753
5860
  export type HelixHeadlessDonutChartVueEvents = {};
@@ -7175,6 +7282,29 @@ Set it to the words of the page's language, such as `{position} von
7175
7282
  {count}`, or to nothing to say no position. A slice or a series a
7176
7283
  legend hid is not counted. */
7177
7284
  positionLabel?: (HelixHeadlessHeatmap["positionLabel"]) | undefined;
7285
+ /** The readings as data, in the shape of a table, where the page has no
7286
+ table to point `for` at. `for` wins where both are set.
7287
+
7288
+ ```js
7289
+ chart.data = {
7290
+ caption: 'Sessions by channel',
7291
+ columns: ['Month', 'Direct', 'Referral'],
7292
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
7293
+ }
7294
+ ```
7295
+
7296
+ The first column holds each row's label and every column after it a
7297
+ series, as in a table. A cell is a number, words, `null` for a blank,
7298
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
7299
+ number is shown in `locale`.
7300
+
7301
+ **A table is still the better source where the page can show one**:
7302
+ it reads with no script and before hydration, and a reader can sort and
7303
+ copy it. Data is drawn on the client only, so a server serves the
7304
+ frame, and the summary, the keys and the readout are then the whole of
7305
+ what a screen reader is given. Set a new object to redraw: the chart
7306
+ does not look inside the one it has. */
7307
+ data?: (HelixHeadlessHeatmap["data"]) | undefined;
7178
7308
  };
7179
7309
 
7180
7310
  export type HelixHeadlessHeatmapVueEvents = {
@@ -8247,6 +8377,25 @@ Set it where the distance from nothing is the point rather than the shape,
8247
8377
  and accept that a series which never approaches zero becomes a flat rule
8248
8378
  near the top of the box. */
8249
8379
  zero?: (HelixHeadlessLineChart["zero"]) | undefined;
8380
+ /** The words shown in place of the drawing when the table has no readings,
8381
+ and the fallback of the `empty` slot. */
8382
+ "empty-text"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
8383
+ /** The words shown in place of the drawing when the table has no readings,
8384
+ and the fallback of the `empty` slot. */
8385
+ emptyText?: (HelixHeadlessLineChart["emptyText"]) | undefined;
8386
+ /** Whether the readings are still on their way. The chart shows
8387
+ `loading-text` in place of an empty drawing until it has readings.
8388
+
8389
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
8390
+ that already has readings keeps drawing them, so a refresh does not
8391
+ blank it. */
8392
+ loading?: (HelixHeadlessLineChart["loading"]) | undefined;
8393
+ /** The words shown in place of the drawing while `loading` is set and
8394
+ there are no readings yet, and the fallback of the `loading` slot. */
8395
+ "loading-text"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
8396
+ /** The words shown in place of the drawing while `loading` is set and
8397
+ there are no readings yet, and the fallback of the `loading` slot. */
8398
+ loadingText?: (HelixHeadlessLineChart["loadingText"]) | undefined;
8250
8399
  /** The id of the table to read.
8251
8400
 
8252
8401
  Names a table in the same tree, so a chart inside another component's
@@ -8283,6 +8432,29 @@ Set it to the words of the page's language, such as `{position} von
8283
8432
  {count}`, or to nothing to say no position. A slice or a series a
8284
8433
  legend hid is not counted. */
8285
8434
  positionLabel?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
8435
+ /** The readings as data, in the shape of a table, where the page has no
8436
+ table to point `for` at. `for` wins where both are set.
8437
+
8438
+ ```js
8439
+ chart.data = {
8440
+ caption: 'Sessions by channel',
8441
+ columns: ['Month', 'Direct', 'Referral'],
8442
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
8443
+ }
8444
+ ```
8445
+
8446
+ The first column holds each row's label and every column after it a
8447
+ series, as in a table. A cell is a number, words, `null` for a blank,
8448
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
8449
+ number is shown in `locale`.
8450
+
8451
+ **A table is still the better source where the page can show one**:
8452
+ it reads with no script and before hydration, and a reader can sort and
8453
+ copy it. Data is drawn on the client only, so a server serves the
8454
+ frame, and the summary, the keys and the readout are then the whole of
8455
+ what a screen reader is given. Set a new object to redraw: the chart
8456
+ does not look inside the one it has. */
8457
+ data?: (HelixHeadlessLineChart["data"]) | undefined;
8286
8458
  };
8287
8459
 
8288
8460
  export type HelixHeadlessLineChartVueEvents = {
@@ -11443,7 +11615,8 @@ decimals. Written as JSON in the attribute.
11443
11615
 
11444
11616
  A `percent` style writes the share of the range, and any other the value
11445
11617
  itself, so the example says "18 GB". Absent is a whole percentage. The
11446
- words are announced as well as shown. `value-text` still wins. */
11618
+ words are announced whether or not `show-value` shows them. `value-text`
11619
+ still wins. */
11447
11620
  "format-options"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
11448
11621
  /** `Intl.NumberFormat` options the reading is written with, as React Aria's
11449
11622
  Meter and ProgressBar take them: a unit, a currency, or a number of
@@ -11455,7 +11628,8 @@ decimals. Written as JSON in the attribute.
11455
11628
 
11456
11629
  A `percent` style writes the share of the range, and any other the value
11457
11630
  itself, so the example says "18 GB". Absent is a whole percentage. The
11458
- words are announced as well as shown. `value-text` still wins. */
11631
+ words are announced whether or not `show-value` shows them. `value-text`
11632
+ still wins. */
11459
11633
  formatOptions?: (HelixHeadlessProgress["formatOptions"]) | undefined;
11460
11634
  /** Whether the length of the task is unknown. The bar then shows activity
11461
11635
  without a value.
@@ -12088,6 +12262,25 @@ Absent draws none. A series with fewer than two points, or with every
12088
12262
  point at one measure across, has no line to draw. The summary already
12089
12263
  gives each series' correlation, which says how near the points are to it. */
12090
12264
  trend?: (HelixHeadlessScatterChart["trend"]) | undefined;
12265
+ /** The words shown in place of the drawing when the table has no readings,
12266
+ and the fallback of the `empty` slot. */
12267
+ "empty-text"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
12268
+ /** The words shown in place of the drawing when the table has no readings,
12269
+ and the fallback of the `empty` slot. */
12270
+ emptyText?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
12271
+ /** Whether the readings are still on their way. The chart shows
12272
+ `loading-text` in place of an empty drawing until it has readings.
12273
+
12274
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
12275
+ that already has readings keeps drawing them, so a refresh does not
12276
+ blank it. */
12277
+ loading?: (HelixHeadlessScatterChart["loading"]) | undefined;
12278
+ /** The words shown in place of the drawing while `loading` is set and
12279
+ there are no readings yet, and the fallback of the `loading` slot. */
12280
+ "loading-text"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
12281
+ /** The words shown in place of the drawing while `loading` is set and
12282
+ there are no readings yet, and the fallback of the `loading` slot. */
12283
+ loadingText?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
12091
12284
  /** The id of the table to read.
12092
12285
 
12093
12286
  Names a table in the same tree, so a chart inside another component's
@@ -12124,6 +12317,29 @@ Set it to the words of the page's language, such as `{position} von
12124
12317
  {count}`, or to nothing to say no position. A slice or a series a
12125
12318
  legend hid is not counted. */
12126
12319
  positionLabel?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
12320
+ /** The readings as data, in the shape of a table, where the page has no
12321
+ table to point `for` at. `for` wins where both are set.
12322
+
12323
+ ```js
12324
+ chart.data = {
12325
+ caption: 'Sessions by channel',
12326
+ columns: ['Month', 'Direct', 'Referral'],
12327
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
12328
+ }
12329
+ ```
12330
+
12331
+ The first column holds each row's label and every column after it a
12332
+ series, as in a table. A cell is a number, words, `null` for a blank,
12333
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
12334
+ number is shown in `locale`.
12335
+
12336
+ **A table is still the better source where the page can show one**:
12337
+ it reads with no script and before hydration, and a reader can sort and
12338
+ copy it. Data is drawn on the client only, so a server serves the
12339
+ frame, and the summary, the keys and the readout are then the whole of
12340
+ what a screen reader is given. Set a new object to redraw: the chart
12341
+ does not look inside the one it has. */
12342
+ data?: (HelixHeadlessScatterChart["data"]) | undefined;
12127
12343
  };
12128
12344
 
12129
12345
  export type HelixHeadlessScatterChartVueEvents = {
@@ -16846,7 +17062,7 @@ export interface WcToolkitVueGlobalComponents {
16846
17062
  HelixHeadlessAppHeaderVueProps,
16847
17063
  HelixHeadlessAppHeaderVueEvents
16848
17064
  >;
16849
- /** Shows how a total is made up. Each numeric column of the table is a part, the parts add up to the total at each reading, and the top edge is that total. The thickness of a band is that part's amount. Use 'LineChart' with 'area' to show how each series moved: it fills each series from the floor separately, so the fills overlap. Use this chart to show the composition: it stacks the series. **The value axis always starts at zero**, as in 'BarChart', because a band's thickness is its value. For the same reason there is no streamgraph mode, which moves the baseline. To show how the composition changed, set 'share'. Band edges are straight between readings by default. A smoothed curve through one sum can dip below the curve through the sum beneath it, which draws a part as less than zero. Other curves: - 'curve="smooth"': for a stack read as an overall shape. - 'curve="step"': holds each reading and jumps at the midpoint, so stacked edges stay in order, as with 'straight'. Use it for a quantity that changes at a moment, such as a headcount or a price. 'share' draws each reading as 100 percent, so the top edge is flat and the bands show each part's share. Use it to see which part grew. The default shows whether the total grew. 'overlap' draws every band from zero, one in front of another, so each part's own amount is its height: the first column is in front. Use it to compare the parts with each other; the scale then fits the largest part rather than the total. 'value-axis' draws the scale's numbers beside the plot, at the levels 'gridlines' rules: amounts in 'locale', or percentages under 'share'. The drawing is hidden from screen readers. The text summary gives the latest reading's total and each part's share of it, and the table beside the chart has every number. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from reading to reading, Home and End go to the first and the last, and the up and down arrows move among the series of a reading. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. Every numeric column is a part, so leave a total column out of the table the chart reads, or it is counted twice. A negative reading is drawn as zero. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. */
17065
+ /** Shows how a total is made up. Each numeric column of the table is a part, the parts add up to the total at each reading, and the top edge is that total. The thickness of a band is that part's amount. Use 'LineChart' with 'area' to show how each series moved: it fills each series from the floor separately, so the fills overlap. Use this chart to show the composition: it stacks the series. **The value axis always starts at zero**, as in 'BarChart', because a band's thickness is its value. For the same reason there is no streamgraph mode, which moves the baseline. To show how the composition changed, set 'share'. Band edges are straight between readings by default. A smoothed curve through one sum can dip below the curve through the sum beneath it, which draws a part as less than zero. Other curves: - 'curve="smooth"': for a stack read as an overall shape. - 'curve="step"': holds each reading and jumps at the midpoint, so stacked edges stay in order, as with 'straight'. Use it for a quantity that changes at a moment, such as a headcount or a price. 'share' draws each reading as 100 percent, so the top edge is flat and the bands show each part's share. Use it to see which part grew. The default shows whether the total grew. 'overlap' draws every band from zero, one in front of another, so each part's own amount is its height: the first column is in front. Use it to compare the parts with each other; the scale then fits the largest part rather than the total. 'value-axis' draws the scale's numbers beside the plot, at the levels 'gridlines' rules: amounts in 'locale', or percentages under 'share'. The drawing is hidden from screen readers. The text summary gives the latest reading's total and each part's share of it, and the table beside the chart has every number. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from reading to reading, Home and End go to the first and the last, and the up and down arrows move among the series of a reading. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. Every numeric column is a part, so leave a total column out of the table the chart reads, or it is counted twice. A negative reading is drawn as zero. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. **'data' takes the readings as data** where the page has no table to point 'for' at, in a table's shape: the column headings, then one row per reading with its label first. A table is still the better source where the page can show one, since it reads before any script runs. **A chart with nothing to draw says so.** A table with no readings shows 'empty-text', "No readings", in the plot, and 'loading' shows 'loading-text' there until readings arrive. The 'empty' and 'loading' slots take markup in their place, such as a link to add the first reading. */
16850
17066
  "helix-headless-area-chart": DefineCustomElement<
16851
17067
  HelixHeadlessAreaChart,
16852
17068
  HelixHeadlessAreaChartVueProps,
@@ -16870,7 +17086,7 @@ export interface WcToolkitVueGlobalComponents {
16870
17086
  HelixHeadlessBadgeVueProps,
16871
17087
  HelixHeadlessBadgeVueEvents
16872
17088
  >;
16873
- /** Every bar is measured from zero, and no property changes the baseline, because a bar's length is its value. To show the differences between values, use a line chart. The labels are HTML beside the drawing. An '<svg>' that fills its box scales the text inside it: the same 'font-size' renders at 10px in a narrow chart and 43px in a wide one, and SVG has no setting that keeps text at one size the way 'vector-effect' does for strokes. The table is the accessible representation, and the drawing is hidden from screen readers, so they get the numbers themselves. The 'summary' part names the chart, from 'label' or the table's caption, and gives each series' highest reading. **The plot is read by key.** It takes focus, named by 'label' or the caption. The arrows along the categories move from one to the next, which is left and right for columns and up and down for 'orientation="horizontal"'. Home and End go to the first and the last, and the other pair of arrows moves among the series of a category. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. The component writes the custom properties below with numbers it computes, and the stylesheet that draws the chart reads them. Do not set them yourself. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. */
17089
+ /** Every bar is measured from zero, and no property changes the baseline, because a bar's length is its value. To show the differences between values, use a line chart. The labels are HTML beside the drawing. An '<svg>' that fills its box scales the text inside it: the same 'font-size' renders at 10px in a narrow chart and 43px in a wide one, and SVG has no setting that keeps text at one size the way 'vector-effect' does for strokes. The table is the accessible representation, and the drawing is hidden from screen readers, so they get the numbers themselves. The 'summary' part names the chart, from 'label' or the table's caption, and gives each series' highest reading. **The plot is read by key.** It takes focus, named by 'label' or the caption. The arrows along the categories move from one to the next, which is left and right for columns and up and down for 'orientation="horizontal"'. Home and End go to the first and the last, and the other pair of arrows moves among the series of a category. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. The component writes the custom properties below with numbers it computes, and the stylesheet that draws the chart reads them. Do not set them yourself. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. **'data' takes the readings as data** where the page has no table to point 'for' at, in a table's shape: the column headings, then one row per reading with its label first. A table is still the better source where the page can show one, since it reads before any script runs. **A chart with nothing to draw says so.** A table with no readings shows 'empty-text', "No readings", in the plot, and 'loading' shows 'loading-text' there until readings arrive. The 'empty' and 'loading' slots take markup in their place, such as a link to add the first reading. */
16874
17090
  "helix-headless-bar-chart": DefineCustomElement<
16875
17091
  HelixHeadlessBarChart,
16876
17092
  HelixHeadlessBarChartVueProps,
@@ -17188,7 +17404,7 @@ export interface WcToolkitVueGlobalComponents {
17188
17404
  HelixHeadlessLightboxVueProps,
17189
17405
  HelixHeadlessLightboxVueEvents
17190
17406
  >;
17191
- /** A line chart shows the shape of each series: where the readings went. The scale covers the range of the data. Including zero in the range of a series that moves between 980 and 1020 would flatten the line into a rule across the top of the box. 'BarChart' always starts at zero, because a bar's length is its value. Set 'zero' when the distance from zero is the point. Every series shares one scale, as in the bar chart. 'dashed' names the series drawn as a dashed line, such as a forecast or a target beside the readings: 'dashed="Forecast"'. Each takes a 'line-dashed' part beside 'line'. 'area' fills each series down to the floor on its own, so the fills overlap. For a total made of parts, use 'Area Chart', which stacks the series so the top edge is the total and each band is a share. The labels are HTML beside the drawing, as in 'BarChart'. Text inside an '<svg>' that fills its box scales with the box, so the same 'font-size' can render at 10px in a narrow chart and 43px in a wide one. 'value-axis' draws the scale's numbers beside the plot, at the levels 'gridlines' rules, written in 'locale'. The table is the accessible representation, and the drawing is hidden from screen readers, who get the numbers. The 'summary' part names the chart, from 'label' or the table's caption, and gives each series' latest reading. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from reading to reading, Home and End go to the first and the last, and the up and down arrows move among the series of a reading. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. */
17407
+ /** A line chart shows the shape of each series: where the readings went. The scale covers the range of the data. Including zero in the range of a series that moves between 980 and 1020 would flatten the line into a rule across the top of the box. 'BarChart' always starts at zero, because a bar's length is its value. Set 'zero' when the distance from zero is the point. Every series shares one scale, as in the bar chart. 'dashed' names the series drawn as a dashed line, such as a forecast or a target beside the readings: 'dashed="Forecast"'. Each takes a 'line-dashed' part beside 'line'. 'area' fills each series down to the floor on its own, so the fills overlap. For a total made of parts, use 'Area Chart', which stacks the series so the top edge is the total and each band is a share. The labels are HTML beside the drawing, as in 'BarChart'. Text inside an '<svg>' that fills its box scales with the box, so the same 'font-size' can render at 10px in a narrow chart and 43px in a wide one. 'value-axis' draws the scale's numbers beside the plot, at the levels 'gridlines' rules, written in 'locale'. The table is the accessible representation, and the drawing is hidden from screen readers, who get the numbers. The 'summary' part names the chart, from 'label' or the table's caption, and gives each series' latest reading. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from reading to reading, Home and End go to the first and the last, and the up and down arrows move among the series of a reading. The tooltip follows, the 'live' part says the reading in words, and Escape puts the tooltip away. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. **'data' takes the readings as data** where the page has no table to point 'for' at, in a table's shape: the column headings, then one row per reading with its label first. A table is still the better source where the page can show one, since it reads before any script runs. **A chart with nothing to draw says so.** A table with no readings shows 'empty-text', "No readings", in the plot, and 'loading' shows 'loading-text' there until readings arrive. The 'empty' and 'loading' slots take markup in their place, such as a link to add the first reading. */
17192
17408
  "helix-headless-line-chart": DefineCustomElement<
17193
17409
  HelixHeadlessLineChart,
17194
17410
  HelixHeadlessLineChartVueProps,
@@ -17212,7 +17428,7 @@ export interface WcToolkitVueGlobalComponents {
17212
17428
  HelixHeadlessListboxVueProps,
17213
17429
  HelixHeadlessListboxVueEvents
17214
17430
  >;
17215
- /** Draws two concentric circles: a track and a moving arc. The track shows the arc as a proportion of a whole, and costs one element. **The center is a slot, empty by default.** Put your logo there once, where your app wraps the loader. When nothing is slotted, nothing extra is rendered. Slotted content does not rotate. Only the arc moves, so a logo stays readable. The role is set on the host through 'ElementInternals'. A 'role' in the shadow root would leave the host itself without a role in the light DOM, and a 'role' attribute on the host would be missing from React server-rendered markup. **'for' names the region being loaded**, and the loader sets 'aria-busy="true"' on it for as long as the loader is on the page, so a screen reader waits for the region rather than reading it half filled. Two loaders in one region hold it busy until the last one leaves. A region drawn after the loader is marked when it arrives. **'delay' keeps a quick load from flashing a loader.** The loader stays hidden, and silent, for that many milliseconds, and appears only if the work is still going. While it waits it carries ':state(waiting)'. */
17431
+ /** Draws two concentric circles: a track and a moving arc. The track shows the arc as a proportion of a whole, and costs one element. **For work whose length is known, use 'Progress' with 'shape="ring"'.** It draws the same ring filled to the value, says the value as a progress bar does, and says when the work is complete. A loader claims no proportion, so it takes no value. **The center is a slot, empty by default.** Put your logo there once, where your app wraps the loader. When nothing is slotted, nothing extra is rendered. Slotted content does not rotate. Only the arc moves, so a logo stays readable. The role is set on the host through 'ElementInternals'. A 'role' in the shadow root would leave the host itself without a role in the light DOM, and a 'role' attribute on the host would be missing from React server-rendered markup. **'for' names the region being loaded**, and the loader sets 'aria-busy="true"' on it for as long as the loader is on the page, so a screen reader waits for the region rather than reading it half filled. Two loaders in one region hold it busy until the last one leaves. A region drawn after the loader is marked when it arrives. **'delay' keeps a quick load from flashing a loader.** The loader stays hidden, and silent, for that many milliseconds, and appears only if the work is still going. While it waits it carries ':state(waiting)'. */
17216
17432
  "helix-headless-loader": DefineCustomElement<
17217
17433
  HelixHeadlessLoader,
17218
17434
  HelixHeadlessLoaderVueProps,
@@ -17404,7 +17620,7 @@ export interface WcToolkitVueGlobalComponents {
17404
17620
  HelixHeadlessPopoverVueProps,
17405
17621
  HelixHeadlessPopoverVueEvents
17406
17622
  >;
17407
- /** Determinate by default. Set 'indeterminate' for a task whose total is not known yet. Use 'Loader' for a short wait or one with no place of its own on the page. The indeterminate bar runs a segment across the track and does not fill, so it shows that work is happening without claiming a proportion. 'aria-valuenow' is omitted in that state, which is the platform's signal for the same thing. The fill is a fraction of the track, written as a custom property. **Reaching 'max' is said and sent.** When the value arrives at 'max' from below, the bar says 'complete-label', "Complete" by default, in a polite 'live' region and sends 'helix-complete', so a reader hears that the work is done and a page can move on. A bar that starts full says nothing, and an empty 'complete-label' keeps it quiet. The 'complete' custom state is set while the bar is full. */
17623
+ /** Determinate by default. Set 'indeterminate' for a task whose total is not known yet. Use 'Loader' for a short wait or one with no place of its own on the page. The indeterminate bar runs a segment across the track and does not fill, so it shows that work is happening without claiming a proportion. 'aria-valuenow' is omitted in that state, which is the platform's signal for the same thing. The fill is a fraction of the track, written as a custom property. **The reading is said in the words the bar would show**: a whole percentage of the range in 'locale', the reading 'format-options' writes, or 'value-text', as 'aria-valuetext' beside the number. **Words set in the default slot are drawn on the bar**, or in the middle of a ring, such as '62%' or '3 of 8', and are what the bar says as its reading where 'value-text' is not set. While there are any, the bar carries ':state(content)', so a sheet can make room for them. **Reaching 'max' is said and sent.** When the value arrives at 'max' from below, the bar says 'complete-label', "Complete" by default, in a polite 'live' region and sends 'helix-complete', so a reader hears that the work is done and a page can move on. A bar that starts full says nothing, and an empty 'complete-label' keeps it quiet. The 'complete' custom state is set while the bar is full. */
17408
17624
  "helix-headless-progress": DefineCustomElement<
17409
17625
  HelixHeadlessProgress,
17410
17626
  HelixHeadlessProgressVueProps,
@@ -17440,7 +17656,7 @@ export interface WcToolkitVueGlobalComponents {
17440
17656
  HelixHeadlessRatingVueProps,
17441
17657
  HelixHeadlessRatingVueEvents
17442
17658
  >;
17443
- /** A scatter chart shows how two measures relate. The table's first numeric column is measured across, every other numeric column is measured up, and each row is one point. A table of countries with an income column and a life expectancy column draws one point for each country. Each additional numeric column is another series, in its own color. Both axes are labeled, because both positions are values. The ticks sit at round numbers, and the range extends to them. 'trend' draws each series' line of best fit, by least squares, across the plot in the series' color. **'size-by' names a third measure, drawn as each point's size**, as a bubble chart does: 'size-by="Population"' takes that column out of the series and gives each point an area in proportion to its row's number there. The tooltip and the table still say the number. The summary gives each series' correlation coefficient and its number of points. The table has every number, and the drawing is hidden from screen readers. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from row to row in the table's order, Home and End go to the first and the last, and the up and down arrows move among the series of a row. The tooltip sits on that point, the 'live' part says the row in words, and Escape puts the tooltip away. Each point is a '<span>' placed by percentage over the drawing, as 'LineChart' places its end points, so points stay round when the drawing stretches. The plot runs left to right in every text direction, as a number line does. The plot, its axes, and the axis names sit in a 'plane' part with 'dir="ltr"'. The axis names carry 'dir="auto"', so a name in Arabic or Hebrew reads in its own direction. The summary and the tooltip bubble follow the page's direction. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. */
17659
+ /** A scatter chart shows how two measures relate. The table's first numeric column is measured across, every other numeric column is measured up, and each row is one point. A table of countries with an income column and a life expectancy column draws one point for each country. Each additional numeric column is another series, in its own color. Both axes are labeled, because both positions are values. The ticks sit at round numbers, and the range extends to them. 'trend' draws each series' line of best fit, by least squares, across the plot in the series' color. **'size-by' names a third measure, drawn as each point's size**, as a bubble chart does: 'size-by="Population"' takes that column out of the series and gives each point an area in proportion to its row's number there. The tooltip and the table still say the number. The summary gives each series' correlation coefficient and its number of points. The table has every number, and the drawing is hidden from screen readers. **The plot is read by key.** It takes focus, named by 'label' or the caption. The left and right arrows move from row to row in the table's order, Home and End go to the first and the last, and the up and down arrows move among the series of a row. The tooltip sits on that point, the 'live' part says the row in words, and Escape puts the tooltip away. Each point is a '<span>' placed by percentage over the drawing, as 'LineChart' places its end points, so points stay round when the drawing stretches. The plot runs left to right in every text direction, as a number line does. The plot, its axes, and the axis names sit in a 'plane' part with 'dir="ltr"'. The axis names carry 'dir="auto"', so a name in Arabic or Hebrew reads in its own direction. The summary and the tooltip bubble follow the page's direction. **A tap shows the reading under it**, and keeps it until a tap lands elsewhere. 'helix-reading-change' says each move of the reading, by pointer, tap or key, and 'helix-reading-press' says a reading was clicked, tapped, or pressed with Enter or Space, for a page that opens what a reading stands for. **'data' takes the readings as data** where the page has no table to point 'for' at, in a table's shape: the column headings, then one row per reading with its label first. A table is still the better source where the page can show one, since it reads before any script runs. **A chart with nothing to draw says so.** A table with no readings shows 'empty-text', "No readings", in the plot, and 'loading' shows 'loading-text' there until readings arrive. The 'empty' and 'loading' slots take markup in their place, such as a link to add the first reading. */
17444
17660
  "helix-headless-scatter-chart": DefineCustomElement<
17445
17661
  HelixHeadlessScatterChart,
17446
17662
  HelixHeadlessScatterChartVueProps,
package/types/words.d.ts CHANGED
@@ -31,6 +31,20 @@ declare module '@fusion.dev/helix-core' {
31
31
  menuLabel: Message
32
32
  }
33
33
  'helix-area-chart': {
34
+ /**
35
+ * The words shown in place of the drawing when the table has no readings,
36
+ * and the fallback of the `empty` slot.
37
+ *
38
+ * English: `No readings`
39
+ */
40
+ emptyText: Message
41
+ /**
42
+ * The words shown in place of the drawing while `loading` is set and
43
+ * there are no readings yet, and the fallback of the `loading` slot.
44
+ *
45
+ * English: `Loading readings`
46
+ */
47
+ loadingText: Message
34
48
  /**
35
49
  * Where a reading the keys moved to stands among the readings, said after
36
50
  * it. `{position}` and `{count}` are replaced with the numbers, written in
@@ -67,6 +81,13 @@ declare module '@fusion.dev/helix-core' {
67
81
  overflowLabel: Message
68
82
  }
69
83
  'helix-bar-chart': {
84
+ /**
85
+ * The words shown in place of the drawing when the table has no readings,
86
+ * and the fallback of the `empty` slot.
87
+ *
88
+ * English: `No readings`
89
+ */
90
+ emptyText: Message
70
91
  /**
71
92
  * The name the summary gives each series' highest reading, `{highestLabel}`
72
93
  * in `summary-label`.
@@ -74,6 +95,13 @@ declare module '@fusion.dev/helix-core' {
74
95
  * English: `Highest`
75
96
  */
76
97
  highestLabel: Message
98
+ /**
99
+ * The words shown in place of the drawing while `loading` is set and
100
+ * there are no readings yet, and the fallback of the `loading` slot.
101
+ *
102
+ * English: `Loading readings`
103
+ */
104
+ loadingText: Message
77
105
  /**
78
106
  * Where a reading the keys moved to stands among the readings, said after
79
107
  * it. `{position}` and `{count}` are replaced with the numbers, written in
@@ -1714,6 +1742,20 @@ declare module '@fusion.dev/helix-core' {
1714
1742
  zoomStatusLabel: Message
1715
1743
  }
1716
1744
  'helix-line-chart': {
1745
+ /**
1746
+ * The words shown in place of the drawing when the table has no readings,
1747
+ * and the fallback of the `empty` slot.
1748
+ *
1749
+ * English: `No readings`
1750
+ */
1751
+ emptyText: Message
1752
+ /**
1753
+ * The words shown in place of the drawing while `loading` is set and
1754
+ * there are no readings yet, and the fallback of the `loading` slot.
1755
+ *
1756
+ * English: `Loading readings`
1757
+ */
1758
+ loadingText: Message
1717
1759
  /**
1718
1760
  * Where a reading the keys moved to stands among the readings, said after
1719
1761
  * it. `{position}` and `{count}` are replaced with the numbers, written in
@@ -2463,6 +2505,20 @@ declare module '@fusion.dev/helix-core' {
2463
2505
  * English: `correlation`
2464
2506
  */
2465
2507
  correlationLabel: Message
2508
+ /**
2509
+ * The words shown in place of the drawing when the table has no readings,
2510
+ * and the fallback of the `empty` slot.
2511
+ *
2512
+ * English: `No readings`
2513
+ */
2514
+ emptyText: Message
2515
+ /**
2516
+ * The words shown in place of the drawing while `loading` is set and
2517
+ * there are no readings yet, and the fallback of the `loading` slot.
2518
+ *
2519
+ * English: `Loading readings`
2520
+ */
2521
+ loadingText: Message
2466
2522
  /**
2467
2523
  * The word for the rows a series rests on, `{pointsLabel}` in
2468
2524
  * `series-label`. `{count}` is how many, so the word takes its plural