@fusion.dev/helix-headless 0.151.0 → 0.153.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/custom-elements.json +1332 -37
  2. package/dist/app-header/root/app-header-root.d.ts +75 -0
  3. package/dist/app-header/root/app-header-root.js +140 -5
  4. package/dist/area-chart/root/area-chart-root.d.ts +16 -1
  5. package/dist/area-chart/root/area-chart-root.js +3 -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/breadcrumbs/breadcrumb/breadcrumb.d.ts +11 -2
  9. package/dist/breadcrumbs/breadcrumb/breadcrumb.js +11 -2
  10. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +14 -2
  11. package/dist/breadcrumbs/root/breadcrumbs-root.js +16 -3
  12. package/dist/dialog/description.d.ts +10 -0
  13. package/dist/dialog/description.js +22 -8
  14. package/dist/dialog/root/dialog-root.d.ts +17 -1
  15. package/dist/dialog/root/dialog-root.js +2 -2
  16. package/dist/drawer/root/drawer-root.d.ts +38 -2
  17. package/dist/drawer/root/drawer-root.js +33 -6
  18. package/dist/heatmap/root/heatmap-root.d.ts +3 -0
  19. package/dist/heatmap/root/heatmap-root.js +2 -8
  20. package/dist/lightbox/root/lightbox-root.d.ts +44 -6
  21. package/dist/lightbox/root/lightbox-root.js +59 -11
  22. package/dist/lightbox/zoom-controller.d.ts +5 -0
  23. package/dist/lightbox/zoom-controller.js +8 -0
  24. package/dist/line-chart/root/line-chart-root.d.ts +16 -1
  25. package/dist/line-chart/root/line-chart-root.js +3 -3
  26. package/dist/loader/root/loader-root.d.ts +5 -0
  27. package/dist/menu/root/menu-root.js +2 -0
  28. package/dist/navigation/root/navigation-root.d.ts +11 -1
  29. package/dist/navigation/root/navigation-root.js +10 -5
  30. package/dist/notifications/root/notifications-root.d.ts +17 -0
  31. package/dist/notifications/root/notifications-root.js +21 -1
  32. package/dist/popover/root/popover-root.d.ts +18 -7
  33. package/dist/popover/root/popover-root.js +8 -1
  34. package/dist/progress/root/progress-root.d.ts +16 -1
  35. package/dist/progress/root/progress-root.js +12 -4
  36. package/dist/scatter-chart/root/scatter-chart-root.d.ts +16 -1
  37. package/dist/scatter-chart/root/scatter-chart-root.js +3 -3
  38. package/dist/splitter/root/splitter-root.d.ts +41 -0
  39. package/dist/splitter/root/splitter-root.js +77 -0
  40. package/dist/tabs/root/tabs-root.d.ts +25 -0
  41. package/dist/tabs/root/tabs-root.js +28 -1
  42. package/dist/tour/naming.d.ts +9 -3
  43. package/dist/tour/naming.js +9 -3
  44. package/dist/tour/root/tour-root.d.ts +29 -5
  45. package/dist/tour/root/tour-root.js +13 -1
  46. package/dist/tour/stop/tour-stop.d.ts +2 -1
  47. package/dist/tour/stop/tour-stop.js +4 -1
  48. package/dist/tree/root/tree-root.d.ts +13 -0
  49. package/dist/tree/root/tree-root.js +42 -2
  50. package/lint.json +1 -1
  51. package/package.json +5 -5
  52. package/types/jsx.d.ts +1456 -36
  53. package/types/vue.d.ts +277 -24
  54. package/types/words.d.ts +64 -0
package/types/jsx.d.ts CHANGED
@@ -969,6 +969,22 @@ the wordmark and the actions happen to measure.
969
969
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
970
970
  the property carries the part's name, `content`. */
971
971
  contentAlign?: (HelixHeadlessAppHeader["contentAlign"]) | undefined;
972
+ /** The width of the bar, in pixels, below which the middle region folds behind
973
+ a toggle. Unset, it never folds. */
974
+ "fold-below"?: (HelixHeadlessAppHeader["foldBelow"] | `${number}`) | undefined;
975
+ /** The width of the bar, in pixels, below which the middle region folds behind
976
+ a toggle. Unset, it never folds. */
977
+ foldBelow?: (HelixHeadlessAppHeader["foldBelow"]) | undefined;
978
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
979
+ page scrolls up. */
980
+ "hide-on-scroll"?: (HelixHeadlessAppHeader["hideOnScroll"]) | undefined;
981
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
982
+ page scrolls up. */
983
+ hideOnScroll?: (HelixHeadlessAppHeader["hideOnScroll"]) | undefined;
984
+ /** The name of the toggle that opens a folded middle region. */
985
+ "menu-label"?: (HelixHeadlessAppHeader["menuLabel"]) | undefined;
986
+ /** The name of the toggle that opens a folded middle region. */
987
+ menuLabel?: (HelixHeadlessAppHeader["menuLabel"]) | undefined;
972
988
  /** The id of the element whose scrolling lifts the bar, for an app shell that
973
989
  scrolls a container instead of the window. Unset is the window. */
974
990
  scroller?: (HelixHeadlessAppHeader["scroller"]) | undefined;
@@ -1008,6 +1024,22 @@ the wordmark and the actions happen to measure.
1008
1024
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
1009
1025
  the property carries the part's name, `content`. */
1010
1026
  "prop:contentAlign"?: (HelixHeadlessAppHeader["contentAlign"]) | undefined;
1027
+ /** The width of the bar, in pixels, below which the middle region folds behind
1028
+ a toggle. Unset, it never folds. */
1029
+ "attr:fold-below"?: (HelixHeadlessAppHeader["foldBelow"] | `${number}`) | undefined;
1030
+ /** The width of the bar, in pixels, below which the middle region folds behind
1031
+ a toggle. Unset, it never folds. */
1032
+ "prop:foldBelow"?: (HelixHeadlessAppHeader["foldBelow"]) | undefined;
1033
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1034
+ page scrolls up. */
1035
+ "bool:hide-on-scroll"?: (HelixHeadlessAppHeader["hideOnScroll"]) | undefined;
1036
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1037
+ page scrolls up. */
1038
+ "prop:hideOnScroll"?: (HelixHeadlessAppHeader["hideOnScroll"]) | undefined;
1039
+ /** The name of the toggle that opens a folded middle region. */
1040
+ "attr:menu-label"?: (HelixHeadlessAppHeader["menuLabel"]) | undefined;
1041
+ /** The name of the toggle that opens a folded middle region. */
1042
+ "prop:menuLabel"?: (HelixHeadlessAppHeader["menuLabel"]) | undefined;
1011
1043
  /** The id of the element whose scrolling lifts the bar, for an app shell that
1012
1044
  scrolls a container instead of the window. Unset is the window. */
1013
1045
  "prop:scroller"?: (HelixHeadlessAppHeader["scroller"]) | undefined;
@@ -1096,6 +1128,25 @@ them, and the tooltip and the table hold every reading. */
1096
1128
  Absent draws none: bands read as a composition need no numbers beside
1097
1129
  them, and the tooltip and the table hold every reading. */
1098
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;
1099
1150
  /** The id of the table to read.
1100
1151
 
1101
1152
  Names a table in the same tree, so a chart inside another component's
@@ -1132,6 +1183,29 @@ Set it to the words of the page's language, such as `{position} von
1132
1183
  {count}`, or to nothing to say no position. A slice or a series a
1133
1184
  legend hid is not counted. */
1134
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;
1135
1209
 
1136
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. */
1137
1211
  "onhelix-reading-change"?: ((
@@ -1205,6 +1279,25 @@ them, and the tooltip and the table hold every reading. */
1205
1279
  Absent draws none: bands read as a composition need no numbers beside
1206
1280
  them, and the tooltip and the table hold every reading. */
1207
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;
1208
1301
  /** The id of the table to read.
1209
1302
 
1210
1303
  Names a table in the same tree, so a chart inside another component's
@@ -1241,6 +1334,29 @@ Set it to the words of the page's language, such as `{position} von
1241
1334
  {count}`, or to nothing to say no position. A slice or a series a
1242
1335
  legend hid is not counted. */
1243
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;
1244
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. */
1245
1361
  "on:helix-reading-change"?: ((
1246
1362
  e: HelixHeadlessAreaChartHelixReadingChangeElementEvent,
@@ -1702,6 +1818,25 @@ bottom of bars under `orientation="horizontal"`.
1702
1818
  Absent draws none with one scale, since bars compared with each other need
1703
1819
  no numbers. With `secondary` both scales are drawn whatever this says. */
1704
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;
1705
1840
  /** The id of the table to read.
1706
1841
 
1707
1842
  Names a table in the same tree, so a chart inside another component's
@@ -1738,6 +1873,29 @@ Set it to the words of the page's language, such as `{position} von
1738
1873
  {count}`, or to nothing to say no position. A slice or a series a
1739
1874
  legend hid is not counted. */
1740
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;
1741
1899
 
1742
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. */
1743
1901
  "onhelix-reading-change"?: ((
@@ -1873,6 +2031,25 @@ bottom of bars under `orientation="horizontal"`.
1873
2031
  Absent draws none with one scale, since bars compared with each other need
1874
2032
  no numbers. With `secondary` both scales are drawn whatever this says. */
1875
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;
1876
2053
  /** The id of the table to read.
1877
2054
 
1878
2055
  Names a table in the same tree, so a chart inside another component's
@@ -1909,6 +2086,29 @@ Set it to the words of the page's language, such as `{position} von
1909
2086
  {count}`, or to nothing to say no position. A slice or a series a
1910
2087
  legend hid is not counted. */
1911
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;
1912
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. */
1913
2113
  "on:helix-reading-change"?: ((
1914
2114
  e: HelixHeadlessBarChartHelixReadingChangeElementEvent,
@@ -10754,8 +10954,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10754
10954
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10755
10955
  the property this component exists to keep.
10756
10956
 
10957
+ The press on the backdrop that this element handles itself follows it too:
10958
+ `closerequest` and `none` leave the dialog open on that press, as the
10959
+ platform does, and `none` also keeps it open on Escape in a browser without
10960
+ `closedby`.
10961
+
10757
10962
  Absent by default, which is the platform's `auto` and this library's rule
10758
- that a resting value is an attribute's absence. */
10963
+ that a resting value is an attribute's absence. Absent, a press on the
10964
+ backdrop closes the dialog. */
10759
10965
  closedby?: (HelixHeadlessDialog["closedBy"]) | undefined;
10760
10966
  /** Which close requests the browser handles on its own.
10761
10967
 
@@ -10765,8 +10971,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10765
10971
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10766
10972
  the property this component exists to keep.
10767
10973
 
10974
+ The press on the backdrop that this element handles itself follows it too:
10975
+ `closerequest` and `none` leave the dialog open on that press, as the
10976
+ platform does, and `none` also keeps it open on Escape in a browser without
10977
+ `closedby`.
10978
+
10768
10979
  Absent by default, which is the platform's `auto` and this library's rule
10769
- that a resting value is an attribute's absence. */
10980
+ that a resting value is an attribute's absence. Absent, a press on the
10981
+ backdrop closes the dialog. */
10770
10982
  closedBy?: (HelixHeadlessDialog["closedBy"]) | undefined;
10771
10983
  /** Draws a control that closes the dialog, in the corner where the title is.
10772
10984
 
@@ -10860,8 +11072,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10860
11072
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10861
11073
  the property this component exists to keep.
10862
11074
 
11075
+ The press on the backdrop that this element handles itself follows it too:
11076
+ `closerequest` and `none` leave the dialog open on that press, as the
11077
+ platform does, and `none` also keeps it open on Escape in a browser without
11078
+ `closedby`.
11079
+
10863
11080
  Absent by default, which is the platform's `auto` and this library's rule
10864
- that a resting value is an attribute's absence. */
11081
+ that a resting value is an attribute's absence. Absent, a press on the
11082
+ backdrop closes the dialog. */
10865
11083
  "attr:closedby"?: (HelixHeadlessDialog["closedBy"]) | undefined;
10866
11084
  /** Which close requests the browser handles on its own.
10867
11085
 
@@ -10871,8 +11089,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10871
11089
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10872
11090
  the property this component exists to keep.
10873
11091
 
11092
+ The press on the backdrop that this element handles itself follows it too:
11093
+ `closerequest` and `none` leave the dialog open on that press, as the
11094
+ platform does, and `none` also keeps it open on Escape in a browser without
11095
+ `closedby`.
11096
+
10874
11097
  Absent by default, which is the platform's `auto` and this library's rule
10875
- that a resting value is an attribute's absence. */
11098
+ that a resting value is an attribute's absence. Absent, a press on the
11099
+ backdrop closes the dialog. */
10876
11100
  "prop:closedBy"?: (HelixHeadlessDialog["closedBy"]) | undefined;
10877
11101
  /** Draws a control that closes the dialog, in the corner where the title is.
10878
11102
 
@@ -11091,6 +11315,29 @@ Set it to the words of the page's language, such as `{position} von
11091
11315
  {count}`, or to nothing to say no position. A slice or a series a
11092
11316
  legend hid is not counted. */
11093
11317
  positionLabel?: (HelixHeadlessDonutChart["positionLabel"]) | undefined;
11318
+ /** The readings as data, in the shape of a table, where the page has no
11319
+ table to point `for` at. `for` wins where both are set.
11320
+
11321
+ ```js
11322
+ chart.data = {
11323
+ caption: 'Sessions by channel',
11324
+ columns: ['Month', 'Direct', 'Referral'],
11325
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
11326
+ }
11327
+ ```
11328
+
11329
+ The first column holds each row's label and every column after it a
11330
+ series, as in a table. A cell is a number, words, `null` for a blank,
11331
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
11332
+ number is shown in `locale`.
11333
+
11334
+ **A table is still the better source where the page can show one**:
11335
+ it reads with no script and before hydration, and a reader can sort and
11336
+ copy it. Data is drawn on the client only, so a server serves the
11337
+ frame, and the summary, the keys and the readout are then the whole of
11338
+ what a screen reader is given. Set a new object to redraw: the chart
11339
+ does not look inside the one it has. */
11340
+ data?: (HelixHeadlessDonutChart["data"]) | undefined;
11094
11341
  };
11095
11342
 
11096
11343
  export type HelixHeadlessDonutChartSolidJsProps = {
@@ -11194,6 +11441,29 @@ Set it to the words of the page's language, such as `{position} von
11194
11441
  {count}`, or to nothing to say no position. A slice or a series a
11195
11442
  legend hid is not counted. */
11196
11443
  "prop:positionLabel"?: (HelixHeadlessDonutChart["positionLabel"]) | undefined;
11444
+ /** The readings as data, in the shape of a table, where the page has no
11445
+ table to point `for` at. `for` wins where both are set.
11446
+
11447
+ ```js
11448
+ chart.data = {
11449
+ caption: 'Sessions by channel',
11450
+ columns: ['Month', 'Direct', 'Referral'],
11451
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
11452
+ }
11453
+ ```
11454
+
11455
+ The first column holds each row's label and every column after it a
11456
+ series, as in a table. A cell is a number, words, `null` for a blank,
11457
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
11458
+ number is shown in `locale`.
11459
+
11460
+ **A table is still the better source where the page can show one**:
11461
+ it reads with no script and before hydration, and a reader can sort and
11462
+ copy it. Data is drawn on the client only, so a server serves the
11463
+ frame, and the summary, the keys and the readout are then the whole of
11464
+ what a screen reader is given. Set a new object to redraw: the chart
11465
+ does not look inside the one it has. */
11466
+ "prop:data"?: (HelixHeadlessDonutChart["data"]) | undefined;
11197
11467
 
11198
11468
  /** Set the innerHTML of the element */
11199
11469
  innerHTML?: (string) | undefined;
@@ -11271,6 +11541,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
11271
11541
  attribute on the host, and nothing selects on it: the scrim is rendered or
11272
11542
  not, rather than shown or hidden by CSS. */
11273
11543
  modal?: (HelixHeadlessDrawer["modal"]) | undefined;
11544
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
11545
+ drawer that has to be answered.
11546
+
11547
+ The close control and `close()` still close it, as on `Dialog`: a panel
11548
+ with no way out at all is a trap. */
11549
+ persistent?: (HelixHeadlessDrawer["persistent"]) | undefined;
11274
11550
  /** Which edge the drawer comes from.
11275
11551
 
11276
11552
  Unset is `end`, and it stays unset rather than being written down: a
@@ -11398,6 +11674,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
11398
11674
  attribute on the host, and nothing selects on it: the scrim is rendered or
11399
11675
  not, rather than shown or hidden by CSS. */
11400
11676
  "prop:modal"?: (HelixHeadlessDrawer["modal"]) | undefined;
11677
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
11678
+ drawer that has to be answered.
11679
+
11680
+ The close control and `close()` still close it, as on `Dialog`: a panel
11681
+ with no way out at all is a trap. */
11682
+ "prop:persistent"?: (HelixHeadlessDrawer["persistent"]) | undefined;
11401
11683
  /** Which edge the drawer comes from.
11402
11684
 
11403
11685
  Unset is `end`, and it stays unset rather than being written down: a
@@ -13820,6 +14102,29 @@ Set it to the words of the page's language, such as `{position} von
13820
14102
  {count}`, or to nothing to say no position. A slice or a series a
13821
14103
  legend hid is not counted. */
13822
14104
  positionLabel?: (HelixHeadlessHeatmap["positionLabel"]) | undefined;
14105
+ /** The readings as data, in the shape of a table, where the page has no
14106
+ table to point `for` at. `for` wins where both are set.
14107
+
14108
+ ```js
14109
+ chart.data = {
14110
+ caption: 'Sessions by channel',
14111
+ columns: ['Month', 'Direct', 'Referral'],
14112
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
14113
+ }
14114
+ ```
14115
+
14116
+ The first column holds each row's label and every column after it a
14117
+ series, as in a table. A cell is a number, words, `null` for a blank,
14118
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
14119
+ number is shown in `locale`.
14120
+
14121
+ **A table is still the better source where the page can show one**:
14122
+ it reads with no script and before hydration, and a reader can sort and
14123
+ copy it. Data is drawn on the client only, so a server serves the
14124
+ frame, and the summary, the keys and the readout are then the whole of
14125
+ what a screen reader is given. Set a new object to redraw: the chart
14126
+ does not look inside the one it has. */
14127
+ data?: (HelixHeadlessHeatmap["data"]) | undefined;
13823
14128
 
13824
14129
  /** Fired once a press or a key has changed which cells are selected. */
13825
14130
  onchange?: ((e: HelixHeadlessHeatmapElementEvent) => void) | undefined;
@@ -14003,6 +14308,29 @@ Set it to the words of the page's language, such as `{position} von
14003
14308
  {count}`, or to nothing to say no position. A slice or a series a
14004
14309
  legend hid is not counted. */
14005
14310
  "prop:positionLabel"?: (HelixHeadlessHeatmap["positionLabel"]) | undefined;
14311
+ /** The readings as data, in the shape of a table, where the page has no
14312
+ table to point `for` at. `for` wins where both are set.
14313
+
14314
+ ```js
14315
+ chart.data = {
14316
+ caption: 'Sessions by channel',
14317
+ columns: ['Month', 'Direct', 'Referral'],
14318
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
14319
+ }
14320
+ ```
14321
+
14322
+ The first column holds each row's label and every column after it a
14323
+ series, as in a table. A cell is a number, words, `null` for a blank,
14324
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
14325
+ number is shown in `locale`.
14326
+
14327
+ **A table is still the better source where the page can show one**:
14328
+ it reads with no script and before hydration, and a reader can sort and
14329
+ copy it. Data is drawn on the client only, so a server serves the
14330
+ frame, and the summary, the keys and the readout are then the whole of
14331
+ what a screen reader is given. Set a new object to redraw: the chart
14332
+ does not look inside the one it has. */
14333
+ "prop:data"?: (HelixHeadlessHeatmap["data"]) | undefined;
14006
14334
  /** Fired once a press or a key has changed which cells are selected. */
14007
14335
  "on:change"?: ((e: HelixHeadlessHeatmapElementEvent) => void) | undefined;
14008
14336
  /** Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable. */
@@ -15963,6 +16291,25 @@ Set it where the distance from nothing is the point rather than the shape,
15963
16291
  and accept that a series which never approaches zero becomes a flat rule
15964
16292
  near the top of the box. */
15965
16293
  zero?: (HelixHeadlessLineChart["zero"]) | undefined;
16294
+ /** The words shown in place of the drawing when the table has no readings,
16295
+ and the fallback of the `empty` slot. */
16296
+ "empty-text"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16297
+ /** The words shown in place of the drawing when the table has no readings,
16298
+ and the fallback of the `empty` slot. */
16299
+ emptyText?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16300
+ /** Whether the readings are still on their way. The chart shows
16301
+ `loading-text` in place of an empty drawing until it has readings.
16302
+
16303
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
16304
+ that already has readings keeps drawing them, so a refresh does not
16305
+ blank it. */
16306
+ loading?: (HelixHeadlessLineChart["loading"]) | undefined;
16307
+ /** The words shown in place of the drawing while `loading` is set and
16308
+ there are no readings yet, and the fallback of the `loading` slot. */
16309
+ "loading-text"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16310
+ /** The words shown in place of the drawing while `loading` is set and
16311
+ there are no readings yet, and the fallback of the `loading` slot. */
16312
+ loadingText?: (HelixHeadlessLineChart["loadingText"]) | undefined;
15966
16313
  /** The id of the table to read.
15967
16314
 
15968
16315
  Names a table in the same tree, so a chart inside another component's
@@ -15999,6 +16346,29 @@ Set it to the words of the page's language, such as `{position} von
15999
16346
  {count}`, or to nothing to say no position. A slice or a series a
16000
16347
  legend hid is not counted. */
16001
16348
  positionLabel?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16349
+ /** The readings as data, in the shape of a table, where the page has no
16350
+ table to point `for` at. `for` wins where both are set.
16351
+
16352
+ ```js
16353
+ chart.data = {
16354
+ caption: 'Sessions by channel',
16355
+ columns: ['Month', 'Direct', 'Referral'],
16356
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
16357
+ }
16358
+ ```
16359
+
16360
+ The first column holds each row's label and every column after it a
16361
+ series, as in a table. A cell is a number, words, `null` for a blank,
16362
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
16363
+ number is shown in `locale`.
16364
+
16365
+ **A table is still the better source where the page can show one**:
16366
+ it reads with no script and before hydration, and a reader can sort and
16367
+ copy it. Data is drawn on the client only, so a server serves the
16368
+ frame, and the summary, the keys and the readout are then the whole of
16369
+ what a screen reader is given. Set a new object to redraw: the chart
16370
+ does not look inside the one it has. */
16371
+ data?: (HelixHeadlessLineChart["data"]) | undefined;
16002
16372
 
16003
16373
  /** 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. */
16004
16374
  "onhelix-reading-change"?: ((
@@ -16132,6 +16502,25 @@ Set it where the distance from nothing is the point rather than the shape,
16132
16502
  and accept that a series which never approaches zero becomes a flat rule
16133
16503
  near the top of the box. */
16134
16504
  "prop:zero"?: (HelixHeadlessLineChart["zero"]) | undefined;
16505
+ /** The words shown in place of the drawing when the table has no readings,
16506
+ and the fallback of the `empty` slot. */
16507
+ "attr:empty-text"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16508
+ /** The words shown in place of the drawing when the table has no readings,
16509
+ and the fallback of the `empty` slot. */
16510
+ "prop:emptyText"?: (HelixHeadlessLineChart["emptyText"]) | undefined;
16511
+ /** Whether the readings are still on their way. The chart shows
16512
+ `loading-text` in place of an empty drawing until it has readings.
16513
+
16514
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
16515
+ that already has readings keeps drawing them, so a refresh does not
16516
+ blank it. */
16517
+ "prop:loading"?: (HelixHeadlessLineChart["loading"]) | undefined;
16518
+ /** The words shown in place of the drawing while `loading` is set and
16519
+ there are no readings yet, and the fallback of the `loading` slot. */
16520
+ "attr:loading-text"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16521
+ /** The words shown in place of the drawing while `loading` is set and
16522
+ there are no readings yet, and the fallback of the `loading` slot. */
16523
+ "prop:loadingText"?: (HelixHeadlessLineChart["loadingText"]) | undefined;
16135
16524
  /** The id of the table to read.
16136
16525
 
16137
16526
  Names a table in the same tree, so a chart inside another component's
@@ -16168,6 +16557,29 @@ Set it to the words of the page's language, such as `{position} von
16168
16557
  {count}`, or to nothing to say no position. A slice or a series a
16169
16558
  legend hid is not counted. */
16170
16559
  "prop:positionLabel"?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16560
+ /** The readings as data, in the shape of a table, where the page has no
16561
+ table to point `for` at. `for` wins where both are set.
16562
+
16563
+ ```js
16564
+ chart.data = {
16565
+ caption: 'Sessions by channel',
16566
+ columns: ['Month', 'Direct', 'Referral'],
16567
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
16568
+ }
16569
+ ```
16570
+
16571
+ The first column holds each row's label and every column after it a
16572
+ series, as in a table. A cell is a number, words, `null` for a blank,
16573
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
16574
+ number is shown in `locale`.
16575
+
16576
+ **A table is still the better source where the page can show one**:
16577
+ it reads with no script and before hydration, and a reader can sort and
16578
+ copy it. Data is drawn on the client only, so a server serves the
16579
+ frame, and the summary, the keys and the readout are then the whole of
16580
+ what a screen reader is given. Set a new object to redraw: the chart
16581
+ does not look inside the one it has. */
16582
+ "prop:data"?: (HelixHeadlessLineChart["data"]) | undefined;
16171
16583
  /** 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. */
16172
16584
  "on:helix-reading-change"?: ((
16173
16585
  e: HelixHeadlessLineChartHelixReadingChangeElementEvent,
@@ -22284,7 +22696,8 @@ decimals. Written as JSON in the attribute.
22284
22696
 
22285
22697
  A `percent` style writes the share of the range, and any other the value
22286
22698
  itself, so the example says "18 GB". Absent is a whole percentage. The
22287
- words are announced as well as shown. `value-text` still wins. */
22699
+ words are announced whether or not `show-value` shows them. `value-text`
22700
+ still wins. */
22288
22701
  "format-options"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22289
22702
  /** `Intl.NumberFormat` options the reading is written with, as React Aria's
22290
22703
  Meter and ProgressBar take them: a unit, a currency, or a number of
@@ -22296,7 +22709,8 @@ decimals. Written as JSON in the attribute.
22296
22709
 
22297
22710
  A `percent` style writes the share of the range, and any other the value
22298
22711
  itself, so the example says "18 GB". Absent is a whole percentage. The
22299
- words are announced as well as shown. `value-text` still wins. */
22712
+ words are announced whether or not `show-value` shows them. `value-text`
22713
+ still wins. */
22300
22714
  formatOptions?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22301
22715
  /** Whether the length of the task is unknown. The bar then shows activity
22302
22716
  without a value.
@@ -22412,7 +22826,8 @@ decimals. Written as JSON in the attribute.
22412
22826
 
22413
22827
  A `percent` style writes the share of the range, and any other the value
22414
22828
  itself, so the example says "18 GB". Absent is a whole percentage. The
22415
- words are announced as well as shown. `value-text` still wins. */
22829
+ words are announced whether or not `show-value` shows them. `value-text`
22830
+ still wins. */
22416
22831
  "attr:format-options"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22417
22832
  /** `Intl.NumberFormat` options the reading is written with, as React Aria's
22418
22833
  Meter and ProgressBar take them: a unit, a currency, or a number of
@@ -22424,7 +22839,8 @@ decimals. Written as JSON in the attribute.
22424
22839
 
22425
22840
  A `percent` style writes the share of the range, and any other the value
22426
22841
  itself, so the example says "18 GB". Absent is a whole percentage. The
22427
- words are announced as well as shown. `value-text` still wins. */
22842
+ words are announced whether or not `show-value` shows them. `value-text`
22843
+ still wins. */
22428
22844
  "prop:formatOptions"?: (HelixHeadlessProgress["formatOptions"]) | undefined;
22429
22845
  /** Whether the length of the task is unknown. The bar then shows activity
22430
22846
  without a value.
@@ -23508,6 +23924,25 @@ Absent draws none. A series with fewer than two points, or with every
23508
23924
  point at one measure across, has no line to draw. The summary already
23509
23925
  gives each series' correlation, which says how near the points are to it. */
23510
23926
  trend?: (HelixHeadlessScatterChart["trend"]) | undefined;
23927
+ /** The words shown in place of the drawing when the table has no readings,
23928
+ and the fallback of the `empty` slot. */
23929
+ "empty-text"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
23930
+ /** The words shown in place of the drawing when the table has no readings,
23931
+ and the fallback of the `empty` slot. */
23932
+ emptyText?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
23933
+ /** Whether the readings are still on their way. The chart shows
23934
+ `loading-text` in place of an empty drawing until it has readings.
23935
+
23936
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
23937
+ that already has readings keeps drawing them, so a refresh does not
23938
+ blank it. */
23939
+ loading?: (HelixHeadlessScatterChart["loading"]) | undefined;
23940
+ /** The words shown in place of the drawing while `loading` is set and
23941
+ there are no readings yet, and the fallback of the `loading` slot. */
23942
+ "loading-text"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
23943
+ /** The words shown in place of the drawing while `loading` is set and
23944
+ there are no readings yet, and the fallback of the `loading` slot. */
23945
+ loadingText?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
23511
23946
  /** The id of the table to read.
23512
23947
 
23513
23948
  Names a table in the same tree, so a chart inside another component's
@@ -23544,6 +23979,29 @@ Set it to the words of the page's language, such as `{position} von
23544
23979
  {count}`, or to nothing to say no position. A slice or a series a
23545
23980
  legend hid is not counted. */
23546
23981
  positionLabel?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
23982
+ /** The readings as data, in the shape of a table, where the page has no
23983
+ table to point `for` at. `for` wins where both are set.
23984
+
23985
+ ```js
23986
+ chart.data = {
23987
+ caption: 'Sessions by channel',
23988
+ columns: ['Month', 'Direct', 'Referral'],
23989
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
23990
+ }
23991
+ ```
23992
+
23993
+ The first column holds each row's label and every column after it a
23994
+ series, as in a table. A cell is a number, words, `null` for a blank,
23995
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
23996
+ number is shown in `locale`.
23997
+
23998
+ **A table is still the better source where the page can show one**:
23999
+ it reads with no script and before hydration, and a reader can sort and
24000
+ copy it. Data is drawn on the client only, so a server serves the
24001
+ frame, and the summary, the keys and the readout are then the whole of
24002
+ what a screen reader is given. Set a new object to redraw: the chart
24003
+ does not look inside the one it has. */
24004
+ data?: (HelixHeadlessScatterChart["data"]) | undefined;
23547
24005
 
23548
24006
  /** 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. */
23549
24007
  "onhelix-reading-change"?: ((
@@ -23615,6 +24073,25 @@ Absent draws none. A series with fewer than two points, or with every
23615
24073
  point at one measure across, has no line to draw. The summary already
23616
24074
  gives each series' correlation, which says how near the points are to it. */
23617
24075
  "prop:trend"?: (HelixHeadlessScatterChart["trend"]) | undefined;
24076
+ /** The words shown in place of the drawing when the table has no readings,
24077
+ and the fallback of the `empty` slot. */
24078
+ "attr:empty-text"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
24079
+ /** The words shown in place of the drawing when the table has no readings,
24080
+ and the fallback of the `empty` slot. */
24081
+ "prop:emptyText"?: (HelixHeadlessScatterChart["emptyText"]) | undefined;
24082
+ /** Whether the readings are still on their way. The chart shows
24083
+ `loading-text` in place of an empty drawing until it has readings.
24084
+
24085
+ Reflected, so a stylesheet can treat the chart while it waits. A chart
24086
+ that already has readings keeps drawing them, so a refresh does not
24087
+ blank it. */
24088
+ "prop:loading"?: (HelixHeadlessScatterChart["loading"]) | undefined;
24089
+ /** The words shown in place of the drawing while `loading` is set and
24090
+ there are no readings yet, and the fallback of the `loading` slot. */
24091
+ "attr:loading-text"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
24092
+ /** The words shown in place of the drawing while `loading` is set and
24093
+ there are no readings yet, and the fallback of the `loading` slot. */
24094
+ "prop:loadingText"?: (HelixHeadlessScatterChart["loadingText"]) | undefined;
23618
24095
  /** The id of the table to read.
23619
24096
 
23620
24097
  Names a table in the same tree, so a chart inside another component's
@@ -23651,6 +24128,29 @@ Set it to the words of the page's language, such as `{position} von
23651
24128
  {count}`, or to nothing to say no position. A slice or a series a
23652
24129
  legend hid is not counted. */
23653
24130
  "prop:positionLabel"?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
24131
+ /** The readings as data, in the shape of a table, where the page has no
24132
+ table to point `for` at. `for` wins where both are set.
24133
+
24134
+ ```js
24135
+ chart.data = {
24136
+ caption: 'Sessions by channel',
24137
+ columns: ['Month', 'Direct', 'Referral'],
24138
+ rows: [['Jan', 10, 4], ['Feb', 20, 8]],
24139
+ }
24140
+ ```
24141
+
24142
+ The first column holds each row's label and every column after it a
24143
+ series, as in a table. A cell is a number, words, `null` for a blank,
24144
+ or `{ value, text }` for a number shown as words, such as `$128k`. A
24145
+ number is shown in `locale`.
24146
+
24147
+ **A table is still the better source where the page can show one**:
24148
+ it reads with no script and before hydration, and a reader can sort and
24149
+ copy it. Data is drawn on the client only, so a server serves the
24150
+ frame, and the summary, the keys and the readout are then the whole of
24151
+ what a screen reader is given. Set a new object to redraw: the chart
24152
+ does not look inside the one it has. */
24153
+ "prop:data"?: (HelixHeadlessScatterChart["data"]) | undefined;
23654
24154
  /** 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. */
23655
24155
  "on:helix-reading-change"?: ((
23656
24156
  e: HelixHeadlessScatterChartHelixReadingChangeElementEvent,
@@ -25251,6 +25751,9 @@ Reading gives where it is; writing declares it the consumer's, and
25251
25751
  `default-position` seeds one this element owns. The same accessor pair
25252
25752
  `Pagination.page` and the calendar's `month` carry. */
25253
25753
  position?: (HelixHeadlessSplitter["position"]) | undefined;
25754
+ /** The pane that keeps its size when the splitter's own size changes. The
25755
+ other pane takes all of the change. Unset, both keep their share. */
25756
+ primary?: (HelixHeadlessSplitter["primary"]) | undefined;
25254
25757
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
25255
25758
  panel does: a bare number is a percentage and a length such as `240px` is
25256
25759
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -25392,6 +25895,9 @@ Reading gives where it is; writing declares it the consumer's, and
25392
25895
  `default-position` seeds one this element owns. The same accessor pair
25393
25896
  `Pagination.page` and the calendar's `month` carry. */
25394
25897
  "prop:position"?: (HelixHeadlessSplitter["position"]) | undefined;
25898
+ /** The pane that keeps its size when the splitter's own size changes. The
25899
+ other pane takes all of the change. Unset, both keep their share. */
25900
+ "prop:primary"?: (HelixHeadlessSplitter["primary"]) | undefined;
25395
25901
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
25396
25902
  panel does: a bare number is a percentage and a length such as `240px` is
25397
25903
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -32908,6 +33414,20 @@ export type CustomElements = {
32908
33414
  * The page is the window unless `scroller` names the element that scrolls, for
32909
33415
  * an app shell whose content scrolls inside a container.
32910
33416
  *
33417
+ * **Set `hide-on-scroll` for a bar that moves out of the way.** Scrolling down
33418
+ * past the bar's own height hides it, and scrolling up shows it again, as does
33419
+ * focus moving into it. The custom state `hidden` is on the host while it is
33420
+ * hidden, and the styled tier slides a `sticky` bar up out of view.
33421
+ *
33422
+ * **Set `fold-below` to fold the middle region on a narrow screen.** Below that
33423
+ * many pixels of the bar's own width, the middle region is hidden behind a
33424
+ * toggle at the end of the bar, named by `menu-label`. The toggle says whether
33425
+ * the region is open with `aria-expanded`, and the region opens below the row.
33426
+ * Escape closes it and puts focus back on the toggle. The custom state
33427
+ * `folded` is on the host while the bar is that narrow, and `open` while the
33428
+ * folded region is open. A server serves the bar unfolded, and the browser
33429
+ * folds it once it has measured it.
33430
+ *
32911
33431
  * The host is the page's `banner` landmark. Placed inside `main`, `article`,
32912
33432
  * `aside`, `nav` or `section`, it is a plain box instead, as a native
32913
33433
  * `<header>` is there, so a header inside a card or a pane does not add a
@@ -32934,6 +33454,11 @@ export type CustomElements = {
32934
33454
  * **Named for the region and not for what is usually in it.** The middle slot
32935
33455
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
32936
33456
  * the property carries the part's name, `content`.
33457
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
33458
+ * a toggle. Unset, it never folds.
33459
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
33460
+ * page scrolls up.
33461
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
32937
33462
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
32938
33463
  * scrolls a container instead of the window. Unset is the window.
32939
33464
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -32969,6 +33494,7 @@ export type CustomElements = {
32969
33494
  *
32970
33495
  * - `(default)`: The middle region, usually a `Navigation`.
32971
33496
  * - `end`: Trailing content.
33497
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
32972
33498
  * - `start`: Leading content, usually a wordmark.
32973
33499
  *
32974
33500
  * ## CSS Parts
@@ -32979,11 +33505,16 @@ export type CustomElements = {
32979
33505
  * - `end`: The trailing region.
32980
33506
  * - `row`: The centered row inside the banner.
32981
33507
  * - `start`: The leading region.
33508
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
33509
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
32982
33510
  *
32983
33511
  * ## CSS States
32984
33512
  *
32985
33513
  * These can be used to apply styling when a component is in a given state.
32986
33514
  *
33515
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
33516
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
33517
+ * - `open`: While the folded middle region is open.
32987
33518
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
32988
33519
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
32989
33520
  */
@@ -33043,6 +33574,16 @@ export type CustomElements = {
33043
33574
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33044
33575
  * pressed with Enter or Space, for a page that opens what a reading stands for.
33045
33576
  *
33577
+ * **`data` takes the readings as data** where the page has no table to point
33578
+ * `for` at, in a table's shape: the column headings, then one row per reading
33579
+ * with its label first. A table is still the better source where the page can
33580
+ * show one, since it reads before any script runs.
33581
+ *
33582
+ * **A chart with nothing to draw says so.** A table with no readings shows
33583
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
33584
+ * there until readings arrive. The `empty` and `loading` slots take markup in
33585
+ * their place, such as a link to add the first reading.
33586
+ *
33046
33587
  * ## Attributes & Properties
33047
33588
  *
33048
33589
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33089,6 +33630,16 @@ export type CustomElements = {
33089
33630
  *
33090
33631
  * Absent draws none: bands read as a composition need no numbers beside
33091
33632
  * them, and the tooltip and the table hold every reading.
33633
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
33634
+ * and the fallback of the `empty` slot.
33635
+ * - `loading`: Whether the readings are still on their way. The chart shows
33636
+ * `loading-text` in place of an empty drawing until it has readings.
33637
+ *
33638
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
33639
+ * that already has readings keeps drawing them, so a refresh does not
33640
+ * blank it.
33641
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
33642
+ * there are no readings yet, and the fallback of the `loading` slot.
33092
33643
  * - `for`: The id of the table to read.
33093
33644
  *
33094
33645
  * Names a table in the same tree, so a chart inside another component's
@@ -33119,6 +33670,28 @@ export type CustomElements = {
33119
33670
  * cannot be cast onto across unrelated classes, so it would be invisible to
33120
33671
  * every chart that needs it. Reading where a pointer is resting is a fair
33121
33672
  * thing to ask a chart anyway. (property only) (readonly)
33673
+ * - `data`: The readings as data, in the shape of a table, where the page has no
33674
+ * table to point `for` at. `for` wins where both are set.
33675
+ *
33676
+ * ```js
33677
+ * chart.data = {
33678
+ * caption: 'Sessions by channel',
33679
+ * columns: ['Month', 'Direct', 'Referral'],
33680
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
33681
+ * }
33682
+ * ```
33683
+ *
33684
+ * The first column holds each row's label and every column after it a
33685
+ * series, as in a table. A cell is a number, words, `null` for a blank,
33686
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
33687
+ * number is shown in `locale`.
33688
+ *
33689
+ * **A table is still the better source where the page can show one**:
33690
+ * it reads with no script and before hydration, and a reader can sort and
33691
+ * copy it. Data is drawn on the client only, so a server serves the
33692
+ * frame, and the summary, the keys and the readout are then the whole of
33693
+ * what a screen reader is given. Set a new object to redraw: the chart
33694
+ * does not look inside the one it has. (property only)
33122
33695
  * - `series`: The table's columns, one series each. Empty when there is no table.
33123
33696
  *
33124
33697
  * Held by the controller between edits, so a render reading this five
@@ -33135,6 +33708,9 @@ export type CustomElements = {
33135
33708
  * names an element, and the chart is a generic around its plot: written
33136
33709
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
33137
33710
  * strip always did. (property only) (readonly)
33711
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
33712
+ * while hydrating, where no table is resolved and no data is read. A
33713
+ * chart says it has no readings only once this is true. (property only) (readonly)
33138
33714
  * - `sourceRows`: Every row of the table, with each cell's text and number.
33139
33715
  *
33140
33716
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -33181,6 +33757,13 @@ export type CustomElements = {
33181
33757
  * - `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.
33182
33758
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33183
33759
  *
33760
+ * ## Slots
33761
+ *
33762
+ * Areas where markup can be added to the component.
33763
+ *
33764
+ * - `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`.
33765
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
33766
+ *
33184
33767
  * ## Methods
33185
33768
  *
33186
33769
  * Methods that can be called to access component functionality.
@@ -33230,12 +33813,14 @@ export type CustomElements = {
33230
33813
  * - `area`: One part's band.
33231
33814
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
33232
33815
  * - `baseline`: The rule at zero, which is the floor of the drawing.
33816
+ * - `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.
33233
33817
  * - `gridline`: One rule across the plot, under `gridlines`.
33234
33818
  * - `guide`: A rule down the reading a pointer is resting on.
33235
33819
  * - `label`: One reading's name.
33236
33820
  * - `labels`: The row of reading names.
33237
33821
  * - `line`: The top edge of one part's band.
33238
33822
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
33823
+ * - `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`.
33239
33824
  * - `mark`: The invisible point the tooltip is anchored to.
33240
33825
  * - `plot`: The drawing, which takes focus to be read by key.
33241
33826
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
@@ -33621,6 +34206,16 @@ export type CustomElements = {
33621
34206
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33622
34207
  * pressed with Enter or Space, for a page that opens what a reading stands for.
33623
34208
  *
34209
+ * **`data` takes the readings as data** where the page has no table to point
34210
+ * `for` at, in a table's shape: the column headings, then one row per reading
34211
+ * with its label first. A table is still the better source where the page can
34212
+ * show one, since it reads before any script runs.
34213
+ *
34214
+ * **A chart with nothing to draw says so.** A table with no readings shows
34215
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
34216
+ * there until readings arrive. The `empty` and `loading` slots take markup in
34217
+ * their place, such as a link to add the first reading.
34218
+ *
33624
34219
  * ## Attributes & Properties
33625
34220
  *
33626
34221
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33726,6 +34321,16 @@ export type CustomElements = {
33726
34321
  *
33727
34322
  * Absent draws none with one scale, since bars compared with each other need
33728
34323
  * no numbers. With `secondary` both scales are drawn whatever this says.
34324
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
34325
+ * and the fallback of the `empty` slot.
34326
+ * - `loading`: Whether the readings are still on their way. The chart shows
34327
+ * `loading-text` in place of an empty drawing until it has readings.
34328
+ *
34329
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
34330
+ * that already has readings keeps drawing them, so a refresh does not
34331
+ * blank it.
34332
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
34333
+ * there are no readings yet, and the fallback of the `loading` slot.
33729
34334
  * - `for`: The id of the table to read.
33730
34335
  *
33731
34336
  * Names a table in the same tree, so a chart inside another component's
@@ -33756,6 +34361,28 @@ export type CustomElements = {
33756
34361
  * cannot be cast onto across unrelated classes, so it would be invisible to
33757
34362
  * every chart that needs it. Reading where a pointer is resting is a fair
33758
34363
  * thing to ask a chart anyway. (property only) (readonly)
34364
+ * - `data`: The readings as data, in the shape of a table, where the page has no
34365
+ * table to point `for` at. `for` wins where both are set.
34366
+ *
34367
+ * ```js
34368
+ * chart.data = {
34369
+ * caption: 'Sessions by channel',
34370
+ * columns: ['Month', 'Direct', 'Referral'],
34371
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
34372
+ * }
34373
+ * ```
34374
+ *
34375
+ * The first column holds each row's label and every column after it a
34376
+ * series, as in a table. A cell is a number, words, `null` for a blank,
34377
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
34378
+ * number is shown in `locale`.
34379
+ *
34380
+ * **A table is still the better source where the page can show one**:
34381
+ * it reads with no script and before hydration, and a reader can sort and
34382
+ * copy it. Data is drawn on the client only, so a server serves the
34383
+ * frame, and the summary, the keys and the readout are then the whole of
34384
+ * what a screen reader is given. Set a new object to redraw: the chart
34385
+ * does not look inside the one it has. (property only)
33759
34386
  * - `series`: The table's columns, one series each. Empty when there is no table.
33760
34387
  *
33761
34388
  * Held by the controller between edits, so a render reading this five
@@ -33772,6 +34399,9 @@ export type CustomElements = {
33772
34399
  * names an element, and the chart is a generic around its plot: written
33773
34400
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
33774
34401
  * strip always did. (property only) (readonly)
34402
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
34403
+ * while hydrating, where no table is resolved and no data is read. A
34404
+ * chart says it has no readings only once this is true. (property only) (readonly)
33775
34405
  * - `sourceRows`: Every row of the table, with each cell's text and number.
33776
34406
  *
33777
34407
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -33818,6 +34448,13 @@ export type CustomElements = {
33818
34448
  * - `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.
33819
34449
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33820
34450
  *
34451
+ * ## Slots
34452
+ *
34453
+ * Areas where markup can be added to the component.
34454
+ *
34455
+ * - `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`.
34456
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
34457
+ *
33821
34458
  * ## Methods
33822
34459
  *
33823
34460
  * Methods that can be called to access component functionality.
@@ -33872,6 +34509,7 @@ export type CustomElements = {
33872
34509
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
33873
34510
  * - `bar-wash-start`: The stop of a bar's gradient at its base.
33874
34511
  * - `baseline`: The line the columns stand on.
34512
+ * - `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.
33875
34513
  * - `gridline`: One gridline across the plot, drawn when `gridlines` is set.
33876
34514
  * - `group`: One category's columns, together.
33877
34515
  * - `group-active`: The group the tooltip describes. Set together with `group`.
@@ -33879,6 +34517,7 @@ export type CustomElements = {
33879
34517
  * - `labels`: The row of category names.
33880
34518
  * - `line`: A series drawn as a line, named in `lines`.
33881
34519
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
34520
+ * - `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`.
33882
34521
  * - `mark`: The invisible point the tooltip is anchored to.
33883
34522
  * - `plot`: The drawing, which takes focus to be read by key.
33884
34523
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
@@ -34019,7 +34658,10 @@ export type CustomElements = {
34019
34658
  * including your own anchor.
34020
34659
  *
34021
34660
  * The current page is plain text, and `aria-current="page"` on the host conveys
34022
- * the position.
34661
+ * the position. In a trail where no crumb is `current`, the last one is said
34662
+ * to be the current page, and keeps its link. An `aria-current` you write on
34663
+ * the host, such as `aria-current="location"`, replaces the one the crumb
34664
+ * gives itself.
34023
34665
  *
34024
34666
  * ## Attributes & Properties
34025
34667
  *
@@ -34109,7 +34751,8 @@ export type CustomElements = {
34109
34751
  * markers.
34110
34752
  *
34111
34753
  * The items are slotted directly, so they are `<ol>` children in the flat tree,
34112
- * and each item sets `role="listitem"` on itself.
34754
+ * and each item sets `role="listitem"` on itself. Where no slotted crumb is
34755
+ * `current`, the last one is said to be the current page.
34113
34756
  *
34114
34757
  * The trail does not measure itself, and you write its overflow in markup: put
34115
34758
  * the crumb that holds the folded items where the gap should appear.
@@ -34124,6 +34767,11 @@ export type CustomElements = {
34124
34767
  * to the first crumb it brought back. A new `items` folds again. Slotted crumbs
34125
34768
  * do not fold; write the folded crumb where the gap should be.
34126
34769
  *
34770
+ * **Keyboard.** Each crumb with an `href` is a link and one tab stop, and
34771
+ * Enter follows it. The current page and the separators are not in the tab
34772
+ * order. In a folded trail, Enter or Space on the fold's button shows the
34773
+ * whole trail and moves focus to the first crumb it brought back.
34774
+ *
34127
34775
  * ## Attributes & Properties
34128
34776
  *
34129
34777
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -40043,6 +40691,16 @@ export type CustomElements = {
40043
40691
  * announces with its description as it opens. Set `dismissible` to draw a
40044
40692
  * close control, labeled by `dismiss-label`.
40045
40693
  *
40694
+ * **Keyboard.** Opening moves focus to the first control in the dialog.
40695
+ *
40696
+ * | Key | What it does |
40697
+ * |---|---|
40698
+ * | Tab, Shift+Tab | Moves through the controls in the dialog, from the last round to the first and from the first round to the last. |
40699
+ * | Escape | Asks to close the dialog. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
40700
+ * | Enter, Space | On the close control, closes the dialog. |
40701
+ *
40702
+ * Closing puts focus back on the element that had it before the dialog opened.
40703
+ *
40046
40704
  * ## Attributes & Properties
40047
40705
  *
40048
40706
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -40064,8 +40722,14 @@ export type CustomElements = {
40064
40722
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
40065
40723
  * the property this component exists to keep.
40066
40724
  *
40725
+ * The press on the backdrop that this element handles itself follows it too:
40726
+ * `closerequest` and `none` leave the dialog open on that press, as the
40727
+ * platform does, and `none` also keeps it open on Escape in a browser without
40728
+ * `closedby`.
40729
+ *
40067
40730
  * Absent by default, which is the platform's `auto` and this library's rule
40068
- * that a resting value is an attribute's absence.
40731
+ * that a resting value is an attribute's absence. Absent, a press on the
40732
+ * backdrop closes the dialog.
40069
40733
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
40070
40734
  *
40071
40735
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -40392,6 +41056,28 @@ export type CustomElements = {
40392
41056
  * cannot be cast onto across unrelated classes, so it would be invisible to
40393
41057
  * every chart that needs it. Reading where a pointer is resting is a fair
40394
41058
  * thing to ask a chart anyway. (property only) (readonly)
41059
+ * - `data`: The readings as data, in the shape of a table, where the page has no
41060
+ * table to point `for` at. `for` wins where both are set.
41061
+ *
41062
+ * ```js
41063
+ * chart.data = {
41064
+ * caption: 'Sessions by channel',
41065
+ * columns: ['Month', 'Direct', 'Referral'],
41066
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
41067
+ * }
41068
+ * ```
41069
+ *
41070
+ * The first column holds each row's label and every column after it a
41071
+ * series, as in a table. A cell is a number, words, `null` for a blank,
41072
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
41073
+ * number is shown in `locale`.
41074
+ *
41075
+ * **A table is still the better source where the page can show one**:
41076
+ * it reads with no script and before hydration, and a reader can sort and
41077
+ * copy it. Data is drawn on the client only, so a server serves the
41078
+ * frame, and the summary, the keys and the readout are then the whole of
41079
+ * what a screen reader is given. Set a new object to redraw: the chart
41080
+ * does not look inside the one it has. (property only)
40395
41081
  * - `series`: The table's columns, one series each. Empty when there is no table.
40396
41082
  *
40397
41083
  * Held by the controller between edits, so a render reading this five
@@ -40408,6 +41094,9 @@ export type CustomElements = {
40408
41094
  * names an element, and the chart is a generic around its plot: written
40409
41095
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
40410
41096
  * strip always did. (property only) (readonly)
41097
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
41098
+ * while hydrating, where no table is resolved and no data is read. A
41099
+ * chart says it has no readings only once this is true. (property only) (readonly)
40411
41100
  * - `sourceRows`: Every row of the table, with each cell's text and number.
40412
41101
  *
40413
41102
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -40545,6 +41234,11 @@ export type CustomElements = {
40545
41234
  * A drawer with `modal="false"` leaves the page usable and still closes on
40546
41235
  * Escape, in a browser without `closedby` as well.
40547
41236
  *
41237
+ * Set `persistent` for a drawer that has to be answered: Escape, a press
41238
+ * outside, and a swipe leave it open, and the close control and `close()`
41239
+ * still close it. `closedby="none"` keeps it open on all three as well, and
41240
+ * `closedby="closerequest"` keeps it open on a press outside.
41241
+ *
40548
41242
  * **A touch or a pen swipes it away**, toward the edge it came from, resolved
40549
41243
  * against the writing direction. A swipe past halfway, or a quick one, closes
40550
41244
  * it through the same request as every other way out. `snap-points` lists the
@@ -40565,7 +41259,20 @@ export type CustomElements = {
40565
41259
  *
40566
41260
  * The panel's name is `label` when you set it. Otherwise it is the heading in
40567
41261
  * the `header` slot, or the elements an `aria-labelledby` on the host names,
40568
- * and `fallback-label` where nothing names it.
41262
+ * and `fallback-label` where nothing names it. A development build warns
41263
+ * when a drawer opens with nothing but `fallback-label` to name it.
41264
+ *
41265
+ * The panel is described by the words at the start of its body, as `Dialog`
41266
+ * is: the elements in the default slot before the first one that is or holds
41267
+ * a control. An `aria-describedby` on the host replaces it.
41268
+ *
41269
+ * **Keyboard.** Opening moves focus to the first control in the panel.
41270
+ *
41271
+ * | Key | What it does |
41272
+ * |---|---|
41273
+ * | Tab, Shift+Tab | In a modal drawer, moves through the controls in the panel, from the last round to the first and from the first round to the last. In a drawer that is not modal, moves on to the page. |
41274
+ * | Escape | Asks to close the drawer. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
41275
+ * | Enter, Space | On the close control, closes the drawer. |
40569
41276
  *
40570
41277
  * Content stays mounted when the drawer is closed, so it is in the server
40571
41278
  * markup and can animate. A closed `<dialog>` is already out of the tab order
@@ -40616,6 +41323,11 @@ export type CustomElements = {
40616
41323
  * lost its focus trap because a consumer forgot a word would be worse than an
40617
41324
  * attribute on the host, and nothing selects on it: the scrim is rendered or
40618
41325
  * not, rather than shown or hidden by CSS.
41326
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
41327
+ * drawer that has to be answered.
41328
+ *
41329
+ * The close control and `close()` still close it, as on `Dialog`: a panel
41330
+ * with no way out at all is a trap.
40619
41331
  * - `placement`: Which edge the drawer comes from.
40620
41332
  *
40621
41333
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -42908,6 +43620,28 @@ export type CustomElements = {
42908
43620
  * cannot be cast onto across unrelated classes, so it would be invisible to
42909
43621
  * every chart that needs it. Reading where a pointer is resting is a fair
42910
43622
  * thing to ask a chart anyway. (property only) (readonly)
43623
+ * - `data`: The readings as data, in the shape of a table, where the page has no
43624
+ * table to point `for` at. `for` wins where both are set.
43625
+ *
43626
+ * ```js
43627
+ * chart.data = {
43628
+ * caption: 'Sessions by channel',
43629
+ * columns: ['Month', 'Direct', 'Referral'],
43630
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
43631
+ * }
43632
+ * ```
43633
+ *
43634
+ * The first column holds each row's label and every column after it a
43635
+ * series, as in a table. A cell is a number, words, `null` for a blank,
43636
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
43637
+ * number is shown in `locale`.
43638
+ *
43639
+ * **A table is still the better source where the page can show one**:
43640
+ * it reads with no script and before hydration, and a reader can sort and
43641
+ * copy it. Data is drawn on the client only, so a server serves the
43642
+ * frame, and the summary, the keys and the readout are then the whole of
43643
+ * what a screen reader is given. Set a new object to redraw: the chart
43644
+ * does not look inside the one it has. (property only)
42911
43645
  * - `series`: The table's columns, one series each. Empty when there is no table.
42912
43646
  *
42913
43647
  * Held by the controller between edits, so a render reading this five
@@ -42924,6 +43658,9 @@ export type CustomElements = {
42924
43658
  * names an element, and the chart is a generic around its plot: written
42925
43659
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
42926
43660
  * strip always did. (property only) (readonly)
43661
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
43662
+ * while hydrating, where no table is resolved and no data is read. A
43663
+ * chart says it has no readings only once this is true. (property only) (readonly)
42927
43664
  * - `sourceRows`: Every row of the table, with each cell's text and number.
42928
43665
  *
42929
43666
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -44304,6 +45041,25 @@ export type CustomElements = {
44304
45041
  * swiped across the picture shows the next or the previous item, the way the
44305
45042
  * line of text runs.
44306
45043
  *
45044
+ * A press on the empty area around the item closes the viewer, as a press on
45045
+ * the backdrop does. Under `max-zoom`, a press beside the item zooms on a
45046
+ * double press and closes nothing, and only the space outside the viewport
45047
+ * closes the viewer. A press that dragged closes nothing.
45048
+ *
45049
+ * **Keyboard.** Opening moves focus to the viewer itself, which a screen
45050
+ * reader names.
45051
+ *
45052
+ * | Key | What it does |
45053
+ * |---|---|
45054
+ * | Right, Down | Shows the next item. On a right-to-left page, Left does. While the item is zoomed, the arrows move about it instead. |
45055
+ * | Left, Up | Shows the previous item. |
45056
+ * | Home, End | Shows the first or the last item. |
45057
+ * | `+`, `-`, `0` | Zooms in, zooms out, and puts the item back at its own size, where `max-zoom` allows zooming. |
45058
+ * | Tab, Shift+Tab | Moves through the controls in the viewer, from the last round to the first and from the first round to the last. |
45059
+ * | Escape | Closes the viewer. A `helix-before-close` listener can refuse. |
45060
+ *
45061
+ * A development build warns when a viewer opens with no `label`.
45062
+ *
44307
45063
  * The chrome hides when there is no input, through `IdleController`, and comes
44308
45064
  * back on a pointer move, a key press, or a focus. It stays while focus is on a
44309
45065
  * control in the header or the footer, so a keyboard reader is never left on
@@ -44543,6 +45299,16 @@ export type CustomElements = {
44543
45299
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
44544
45300
  * pressed with Enter or Space, for a page that opens what a reading stands for.
44545
45301
  *
45302
+ * **`data` takes the readings as data** where the page has no table to point
45303
+ * `for` at, in a table's shape: the column headings, then one row per reading
45304
+ * with its label first. A table is still the better source where the page can
45305
+ * show one, since it reads before any script runs.
45306
+ *
45307
+ * **A chart with nothing to draw says so.** A table with no readings shows
45308
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
45309
+ * there until readings arrive. The `empty` and `loading` slots take markup in
45310
+ * their place, such as a link to add the first reading.
45311
+ *
44546
45312
  * ## Attributes & Properties
44547
45313
  *
44548
45314
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -44653,6 +45419,16 @@ export type CustomElements = {
44653
45419
  * Set it where the distance from nothing is the point rather than the shape,
44654
45420
  * and accept that a series which never approaches zero becomes a flat rule
44655
45421
  * near the top of the box.
45422
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
45423
+ * and the fallback of the `empty` slot.
45424
+ * - `loading`: Whether the readings are still on their way. The chart shows
45425
+ * `loading-text` in place of an empty drawing until it has readings.
45426
+ *
45427
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
45428
+ * that already has readings keeps drawing them, so a refresh does not
45429
+ * blank it.
45430
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
45431
+ * there are no readings yet, and the fallback of the `loading` slot.
44656
45432
  * - `for`: The id of the table to read.
44657
45433
  *
44658
45434
  * Names a table in the same tree, so a chart inside another component's
@@ -44683,6 +45459,28 @@ export type CustomElements = {
44683
45459
  * cannot be cast onto across unrelated classes, so it would be invisible to
44684
45460
  * every chart that needs it. Reading where a pointer is resting is a fair
44685
45461
  * thing to ask a chart anyway. (property only) (readonly)
45462
+ * - `data`: The readings as data, in the shape of a table, where the page has no
45463
+ * table to point `for` at. `for` wins where both are set.
45464
+ *
45465
+ * ```js
45466
+ * chart.data = {
45467
+ * caption: 'Sessions by channel',
45468
+ * columns: ['Month', 'Direct', 'Referral'],
45469
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
45470
+ * }
45471
+ * ```
45472
+ *
45473
+ * The first column holds each row's label and every column after it a
45474
+ * series, as in a table. A cell is a number, words, `null` for a blank,
45475
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
45476
+ * number is shown in `locale`.
45477
+ *
45478
+ * **A table is still the better source where the page can show one**:
45479
+ * it reads with no script and before hydration, and a reader can sort and
45480
+ * copy it. Data is drawn on the client only, so a server serves the
45481
+ * frame, and the summary, the keys and the readout are then the whole of
45482
+ * what a screen reader is given. Set a new object to redraw: the chart
45483
+ * does not look inside the one it has. (property only)
44686
45484
  * - `series`: The table's columns, one series each. Empty when there is no table.
44687
45485
  *
44688
45486
  * Held by the controller between edits, so a render reading this five
@@ -44699,6 +45497,9 @@ export type CustomElements = {
44699
45497
  * names an element, and the chart is a generic around its plot: written
44700
45498
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
44701
45499
  * strip always did. (property only) (readonly)
45500
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
45501
+ * while hydrating, where no table is resolved and no data is read. A
45502
+ * chart says it has no readings only once this is true. (property only) (readonly)
44702
45503
  * - `sourceRows`: Every row of the table, with each cell's text and number.
44703
45504
  *
44704
45505
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -44745,6 +45546,13 @@ export type CustomElements = {
44745
45546
  * - `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.
44746
45547
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
44747
45548
  *
45549
+ * ## Slots
45550
+ *
45551
+ * Areas where markup can be added to the component.
45552
+ *
45553
+ * - `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`.
45554
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
45555
+ *
44748
45556
  * ## Methods
44749
45557
  *
44750
45558
  * Methods that can be called to access component functionality.
@@ -44797,6 +45605,7 @@ export type CustomElements = {
44797
45605
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
44798
45606
  * - `band`: The band around the reading under the pointer.
44799
45607
  * - `baseline`: The rule at zero, where zero is inside the range.
45608
+ * - `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.
44800
45609
  * - `gridline`: One rule across the plot, under `gridlines`.
44801
45610
  * - `guide`: A rule down the reading a pointer is resting on.
44802
45611
  * - `label`: One reading's name.
@@ -44804,6 +45613,7 @@ export type CustomElements = {
44804
45613
  * - `line`: The line for one series.
44805
45614
  * - `line-dashed`: A `line` whose series `dashed` names. Set alongside `line`.
44806
45615
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
45616
+ * - `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`.
44807
45617
  * - `mark`: The invisible point the tooltip is anchored to.
44808
45618
  * - `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`.
44809
45619
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
@@ -45587,6 +46397,11 @@ export type CustomElements = {
45587
46397
  * Draws two concentric circles: a track and a moving arc. The track shows the
45588
46398
  * arc as a proportion of a whole, and costs one element.
45589
46399
  *
46400
+ * **For work whose length is known, use `Progress` with `shape="ring"`.** It
46401
+ * draws the same ring filled to the value, says the value as a progress bar
46402
+ * does, and says when the work is complete. A loader claims no proportion, so
46403
+ * it takes no value.
46404
+ *
45590
46405
  * **The center is a slot, empty by default.** Put your logo there once, where
45591
46406
  * your app wraps the loader. When nothing is slotted, nothing extra is
45592
46407
  * rendered.
@@ -47550,6 +48365,13 @@ export type CustomElements = {
47550
48365
  * one page can mark the section in view with `aria-current="location"`. Where
47551
48366
  * several are marked, `page` wins.
47552
48367
  *
48368
+ * **The destinations can be a list.** Slot a `<ul>` or an `<ol>` of `<li>`
48369
+ * elements, each holding a link, and a screen reader says how many there are
48370
+ * and where each one is, as in Radix's `NavigationMenu.List`. The marker and
48371
+ * the arrow keys work on the list items as they do on bare links. Give the
48372
+ * list `role="list"` as well, since Safari drops the semantics of a list drawn
48373
+ * without bullets.
48374
+ *
47553
48375
  * Set `orientation="vertical"` to stack the destinations in a column, for a
47554
48376
  * sidebar.
47555
48377
  *
@@ -47927,6 +48749,17 @@ export type CustomElements = {
47927
48749
  * the feed holds one page of a longer list, and each row says its place in the
47928
48750
  * whole of it.
47929
48751
  *
48752
+ * **Keyboard.**
48753
+ *
48754
+ * | Key | What it does |
48755
+ * |---|---|
48756
+ * | Down, Up | On a row, moves to the next or the previous row. |
48757
+ * | Home, End | On a row, moves to the first or the last row. |
48758
+ * | Page Down, Page Up | From anywhere in a row, moves to the next or the previous row. |
48759
+ * | Control+End | From anywhere in the feed, moves to the first control after it on the page. |
48760
+ * | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
48761
+ * | Tab | Moves through the controls in a row, and on out of the feed. |
48762
+ *
47930
48763
  * **`load-more` adds a button after the list** that sends `helix-load-more`,
47931
48764
  * for a feed that holds one page of a longer list. Append the next page, set
47932
48765
  * `loading` while it is on its way, and take `load-more` off once there is
@@ -49894,9 +50727,10 @@ export type CustomElements = {
49894
50727
  *
49895
50728
  * The trigger is slotted and stays your own element. A Helix trigger is told
49896
50729
  * whether the popover is open inside its own shadow root. On a plain element,
49897
- * such as a `<button>`, the popover writes `aria-expanded` only once a reader
49898
- * has pressed it, which is after any hydration, and never where you wrote
49899
- * `aria-expanded` yourself. It writes nothing else onto your markup.
50730
+ * such as a `<button>`, the popover writes `aria-expanded`, from a frame after
50731
+ * its own first render, or from the first press where that comes sooner. It
50732
+ * never writes it where you wrote `aria-expanded` yourself, and writes nothing
50733
+ * else onto your markup.
49900
50734
  *
49901
50735
  * The panel is in the top layer through the popover API, so it needs no
49902
50736
  * `z-index`, and an ancestor with `overflow: hidden`, `transform`, `filter`, or
@@ -49919,6 +50753,17 @@ export type CustomElements = {
49919
50753
  *
49920
50754
  * The panel's name is `label` when you set it. Otherwise it is the first
49921
50755
  * heading in the panel, or the elements an `aria-labelledby` on the host names.
50756
+ * A development build warns when a popover opens with nothing but
50757
+ * `fallback-label` to name it.
50758
+ *
50759
+ * **Keyboard.** Opening moves focus to the first control in the panel, or to
50760
+ * the panel where it holds none.
50761
+ *
50762
+ * | Key | What it does |
50763
+ * |---|---|
50764
+ * | Enter, Space | On the trigger, opens the panel, or closes it while it is open. |
50765
+ * | Escape | Closes the panel and puts focus back on the trigger. |
50766
+ * | Tab, Shift+Tab | Moves through the controls in the panel. Leaving the panel and the trigger closes it. With `modal`, moves from the last control round to the first and from the first round to the last. |
49922
50767
  *
49923
50768
  * `arrow` draws a point on the panel's edge facing the trigger. The side the
49924
50769
  * panel landed on is on the host as `:state(placed-top)` and its kin, and the
@@ -50063,6 +50908,15 @@ export type CustomElements = {
50063
50908
  *
50064
50909
  * The fill is a fraction of the track, written as a custom property.
50065
50910
  *
50911
+ * **The reading is said in the words the bar would show**: a whole percentage
50912
+ * of the range in `locale`, the reading `format-options` writes, or
50913
+ * `value-text`, as `aria-valuetext` beside the number.
50914
+ *
50915
+ * **Words set in the default slot are drawn on the bar**, or in the middle of a
50916
+ * ring, such as `62%` or `3 of 8`, and are what the bar says as its reading
50917
+ * where `value-text` is not set. While there are any, the bar carries
50918
+ * `:state(content)`, so a sheet can make room for them.
50919
+ *
50066
50920
  * **Reaching `max` is said and sent.** When the value arrives at `max` from
50067
50921
  * below, the bar says `complete-label`, "Complete" by default, in a polite
50068
50922
  * `live` region and sends `helix-complete`, so a reader hears that the work is
@@ -50089,7 +50943,8 @@ export type CustomElements = {
50089
50943
  *
50090
50944
  * A `percent` style writes the share of the range, and any other the value
50091
50945
  * itself, so the example says "18 GB". Absent is a whole percentage. The
50092
- * words are announced as well as shown. `value-text` still wins.
50946
+ * words are announced whether or not `show-value` shows them. `value-text`
50947
+ * still wins.
50093
50948
  * - `indeterminate`: Whether the length of the task is unknown. The bar then shows activity
50094
50949
  * without a value.
50095
50950
  *
@@ -50178,6 +51033,7 @@ export type CustomElements = {
50178
51033
  *
50179
51034
  * Areas where markup can be added to the component.
50180
51035
  *
51036
+ * - `(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.
50181
51037
  * - `label`: A visible label. Its words name the progress bar in place of `label`.
50182
51038
  *
50183
51039
  * ## CSS Custom Properties
@@ -50190,6 +51046,7 @@ export type CustomElements = {
50190
51046
  *
50191
51047
  * Custom selectors for styling elements within the component.
50192
51048
  *
51049
+ * - `content`: The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.
50193
51050
  * - `groove`: The unfilled circle under the ring's filled arc.
50194
51051
  * - `indicator`: The filled part that shows the work done.
50195
51052
  * - `live`: A polite region that says `complete-label` when the work is done, rendered from that moment. Hide it visually.
@@ -50201,6 +51058,7 @@ export type CustomElements = {
50201
51058
  * These can be used to apply styling when a component is in a given state.
50202
51059
  *
50203
51060
  * - `complete`: The value is at `max` and the bar is not indeterminate.
51061
+ * - `content`: Words are set in the default slot.
50204
51062
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
50205
51063
  */
50206
51064
  "helix-headless-progress": Partial<
@@ -51134,6 +51992,16 @@ export type CustomElements = {
51134
51992
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
51135
51993
  * pressed with Enter or Space, for a page that opens what a reading stands for.
51136
51994
  *
51995
+ * **`data` takes the readings as data** where the page has no table to point
51996
+ * `for` at, in a table's shape: the column headings, then one row per reading
51997
+ * with its label first. A table is still the better source where the page can
51998
+ * show one, since it reads before any script runs.
51999
+ *
52000
+ * **A chart with nothing to draw says so.** A table with no readings shows
52001
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
52002
+ * there until readings arrive. The `empty` and `loading` slots take markup in
52003
+ * their place, such as a link to add the first reading.
52004
+ *
51137
52005
  * ## Attributes & Properties
51138
52006
  *
51139
52007
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -51169,6 +52037,16 @@ export type CustomElements = {
51169
52037
  * Absent draws none. A series with fewer than two points, or with every
51170
52038
  * point at one measure across, has no line to draw. The summary already
51171
52039
  * gives each series' correlation, which says how near the points are to it.
52040
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
52041
+ * and the fallback of the `empty` slot.
52042
+ * - `loading`: Whether the readings are still on their way. The chart shows
52043
+ * `loading-text` in place of an empty drawing until it has readings.
52044
+ *
52045
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
52046
+ * that already has readings keeps drawing them, so a refresh does not
52047
+ * blank it.
52048
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
52049
+ * there are no readings yet, and the fallback of the `loading` slot.
51172
52050
  * - `for`: The id of the table to read.
51173
52051
  *
51174
52052
  * Names a table in the same tree, so a chart inside another component's
@@ -51199,6 +52077,28 @@ export type CustomElements = {
51199
52077
  * cannot be cast onto across unrelated classes, so it would be invisible to
51200
52078
  * every chart that needs it. Reading where a pointer is resting is a fair
51201
52079
  * thing to ask a chart anyway. (property only) (readonly)
52080
+ * - `data`: The readings as data, in the shape of a table, where the page has no
52081
+ * table to point `for` at. `for` wins where both are set.
52082
+ *
52083
+ * ```js
52084
+ * chart.data = {
52085
+ * caption: 'Sessions by channel',
52086
+ * columns: ['Month', 'Direct', 'Referral'],
52087
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
52088
+ * }
52089
+ * ```
52090
+ *
52091
+ * The first column holds each row's label and every column after it a
52092
+ * series, as in a table. A cell is a number, words, `null` for a blank,
52093
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
52094
+ * number is shown in `locale`.
52095
+ *
52096
+ * **A table is still the better source where the page can show one**:
52097
+ * it reads with no script and before hydration, and a reader can sort and
52098
+ * copy it. Data is drawn on the client only, so a server serves the
52099
+ * frame, and the summary, the keys and the readout are then the whole of
52100
+ * what a screen reader is given. Set a new object to redraw: the chart
52101
+ * does not look inside the one it has. (property only)
51202
52102
  * - `series`: The table's columns, one series each. Empty when there is no table.
51203
52103
  *
51204
52104
  * Held by the controller between edits, so a render reading this five
@@ -51215,6 +52115,9 @@ export type CustomElements = {
51215
52115
  * names an element, and the chart is a generic around its plot: written
51216
52116
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
51217
52117
  * strip always did. (property only) (readonly)
52118
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
52119
+ * while hydrating, where no table is resolved and no data is read. A
52120
+ * chart says it has no readings only once this is true. (property only) (readonly)
51218
52121
  * - `sourceRows`: Every row of the table, with each cell's text and number.
51219
52122
  *
51220
52123
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -51261,6 +52164,13 @@ export type CustomElements = {
51261
52164
  * - `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.
51262
52165
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
51263
52166
  *
52167
+ * ## Slots
52168
+ *
52169
+ * Areas where markup can be added to the component.
52170
+ *
52171
+ * - `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`.
52172
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
52173
+ *
51264
52174
  * ## Methods
51265
52175
  *
51266
52176
  * Methods that can be called to access component functionality.
@@ -51310,8 +52220,10 @@ export type CustomElements = {
51310
52220
  *
51311
52221
  * Custom selectors for styling elements within the component.
51312
52222
  *
52223
+ * - `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.
51313
52224
  * - `gridline`: One line across the plot, drawn when `gridlines` is set.
51314
52225
  * - `live`: The readout: a polite live region that says the row the keys moved to. Hide it visually.
52226
+ * - `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`.
51315
52227
  * - `mark`: The invisible point the tooltip is anchored to.
51316
52228
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
51317
52229
  * - `plot`: The drawing, which takes focus to be read by key.
@@ -52847,6 +53759,21 @@ export type CustomElements = {
52847
53759
  * `collapsed-size` keeps a sliver of the pane visible, such as a tab strip.
52848
53760
  * Collapsing overrides `min` and `max`.
52849
53761
  *
53762
+ * Set `primary` to the pane that keeps its size when the splitter's own size
53763
+ * changes, such as a sidebar beside a window being resized. The other pane
53764
+ * takes all of the change, as Web Awesome's split panel does. Without it,
53765
+ * both panes keep their share.
53766
+ *
53767
+ * **Keyboard.** The divider is one tab stop.
53768
+ *
53769
+ * | Key | What it does |
53770
+ * |---|---|
53771
+ * | Left, Right | Moves a side-by-side divider by `step`. On a right-to-left page, Left moves it toward the end. |
53772
+ * | Up, Down | Moves a stacked divider by `step`. |
53773
+ * | Home, End | Moves the divider to its bounds. |
53774
+ * | Enter | Collapses the start pane, and opens it again. |
53775
+ * | F6 | Moves focus from one pane to the first control in the other, and from the divider to the start pane. |
53776
+ *
52850
53777
  * ## Attributes & Properties
52851
53778
  *
52852
53779
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -52928,6 +53855,8 @@ export type CustomElements = {
52928
53855
  * Reading gives where it is; writing declares it the consumer's, and
52929
53856
  * `default-position` seeds one this element owns. The same accessor pair
52930
53857
  * `Pagination.page` and the calendar's `month` carry.
53858
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
53859
+ * other pane takes all of the change. Unset, both keep their share.
52931
53860
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
52932
53861
  * panel does: a bare number is a percentage and a length such as `240px` is
52933
53862
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -54448,6 +55377,20 @@ export type CustomElements = {
54448
55377
  * Disabled tabs are passed over. Tab leaves the list for the selected panel,
54449
55378
  * which is a tab stop only while it holds nothing focusable.
54450
55379
  *
55380
+ * **Keyboard.**
55381
+ *
55382
+ * | Key | What it does |
55383
+ * |---|---|
55384
+ * | Right, Down | Moves to the next tab, from the last round to the first. Selects it, unless `manual` is set or a tab is a link. |
55385
+ * | Left, Up | Moves to the tab before, from the first round to the last. |
55386
+ * | Home, End | Moves to the first or the last tab. |
55387
+ * | Enter, Space | Selects the tab with focus, or follows its link. |
55388
+ * | Tab | Leaves the list for the selected panel. |
55389
+ *
55390
+ * Removing the selected tab selects the first enabled tab that is left, and
55391
+ * `active` says so, with `helix-activate`. Where the removed tab had focus,
55392
+ * focus moves to the tab now selected.
55393
+ *
54451
55394
  * The `indicator` part moves to the selected tab and carries its place and
54452
55395
  * size, so a mark of your own can be drawn there: style the part, or slot an
54453
55396
  * element into `indicator`, which sits inside the part and reads the same
@@ -57215,11 +58158,27 @@ export type CustomElements = {
57215
58158
  * you have moved it somewhere else on the page. A stop does not trap focus, so
57216
58159
  * you can still `Tab` out to the element it describes.
57217
58160
  *
57218
- * **The arrow keys move between stops** while focus is in one: the arrow that
57219
- * points the way the line runs goes on, and the other goes back, so on a
57220
- * right-to-left page `ArrowLeft` goes on. Neither finishes the tour at the last
57221
- * stop, and a text field in a stop keeps its own arrows. `Escape` skips the
57222
- * tour.
58161
+ * **The target is scrolled into view** before its stop is shown, by the
58162
+ * least distance that brings it on screen, so the stop that points at it is
58163
+ * on screen too.
58164
+ *
58165
+ * **Keyboard.** Focus is on the current stop's panel, which is not in the
58166
+ * `Tab` order itself.
58167
+ *
58168
+ * | Key | What it does |
58169
+ * |---|---|
58170
+ * | Right | Goes to the next stop. On the last stop it does nothing, and Next finishes the tour. |
58171
+ * | Left | Goes back to the previous stop. |
58172
+ * | Escape | Skips the tour, and puts focus back where it was when the tour opened. |
58173
+ * | Tab, Shift+Tab | Moves through the controls in the stop, and on out to the page. A stop does not trap focus. |
58174
+ * | Enter, Space | On Back, Next, or Skip, presses it. |
58175
+ *
58176
+ * The arrow that points the way the line runs goes on, and the other goes
58177
+ * back, so on a right-to-left page Left goes on and Right goes back. A text field in a stop keeps
58178
+ * its own arrows.
58179
+ *
58180
+ * The tour is a region named by `label` while it runs. A development build
58181
+ * warns when a tour opens with no `label`.
57223
58182
  *
57224
58183
  * ## Attributes & Properties
57225
58184
  *
@@ -57383,7 +58342,8 @@ export type CustomElements = {
57383
58342
  * The panel is a `group`, and a `dialog` for a dialog stop, only while the
57384
58343
  * stop is shown. It is named by the `heading` slot, then by the first heading
57385
58344
  * in the content, then by `label`, and otherwise by its place in the tour. It
57386
- * is described by the `description` slot and by its place, such as "2 of 5",
58345
+ * is described by the `description` slot, or where that is empty by the words
58346
+ * at the start of the content, and by its place, such as "2 of 5",
57387
58347
  * so a screen reader says where the reader is at every stop. `focus()` moves
57388
58348
  * focus to the panel, which is what the tour does when it opens or moves on.
57389
58349
  *
@@ -57747,6 +58707,9 @@ export type CustomElements = {
57747
58707
  * tree of check marks, Control+A (Command+A on an Apple keyboard) checks every
57748
58708
  * item or clears them all, and Shift with Up or Down Arrow moves and checks.
57749
58709
  *
58710
+ * Removing the item that has focus moves focus to the item after it among its
58711
+ * siblings, or the one before, or its parent, so focus stays in the tree.
58712
+ *
57750
58713
  * **`reorderable` lets you move items among their siblings.** Alt with Up or
57751
58714
  * Down moves the focused item a place, and Alt with Home or End to the first
57752
58715
  * or the last place among its siblings, as the APG's rearrangeable listbox
@@ -59462,6 +60425,20 @@ export type CustomElementsSolidJs = {
59462
60425
  * The page is the window unless `scroller` names the element that scrolls, for
59463
60426
  * an app shell whose content scrolls inside a container.
59464
60427
  *
60428
+ * **Set `hide-on-scroll` for a bar that moves out of the way.** Scrolling down
60429
+ * past the bar's own height hides it, and scrolling up shows it again, as does
60430
+ * focus moving into it. The custom state `hidden` is on the host while it is
60431
+ * hidden, and the styled tier slides a `sticky` bar up out of view.
60432
+ *
60433
+ * **Set `fold-below` to fold the middle region on a narrow screen.** Below that
60434
+ * many pixels of the bar's own width, the middle region is hidden behind a
60435
+ * toggle at the end of the bar, named by `menu-label`. The toggle says whether
60436
+ * the region is open with `aria-expanded`, and the region opens below the row.
60437
+ * Escape closes it and puts focus back on the toggle. The custom state
60438
+ * `folded` is on the host while the bar is that narrow, and `open` while the
60439
+ * folded region is open. A server serves the bar unfolded, and the browser
60440
+ * folds it once it has measured it.
60441
+ *
59465
60442
  * The host is the page's `banner` landmark. Placed inside `main`, `article`,
59466
60443
  * `aside`, `nav` or `section`, it is a plain box instead, as a native
59467
60444
  * `<header>` is there, so a header inside a card or a pane does not add a
@@ -59488,6 +60465,11 @@ export type CustomElementsSolidJs = {
59488
60465
  * **Named for the region and not for what is usually in it.** The middle slot
59489
60466
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
59490
60467
  * the property carries the part's name, `content`.
60468
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
60469
+ * a toggle. Unset, it never folds.
60470
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
60471
+ * page scrolls up.
60472
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
59491
60473
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
59492
60474
  * scrolls a container instead of the window. Unset is the window.
59493
60475
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -59523,6 +60505,7 @@ export type CustomElementsSolidJs = {
59523
60505
  *
59524
60506
  * - `(default)`: The middle region, usually a `Navigation`.
59525
60507
  * - `end`: Trailing content.
60508
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
59526
60509
  * - `start`: Leading content, usually a wordmark.
59527
60510
  *
59528
60511
  * ## CSS Parts
@@ -59533,11 +60516,16 @@ export type CustomElementsSolidJs = {
59533
60516
  * - `end`: The trailing region.
59534
60517
  * - `row`: The centered row inside the banner.
59535
60518
  * - `start`: The leading region.
60519
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
60520
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
59536
60521
  *
59537
60522
  * ## CSS States
59538
60523
  *
59539
60524
  * These can be used to apply styling when a component is in a given state.
59540
60525
  *
60526
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
60527
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
60528
+ * - `open`: While the folded middle region is open.
59541
60529
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
59542
60530
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
59543
60531
  */
@@ -59600,6 +60588,16 @@ export type CustomElementsSolidJs = {
59600
60588
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
59601
60589
  * pressed with Enter or Space, for a page that opens what a reading stands for.
59602
60590
  *
60591
+ * **`data` takes the readings as data** where the page has no table to point
60592
+ * `for` at, in a table's shape: the column headings, then one row per reading
60593
+ * with its label first. A table is still the better source where the page can
60594
+ * show one, since it reads before any script runs.
60595
+ *
60596
+ * **A chart with nothing to draw says so.** A table with no readings shows
60597
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
60598
+ * there until readings arrive. The `empty` and `loading` slots take markup in
60599
+ * their place, such as a link to add the first reading.
60600
+ *
59603
60601
  * ## Attributes & Properties
59604
60602
  *
59605
60603
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -59646,6 +60644,16 @@ export type CustomElementsSolidJs = {
59646
60644
  *
59647
60645
  * Absent draws none: bands read as a composition need no numbers beside
59648
60646
  * them, and the tooltip and the table hold every reading.
60647
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
60648
+ * and the fallback of the `empty` slot.
60649
+ * - `loading`: Whether the readings are still on their way. The chart shows
60650
+ * `loading-text` in place of an empty drawing until it has readings.
60651
+ *
60652
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
60653
+ * that already has readings keeps drawing them, so a refresh does not
60654
+ * blank it.
60655
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
60656
+ * there are no readings yet, and the fallback of the `loading` slot.
59649
60657
  * - `for`: The id of the table to read.
59650
60658
  *
59651
60659
  * Names a table in the same tree, so a chart inside another component's
@@ -59676,6 +60684,28 @@ export type CustomElementsSolidJs = {
59676
60684
  * cannot be cast onto across unrelated classes, so it would be invisible to
59677
60685
  * every chart that needs it. Reading where a pointer is resting is a fair
59678
60686
  * thing to ask a chart anyway. (property only) (readonly)
60687
+ * - `data`: The readings as data, in the shape of a table, where the page has no
60688
+ * table to point `for` at. `for` wins where both are set.
60689
+ *
60690
+ * ```js
60691
+ * chart.data = {
60692
+ * caption: 'Sessions by channel',
60693
+ * columns: ['Month', 'Direct', 'Referral'],
60694
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
60695
+ * }
60696
+ * ```
60697
+ *
60698
+ * The first column holds each row's label and every column after it a
60699
+ * series, as in a table. A cell is a number, words, `null` for a blank,
60700
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
60701
+ * number is shown in `locale`.
60702
+ *
60703
+ * **A table is still the better source where the page can show one**:
60704
+ * it reads with no script and before hydration, and a reader can sort and
60705
+ * copy it. Data is drawn on the client only, so a server serves the
60706
+ * frame, and the summary, the keys and the readout are then the whole of
60707
+ * what a screen reader is given. Set a new object to redraw: the chart
60708
+ * does not look inside the one it has. (property only)
59679
60709
  * - `series`: The table's columns, one series each. Empty when there is no table.
59680
60710
  *
59681
60711
  * Held by the controller between edits, so a render reading this five
@@ -59692,6 +60722,9 @@ export type CustomElementsSolidJs = {
59692
60722
  * names an element, and the chart is a generic around its plot: written
59693
60723
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
59694
60724
  * strip always did. (property only) (readonly)
60725
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
60726
+ * while hydrating, where no table is resolved and no data is read. A
60727
+ * chart says it has no readings only once this is true. (property only) (readonly)
59695
60728
  * - `sourceRows`: Every row of the table, with each cell's text and number.
59696
60729
  *
59697
60730
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -59738,6 +60771,13 @@ export type CustomElementsSolidJs = {
59738
60771
  * - `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.
59739
60772
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
59740
60773
  *
60774
+ * ## Slots
60775
+ *
60776
+ * Areas where markup can be added to the component.
60777
+ *
60778
+ * - `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`.
60779
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
60780
+ *
59741
60781
  * ## Methods
59742
60782
  *
59743
60783
  * Methods that can be called to access component functionality.
@@ -59787,12 +60827,14 @@ export type CustomElementsSolidJs = {
59787
60827
  * - `area`: One part's band.
59788
60828
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
59789
60829
  * - `baseline`: The rule at zero, which is the floor of the drawing.
60830
+ * - `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.
59790
60831
  * - `gridline`: One rule across the plot, under `gridlines`.
59791
60832
  * - `guide`: A rule down the reading a pointer is resting on.
59792
60833
  * - `label`: One reading's name.
59793
60834
  * - `labels`: The row of reading names.
59794
60835
  * - `line`: The top edge of one part's band.
59795
60836
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
60837
+ * - `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`.
59796
60838
  * - `mark`: The invisible point the tooltip is anchored to.
59797
60839
  * - `plot`: The drawing, which takes focus to be read by key.
59798
60840
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
@@ -60188,6 +61230,16 @@ export type CustomElementsSolidJs = {
60188
61230
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
60189
61231
  * pressed with Enter or Space, for a page that opens what a reading stands for.
60190
61232
  *
61233
+ * **`data` takes the readings as data** where the page has no table to point
61234
+ * `for` at, in a table's shape: the column headings, then one row per reading
61235
+ * with its label first. A table is still the better source where the page can
61236
+ * show one, since it reads before any script runs.
61237
+ *
61238
+ * **A chart with nothing to draw says so.** A table with no readings shows
61239
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
61240
+ * there until readings arrive. The `empty` and `loading` slots take markup in
61241
+ * their place, such as a link to add the first reading.
61242
+ *
60191
61243
  * ## Attributes & Properties
60192
61244
  *
60193
61245
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -60293,6 +61345,16 @@ export type CustomElementsSolidJs = {
60293
61345
  *
60294
61346
  * Absent draws none with one scale, since bars compared with each other need
60295
61347
  * no numbers. With `secondary` both scales are drawn whatever this says.
61348
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
61349
+ * and the fallback of the `empty` slot.
61350
+ * - `loading`: Whether the readings are still on their way. The chart shows
61351
+ * `loading-text` in place of an empty drawing until it has readings.
61352
+ *
61353
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
61354
+ * that already has readings keeps drawing them, so a refresh does not
61355
+ * blank it.
61356
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
61357
+ * there are no readings yet, and the fallback of the `loading` slot.
60296
61358
  * - `for`: The id of the table to read.
60297
61359
  *
60298
61360
  * Names a table in the same tree, so a chart inside another component's
@@ -60323,6 +61385,28 @@ export type CustomElementsSolidJs = {
60323
61385
  * cannot be cast onto across unrelated classes, so it would be invisible to
60324
61386
  * every chart that needs it. Reading where a pointer is resting is a fair
60325
61387
  * thing to ask a chart anyway. (property only) (readonly)
61388
+ * - `data`: The readings as data, in the shape of a table, where the page has no
61389
+ * table to point `for` at. `for` wins where both are set.
61390
+ *
61391
+ * ```js
61392
+ * chart.data = {
61393
+ * caption: 'Sessions by channel',
61394
+ * columns: ['Month', 'Direct', 'Referral'],
61395
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
61396
+ * }
61397
+ * ```
61398
+ *
61399
+ * The first column holds each row's label and every column after it a
61400
+ * series, as in a table. A cell is a number, words, `null` for a blank,
61401
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
61402
+ * number is shown in `locale`.
61403
+ *
61404
+ * **A table is still the better source where the page can show one**:
61405
+ * it reads with no script and before hydration, and a reader can sort and
61406
+ * copy it. Data is drawn on the client only, so a server serves the
61407
+ * frame, and the summary, the keys and the readout are then the whole of
61408
+ * what a screen reader is given. Set a new object to redraw: the chart
61409
+ * does not look inside the one it has. (property only)
60326
61410
  * - `series`: The table's columns, one series each. Empty when there is no table.
60327
61411
  *
60328
61412
  * Held by the controller between edits, so a render reading this five
@@ -60339,6 +61423,9 @@ export type CustomElementsSolidJs = {
60339
61423
  * names an element, and the chart is a generic around its plot: written
60340
61424
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
60341
61425
  * strip always did. (property only) (readonly)
61426
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
61427
+ * while hydrating, where no table is resolved and no data is read. A
61428
+ * chart says it has no readings only once this is true. (property only) (readonly)
60342
61429
  * - `sourceRows`: Every row of the table, with each cell's text and number.
60343
61430
  *
60344
61431
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -60385,6 +61472,13 @@ export type CustomElementsSolidJs = {
60385
61472
  * - `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.
60386
61473
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
60387
61474
  *
61475
+ * ## Slots
61476
+ *
61477
+ * Areas where markup can be added to the component.
61478
+ *
61479
+ * - `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`.
61480
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
61481
+ *
60388
61482
  * ## Methods
60389
61483
  *
60390
61484
  * Methods that can be called to access component functionality.
@@ -60439,6 +61533,7 @@ export type CustomElementsSolidJs = {
60439
61533
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
60440
61534
  * - `bar-wash-start`: The stop of a bar's gradient at its base.
60441
61535
  * - `baseline`: The line the columns stand on.
61536
+ * - `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.
60442
61537
  * - `gridline`: One gridline across the plot, drawn when `gridlines` is set.
60443
61538
  * - `group`: One category's columns, together.
60444
61539
  * - `group-active`: The group the tooltip describes. Set together with `group`.
@@ -60446,6 +61541,7 @@ export type CustomElementsSolidJs = {
60446
61541
  * - `labels`: The row of category names.
60447
61542
  * - `line`: A series drawn as a line, named in `lines`.
60448
61543
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
61544
+ * - `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`.
60449
61545
  * - `mark`: The invisible point the tooltip is anchored to.
60450
61546
  * - `plot`: The drawing, which takes focus to be read by key.
60451
61547
  * - `summary`: The chart's name and each series' highest reading, written as a sentence for screen readers. Hide it visually.
@@ -60590,7 +61686,10 @@ export type CustomElementsSolidJs = {
60590
61686
  * including your own anchor.
60591
61687
  *
60592
61688
  * The current page is plain text, and `aria-current="page"` on the host conveys
60593
- * the position.
61689
+ * the position. In a trail where no crumb is `current`, the last one is said
61690
+ * to be the current page, and keeps its link. An `aria-current` you write on
61691
+ * the host, such as `aria-current="location"`, replaces the one the crumb
61692
+ * gives itself.
60594
61693
  *
60595
61694
  * ## Attributes & Properties
60596
61695
  *
@@ -60681,7 +61780,8 @@ export type CustomElementsSolidJs = {
60681
61780
  * markers.
60682
61781
  *
60683
61782
  * The items are slotted directly, so they are `<ol>` children in the flat tree,
60684
- * and each item sets `role="listitem"` on itself.
61783
+ * and each item sets `role="listitem"` on itself. Where no slotted crumb is
61784
+ * `current`, the last one is said to be the current page.
60685
61785
  *
60686
61786
  * The trail does not measure itself, and you write its overflow in markup: put
60687
61787
  * the crumb that holds the folded items where the gap should appear.
@@ -60696,6 +61796,11 @@ export type CustomElementsSolidJs = {
60696
61796
  * to the first crumb it brought back. A new `items` folds again. Slotted crumbs
60697
61797
  * do not fold; write the folded crumb where the gap should be.
60698
61798
  *
61799
+ * **Keyboard.** Each crumb with an `href` is a link and one tab stop, and
61800
+ * Enter follows it. The current page and the separators are not in the tab
61801
+ * order. In a folded trail, Enter or Space on the fold's button shows the
61802
+ * whole trail and moves focus to the first crumb it brought back.
61803
+ *
60699
61804
  * ## Attributes & Properties
60700
61805
  *
60701
61806
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -66667,6 +67772,16 @@ export type CustomElementsSolidJs = {
66667
67772
  * announces with its description as it opens. Set `dismissible` to draw a
66668
67773
  * close control, labeled by `dismiss-label`.
66669
67774
  *
67775
+ * **Keyboard.** Opening moves focus to the first control in the dialog.
67776
+ *
67777
+ * | Key | What it does |
67778
+ * |---|---|
67779
+ * | Tab, Shift+Tab | Moves through the controls in the dialog, from the last round to the first and from the first round to the last. |
67780
+ * | Escape | Asks to close the dialog. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
67781
+ * | Enter, Space | On the close control, closes the dialog. |
67782
+ *
67783
+ * Closing puts focus back on the element that had it before the dialog opened.
67784
+ *
66670
67785
  * ## Attributes & Properties
66671
67786
  *
66672
67787
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -66688,8 +67803,14 @@ export type CustomElementsSolidJs = {
66688
67803
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
66689
67804
  * the property this component exists to keep.
66690
67805
  *
67806
+ * The press on the backdrop that this element handles itself follows it too:
67807
+ * `closerequest` and `none` leave the dialog open on that press, as the
67808
+ * platform does, and `none` also keeps it open on Escape in a browser without
67809
+ * `closedby`.
67810
+ *
66691
67811
  * Absent by default, which is the platform's `auto` and this library's rule
66692
- * that a resting value is an attribute's absence.
67812
+ * that a resting value is an attribute's absence. Absent, a press on the
67813
+ * backdrop closes the dialog.
66693
67814
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
66694
67815
  *
66695
67816
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -67022,6 +68143,28 @@ export type CustomElementsSolidJs = {
67022
68143
  * cannot be cast onto across unrelated classes, so it would be invisible to
67023
68144
  * every chart that needs it. Reading where a pointer is resting is a fair
67024
68145
  * thing to ask a chart anyway. (property only) (readonly)
68146
+ * - `data`: The readings as data, in the shape of a table, where the page has no
68147
+ * table to point `for` at. `for` wins where both are set.
68148
+ *
68149
+ * ```js
68150
+ * chart.data = {
68151
+ * caption: 'Sessions by channel',
68152
+ * columns: ['Month', 'Direct', 'Referral'],
68153
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
68154
+ * }
68155
+ * ```
68156
+ *
68157
+ * The first column holds each row's label and every column after it a
68158
+ * series, as in a table. A cell is a number, words, `null` for a blank,
68159
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
68160
+ * number is shown in `locale`.
68161
+ *
68162
+ * **A table is still the better source where the page can show one**:
68163
+ * it reads with no script and before hydration, and a reader can sort and
68164
+ * copy it. Data is drawn on the client only, so a server serves the
68165
+ * frame, and the summary, the keys and the readout are then the whole of
68166
+ * what a screen reader is given. Set a new object to redraw: the chart
68167
+ * does not look inside the one it has. (property only)
67025
68168
  * - `series`: The table's columns, one series each. Empty when there is no table.
67026
68169
  *
67027
68170
  * Held by the controller between edits, so a render reading this five
@@ -67038,6 +68181,9 @@ export type CustomElementsSolidJs = {
67038
68181
  * names an element, and the chart is a generic around its plot: written
67039
68182
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
67040
68183
  * strip always did. (property only) (readonly)
68184
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
68185
+ * while hydrating, where no table is resolved and no data is read. A
68186
+ * chart says it has no readings only once this is true. (property only) (readonly)
67041
68187
  * - `sourceRows`: Every row of the table, with each cell's text and number.
67042
68188
  *
67043
68189
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -67176,6 +68322,11 @@ export type CustomElementsSolidJs = {
67176
68322
  * A drawer with `modal="false"` leaves the page usable and still closes on
67177
68323
  * Escape, in a browser without `closedby` as well.
67178
68324
  *
68325
+ * Set `persistent` for a drawer that has to be answered: Escape, a press
68326
+ * outside, and a swipe leave it open, and the close control and `close()`
68327
+ * still close it. `closedby="none"` keeps it open on all three as well, and
68328
+ * `closedby="closerequest"` keeps it open on a press outside.
68329
+ *
67179
68330
  * **A touch or a pen swipes it away**, toward the edge it came from, resolved
67180
68331
  * against the writing direction. A swipe past halfway, or a quick one, closes
67181
68332
  * it through the same request as every other way out. `snap-points` lists the
@@ -67196,7 +68347,20 @@ export type CustomElementsSolidJs = {
67196
68347
  *
67197
68348
  * The panel's name is `label` when you set it. Otherwise it is the heading in
67198
68349
  * the `header` slot, or the elements an `aria-labelledby` on the host names,
67199
- * and `fallback-label` where nothing names it.
68350
+ * and `fallback-label` where nothing names it. A development build warns
68351
+ * when a drawer opens with nothing but `fallback-label` to name it.
68352
+ *
68353
+ * The panel is described by the words at the start of its body, as `Dialog`
68354
+ * is: the elements in the default slot before the first one that is or holds
68355
+ * a control. An `aria-describedby` on the host replaces it.
68356
+ *
68357
+ * **Keyboard.** Opening moves focus to the first control in the panel.
68358
+ *
68359
+ * | Key | What it does |
68360
+ * |---|---|
68361
+ * | Tab, Shift+Tab | In a modal drawer, moves through the controls in the panel, from the last round to the first and from the first round to the last. In a drawer that is not modal, moves on to the page. |
68362
+ * | Escape | Asks to close the drawer. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
68363
+ * | Enter, Space | On the close control, closes the drawer. |
67200
68364
  *
67201
68365
  * Content stays mounted when the drawer is closed, so it is in the server
67202
68366
  * markup and can animate. A closed `<dialog>` is already out of the tab order
@@ -67247,6 +68411,11 @@ export type CustomElementsSolidJs = {
67247
68411
  * lost its focus trap because a consumer forgot a word would be worse than an
67248
68412
  * attribute on the host, and nothing selects on it: the scrim is rendered or
67249
68413
  * not, rather than shown or hidden by CSS.
68414
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
68415
+ * drawer that has to be answered.
68416
+ *
68417
+ * The close control and `close()` still close it, as on `Dialog`: a panel
68418
+ * with no way out at all is a trap.
67250
68419
  * - `placement`: Which edge the drawer comes from.
67251
68420
  *
67252
68421
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -69561,6 +70730,28 @@ export type CustomElementsSolidJs = {
69561
70730
  * cannot be cast onto across unrelated classes, so it would be invisible to
69562
70731
  * every chart that needs it. Reading where a pointer is resting is a fair
69563
70732
  * thing to ask a chart anyway. (property only) (readonly)
70733
+ * - `data`: The readings as data, in the shape of a table, where the page has no
70734
+ * table to point `for` at. `for` wins where both are set.
70735
+ *
70736
+ * ```js
70737
+ * chart.data = {
70738
+ * caption: 'Sessions by channel',
70739
+ * columns: ['Month', 'Direct', 'Referral'],
70740
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
70741
+ * }
70742
+ * ```
70743
+ *
70744
+ * The first column holds each row's label and every column after it a
70745
+ * series, as in a table. A cell is a number, words, `null` for a blank,
70746
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
70747
+ * number is shown in `locale`.
70748
+ *
70749
+ * **A table is still the better source where the page can show one**:
70750
+ * it reads with no script and before hydration, and a reader can sort and
70751
+ * copy it. Data is drawn on the client only, so a server serves the
70752
+ * frame, and the summary, the keys and the readout are then the whole of
70753
+ * what a screen reader is given. Set a new object to redraw: the chart
70754
+ * does not look inside the one it has. (property only)
69564
70755
  * - `series`: The table's columns, one series each. Empty when there is no table.
69565
70756
  *
69566
70757
  * Held by the controller between edits, so a render reading this five
@@ -69577,6 +70768,9 @@ export type CustomElementsSolidJs = {
69577
70768
  * names an element, and the chart is a generic around its plot: written
69578
70769
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
69579
70770
  * strip always did. (property only) (readonly)
70771
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
70772
+ * while hydrating, where no table is resolved and no data is read. A
70773
+ * chart says it has no readings only once this is true. (property only) (readonly)
69580
70774
  * - `sourceRows`: Every row of the table, with each cell's text and number.
69581
70775
  *
69582
70776
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -70977,6 +72171,25 @@ export type CustomElementsSolidJs = {
70977
72171
  * swiped across the picture shows the next or the previous item, the way the
70978
72172
  * line of text runs.
70979
72173
  *
72174
+ * A press on the empty area around the item closes the viewer, as a press on
72175
+ * the backdrop does. Under `max-zoom`, a press beside the item zooms on a
72176
+ * double press and closes nothing, and only the space outside the viewport
72177
+ * closes the viewer. A press that dragged closes nothing.
72178
+ *
72179
+ * **Keyboard.** Opening moves focus to the viewer itself, which a screen
72180
+ * reader names.
72181
+ *
72182
+ * | Key | What it does |
72183
+ * |---|---|
72184
+ * | Right, Down | Shows the next item. On a right-to-left page, Left does. While the item is zoomed, the arrows move about it instead. |
72185
+ * | Left, Up | Shows the previous item. |
72186
+ * | Home, End | Shows the first or the last item. |
72187
+ * | `+`, `-`, `0` | Zooms in, zooms out, and puts the item back at its own size, where `max-zoom` allows zooming. |
72188
+ * | Tab, Shift+Tab | Moves through the controls in the viewer, from the last round to the first and from the first round to the last. |
72189
+ * | Escape | Closes the viewer. A `helix-before-close` listener can refuse. |
72190
+ *
72191
+ * A development build warns when a viewer opens with no `label`.
72192
+ *
70980
72193
  * The chrome hides when there is no input, through `IdleController`, and comes
70981
72194
  * back on a pointer move, a key press, or a focus. It stays while focus is on a
70982
72195
  * control in the header or the footer, so a keyboard reader is never left on
@@ -71219,6 +72432,16 @@ export type CustomElementsSolidJs = {
71219
72432
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
71220
72433
  * pressed with Enter or Space, for a page that opens what a reading stands for.
71221
72434
  *
72435
+ * **`data` takes the readings as data** where the page has no table to point
72436
+ * `for` at, in a table's shape: the column headings, then one row per reading
72437
+ * with its label first. A table is still the better source where the page can
72438
+ * show one, since it reads before any script runs.
72439
+ *
72440
+ * **A chart with nothing to draw says so.** A table with no readings shows
72441
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
72442
+ * there until readings arrive. The `empty` and `loading` slots take markup in
72443
+ * their place, such as a link to add the first reading.
72444
+ *
71222
72445
  * ## Attributes & Properties
71223
72446
  *
71224
72447
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -71329,6 +72552,16 @@ export type CustomElementsSolidJs = {
71329
72552
  * Set it where the distance from nothing is the point rather than the shape,
71330
72553
  * and accept that a series which never approaches zero becomes a flat rule
71331
72554
  * near the top of the box.
72555
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
72556
+ * and the fallback of the `empty` slot.
72557
+ * - `loading`: Whether the readings are still on their way. The chart shows
72558
+ * `loading-text` in place of an empty drawing until it has readings.
72559
+ *
72560
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
72561
+ * that already has readings keeps drawing them, so a refresh does not
72562
+ * blank it.
72563
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
72564
+ * there are no readings yet, and the fallback of the `loading` slot.
71332
72565
  * - `for`: The id of the table to read.
71333
72566
  *
71334
72567
  * Names a table in the same tree, so a chart inside another component's
@@ -71359,6 +72592,28 @@ export type CustomElementsSolidJs = {
71359
72592
  * cannot be cast onto across unrelated classes, so it would be invisible to
71360
72593
  * every chart that needs it. Reading where a pointer is resting is a fair
71361
72594
  * thing to ask a chart anyway. (property only) (readonly)
72595
+ * - `data`: The readings as data, in the shape of a table, where the page has no
72596
+ * table to point `for` at. `for` wins where both are set.
72597
+ *
72598
+ * ```js
72599
+ * chart.data = {
72600
+ * caption: 'Sessions by channel',
72601
+ * columns: ['Month', 'Direct', 'Referral'],
72602
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
72603
+ * }
72604
+ * ```
72605
+ *
72606
+ * The first column holds each row's label and every column after it a
72607
+ * series, as in a table. A cell is a number, words, `null` for a blank,
72608
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
72609
+ * number is shown in `locale`.
72610
+ *
72611
+ * **A table is still the better source where the page can show one**:
72612
+ * it reads with no script and before hydration, and a reader can sort and
72613
+ * copy it. Data is drawn on the client only, so a server serves the
72614
+ * frame, and the summary, the keys and the readout are then the whole of
72615
+ * what a screen reader is given. Set a new object to redraw: the chart
72616
+ * does not look inside the one it has. (property only)
71362
72617
  * - `series`: The table's columns, one series each. Empty when there is no table.
71363
72618
  *
71364
72619
  * Held by the controller between edits, so a render reading this five
@@ -71375,6 +72630,9 @@ export type CustomElementsSolidJs = {
71375
72630
  * names an element, and the chart is a generic around its plot: written
71376
72631
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
71377
72632
  * strip always did. (property only) (readonly)
72633
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
72634
+ * while hydrating, where no table is resolved and no data is read. A
72635
+ * chart says it has no readings only once this is true. (property only) (readonly)
71378
72636
  * - `sourceRows`: Every row of the table, with each cell's text and number.
71379
72637
  *
71380
72638
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -71421,6 +72679,13 @@ export type CustomElementsSolidJs = {
71421
72679
  * - `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.
71422
72680
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
71423
72681
  *
72682
+ * ## Slots
72683
+ *
72684
+ * Areas where markup can be added to the component.
72685
+ *
72686
+ * - `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`.
72687
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
72688
+ *
71424
72689
  * ## Methods
71425
72690
  *
71426
72691
  * Methods that can be called to access component functionality.
@@ -71473,6 +72738,7 @@ export type CustomElementsSolidJs = {
71473
72738
  * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
71474
72739
  * - `band`: The band around the reading under the pointer.
71475
72740
  * - `baseline`: The rule at zero, where zero is inside the range.
72741
+ * - `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.
71476
72742
  * - `gridline`: One rule across the plot, under `gridlines`.
71477
72743
  * - `guide`: A rule down the reading a pointer is resting on.
71478
72744
  * - `label`: One reading's name.
@@ -71480,6 +72746,7 @@ export type CustomElementsSolidJs = {
71480
72746
  * - `line`: The line for one series.
71481
72747
  * - `line-dashed`: A `line` whose series `dashed` names. Set alongside `line`.
71482
72748
  * - `live`: The readout: a polite live region that says the reading the keys moved to. Hide it visually.
72749
+ * - `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`.
71483
72750
  * - `mark`: The invisible point the tooltip is anchored to.
71484
72751
  * - `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`.
71485
72752
  * - `marker-lone`: A `marker` on a reading with a blank on either side, which no line reaches. Set alongside `marker`.
@@ -72275,6 +73542,11 @@ export type CustomElementsSolidJs = {
72275
73542
  * Draws two concentric circles: a track and a moving arc. The track shows the
72276
73543
  * arc as a proportion of a whole, and costs one element.
72277
73544
  *
73545
+ * **For work whose length is known, use `Progress` with `shape="ring"`.** It
73546
+ * draws the same ring filled to the value, says the value as a progress bar
73547
+ * does, and says when the work is complete. A loader claims no proportion, so
73548
+ * it takes no value.
73549
+ *
72278
73550
  * **The center is a slot, empty by default.** Put your logo there once, where
72279
73551
  * your app wraps the loader. When nothing is slotted, nothing extra is
72280
73552
  * rendered.
@@ -74277,6 +75549,13 @@ export type CustomElementsSolidJs = {
74277
75549
  * one page can mark the section in view with `aria-current="location"`. Where
74278
75550
  * several are marked, `page` wins.
74279
75551
  *
75552
+ * **The destinations can be a list.** Slot a `<ul>` or an `<ol>` of `<li>`
75553
+ * elements, each holding a link, and a screen reader says how many there are
75554
+ * and where each one is, as in Radix's `NavigationMenu.List`. The marker and
75555
+ * the arrow keys work on the list items as they do on bare links. Give the
75556
+ * list `role="list"` as well, since Safari drops the semantics of a list drawn
75557
+ * without bullets.
75558
+ *
74280
75559
  * Set `orientation="vertical"` to stack the destinations in a column, for a
74281
75560
  * sidebar.
74282
75561
  *
@@ -74657,6 +75936,17 @@ export type CustomElementsSolidJs = {
74657
75936
  * the feed holds one page of a longer list, and each row says its place in the
74658
75937
  * whole of it.
74659
75938
  *
75939
+ * **Keyboard.**
75940
+ *
75941
+ * | Key | What it does |
75942
+ * |---|---|
75943
+ * | Down, Up | On a row, moves to the next or the previous row. |
75944
+ * | Home, End | On a row, moves to the first or the last row. |
75945
+ * | Page Down, Page Up | From anywhere in a row, moves to the next or the previous row. |
75946
+ * | Control+End | From anywhere in the feed, moves to the first control after it on the page. |
75947
+ * | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
75948
+ * | Tab | Moves through the controls in a row, and on out of the feed. |
75949
+ *
74660
75950
  * **`load-more` adds a button after the list** that sends `helix-load-more`,
74661
75951
  * for a feed that holds one page of a longer list. Append the next page, set
74662
75952
  * `loading` while it is on its way, and take `load-more` off once there is
@@ -76641,9 +77931,10 @@ export type CustomElementsSolidJs = {
76641
77931
  *
76642
77932
  * The trigger is slotted and stays your own element. A Helix trigger is told
76643
77933
  * whether the popover is open inside its own shadow root. On a plain element,
76644
- * such as a `<button>`, the popover writes `aria-expanded` only once a reader
76645
- * has pressed it, which is after any hydration, and never where you wrote
76646
- * `aria-expanded` yourself. It writes nothing else onto your markup.
77934
+ * such as a `<button>`, the popover writes `aria-expanded`, from a frame after
77935
+ * its own first render, or from the first press where that comes sooner. It
77936
+ * never writes it where you wrote `aria-expanded` yourself, and writes nothing
77937
+ * else onto your markup.
76647
77938
  *
76648
77939
  * The panel is in the top layer through the popover API, so it needs no
76649
77940
  * `z-index`, and an ancestor with `overflow: hidden`, `transform`, `filter`, or
@@ -76666,6 +77957,17 @@ export type CustomElementsSolidJs = {
76666
77957
  *
76667
77958
  * The panel's name is `label` when you set it. Otherwise it is the first
76668
77959
  * heading in the panel, or the elements an `aria-labelledby` on the host names.
77960
+ * A development build warns when a popover opens with nothing but
77961
+ * `fallback-label` to name it.
77962
+ *
77963
+ * **Keyboard.** Opening moves focus to the first control in the panel, or to
77964
+ * the panel where it holds none.
77965
+ *
77966
+ * | Key | What it does |
77967
+ * |---|---|
77968
+ * | Enter, Space | On the trigger, opens the panel, or closes it while it is open. |
77969
+ * | Escape | Closes the panel and puts focus back on the trigger. |
77970
+ * | Tab, Shift+Tab | Moves through the controls in the panel. Leaving the panel and the trigger closes it. With `modal`, moves from the last control round to the first and from the first round to the last. |
76669
77971
  *
76670
77972
  * `arrow` draws a point on the panel's edge facing the trigger. The side the
76671
77973
  * panel landed on is on the host as `:state(placed-top)` and its kin, and the
@@ -76813,6 +78115,15 @@ export type CustomElementsSolidJs = {
76813
78115
  *
76814
78116
  * The fill is a fraction of the track, written as a custom property.
76815
78117
  *
78118
+ * **The reading is said in the words the bar would show**: a whole percentage
78119
+ * of the range in `locale`, the reading `format-options` writes, or
78120
+ * `value-text`, as `aria-valuetext` beside the number.
78121
+ *
78122
+ * **Words set in the default slot are drawn on the bar**, or in the middle of a
78123
+ * ring, such as `62%` or `3 of 8`, and are what the bar says as its reading
78124
+ * where `value-text` is not set. While there are any, the bar carries
78125
+ * `:state(content)`, so a sheet can make room for them.
78126
+ *
76816
78127
  * **Reaching `max` is said and sent.** When the value arrives at `max` from
76817
78128
  * below, the bar says `complete-label`, "Complete" by default, in a polite
76818
78129
  * `live` region and sends `helix-complete`, so a reader hears that the work is
@@ -76839,7 +78150,8 @@ export type CustomElementsSolidJs = {
76839
78150
  *
76840
78151
  * A `percent` style writes the share of the range, and any other the value
76841
78152
  * itself, so the example says "18 GB". Absent is a whole percentage. The
76842
- * words are announced as well as shown. `value-text` still wins.
78153
+ * words are announced whether or not `show-value` shows them. `value-text`
78154
+ * still wins.
76843
78155
  * - `indeterminate`: Whether the length of the task is unknown. The bar then shows activity
76844
78156
  * without a value.
76845
78157
  *
@@ -76928,6 +78240,7 @@ export type CustomElementsSolidJs = {
76928
78240
  *
76929
78241
  * Areas where markup can be added to the component.
76930
78242
  *
78243
+ * - `(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.
76931
78244
  * - `label`: A visible label. Its words name the progress bar in place of `label`.
76932
78245
  *
76933
78246
  * ## CSS Custom Properties
@@ -76940,6 +78253,7 @@ export type CustomElementsSolidJs = {
76940
78253
  *
76941
78254
  * Custom selectors for styling elements within the component.
76942
78255
  *
78256
+ * - `content`: The box holding the words of the default slot, over the track or in the middle of the ring. Carries `--progress-fraction`.
76943
78257
  * - `groove`: The unfilled circle under the ring's filled arc.
76944
78258
  * - `indicator`: The filled part that shows the work done.
76945
78259
  * - `live`: A polite region that says `complete-label` when the work is done, rendered from that moment. Hide it visually.
@@ -76951,6 +78265,7 @@ export type CustomElementsSolidJs = {
76951
78265
  * These can be used to apply styling when a component is in a given state.
76952
78266
  *
76953
78267
  * - `complete`: The value is at `max` and the bar is not indeterminate.
78268
+ * - `content`: Words are set in the default slot.
76954
78269
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
76955
78270
  */
76956
78271
  "helix-headless-progress": Partial<
@@ -77900,6 +79215,16 @@ export type CustomElementsSolidJs = {
77900
79215
  * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
77901
79216
  * pressed with Enter or Space, for a page that opens what a reading stands for.
77902
79217
  *
79218
+ * **`data` takes the readings as data** where the page has no table to point
79219
+ * `for` at, in a table's shape: the column headings, then one row per reading
79220
+ * with its label first. A table is still the better source where the page can
79221
+ * show one, since it reads before any script runs.
79222
+ *
79223
+ * **A chart with nothing to draw says so.** A table with no readings shows
79224
+ * `empty-text`, "No readings", in the plot, and `loading` shows `loading-text`
79225
+ * there until readings arrive. The `empty` and `loading` slots take markup in
79226
+ * their place, such as a link to add the first reading.
79227
+ *
77903
79228
  * ## Attributes & Properties
77904
79229
  *
77905
79230
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -77935,6 +79260,16 @@ export type CustomElementsSolidJs = {
77935
79260
  * Absent draws none. A series with fewer than two points, or with every
77936
79261
  * point at one measure across, has no line to draw. The summary already
77937
79262
  * gives each series' correlation, which says how near the points are to it.
79263
+ * - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
79264
+ * and the fallback of the `empty` slot.
79265
+ * - `loading`: Whether the readings are still on their way. The chart shows
79266
+ * `loading-text` in place of an empty drawing until it has readings.
79267
+ *
79268
+ * Reflected, so a stylesheet can treat the chart while it waits. A chart
79269
+ * that already has readings keeps drawing them, so a refresh does not
79270
+ * blank it.
79271
+ * - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
79272
+ * there are no readings yet, and the fallback of the `loading` slot.
77938
79273
  * - `for`: The id of the table to read.
77939
79274
  *
77940
79275
  * Names a table in the same tree, so a chart inside another component's
@@ -77965,6 +79300,28 @@ export type CustomElementsSolidJs = {
77965
79300
  * cannot be cast onto across unrelated classes, so it would be invisible to
77966
79301
  * every chart that needs it. Reading where a pointer is resting is a fair
77967
79302
  * thing to ask a chart anyway. (property only) (readonly)
79303
+ * - `data`: The readings as data, in the shape of a table, where the page has no
79304
+ * table to point `for` at. `for` wins where both are set.
79305
+ *
79306
+ * ```js
79307
+ * chart.data = {
79308
+ * caption: 'Sessions by channel',
79309
+ * columns: ['Month', 'Direct', 'Referral'],
79310
+ * rows: [['Jan', 10, 4], ['Feb', 20, 8]],
79311
+ * }
79312
+ * ```
79313
+ *
79314
+ * The first column holds each row's label and every column after it a
79315
+ * series, as in a table. A cell is a number, words, `null` for a blank,
79316
+ * or `{ value, text }` for a number shown as words, such as `$128k`. A
79317
+ * number is shown in `locale`.
79318
+ *
79319
+ * **A table is still the better source where the page can show one**:
79320
+ * it reads with no script and before hydration, and a reader can sort and
79321
+ * copy it. Data is drawn on the client only, so a server serves the
79322
+ * frame, and the summary, the keys and the readout are then the whole of
79323
+ * what a screen reader is given. Set a new object to redraw: the chart
79324
+ * does not look inside the one it has. (property only)
77968
79325
  * - `series`: The table's columns, one series each. Empty when there is no table.
77969
79326
  *
77970
79327
  * Held by the controller between edits, so a render reading this five
@@ -77981,6 +79338,9 @@ export type CustomElementsSolidJs = {
77981
79338
  * names an element, and the chart is a generic around its plot: written
77982
79339
  * on the host, the name reached nobody. The plot takes it, as Heatmap's
77983
79340
  * strip always did. (property only) (readonly)
79341
+ * - `readingsKnown`: Whether the readings have been looked for: false on the server and
79342
+ * while hydrating, where no table is resolved and no data is read. A
79343
+ * chart says it has no readings only once this is true. (property only) (readonly)
77984
79344
  * - `sourceRows`: Every row of the table, with each cell's text and number.
77985
79345
  *
77986
79346
  * This is where a tooltip's content comes from, and it is deliberately not
@@ -78027,6 +79387,13 @@ export type CustomElementsSolidJs = {
78027
79387
  * - `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.
78028
79388
  * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
78029
79389
  *
79390
+ * ## Slots
79391
+ *
79392
+ * Areas where markup can be added to the component.
79393
+ *
79394
+ * - `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`.
79395
+ * - `loading`: Content shown in place of the drawing while `loading` is set and there are no readings yet. Falls back to `loading-text`.
79396
+ *
78030
79397
  * ## Methods
78031
79398
  *
78032
79399
  * Methods that can be called to access component functionality.
@@ -78076,8 +79443,10 @@ export type CustomElementsSolidJs = {
78076
79443
  *
78077
79444
  * Custom selectors for styling elements within the component.
78078
79445
  *
79446
+ * - `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.
78079
79447
  * - `gridline`: One line across the plot, drawn when `gridlines` is set.
78080
79448
  * - `live`: The readout: a polite live region that says the row the keys moved to. Hide it visually.
79449
+ * - `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`.
78081
79450
  * - `mark`: The invisible point the tooltip is anchored to.
78082
79451
  * - `plane`: The grid that holds the plot, both axes, and their names. It runs left to right on every page.
78083
79452
  * - `plot`: The drawing, which takes focus to be read by key.
@@ -79635,6 +81004,21 @@ export type CustomElementsSolidJs = {
79635
81004
  * `collapsed-size` keeps a sliver of the pane visible, such as a tab strip.
79636
81005
  * Collapsing overrides `min` and `max`.
79637
81006
  *
81007
+ * Set `primary` to the pane that keeps its size when the splitter's own size
81008
+ * changes, such as a sidebar beside a window being resized. The other pane
81009
+ * takes all of the change, as Web Awesome's split panel does. Without it,
81010
+ * both panes keep their share.
81011
+ *
81012
+ * **Keyboard.** The divider is one tab stop.
81013
+ *
81014
+ * | Key | What it does |
81015
+ * |---|---|
81016
+ * | Left, Right | Moves a side-by-side divider by `step`. On a right-to-left page, Left moves it toward the end. |
81017
+ * | Up, Down | Moves a stacked divider by `step`. |
81018
+ * | Home, End | Moves the divider to its bounds. |
81019
+ * | Enter | Collapses the start pane, and opens it again. |
81020
+ * | F6 | Moves focus from one pane to the first control in the other, and from the divider to the start pane. |
81021
+ *
79638
81022
  * ## Attributes & Properties
79639
81023
  *
79640
81024
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -79716,6 +81100,8 @@ export type CustomElementsSolidJs = {
79716
81100
  * Reading gives where it is; writing declares it the consumer's, and
79717
81101
  * `default-position` seeds one this element owns. The same accessor pair
79718
81102
  * `Pagination.page` and the calendar's `month` carry.
81103
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
81104
+ * other pane takes all of the change. Unset, both keep their share.
79719
81105
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
79720
81106
  * panel does: a bare number is a percentage and a length such as `240px` is
79721
81107
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -81267,6 +82653,20 @@ export type CustomElementsSolidJs = {
81267
82653
  * Disabled tabs are passed over. Tab leaves the list for the selected panel,
81268
82654
  * which is a tab stop only while it holds nothing focusable.
81269
82655
  *
82656
+ * **Keyboard.**
82657
+ *
82658
+ * | Key | What it does |
82659
+ * |---|---|
82660
+ * | Right, Down | Moves to the next tab, from the last round to the first. Selects it, unless `manual` is set or a tab is a link. |
82661
+ * | Left, Up | Moves to the tab before, from the first round to the last. |
82662
+ * | Home, End | Moves to the first or the last tab. |
82663
+ * | Enter, Space | Selects the tab with focus, or follows its link. |
82664
+ * | Tab | Leaves the list for the selected panel. |
82665
+ *
82666
+ * Removing the selected tab selects the first enabled tab that is left, and
82667
+ * `active` says so, with `helix-activate`. Where the removed tab had focus,
82668
+ * focus moves to the tab now selected.
82669
+ *
81270
82670
  * The `indicator` part moves to the selected tab and carries its place and
81271
82671
  * size, so a mark of your own can be drawn there: style the part, or slot an
81272
82672
  * element into `indicator`, which sits inside the part and reads the same
@@ -84074,11 +85474,27 @@ export type CustomElementsSolidJs = {
84074
85474
  * you have moved it somewhere else on the page. A stop does not trap focus, so
84075
85475
  * you can still `Tab` out to the element it describes.
84076
85476
  *
84077
- * **The arrow keys move between stops** while focus is in one: the arrow that
84078
- * points the way the line runs goes on, and the other goes back, so on a
84079
- * right-to-left page `ArrowLeft` goes on. Neither finishes the tour at the last
84080
- * stop, and a text field in a stop keeps its own arrows. `Escape` skips the
84081
- * tour.
85477
+ * **The target is scrolled into view** before its stop is shown, by the
85478
+ * least distance that brings it on screen, so the stop that points at it is
85479
+ * on screen too.
85480
+ *
85481
+ * **Keyboard.** Focus is on the current stop's panel, which is not in the
85482
+ * `Tab` order itself.
85483
+ *
85484
+ * | Key | What it does |
85485
+ * |---|---|
85486
+ * | Right | Goes to the next stop. On the last stop it does nothing, and Next finishes the tour. |
85487
+ * | Left | Goes back to the previous stop. |
85488
+ * | Escape | Skips the tour, and puts focus back where it was when the tour opened. |
85489
+ * | Tab, Shift+Tab | Moves through the controls in the stop, and on out to the page. A stop does not trap focus. |
85490
+ * | Enter, Space | On Back, Next, or Skip, presses it. |
85491
+ *
85492
+ * The arrow that points the way the line runs goes on, and the other goes
85493
+ * back, so on a right-to-left page Left goes on and Right goes back. A text field in a stop keeps
85494
+ * its own arrows.
85495
+ *
85496
+ * The tour is a region named by `label` while it runs. A development build
85497
+ * warns when a tour opens with no `label`.
84082
85498
  *
84083
85499
  * ## Attributes & Properties
84084
85500
  *
@@ -84245,7 +85661,8 @@ export type CustomElementsSolidJs = {
84245
85661
  * The panel is a `group`, and a `dialog` for a dialog stop, only while the
84246
85662
  * stop is shown. It is named by the `heading` slot, then by the first heading
84247
85663
  * in the content, then by `label`, and otherwise by its place in the tour. It
84248
- * is described by the `description` slot and by its place, such as "2 of 5",
85664
+ * is described by the `description` slot, or where that is empty by the words
85665
+ * at the start of the content, and by its place, such as "2 of 5",
84249
85666
  * so a screen reader says where the reader is at every stop. `focus()` moves
84250
85667
  * focus to the panel, which is what the tour does when it opens or moves on.
84251
85668
  *
@@ -84615,6 +86032,9 @@ export type CustomElementsSolidJs = {
84615
86032
  * tree of check marks, Control+A (Command+A on an Apple keyboard) checks every
84616
86033
  * item or clears them all, and Shift with Up or Down Arrow moves and checks.
84617
86034
  *
86035
+ * Removing the item that has focus moves focus to the item after it among its
86036
+ * siblings, or the one before, or its parent, so focus stays in the tree.
86037
+ *
84618
86038
  * **`reorderable` lets you move items among their siblings.** Alt with Up or
84619
86039
  * Down moves the focused item a place, and Alt with Home or End to the first
84620
86040
  * or the last place among its siblings, as the APG's rearrangeable listbox