@fusion.dev/helix-headless 0.152.0 → 0.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/custom-elements.json +1143 -62
  2. package/dist/area-chart/root/area-chart-root.d.ts +16 -1
  3. package/dist/area-chart/root/area-chart-root.js +3 -3
  4. package/dist/badge/root/badge-root.d.ts +15 -2
  5. package/dist/badge/root/badge-root.js +20 -3
  6. package/dist/bar-chart/root/bar-chart-root.d.ts +16 -1
  7. package/dist/bar-chart/root/bar-chart-root.js +3 -3
  8. package/dist/card/root/card-root.d.ts +31 -11
  9. package/dist/card/root/card-root.js +25 -11
  10. package/dist/code/root/code-root.d.ts +7 -0
  11. package/dist/code/root/code-root.js +1 -1
  12. package/dist/code-block/root/code-block-root.d.ts +37 -1
  13. package/dist/code-block/root/code-block-root.js +38 -5
  14. package/dist/empty/root/empty-root.d.ts +19 -1
  15. package/dist/empty/root/empty-root.js +13 -4
  16. package/dist/heatmap/root/heatmap-root.d.ts +3 -0
  17. package/dist/heatmap/root/heatmap-root.js +2 -8
  18. package/dist/icon/fetch.d.ts +20 -0
  19. package/dist/icon/fetch.js +70 -0
  20. package/dist/icon/root/icon-root.d.ts +27 -5
  21. package/dist/icon/root/icon-root.js +41 -17
  22. package/dist/line-chart/root/line-chart-root.d.ts +16 -1
  23. package/dist/line-chart/root/line-chart-root.js +3 -3
  24. package/dist/loader/root/loader-root.d.ts +5 -0
  25. package/dist/progress/root/progress-root.d.ts +16 -1
  26. package/dist/progress/root/progress-root.js +12 -4
  27. package/dist/quote/root/quote-root.d.ts +17 -1
  28. package/dist/quote/root/quote-root.js +15 -2
  29. package/dist/scatter-chart/root/scatter-chart-root.d.ts +16 -1
  30. package/dist/scatter-chart/root/scatter-chart-root.js +3 -3
  31. package/dist/skeleton/root/skeleton-root.d.ts +7 -0
  32. package/dist/skeleton/root/skeleton-root.js +4 -1
  33. package/dist/stat/group/stat-group.d.ts +23 -4
  34. package/dist/stat/group/stat-group.js +13 -1
  35. package/dist/stat/root/stat-root.d.ts +46 -1
  36. package/dist/stat/root/stat-root.js +29 -5
  37. package/lint.json +1 -1
  38. package/package.json +5 -5
  39. package/types/jsx.d.ts +1434 -62
  40. package/types/vue.d.ts +297 -24
  41. package/types/words.d.ts +69 -0
package/types/jsx.d.ts CHANGED
@@ -1128,6 +1128,25 @@ them, and the tooltip and the table hold every reading. */
1128
1128
  Absent draws none: bands read as a composition need no numbers beside
1129
1129
  them, and the tooltip and the table hold every reading. */
1130
1130
  valueAxis?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1131
+ /** The words shown in place of the drawing when the table has no readings,
1132
+ and the fallback of the `empty` slot. */
1133
+ "empty-text"?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
1134
+ /** The words shown in place of the drawing when the table has no readings,
1135
+ and the fallback of the `empty` slot. */
1136
+ emptyText?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
1137
+ /** Whether the readings are still on their way. The chart shows
1138
+ `loading-text` in place of an empty drawing until it has readings.
1139
+
1140
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
1141
+ that already has readings keeps drawing them, so a refresh does not
1142
+ blank it. */
1143
+ loading?: (HelixHeadlessAreaChart["loading"]) | undefined;
1144
+ /** The words shown in place of the drawing while `loading` is set and
1145
+ there are no readings yet, and the fallback of the `loading` slot. */
1146
+ "loading-text"?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
1147
+ /** The words shown in place of the drawing while `loading` is set and
1148
+ there are no readings yet, and the fallback of the `loading` slot. */
1149
+ loadingText?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
1131
1150
  /** The id of the table to read.
1132
1151
 
1133
1152
  Names a table in the same tree, so a chart inside another component's
@@ -1164,6 +1183,29 @@ Set it to the words of the page's language, such as `{position} von
1164
1183
  {count}`, or to nothing to say no position. A slice or a series a
1165
1184
  legend hid is not counted. */
1166
1185
  positionLabel?: (HelixHeadlessAreaChart["positionLabel"]) | undefined;
1186
+ /** The readings as data, in the shape of a table, where the page has no
1187
+ table to point `for` at. `for` wins where both are set.
1188
+
1189
+ ```js
1190
+ chart.data = {
1191
+ caption: 'Sessions by channel',
1192
+ columns: ['Month', 'Direct', 'Referral'],
1193
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
1194
+ }
1195
+ ```
1196
+
1197
+ The first column holds each row's label and every column after it a
1198
+ series, as in a table. A cell is a number, words, `null` for a blank,
1199
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
1200
+ number is shown in `locale`.
1201
+
1202
+ **A table is still the better source where the page can show one**:
1203
+ it reads with no script and before hydration, and a reader can sort and
1204
+ copy it. Data is drawn on the client only, so a server serves the
1205
+ frame, and the summary, the keys and the readout are then the whole of
1206
+ what a screen reader is given. Set a new object to redraw: the chart
1207
+ does not look inside the one it has. */
1208
+ data?: (HelixHeadlessAreaChart["data"]) | undefined;
1167
1209
 
1168
1210
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1169
1211
  "onhelix-reading-change"?: ((
@@ -1237,6 +1279,25 @@ them, and the tooltip and the table hold every reading. */
1237
1279
  Absent draws none: bands read as a composition need no numbers beside
1238
1280
  them, and the tooltip and the table hold every reading. */
1239
1281
  "prop:valueAxis"?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1282
+ /** The words shown in place of the drawing when the table has no readings,
1283
+ and the fallback of the `empty` slot. */
1284
+ "attr:empty-text"?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
1285
+ /** The words shown in place of the drawing when the table has no readings,
1286
+ and the fallback of the `empty` slot. */
1287
+ "prop:emptyText"?: (HelixHeadlessAreaChart["emptyText"]) | undefined;
1288
+ /** Whether the readings are still on their way. The chart shows
1289
+ `loading-text` in place of an empty drawing until it has readings.
1290
+
1291
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
1292
+ that already has readings keeps drawing them, so a refresh does not
1293
+ blank it. */
1294
+ "prop:loading"?: (HelixHeadlessAreaChart["loading"]) | undefined;
1295
+ /** The words shown in place of the drawing while `loading` is set and
1296
+ there are no readings yet, and the fallback of the `loading` slot. */
1297
+ "attr:loading-text"?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
1298
+ /** The words shown in place of the drawing while `loading` is set and
1299
+ there are no readings yet, and the fallback of the `loading` slot. */
1300
+ "prop:loadingText"?: (HelixHeadlessAreaChart["loadingText"]) | undefined;
1240
1301
  /** The id of the table to read.
1241
1302
 
1242
1303
  Names a table in the same tree, so a chart inside another component's
@@ -1273,6 +1334,29 @@ Set it to the words of the page's language, such as `{position} von
1273
1334
  {count}`, or to nothing to say no position. A slice or a series a
1274
1335
  legend hid is not counted. */
1275
1336
  "prop:positionLabel"?: (HelixHeadlessAreaChart["positionLabel"]) | undefined;
1337
+ /** The readings as data, in the shape of a table, where the page has no
1338
+ table to point `for` at. `for` wins where both are set.
1339
+
1340
+ ```js
1341
+ chart.data = {
1342
+ caption: 'Sessions by channel',
1343
+ columns: ['Month', 'Direct', 'Referral'],
1344
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
1345
+ }
1346
+ ```
1347
+
1348
+ The first column holds each row's label and every column after it a
1349
+ series, as in a table. A cell is a number, words, `null` for a blank,
1350
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
1351
+ number is shown in `locale`.
1352
+
1353
+ **A table is still the better source where the page can show one**:
1354
+ it reads with no script and before hydration, and a reader can sort and
1355
+ copy it. Data is drawn on the client only, so a server serves the
1356
+ frame, and the summary, the keys and the readout are then the whole of
1357
+ what a screen reader is given. Set a new object to redraw: the chart
1358
+ does not look inside the one it has. */
1359
+ "prop:data"?: (HelixHeadlessAreaChart["data"]) | undefined;
1276
1360
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1277
1361
  "on:helix-reading-change"?: ((
1278
1362
  e: HelixHeadlessAreaChartHelixReadingChangeElementEvent,
@@ -1734,6 +1818,25 @@ bottom of bars under `orientation="horizontal"`.
1734
1818
  Absent draws none with one scale, since bars compared with each other need
1735
1819
  no numbers. With `secondary` both scales are drawn whatever this says. */
1736
1820
  valueAxis?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1821
+ /** The words shown in place of the drawing when the table has no readings,
1822
+ and the fallback of the `empty` slot. */
1823
+ "empty-text"?: (HelixHeadlessBarChart["emptyText"]) | undefined;
1824
+ /** The words shown in place of the drawing when the table has no readings,
1825
+ and the fallback of the `empty` slot. */
1826
+ emptyText?: (HelixHeadlessBarChart["emptyText"]) | undefined;
1827
+ /** Whether the readings are still on their way. The chart shows
1828
+ `loading-text` in place of an empty drawing until it has readings.
1829
+
1830
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
1831
+ that already has readings keeps drawing them, so a refresh does not
1832
+ blank it. */
1833
+ loading?: (HelixHeadlessBarChart["loading"]) | undefined;
1834
+ /** The words shown in place of the drawing while `loading` is set and
1835
+ there are no readings yet, and the fallback of the `loading` slot. */
1836
+ "loading-text"?: (HelixHeadlessBarChart["loadingText"]) | undefined;
1837
+ /** The words shown in place of the drawing while `loading` is set and
1838
+ there are no readings yet, and the fallback of the `loading` slot. */
1839
+ loadingText?: (HelixHeadlessBarChart["loadingText"]) | undefined;
1737
1840
  /** The id of the table to read.
1738
1841
 
1739
1842
  Names a table in the same tree, so a chart inside another component's
@@ -1770,6 +1873,29 @@ Set it to the words of the page's language, such as `{position} von
1770
1873
  {count}`, or to nothing to say no position. A slice or a series a
1771
1874
  legend hid is not counted. */
1772
1875
  positionLabel?: (HelixHeadlessBarChart["positionLabel"]) | undefined;
1876
+ /** The readings as data, in the shape of a table, where the page has no
1877
+ table to point `for` at. `for` wins where both are set.
1878
+
1879
+ ```js
1880
+ chart.data = {
1881
+ caption: 'Sessions by channel',
1882
+ columns: ['Month', 'Direct', 'Referral'],
1883
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
1884
+ }
1885
+ ```
1886
+
1887
+ The first column holds each row's label and every column after it a
1888
+ series, as in a table. A cell is a number, words, `null` for a blank,
1889
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
1890
+ number is shown in `locale`.
1891
+
1892
+ **A table is still the better source where the page can show one**:
1893
+ it reads with no script and before hydration, and a reader can sort and
1894
+ copy it. Data is drawn on the client only, so a server serves the
1895
+ frame, and the summary, the keys and the readout are then the whole of
1896
+ what a screen reader is given. Set a new object to redraw: the chart
1897
+ does not look inside the one it has. */
1898
+ data?: (HelixHeadlessBarChart["data"]) | undefined;
1773
1899
 
1774
1900
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1775
1901
  "onhelix-reading-change"?: ((
@@ -1905,6 +2031,25 @@ bottom of bars under `orientation="horizontal"`.
1905
2031
  Absent draws none with one scale, since bars compared with each other need
1906
2032
  no numbers. With `secondary` both scales are drawn whatever this says. */
1907
2033
  "prop:valueAxis"?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
2034
+ /** The words shown in place of the drawing when the table has no readings,
2035
+ and the fallback of the `empty` slot. */
2036
+ "attr:empty-text"?: (HelixHeadlessBarChart["emptyText"]) | undefined;
2037
+ /** The words shown in place of the drawing when the table has no readings,
2038
+ and the fallback of the `empty` slot. */
2039
+ "prop:emptyText"?: (HelixHeadlessBarChart["emptyText"]) | undefined;
2040
+ /** Whether the readings are still on their way. The chart shows
2041
+ `loading-text` in place of an empty drawing until it has readings.
2042
+
2043
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
2044
+ that already has readings keeps drawing them, so a refresh does not
2045
+ blank it. */
2046
+ "prop:loading"?: (HelixHeadlessBarChart["loading"]) | undefined;
2047
+ /** The words shown in place of the drawing while `loading` is set and
2048
+ there are no readings yet, and the fallback of the `loading` slot. */
2049
+ "attr:loading-text"?: (HelixHeadlessBarChart["loadingText"]) | undefined;
2050
+ /** The words shown in place of the drawing while `loading` is set and
2051
+ there are no readings yet, and the fallback of the `loading` slot. */
2052
+ "prop:loadingText"?: (HelixHeadlessBarChart["loadingText"]) | undefined;
1908
2053
  /** The id of the table to read.
1909
2054
 
1910
2055
  Names a table in the same tree, so a chart inside another component's
@@ -1941,6 +2086,29 @@ Set it to the words of the page's language, such as `{position} von
1941
2086
  {count}`, or to nothing to say no position. A slice or a series a
1942
2087
  legend hid is not counted. */
1943
2088
  "prop:positionLabel"?: (HelixHeadlessBarChart["positionLabel"]) | undefined;
2089
+ /** The readings as data, in the shape of a table, where the page has no
2090
+ table to point `for` at. `for` wins where both are set.
2091
+
2092
+ ```js
2093
+ chart.data = {
2094
+ caption: 'Sessions by channel',
2095
+ columns: ['Month', 'Direct', 'Referral'],
2096
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
2097
+ }
2098
+ ```
2099
+
2100
+ The first column holds each row's label and every column after it a
2101
+ series, as in a table. A cell is a number, words, `null` for a blank,
2102
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
2103
+ number is shown in `locale`.
2104
+
2105
+ **A table is still the better source where the page can show one**:
2106
+ it reads with no script and before hydration, and a reader can sort and
2107
+ copy it. Data is drawn on the client only, so a server serves the
2108
+ frame, and the summary, the keys and the readout are then the whole of
2109
+ what a screen reader is given. Set a new object to redraw: the chart
2110
+ does not look inside the one it has. */
2111
+ "prop:data"?: (HelixHeadlessBarChart["data"]) | undefined;
1944
2112
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1945
2113
  "on:helix-reading-change"?: ((
1946
2114
  e: HelixHeadlessBarChartHelixReadingChangeElementEvent,
@@ -3962,12 +4130,6 @@ twice what this says once.
3962
4130
  Reflected and undefaulted, so a card that has not asked reads as a card
3963
4131
  with no attribute on it and the stylesheet only describes the departure. */
3964
4132
  mediaPlacement?: (HelixHeadlessCard["mediaPlacement"]) | undefined;
3965
- /** */
3966
- "aria-labelledby"?: unknown;
3967
- /** */
3968
- undefined?: unknown;
3969
- /** */
3970
- "aria-label"?: unknown;
3971
4133
  };
3972
4134
 
3973
4135
  export type HelixHeadlessCardSolidJsProps = {
@@ -4001,12 +4163,6 @@ twice what this says once.
4001
4163
  Reflected and undefaulted, so a card that has not asked reads as a card
4002
4164
  with no attribute on it and the stylesheet only describes the departure. */
4003
4165
  "prop:mediaPlacement"?: (HelixHeadlessCard["mediaPlacement"]) | undefined;
4004
- /** */
4005
- "attr:aria-labelledby"?: unknown;
4006
- /** */
4007
- "prop:undefined"?: unknown;
4008
- /** */
4009
- "attr:aria-label"?: unknown;
4010
4166
 
4011
4167
  /** Set the innerHTML of the element */
4012
4168
  innerHTML?: (string) | undefined;
@@ -5596,6 +5752,22 @@ Here rather than on each control. */
5596
5752
  };
5597
5753
 
5598
5754
  export type HelixHeadlessCodeBlockProps = {
5755
+ /** The name of a block that scrolls, which is a tab stop while it does.
5756
+
5757
+ Where the block has a name, the scroller says it too, such as "Code,
5758
+ app.ts", as `code-name-label` puts it. */
5759
+ "code-label"?: (HelixHeadlessCodeBlock["codeLabel"]) | undefined;
5760
+ /** The name of a block that scrolls, which is a tab stop while it does.
5761
+
5762
+ Where the block has a name, the scroller says it too, such as "Code,
5763
+ app.ts", as `code-name-label` puts it. */
5764
+ codeLabel?: (HelixHeadlessCodeBlock["codeLabel"]) | undefined;
5765
+ /** The name of a block that scrolls, where the block has a name. `{code}` is
5766
+ `code-label` and `{name}` the block's name. */
5767
+ "code-name-label"?: (HelixHeadlessCodeBlock["codeNameLabel"]) | undefined;
5768
+ /** The name of a block that scrolls, where the block has a name. `{code}` is
5769
+ `code-label` and `{name}` the block's name. */
5770
+ codeNameLabel?: (HelixHeadlessCodeBlock["codeNameLabel"]) | undefined;
5599
5771
  /** The expand button's words while the block shows every line. */
5600
5772
  "collapse-label"?: (HelixHeadlessCodeBlock["collapseLabel"]) | undefined;
5601
5773
  /** The expand button's words while the block shows every line. */
@@ -5736,6 +5908,22 @@ read, nor for a diff. */
5736
5908
  };
5737
5909
 
5738
5910
  export type HelixHeadlessCodeBlockSolidJsProps = {
5911
+ /** The name of a block that scrolls, which is a tab stop while it does.
5912
+
5913
+ Where the block has a name, the scroller says it too, such as "Code,
5914
+ app.ts", as `code-name-label` puts it. */
5915
+ "attr:code-label"?: (HelixHeadlessCodeBlock["codeLabel"]) | undefined;
5916
+ /** The name of a block that scrolls, which is a tab stop while it does.
5917
+
5918
+ Where the block has a name, the scroller says it too, such as "Code,
5919
+ app.ts", as `code-name-label` puts it. */
5920
+ "prop:codeLabel"?: (HelixHeadlessCodeBlock["codeLabel"]) | undefined;
5921
+ /** The name of a block that scrolls, where the block has a name. `{code}` is
5922
+ `code-label` and `{name}` the block's name. */
5923
+ "attr:code-name-label"?: (HelixHeadlessCodeBlock["codeNameLabel"]) | undefined;
5924
+ /** The name of a block that scrolls, where the block has a name. `{code}` is
5925
+ `code-label` and `{name}` the block's name. */
5926
+ "prop:codeNameLabel"?: (HelixHeadlessCodeBlock["codeNameLabel"]) | undefined;
5739
5927
  /** The expand button's words while the block shows every line. */
5740
5928
  "attr:collapse-label"?: (HelixHeadlessCodeBlock["collapseLabel"]) | undefined;
5741
5929
  /** The expand button's words while the block shows every line. */
@@ -11147,6 +11335,29 @@ Set it to the words of the page's language, such as `{position} von
11147
11335
  {count}`, or to nothing to say no position. A slice or a series a
11148
11336
  legend hid is not counted. */
11149
11337
  positionLabel?: (HelixHeadlessDonutChart["positionLabel"]) | undefined;
11338
+ /** The readings as data, in the shape of a table, where the page has no
11339
+ table to point `for` at. `for` wins where both are set.
11340
+
11341
+ ```js
11342
+ chart.data = {
11343
+ caption: 'Sessions by channel',
11344
+ columns: ['Month', 'Direct', 'Referral'],
11345
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
11346
+ }
11347
+ ```
11348
+
11349
+ The first column holds each row's label and every column after it a
11350
+ series, as in a table. A cell is a number, words, `null` for a blank,
11351
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
11352
+ number is shown in `locale`.
11353
+
11354
+ **A table is still the better source where the page can show one**:
11355
+ it reads with no script and before hydration, and a reader can sort and
11356
+ copy it. Data is drawn on the client only, so a server serves the
11357
+ frame, and the summary, the keys and the readout are then the whole of
11358
+ what a screen reader is given. Set a new object to redraw: the chart
11359
+ does not look inside the one it has. */
11360
+ data?: (HelixHeadlessDonutChart["data"]) | undefined;
11150
11361
  };
11151
11362
 
11152
11363
  export type HelixHeadlessDonutChartSolidJsProps = {
@@ -11250,6 +11461,29 @@ Set it to the words of the page's language, such as `{position} von
11250
11461
  {count}`, or to nothing to say no position. A slice or a series a
11251
11462
  legend hid is not counted. */
11252
11463
  "prop:positionLabel"?: (HelixHeadlessDonutChart["positionLabel"]) | undefined;
11464
+ /** The readings as data, in the shape of a table, where the page has no
11465
+ table to point `for` at. `for` wins where both are set.
11466
+
11467
+ ```js
11468
+ chart.data = {
11469
+ caption: 'Sessions by channel',
11470
+ columns: ['Month', 'Direct', 'Referral'],
11471
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
11472
+ }
11473
+ ```
11474
+
11475
+ The first column holds each row's label and every column after it a
11476
+ series, as in a table. A cell is a number, words, `null` for a blank,
11477
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
11478
+ number is shown in `locale`.
11479
+
11480
+ **A table is still the better source where the page can show one**:
11481
+ it reads with no script and before hydration, and a reader can sort and
11482
+ copy it. Data is drawn on the client only, so a server serves the
11483
+ frame, and the summary, the keys and the readout are then the whole of
11484
+ what a screen reader is given. Set a new object to redraw: the chart
11485
+ does not look inside the one it has. */
11486
+ "prop:data"?: (HelixHeadlessDonutChart["data"]) | undefined;
11253
11487
 
11254
11488
  /** Set the innerHTML of the element */
11255
11489
  innerHTML?: (string) | undefined;
@@ -13888,6 +14122,29 @@ Set it to the words of the page's language, such as `{position} von
13888
14122
  {count}`, or to nothing to say no position. A slice or a series a
13889
14123
  legend hid is not counted. */
13890
14124
  positionLabel?: (HelixHeadlessHeatmap["positionLabel"]) | undefined;
14125
+ /** The readings as data, in the shape of a table, where the page has no
14126
+ table to point `for` at. `for` wins where both are set.
14127
+
14128
+ ```js
14129
+ chart.data = {
14130
+ caption: 'Sessions by channel',
14131
+ columns: ['Month', 'Direct', 'Referral'],
14132
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
14133
+ }
14134
+ ```
14135
+
14136
+ The first column holds each row's label and every column after it a
14137
+ series, as in a table. A cell is a number, words, `null` for a blank,
14138
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
14139
+ number is shown in `locale`.
14140
+
14141
+ **A table is still the better source where the page can show one**:
14142
+ it reads with no script and before hydration, and a reader can sort and
14143
+ copy it. Data is drawn on the client only, so a server serves the
14144
+ frame, and the summary, the keys and the readout are then the whole of
14145
+ what a screen reader is given. Set a new object to redraw: the chart
14146
+ does not look inside the one it has. */
14147
+ data?: (HelixHeadlessHeatmap["data"]) | undefined;
13891
14148
 
13892
14149
  /** Fired once a press or a key has changed which cells are selected. */
13893
14150
  onchange?: ((e: HelixHeadlessHeatmapElementEvent) => void) | undefined;
@@ -14071,6 +14328,29 @@ Set it to the words of the page's language, such as `{position} von
14071
14328
  {count}`, or to nothing to say no position. A slice or a series a
14072
14329
  legend hid is not counted. */
14073
14330
  "prop:positionLabel"?: (HelixHeadlessHeatmap["positionLabel"]) | undefined;
14331
+ /** The readings as data, in the shape of a table, where the page has no
14332
+ table to point `for` at. `for` wins where both are set.
14333
+
14334
+ ```js
14335
+ chart.data = {
14336
+ caption: 'Sessions by channel',
14337
+ columns: ['Month', 'Direct', 'Referral'],
14338
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
14339
+ }
14340
+ ```
14341
+
14342
+ The first column holds each row's label and every column after it a
14343
+ series, as in a table. A cell is a number, words, `null` for a blank,
14344
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
14345
+ number is shown in `locale`.
14346
+
14347
+ **A table is still the better source where the page can show one**:
14348
+ it reads with no script and before hydration, and a reader can sort and
14349
+ copy it. Data is drawn on the client only, so a server serves the
14350
+ frame, and the summary, the keys and the readout are then the whole of
14351
+ what a screen reader is given. Set a new object to redraw: the chart
14352
+ does not look inside the one it has. */
14353
+ "prop:data"?: (HelixHeadlessHeatmap["data"]) | undefined;
14074
14354
  /** Fired once a press or a key has changed which cells are selected. */
14075
14355
  "on:change"?: ((e: HelixHeadlessHeatmapElementEvent) => void) | undefined;
14076
14356
  /** Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable. */
@@ -14491,6 +14771,11 @@ the value instead.
14491
14771
  A name written `prefix:name` asks the library registered under that
14492
14772
  prefix. */
14493
14773
  name?: (HelixHeadlessIcon["name"]) | undefined;
14774
+ /** The URL of an SVG file to draw, fetched once a page and drawn in
14775
+ `currentColor` where the file does not color its shapes.
14776
+
14777
+ Wins over `name`; `icon` wins over both. Absent draws `name`. */
14778
+ src?: (HelixHeadlessIcon["src"]) | undefined;
14494
14779
  /** The icon to draw, as an object you import.
14495
14780
 
14496
14781
  **The scalable door, and the one this library uses internally.** An icon is
@@ -14505,9 +14790,9 @@ frameworks set properties and plain markup cannot, which is what `name` is
14505
14790
  for. Set both and this wins, the value being the more specific statement. */
14506
14791
  icon?: (HelixHeadlessIcon["icon"]) | undefined;
14507
14792
 
14508
- /** `name` matches no registered icon and no library answers it, so nothing is drawn. */
14793
+ /** `name` matches no registered icon and no library answers it, or `src` is no SVG, so nothing is drawn. */
14509
14794
  onerror?: ((e: HelixHeadlessIconElementEvent) => void) | undefined;
14510
- /** A glyph a library gave later for `name` is drawn. */
14795
+ /** A glyph a library gave later for `name`, or the file at `src`, is drawn. */
14511
14796
  onload?: ((e: HelixHeadlessIconElementEvent) => void) | undefined;
14512
14797
  };
14513
14798
 
@@ -14535,6 +14820,11 @@ the value instead.
14535
14820
  A name written `prefix:name` asks the library registered under that
14536
14821
  prefix. */
14537
14822
  "prop:name"?: (HelixHeadlessIcon["name"]) | undefined;
14823
+ /** The URL of an SVG file to draw, fetched once a page and drawn in
14824
+ `currentColor` where the file does not color its shapes.
14825
+
14826
+ Wins over `name`; `icon` wins over both. Absent draws `name`. */
14827
+ "prop:src"?: (HelixHeadlessIcon["src"]) | undefined;
14538
14828
  /** The icon to draw, as an object you import.
14539
14829
 
14540
14830
  **The scalable door, and the one this library uses internally.** An icon is
@@ -14548,9 +14838,9 @@ consumer's own drawings.
14548
14838
  frameworks set properties and plain markup cannot, which is what `name` is
14549
14839
  for. Set both and this wins, the value being the more specific statement. */
14550
14840
  "prop:icon"?: (HelixHeadlessIcon["icon"]) | undefined;
14551
- /** `name` matches no registered icon and no library answers it, so nothing is drawn. */
14841
+ /** `name` matches no registered icon and no library answers it, or `src` is no SVG, so nothing is drawn. */
14552
14842
  "on:error"?: ((e: HelixHeadlessIconElementEvent) => void) | undefined;
14553
- /** A glyph a library gave later for `name` is drawn. */
14843
+ /** A glyph a library gave later for `name`, or the file at `src`, is drawn. */
14554
14844
  "on:load"?: ((e: HelixHeadlessIconElementEvent) => void) | undefined;
14555
14845
 
14556
14846
  /** Set the innerHTML of the element */
@@ -16031,6 +16321,25 @@ Set it where the distance from nothing is the point rather than the shape,
16031
16321
  and accept that a series which never approaches zero becomes a flat rule
16032
16322
  near the top of the box. */
16033
16323
  zero?: (HelixHeadlessLineChart["zero"]) | undefined;
16324
+ /** The words shown in place of the drawing when the table has no readings,
16325
+ and the fallback of the `empty` slot. */
16326
+ "empty-text"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16327
+ /** The words shown in place of the drawing when the table has no readings,
16328
+ and the fallback of the `empty` slot. */
16329
+ emptyText?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16330
+ /** Whether the readings are still on their way. The chart shows
16331
+ `loading-text` in place of an empty drawing until it has readings.
16332
+
16333
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
16334
+ that already has readings keeps drawing them, so a refresh does not
16335
+ blank it. */
16336
+ loading?: (HelixHeadlessLineChart["loading"]) | undefined;
16337
+ /** The words shown in place of the drawing while `loading` is set and
16338
+ there are no readings yet, and the fallback of the `loading` slot. */
16339
+ "loading-text"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16340
+ /** The words shown in place of the drawing while `loading` is set and
16341
+ there are no readings yet, and the fallback of the `loading` slot. */
16342
+ loadingText?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16034
16343
  /** The id of the table to read.
16035
16344
 
16036
16345
  Names a table in the same tree, so a chart inside another component's
@@ -16067,6 +16376,29 @@ Set it to the words of the page's language, such as `{position} von
16067
16376
  {count}`, or to nothing to say no position. A slice or a series a
16068
16377
  legend hid is not counted. */
16069
16378
  positionLabel?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16379
+ /** The readings as data, in the shape of a table, where the page has no
16380
+ table to point `for` at. `for` wins where both are set.
16381
+
16382
+ ```js
16383
+ chart.data = {
16384
+ caption: 'Sessions by channel',
16385
+ columns: ['Month', 'Direct', 'Referral'],
16386
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
16387
+ }
16388
+ ```
16389
+
16390
+ The first column holds each row's label and every column after it a
16391
+ series, as in a table. A cell is a number, words, `null` for a blank,
16392
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
16393
+ number is shown in `locale`.
16394
+
16395
+ **A table is still the better source where the page can show one**:
16396
+ it reads with no script and before hydration, and a reader can sort and
16397
+ copy it. Data is drawn on the client only, so a server serves the
16398
+ frame, and the summary, the keys and the readout are then the whole of
16399
+ what a screen reader is given. Set a new object to redraw: the chart
16400
+ does not look inside the one it has. */
16401
+ data?: (HelixHeadlessLineChart["data"]) | undefined;
16070
16402
 
16071
16403
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
16072
16404
  "onhelix-reading-change"?: ((
@@ -16200,6 +16532,25 @@ Set it where the distance from nothing is the point rather than the shape,
16200
16532
  and accept that a series which never approaches zero becomes a flat rule
16201
16533
  near the top of the box. */
16202
16534
  "prop:zero"?: (HelixHeadlessLineChart["zero"]) | undefined;
16535
+ /** The words shown in place of the drawing when the table has no readings,
16536
+ and the fallback of the `empty` slot. */
16537
+ "attr:empty-text"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16538
+ /** The words shown in place of the drawing when the table has no readings,
16539
+ and the fallback of the `empty` slot. */
16540
+ "prop:emptyText"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16541
+ /** Whether the readings are still on their way. The chart shows
16542
+ `loading-text` in place of an empty drawing until it has readings.
16543
+
16544
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
16545
+ that already has readings keeps drawing them, so a refresh does not
16546
+ blank it. */
16547
+ "prop:loading"?: (HelixHeadlessLineChart["loading"]) | undefined;
16548
+ /** The words shown in place of the drawing while `loading` is set and
16549
+ there are no readings yet, and the fallback of the `loading` slot. */
16550
+ "attr:loading-text"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16551
+ /** The words shown in place of the drawing while `loading` is set and
16552
+ there are no readings yet, and the fallback of the `loading` slot. */
16553
+ "prop:loadingText"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16203
16554
  /** The id of the table to read.
16204
16555
 
16205
16556
  Names a table in the same tree, so a chart inside another component's
@@ -16236,6 +16587,29 @@ Set it to the words of the page's language, such as `{position} von
16236
16587
  {count}`, or to nothing to say no position. A slice or a series a
16237
16588
  legend hid is not counted. */
16238
16589
  "prop:positionLabel"?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16590
+ /** The readings as data, in the shape of a table, where the page has no
16591
+ table to point `for` at. `for` wins where both are set.
16592
+
16593
+ ```js
16594
+ chart.data = {
16595
+ caption: 'Sessions by channel',
16596
+ columns: ['Month', 'Direct', 'Referral'],
16597
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
16598
+ }
16599
+ ```
16600
+
16601
+ The first column holds each row's label and every column after it a
16602
+ series, as in a table. A cell is a number, words, `null` for a blank,
16603
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
16604
+ number is shown in `locale`.
16605
+
16606
+ **A table is still the better source where the page can show one**:
16607
+ it reads with no script and before hydration, and a reader can sort and
16608
+ copy it. Data is drawn on the client only, so a server serves the
16609
+ frame, and the summary, the keys and the readout are then the whole of
16610
+ what a screen reader is given. Set a new object to redraw: the chart
16611
+ does not look inside the one it has. */
16612
+ "prop:data"?: (HelixHeadlessLineChart["data"]) | undefined;
16239
16613
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
16240
16614
  "on:helix-reading-change"?: ((
16241
16615
  e: HelixHeadlessLineChartHelixReadingChangeElementEvent,
@@ -22352,7 +22726,8 @@ decimals. Written as JSON in the attribute.
22352
22726
 
22353
22727
  A `percent` style writes the share of the range, and any other the value
22354
22728
  itself, so the example says "18 GB". Absent is a whole percentage. The
22355
- words are announced as well as shown. `value-text` still wins. */
22729
+ words are announced whether or not `show-value` shows them. `value-text`
22730
+ still wins. */
22356
22731
  "format-options"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22357
22732
  /** `Intl.NumberFormat` options the reading is written with, as React Aria's
22358
22733
  Meter and ProgressBar take them: a unit, a currency, or a number of
@@ -22364,7 +22739,8 @@ decimals. Written as JSON in the attribute.
22364
22739
 
22365
22740
  A `percent` style writes the share of the range, and any other the value
22366
22741
  itself, so the example says "18 GB". Absent is a whole percentage. The
22367
- words are announced as well as shown. `value-text` still wins. */
22742
+ words are announced whether or not `show-value` shows them. `value-text`
22743
+ still wins. */
22368
22744
  formatOptions?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22369
22745
  /** Whether the length of the task is unknown. The bar then shows activity
22370
22746
  without a value.
@@ -22480,7 +22856,8 @@ decimals. Written as JSON in the attribute.
22480
22856
 
22481
22857
  A `percent` style writes the share of the range, and any other the value
22482
22858
  itself, so the example says "18 GB". Absent is a whole percentage. The
22483
- words are announced as well as shown. `value-text` still wins. */
22859
+ words are announced whether or not `show-value` shows them. `value-text`
22860
+ still wins. */
22484
22861
  "attr:format-options"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22485
22862
  /** `Intl.NumberFormat` options the reading is written with, as React Aria's
22486
22863
  Meter and ProgressBar take them: a unit, a currency, or a number of
@@ -22492,7 +22869,8 @@ decimals. Written as JSON in the attribute.
22492
22869
 
22493
22870
  A `percent` style writes the share of the range, and any other the value
22494
22871
  itself, so the example says "18 GB". Absent is a whole percentage. The
22495
- words are announced as well as shown. `value-text` still wins. */
22872
+ words are announced whether or not `show-value` shows them. `value-text`
22873
+ still wins. */
22496
22874
  "prop:formatOptions"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22497
22875
  /** Whether the length of the task is unknown. The bar then shows activity
22498
22876
  without a value.
@@ -22704,11 +23082,39 @@ which is what makes it read as dots rather than as a softened square code. */
22704
23082
  export type HelixHeadlessQuoteProps = {
22705
23083
  /** URL identifying where the quotation came from. */
22706
23084
  cite?: (HelixHeadlessQuote["cite"]) | undefined;
23085
+ /** Whether to leave the quotation marks off, for a quotation set where the
23086
+ page draws its own.
23087
+
23088
+ Negative, because the marks are on by default and a boolean attribute is
23089
+ true whenever it is present. Reflected, because a stylesheet takes the
23090
+ marks off on it. */
23091
+ "no-marks"?: (HelixHeadlessQuote["noMarks"]) | undefined;
23092
+ /** Whether to leave the quotation marks off, for a quotation set where the
23093
+ page draws its own.
23094
+
23095
+ Negative, because the marks are on by default and a boolean attribute is
23096
+ true whenever it is present. Reflected, because a stylesheet takes the
23097
+ marks off on it. */
23098
+ noMarks?: (HelixHeadlessQuote["noMarks"]) | undefined;
22707
23099
  };
22708
23100
 
22709
23101
  export type HelixHeadlessQuoteSolidJsProps = {
22710
23102
  /** URL identifying where the quotation came from. */
22711
23103
  "prop:cite"?: (HelixHeadlessQuote["cite"]) | undefined;
23104
+ /** Whether to leave the quotation marks off, for a quotation set where the
23105
+ page draws its own.
23106
+
23107
+ Negative, because the marks are on by default and a boolean attribute is
23108
+ true whenever it is present. Reflected, because a stylesheet takes the
23109
+ marks off on it. */
23110
+ "bool:no-marks"?: (HelixHeadlessQuote["noMarks"]) | undefined;
23111
+ /** Whether to leave the quotation marks off, for a quotation set where the
23112
+ page draws its own.
23113
+
23114
+ Negative, because the marks are on by default and a boolean attribute is
23115
+ true whenever it is present. Reflected, because a stylesheet takes the
23116
+ marks off on it. */
23117
+ "prop:noMarks"?: (HelixHeadlessQuote["noMarks"]) | undefined;
22712
23118
 
22713
23119
  /** Set the innerHTML of the element */
22714
23120
  innerHTML?: (string) | undefined;
@@ -23576,6 +23982,25 @@ Absent draws none. A series with fewer than two points, or with every
23576
23982
  point at one measure across, has no line to draw. The summary already
23577
23983
  gives each series' correlation, which says how near the points are to it. */
23578
23984
  trend?: (HelixHeadlessScatterChart["trend"]) | undefined;
23985
+ /** The words shown in place of the drawing when the table has no readings,
23986
+ and the fallback of the `empty` slot. */
23987
+ "empty-text"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
23988
+ /** The words shown in place of the drawing when the table has no readings,
23989
+ and the fallback of the `empty` slot. */
23990
+ emptyText?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
23991
+ /** Whether the readings are still on their way. The chart shows
23992
+ `loading-text` in place of an empty drawing until it has readings.
23993
+
23994
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
23995
+ that already has readings keeps drawing them, so a refresh does not
23996
+ blank it. */
23997
+ loading?: (HelixHeadlessScatterChart["loading"]) | undefined;
23998
+ /** The words shown in place of the drawing while `loading` is set and
23999
+ there are no readings yet, and the fallback of the `loading` slot. */
24000
+ "loading-text"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
24001
+ /** The words shown in place of the drawing while `loading` is set and
24002
+ there are no readings yet, and the fallback of the `loading` slot. */
24003
+ loadingText?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
23579
24004
  /** The id of the table to read.
23580
24005
 
23581
24006
  Names a table in the same tree, so a chart inside another component's
@@ -23612,6 +24037,29 @@ Set it to the words of the page's language, such as `{position} von
23612
24037
  {count}`, or to nothing to say no position. A slice or a series a
23613
24038
  legend hid is not counted. */
23614
24039
  positionLabel?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
24040
+ /** The readings as data, in the shape of a table, where the page has no
24041
+ table to point `for` at. `for` wins where both are set.
24042
+
24043
+ ```js
24044
+ chart.data = {
24045
+ caption: 'Sessions by channel',
24046
+ columns: ['Month', 'Direct', 'Referral'],
24047
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
24048
+ }
24049
+ ```
24050
+
24051
+ The first column holds each row's label and every column after it a
24052
+ series, as in a table. A cell is a number, words, `null` for a blank,
24053
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
24054
+ number is shown in `locale`.
24055
+
24056
+ **A table is still the better source where the page can show one**:
24057
+ it reads with no script and before hydration, and a reader can sort and
24058
+ copy it. Data is drawn on the client only, so a server serves the
24059
+ frame, and the summary, the keys and the readout are then the whole of
24060
+ what a screen reader is given. Set a new object to redraw: the chart
24061
+ does not look inside the one it has. */
24062
+ data?: (HelixHeadlessScatterChart["data"]) | undefined;
23615
24063
 
23616
24064
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
23617
24065
  "onhelix-reading-change"?: ((
@@ -23683,6 +24131,25 @@ Absent draws none. A series with fewer than two points, or with every
23683
24131
  point at one measure across, has no line to draw. The summary already
23684
24132
  gives each series' correlation, which says how near the points are to it. */
23685
24133
  "prop:trend"?: (HelixHeadlessScatterChart["trend"]) | undefined;
24134
+ /** The words shown in place of the drawing when the table has no readings,
24135
+ and the fallback of the `empty` slot. */
24136
+ "attr:empty-text"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
24137
+ /** The words shown in place of the drawing when the table has no readings,
24138
+ and the fallback of the `empty` slot. */
24139
+ "prop:emptyText"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
24140
+ /** Whether the readings are still on their way. The chart shows
24141
+ `loading-text` in place of an empty drawing until it has readings.
24142
+
24143
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
24144
+ that already has readings keeps drawing them, so a refresh does not
24145
+ blank it. */
24146
+ "prop:loading"?: (HelixHeadlessScatterChart["loading"]) | undefined;
24147
+ /** The words shown in place of the drawing while `loading` is set and
24148
+ there are no readings yet, and the fallback of the `loading` slot. */
24149
+ "attr:loading-text"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
24150
+ /** The words shown in place of the drawing while `loading` is set and
24151
+ there are no readings yet, and the fallback of the `loading` slot. */
24152
+ "prop:loadingText"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
23686
24153
  /** The id of the table to read.
23687
24154
 
23688
24155
  Names a table in the same tree, so a chart inside another component's
@@ -23719,6 +24186,29 @@ Set it to the words of the page's language, such as `{position} von
23719
24186
  {count}`, or to nothing to say no position. A slice or a series a
23720
24187
  legend hid is not counted. */
23721
24188
  "prop:positionLabel"?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
24189
+ /** The readings as data, in the shape of a table, where the page has no
24190
+ table to point `for` at. `for` wins where both are set.
24191
+
24192
+ ```js
24193
+ chart.data = {
24194
+ caption: 'Sessions by channel',
24195
+ columns: ['Month', 'Direct', 'Referral'],
24196
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
24197
+ }
24198
+ ```
24199
+
24200
+ The first column holds each row's label and every column after it a
24201
+ series, as in a table. A cell is a number, words, `null` for a blank,
24202
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
24203
+ number is shown in `locale`.
24204
+
24205
+ **A table is still the better source where the page can show one**:
24206
+ it reads with no script and before hydration, and a reader can sort and
24207
+ copy it. Data is drawn on the client only, so a server serves the
24208
+ frame, and the summary, the keys and the readout are then the whole of
24209
+ what a screen reader is given. Set a new object to redraw: the chart
24210
+ does not look inside the one it has. */
24211
+ "prop:data"?: (HelixHeadlessScatterChart["data"]) | undefined;
23722
24212
  /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
23723
24213
  "on:helix-reading-change"?: ((
23724
24214
  e: HelixHeadlessScatterChartHelixReadingChangeElementEvent,
@@ -25503,12 +25993,18 @@ The arrow keys move by `step` and do not snap. */
25503
25993
  };
25504
25994
 
25505
25995
  export type HelixHeadlessStatGroupProps = {
25506
- /** Accessible name for the group. */
25996
+ /** Accessible name for the group, which makes it a group.
25997
+
25998
+ Absent leaves the stats with no group around them, unless `aria-label` or
25999
+ `aria-labelledby` names it. */
25507
26000
  label?: (HelixHeadlessStatGroup["label"]) | undefined;
25508
26001
  };
25509
26002
 
25510
26003
  export type HelixHeadlessStatGroupSolidJsProps = {
25511
- /** Accessible name for the group. */
26004
+ /** Accessible name for the group, which makes it a group.
26005
+
26006
+ Absent leaves the stats with no group around them, unless `aria-label` or
26007
+ `aria-labelledby` names it. */
25512
26008
  "prop:label"?: (HelixHeadlessStatGroup["label"]) | undefined;
25513
26009
 
25514
26010
  /** Set the innerHTML of the element */
@@ -25544,6 +26040,29 @@ reports a hydration mismatch. The absent attribute is the column, which the
25544
26040
  stylesheet reads as the base case, and the server spec asserts the host
25545
26041
  carries nothing nobody wrote. */
25546
26042
  direction?: (HelixHeadlessStat["direction"]) | undefined;
26043
+ /** `Intl.NumberFormat` options `value` is written with, such as
26044
+ `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
26045
+ written as JSON in the attribute.
26046
+
26047
+ Absent writes the number as the locale writes any number. */
26048
+ "format-options"?: (HelixHeadlessStat["formatOptions"]) | undefined;
26049
+ /** `Intl.NumberFormat` options `value` is written with, such as
26050
+ `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
26051
+ written as JSON in the attribute.
26052
+
26053
+ Absent writes the number as the locale writes any number. */
26054
+ formatOptions?: (HelixHeadlessStat["formatOptions"]) | undefined;
26055
+ /** The locale `value` is written in, such as `de` for `1.234.567`.
26056
+
26057
+ Absent reads the nearest `lang`, then the runtime's own. Set it on a page
26058
+ rendered on a server, so the server and the browser write the figure
26059
+ alike. */
26060
+ locale?: (HelixHeadlessStat["locale"]) | undefined;
26061
+ /** The figure as a number, written with `format-options` in `locale` in
26062
+ place of a slotted value.
26063
+
26064
+ Absent leaves the figure to the slot. */
26065
+ value?: (HelixHeadlessStat["value"]) | undefined;
25547
26066
  };
25548
26067
 
25549
26068
  export type HelixHeadlessStatSolidJsProps = {
@@ -25573,6 +26092,29 @@ reports a hydration mismatch. The absent attribute is the column, which the
25573
26092
  stylesheet reads as the base case, and the server spec asserts the host
25574
26093
  carries nothing nobody wrote. */
25575
26094
  "prop:direction"?: (HelixHeadlessStat["direction"]) | undefined;
26095
+ /** `Intl.NumberFormat` options `value` is written with, such as
26096
+ `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
26097
+ written as JSON in the attribute.
26098
+
26099
+ Absent writes the number as the locale writes any number. */
26100
+ "attr:format-options"?: (HelixHeadlessStat["formatOptions"]) | undefined;
26101
+ /** `Intl.NumberFormat` options `value` is written with, such as
26102
+ `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
26103
+ written as JSON in the attribute.
26104
+
26105
+ Absent writes the number as the locale writes any number. */
26106
+ "prop:formatOptions"?: (HelixHeadlessStat["formatOptions"]) | undefined;
26107
+ /** The locale `value` is written in, such as `de` for `1.234.567`.
26108
+
26109
+ Absent reads the nearest `lang`, then the runtime's own. Set it on a page
26110
+ rendered on a server, so the server and the browser write the figure
26111
+ alike. */
26112
+ "prop:locale"?: (HelixHeadlessStat["locale"]) | undefined;
26113
+ /** The figure as a number, written with `format-options` in `locale` in
26114
+ place of a slotted value.
26115
+
26116
+ Absent leaves the figure to the slot. */
26117
+ "prop:value"?: (HelixHeadlessStat["value"]) | undefined;
25576
26118
 
25577
26119
  /** Set the innerHTML of the element */
25578
26120
  innerHTML?: (string) | undefined;
@@ -33142,6 +33684,16 @@ export type CustomElements = {
33142
33684
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33143
33685
  * pressed with Enter or Space, for a page that opens what a reading stands for.
33144
33686
  *
33687
+ * **`data` takes the readings as data** where the page has no table to point
33688
+ * `for` at, in a table's shape: the column headings, then one row per reading
33689
+ * with its label first. A table is still the better source where the page can
33690
+ * show one, since it reads before any script runs.
33691
+ *
33692
+ * **A chart with nothing to draw says so.** A table with no readings shows
33693
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
33694
+ * there until readings arrive. The `empty` and `loading` slots take markup in
33695
+ * their place, such as a link to add the first reading.
33696
+ *
33145
33697
  * ## Attributes & Properties
33146
33698
  *
33147
33699
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33188,6 +33740,16 @@ export type CustomElements = {
33188
33740
  *
33189
33741
  * Absent draws none: bands read as a composition need no numbers beside
33190
33742
  * them, and the tooltip and the table hold every reading.
33743
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
33744
+ * and the fallback of the `empty` slot.
33745
+ * - `loading`: Whether the readings are still on their way. The chart shows
33746
+ * `loading-text` in place of an empty drawing until it has readings.
33747
+ *
33748
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
33749
+ * that already has readings keeps drawing them, so a refresh does not
33750
+ * blank it.
33751
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
33752
+ * there are no readings yet, and the fallback of the `loading` slot.
33191
33753
  * - `for`: The id of the table to read.
33192
33754
  *
33193
33755
  * Names a table in the same tree, so a chart inside another component's
@@ -33218,6 +33780,28 @@ export type CustomElements = {
33218
33780
  * cannot be cast onto across unrelated classes, so it would be invisible to
33219
33781
  * every chart that needs it. Reading where a pointer is resting is a fair
33220
33782
  * thing to ask a chart anyway. (property only) (readonly)
33783
+ * - `data`: The readings as data, in the shape of a table, where the page has no
33784
+ * table to point `for` at. `for` wins where both are set.
33785
+ *
33786
+ * ```js
33787
+ * chart.data = {
33788
+ * caption: 'Sessions by channel',
33789
+ * columns: ['Month', 'Direct', 'Referral'],
33790
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
33791
+ * }
33792
+ * ```
33793
+ *
33794
+ * The first column holds each row's label and every column after it a
33795
+ * series, as in a table. A cell is a number, words, `null` for a blank,
33796
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
33797
+ * number is shown in `locale`.
33798
+ *
33799
+ * **A table is still the better source where the page can show one**:
33800
+ * it reads with no script and before hydration, and a reader can sort and
33801
+ * copy it. Data is drawn on the client only, so a server serves the
33802
+ * frame, and the summary, the keys and the readout are then the whole of
33803
+ * what a screen reader is given. Set a new object to redraw: the chart
33804
+ * does not look inside the one it has. (property only)
33221
33805
  * - `series`: The table's columns, one series each. Empty when there is no table.
33222
33806
  *
33223
33807
  * Held by the controller between edits, so a render reading this five
@@ -33234,6 +33818,9 @@ export type CustomElements = {
33234
33818
  * names an element, and the chart is a generic around its plot: written
33235
33819
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
33236
33820
  * strip always did. (property only) (readonly)
33821
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
33822
+ * while hydrating, where no table is resolved and no data is read. A
33823
+ * chart says it has no readings only once this is true. (property only) (readonly)
33237
33824
  * - `sourceRows`: Every row of the table, with each cell's text and number.
33238
33825
  *
33239
33826
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -33280,6 +33867,13 @@ export type CustomElements = {
33280
33867
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
33281
33868
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33282
33869
  *
33870
+ * ## Slots
33871
+ *
33872
+ * Areas where markup can be added to the component.
33873
+ *
33874
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
33875
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
33876
+ *
33283
33877
  * ## Methods
33284
33878
  *
33285
33879
  * Methods that can be called to access component functionality.
@@ -33329,12 +33923,14 @@ export type CustomElements = {
33329
33923
  * - `area`: One part's band.
33330
33924
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
33331
33925
  * - `baseline`: The rule at zero, which is the floor of the drawing.
33926
+ * - `empty`: The words in place of the drawing 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.
33332
33927
  * - `gridline`: One rule across the plot, under `gridlines`.
33333
33928
  * - `guide`: A rule down the reading a pointer is resting on.
33334
33929
  * - `label`: One reading's name.
33335
33930
  * - `labels`: The row of reading names.
33336
33931
  * - `line`: The top edge of one part's band.
33337
33932
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
33933
+ * - `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`.
33338
33934
  * - `mark`: The invisible point the tooltip is anchored to.
33339
33935
  * - `plot`: The drawing, which takes focus to be read by key.
33340
33936
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
@@ -33607,6 +34203,12 @@ export type CustomElements = {
33607
34203
  * button "Inbox 8 unread", and stays current as the count changes. The styled
33608
34204
  * tier's `placement="inline"` draws the mark in the line for that case.
33609
34205
  *
34206
+ * **An icon goes inside the mark** through the `icon` slot, before the count,
34207
+ * as Web Awesome's badge takes one at its start. With no `value` the icon is
34208
+ * the whole mark, such as a check on an avatar, drawn where the dot would be.
34209
+ * The icon is hidden from screen readers: the count and `label` are what the
34210
+ * mark says.
34211
+ *
33610
34212
  * ## Attributes & Properties
33611
34213
  *
33612
34214
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33670,12 +34272,14 @@ export type CustomElements = {
33670
34272
  * Areas where markup can be added to the component.
33671
34273
  *
33672
34274
  * - `(default)`: The element being decorated.
34275
+ * - `icon`: An icon inside the mark, before the count, or the whole mark when there is no value. Hidden from screen readers.
33673
34276
  *
33674
34277
  * ## CSS Parts
33675
34278
  *
33676
34279
  * Custom selectors for styling elements within the component.
33677
34280
  *
33678
- * - `indicator`: The count, or the dot when there is no value.
34281
+ * - `icon`: The slot the icon arrives through, inside the indicator. A slot draws no box, so it passes inherited properties, such as color, to the icon.
34282
+ * - `indicator`: The count, or the dot when there is no value. Carries `data-dot` when there is no value, `data-single` when the count is one character, and `data-blank` when the value is zero.
33679
34283
  *
33680
34284
  * ## CSS States
33681
34285
  *
@@ -33683,7 +34287,8 @@ export type CustomElements = {
33683
34287
  *
33684
34288
  * - `blank`: The value is zero, so there is no mark.
33685
34289
  * - `capped`: The count is past `max`, so the mark shows `{max}+`.
33686
- * - `dot`: There is no value, so the mark is a dot.
34290
+ * - `dot`: There is no value and no icon, so the mark is a dot.
34291
+ * - `has-icon`: Something is slotted into `icon`, so it is drawn inside the mark.
33687
34292
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
33688
34293
  */
33689
34294
  "helix-headless-badge": Partial<
@@ -33720,6 +34325,16 @@ export type CustomElements = {
33720
34325
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33721
34326
  * pressed with Enter or Space, for a page that opens what a reading stands for.
33722
34327
  *
34328
+ * **`data` takes the readings as data** where the page has no table to point
34329
+ * `for` at, in a table's shape: the column headings, then one row per reading
34330
+ * with its label first. A table is still the better source where the page can
34331
+ * show one, since it reads before any script runs.
34332
+ *
34333
+ * **A chart with nothing to draw says so.** A table with no readings shows
34334
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
34335
+ * there until readings arrive. The `empty` and `loading` slots take markup in
34336
+ * their place, such as a link to add the first reading.
34337
+ *
33723
34338
  * ## Attributes & Properties
33724
34339
  *
33725
34340
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33825,6 +34440,16 @@ export type CustomElements = {
33825
34440
  *
33826
34441
  * Absent draws none with one scale, since bars compared with each other need
33827
34442
  * no numbers. With `secondary` both scales are drawn whatever this says.
34443
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
34444
+ * and the fallback of the `empty` slot.
34445
+ * - `loading`: Whether the readings are still on their way. The chart shows
34446
+ * `loading-text` in place of an empty drawing until it has readings.
34447
+ *
34448
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
34449
+ * that already has readings keeps drawing them, so a refresh does not
34450
+ * blank it.
34451
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
34452
+ * there are no readings yet, and the fallback of the `loading` slot.
33828
34453
  * - `for`: The id of the table to read.
33829
34454
  *
33830
34455
  * Names a table in the same tree, so a chart inside another component's
@@ -33855,6 +34480,28 @@ export type CustomElements = {
33855
34480
  * cannot be cast onto across unrelated classes, so it would be invisible to
33856
34481
  * every chart that needs it. Reading where a pointer is resting is a fair
33857
34482
  * thing to ask a chart anyway. (property only) (readonly)
34483
+ * - `data`: The readings as data, in the shape of a table, where the page has no
34484
+ * table to point `for` at. `for` wins where both are set.
34485
+ *
34486
+ * ```js
34487
+ * chart.data = {
34488
+ * caption: 'Sessions by channel',
34489
+ * columns: ['Month', 'Direct', 'Referral'],
34490
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
34491
+ * }
34492
+ * ```
34493
+ *
34494
+ * The first column holds each row's label and every column after it a
34495
+ * series, as in a table. A cell is a number, words, `null` for a blank,
34496
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
34497
+ * number is shown in `locale`.
34498
+ *
34499
+ * **A table is still the better source where the page can show one**:
34500
+ * it reads with no script and before hydration, and a reader can sort and
34501
+ * copy it. Data is drawn on the client only, so a server serves the
34502
+ * frame, and the summary, the keys and the readout are then the whole of
34503
+ * what a screen reader is given. Set a new object to redraw: the chart
34504
+ * does not look inside the one it has. (property only)
33858
34505
  * - `series`: The table's columns, one series each. Empty when there is no table.
33859
34506
  *
33860
34507
  * Held by the controller between edits, so a render reading this five
@@ -33871,6 +34518,9 @@ export type CustomElements = {
33871
34518
  * names an element, and the chart is a generic around its plot: written
33872
34519
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
33873
34520
  * strip always did. (property only) (readonly)
34521
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
34522
+ * while hydrating, where no table is resolved and no data is read. A
34523
+ * chart says it has no readings only once this is true. (property only) (readonly)
33874
34524
  * - `sourceRows`: Every row of the table, with each cell's text and number.
33875
34525
  *
33876
34526
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -33917,6 +34567,13 @@ export type CustomElements = {
33917
34567
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
33918
34568
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33919
34569
  *
34570
+ * ## Slots
34571
+ *
34572
+ * Areas where markup can be added to the component.
34573
+ *
34574
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
34575
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
34576
+ *
33920
34577
  * ## Methods
33921
34578
  *
33922
34579
  * Methods that can be called to access component functionality.
@@ -33971,6 +34628,7 @@ export type CustomElements = {
33971
34628
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
33972
34629
  * - `bar-wash-start`: The stop of a bar's gradient at its base.
33973
34630
  * - `baseline`: The line the columns stand on.
34631
+ * - `empty`: The words in place of the drawing 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.
33974
34632
  * - `gridline`: One gridline across the plot, drawn when `gridlines` is set.
33975
34633
  * - `group`: One category's columns, together.
33976
34634
  * - `group-active`: The group the tooltip describes. Set together with `group`.
@@ -33978,6 +34636,7 @@ export type CustomElements = {
33978
34636
  * - `labels`: The row of category names.
33979
34637
  * - `line`: A series drawn as a line, named in `lines`.
33980
34638
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
34639
+ * - `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`.
33981
34640
  * - `mark`: The invisible point the tooltip is anchored to.
33982
34641
  * - `plot`: The drawing, which takes focus to be read by key.
33983
34642
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
@@ -35519,13 +36178,17 @@ export type CustomElements = {
35519
36178
  * through with `::part`.
35520
36179
  *
35521
36180
  * Name the card with `label`, as a Stat Group is named, or with `aria-label`
35522
- * or `aria-labelledby`. These are the only names that work with server
35523
- * rendering, because reading a title from the light DOM needs a DOM, and the
35524
- * server has none. `label` is set through `ElementInternals`, so it writes no
35525
- * attribute onto the card. **A named card is a group**, so a
36181
+ * or `aria-labelledby`. `label` is set through `ElementInternals`, so it
36182
+ * writes no attribute onto the card. **A named card is a group**, so a
35526
36183
  * reader entering it hears its name; an unnamed one has no role, since a group
35527
36184
  * with no name only adds "group" to what a reader says.
35528
36185
  *
36186
+ * **With none of those, a heading in `header` names the card**, such as the
36187
+ * `<h2>` of its title, by reference, so the name follows the heading's words.
36188
+ * Reading a heading needs a DOM, so a served card is named by it once the
36189
+ * script runs; `label`, `aria-label` and `aria-labelledby` are the names a
36190
+ * server writes.
36191
+ *
35529
36192
  * Each region's slot is a part of the same name, `body` for the main content,
35530
36193
  * as Web Awesome's card names its regions. A slot draws no box, so a part
35531
36194
  * passes inherited properties to what is slotted, and a page wanting a box
@@ -35535,7 +36198,9 @@ export type CustomElements = {
35535
36198
  * header's and the footer's line, as Web Awesome's card does. While one holds
35536
36199
  * something, its line is a `header-row` or `footer-row` part; otherwise there
35537
36200
  * is no wrapper and every region is a bare slot. A server cannot see slotted
35538
- * content, so served actions sit on their own line until the script runs.
36201
+ * content, so a served card has no row; the styled tier sets served actions at
36202
+ * the end of their line from the stylesheet alone, so they do not move when
36203
+ * the script runs.
35539
36204
  *
35540
36205
  * **The card says which regions it holds**, as `:state(has-media)`,
35541
36206
  * `:state(has-header)` and `:state(has-footer)`, so a sheet can draw a card
@@ -35563,8 +36228,6 @@ export type CustomElements = {
35563
36228
  *
35564
36229
  * Reflected and undefaulted, so a card that has not asked reads as a card
35565
36230
  * with no attribute on it and the stylesheet only describes the departure.
35566
- * - `aria-labelledby`/`undefined`: undefined
35567
- * - `aria-label`/`undefined`: undefined
35568
36231
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
35569
36232
  *
35570
36233
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -35597,6 +36260,14 @@ export type CustomElements = {
35597
36260
  * - `header-actions`: Controls for the whole card at the end of the header's line, such as a menu.
35598
36261
  * - `media`: Image, video, or chart that runs edge to edge, outside the inset.
35599
36262
  *
36263
+ * ## Methods
36264
+ *
36265
+ * Methods that can be called to access component functionality.
36266
+ *
36267
+ * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A name written
36268
+ * or taken off asks for an update, because it decides whether the card is a
36269
+ * group and whether its heading names it.
36270
+ *
35600
36271
  * ## CSS Parts
35601
36272
  *
35602
36273
  * Custom selectors for styling elements within the component.
@@ -36945,6 +37616,18 @@ export type CustomElements = {
36945
37616
  * and its copy button copies the new version of the file. `variant="split"`
36946
37617
  * shows the old version beside the new, each removal opposite its replacement.
36947
37618
  *
37619
+ * **A block that scrolls is a tab stop.** While its lines run past its width or
37620
+ * its cap, the scroller is a region named for the block, such as "Code,
37621
+ * app.ts", that Tab reaches, so a keyboard scrolls it with the arrow keys in
37622
+ * every browser. Chromium and Firefox make a scrolling box focusable on their
37623
+ * own, and Safari does not. A block that fits is no stop at all.
37624
+ *
37625
+ * **The code the block draws is marked untranslated**, `translate="no"` on
37626
+ * its `<pre>`, so a page translator leaves highlighted lines and a diff as
37627
+ * written. Code in the slot takes its translation mode from the element, which
37628
+ * writes nothing onto itself, so set `translate="no"` on the element to keep a
37629
+ * translator off plain code too.
37630
+ *
36948
37631
  * On the server, the slot renders as ordinary code, so a diff first appears as
36949
37632
  * the patch text in a `<pre>`. The client makes the same first render, which
36950
37633
  * keeps hydration clean, and draws the diff once it can read the content. Diff
@@ -36954,6 +37637,12 @@ export type CustomElements = {
36954
37637
  *
36955
37638
  * Component attributes and properties that can be applied to the element or by using JavaScript.
36956
37639
  *
37640
+ * - `code-label`/`codeLabel`: The name of a block that scrolls, which is a tab stop while it does.
37641
+ *
37642
+ * Where the block has a name, the scroller says it too, such as "Code,
37643
+ * app.ts", as `code-name-label` puts it.
37644
+ * - `code-name-label`/`codeNameLabel`: The name of a block that scrolls, where the block has a name. `{code}` is
37645
+ * `code-label` and `{name}` the block's name.
36957
37646
  * - `collapse-label`/`collapseLabel`: The expand button's words while the block shows every line.
36958
37647
  * - `copied-label`/`copiedLabel`: The copy button's name and tooltip text after a copy.
36959
37648
  * - `copy-label`/`copyLabel`: The copy button's name and tooltip text before a copy.
@@ -37119,6 +37808,13 @@ export type CustomElements = {
37119
37808
  * tools and document search. A styled span carries no such meaning, and a
37120
37809
  * screen reader announces nothing about it.
37121
37810
  *
37811
+ * **Set `translate="no"` on the element to keep a page translator off the
37812
+ * code.** A translator that rewrites prose would also rewrite an identifier.
37813
+ * The slotted text takes its translation mode from the element, its parent in
37814
+ * the page, and the element writes nothing onto itself, so the attribute is
37815
+ * yours to set. The `<code>` inside carries `translate="no"` for anything the
37816
+ * element draws itself.
37817
+ *
37122
37818
  * `Code` is inline only and never scrolls. For a block of code with its own
37123
37819
  * box, its own overflow, and copying, use `CodeBlock`, which is a separate
37124
37820
  * family.
@@ -40516,6 +41212,28 @@ export type CustomElements = {
40516
41212
  * cannot be cast onto across unrelated classes, so it would be invisible to
40517
41213
  * every chart that needs it. Reading where a pointer is resting is a fair
40518
41214
  * thing to ask a chart anyway. (property only) (readonly)
41215
+ * - `data`: The readings as data, in the shape of a table, where the page has no
41216
+ * table to point `for` at. `for` wins where both are set.
41217
+ *
41218
+ * ```js
41219
+ * chart.data = {
41220
+ * caption: 'Sessions by channel',
41221
+ * columns: ['Month', 'Direct', 'Referral'],
41222
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
41223
+ * }
41224
+ * ```
41225
+ *
41226
+ * The first column holds each row's label and every column after it a
41227
+ * series, as in a table. A cell is a number, words, `null` for a blank,
41228
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
41229
+ * number is shown in `locale`.
41230
+ *
41231
+ * **A table is still the better source where the page can show one**:
41232
+ * it reads with no script and before hydration, and a reader can sort and
41233
+ * copy it. Data is drawn on the client only, so a server serves the
41234
+ * frame, and the summary, the keys and the readout are then the whole of
41235
+ * what a screen reader is given. Set a new object to redraw: the chart
41236
+ * does not look inside the one it has. (property only)
40519
41237
  * - `series`: The table's columns, one series each. Empty when there is no table.
40520
41238
  *
40521
41239
  * Held by the controller between edits, so a render reading this five
@@ -40532,6 +41250,9 @@ export type CustomElements = {
40532
41250
  * names an element, and the chart is a generic around its plot: written
40533
41251
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
40534
41252
  * strip always did. (property only) (readonly)
41253
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
41254
+ * while hydrating, where no table is resolved and no data is read. A
41255
+ * chart says it has no readings only once this is true. (property only) (readonly)
40535
41256
  * - `sourceRows`: Every row of the table, with each cell's text and number.
40536
41257
  *
40537
41258
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -41154,7 +41875,16 @@ export type CustomElements = {
41154
41875
  *
41155
41876
  * Every region is a bare slot. There is no `empty-state-heading` or
41156
41877
  * `empty-state-actions` element: assign your own heading and actions to the
41157
- * slots.
41878
+ * slots. The icon, the message and the actions slots are parts of the same
41879
+ * names, as Card's regions are. A slot draws no box, so a part passes
41880
+ * inherited properties, such as color and font, to what is slotted, and a
41881
+ * page wanting a box there gives it one with `display`, such as a row of
41882
+ * actions with `display: flex`.
41883
+ *
41884
+ * **The view says which regions it holds**, as `:state(has-icon)` and
41885
+ * `:state(has-actions)`, so a sheet can space a view with no icon or no
41886
+ * actions differently. Read in the browser, so a served view carries neither
41887
+ * until the script runs.
41158
41888
  *
41159
41889
  * **Or give the heading as words.** `heading` draws them in a `heading` part
41160
41890
  * that is a heading at `heading-level`, 3 where it is not set, so a page
@@ -41219,13 +41949,18 @@ export type CustomElements = {
41219
41949
  *
41220
41950
  * Custom selectors for styling elements within the component.
41221
41951
  *
41952
+ * - `actions`: The slot the actions arrive through. A slot draws no box, so it passes inherited properties to the actions; `display: flex` lays them out in a row.
41222
41953
  * - `heading`: The heading at `heading-level`: the one `heading` draws while nothing is slotted into `heading`, or the one around a slotted element that is no heading.
41954
+ * - `icon`: The slot the icon arrives through, drawing no box, as `actions` does.
41223
41955
  * - `live`: A copy of the heading and the message, in a live region that screen readers announce when the view appears. Visually hidden in the styled tier.
41956
+ * - `message`: The slot the message arrives through, drawing no box, as `actions` does.
41224
41957
  *
41225
41958
  * ## CSS States
41226
41959
  *
41227
41960
  * These can be used to apply styling when a component is in a given state.
41228
41961
  *
41962
+ * - `has-actions`: Something is slotted into `actions`.
41963
+ * - `has-icon`: Something is slotted into `icon`.
41229
41964
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
41230
41965
  */
41231
41966
  "helix-headless-empty": Partial<
@@ -43055,6 +43790,28 @@ export type CustomElements = {
43055
43790
  * cannot be cast onto across unrelated classes, so it would be invisible to
43056
43791
  * every chart that needs it. Reading where a pointer is resting is a fair
43057
43792
  * thing to ask a chart anyway. (property only) (readonly)
43793
+ * - `data`: The readings as data, in the shape of a table, where the page has no
43794
+ * table to point `for` at. `for` wins where both are set.
43795
+ *
43796
+ * ```js
43797
+ * chart.data = {
43798
+ * caption: 'Sessions by channel',
43799
+ * columns: ['Month', 'Direct', 'Referral'],
43800
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
43801
+ * }
43802
+ * ```
43803
+ *
43804
+ * The first column holds each row's label and every column after it a
43805
+ * series, as in a table. A cell is a number, words, `null` for a blank,
43806
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
43807
+ * number is shown in `locale`.
43808
+ *
43809
+ * **A table is still the better source where the page can show one**:
43810
+ * it reads with no script and before hydration, and a reader can sort and
43811
+ * copy it. Data is drawn on the client only, so a server serves the
43812
+ * frame, and the summary, the keys and the readout are then the whole of
43813
+ * what a screen reader is given. Set a new object to redraw: the chart
43814
+ * does not look inside the one it has. (property only)
43058
43815
  * - `series`: The table's columns, one series each. Empty when there is no table.
43059
43816
  *
43060
43817
  * Held by the controller between edits, so a render reading this five
@@ -43071,6 +43828,9 @@ export type CustomElements = {
43071
43828
  * names an element, and the chart is a generic around its plot: written
43072
43829
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
43073
43830
  * strip always did. (property only) (readonly)
43831
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
43832
+ * while hydrating, where no table is resolved and no data is read. A
43833
+ * chart says it has no readings only once this is true. (property only) (readonly)
43074
43834
  * - `sourceRows`: Every row of the table, with each cell's text and number.
43075
43835
  *
43076
43836
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -43521,8 +44281,16 @@ export type CustomElements = {
43521
44281
  * a glyph that came later is drawn. A glyph registered after the element
43522
44282
  * rendered is drawn then.
43523
44283
  *
43524
- * A name with no match renders nothing, and the element fires `error`, so a
43525
- * typo in a name can be heard. It waits until the page has loaded and painted
44284
+ * **Or point `src` at an SVG file**, such as `src="/icons/rocket.svg"`, and
44285
+ * the element fetches it and draws its shapes in `currentColor` where the file
44286
+ * does not color them. A file is fetched once a page, however many icons name
44287
+ * it, and `load` fires when it is drawn. Scripts, event handlers and
44288
+ * `javascript:` links in the file are taken out before it is drawn. A server
44289
+ * fetches nothing, so a served icon with a `src` is drawn once the script
44290
+ * runs.
44291
+ *
44292
+ * A name with no match, or a `src` that is no SVG, renders nothing, and the
44293
+ * element fires `error`, so a typo in a name can be heard. It waits until the page has loaded and painted
43526
44294
  * first, so a library a later module registers is not taken for a typo.
43527
44295
  *
43528
44296
  * An icon is decorative by default and hidden from assistive technology. Set
@@ -43559,6 +44327,10 @@ export type CustomElements = {
43559
44327
  *
43560
44328
  * A name written `prefix:name` asks the library registered under that
43561
44329
  * prefix.
44330
+ * - `src`: The URL of an SVG file to draw, fetched once a page and drawn in
44331
+ * `currentColor` where the file does not color its shapes.
44332
+ *
44333
+ * Wins over `name`; `icon` wins over both. Absent draws `name`.
43562
44334
  * - `icon`: The icon to draw, as an object you import.
43563
44335
  *
43564
44336
  * **The scalable door, and the one this library uses internally.** An icon is
@@ -43596,8 +44368,8 @@ export type CustomElements = {
43596
44368
  *
43597
44369
  * Events that will be emitted by the component.
43598
44370
  *
43599
- * - `error`: `name` matches no registered icon and no library answers it, so nothing is drawn.
43600
- * - `load`: A glyph a library gave later for `name` is drawn.
44371
+ * - `error`: `name` matches no registered icon and no library answers it, or `src` is no SVG, so nothing is drawn.
44372
+ * - `load`: A glyph a library gave later for `name`, or the file at `src`, is drawn.
43601
44373
  *
43602
44374
  * ## Methods
43603
44375
  *
@@ -44709,6 +45481,16 @@ export type CustomElements = {
44709
45481
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
44710
45482
  * pressed with Enter or Space, for a page that opens what a reading stands for.
44711
45483
  *
45484
+ * **`data` takes the readings as data** where the page has no table to point
45485
+ * `for` at, in a table's shape: the column headings, then one row per reading
45486
+ * with its label first. A table is still the better source where the page can
45487
+ * show one, since it reads before any script runs.
45488
+ *
45489
+ * **A chart with nothing to draw says so.** A table with no readings shows
45490
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
45491
+ * there until readings arrive. The `empty` and `loading` slots take markup in
45492
+ * their place, such as a link to add the first reading.
45493
+ *
44712
45494
  * ## Attributes & Properties
44713
45495
  *
44714
45496
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -44819,6 +45601,16 @@ export type CustomElements = {
44819
45601
  * Set it where the distance from nothing is the point rather than the shape,
44820
45602
  * and accept that a series which never approaches zero becomes a flat rule
44821
45603
  * near the top of the box.
45604
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
45605
+ * and the fallback of the `empty` slot.
45606
+ * - `loading`: Whether the readings are still on their way. The chart shows
45607
+ * `loading-text` in place of an empty drawing until it has readings.
45608
+ *
45609
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
45610
+ * that already has readings keeps drawing them, so a refresh does not
45611
+ * blank it.
45612
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
45613
+ * there are no readings yet, and the fallback of the `loading` slot.
44822
45614
  * - `for`: The id of the table to read.
44823
45615
  *
44824
45616
  * Names a table in the same tree, so a chart inside another component's
@@ -44849,6 +45641,28 @@ export type CustomElements = {
44849
45641
  * cannot be cast onto across unrelated classes, so it would be invisible to
44850
45642
  * every chart that needs it. Reading where a pointer is resting is a fair
44851
45643
  * thing to ask a chart anyway. (property only) (readonly)
45644
+ * - `data`: The readings as data, in the shape of a table, where the page has no
45645
+ * table to point `for` at. `for` wins where both are set.
45646
+ *
45647
+ * ```js
45648
+ * chart.data = {
45649
+ * caption: 'Sessions by channel',
45650
+ * columns: ['Month', 'Direct', 'Referral'],
45651
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
45652
+ * }
45653
+ * ```
45654
+ *
45655
+ * The first column holds each row's label and every column after it a
45656
+ * series, as in a table. A cell is a number, words, `null` for a blank,
45657
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
45658
+ * number is shown in `locale`.
45659
+ *
45660
+ * **A table is still the better source where the page can show one**:
45661
+ * it reads with no script and before hydration, and a reader can sort and
45662
+ * copy it. Data is drawn on the client only, so a server serves the
45663
+ * frame, and the summary, the keys and the readout are then the whole of
45664
+ * what a screen reader is given. Set a new object to redraw: the chart
45665
+ * does not look inside the one it has. (property only)
44852
45666
  * - `series`: The table's columns, one series each. Empty when there is no table.
44853
45667
  *
44854
45668
  * Held by the controller between edits, so a render reading this five
@@ -44865,6 +45679,9 @@ export type CustomElements = {
44865
45679
  * names an element, and the chart is a generic around its plot: written
44866
45680
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
44867
45681
  * strip always did. (property only) (readonly)
45682
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
45683
+ * while hydrating, where no table is resolved and no data is read. A
45684
+ * chart says it has no readings only once this is true. (property only) (readonly)
44868
45685
  * - `sourceRows`: Every row of the table, with each cell's text and number.
44869
45686
  *
44870
45687
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -44911,6 +45728,13 @@ export type CustomElements = {
44911
45728
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
44912
45729
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
44913
45730
  *
45731
+ * ## Slots
45732
+ *
45733
+ * Areas where markup can be added to the component.
45734
+ *
45735
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
45736
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
45737
+ *
44914
45738
  * ## Methods
44915
45739
  *
44916
45740
  * Methods that can be called to access component functionality.
@@ -44963,6 +45787,7 @@ export type CustomElements = {
44963
45787
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
44964
45788
  * - `band`: The band around the reading under the pointer.
44965
45789
  * - `baseline`: The rule at zero, where zero is inside the range.
45790
+ * - `empty`: The words in place of the drawing 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.
44966
45791
  * - `gridline`: One rule across the plot, under `gridlines`.
44967
45792
  * - `guide`: A rule down the reading a pointer is resting on.
44968
45793
  * - `label`: One reading's name.
@@ -44970,6 +45795,7 @@ export type CustomElements = {
44970
45795
  * - `line`: The line for one series.
44971
45796
  * - `line-dashed`: A `line` whose series `dashed` names. Set alongside `line`.
44972
45797
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
45798
+ * - `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`.
44973
45799
  * - `mark`: The invisible point the tooltip is anchored to.
44974
45800
  * - `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`.
44975
45801
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
@@ -45753,6 +46579,11 @@ export type CustomElements = {
45753
46579
  * Draws two concentric circles: a track and a moving arc. The track shows the
45754
46580
  * arc as a proportion of a whole, and costs one element.
45755
46581
  *
46582
+ * **For work whose length is known, use `Progress` with `shape="ring"`.** It
46583
+ * draws the same ring filled to the value, says the value as a progress bar
46584
+ * does, and says when the work is complete. A loader claims no proportion, so
46585
+ * it takes no value.
46586
+ *
45756
46587
  * **The center is a slot, empty by default.** Put your logo there once, where
45757
46588
  * your app wraps the loader. When nothing is slotted, nothing extra is
45758
46589
  * rendered.
@@ -50259,6 +51090,15 @@ export type CustomElements = {
50259
51090
  *
50260
51091
  * The fill is a fraction of the track, written as a custom property.
50261
51092
  *
51093
+ * **The reading is said in the words the bar would show**: a whole percentage
51094
+ * of the range in `locale`, the reading `format-options` writes, or
51095
+ * `value-text`, as `aria-valuetext` beside the number.
51096
+ *
51097
+ * **Words set in the default slot are drawn on the bar**, or in the middle of a
51098
+ * ring, such as `62%` or `3 of 8`, and are what the bar says as its reading
51099
+ * where `value-text` is not set. While there are any, the bar carries
51100
+ * `:state(content)`, so a sheet can make room for them.
51101
+ *
50262
51102
  * **Reaching `max` is said and sent.** When the value arrives at `max` from
50263
51103
  * below, the bar says `complete-label`, "Complete" by default, in a polite
50264
51104
  * `live` region and sends `helix-complete`, so a reader hears that the work is
@@ -50285,7 +51125,8 @@ export type CustomElements = {
50285
51125
  *
50286
51126
  * A `percent` style writes the share of the range, and any other the value
50287
51127
  * itself, so the example says "18 GB". Absent is a whole percentage. The
50288
- * words are announced as well as shown. `value-text` still wins.
51128
+ * words are announced whether or not `show-value` shows them. `value-text`
51129
+ * still wins.
50289
51130
  * - `indeterminate`: Whether the length of the task is unknown. The bar then shows activity
50290
51131
  * without a value.
50291
51132
  *
@@ -50374,6 +51215,7 @@ export type CustomElements = {
50374
51215
  *
50375
51216
  * Areas where markup can be added to the component.
50376
51217
  *
51218
+ * - `(default)`: Words drawn on the bar, or in the middle of a ring, such as the reading. Said as the reading where `value-text` is not set.
50377
51219
  * - `label`: A visible label. Its words name the progress bar in place of `label`.
50378
51220
  *
50379
51221
  * ## CSS Custom Properties
@@ -50386,6 +51228,7 @@ export type CustomElements = {
50386
51228
  *
50387
51229
  * Custom selectors for styling elements within the component.
50388
51230
  *
51231
+ * - `content`: The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.
50389
51232
  * - `groove`: The unfilled circle under the ring's filled arc.
50390
51233
  * - `indicator`: The filled part that shows the work done.
50391
51234
  * - `live`: A polite region that says `complete-label` when the work is done, rendered from that moment. Hide it visually.
@@ -50397,6 +51240,7 @@ export type CustomElements = {
50397
51240
  * These can be used to apply styling when a component is in a given state.
50398
51241
  *
50399
51242
  * - `complete`: The value is at `max` and the bar is not indeterminate.
51243
+ * - `content`: Words are set in the default slot.
50400
51244
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
50401
51245
  */
50402
51246
  "helix-headless-progress": Partial<
@@ -50559,6 +51403,12 @@ export type CustomElements = {
50559
51403
  * element, and its marks follow it: `lang="de"` sets „…“ and `lang="fr"` «…»
50560
51404
  * inside an English page.
50561
51405
  *
51406
+ * **`no-marks` leaves the marks off**, for a quotation set where the page draws
51407
+ * its own, such as a pull quote with a large decorative mark beside it or a
51408
+ * table of sayings. The quotation still counts toward nesting, so a quote
51409
+ * inside it takes the inner marks it would have had. Text with marks typed
51410
+ * into it raises no warning under `no-marks`.
51411
+ *
50562
51412
  * For a passage set off from the surrounding text, use a blockquote.
50563
51413
  *
50564
51414
  * ## Attributes & Properties
@@ -50566,6 +51416,12 @@ export type CustomElements = {
50566
51416
  * Component attributes and properties that can be applied to the element or by using JavaScript.
50567
51417
  *
50568
51418
  * - `cite`: URL identifying where the quotation came from.
51419
+ * - `no-marks`/`noMarks`: Whether to leave the quotation marks off, for a quotation set where the
51420
+ * page draws its own.
51421
+ *
51422
+ * Negative, because the marks are on by default and a boolean attribute is
51423
+ * true whenever it is present. Reflected, because a stylesheet takes the
51424
+ * marks off on it.
50569
51425
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
50570
51426
  *
50571
51427
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -51330,6 +52186,16 @@ export type CustomElements = {
51330
52186
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
51331
52187
  * pressed with Enter or Space, for a page that opens what a reading stands for.
51332
52188
  *
52189
+ * **`data` takes the readings as data** where the page has no table to point
52190
+ * `for` at, in a table's shape: the column headings, then one row per reading
52191
+ * with its label first. A table is still the better source where the page can
52192
+ * show one, since it reads before any script runs.
52193
+ *
52194
+ * **A chart with nothing to draw says so.** A table with no readings shows
52195
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
52196
+ * there until readings arrive. The `empty` and `loading` slots take markup in
52197
+ * their place, such as a link to add the first reading.
52198
+ *
51333
52199
  * ## Attributes & Properties
51334
52200
  *
51335
52201
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -51365,6 +52231,16 @@ export type CustomElements = {
51365
52231
  * Absent draws none. A series with fewer than two points, or with every
51366
52232
  * point at one measure across, has no line to draw. The summary already
51367
52233
  * gives each series' correlation, which says how near the points are to it.
52234
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
52235
+ * and the fallback of the `empty` slot.
52236
+ * - `loading`: Whether the readings are still on their way. The chart shows
52237
+ * `loading-text` in place of an empty drawing until it has readings.
52238
+ *
52239
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
52240
+ * that already has readings keeps drawing them, so a refresh does not
52241
+ * blank it.
52242
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
52243
+ * there are no readings yet, and the fallback of the `loading` slot.
51368
52244
  * - `for`: The id of the table to read.
51369
52245
  *
51370
52246
  * Names a table in the same tree, so a chart inside another component's
@@ -51395,6 +52271,28 @@ export type CustomElements = {
51395
52271
  * cannot be cast onto across unrelated classes, so it would be invisible to
51396
52272
  * every chart that needs it. Reading where a pointer is resting is a fair
51397
52273
  * thing to ask a chart anyway. (property only) (readonly)
52274
+ * - `data`: The readings as data, in the shape of a table, where the page has no
52275
+ * table to point `for` at. `for` wins where both are set.
52276
+ *
52277
+ * ```js
52278
+ * chart.data = {
52279
+ * caption: 'Sessions by channel',
52280
+ * columns: ['Month', 'Direct', 'Referral'],
52281
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
52282
+ * }
52283
+ * ```
52284
+ *
52285
+ * The first column holds each row's label and every column after it a
52286
+ * series, as in a table. A cell is a number, words, `null` for a blank,
52287
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
52288
+ * number is shown in `locale`.
52289
+ *
52290
+ * **A table is still the better source where the page can show one**:
52291
+ * it reads with no script and before hydration, and a reader can sort and
52292
+ * copy it. Data is drawn on the client only, so a server serves the
52293
+ * frame, and the summary, the keys and the readout are then the whole of
52294
+ * what a screen reader is given. Set a new object to redraw: the chart
52295
+ * does not look inside the one it has. (property only)
51398
52296
  * - `series`: The table's columns, one series each. Empty when there is no table.
51399
52297
  *
51400
52298
  * Held by the controller between edits, so a render reading this five
@@ -51411,6 +52309,9 @@ export type CustomElements = {
51411
52309
  * names an element, and the chart is a generic around its plot: written
51412
52310
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
51413
52311
  * strip always did. (property only) (readonly)
52312
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
52313
+ * while hydrating, where no table is resolved and no data is read. A
52314
+ * chart says it has no readings only once this is true. (property only) (readonly)
51414
52315
  * - `sourceRows`: Every row of the table, with each cell's text and number.
51415
52316
  *
51416
52317
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -51457,6 +52358,13 @@ export type CustomElements = {
51457
52358
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
51458
52359
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
51459
52360
  *
52361
+ * ## Slots
52362
+ *
52363
+ * Areas where markup can be added to the component.
52364
+ *
52365
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
52366
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
52367
+ *
51460
52368
  * ## Methods
51461
52369
  *
51462
52370
  * Methods that can be called to access component functionality.
@@ -51506,8 +52414,10 @@ export type CustomElements = {
51506
52414
  *
51507
52415
  * Custom selectors for styling elements within the component.
51508
52416
  *
52417
+ * - `empty`: The words in place of the drawing 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.
51509
52418
  * - `gridline`: One line across the plot, drawn when `gridlines` is set.
51510
52419
  * - `live`: The readout: a polite live region that says the row the keys moved to. Hide it visually.
52420
+ * - `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`.
51511
52421
  * - `mark`: The invisible point the tooltip is anchored to.
51512
52422
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
51513
52423
  * - `plot`: The drawing, which takes focus to be read by key.
@@ -53235,15 +54145,21 @@ export type CustomElements = {
53235
54145
  >;
53236
54146
 
53237
54147
  /**
53238
- * Screen readers announce the stats as a group. The figures are read together
53239
- * and their order has no meaning, so the group does not announce positions such
53240
- * as "1 of 4".
54148
+ * **A named group is a group**, so a screen reader announces the stats
54149
+ * together under its name, such as "Usage, group". Name it with `label`,
54150
+ * `aria-label` or `aria-labelledby`. An unnamed one has no role, since a group
54151
+ * with no name only adds "group" to what a reader says, as an unnamed Card
54152
+ * has none. The figures are read together and their order has no meaning, so
54153
+ * the group does not announce positions such as "1 of 4".
53241
54154
  *
53242
54155
  * ## Attributes & Properties
53243
54156
  *
53244
54157
  * Component attributes and properties that can be applied to the element or by using JavaScript.
53245
54158
  *
53246
- * - `label`: Accessible name for the group.
54159
+ * - `label`: Accessible name for the group, which makes it a group.
54160
+ *
54161
+ * Absent leaves the stats with no group around them, unless `aria-label` or
54162
+ * `aria-labelledby` names it.
53247
54163
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
53248
54164
  *
53249
54165
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -53271,6 +54187,14 @@ export type CustomElements = {
53271
54187
  *
53272
54188
  * - `(default)`: The stats.
53273
54189
  *
54190
+ * ## Methods
54191
+ *
54192
+ * Methods that can be called to access component functionality.
54193
+ *
54194
+ * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A name written
54195
+ * or taken off asks for an update, because it decides whether the stats are
54196
+ * a group.
54197
+ *
53274
54198
  * ## CSS States
53275
54199
  *
53276
54200
  * These can be used to apply styling when a component is in a given state.
@@ -53297,6 +54221,19 @@ export type CustomElements = {
53297
54221
  * attribute; a stat with no label has no role. Put a `Trend` in the `trend`
53298
54222
  * slot to have it read inside the group, after the figure it qualifies.
53299
54223
  *
54224
+ * **Or give the figure as a number.** `value` is written with
54225
+ * `Intl.NumberFormat`, in `locale` and with `format-options`, so
54226
+ * `value="1234567" format-options='{"notation":"compact"}'` shows `1.2M`, and
54227
+ * a server writes it as the browser does. A number in `value` takes the place
54228
+ * of a slotted figure.
54229
+ *
54230
+ * **Each slot is a part of the same name**, and `value` for the figure, so a
54231
+ * page reaches the label, the unit and the trend from outside. A slot draws no
54232
+ * box, so a part passes inherited properties to what is slotted. **The stat
54233
+ * says which pieces it holds**, as `:state(has-label)`, `:state(has-unit)` and
54234
+ * `:state(has-trend)`, read in the browser, so a served stat carries none
54235
+ * until the script runs.
54236
+ *
53300
54237
  * ## Attributes & Properties
53301
54238
  *
53302
54239
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -53326,6 +54263,20 @@ export type CustomElements = {
53326
54263
  * reports a hydration mismatch. The absent attribute is the column, which the
53327
54264
  * stylesheet reads as the base case, and the server spec asserts the host
53328
54265
  * carries nothing nobody wrote.
54266
+ * - `format-options`/`formatOptions`: `Intl.NumberFormat` options `value` is written with, such as
54267
+ * `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
54268
+ * written as JSON in the attribute.
54269
+ *
54270
+ * Absent writes the number as the locale writes any number.
54271
+ * - `locale`: The locale `value` is written in, such as `de` for `1.234.567`.
54272
+ *
54273
+ * Absent reads the nearest `lang`, then the runtime's own. Set it on a page
54274
+ * rendered on a server, so the server and the browser write the figure
54275
+ * alike.
54276
+ * - `value`: The figure as a number, written with `format-options` in `locale` in
54277
+ * place of a slotted value.
54278
+ *
54279
+ * Absent leaves the figure to the slot.
53329
54280
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
53330
54281
  *
53331
54282
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -53360,12 +54311,18 @@ export type CustomElements = {
53360
54311
  *
53361
54312
  * Custom selectors for styling elements within the component.
53362
54313
  *
53363
- * - `value`: The slot the value is written in. A slot draws no box, so it takes the inherited properties, such as color and font, and passes them to the value.
54314
+ * - `label`: The slot the label arrives through, drawing no box, as `value` does.
54315
+ * - `trend`: The slot the trend arrives through, drawing no box, as `value` does.
54316
+ * - `unit`: The slot the unit arrives through, drawing no box, as `value` does.
54317
+ * - `value`: The slot the value is written in, or the figure `value` writes. A slot draws no box, so it takes the inherited properties, such as color and font, and passes them to the value.
53364
54318
  *
53365
54319
  * ## CSS States
53366
54320
  *
53367
54321
  * These can be used to apply styling when a component is in a given state.
53368
54322
  *
54323
+ * - `has-label`: Something is slotted into `label`.
54324
+ * - `has-trend`: Something is slotted into `trend`.
54325
+ * - `has-unit`: Something is slotted into `unit`.
53369
54326
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
53370
54327
  */
53371
54328
  "helix-headless-stat": Partial<
@@ -59872,6 +60829,16 @@ export type CustomElementsSolidJs = {
59872
60829
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
59873
60830
  * pressed with Enter or Space, for a page that opens what a reading stands for.
59874
60831
  *
60832
+ * **`data` takes the readings as data** where the page has no table to point
60833
+ * `for` at, in a table's shape: the column headings, then one row per reading
60834
+ * with its label first. A table is still the better source where the page can
60835
+ * show one, since it reads before any script runs.
60836
+ *
60837
+ * **A chart with nothing to draw says so.** A table with no readings shows
60838
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
60839
+ * there until readings arrive. The `empty` and `loading` slots take markup in
60840
+ * their place, such as a link to add the first reading.
60841
+ *
59875
60842
  * ## Attributes & Properties
59876
60843
  *
59877
60844
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -59918,6 +60885,16 @@ export type CustomElementsSolidJs = {
59918
60885
  *
59919
60886
  * Absent draws none: bands read as a composition need no numbers beside
59920
60887
  * them, and the tooltip and the table hold every reading.
60888
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
60889
+ * and the fallback of the `empty` slot.
60890
+ * - `loading`: Whether the readings are still on their way. The chart shows
60891
+ * `loading-text` in place of an empty drawing until it has readings.
60892
+ *
60893
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
60894
+ * that already has readings keeps drawing them, so a refresh does not
60895
+ * blank it.
60896
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
60897
+ * there are no readings yet, and the fallback of the `loading` slot.
59921
60898
  * - `for`: The id of the table to read.
59922
60899
  *
59923
60900
  * Names a table in the same tree, so a chart inside another component's
@@ -59948,6 +60925,28 @@ export type CustomElementsSolidJs = {
59948
60925
  * cannot be cast onto across unrelated classes, so it would be invisible to
59949
60926
  * every chart that needs it. Reading where a pointer is resting is a fair
59950
60927
  * thing to ask a chart anyway. (property only) (readonly)
60928
+ * - `data`: The readings as data, in the shape of a table, where the page has no
60929
+ * table to point `for` at. `for` wins where both are set.
60930
+ *
60931
+ * ```js
60932
+ * chart.data = {
60933
+ * caption: 'Sessions by channel',
60934
+ * columns: ['Month', 'Direct', 'Referral'],
60935
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
60936
+ * }
60937
+ * ```
60938
+ *
60939
+ * The first column holds each row's label and every column after it a
60940
+ * series, as in a table. A cell is a number, words, `null` for a blank,
60941
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
60942
+ * number is shown in `locale`.
60943
+ *
60944
+ * **A table is still the better source where the page can show one**:
60945
+ * it reads with no script and before hydration, and a reader can sort and
60946
+ * copy it. Data is drawn on the client only, so a server serves the
60947
+ * frame, and the summary, the keys and the readout are then the whole of
60948
+ * what a screen reader is given. Set a new object to redraw: the chart
60949
+ * does not look inside the one it has. (property only)
59951
60950
  * - `series`: The table's columns, one series each. Empty when there is no table.
59952
60951
  *
59953
60952
  * Held by the controller between edits, so a render reading this five
@@ -59964,6 +60963,9 @@ export type CustomElementsSolidJs = {
59964
60963
  * names an element, and the chart is a generic around its plot: written
59965
60964
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
59966
60965
  * strip always did. (property only) (readonly)
60966
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
60967
+ * while hydrating, where no table is resolved and no data is read. A
60968
+ * chart says it has no readings only once this is true. (property only) (readonly)
59967
60969
  * - `sourceRows`: Every row of the table, with each cell's text and number.
59968
60970
  *
59969
60971
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -60010,6 +61012,13 @@ export type CustomElementsSolidJs = {
60010
61012
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
60011
61013
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
60012
61014
  *
61015
+ * ## Slots
61016
+ *
61017
+ * Areas where markup can be added to the component.
61018
+ *
61019
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
61020
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
61021
+ *
60013
61022
  * ## Methods
60014
61023
  *
60015
61024
  * Methods that can be called to access component functionality.
@@ -60059,12 +61068,14 @@ export type CustomElementsSolidJs = {
60059
61068
  * - `area`: One part's band.
60060
61069
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
60061
61070
  * - `baseline`: The rule at zero, which is the floor of the drawing.
61071
+ * - `empty`: The words in place of the drawing 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.
60062
61072
  * - `gridline`: One rule across the plot, under `gridlines`.
60063
61073
  * - `guide`: A rule down the reading a pointer is resting on.
60064
61074
  * - `label`: One reading's name.
60065
61075
  * - `labels`: The row of reading names.
60066
61076
  * - `line`: The top edge of one part's band.
60067
61077
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
61078
+ * - `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`.
60068
61079
  * - `mark`: The invisible point the tooltip is anchored to.
60069
61080
  * - `plot`: The drawing, which takes focus to be read by key.
60070
61081
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
@@ -60344,6 +61355,12 @@ export type CustomElementsSolidJs = {
60344
61355
  * button "Inbox 8 unread", and stays current as the count changes. The styled
60345
61356
  * tier's `placement="inline"` draws the mark in the line for that case.
60346
61357
  *
61358
+ * **An icon goes inside the mark** through the `icon` slot, before the count,
61359
+ * as Web Awesome's badge takes one at its start. With no `value` the icon is
61360
+ * the whole mark, such as a check on an avatar, drawn where the dot would be.
61361
+ * The icon is hidden from screen readers: the count and `label` are what the
61362
+ * mark says.
61363
+ *
60347
61364
  * ## Attributes & Properties
60348
61365
  *
60349
61366
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -60407,12 +61424,14 @@ export type CustomElementsSolidJs = {
60407
61424
  * Areas where markup can be added to the component.
60408
61425
  *
60409
61426
  * - `(default)`: The element being decorated.
61427
+ * - `icon`: An icon inside the mark, before the count, or the whole mark when there is no value. Hidden from screen readers.
60410
61428
  *
60411
61429
  * ## CSS Parts
60412
61430
  *
60413
61431
  * Custom selectors for styling elements within the component.
60414
61432
  *
60415
- * - `indicator`: The count, or the dot when there is no value.
61433
+ * - `icon`: The slot the icon arrives through, inside the indicator. A slot draws no box, so it passes inherited properties, such as color, to the icon.
61434
+ * - `indicator`: The count, or the dot when there is no value. Carries `data-dot` when there is no value, `data-single` when the count is one character, and `data-blank` when the value is zero.
60416
61435
  *
60417
61436
  * ## CSS States
60418
61437
  *
@@ -60420,7 +61439,8 @@ export type CustomElementsSolidJs = {
60420
61439
  *
60421
61440
  * - `blank`: The value is zero, so there is no mark.
60422
61441
  * - `capped`: The count is past `max`, so the mark shows `{max}+`.
60423
- * - `dot`: There is no value, so the mark is a dot.
61442
+ * - `dot`: There is no value and no icon, so the mark is a dot.
61443
+ * - `has-icon`: Something is slotted into `icon`, so it is drawn inside the mark.
60424
61444
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
60425
61445
  */
60426
61446
  "helix-headless-badge": Partial<
@@ -60460,6 +61480,16 @@ export type CustomElementsSolidJs = {
60460
61480
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
60461
61481
  * pressed with Enter or Space, for a page that opens what a reading stands for.
60462
61482
  *
61483
+ * **`data` takes the readings as data** where the page has no table to point
61484
+ * `for` at, in a table's shape: the column headings, then one row per reading
61485
+ * with its label first. A table is still the better source where the page can
61486
+ * show one, since it reads before any script runs.
61487
+ *
61488
+ * **A chart with nothing to draw says so.** A table with no readings shows
61489
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
61490
+ * there until readings arrive. The `empty` and `loading` slots take markup in
61491
+ * their place, such as a link to add the first reading.
61492
+ *
60463
61493
  * ## Attributes & Properties
60464
61494
  *
60465
61495
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -60565,6 +61595,16 @@ export type CustomElementsSolidJs = {
60565
61595
  *
60566
61596
  * Absent draws none with one scale, since bars compared with each other need
60567
61597
  * no numbers. With `secondary` both scales are drawn whatever this says.
61598
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
61599
+ * and the fallback of the `empty` slot.
61600
+ * - `loading`: Whether the readings are still on their way. The chart shows
61601
+ * `loading-text` in place of an empty drawing until it has readings.
61602
+ *
61603
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
61604
+ * that already has readings keeps drawing them, so a refresh does not
61605
+ * blank it.
61606
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
61607
+ * there are no readings yet, and the fallback of the `loading` slot.
60568
61608
  * - `for`: The id of the table to read.
60569
61609
  *
60570
61610
  * Names a table in the same tree, so a chart inside another component's
@@ -60595,6 +61635,28 @@ export type CustomElementsSolidJs = {
60595
61635
  * cannot be cast onto across unrelated classes, so it would be invisible to
60596
61636
  * every chart that needs it. Reading where a pointer is resting is a fair
60597
61637
  * thing to ask a chart anyway. (property only) (readonly)
61638
+ * - `data`: The readings as data, in the shape of a table, where the page has no
61639
+ * table to point `for` at. `for` wins where both are set.
61640
+ *
61641
+ * ```js
61642
+ * chart.data = {
61643
+ * caption: 'Sessions by channel',
61644
+ * columns: ['Month', 'Direct', 'Referral'],
61645
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
61646
+ * }
61647
+ * ```
61648
+ *
61649
+ * The first column holds each row's label and every column after it a
61650
+ * series, as in a table. A cell is a number, words, `null` for a blank,
61651
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
61652
+ * number is shown in `locale`.
61653
+ *
61654
+ * **A table is still the better source where the page can show one**:
61655
+ * it reads with no script and before hydration, and a reader can sort and
61656
+ * copy it. Data is drawn on the client only, so a server serves the
61657
+ * frame, and the summary, the keys and the readout are then the whole of
61658
+ * what a screen reader is given. Set a new object to redraw: the chart
61659
+ * does not look inside the one it has. (property only)
60598
61660
  * - `series`: The table's columns, one series each. Empty when there is no table.
60599
61661
  *
60600
61662
  * Held by the controller between edits, so a render reading this five
@@ -60611,6 +61673,9 @@ export type CustomElementsSolidJs = {
60611
61673
  * names an element, and the chart is a generic around its plot: written
60612
61674
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
60613
61675
  * strip always did. (property only) (readonly)
61676
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
61677
+ * while hydrating, where no table is resolved and no data is read. A
61678
+ * chart says it has no readings only once this is true. (property only) (readonly)
60614
61679
  * - `sourceRows`: Every row of the table, with each cell's text and number.
60615
61680
  *
60616
61681
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -60657,6 +61722,13 @@ export type CustomElementsSolidJs = {
60657
61722
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
60658
61723
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
60659
61724
  *
61725
+ * ## Slots
61726
+ *
61727
+ * Areas where markup can be added to the component.
61728
+ *
61729
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
61730
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
61731
+ *
60660
61732
  * ## Methods
60661
61733
  *
60662
61734
  * Methods that can be called to access component functionality.
@@ -60711,6 +61783,7 @@ export type CustomElementsSolidJs = {
60711
61783
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
60712
61784
  * - `bar-wash-start`: The stop of a bar's gradient at its base.
60713
61785
  * - `baseline`: The line the columns stand on.
61786
+ * - `empty`: The words in place of the drawing 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.
60714
61787
  * - `gridline`: One gridline across the plot, drawn when `gridlines` is set.
60715
61788
  * - `group`: One category's columns, together.
60716
61789
  * - `group-active`: The group the tooltip describes. Set together with `group`.
@@ -60718,6 +61791,7 @@ export type CustomElementsSolidJs = {
60718
61791
  * - `labels`: The row of category names.
60719
61792
  * - `line`: A series drawn as a line, named in `lines`.
60720
61793
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
61794
+ * - `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`.
60721
61795
  * - `mark`: The invisible point the tooltip is anchored to.
60722
61796
  * - `plot`: The drawing, which takes focus to be read by key.
60723
61797
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
@@ -62277,13 +63351,17 @@ export type CustomElementsSolidJs = {
62277
63351
  * through with `::part`.
62278
63352
  *
62279
63353
  * Name the card with `label`, as a Stat Group is named, or with `aria-label`
62280
- * or `aria-labelledby`. These are the only names that work with server
62281
- * rendering, because reading a title from the light DOM needs a DOM, and the
62282
- * server has none. `label` is set through `ElementInternals`, so it writes no
62283
- * attribute onto the card. **A named card is a group**, so a
63354
+ * or `aria-labelledby`. `label` is set through `ElementInternals`, so it
63355
+ * writes no attribute onto the card. **A named card is a group**, so a
62284
63356
  * reader entering it hears its name; an unnamed one has no role, since a group
62285
63357
  * with no name only adds "group" to what a reader says.
62286
63358
  *
63359
+ * **With none of those, a heading in `header` names the card**, such as the
63360
+ * `<h2>` of its title, by reference, so the name follows the heading's words.
63361
+ * Reading a heading needs a DOM, so a served card is named by it once the
63362
+ * script runs; `label`, `aria-label` and `aria-labelledby` are the names a
63363
+ * server writes.
63364
+ *
62287
63365
  * Each region's slot is a part of the same name, `body` for the main content,
62288
63366
  * as Web Awesome's card names its regions. A slot draws no box, so a part
62289
63367
  * passes inherited properties to what is slotted, and a page wanting a box
@@ -62293,7 +63371,9 @@ export type CustomElementsSolidJs = {
62293
63371
  * header's and the footer's line, as Web Awesome's card does. While one holds
62294
63372
  * something, its line is a `header-row` or `footer-row` part; otherwise there
62295
63373
  * is no wrapper and every region is a bare slot. A server cannot see slotted
62296
- * content, so served actions sit on their own line until the script runs.
63374
+ * content, so a served card has no row; the styled tier sets served actions at
63375
+ * the end of their line from the stylesheet alone, so they do not move when
63376
+ * the script runs.
62297
63377
  *
62298
63378
  * **The card says which regions it holds**, as `:state(has-media)`,
62299
63379
  * `:state(has-header)` and `:state(has-footer)`, so a sheet can draw a card
@@ -62321,8 +63401,6 @@ export type CustomElementsSolidJs = {
62321
63401
  *
62322
63402
  * Reflected and undefaulted, so a card that has not asked reads as a card
62323
63403
  * with no attribute on it and the stylesheet only describes the departure.
62324
- * - `aria-labelledby`/`undefined`: undefined
62325
- * - `aria-label`/`undefined`: undefined
62326
63404
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
62327
63405
  *
62328
63406
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -62355,6 +63433,14 @@ export type CustomElementsSolidJs = {
62355
63433
  * - `header-actions`: Controls for the whole card at the end of the header's line, such as a menu.
62356
63434
  * - `media`: Image, video, or chart that runs edge to edge, outside the inset.
62357
63435
  *
63436
+ * ## Methods
63437
+ *
63438
+ * Methods that can be called to access component functionality.
63439
+ *
63440
+ * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A name written
63441
+ * or taken off asks for an update, because it decides whether the card is a
63442
+ * group and whether its heading names it.
63443
+ *
62358
63444
  * ## CSS Parts
62359
63445
  *
62360
63446
  * Custom selectors for styling elements within the component.
@@ -63718,6 +64804,18 @@ export type CustomElementsSolidJs = {
63718
64804
  * and its copy button copies the new version of the file. `variant="split"`
63719
64805
  * shows the old version beside the new, each removal opposite its replacement.
63720
64806
  *
64807
+ * **A block that scrolls is a tab stop.** While its lines run past its width or
64808
+ * its cap, the scroller is a region named for the block, such as "Code,
64809
+ * app.ts", that Tab reaches, so a keyboard scrolls it with the arrow keys in
64810
+ * every browser. Chromium and Firefox make a scrolling box focusable on their
64811
+ * own, and Safari does not. A block that fits is no stop at all.
64812
+ *
64813
+ * **The code the block draws is marked untranslated**, `translate="no"` on
64814
+ * its `<pre>`, so a page translator leaves highlighted lines and a diff as
64815
+ * written. Code in the slot takes its translation mode from the element, which
64816
+ * writes nothing onto itself, so set `translate="no"` on the element to keep a
64817
+ * translator off plain code too.
64818
+ *
63721
64819
  * On the server, the slot renders as ordinary code, so a diff first appears as
63722
64820
  * the patch text in a `<pre>`. The client makes the same first render, which
63723
64821
  * keeps hydration clean, and draws the diff once it can read the content. Diff
@@ -63727,6 +64825,12 @@ export type CustomElementsSolidJs = {
63727
64825
  *
63728
64826
  * Component attributes and properties that can be applied to the element or by using JavaScript.
63729
64827
  *
64828
+ * - `code-label`/`codeLabel`: The name of a block that scrolls, which is a tab stop while it does.
64829
+ *
64830
+ * Where the block has a name, the scroller says it too, such as "Code,
64831
+ * app.ts", as `code-name-label` puts it.
64832
+ * - `code-name-label`/`codeNameLabel`: The name of a block that scrolls, where the block has a name. `{code}` is
64833
+ * `code-label` and `{name}` the block's name.
63730
64834
  * - `collapse-label`/`collapseLabel`: The expand button's words while the block shows every line.
63731
64835
  * - `copied-label`/`copiedLabel`: The copy button's name and tooltip text after a copy.
63732
64836
  * - `copy-label`/`copyLabel`: The copy button's name and tooltip text before a copy.
@@ -63895,6 +64999,13 @@ export type CustomElementsSolidJs = {
63895
64999
  * tools and document search. A styled span carries no such meaning, and a
63896
65000
  * screen reader announces nothing about it.
63897
65001
  *
65002
+ * **Set `translate="no"` on the element to keep a page translator off the
65003
+ * code.** A translator that rewrites prose would also rewrite an identifier.
65004
+ * The slotted text takes its translation mode from the element, its parent in
65005
+ * the page, and the element writes nothing onto itself, so the attribute is
65006
+ * yours to set. The `<code>` inside carries `translate="no"` for anything the
65007
+ * element draws itself.
65008
+ *
63898
65009
  * `Code` is inline only and never scrolls. For a block of code with its own
63899
65010
  * box, its own overflow, and copying, use `CodeBlock`, which is a separate
63900
65011
  * family.
@@ -67319,6 +68430,28 @@ export type CustomElementsSolidJs = {
67319
68430
  * cannot be cast onto across unrelated classes, so it would be invisible to
67320
68431
  * every chart that needs it. Reading where a pointer is resting is a fair
67321
68432
  * thing to ask a chart anyway. (property only) (readonly)
68433
+ * - `data`: The readings as data, in the shape of a table, where the page has no
68434
+ * table to point `for` at. `for` wins where both are set.
68435
+ *
68436
+ * ```js
68437
+ * chart.data = {
68438
+ * caption: 'Sessions by channel',
68439
+ * columns: ['Month', 'Direct', 'Referral'],
68440
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
68441
+ * }
68442
+ * ```
68443
+ *
68444
+ * The first column holds each row's label and every column after it a
68445
+ * series, as in a table. A cell is a number, words, `null` for a blank,
68446
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
68447
+ * number is shown in `locale`.
68448
+ *
68449
+ * **A table is still the better source where the page can show one**:
68450
+ * it reads with no script and before hydration, and a reader can sort and
68451
+ * copy it. Data is drawn on the client only, so a server serves the
68452
+ * frame, and the summary, the keys and the readout are then the whole of
68453
+ * what a screen reader is given. Set a new object to redraw: the chart
68454
+ * does not look inside the one it has. (property only)
67322
68455
  * - `series`: The table's columns, one series each. Empty when there is no table.
67323
68456
  *
67324
68457
  * Held by the controller between edits, so a render reading this five
@@ -67335,6 +68468,9 @@ export type CustomElementsSolidJs = {
67335
68468
  * names an element, and the chart is a generic around its plot: written
67336
68469
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
67337
68470
  * strip always did. (property only) (readonly)
68471
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
68472
+ * while hydrating, where no table is resolved and no data is read. A
68473
+ * chart says it has no readings only once this is true. (property only) (readonly)
67338
68474
  * - `sourceRows`: Every row of the table, with each cell's text and number.
67339
68475
  *
67340
68476
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -67965,7 +69101,16 @@ export type CustomElementsSolidJs = {
67965
69101
  *
67966
69102
  * Every region is a bare slot. There is no `empty-state-heading` or
67967
69103
  * `empty-state-actions` element: assign your own heading and actions to the
67968
- * slots.
69104
+ * slots. The icon, the message and the actions slots are parts of the same
69105
+ * names, as Card's regions are. A slot draws no box, so a part passes
69106
+ * inherited properties, such as color and font, to what is slotted, and a
69107
+ * page wanting a box there gives it one with `display`, such as a row of
69108
+ * actions with `display: flex`.
69109
+ *
69110
+ * **The view says which regions it holds**, as `:state(has-icon)` and
69111
+ * `:state(has-actions)`, so a sheet can space a view with no icon or no
69112
+ * actions differently. Read in the browser, so a served view carries neither
69113
+ * until the script runs.
67969
69114
  *
67970
69115
  * **Or give the heading as words.** `heading` draws them in a `heading` part
67971
69116
  * that is a heading at `heading-level`, 3 where it is not set, so a page
@@ -68030,13 +69175,18 @@ export type CustomElementsSolidJs = {
68030
69175
  *
68031
69176
  * Custom selectors for styling elements within the component.
68032
69177
  *
69178
+ * - `actions`: The slot the actions arrive through. A slot draws no box, so it passes inherited properties to the actions; `display: flex` lays them out in a row.
68033
69179
  * - `heading`: The heading at `heading-level`: the one `heading` draws while nothing is slotted into `heading`, or the one around a slotted element that is no heading.
69180
+ * - `icon`: The slot the icon arrives through, drawing no box, as `actions` does.
68034
69181
  * - `live`: A copy of the heading and the message, in a live region that screen readers announce when the view appears. Visually hidden in the styled tier.
69182
+ * - `message`: The slot the message arrives through, drawing no box, as `actions` does.
68035
69183
  *
68036
69184
  * ## CSS States
68037
69185
  *
68038
69186
  * These can be used to apply styling when a component is in a given state.
68039
69187
  *
69188
+ * - `has-actions`: Something is slotted into `actions`.
69189
+ * - `has-icon`: Something is slotted into `icon`.
68040
69190
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
68041
69191
  */
68042
69192
  "helix-headless-empty": Partial<
@@ -69881,6 +71031,28 @@ export type CustomElementsSolidJs = {
69881
71031
  * cannot be cast onto across unrelated classes, so it would be invisible to
69882
71032
  * every chart that needs it. Reading where a pointer is resting is a fair
69883
71033
  * thing to ask a chart anyway. (property only) (readonly)
71034
+ * - `data`: The readings as data, in the shape of a table, where the page has no
71035
+ * table to point `for` at. `for` wins where both are set.
71036
+ *
71037
+ * ```js
71038
+ * chart.data = {
71039
+ * caption: 'Sessions by channel',
71040
+ * columns: ['Month', 'Direct', 'Referral'],
71041
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
71042
+ * }
71043
+ * ```
71044
+ *
71045
+ * The first column holds each row's label and every column after it a
71046
+ * series, as in a table. A cell is a number, words, `null` for a blank,
71047
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
71048
+ * number is shown in `locale`.
71049
+ *
71050
+ * **A table is still the better source where the page can show one**:
71051
+ * it reads with no script and before hydration, and a reader can sort and
71052
+ * copy it. Data is drawn on the client only, so a server serves the
71053
+ * frame, and the summary, the keys and the readout are then the whole of
71054
+ * what a screen reader is given. Set a new object to redraw: the chart
71055
+ * does not look inside the one it has. (property only)
69884
71056
  * - `series`: The table's columns, one series each. Empty when there is no table.
69885
71057
  *
69886
71058
  * Held by the controller between edits, so a render reading this five
@@ -69897,6 +71069,9 @@ export type CustomElementsSolidJs = {
69897
71069
  * names an element, and the chart is a generic around its plot: written
69898
71070
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
69899
71071
  * strip always did. (property only) (readonly)
71072
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
71073
+ * while hydrating, where no table is resolved and no data is read. A
71074
+ * chart says it has no readings only once this is true. (property only) (readonly)
69900
71075
  * - `sourceRows`: Every row of the table, with each cell's text and number.
69901
71076
  *
69902
71077
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -70351,8 +71526,16 @@ export type CustomElementsSolidJs = {
70351
71526
  * a glyph that came later is drawn. A glyph registered after the element
70352
71527
  * rendered is drawn then.
70353
71528
  *
70354
- * A name with no match renders nothing, and the element fires `error`, so a
70355
- * typo in a name can be heard. It waits until the page has loaded and painted
71529
+ * **Or point `src` at an SVG file**, such as `src="/icons/rocket.svg"`, and
71530
+ * the element fetches it and draws its shapes in `currentColor` where the file
71531
+ * does not color them. A file is fetched once a page, however many icons name
71532
+ * it, and `load` fires when it is drawn. Scripts, event handlers and
71533
+ * `javascript:` links in the file are taken out before it is drawn. A server
71534
+ * fetches nothing, so a served icon with a `src` is drawn once the script
71535
+ * runs.
71536
+ *
71537
+ * A name with no match, or a `src` that is no SVG, renders nothing, and the
71538
+ * element fires `error`, so a typo in a name can be heard. It waits until the page has loaded and painted
70356
71539
  * first, so a library a later module registers is not taken for a typo.
70357
71540
  *
70358
71541
  * An icon is decorative by default and hidden from assistive technology. Set
@@ -70389,6 +71572,10 @@ export type CustomElementsSolidJs = {
70389
71572
  *
70390
71573
  * A name written `prefix:name` asks the library registered under that
70391
71574
  * prefix.
71575
+ * - `src`: The URL of an SVG file to draw, fetched once a page and drawn in
71576
+ * `currentColor` where the file does not color its shapes.
71577
+ *
71578
+ * Wins over `name`; `icon` wins over both. Absent draws `name`.
70392
71579
  * - `icon`: The icon to draw, as an object you import.
70393
71580
  *
70394
71581
  * **The scalable door, and the one this library uses internally.** An icon is
@@ -70426,8 +71613,8 @@ export type CustomElementsSolidJs = {
70426
71613
  *
70427
71614
  * Events that will be emitted by the component.
70428
71615
  *
70429
- * - `error`: `name` matches no registered icon and no library answers it, so nothing is drawn.
70430
- * - `load`: A glyph a library gave later for `name` is drawn.
71616
+ * - `error`: `name` matches no registered icon and no library answers it, or `src` is no SVG, so nothing is drawn.
71617
+ * - `load`: A glyph a library gave later for `name`, or the file at `src`, is drawn.
70431
71618
  *
70432
71619
  * ## Methods
70433
71620
  *
@@ -71558,6 +72745,16 @@ export type CustomElementsSolidJs = {
71558
72745
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
71559
72746
  * pressed with Enter or Space, for a page that opens what a reading stands for.
71560
72747
  *
72748
+ * **`data` takes the readings as data** where the page has no table to point
72749
+ * `for` at, in a table's shape: the column headings, then one row per reading
72750
+ * with its label first. A table is still the better source where the page can
72751
+ * show one, since it reads before any script runs.
72752
+ *
72753
+ * **A chart with nothing to draw says so.** A table with no readings shows
72754
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
72755
+ * there until readings arrive. The `empty` and `loading` slots take markup in
72756
+ * their place, such as a link to add the first reading.
72757
+ *
71561
72758
  * ## Attributes & Properties
71562
72759
  *
71563
72760
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -71668,6 +72865,16 @@ export type CustomElementsSolidJs = {
71668
72865
  * Set it where the distance from nothing is the point rather than the shape,
71669
72866
  * and accept that a series which never approaches zero becomes a flat rule
71670
72867
  * near the top of the box.
72868
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
72869
+ * and the fallback of the `empty` slot.
72870
+ * - `loading`: Whether the readings are still on their way. The chart shows
72871
+ * `loading-text` in place of an empty drawing until it has readings.
72872
+ *
72873
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
72874
+ * that already has readings keeps drawing them, so a refresh does not
72875
+ * blank it.
72876
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
72877
+ * there are no readings yet, and the fallback of the `loading` slot.
71671
72878
  * - `for`: The id of the table to read.
71672
72879
  *
71673
72880
  * Names a table in the same tree, so a chart inside another component's
@@ -71698,6 +72905,28 @@ export type CustomElementsSolidJs = {
71698
72905
  * cannot be cast onto across unrelated classes, so it would be invisible to
71699
72906
  * every chart that needs it. Reading where a pointer is resting is a fair
71700
72907
  * thing to ask a chart anyway. (property only) (readonly)
72908
+ * - `data`: The readings as data, in the shape of a table, where the page has no
72909
+ * table to point `for` at. `for` wins where both are set.
72910
+ *
72911
+ * ```js
72912
+ * chart.data = {
72913
+ * caption: 'Sessions by channel',
72914
+ * columns: ['Month', 'Direct', 'Referral'],
72915
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
72916
+ * }
72917
+ * ```
72918
+ *
72919
+ * The first column holds each row's label and every column after it a
72920
+ * series, as in a table. A cell is a number, words, `null` for a blank,
72921
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
72922
+ * number is shown in `locale`.
72923
+ *
72924
+ * **A table is still the better source where the page can show one**:
72925
+ * it reads with no script and before hydration, and a reader can sort and
72926
+ * copy it. Data is drawn on the client only, so a server serves the
72927
+ * frame, and the summary, the keys and the readout are then the whole of
72928
+ * what a screen reader is given. Set a new object to redraw: the chart
72929
+ * does not look inside the one it has. (property only)
71701
72930
  * - `series`: The table's columns, one series each. Empty when there is no table.
71702
72931
  *
71703
72932
  * Held by the controller between edits, so a render reading this five
@@ -71714,6 +72943,9 @@ export type CustomElementsSolidJs = {
71714
72943
  * names an element, and the chart is a generic around its plot: written
71715
72944
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
71716
72945
  * strip always did. (property only) (readonly)
72946
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
72947
+ * while hydrating, where no table is resolved and no data is read. A
72948
+ * chart says it has no readings only once this is true. (property only) (readonly)
71717
72949
  * - `sourceRows`: Every row of the table, with each cell's text and number.
71718
72950
  *
71719
72951
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -71760,6 +72992,13 @@ export type CustomElementsSolidJs = {
71760
72992
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
71761
72993
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
71762
72994
  *
72995
+ * ## Slots
72996
+ *
72997
+ * Areas where markup can be added to the component.
72998
+ *
72999
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
73000
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
73001
+ *
71763
73002
  * ## Methods
71764
73003
  *
71765
73004
  * Methods that can be called to access component functionality.
@@ -71812,6 +73051,7 @@ export type CustomElementsSolidJs = {
71812
73051
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
71813
73052
  * - `band`: The band around the reading under the pointer.
71814
73053
  * - `baseline`: The rule at zero, where zero is inside the range.
73054
+ * - `empty`: The words in place of the drawing 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.
71815
73055
  * - `gridline`: One rule across the plot, under `gridlines`.
71816
73056
  * - `guide`: A rule down the reading a pointer is resting on.
71817
73057
  * - `label`: One reading's name.
@@ -71819,6 +73059,7 @@ export type CustomElementsSolidJs = {
71819
73059
  * - `line`: The line for one series.
71820
73060
  * - `line-dashed`: A `line` whose series `dashed` names. Set alongside `line`.
71821
73061
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
73062
+ * - `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`.
71822
73063
  * - `mark`: The invisible point the tooltip is anchored to.
71823
73064
  * - `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`.
71824
73065
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
@@ -72614,6 +73855,11 @@ export type CustomElementsSolidJs = {
72614
73855
  * Draws two concentric circles: a track and a moving arc. The track shows the
72615
73856
  * arc as a proportion of a whole, and costs one element.
72616
73857
  *
73858
+ * **For work whose length is known, use `Progress` with `shape="ring"`.** It
73859
+ * draws the same ring filled to the value, says the value as a progress bar
73860
+ * does, and says when the work is complete. A loader claims no proportion, so
73861
+ * it takes no value.
73862
+ *
72617
73863
  * **The center is a slot, empty by default.** Put your logo there once, where
72618
73864
  * your app wraps the loader. When nothing is slotted, nothing extra is
72619
73865
  * rendered.
@@ -77182,6 +78428,15 @@ export type CustomElementsSolidJs = {
77182
78428
  *
77183
78429
  * The fill is a fraction of the track, written as a custom property.
77184
78430
  *
78431
+ * **The reading is said in the words the bar would show**: a whole percentage
78432
+ * of the range in `locale`, the reading `format-options` writes, or
78433
+ * `value-text`, as `aria-valuetext` beside the number.
78434
+ *
78435
+ * **Words set in the default slot are drawn on the bar**, or in the middle of a
78436
+ * ring, such as `62%` or `3 of 8`, and are what the bar says as its reading
78437
+ * where `value-text` is not set. While there are any, the bar carries
78438
+ * `:state(content)`, so a sheet can make room for them.
78439
+ *
77185
78440
  * **Reaching `max` is said and sent.** When the value arrives at `max` from
77186
78441
  * below, the bar says `complete-label`, "Complete" by default, in a polite
77187
78442
  * `live` region and sends `helix-complete`, so a reader hears that the work is
@@ -77208,7 +78463,8 @@ export type CustomElementsSolidJs = {
77208
78463
  *
77209
78464
  * A `percent` style writes the share of the range, and any other the value
77210
78465
  * itself, so the example says "18 GB". Absent is a whole percentage. The
77211
- * words are announced as well as shown. `value-text` still wins.
78466
+ * words are announced whether or not `show-value` shows them. `value-text`
78467
+ * still wins.
77212
78468
  * - `indeterminate`: Whether the length of the task is unknown. The bar then shows activity
77213
78469
  * without a value.
77214
78470
  *
@@ -77297,6 +78553,7 @@ export type CustomElementsSolidJs = {
77297
78553
  *
77298
78554
  * Areas where markup can be added to the component.
77299
78555
  *
78556
+ * - `(default)`: Words drawn on the bar, or in the middle of a ring, such as the reading. Said as the reading where `value-text` is not set.
77300
78557
  * - `label`: A visible label. Its words name the progress bar in place of `label`.
77301
78558
  *
77302
78559
  * ## CSS Custom Properties
@@ -77309,6 +78566,7 @@ export type CustomElementsSolidJs = {
77309
78566
  *
77310
78567
  * Custom selectors for styling elements within the component.
77311
78568
  *
78569
+ * - `content`: The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.
77312
78570
  * - `groove`: The unfilled circle under the ring's filled arc.
77313
78571
  * - `indicator`: The filled part that shows the work done.
77314
78572
  * - `live`: A polite region that says `complete-label` when the work is done, rendered from that moment. Hide it visually.
@@ -77320,6 +78578,7 @@ export type CustomElementsSolidJs = {
77320
78578
  * These can be used to apply styling when a component is in a given state.
77321
78579
  *
77322
78580
  * - `complete`: The value is at `max` and the bar is not indeterminate.
78581
+ * - `content`: Words are set in the default slot.
77323
78582
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
77324
78583
  */
77325
78584
  "helix-headless-progress": Partial<
@@ -77488,6 +78747,12 @@ export type CustomElementsSolidJs = {
77488
78747
  * element, and its marks follow it: `lang="de"` sets „…“ and `lang="fr"` «…»
77489
78748
  * inside an English page.
77490
78749
  *
78750
+ * **`no-marks` leaves the marks off**, for a quotation set where the page draws
78751
+ * its own, such as a pull quote with a large decorative mark beside it or a
78752
+ * table of sayings. The quotation still counts toward nesting, so a quote
78753
+ * inside it takes the inner marks it would have had. Text with marks typed
78754
+ * into it raises no warning under `no-marks`.
78755
+ *
77491
78756
  * For a passage set off from the surrounding text, use a blockquote.
77492
78757
  *
77493
78758
  * ## Attributes & Properties
@@ -77495,6 +78760,12 @@ export type CustomElementsSolidJs = {
77495
78760
  * Component attributes and properties that can be applied to the element or by using JavaScript.
77496
78761
  *
77497
78762
  * - `cite`: URL identifying where the quotation came from.
78763
+ * - `no-marks`/`noMarks`: Whether to leave the quotation marks off, for a quotation set where the
78764
+ * page draws its own.
78765
+ *
78766
+ * Negative, because the marks are on by default and a boolean attribute is
78767
+ * true whenever it is present. Reflected, because a stylesheet takes the
78768
+ * marks off on it.
77498
78769
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
77499
78770
  *
77500
78771
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -78269,6 +79540,16 @@ export type CustomElementsSolidJs = {
78269
79540
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
78270
79541
  * pressed with Enter or Space, for a page that opens what a reading stands for.
78271
79542
  *
79543
+ * **`data` takes the readings as data** where the page has no table to point
79544
+ * `for` at, in a table's shape: the column headings, then one row per reading
79545
+ * with its label first. A table is still the better source where the page can
79546
+ * show one, since it reads before any script runs.
79547
+ *
79548
+ * **A chart with nothing to draw says so.** A table with no readings shows
79549
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
79550
+ * there until readings arrive. The `empty` and `loading` slots take markup in
79551
+ * their place, such as a link to add the first reading.
79552
+ *
78272
79553
  * ## Attributes & Properties
78273
79554
  *
78274
79555
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -78304,6 +79585,16 @@ export type CustomElementsSolidJs = {
78304
79585
  * Absent draws none. A series with fewer than two points, or with every
78305
79586
  * point at one measure across, has no line to draw. The summary already
78306
79587
  * gives each series' correlation, which says how near the points are to it.
79588
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
79589
+ * and the fallback of the `empty` slot.
79590
+ * - `loading`: Whether the readings are still on their way. The chart shows
79591
+ * `loading-text` in place of an empty drawing until it has readings.
79592
+ *
79593
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
79594
+ * that already has readings keeps drawing them, so a refresh does not
79595
+ * blank it.
79596
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
79597
+ * there are no readings yet, and the fallback of the `loading` slot.
78307
79598
  * - `for`: The id of the table to read.
78308
79599
  *
78309
79600
  * Names a table in the same tree, so a chart inside another component's
@@ -78334,6 +79625,28 @@ export type CustomElementsSolidJs = {
78334
79625
  * cannot be cast onto across unrelated classes, so it would be invisible to
78335
79626
  * every chart that needs it. Reading where a pointer is resting is a fair
78336
79627
  * thing to ask a chart anyway. (property only) (readonly)
79628
+ * - `data`: The readings as data, in the shape of a table, where the page has no
79629
+ * table to point `for` at. `for` wins where both are set.
79630
+ *
79631
+ * ```js
79632
+ * chart.data = {
79633
+ * caption: 'Sessions by channel',
79634
+ * columns: ['Month', 'Direct', 'Referral'],
79635
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
79636
+ * }
79637
+ * ```
79638
+ *
79639
+ * The first column holds each row's label and every column after it a
79640
+ * series, as in a table. A cell is a number, words, `null` for a blank,
79641
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
79642
+ * number is shown in `locale`.
79643
+ *
79644
+ * **A table is still the better source where the page can show one**:
79645
+ * it reads with no script and before hydration, and a reader can sort and
79646
+ * copy it. Data is drawn on the client only, so a server serves the
79647
+ * frame, and the summary, the keys and the readout are then the whole of
79648
+ * what a screen reader is given. Set a new object to redraw: the chart
79649
+ * does not look inside the one it has. (property only)
78337
79650
  * - `series`: The table's columns, one series each. Empty when there is no table.
78338
79651
  *
78339
79652
  * Held by the controller between edits, so a render reading this five
@@ -78350,6 +79663,9 @@ export type CustomElementsSolidJs = {
78350
79663
  * names an element, and the chart is a generic around its plot: written
78351
79664
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
78352
79665
  * strip always did. (property only) (readonly)
79666
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
79667
+ * while hydrating, where no table is resolved and no data is read. A
79668
+ * chart says it has no readings only once this is true. (property only) (readonly)
78353
79669
  * - `sourceRows`: Every row of the table, with each cell's text and number.
78354
79670
  *
78355
79671
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -78396,6 +79712,13 @@ export type CustomElementsSolidJs = {
78396
79712
  * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
78397
79713
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
78398
79714
  *
79715
+ * ## Slots
79716
+ *
79717
+ * Areas where markup can be added to the component.
79718
+ *
79719
+ * - `empty`: Content shown in place of the drawing when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
79720
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
79721
+ *
78399
79722
  * ## Methods
78400
79723
  *
78401
79724
  * Methods that can be called to access component functionality.
@@ -78445,8 +79768,10 @@ export type CustomElementsSolidJs = {
78445
79768
  *
78446
79769
  * Custom selectors for styling elements within the component.
78447
79770
  *
79771
+ * - `empty`: The words in place of the drawing 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.
78448
79772
  * - `gridline`: One line across the plot, drawn when `gridlines` is set.
78449
79773
  * - `live`: The readout: a polite live region that says the row the keys moved to. Hide it visually.
79774
+ * - `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`.
78450
79775
  * - `mark`: The invisible point the tooltip is anchored to.
78451
79776
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
78452
79777
  * - `plot`: The drawing, which takes focus to be read by key.
@@ -80199,15 +81524,21 @@ export type CustomElementsSolidJs = {
80199
81524
  >;
80200
81525
 
80201
81526
  /**
80202
- * Screen readers announce the stats as a group. The figures are read together
80203
- * and their order has no meaning, so the group does not announce positions such
80204
- * as "1 of 4".
81527
+ * **A named group is a group**, so a screen reader announces the stats
81528
+ * together under its name, such as "Usage, group". Name it with `label`,
81529
+ * `aria-label` or `aria-labelledby`. An unnamed one has no role, since a group
81530
+ * with no name only adds "group" to what a reader says, as an unnamed Card
81531
+ * has none. The figures are read together and their order has no meaning, so
81532
+ * the group does not announce positions such as "1 of 4".
80205
81533
  *
80206
81534
  * ## Attributes & Properties
80207
81535
  *
80208
81536
  * Component attributes and properties that can be applied to the element or by using JavaScript.
80209
81537
  *
80210
- * - `label`: Accessible name for the group.
81538
+ * - `label`: Accessible name for the group, which makes it a group.
81539
+ *
81540
+ * Absent leaves the stats with no group around them, unless `aria-label` or
81541
+ * `aria-labelledby` names it.
80211
81542
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
80212
81543
  *
80213
81544
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -80235,6 +81566,14 @@ export type CustomElementsSolidJs = {
80235
81566
  *
80236
81567
  * - `(default)`: The stats.
80237
81568
  *
81569
+ * ## Methods
81570
+ *
81571
+ * Methods that can be called to access component functionality.
81572
+ *
81573
+ * - `attributeChangedCallback(name: string, old: string | null, value: string | null) => void`: Called by the browser when an observed attribute changes. A name written
81574
+ * or taken off asks for an update, because it decides whether the stats are
81575
+ * a group.
81576
+ *
80238
81577
  * ## CSS States
80239
81578
  *
80240
81579
  * These can be used to apply styling when a component is in a given state.
@@ -80264,6 +81603,19 @@ export type CustomElementsSolidJs = {
80264
81603
  * attribute; a stat with no label has no role. Put a `Trend` in the `trend`
80265
81604
  * slot to have it read inside the group, after the figure it qualifies.
80266
81605
  *
81606
+ * **Or give the figure as a number.** `value` is written with
81607
+ * `Intl.NumberFormat`, in `locale` and with `format-options`, so
81608
+ * `value="1234567" format-options='{"notation":"compact"}'` shows `1.2M`, and
81609
+ * a server writes it as the browser does. A number in `value` takes the place
81610
+ * of a slotted figure.
81611
+ *
81612
+ * **Each slot is a part of the same name**, and `value` for the figure, so a
81613
+ * page reaches the label, the unit and the trend from outside. A slot draws no
81614
+ * box, so a part passes inherited properties to what is slotted. **The stat
81615
+ * says which pieces it holds**, as `:state(has-label)`, `:state(has-unit)` and
81616
+ * `:state(has-trend)`, read in the browser, so a served stat carries none
81617
+ * until the script runs.
81618
+ *
80267
81619
  * ## Attributes & Properties
80268
81620
  *
80269
81621
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -80293,6 +81645,20 @@ export type CustomElementsSolidJs = {
80293
81645
  * reports a hydration mismatch. The absent attribute is the column, which the
80294
81646
  * stylesheet reads as the base case, and the server spec asserts the host
80295
81647
  * carries nothing nobody wrote.
81648
+ * - `format-options`/`formatOptions`: `Intl.NumberFormat` options `value` is written with, such as
81649
+ * `{"notation":"compact"}` for `1.2M` or `{"style":"percent"}` for `98%`,
81650
+ * written as JSON in the attribute.
81651
+ *
81652
+ * Absent writes the number as the locale writes any number.
81653
+ * - `locale`: The locale `value` is written in, such as `de` for `1.234.567`.
81654
+ *
81655
+ * Absent reads the nearest `lang`, then the runtime's own. Set it on a page
81656
+ * rendered on a server, so the server and the browser write the figure
81657
+ * alike.
81658
+ * - `value`: The figure as a number, written with `format-options` in `locale` in
81659
+ * place of a slotted value.
81660
+ *
81661
+ * Absent leaves the figure to the slot.
80296
81662
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
80297
81663
  *
80298
81664
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -80327,12 +81693,18 @@ export type CustomElementsSolidJs = {
80327
81693
  *
80328
81694
  * Custom selectors for styling elements within the component.
80329
81695
  *
80330
- * - `value`: The slot the value is written in. A slot draws no box, so it takes the inherited properties, such as color and font, and passes them to the value.
81696
+ * - `label`: The slot the label arrives through, drawing no box, as `value` does.
81697
+ * - `trend`: The slot the trend arrives through, drawing no box, as `value` does.
81698
+ * - `unit`: The slot the unit arrives through, drawing no box, as `value` does.
81699
+ * - `value`: The slot the value is written in, or the figure `value` writes. A slot draws no box, so it takes the inherited properties, such as color and font, and passes them to the value.
80331
81700
  *
80332
81701
  * ## CSS States
80333
81702
  *
80334
81703
  * These can be used to apply styling when a component is in a given state.
80335
81704
  *
81705
+ * - `has-label`: Something is slotted into `label`.
81706
+ * - `has-trend`: Something is slotted into `trend`.
81707
+ * - `has-unit`: Something is slotted into `unit`.
80336
81708
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
80337
81709
  */
80338
81710
  "helix-headless-stat": Partial<