@fusion.dev/helix-headless 0.150.0 → 0.152.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 (75) hide show
  1. package/custom-elements.json +1388 -93
  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 +36 -0
  5. package/dist/area-chart/root/area-chart-root.js +17 -2
  6. package/dist/bar-chart/root/bar-chart-root.d.ts +28 -4
  7. package/dist/bar-chart/root/bar-chart-root.js +17 -4
  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/callout/root/callout-root.d.ts +20 -0
  13. package/dist/callout/root/callout-root.js +19 -4
  14. package/dist/chat/composer/chat-composer.d.ts +30 -0
  15. package/dist/chat/composer/chat-composer.js +47 -2
  16. package/dist/chat/root/chat-root.d.ts +10 -0
  17. package/dist/chat/root/chat-root.js +14 -0
  18. package/dist/data-table/root/data-table-root.d.ts +34 -2
  19. package/dist/data-table/root/data-table-root.js +63 -2
  20. package/dist/dialog/description.d.ts +10 -0
  21. package/dist/dialog/description.js +22 -8
  22. package/dist/dialog/root/dialog-root.d.ts +17 -1
  23. package/dist/dialog/root/dialog-root.js +2 -2
  24. package/dist/divider/root/divider-root.d.ts +8 -6
  25. package/dist/divider/root/divider-root.js +10 -2
  26. package/dist/drawer/root/drawer-root.d.ts +38 -2
  27. package/dist/drawer/root/drawer-root.js +33 -6
  28. package/dist/element-events.generated.js +4 -0
  29. package/dist/kbd/root/kbd-root.d.ts +7 -1
  30. package/dist/kbd/root/kbd-root.js +8 -4
  31. package/dist/lightbox/root/lightbox-root.d.ts +44 -6
  32. package/dist/lightbox/root/lightbox-root.js +59 -11
  33. package/dist/lightbox/zoom-controller.d.ts +5 -0
  34. package/dist/lightbox/zoom-controller.js +8 -0
  35. package/dist/line-chart/root/line-chart-root.d.ts +36 -0
  36. package/dist/line-chart/root/line-chart-root.js +15 -2
  37. package/dist/menu/root/menu-root.js +2 -0
  38. package/dist/navigation/root/navigation-root.d.ts +11 -1
  39. package/dist/navigation/root/navigation-root.js +10 -5
  40. package/dist/notifications/root/notifications-root.d.ts +17 -0
  41. package/dist/notifications/root/notifications-root.js +21 -1
  42. package/dist/popover/root/popover-root.d.ts +18 -7
  43. package/dist/popover/root/popover-root.js +8 -1
  44. package/dist/scatter-chart/root/scatter-chart-root.d.ts +18 -0
  45. package/dist/scatter-chart/root/scatter-chart-root.js +38 -15
  46. package/dist/splitter/root/splitter-root.d.ts +41 -0
  47. package/dist/splitter/root/splitter-root.js +77 -0
  48. package/dist/table/column/table-column.js +3 -2
  49. package/dist/table/grid-controller.d.ts +14 -2
  50. package/dist/table/grid-controller.js +27 -1
  51. package/dist/table/root/table-root.d.ts +30 -4
  52. package/dist/table/root/table-root.js +45 -7
  53. package/dist/table/row/table-row.d.ts +12 -2
  54. package/dist/table/row/table-row.js +8 -2
  55. package/dist/tabs/root/tabs-root.d.ts +25 -0
  56. package/dist/tabs/root/tabs-root.js +28 -1
  57. package/dist/tour/naming.d.ts +9 -3
  58. package/dist/tour/naming.js +9 -3
  59. package/dist/tour/root/tour-root.d.ts +29 -5
  60. package/dist/tour/root/tour-root.js +13 -1
  61. package/dist/tour/stop/tour-stop.d.ts +2 -1
  62. package/dist/tour/stop/tour-stop.js +4 -1
  63. package/dist/tree/root/tree-root.d.ts +13 -0
  64. package/dist/tree/root/tree-root.js +42 -2
  65. package/dist/video/root/video-root.d.ts +6 -0
  66. package/dist/video/root/video-root.js +5 -1
  67. package/dist/video-playlist/root/video-playlist-root.d.ts +4 -0
  68. package/dist/video-playlist/root/video-playlist-root.js +4 -1
  69. package/dist/virtual-list/root/virtual-list-root.d.ts +23 -1
  70. package/dist/virtual-list/root/virtual-list-root.js +21 -2
  71. package/lint.json +1 -1
  72. package/package.json +5 -5
  73. package/types/jsx.d.ts +1098 -128
  74. package/types/vue.d.ts +248 -59
  75. package/types/words.d.ts +12 -2
package/types/jsx.d.ts CHANGED
@@ -207,6 +207,8 @@ import type {
207
207
  HelixPreviousEvent,
208
208
  HelixRangeChangeEvent,
209
209
  HelixReadEvent,
210
+ HelixReadingChangeEvent,
211
+ HelixReadingPressEvent,
210
212
  HelixReconnectEvent,
211
213
  HelixRejectEvent,
212
214
  HelixRelabelEvent,
@@ -967,6 +969,22 @@ the wordmark and the actions happen to measure.
967
969
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
968
970
  the property carries the part's name, `content`. */
969
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;
970
988
  /** The id of the element whose scrolling lifts the bar, for an app shell that
971
989
  scrolls a container instead of the window. Unset is the window. */
972
990
  scroller?: (HelixHeadlessAppHeader["scroller"]) | undefined;
@@ -1006,6 +1024,22 @@ the wordmark and the actions happen to measure.
1006
1024
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
1007
1025
  the property carries the part's name, `content`. */
1008
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;
1009
1043
  /** The id of the element whose scrolling lifts the bar, for an app shell that
1010
1044
  scrolls a container instead of the window. Unset is the window. */
1011
1045
  "prop:scroller"?: (HelixHeadlessAppHeader["scroller"]) | undefined;
@@ -1020,6 +1054,18 @@ scrolls a container instead of the window. Unset is the window. */
1020
1054
  textContent?: (string | number) | undefined;
1021
1055
  };
1022
1056
 
1057
+ /** `HelixHeadlessAreaChart` component event */
1058
+ export type HelixHeadlessAreaChartElementEvent<E = Event> = TypedEvent<
1059
+ HelixHeadlessAreaChart,
1060
+ E
1061
+ >;
1062
+ /** `helix-reading-change` event type */
1063
+ export type HelixHeadlessAreaChartHelixReadingChangeElementEvent =
1064
+ HelixHeadlessAreaChartElementEvent<HelixReadingChangeEvent>;
1065
+ /** `helix-reading-press` event type */
1066
+ export type HelixHeadlessAreaChartHelixReadingPressElementEvent =
1067
+ HelixHeadlessAreaChartElementEvent<HelixReadingPressEvent>;
1068
+
1023
1069
  export type HelixHeadlessAreaChartProps = {
1024
1070
  /** How a band's edge gets from one reading to the next.
1025
1071
 
@@ -1070,6 +1116,18 @@ locale, and `{shares}` each part's share, listed as the locale lists. */
1070
1116
  "total-label"?: (HelixHeadlessAreaChart["totalLabel"]) | undefined;
1071
1117
  /** The name for the sum of the parts, shown in the tooltip and the summary. */
1072
1118
  totalLabel?: (HelixHeadlessAreaChart["totalLabel"]) | undefined;
1119
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
1120
+ `gridlines` rules: amounts, or percentages under `share`.
1121
+
1122
+ Absent draws none: bands read as a composition need no numbers beside
1123
+ them, and the tooltip and the table hold every reading. */
1124
+ "value-axis"?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1125
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
1126
+ `gridlines` rules: amounts, or percentages under `share`.
1127
+
1128
+ Absent draws none: bands read as a composition need no numbers beside
1129
+ them, and the tooltip and the table hold every reading. */
1130
+ valueAxis?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1073
1131
  /** The id of the table to read.
1074
1132
 
1075
1133
  Names a table in the same tree, so a chart inside another component's
@@ -1106,6 +1164,15 @@ Set it to the words of the page's language, such as `{position} von
1106
1164
  {count}`, or to nothing to say no position. A slice or a series a
1107
1165
  legend hid is not counted. */
1108
1166
  positionLabel?: (HelixHeadlessAreaChart["positionLabel"]) | undefined;
1167
+
1168
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1169
+ "onhelix-reading-change"?: ((
1170
+ e: HelixHeadlessAreaChartHelixReadingChangeElementEvent,
1171
+ ) => void) | undefined;
1172
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
1173
+ "onhelix-reading-press"?: ((
1174
+ e: HelixHeadlessAreaChartHelixReadingPressElementEvent,
1175
+ ) => void) | undefined;
1109
1176
  };
1110
1177
 
1111
1178
  export type HelixHeadlessAreaChartSolidJsProps = {
@@ -1158,6 +1225,18 @@ locale, and `{shares}` each part's share, listed as the locale lists. */
1158
1225
  "attr:total-label"?: (HelixHeadlessAreaChart["totalLabel"]) | undefined;
1159
1226
  /** The name for the sum of the parts, shown in the tooltip and the summary. */
1160
1227
  "prop:totalLabel"?: (HelixHeadlessAreaChart["totalLabel"]) | undefined;
1228
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
1229
+ `gridlines` rules: amounts, or percentages under `share`.
1230
+
1231
+ Absent draws none: bands read as a composition need no numbers beside
1232
+ them, and the tooltip and the table hold every reading. */
1233
+ "bool:value-axis"?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1234
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
1235
+ `gridlines` rules: amounts, or percentages under `share`.
1236
+
1237
+ Absent draws none: bands read as a composition need no numbers beside
1238
+ them, and the tooltip and the table hold every reading. */
1239
+ "prop:valueAxis"?: (HelixHeadlessAreaChart["valueAxis"]) | undefined;
1161
1240
  /** The id of the table to read.
1162
1241
 
1163
1242
  Names a table in the same tree, so a chart inside another component's
@@ -1194,6 +1273,14 @@ Set it to the words of the page's language, such as `{position} von
1194
1273
  {count}`, or to nothing to say no position. A slice or a series a
1195
1274
  legend hid is not counted. */
1196
1275
  "prop:positionLabel"?: (HelixHeadlessAreaChart["positionLabel"]) | undefined;
1276
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1277
+ "on:helix-reading-change"?: ((
1278
+ e: HelixHeadlessAreaChartHelixReadingChangeElementEvent,
1279
+ ) => void) | undefined;
1280
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
1281
+ "on:helix-reading-press"?: ((
1282
+ e: HelixHeadlessAreaChartHelixReadingPressElementEvent,
1283
+ ) => void) | undefined;
1197
1284
 
1198
1285
  /** Set the innerHTML of the element */
1199
1286
  innerHTML?: (string) | undefined;
@@ -1511,6 +1598,18 @@ is showing a count must not lose the count for being handed one. */
1511
1598
  textContent?: (string | number) | undefined;
1512
1599
  };
1513
1600
 
1601
+ /** `HelixHeadlessBarChart` component event */
1602
+ export type HelixHeadlessBarChartElementEvent<E = Event> = TypedEvent<
1603
+ HelixHeadlessBarChart,
1604
+ E
1605
+ >;
1606
+ /** `helix-reading-change` event type */
1607
+ export type HelixHeadlessBarChartHelixReadingChangeElementEvent =
1608
+ HelixHeadlessBarChartElementEvent<HelixReadingChangeEvent>;
1609
+ /** `helix-reading-press` event type */
1610
+ export type HelixHeadlessBarChartHelixReadingPressElementEvent =
1611
+ HelixHeadlessBarChartElementEvent<HelixReadingPressEvent>;
1612
+
1514
1613
  export type HelixHeadlessBarChartProps = {
1515
1614
  /** Which gridlines are drawn across the plot, if any.
1516
1615
 
@@ -1621,6 +1720,20 @@ the reading as the table writes it. */
1621
1720
  `{readings}` each series' highest reading: the series, the category and
1622
1721
  the reading as the table writes it. */
1623
1722
  summaryLabel?: (HelixHeadlessBarChart["summaryLabel"]) | undefined;
1723
+ /** Draws the numbers of the scale the bars are measured on, the `axis` part,
1724
+ at the levels `gridlines` rules: down the side of columns, and along the
1725
+ bottom of bars under `orientation="horizontal"`.
1726
+
1727
+ Absent draws none with one scale, since bars compared with each other need
1728
+ no numbers. With `secondary` both scales are drawn whatever this says. */
1729
+ "value-axis"?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1730
+ /** Draws the numbers of the scale the bars are measured on, the `axis` part,
1731
+ at the levels `gridlines` rules: down the side of columns, and along the
1732
+ bottom of bars under `orientation="horizontal"`.
1733
+
1734
+ Absent draws none with one scale, since bars compared with each other need
1735
+ no numbers. With `secondary` both scales are drawn whatever this says. */
1736
+ valueAxis?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1624
1737
  /** The id of the table to read.
1625
1738
 
1626
1739
  Names a table in the same tree, so a chart inside another component's
@@ -1657,6 +1770,15 @@ Set it to the words of the page's language, such as `{position} von
1657
1770
  {count}`, or to nothing to say no position. A slice or a series a
1658
1771
  legend hid is not counted. */
1659
1772
  positionLabel?: (HelixHeadlessBarChart["positionLabel"]) | undefined;
1773
+
1774
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1775
+ "onhelix-reading-change"?: ((
1776
+ e: HelixHeadlessBarChartHelixReadingChangeElementEvent,
1777
+ ) => void) | undefined;
1778
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
1779
+ "onhelix-reading-press"?: ((
1780
+ e: HelixHeadlessBarChartHelixReadingPressElementEvent,
1781
+ ) => void) | undefined;
1660
1782
  };
1661
1783
 
1662
1784
  export type HelixHeadlessBarChartSolidJsProps = {
@@ -1769,6 +1891,20 @@ the reading as the table writes it. */
1769
1891
  `{readings}` each series' highest reading: the series, the category and
1770
1892
  the reading as the table writes it. */
1771
1893
  "prop:summaryLabel"?: (HelixHeadlessBarChart["summaryLabel"]) | undefined;
1894
+ /** Draws the numbers of the scale the bars are measured on, the `axis` part,
1895
+ at the levels `gridlines` rules: down the side of columns, and along the
1896
+ bottom of bars under `orientation="horizontal"`.
1897
+
1898
+ Absent draws none with one scale, since bars compared with each other need
1899
+ no numbers. With `secondary` both scales are drawn whatever this says. */
1900
+ "bool:value-axis"?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1901
+ /** Draws the numbers of the scale the bars are measured on, the `axis` part,
1902
+ at the levels `gridlines` rules: down the side of columns, and along the
1903
+ bottom of bars under `orientation="horizontal"`.
1904
+
1905
+ Absent draws none with one scale, since bars compared with each other need
1906
+ no numbers. With `secondary` both scales are drawn whatever this says. */
1907
+ "prop:valueAxis"?: (HelixHeadlessBarChart["valueAxis"]) | undefined;
1772
1908
  /** The id of the table to read.
1773
1909
 
1774
1910
  Names a table in the same tree, so a chart inside another component's
@@ -1805,6 +1941,14 @@ Set it to the words of the page's language, such as `{position} von
1805
1941
  {count}`, or to nothing to say no position. A slice or a series a
1806
1942
  legend hid is not counted. */
1807
1943
  "prop:positionLabel"?: (HelixHeadlessBarChart["positionLabel"]) | undefined;
1944
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
1945
+ "on:helix-reading-change"?: ((
1946
+ e: HelixHeadlessBarChartHelixReadingChangeElementEvent,
1947
+ ) => void) | undefined;
1948
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
1949
+ "on:helix-reading-press"?: ((
1950
+ e: HelixHeadlessBarChartHelixReadingPressElementEvent,
1951
+ ) => void) | undefined;
1808
1952
 
1809
1953
  /** Set the innerHTML of the element */
1810
1954
  innerHTML?: (string) | undefined;
@@ -2477,6 +2621,22 @@ export type HelixHeadlessCalloutHelixDismissElementEvent =
2477
2621
  HelixHeadlessCalloutElementEvent<HelixDismissEvent>;
2478
2622
 
2479
2623
  export type HelixHeadlessCalloutProps = {
2624
+ /** The dismiss button's name, read by screen readers, with `{label}` for
2625
+ what the callout is called: its heading, or the tone's name where it has
2626
+ none.
2627
+
2628
+ "Dismiss Scheduled maintenance" says which of several callouts the button
2629
+ takes away, where every button was "Dismiss". A label without `{label}` is
2630
+ read as written. */
2631
+ "dismiss-label"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2632
+ /** The dismiss button's name, read by screen readers, with `{label}` for
2633
+ what the callout is called: its heading, or the tone's name where it has
2634
+ none.
2635
+
2636
+ "Dismiss Scheduled maintenance" says which of several callouts the button
2637
+ takes away, where every button was "Dismiss". A label without `{label}` is
2638
+ read as written. */
2639
+ dismissLabel?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2480
2640
  /** What kind of attention the passage needs.
2481
2641
 
2482
2642
  `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -2510,34 +2670,28 @@ out keeps its English, and `tone-label` wins over both.
2510
2670
  toneLabels?: (HelixHeadlessCallout["toneLabels"]) | undefined;
2511
2671
  /** Whether the element shows a control that dismisses it. */
2512
2672
  dismissible?: (HelixHeadlessCallout["dismissible"]) | undefined;
2513
- /** The dismiss control's label, read by screen readers.
2514
-
2515
- `attribute` is spelled out because Lit lowercases a property name to
2516
- derive one rather than dash-casing it, so this would otherwise be
2517
- reachable only as `dismisslabel`, which nobody would guess and no linter
2518
- would catch.
2519
-
2520
- A word property: register it for a locale under the host's key. A family
2521
- that names the control otherwise, such as Tag's `Remove {label}`,
2522
- declares its own English with `@words` above the override. */
2523
- "dismiss-label"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2524
- /** The dismiss control's label, read by screen readers.
2525
-
2526
- `attribute` is spelled out because Lit lowercases a property name to
2527
- derive one rather than dash-casing it, so this would otherwise be
2528
- reachable only as `dismisslabel`, which nobody would guess and no linter
2529
- would catch.
2530
-
2531
- A word property: register it for a locale under the host's key. A family
2532
- that names the control otherwise, such as Tag's `Remove {label}`,
2533
- declares its own English with `@words` above the override. */
2534
- dismissLabel?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2535
2673
 
2536
2674
  /** The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable. */
2537
2675
  "onhelix-dismiss"?: ((e: HelixHeadlessCalloutHelixDismissElementEvent) => void) | undefined;
2538
2676
  };
2539
2677
 
2540
2678
  export type HelixHeadlessCalloutSolidJsProps = {
2679
+ /** The dismiss button's name, read by screen readers, with `{label}` for
2680
+ what the callout is called: its heading, or the tone's name where it has
2681
+ none.
2682
+
2683
+ "Dismiss Scheduled maintenance" says which of several callouts the button
2684
+ takes away, where every button was "Dismiss". A label without `{label}` is
2685
+ read as written. */
2686
+ "attr:dismiss-label"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2687
+ /** The dismiss button's name, read by screen readers, with `{label}` for
2688
+ what the callout is called: its heading, or the tone's name where it has
2689
+ none.
2690
+
2691
+ "Dismiss Scheduled maintenance" says which of several callouts the button
2692
+ takes away, where every button was "Dismiss". A label without `{label}` is
2693
+ read as written. */
2694
+ "prop:dismissLabel"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2541
2695
  /** What kind of attention the passage needs.
2542
2696
 
2543
2697
  `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -2571,28 +2725,6 @@ out keeps its English, and `tone-label` wins over both.
2571
2725
  "prop:toneLabels"?: (HelixHeadlessCallout["toneLabels"]) | undefined;
2572
2726
  /** Whether the element shows a control that dismisses it. */
2573
2727
  "prop:dismissible"?: (HelixHeadlessCallout["dismissible"]) | undefined;
2574
- /** The dismiss control's label, read by screen readers.
2575
-
2576
- `attribute` is spelled out because Lit lowercases a property name to
2577
- derive one rather than dash-casing it, so this would otherwise be
2578
- reachable only as `dismisslabel`, which nobody would guess and no linter
2579
- would catch.
2580
-
2581
- A word property: register it for a locale under the host's key. A family
2582
- that names the control otherwise, such as Tag's `Remove {label}`,
2583
- declares its own English with `@words` above the override. */
2584
- "attr:dismiss-label"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2585
- /** The dismiss control's label, read by screen readers.
2586
-
2587
- `attribute` is spelled out because Lit lowercases a property name to
2588
- derive one rather than dash-casing it, so this would otherwise be
2589
- reachable only as `dismisslabel`, which nobody would guess and no linter
2590
- would catch.
2591
-
2592
- A word property: register it for a locale under the host's key. A family
2593
- that names the control otherwise, such as Tag's `Remove {label}`,
2594
- declares its own English with `@words` above the override. */
2595
- "prop:dismissLabel"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
2596
2728
  /** The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable. */
2597
2729
  "on:helix-dismiss"?: ((
2598
2730
  e: HelixHeadlessCalloutHelixDismissElementEvent,
@@ -4437,8 +4569,21 @@ export type HelixHeadlessChatComposerHelixTypingElementEvent =
4437
4569
  export type HelixHeadlessChatComposerProps = {
4438
4570
  /** The field's name, read by screen readers. */
4439
4571
  label?: (HelixHeadlessChatComposer["label"]) | undefined;
4572
+ /** The most characters a draft can have. The field stops taking more. */
4573
+ maxlength?: (HelixHeadlessChatComposer["maxLength"] | `${number}`) | undefined;
4574
+ /** The most characters a draft can have. The field stops taking more. */
4575
+ maxLength?: (HelixHeadlessChatComposer["maxLength"]) | undefined;
4576
+ /** The fewest characters a draft can have, once the reader has written in
4577
+ the field, as on a `<textarea>`. */
4578
+ minlength?: (HelixHeadlessChatComposer["minLength"] | `${number}`) | undefined;
4579
+ /** The fewest characters a draft can have, once the reader has written in
4580
+ the field, as on a `<textarea>`. */
4581
+ minLength?: (HelixHeadlessChatComposer["minLength"]) | undefined;
4440
4582
  /** Placeholder text shown in an empty field. */
4441
4583
  placeholder?: (HelixHeadlessChatComposer["placeholder"]) | undefined;
4584
+ /** Whether the form needs a draft to submit. An empty draft never sends,
4585
+ required or not. */
4586
+ required?: (HelixHeadlessChatComposer["required"]) | undefined;
4442
4587
  /** How many rows the field opens at.
4443
4588
 
4444
4589
  It grows from there. */
@@ -4512,8 +4657,21 @@ Here rather than on each control. */
4512
4657
  export type HelixHeadlessChatComposerSolidJsProps = {
4513
4658
  /** The field's name, read by screen readers. */
4514
4659
  "prop:label"?: (HelixHeadlessChatComposer["label"]) | undefined;
4660
+ /** The most characters a draft can have. The field stops taking more. */
4661
+ "attr:maxlength"?: (HelixHeadlessChatComposer["maxLength"] | `${number}`) | undefined;
4662
+ /** The most characters a draft can have. The field stops taking more. */
4663
+ "prop:maxLength"?: (HelixHeadlessChatComposer["maxLength"]) | undefined;
4664
+ /** The fewest characters a draft can have, once the reader has written in
4665
+ the field, as on a `<textarea>`. */
4666
+ "attr:minlength"?: (HelixHeadlessChatComposer["minLength"] | `${number}`) | undefined;
4667
+ /** The fewest characters a draft can have, once the reader has written in
4668
+ the field, as on a `<textarea>`. */
4669
+ "prop:minLength"?: (HelixHeadlessChatComposer["minLength"]) | undefined;
4515
4670
  /** Placeholder text shown in an empty field. */
4516
4671
  "prop:placeholder"?: (HelixHeadlessChatComposer["placeholder"]) | undefined;
4672
+ /** Whether the form needs a draft to submit. An empty draft never sends,
4673
+ required or not. */
4674
+ "prop:required"?: (HelixHeadlessChatComposer["required"]) | undefined;
4517
4675
  /** How many rows the field opens at.
4518
4676
 
4519
4677
  It grows from there. */
@@ -8419,6 +8577,20 @@ rows are chosen, written in the locale, and a language that needs plural
8419
8577
  forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
8420
8578
  {# wybranych} other {# wybranego}}`. */
8421
8579
  selectedLabel?: (HelixHeadlessDataTable["selectedLabel"]) | undefined;
8580
+ /** What a key or a press on a row does to the rows already selected, in a
8581
+ `selectable` table. `toggle`, the default, keeps them: Space adds or takes
8582
+ out the row. `replace` selects the row alone, as a file list does: Down and
8583
+ Up carry the selection with them, and a press on a row selects it. Control
8584
+ or Command with a press or Space adds or takes out one row, and with a move
8585
+ goes without selecting. The checkboxes add or take out one row either way. */
8586
+ "selection-behavior"?: (HelixHeadlessDataTable["selectionBehavior"]) | undefined;
8587
+ /** What a key or a press on a row does to the rows already selected, in a
8588
+ `selectable` table. `toggle`, the default, keeps them: Space adds or takes
8589
+ out the row. `replace` selects the row alone, as a file list does: Down and
8590
+ Up carry the selection with them, and a press on a row selects it. Control
8591
+ or Command with a press or Space adds or takes out one row, and with a move
8592
+ goes without selecting. The checkboxes add or take out one row either way. */
8593
+ selectionBehavior?: (HelixHeadlessDataTable["selectionBehavior"]) | undefined;
8422
8594
  /** The name of a row's checkbox. `{row}` is replaced with the row's value in
8423
8595
  the first column that has a field, or with its key. */
8424
8596
  "select-row-label"?: (HelixHeadlessDataTable["selectRowLabel"]) | undefined;
@@ -8818,6 +8990,20 @@ rows are chosen, written in the locale, and a language that needs plural
8818
8990
  forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
8819
8991
  {# wybranych} other {# wybranego}}`. */
8820
8992
  "prop:selectedLabel"?: (HelixHeadlessDataTable["selectedLabel"]) | undefined;
8993
+ /** What a key or a press on a row does to the rows already selected, in a
8994
+ `selectable` table. `toggle`, the default, keeps them: Space adds or takes
8995
+ out the row. `replace` selects the row alone, as a file list does: Down and
8996
+ Up carry the selection with them, and a press on a row selects it. Control
8997
+ or Command with a press or Space adds or takes out one row, and with a move
8998
+ goes without selecting. The checkboxes add or take out one row either way. */
8999
+ "attr:selection-behavior"?: (HelixHeadlessDataTable["selectionBehavior"]) | undefined;
9000
+ /** What a key or a press on a row does to the rows already selected, in a
9001
+ `selectable` table. `toggle`, the default, keeps them: Space adds or takes
9002
+ out the row. `replace` selects the row alone, as a file list does: Down and
9003
+ Up carry the selection with them, and a press on a row selects it. Control
9004
+ or Command with a press or Space adds or takes out one row, and with a move
9005
+ goes without selecting. The checkboxes add or take out one row either way. */
9006
+ "prop:selectionBehavior"?: (HelixHeadlessDataTable["selectionBehavior"]) | undefined;
8821
9007
  /** The name of a row's checkbox. `{row}` is replaced with the row's value in
8822
9008
  the first column that has a field, or with its key. */
8823
9009
  "attr:select-row-label"?: (HelixHeadlessDataTable["selectRowLabel"]) | undefined;
@@ -10600,8 +10786,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10600
10786
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10601
10787
  the property this component exists to keep.
10602
10788
 
10789
+ The press on the backdrop that this element handles itself follows it too:
10790
+ `closerequest` and `none` leave the dialog open on that press, as the
10791
+ platform does, and `none` also keeps it open on Escape in a browser without
10792
+ `closedby`.
10793
+
10603
10794
  Absent by default, which is the platform's `auto` and this library's rule
10604
- that a resting value is an attribute's absence. */
10795
+ that a resting value is an attribute's absence. Absent, a press on the
10796
+ backdrop closes the dialog. */
10605
10797
  closedby?: (HelixHeadlessDialog["closedBy"]) | undefined;
10606
10798
  /** Which close requests the browser handles on its own.
10607
10799
 
@@ -10611,8 +10803,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10611
10803
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10612
10804
  the property this component exists to keep.
10613
10805
 
10806
+ The press on the backdrop that this element handles itself follows it too:
10807
+ `closerequest` and `none` leave the dialog open on that press, as the
10808
+ platform does, and `none` also keeps it open on Escape in a browser without
10809
+ `closedby`.
10810
+
10614
10811
  Absent by default, which is the platform's `auto` and this library's rule
10615
- that a resting value is an attribute's absence. */
10812
+ that a resting value is an attribute's absence. Absent, a press on the
10813
+ backdrop closes the dialog. */
10616
10814
  closedBy?: (HelixHeadlessDialog["closedBy"]) | undefined;
10617
10815
  /** Draws a control that closes the dialog, in the corner where the title is.
10618
10816
 
@@ -10706,8 +10904,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10706
10904
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10707
10905
  the property this component exists to keep.
10708
10906
 
10907
+ The press on the backdrop that this element handles itself follows it too:
10908
+ `closerequest` and `none` leave the dialog open on that press, as the
10909
+ platform does, and `none` also keeps it open on Escape in a browser without
10910
+ `closedby`.
10911
+
10709
10912
  Absent by default, which is the platform's `auto` and this library's rule
10710
- that a resting value is an attribute's absence. */
10913
+ that a resting value is an attribute's absence. Absent, a press on the
10914
+ backdrop closes the dialog. */
10711
10915
  "attr:closedby"?: (HelixHeadlessDialog["closedBy"]) | undefined;
10712
10916
  /** Which close requests the browser handles on its own.
10713
10917
 
@@ -10717,8 +10921,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
10717
10921
  `closedby="any"` gains light dismiss without giving up the refusal, which is
10718
10922
  the property this component exists to keep.
10719
10923
 
10924
+ The press on the backdrop that this element handles itself follows it too:
10925
+ `closerequest` and `none` leave the dialog open on that press, as the
10926
+ platform does, and `none` also keeps it open on Escape in a browser without
10927
+ `closedby`.
10928
+
10720
10929
  Absent by default, which is the platform's `auto` and this library's rule
10721
- that a resting value is an attribute's absence. */
10930
+ that a resting value is an attribute's absence. Absent, a press on the
10931
+ backdrop closes the dialog. */
10722
10932
  "prop:closedBy"?: (HelixHeadlessDialog["closedBy"]) | undefined;
10723
10933
  /** Draws a control that closes the dialog, in the corner where the title is.
10724
10934
 
@@ -10799,11 +11009,7 @@ survives to it and a consumer reading one back gets what they wrote. */
10799
11009
 
10800
11010
  export type HelixHeadlessDividerProps = {
10801
11011
  /** Whether screen readers announce the line as a separator, which they now do
10802
- by default.
10803
-
10804
- It dates from when the line was decorative by default. It is still read,
10805
- and it wins over `decorative`, so a divider written with it stays a
10806
- separator. */
11012
+ by default. */
10807
11013
  announced?: (HelixHeadlessDivider["announced"]) | undefined;
10808
11014
  /** Takes the line out of the accessibility tree, for a rule that separates
10809
11015
  nothing: one under a heading, or between the facts of a byline.
@@ -10820,11 +11026,7 @@ Unset is horizontal, or across the toolbar the divider sits in. */
10820
11026
 
10821
11027
  export type HelixHeadlessDividerSolidJsProps = {
10822
11028
  /** Whether screen readers announce the line as a separator, which they now do
10823
- by default.
10824
-
10825
- It dates from when the line was decorative by default. It is still read,
10826
- and it wins over `decorative`, so a divider written with it stays a
10827
- separator. */
11029
+ by default. */
10828
11030
  "prop:announced"?: (HelixHeadlessDivider["announced"]) | undefined;
10829
11031
  /** Takes the line out of the accessibility tree, for a rule that separates
10830
11032
  nothing: one under a heading, or between the facts of a byline.
@@ -11125,6 +11327,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
11125
11327
  attribute on the host, and nothing selects on it: the scrim is rendered or
11126
11328
  not, rather than shown or hidden by CSS. */
11127
11329
  modal?: (HelixHeadlessDrawer["modal"]) | undefined;
11330
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
11331
+ drawer that has to be answered.
11332
+
11333
+ The close control and `close()` still close it, as on `Dialog`: a panel
11334
+ with no way out at all is a trap. */
11335
+ persistent?: (HelixHeadlessDrawer["persistent"]) | undefined;
11128
11336
  /** Which edge the drawer comes from.
11129
11337
 
11130
11338
  Unset is `end`, and it stays unset rather than being written down: a
@@ -11252,6 +11460,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
11252
11460
  attribute on the host, and nothing selects on it: the scrim is rendered or
11253
11461
  not, rather than shown or hidden by CSS. */
11254
11462
  "prop:modal"?: (HelixHeadlessDrawer["modal"]) | undefined;
11463
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
11464
+ drawer that has to be answered.
11465
+
11466
+ The close control and `close()` still close it, as on `Dialog`: a panel
11467
+ with no way out at all is a trap. */
11468
+ "prop:persistent"?: (HelixHeadlessDrawer["persistent"]) | undefined;
11255
11469
  /** Which edge the drawer comes from.
11256
11470
 
11257
11471
  Unset is `end`, and it stays unset rather than being written down: a
@@ -15683,6 +15897,18 @@ the resolved state for stylesheets, which is what the mirror is for. */
15683
15897
  textContent?: (string | number) | undefined;
15684
15898
  };
15685
15899
 
15900
+ /** `HelixHeadlessLineChart` component event */
15901
+ export type HelixHeadlessLineChartElementEvent<E = Event> = TypedEvent<
15902
+ HelixHeadlessLineChart,
15903
+ E
15904
+ >;
15905
+ /** `helix-reading-change` event type */
15906
+ export type HelixHeadlessLineChartHelixReadingChangeElementEvent =
15907
+ HelixHeadlessLineChartElementEvent<HelixReadingChangeEvent>;
15908
+ /** `helix-reading-press` event type */
15909
+ export type HelixHeadlessLineChartHelixReadingPressElementEvent =
15910
+ HelixHeadlessLineChartElementEvent<HelixReadingPressEvent>;
15911
+
15686
15912
  export type HelixHeadlessLineChartProps = {
15687
15913
  /** Draws a wash under each line, down to the floor of the plot. The washes
15688
15914
  overlap and do not add up, so for parts that make a total, use
@@ -15784,6 +16010,20 @@ masked with one disc per series and every stroke stops at its own ring's
15784
16010
  inner edge. `mask-composite: intersect` is what makes N holes out of N
15785
16011
  layers; a single `mask-image` would only ever cut the last one. */
15786
16012
  terminus?: (HelixHeadlessLineChart["terminus"]) | undefined;
16013
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
16014
+ `gridlines` rules, so a reading can be measured off the drawing as well
16015
+ as read from the tooltip.
16016
+
16017
+ Absent draws none: a line read for its shape needs no numbers beside it,
16018
+ and the tooltip and the table hold every reading. */
16019
+ "value-axis"?: (HelixHeadlessLineChart["valueAxis"]) | undefined;
16020
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
16021
+ `gridlines` rules, so a reading can be measured off the drawing as well
16022
+ as read from the tooltip.
16023
+
16024
+ Absent draws none: a line read for its shape needs no numbers beside it,
16025
+ and the tooltip and the table hold every reading. */
16026
+ valueAxis?: (HelixHeadlessLineChart["valueAxis"]) | undefined;
15787
16027
  /** Whether the range always includes zero.
15788
16028
 
15789
16029
  Absent measures from the data's own extent, which is what a line is for.
@@ -15827,6 +16067,15 @@ Set it to the words of the page's language, such as `{position} von
15827
16067
  {count}`, or to nothing to say no position. A slice or a series a
15828
16068
  legend hid is not counted. */
15829
16069
  positionLabel?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16070
+
16071
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
16072
+ "onhelix-reading-change"?: ((
16073
+ e: HelixHeadlessLineChartHelixReadingChangeElementEvent,
16074
+ ) => void) | undefined;
16075
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
16076
+ "onhelix-reading-press"?: ((
16077
+ e: HelixHeadlessLineChartHelixReadingPressElementEvent,
16078
+ ) => void) | undefined;
15830
16079
  };
15831
16080
 
15832
16081
  export type HelixHeadlessLineChartSolidJsProps = {
@@ -15930,6 +16179,20 @@ masked with one disc per series and every stroke stops at its own ring's
15930
16179
  inner edge. `mask-composite: intersect` is what makes N holes out of N
15931
16180
  layers; a single `mask-image` would only ever cut the last one. */
15932
16181
  "prop:terminus"?: (HelixHeadlessLineChart["terminus"]) | undefined;
16182
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
16183
+ `gridlines` rules, so a reading can be measured off the drawing as well
16184
+ as read from the tooltip.
16185
+
16186
+ Absent draws none: a line read for its shape needs no numbers beside it,
16187
+ and the tooltip and the table hold every reading. */
16188
+ "bool:value-axis"?: (HelixHeadlessLineChart["valueAxis"]) | undefined;
16189
+ /** Draws the scale's numbers beside the plot, the `axis` part, at the levels
16190
+ `gridlines` rules, so a reading can be measured off the drawing as well
16191
+ as read from the tooltip.
16192
+
16193
+ Absent draws none: a line read for its shape needs no numbers beside it,
16194
+ and the tooltip and the table hold every reading. */
16195
+ "prop:valueAxis"?: (HelixHeadlessLineChart["valueAxis"]) | undefined;
15933
16196
  /** Whether the range always includes zero.
15934
16197
 
15935
16198
  Absent measures from the data's own extent, which is what a line is for.
@@ -15973,6 +16236,14 @@ Set it to the words of the page's language, such as `{position} von
15973
16236
  {count}`, or to nothing to say no position. A slice or a series a
15974
16237
  legend hid is not counted. */
15975
16238
  "prop:positionLabel"?: (HelixHeadlessLineChart["positionLabel"]) | undefined;
16239
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
16240
+ "on:helix-reading-change"?: ((
16241
+ e: HelixHeadlessLineChartHelixReadingChangeElementEvent,
16242
+ ) => void) | undefined;
16243
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
16244
+ "on:helix-reading-press"?: ((
16245
+ e: HelixHeadlessLineChartHelixReadingPressElementEvent,
16246
+ ) => void) | undefined;
15976
16247
 
15977
16248
  /** Set the innerHTML of the element */
15978
16249
  innerHTML?: (string) | undefined;
@@ -23233,6 +23504,18 @@ form would submit it. */
23233
23504
  textContent?: (string | number) | undefined;
23234
23505
  };
23235
23506
 
23507
+ /** `HelixHeadlessScatterChart` component event */
23508
+ export type HelixHeadlessScatterChartElementEvent<E = Event> = TypedEvent<
23509
+ HelixHeadlessScatterChart,
23510
+ E
23511
+ >;
23512
+ /** `helix-reading-change` event type */
23513
+ export type HelixHeadlessScatterChartHelixReadingChangeElementEvent =
23514
+ HelixHeadlessScatterChartElementEvent<HelixReadingChangeEvent>;
23515
+ /** `helix-reading-press` event type */
23516
+ export type HelixHeadlessScatterChartHelixReadingPressElementEvent =
23517
+ HelixHeadlessScatterChartElementEvent<HelixReadingPressEvent>;
23518
+
23236
23519
  export type HelixHeadlessScatterChartProps = {
23237
23520
  /** The word for the strength of the relation, `{correlationLabel}` in
23238
23521
  `series-label`. */
@@ -23329,6 +23612,15 @@ Set it to the words of the page's language, such as `{position} von
23329
23612
  {count}`, or to nothing to say no position. A slice or a series a
23330
23613
  legend hid is not counted. */
23331
23614
  positionLabel?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
23615
+
23616
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
23617
+ "onhelix-reading-change"?: ((
23618
+ e: HelixHeadlessScatterChartHelixReadingChangeElementEvent,
23619
+ ) => void) | undefined;
23620
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
23621
+ "onhelix-reading-press"?: ((
23622
+ e: HelixHeadlessScatterChartHelixReadingPressElementEvent,
23623
+ ) => void) | undefined;
23332
23624
  };
23333
23625
 
23334
23626
  export type HelixHeadlessScatterChartSolidJsProps = {
@@ -23427,6 +23719,14 @@ Set it to the words of the page's language, such as `{position} von
23427
23719
  {count}`, or to nothing to say no position. A slice or a series a
23428
23720
  legend hid is not counted. */
23429
23721
  "prop:positionLabel"?: (HelixHeadlessScatterChart["positionLabel"]) | undefined;
23722
+ /** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
23723
+ "on:helix-reading-change"?: ((
23724
+ e: HelixHeadlessScatterChartHelixReadingChangeElementEvent,
23725
+ ) => void) | undefined;
23726
+ /** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
23727
+ "on:helix-reading-press"?: ((
23728
+ e: HelixHeadlessScatterChartHelixReadingPressElementEvent,
23729
+ ) => void) | undefined;
23430
23730
 
23431
23731
  /** Set the innerHTML of the element */
23432
23732
  innerHTML?: (string) | undefined;
@@ -25019,6 +25319,9 @@ Reading gives where it is; writing declares it the consumer's, and
25019
25319
  `default-position` seeds one this element owns. The same accessor pair
25020
25320
  `Pagination.page` and the calendar's `month` carry. */
25021
25321
  position?: (HelixHeadlessSplitter["position"]) | undefined;
25322
+ /** The pane that keeps its size when the splitter's own size changes. The
25323
+ other pane takes all of the change. Unset, both keep their share. */
25324
+ primary?: (HelixHeadlessSplitter["primary"]) | undefined;
25022
25325
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
25023
25326
  panel does: a bare number is a percentage and a length such as `240px` is
25024
25327
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -25160,6 +25463,9 @@ Reading gives where it is; writing declares it the consumer's, and
25160
25463
  `default-position` seeds one this element owns. The same accessor pair
25161
25464
  `Pagination.page` and the calendar's `month` carry. */
25162
25465
  "prop:position"?: (HelixHeadlessSplitter["position"]) | undefined;
25466
+ /** The pane that keeps its size when the splitter's own size changes. The
25467
+ other pane takes all of the change. Unset, both keep their share. */
25468
+ "prop:primary"?: (HelixHeadlessSplitter["primary"]) | undefined;
25163
25469
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
25164
25470
  panel does: a bare number is a percentage and a length such as `240px` is
25165
25471
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -26559,6 +26865,13 @@ say that without the component knowing what a row looks like. */
26559
26865
  };
26560
26866
 
26561
26867
  export type HelixHeadlessTableRowProps = {
26868
+ /** Takes the row out of the table's selection and out of its link: the row's
26869
+ checkbox is disabled, Space, Shift ranges, and the checkbox in the heading
26870
+ pass over it, and a press does not follow `href`. A row already selected
26871
+ stays selected. A screen reader hears it as unavailable, and in a `grid`
26872
+ table the arrow keys still reach it, as a disabled cell in a grid is
26873
+ reached. */
26874
+ disabled?: (HelixHeadlessTableRow["disabled"]) | undefined;
26562
26875
  /** The URL a press on the row follows, which makes the whole row a link.
26563
26876
  Empty, the default, leaves presses to the row's cells. */
26564
26877
  href?: (HelixHeadlessTableRow["href"]) | undefined;
@@ -26572,6 +26885,13 @@ known by its place among the rows as written. */
26572
26885
  };
26573
26886
 
26574
26887
  export type HelixHeadlessTableRowSolidJsProps = {
26888
+ /** Takes the row out of the table's selection and out of its link: the row's
26889
+ checkbox is disabled, Space, Shift ranges, and the checkbox in the heading
26890
+ pass over it, and a press does not follow `href`. A row already selected
26891
+ stays selected. A screen reader hears it as unavailable, and in a `grid`
26892
+ table the arrow keys still reach it, as a disabled cell in a grid is
26893
+ reached. */
26894
+ "prop:disabled"?: (HelixHeadlessTableRow["disabled"]) | undefined;
26575
26895
  /** The URL a press on the row follows, which makes the whole row a link.
26576
26896
  Empty, the default, leaves presses to the row's cells. */
26577
26897
  "prop:href"?: (HelixHeadlessTableRow["href"]) | undefined;
@@ -31304,6 +31624,14 @@ regardless, because a reader who stopped it is deciding what to do next. */
31304
31624
  loadingLabel?: (HelixHeadlessVideo["loadingLabel"]) | undefined;
31305
31625
  /** Whether the video starts again at the end. */
31306
31626
  loop?: (HelixHeadlessVideo["loop"]) | undefined;
31627
+ /** The title the device's own media controls show while the video plays,
31628
+ such as on a lock screen. Empty, the default, shows `label`. A playlist
31629
+ writes the current entry's name here. */
31630
+ "media-title"?: (HelixHeadlessVideo["mediaTitle"]) | undefined;
31631
+ /** The title the device's own media controls show while the video plays,
31632
+ such as on a lock screen. Empty, the default, shows `label`. A playlist
31633
+ writes the current entry's name here. */
31634
+ mediaTitle?: (HelixHeadlessVideo["mediaTitle"]) | undefined;
31307
31635
  /** What the button that opens `overflow-controls` is called. */
31308
31636
  "more-label"?: (HelixHeadlessVideo["moreLabel"]) | undefined;
31309
31637
  /** What the button that opens `overflow-controls` is called. */
@@ -31733,6 +32061,14 @@ regardless, because a reader who stopped it is deciding what to do next. */
31733
32061
  "prop:loadingLabel"?: (HelixHeadlessVideo["loadingLabel"]) | undefined;
31734
32062
  /** Whether the video starts again at the end. */
31735
32063
  "prop:loop"?: (HelixHeadlessVideo["loop"]) | undefined;
32064
+ /** The title the device's own media controls show while the video plays,
32065
+ such as on a lock screen. Empty, the default, shows `label`. A playlist
32066
+ writes the current entry's name here. */
32067
+ "attr:media-title"?: (HelixHeadlessVideo["mediaTitle"]) | undefined;
32068
+ /** The title the device's own media controls show while the video plays,
32069
+ such as on a lock screen. Empty, the default, shows `label`. A playlist
32070
+ writes the current entry's name here. */
32071
+ "prop:mediaTitle"?: (HelixHeadlessVideo["mediaTitle"]) | undefined;
31736
32072
  /** What the button that opens `overflow-controls` is called. */
31737
32073
  "attr:more-label"?: (HelixHeadlessVideo["moreLabel"]) | undefined;
31738
32074
  /** What the button that opens `overflow-controls` is called. */
@@ -31995,6 +32331,12 @@ export type HelixHeadlessVirtualListProps = {
31995
32331
  items out as a grid of that many equal columns, windowed a line at a
31996
32332
  time, with Left and Right moving along a line. */
31997
32333
  columns?: (HelixHeadlessVirtualList["columns"]) | undefined;
32334
+ /** The text of the row shown when there are no items and none are loading,
32335
+ where the `empty` slot is empty. Empty, the default, shows no row. */
32336
+ "empty-label"?: (HelixHeadlessVirtualList["emptyLabel"]) | undefined;
32337
+ /** The text of the row shown when there are no items and none are loading,
32338
+ where the `empty` slot is empty. Empty, the default, shows no row. */
32339
+ emptyLabel?: (HelixHeadlessVirtualList["emptyLabel"]) | undefined;
31998
32340
  /** The height of one row, in pixels, used to find the row at a scroll offset.
31999
32341
 
32000
32342
  An estimate rather than a measurement while `measured` is off, which is
@@ -32094,6 +32436,12 @@ export type HelixHeadlessVirtualListSolidJsProps = {
32094
32436
  items out as a grid of that many equal columns, windowed a line at a
32095
32437
  time, with Left and Right moving along a line. */
32096
32438
  "prop:columns"?: (HelixHeadlessVirtualList["columns"]) | undefined;
32439
+ /** The text of the row shown when there are no items and none are loading,
32440
+ where the `empty` slot is empty. Empty, the default, shows no row. */
32441
+ "attr:empty-label"?: (HelixHeadlessVirtualList["emptyLabel"]) | undefined;
32442
+ /** The text of the row shown when there are no items and none are loading,
32443
+ where the `empty` slot is empty. Empty, the default, shows no row. */
32444
+ "prop:emptyLabel"?: (HelixHeadlessVirtualList["emptyLabel"]) | undefined;
32097
32445
  /** The height of one row, in pixels, used to find the row at a scroll offset.
32098
32446
 
32099
32447
  An estimate rather than a measurement while `measured` is off, which is
@@ -32634,6 +32982,20 @@ export type CustomElements = {
32634
32982
  * The page is the window unless `scroller` names the element that scrolls, for
32635
32983
  * an app shell whose content scrolls inside a container.
32636
32984
  *
32985
+ * **Set `hide-on-scroll` for a bar that moves out of the way.** Scrolling down
32986
+ * past the bar's own height hides it, and scrolling up shows it again, as does
32987
+ * focus moving into it. The custom state `hidden` is on the host while it is
32988
+ * hidden, and the styled tier slides a `sticky` bar up out of view.
32989
+ *
32990
+ * **Set `fold-below` to fold the middle region on a narrow screen.** Below that
32991
+ * many pixels of the bar's own width, the middle region is hidden behind a
32992
+ * toggle at the end of the bar, named by `menu-label`. The toggle says whether
32993
+ * the region is open with `aria-expanded`, and the region opens below the row.
32994
+ * Escape closes it and puts focus back on the toggle. The custom state
32995
+ * `folded` is on the host while the bar is that narrow, and `open` while the
32996
+ * folded region is open. A server serves the bar unfolded, and the browser
32997
+ * folds it once it has measured it.
32998
+ *
32637
32999
  * The host is the page's `banner` landmark. Placed inside `main`, `article`,
32638
33000
  * `aside`, `nav` or `section`, it is a plain box instead, as a native
32639
33001
  * `<header>` is there, so a header inside a card or a pane does not add a
@@ -32660,6 +33022,11 @@ export type CustomElements = {
32660
33022
  * **Named for the region and not for what is usually in it.** The middle slot
32661
33023
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
32662
33024
  * the property carries the part's name, `content`.
33025
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
33026
+ * a toggle. Unset, it never folds.
33027
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
33028
+ * page scrolls up.
33029
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
32663
33030
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
32664
33031
  * scrolls a container instead of the window. Unset is the window.
32665
33032
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -32695,6 +33062,7 @@ export type CustomElements = {
32695
33062
  *
32696
33063
  * - `(default)`: The middle region, usually a `Navigation`.
32697
33064
  * - `end`: Trailing content.
33065
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
32698
33066
  * - `start`: Leading content, usually a wordmark.
32699
33067
  *
32700
33068
  * ## CSS Parts
@@ -32705,11 +33073,16 @@ export type CustomElements = {
32705
33073
  * - `end`: The trailing region.
32706
33074
  * - `row`: The centered row inside the banner.
32707
33075
  * - `start`: The leading region.
33076
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
33077
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
32708
33078
  *
32709
33079
  * ## CSS States
32710
33080
  *
32711
33081
  * These can be used to apply styling when a component is in a given state.
32712
33082
  *
33083
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
33084
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
33085
+ * - `open`: While the folded middle region is open.
32713
33086
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
32714
33087
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
32715
33088
  */
@@ -32748,6 +33121,9 @@ export type CustomElements = {
32748
33121
  * compare the parts with each other; the scale then fits the largest part
32749
33122
  * rather than the total.
32750
33123
  *
33124
+ * `value-axis` draws the scale's numbers beside the plot, at the levels
33125
+ * `gridlines` rules: amounts in `locale`, or percentages under `share`.
33126
+ *
32751
33127
  * The drawing is hidden from screen readers. The text summary gives the latest
32752
33128
  * reading's total and each part's share of it, and the table beside the chart
32753
33129
  * has every number.
@@ -32761,6 +33137,11 @@ export type CustomElements = {
32761
33137
  * Every numeric column is a part, so leave a total column out of the table the
32762
33138
  * chart reads, or it is counted twice. A negative reading is drawn as zero.
32763
33139
  *
33140
+ * **A tap shows the reading under it**, and keeps it until a tap lands
33141
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
33142
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33143
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
33144
+ *
32764
33145
  * ## Attributes & Properties
32765
33146
  *
32766
33147
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -32802,6 +33183,11 @@ export type CustomElements = {
32802
33183
  * `{totalLabel}` the name for the sum, `{total}` the sum, written in the
32803
33184
  * locale, and `{shares}` each part's share, listed as the locale lists.
32804
33185
  * - `total-label`/`totalLabel`: The name for the sum of the parts, shown in the tooltip and the summary.
33186
+ * - `value-axis`/`valueAxis`: Draws the scale's numbers beside the plot, the `axis` part, at the levels
33187
+ * `gridlines` rules: amounts, or percentages under `share`.
33188
+ *
33189
+ * Absent draws none: bands read as a composition need no numbers beside
33190
+ * them, and the tooltip and the table hold every reading.
32805
33191
  * - `for`: The id of the table to read.
32806
33192
  *
32807
33193
  * Names a table in the same tree, so a chart inside another component's
@@ -32887,6 +33273,13 @@ export type CustomElements = {
32887
33273
  * browser harness's awaits it alone: a browser always runs the frame, and a
32888
33274
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
32889
33275
  *
33276
+ * ## Events
33277
+ *
33278
+ * Events that will be emitted by the component.
33279
+ *
33280
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
33281
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33282
+ *
32890
33283
  * ## Methods
32891
33284
  *
32892
33285
  * Methods that can be called to access component functionality.
@@ -32923,11 +33316,18 @@ export type CustomElements = {
32923
33316
  * column's heading, read from the first row that has a cell there, so a
32924
33317
  * short first row does not lose the heading. `''` where no row has one.
32925
33318
  *
33319
+ * ## CSS Custom Properties
33320
+ *
33321
+ * CSS variables available for styling the component.
33322
+ *
33323
+ * - `--area-chart-axis`: The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.
33324
+ *
32926
33325
  * ## CSS Parts
32927
33326
  *
32928
33327
  * Custom selectors for styling elements within the component.
32929
33328
  *
32930
33329
  * - `area`: One part's band.
33330
+ * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
32931
33331
  * - `baseline`: The rule at zero, which is the floor of the drawing.
32932
33332
  * - `gridline`: One rule across the plot, under `gridlines`.
32933
33333
  * - `guide`: A rule down the reading a pointer is resting on.
@@ -32939,6 +33339,7 @@ export type CustomElements = {
32939
33339
  * - `plot`: The drawing, which takes focus to be read by key.
32940
33340
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
32941
33341
  * - `svg`: The drawing surface the bands sit on.
33342
+ * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
32942
33343
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
32943
33344
  * - `tooltip-anchor`: The `Tooltip` element itself.
32944
33345
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -33314,6 +33715,11 @@ export type CustomElements = {
33314
33715
  * The component writes the custom properties below with numbers it computes,
33315
33716
  * and the stylesheet that draws the chart reads them. Do not set them yourself.
33316
33717
  *
33718
+ * **A tap shows the reading under it**, and keeps it until a tap lands
33719
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
33720
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
33721
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
33722
+ *
33317
33723
  * ## Attributes & Properties
33318
33724
  *
33319
33725
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -33413,6 +33819,12 @@ export type CustomElements = {
33413
33819
  * - `summary-label`/`summaryLabel`: The summary's sentence. `{highestLabel}` is `highest-label`, and
33414
33820
  * `{readings}` each series' highest reading: the series, the category and
33415
33821
  * the reading as the table writes it.
33822
+ * - `value-axis`/`valueAxis`: Draws the numbers of the scale the bars are measured on, the `axis` part,
33823
+ * at the levels `gridlines` rules: down the side of columns, and along the
33824
+ * bottom of bars under `orientation="horizontal"`.
33825
+ *
33826
+ * Absent draws none with one scale, since bars compared with each other need
33827
+ * no numbers. With `secondary` both scales are drawn whatever this says.
33416
33828
  * - `for`: The id of the table to read.
33417
33829
  *
33418
33830
  * Names a table in the same tree, so a chart inside another component's
@@ -33498,6 +33910,13 @@ export type CustomElements = {
33498
33910
  * browser harness's awaits it alone: a browser always runs the frame, and a
33499
33911
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
33500
33912
  *
33913
+ * ## Events
33914
+ *
33915
+ * Events that will be emitted by the component.
33916
+ *
33917
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
33918
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
33919
+ *
33501
33920
  * ## Methods
33502
33921
  *
33503
33922
  * Methods that can be called to access component functionality.
@@ -33546,7 +33965,7 @@ export type CustomElements = {
33546
33965
  *
33547
33966
  * Custom selectors for styling elements within the component.
33548
33967
  *
33549
- * - `axis`: The numbers of one scale, drawn only when `secondary` splits the chart into two scales.
33968
+ * - `axis`: The numbers of one scale: the primary under `value-axis`, and both when `secondary` splits the chart into two scales.
33550
33969
  * - `band`: The category band under the pointer.
33551
33970
  * - `bar`: One column.
33552
33971
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
@@ -33699,7 +34118,10 @@ export type CustomElements = {
33699
34118
  * including your own anchor.
33700
34119
  *
33701
34120
  * The current page is plain text, and `aria-current="page"` on the host conveys
33702
- * the position.
34121
+ * the position. In a trail where no crumb is `current`, the last one is said
34122
+ * to be the current page, and keeps its link. An `aria-current` you write on
34123
+ * the host, such as `aria-current="location"`, replaces the one the crumb
34124
+ * gives itself.
33703
34125
  *
33704
34126
  * ## Attributes & Properties
33705
34127
  *
@@ -33789,7 +34211,8 @@ export type CustomElements = {
33789
34211
  * markers.
33790
34212
  *
33791
34213
  * The items are slotted directly, so they are `<ol>` children in the flat tree,
33792
- * and each item sets `role="listitem"` on itself.
34214
+ * and each item sets `role="listitem"` on itself. Where no slotted crumb is
34215
+ * `current`, the last one is said to be the current page.
33793
34216
  *
33794
34217
  * The trail does not measure itself, and you write its overflow in markup: put
33795
34218
  * the crumb that holds the folded items where the gap should appear.
@@ -33804,6 +34227,11 @@ export type CustomElements = {
33804
34227
  * to the first crumb it brought back. A new `items` folds again. Slotted crumbs
33805
34228
  * do not fold; write the folded crumb where the gap should be.
33806
34229
  *
34230
+ * **Keyboard.** Each crumb with an `href` is a link and one tab stop, and
34231
+ * Enter follows it. The current page and the separators are not in the tab
34232
+ * order. In a folded trail, Enter or Space on the fold's button shows the
34233
+ * whole trail and moves focus to the first crumb it brought back.
34234
+ *
33807
34235
  * ## Attributes & Properties
33808
34236
  *
33809
34237
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -34322,6 +34750,13 @@ export type CustomElements = {
34322
34750
  *
34323
34751
  * Component attributes and properties that can be applied to the element or by using JavaScript.
34324
34752
  *
34753
+ * - `dismiss-label`/`dismissLabel`: The dismiss button's name, read by screen readers, with `{label}` for
34754
+ * what the callout is called: its heading, or the tone's name where it has
34755
+ * none.
34756
+ *
34757
+ * "Dismiss Scheduled maintenance" says which of several callouts the button
34758
+ * takes away, where every button was "Dismiss". A label without `{label}` is
34759
+ * read as written.
34325
34760
  * - `tone`: What kind of attention the passage needs.
34326
34761
  *
34327
34762
  * `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -34339,16 +34774,6 @@ export type CustomElements = {
34339
34774
  * `danger` is said as "Error", the word a reader understands, and
34340
34775
  * `neutral` as "Note", for what the passage is.
34341
34776
  * - `dismissible`: Whether the element shows a control that dismisses it.
34342
- * - `dismiss-label`/`dismissLabel`: The dismiss control's label, read by screen readers.
34343
- *
34344
- * `attribute` is spelled out because Lit lowercases a property name to
34345
- * derive one rather than dash-casing it, so this would otherwise be
34346
- * reachable only as `dismisslabel`, which nobody would guess and no linter
34347
- * would catch.
34348
- *
34349
- * A word property: register it for a locale under the host's key. A family
34350
- * that names the control otherwise, such as Tag's `Remove {label}`,
34351
- * declares its own English with `@words` above the override.
34352
34777
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
34353
34778
  *
34354
34779
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -35501,6 +35926,13 @@ export type CustomElements = {
35501
35926
  * disabled>` turns the composer off. Sending is still `helix-send`, and it
35502
35927
  * does not submit the form.
35503
35928
  *
35929
+ * **`required`, `minlength` and `maxlength` are checked by the browser**, as
35930
+ * on a `<textarea>`, and the message is the browser's. `maxlength` stops the
35931
+ * field taking more. A draft that fails them does not send, and the composer
35932
+ * takes `:state(invalid)` and `aria-invalid` once the reader has tried to send
35933
+ * it, the form was submitted, or the reader edited the field and left it.
35934
+ * Tabbing past an empty composer marks nothing.
35935
+ *
35504
35936
  * **`typing` says whether the user is writing**, and `helix-typing` is sent
35505
35937
  * each time it changes: when they start, and when they send or stop for
35506
35938
  * `typing-timeout` milliseconds. Pass it on to show "is typing" to the other
@@ -35511,7 +35943,12 @@ export type CustomElements = {
35511
35943
  * Component attributes and properties that can be applied to the element or by using JavaScript.
35512
35944
  *
35513
35945
  * - `label`: The field's name, read by screen readers.
35946
+ * - `maxlength`/`maxLength`: The most characters a draft can have. The field stops taking more.
35947
+ * - `minlength`/`minLength`: The fewest characters a draft can have, once the reader has written in
35948
+ * the field, as on a `<textarea>`.
35514
35949
  * - `placeholder`: Placeholder text shown in an empty field.
35950
+ * - `required`: Whether the form needs a draft to submit. An empty draft never sends,
35951
+ * required or not.
35515
35952
  * - `rows`: How many rows the field opens at.
35516
35953
  *
35517
35954
  * It grows from there.
@@ -35663,6 +36100,7 @@ export type CustomElements = {
35663
36100
  *
35664
36101
  * These can be used to apply styling when a component is in a given state.
35665
36102
  *
36103
+ * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it.
35666
36104
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
35667
36105
  */
35668
36106
  "helix-headless-chat-composer": Partial<
@@ -38280,6 +38718,10 @@ export type CustomElements = {
38280
38718
  * and shows a dash while only some are chosen.
38281
38719
  * - Shift with a press on a checkbox selects every row between it and the row
38282
38720
  * last chosen.
38721
+ * - `selection-behavior="replace"` makes a press or a move select the row
38722
+ * alone, as a file list does. Control or Command with a press adds or takes
38723
+ * out one row, and Shift with a press selects every row from the one last
38724
+ * chosen.
38283
38725
  *
38284
38726
  * To act on a single row, such as opening it, put a link or a button in a cell.
38285
38727
  *
@@ -38296,7 +38738,8 @@ export type CustomElements = {
38296
38738
  * | Enter, F2 | Moves into the cell's controls. Escape moves back to the cell, and Tab moves between the controls of one cell. |
38297
38739
  * | Enter, Space on a sortable heading | Sorts by the column. |
38298
38740
  * | Enter, Space on the `load-more` row | Sends `helix-load-more`. |
38299
- * | Space on a row | Selects the row, in a `selectable` table. |
38741
+ * | Space on a row | Selects the row, in a `selectable` table. Under `selection-behavior="replace"`, selects it alone, and Control or Command with Space adds or takes out the row. |
38742
+ * | Down, Up, Page Down, Page Up under `selection-behavior="replace"` | Selects the row it moves to alone. Control or Command with the key moves without selecting. |
38300
38743
  * | Shift with Down or Up | Selects the rows it moves across, in a `selectable` table. |
38301
38744
  * | Shift with Space | Selects every row from the one last chosen, in a `selectable` table. |
38302
38745
  * | Control or Command with A | Selects every row, in a `selectable` table. |
@@ -38492,6 +38935,12 @@ export type CustomElements = {
38492
38935
  * rows are chosen, written in the locale, and a language that needs plural
38493
38936
  * forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
38494
38937
  * {# wybranych} other {# wybranego}}`.
38938
+ * - `selection-behavior`/`selectionBehavior`: What a key or a press on a row does to the rows already selected, in a
38939
+ * `selectable` table. `toggle`, the default, keeps them: Space adds or takes
38940
+ * out the row. `replace` selects the row alone, as a file list does: Down and
38941
+ * Up carry the selection with them, and a press on a row selects it. Control
38942
+ * or Command with a press or Space adds or takes out one row, and with a move
38943
+ * goes without selecting. The checkboxes add or take out one row either way.
38495
38944
  * - `select-row-label`/`selectRowLabel`: The name of a row's checkbox. `{row}` is replaced with the row's value in
38496
38945
  * the first column that has a field, or with its key.
38497
38946
  * - `sort`: The sort order, as `field:direction`.
@@ -38595,7 +39044,9 @@ export type CustomElements = {
38595
39044
  * Areas where markup can be added to the component.
38596
39045
  *
38597
39046
  * - `(default)`: The columns, as `TableColumn` elements.
39047
+ * - `empty`: Content shown when there are no rows to show and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
38598
39048
  * - `footer`: Content below the grid. It replaces the built-in pagination.
39049
+ * - `loading`: Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.
38599
39050
  * - `toolbar`: Content above the grid, such as a search field or actions.
38600
39051
  *
38601
39052
  * ## Methods
@@ -39700,6 +40151,16 @@ export type CustomElements = {
39700
40151
  * announces with its description as it opens. Set `dismissible` to draw a
39701
40152
  * close control, labeled by `dismiss-label`.
39702
40153
  *
40154
+ * **Keyboard.** Opening moves focus to the first control in the dialog.
40155
+ *
40156
+ * | Key | What it does |
40157
+ * |---|---|
40158
+ * | 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. |
40159
+ * | Escape | Asks to close the dialog. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
40160
+ * | Enter, Space | On the close control, closes the dialog. |
40161
+ *
40162
+ * Closing puts focus back on the element that had it before the dialog opened.
40163
+ *
39703
40164
  * ## Attributes & Properties
39704
40165
  *
39705
40166
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -39721,8 +40182,14 @@ export type CustomElements = {
39721
40182
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
39722
40183
  * the property this component exists to keep.
39723
40184
  *
40185
+ * The press on the backdrop that this element handles itself follows it too:
40186
+ * `closerequest` and `none` leave the dialog open on that press, as the
40187
+ * platform does, and `none` also keeps it open on Escape in a browser without
40188
+ * `closedby`.
40189
+ *
39724
40190
  * Absent by default, which is the platform's `auto` and this library's rule
39725
- * that a resting value is an attribute's absence.
40191
+ * that a resting value is an attribute's absence. Absent, a press on the
40192
+ * backdrop closes the dialog.
39726
40193
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
39727
40194
  *
39728
40195
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -39863,9 +40330,10 @@ export type CustomElements = {
39863
40330
  * **The line is a separator**, as `<hr>` is, and as Radix Separator, React
39864
40331
  * Aria Separator, and Web Awesome's divider are. It is named by any content
39865
40332
  * set into it, so a screen reader says "Or, separator" where you wrote "Or" on
39866
- * the line. Set `decorative` on a rule that separates nothing, such as one
39867
- * under a heading or between the facts of a byline, and it leaves the
39868
- * accessibility tree.
40333
+ * the line, and the words are read once, as that name. Set words into a
40334
+ * separator and no controls, which are hidden with them. Set `decorative` on
40335
+ * a rule that separates nothing, such as one under a heading or between the
40336
+ * facts of a byline, and it leaves the accessibility tree.
39869
40337
  *
39870
40338
  * Use `orientation="vertical"` between items on one line. A vertical divider
39871
40339
  * stretches to fit its flex parent and sets no height of its own.
@@ -39883,10 +40351,6 @@ export type CustomElements = {
39883
40351
  *
39884
40352
  * - `announced`: Whether screen readers announce the line as a separator, which they now do
39885
40353
  * by default.
39886
- *
39887
- * It dates from when the line was decorative by default. It is still read,
39888
- * and it wins over `decorative`, so a divider written with it stays a
39889
- * separator.
39890
40354
  * - `decorative`: Takes the line out of the accessibility tree, for a rule that separates
39891
40355
  * nothing: one under a heading, or between the facts of a byline.
39892
40356
  *
@@ -40205,6 +40669,11 @@ export type CustomElements = {
40205
40669
  * A drawer with `modal="false"` leaves the page usable and still closes on
40206
40670
  * Escape, in a browser without `closedby` as well.
40207
40671
  *
40672
+ * Set `persistent` for a drawer that has to be answered: Escape, a press
40673
+ * outside, and a swipe leave it open, and the close control and `close()`
40674
+ * still close it. `closedby="none"` keeps it open on all three as well, and
40675
+ * `closedby="closerequest"` keeps it open on a press outside.
40676
+ *
40208
40677
  * **A touch or a pen swipes it away**, toward the edge it came from, resolved
40209
40678
  * against the writing direction. A swipe past halfway, or a quick one, closes
40210
40679
  * it through the same request as every other way out. `snap-points` lists the
@@ -40225,7 +40694,20 @@ export type CustomElements = {
40225
40694
  *
40226
40695
  * The panel's name is `label` when you set it. Otherwise it is the heading in
40227
40696
  * the `header` slot, or the elements an `aria-labelledby` on the host names,
40228
- * and `fallback-label` where nothing names it.
40697
+ * and `fallback-label` where nothing names it. A development build warns
40698
+ * when a drawer opens with nothing but `fallback-label` to name it.
40699
+ *
40700
+ * The panel is described by the words at the start of its body, as `Dialog`
40701
+ * is: the elements in the default slot before the first one that is or holds
40702
+ * a control. An `aria-describedby` on the host replaces it.
40703
+ *
40704
+ * **Keyboard.** Opening moves focus to the first control in the panel.
40705
+ *
40706
+ * | Key | What it does |
40707
+ * |---|---|
40708
+ * | 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. |
40709
+ * | Escape | Asks to close the drawer. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
40710
+ * | Enter, Space | On the close control, closes the drawer. |
40229
40711
  *
40230
40712
  * Content stays mounted when the drawer is closed, so it is in the server
40231
40713
  * markup and can animate. A closed `<dialog>` is already out of the tab order
@@ -40276,6 +40758,11 @@ export type CustomElements = {
40276
40758
  * lost its focus trap because a consumer forgot a word would be worse than an
40277
40759
  * attribute on the host, and nothing selects on it: the scrim is rendered or
40278
40760
  * not, rather than shown or hidden by CSS.
40761
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
40762
+ * drawer that has to be answered.
40763
+ *
40764
+ * The close control and `close()` still close it, as on `Dialog`: a panel
40765
+ * with no way out at all is a trap.
40279
40766
  * - `placement`: Which edge the drawer comes from.
40280
40767
  *
40281
40768
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -43617,6 +44104,11 @@ export type CustomElements = {
43617
44104
  * the shortcut with the control. A chord the page wrote there itself is left
43618
44105
  * alone, and the key takes back only what it added.
43619
44106
  *
44107
+ * A chord is drawn with the platform's modifiers first, in its order, so one
44108
+ * `keys` value is right everywhere: `mod+shift+p` is `⇧⌘P` on an Apple
44109
+ * keyboard and `Ctrl+Shift+P` elsewhere. Where it is drawn in glyphs, it is
44110
+ * read in words, such as `Shift Command P`.
44111
+ *
43620
44112
  * `caps` draws a chord as a key per key: each is a `key` part and the `+`
43621
44113
  * between two a `separator` part, so a sheet can draw a cap for each.
43622
44114
  * `key-labels` renames any key, on every platform, such as
@@ -43959,6 +44451,25 @@ export type CustomElements = {
43959
44451
  * swiped across the picture shows the next or the previous item, the way the
43960
44452
  * line of text runs.
43961
44453
  *
44454
+ * A press on the empty area around the item closes the viewer, as a press on
44455
+ * the backdrop does. Under `max-zoom`, a press beside the item zooms on a
44456
+ * double press and closes nothing, and only the space outside the viewport
44457
+ * closes the viewer. A press that dragged closes nothing.
44458
+ *
44459
+ * **Keyboard.** Opening moves focus to the viewer itself, which a screen
44460
+ * reader names.
44461
+ *
44462
+ * | Key | What it does |
44463
+ * |---|---|
44464
+ * | 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. |
44465
+ * | Left, Up | Shows the previous item. |
44466
+ * | Home, End | Shows the first or the last item. |
44467
+ * | `+`, `-`, `0` | Zooms in, zooms out, and puts the item back at its own size, where `max-zoom` allows zooming. |
44468
+ * | 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. |
44469
+ * | Escape | Closes the viewer. A `helix-before-close` listener can refuse. |
44470
+ *
44471
+ * A development build warns when a viewer opens with no `label`.
44472
+ *
43962
44473
  * The chrome hides when there is no input, through `IdleController`, and comes
43963
44474
  * back on a pointer move, a key press, or a focus. It stays while focus is on a
43964
44475
  * control in the header or the footer, so a keyboard reader is never left on
@@ -44180,6 +44691,9 @@ export type CustomElements = {
44180
44691
  * `<svg>` that fills its box scales with the box, so the same `font-size` can
44181
44692
  * render at 10px in a narrow chart and 43px in a wide one.
44182
44693
  *
44694
+ * `value-axis` draws the scale's numbers beside the plot, at the levels
44695
+ * `gridlines` rules, written in `locale`.
44696
+ *
44183
44697
  * The table is the accessible representation, and the drawing is hidden from
44184
44698
  * screen readers, who get the numbers. The `summary` part names the chart, from
44185
44699
  * `label` or the table's caption, and gives each series' latest reading.
@@ -44190,6 +44704,11 @@ export type CustomElements = {
44190
44704
  * a reading. The tooltip follows, the `live` part says the reading in words,
44191
44705
  * and Escape puts the tooltip away.
44192
44706
  *
44707
+ * **A tap shows the reading under it**, and keeps it until a tap lands
44708
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
44709
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
44710
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
44711
+ *
44193
44712
  * ## Attributes & Properties
44194
44713
  *
44195
44714
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -44288,6 +44807,12 @@ export type CustomElements = {
44288
44807
  * masked with one disc per series and every stroke stops at its own ring's
44289
44808
  * inner edge. `mask-composite: intersect` is what makes N holes out of N
44290
44809
  * layers; a single `mask-image` would only ever cut the last one.
44810
+ * - `value-axis`/`valueAxis`: Draws the scale's numbers beside the plot, the `axis` part, at the levels
44811
+ * `gridlines` rules, so a reading can be measured off the drawing as well
44812
+ * as read from the tooltip.
44813
+ *
44814
+ * Absent draws none: a line read for its shape needs no numbers beside it,
44815
+ * and the tooltip and the table hold every reading.
44291
44816
  * - `zero`: Whether the range always includes zero.
44292
44817
  *
44293
44818
  * Absent measures from the data's own extent, which is what a line is for.
@@ -44379,6 +44904,13 @@ export type CustomElements = {
44379
44904
  * browser harness's awaits it alone: a browser always runs the frame, and a
44380
44905
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
44381
44906
  *
44907
+ * ## Events
44908
+ *
44909
+ * Events that will be emitted by the component.
44910
+ *
44911
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
44912
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
44913
+ *
44382
44914
  * ## Methods
44383
44915
  *
44384
44916
  * Methods that can be called to access component functionality.
@@ -44421,12 +44953,14 @@ export type CustomElements = {
44421
44953
  *
44422
44954
  * - `--chart-terminus-x`: Where a series' last reading sits horizontally, as a percentage. Written by the component.
44423
44955
  * - `--chart-terminus-y`: Where a series' last reading sits vertically, as a percentage. Written by the component.
44956
+ * - `--line-chart-axis`: The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.
44424
44957
  *
44425
44958
  * ## CSS Parts
44426
44959
  *
44427
44960
  * Custom selectors for styling elements within the component.
44428
44961
  *
44429
44962
  * - `area`: The wash under one line, where `area` is set.
44963
+ * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
44430
44964
  * - `band`: The band around the reading under the pointer.
44431
44965
  * - `baseline`: The rule at zero, where zero is inside the range.
44432
44966
  * - `gridline`: One rule across the plot, under `gridlines`.
@@ -44443,6 +44977,7 @@ export type CustomElements = {
44443
44977
  * - `summary`: The chart's name and each series' latest reading, written as a sentence for screen readers. Hide it visually.
44444
44978
  * - `svg`: The drawing surface the lines and areas sit on.
44445
44979
  * - `terminus`: The mark on one series' last reading.
44980
+ * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
44446
44981
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
44447
44982
  * - `tooltip-anchor`: The `Tooltip` element itself.
44448
44983
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -47181,6 +47716,13 @@ export type CustomElements = {
47181
47716
  * one page can mark the section in view with `aria-current="location"`. Where
47182
47717
  * several are marked, `page` wins.
47183
47718
  *
47719
+ * **The destinations can be a list.** Slot a `<ul>` or an `<ol>` of `<li>`
47720
+ * elements, each holding a link, and a screen reader says how many there are
47721
+ * and where each one is, as in Radix's `NavigationMenu.List`. The marker and
47722
+ * the arrow keys work on the list items as they do on bare links. Give the
47723
+ * list `role="list"` as well, since Safari drops the semantics of a list drawn
47724
+ * without bullets.
47725
+ *
47184
47726
  * Set `orientation="vertical"` to stack the destinations in a column, for a
47185
47727
  * sidebar.
47186
47728
  *
@@ -47558,6 +48100,17 @@ export type CustomElements = {
47558
48100
  * the feed holds one page of a longer list, and each row says its place in the
47559
48101
  * whole of it.
47560
48102
  *
48103
+ * **Keyboard.**
48104
+ *
48105
+ * | Key | What it does |
48106
+ * |---|---|
48107
+ * | Down, Up | On a row, moves to the next or the previous row. |
48108
+ * | Home, End | On a row, moves to the first or the last row. |
48109
+ * | Page Down, Page Up | From anywhere in a row, moves to the next or the previous row. |
48110
+ * | Control+End | From anywhere in the feed, moves to the first control after it on the page. |
48111
+ * | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
48112
+ * | Tab | Moves through the controls in a row, and on out of the feed. |
48113
+ *
47561
48114
  * **`load-more` adds a button after the list** that sends `helix-load-more`,
47562
48115
  * for a feed that holds one page of a longer list. Append the next page, set
47563
48116
  * `loading` while it is on its way, and take `load-more` off once there is
@@ -49525,9 +50078,10 @@ export type CustomElements = {
49525
50078
  *
49526
50079
  * The trigger is slotted and stays your own element. A Helix trigger is told
49527
50080
  * whether the popover is open inside its own shadow root. On a plain element,
49528
- * such as a `<button>`, the popover writes `aria-expanded` only once a reader
49529
- * has pressed it, which is after any hydration, and never where you wrote
49530
- * `aria-expanded` yourself. It writes nothing else onto your markup.
50081
+ * such as a `<button>`, the popover writes `aria-expanded`, from a frame after
50082
+ * its own first render, or from the first press where that comes sooner. It
50083
+ * never writes it where you wrote `aria-expanded` yourself, and writes nothing
50084
+ * else onto your markup.
49531
50085
  *
49532
50086
  * The panel is in the top layer through the popover API, so it needs no
49533
50087
  * `z-index`, and an ancestor with `overflow: hidden`, `transform`, `filter`, or
@@ -49550,6 +50104,17 @@ export type CustomElements = {
49550
50104
  *
49551
50105
  * The panel's name is `label` when you set it. Otherwise it is the first
49552
50106
  * heading in the panel, or the elements an `aria-labelledby` on the host names.
50107
+ * A development build warns when a popover opens with nothing but
50108
+ * `fallback-label` to name it.
50109
+ *
50110
+ * **Keyboard.** Opening moves focus to the first control in the panel, or to
50111
+ * the panel where it holds none.
50112
+ *
50113
+ * | Key | What it does |
50114
+ * |---|---|
50115
+ * | Enter, Space | On the trigger, opens the panel, or closes it while it is open. |
50116
+ * | Escape | Closes the panel and puts focus back on the trigger. |
50117
+ * | 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. |
49553
50118
  *
49554
50119
  * `arrow` draws a point on the panel's edge facing the trigger. The side the
49555
50120
  * panel landed on is on the host as `:state(placed-top)` and its kin, and the
@@ -50760,6 +51325,11 @@ export type CustomElements = {
50760
51325
  * reads in its own direction. The summary and the tooltip bubble follow the
50761
51326
  * page's direction.
50762
51327
  *
51328
+ * **A tap shows the reading under it**, and keeps it until a tap lands
51329
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
51330
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
51331
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
51332
+ *
50763
51333
  * ## Attributes & Properties
50764
51334
  *
50765
51335
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -50880,6 +51450,13 @@ export type CustomElements = {
50880
51450
  * browser harness's awaits it alone: a browser always runs the frame, and a
50881
51451
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
50882
51452
  *
51453
+ * ## Events
51454
+ *
51455
+ * Events that will be emitted by the component.
51456
+ *
51457
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
51458
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
51459
+ *
50883
51460
  * ## Methods
50884
51461
  *
50885
51462
  * Methods that can be called to access component functionality.
@@ -52466,6 +53043,21 @@ export type CustomElements = {
52466
53043
  * `collapsed-size` keeps a sliver of the pane visible, such as a tab strip.
52467
53044
  * Collapsing overrides `min` and `max`.
52468
53045
  *
53046
+ * Set `primary` to the pane that keeps its size when the splitter's own size
53047
+ * changes, such as a sidebar beside a window being resized. The other pane
53048
+ * takes all of the change, as Web Awesome's split panel does. Without it,
53049
+ * both panes keep their share.
53050
+ *
53051
+ * **Keyboard.** The divider is one tab stop.
53052
+ *
53053
+ * | Key | What it does |
53054
+ * |---|---|
53055
+ * | Left, Right | Moves a side-by-side divider by `step`. On a right-to-left page, Left moves it toward the end. |
53056
+ * | Up, Down | Moves a stacked divider by `step`. |
53057
+ * | Home, End | Moves the divider to its bounds. |
53058
+ * | Enter | Collapses the start pane, and opens it again. |
53059
+ * | F6 | Moves focus from one pane to the first control in the other, and from the divider to the start pane. |
53060
+ *
52469
53061
  * ## Attributes & Properties
52470
53062
  *
52471
53063
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -52547,6 +53139,8 @@ export type CustomElements = {
52547
53139
  * Reading gives where it is; writing declares it the consumer's, and
52548
53140
  * `default-position` seeds one this element owns. The same accessor pair
52549
53141
  * `Pagination.page` and the calendar's `month` carry.
53142
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
53143
+ * other pane takes all of the change. Unset, both keep their share.
52550
53144
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
52551
53145
  * panel does: a bare number is a percentage and a length such as `240px` is
52552
53146
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -53647,7 +54241,7 @@ export type CustomElements = {
53647
54241
  * through cell by cell, the headings included, as React Aria's table is. The
53648
54242
  * table is then a `grid` and each value a `gridcell`, and the table gives
53649
54243
  * every cell a `tabindex` so focus can rest on it: set `grid` only where the
53650
- * cells may carry one. For typeahead and range selection, use `DataTable`.
54244
+ * cells may carry one.
53651
54245
  *
53652
54246
  * | Key | What it does |
53653
54247
  * |---|---|
@@ -53661,7 +54255,10 @@ export type CustomElements = {
53661
54255
  * | Enter, Space on a sortable heading | Sorts by the column. |
53662
54256
  * | Space on a row, Enter or Space on its checkbox cell | Selects the row, in a `selectable` table. |
53663
54257
  * | Enter or Space on a grip cell | Picks the row up, or drops it, in a `reorderable` table. Up, Down, Home, and End move a row picked up, and Escape puts it back. |
54258
+ * | Shift with Down or Up | Selects the rows it moves across, in a `selectable` table. |
54259
+ * | Shift with Space | Selects every row from the one last chosen, in a `selectable` table. |
53664
54260
  * | Control or Command with A | Selects every row, in a `selectable` table. |
54261
+ * | A letter or a word | Moves to the next row whose first cell starts with what you typed. |
53665
54262
  * | Tab | Leaves the table. |
53666
54263
  *
53667
54264
  * The CSS custom properties listed for this component are written by it and
@@ -53803,7 +54400,9 @@ export type CustomElements = {
53803
54400
  * Areas where markup can be added to the component.
53804
54401
  *
53805
54402
  * - `(default)`: The table's rows.
54403
+ * - `empty`: Content shown when there are no rows and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
53806
54404
  * - `heading`: Words that name the table, shown above it, such as a heading.
54405
+ * - `loading`: Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.
53807
54406
  *
53808
54407
  * ## Methods
53809
54408
  *
@@ -53862,7 +54461,8 @@ export type CustomElements = {
53862
54461
  * it, or make it interactive.
53863
54462
  *
53864
54463
  * In a `selectable` table the row draws a checkbox cell before its own cells,
53865
- * and `value` is the key the table's `selected` lists it by.
54464
+ * and `value` is the key the table's `selected` lists it by. `disabled` keeps
54465
+ * the row out of the selection and out of its link.
53866
54466
  *
53867
54467
  * In a `reorderable` table the row draws a grip cell before those, holding a
53868
54468
  * button named by the table's `move-row-label`, and `value` is the key
@@ -53882,6 +54482,12 @@ export type CustomElements = {
53882
54482
  *
53883
54483
  * Component attributes and properties that can be applied to the element or by using JavaScript.
53884
54484
  *
54485
+ * - `disabled`: Takes the row out of the table's selection and out of its link: the row's
54486
+ * checkbox is disabled, Space, Shift ranges, and the checkbox in the heading
54487
+ * pass over it, and a press does not follow `href`. A row already selected
54488
+ * stays selected. A screen reader hears it as unavailable, and in a `grid`
54489
+ * table the arrow keys still reach it, as a disabled cell in a grid is
54490
+ * reached.
53885
54491
  * - `href`: The URL a press on the row follows, which makes the whole row a link.
53886
54492
  * Empty, the default, leaves presses to the row's cells.
53887
54493
  * - `rel`: The `rel` of the row's link. You set it yourself, as on an anchor.
@@ -53943,7 +54549,7 @@ export type CustomElements = {
53943
54549
  * - `dragging`: The row is being moved, in a `reorderable` table.
53944
54550
  * - `drop-after`: The row being moved goes after this one when it is dropped.
53945
54551
  * - `drop-before`: The row being moved goes before this one when it is dropped.
53946
- * - `link`: While the row has `href`, so a press on it follows the link.
54552
+ * - `link`: While the row has `href` and is not `disabled`, so a press on it follows the link.
53947
54553
  * - `selected`: While the row is selected, in a `selectable` table.
53948
54554
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
53949
54555
  */
@@ -54055,6 +54661,20 @@ export type CustomElements = {
54055
54661
  * Disabled tabs are passed over. Tab leaves the list for the selected panel,
54056
54662
  * which is a tab stop only while it holds nothing focusable.
54057
54663
  *
54664
+ * **Keyboard.**
54665
+ *
54666
+ * | Key | What it does |
54667
+ * |---|---|
54668
+ * | 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. |
54669
+ * | Left, Up | Moves to the tab before, from the first round to the last. |
54670
+ * | Home, End | Moves to the first or the last tab. |
54671
+ * | Enter, Space | Selects the tab with focus, or follows its link. |
54672
+ * | Tab | Leaves the list for the selected panel. |
54673
+ *
54674
+ * Removing the selected tab selects the first enabled tab that is left, and
54675
+ * `active` says so, with `helix-activate`. Where the removed tab had focus,
54676
+ * focus moves to the tab now selected.
54677
+ *
54058
54678
  * The `indicator` part moves to the selected tab and carries its place and
54059
54679
  * size, so a mark of your own can be drawn there: style the part, or slot an
54060
54680
  * element into `indicator`, which sits inside the part and reads the same
@@ -56822,11 +57442,27 @@ export type CustomElements = {
56822
57442
  * you have moved it somewhere else on the page. A stop does not trap focus, so
56823
57443
  * you can still `Tab` out to the element it describes.
56824
57444
  *
56825
- * **The arrow keys move between stops** while focus is in one: the arrow that
56826
- * points the way the line runs goes on, and the other goes back, so on a
56827
- * right-to-left page `ArrowLeft` goes on. Neither finishes the tour at the last
56828
- * stop, and a text field in a stop keeps its own arrows. `Escape` skips the
56829
- * tour.
57445
+ * **The target is scrolled into view** before its stop is shown, by the
57446
+ * least distance that brings it on screen, so the stop that points at it is
57447
+ * on screen too.
57448
+ *
57449
+ * **Keyboard.** Focus is on the current stop's panel, which is not in the
57450
+ * `Tab` order itself.
57451
+ *
57452
+ * | Key | What it does |
57453
+ * |---|---|
57454
+ * | Right | Goes to the next stop. On the last stop it does nothing, and Next finishes the tour. |
57455
+ * | Left | Goes back to the previous stop. |
57456
+ * | Escape | Skips the tour, and puts focus back where it was when the tour opened. |
57457
+ * | Tab, Shift+Tab | Moves through the controls in the stop, and on out to the page. A stop does not trap focus. |
57458
+ * | Enter, Space | On Back, Next, or Skip, presses it. |
57459
+ *
57460
+ * The arrow that points the way the line runs goes on, and the other goes
57461
+ * back, so on a right-to-left page Left goes on and Right goes back. A text field in a stop keeps
57462
+ * its own arrows.
57463
+ *
57464
+ * The tour is a region named by `label` while it runs. A development build
57465
+ * warns when a tour opens with no `label`.
56830
57466
  *
56831
57467
  * ## Attributes & Properties
56832
57468
  *
@@ -56990,7 +57626,8 @@ export type CustomElements = {
56990
57626
  * The panel is a `group`, and a `dialog` for a dialog stop, only while the
56991
57627
  * stop is shown. It is named by the `heading` slot, then by the first heading
56992
57628
  * in the content, then by `label`, and otherwise by its place in the tour. It
56993
- * is described by the `description` slot and by its place, such as "2 of 5",
57629
+ * is described by the `description` slot, or where that is empty by the words
57630
+ * at the start of the content, and by its place, such as "2 of 5",
56994
57631
  * so a screen reader says where the reader is at every stop. `focus()` moves
56995
57632
  * focus to the panel, which is what the tour does when it opens or moves on.
56996
57633
  *
@@ -57354,6 +57991,9 @@ export type CustomElements = {
57354
57991
  * tree of check marks, Control+A (Command+A on an Apple keyboard) checks every
57355
57992
  * item or clears them all, and Shift with Up or Down Arrow moves and checks.
57356
57993
  *
57994
+ * Removing the item that has focus moves focus to the item after it among its
57995
+ * siblings, or the one before, or its parent, so focus stays in the tree.
57996
+ *
57357
57997
  * **`reorderable` lets you move items among their siblings.** Alt with Up or
57358
57998
  * Down moves the focused item a place, and Alt with Home or End to the first
57359
57999
  * or the last place among its siblings, as the APG's rearrangeable listbox
@@ -57866,6 +58506,10 @@ export type CustomElements = {
57866
58506
  * sends `helix-end`. `shuffle` plays the entries in a random order, starting
57867
58507
  * from the one that is current, and `previous` retraces that order.
57868
58508
  *
58509
+ * **The player is named by the current entry**, and the device's own media
58510
+ * controls show the entry as the title. A player you gave a `label` keeps
58511
+ * your name, and only the title follows the entry.
58512
+ *
57869
58513
  * **Keyboard.** Each entry is a button in the tab order, and Enter or Space
57870
58514
  * plays it. The current entry carries `aria-current`. While focus is on the
57871
58515
  * player, the player's own keys work, and `Video` lists them. Its previous
@@ -58110,6 +58754,9 @@ export type CustomElements = {
58110
58754
  * - `label`: Accessible name for the video, which its filename does not provide.
58111
58755
  * - `loading-label`/`loadingLabel`: The text announced while the video waits for more data.
58112
58756
  * - `loop`: Whether the video starts again at the end.
58757
+ * - `media-title`/`mediaTitle`: The title the device's own media controls show while the video plays,
58758
+ * such as on a lock screen. Empty, the default, shows `label`. A playlist
58759
+ * writes the current entry's name here.
58113
58760
  * - `more-label`/`moreLabel`: What the button that opens `overflow-controls` is called.
58114
58761
  * - `mute-label`/`muteLabel`: The name of the mute control. The control shows as pressed while the video
58115
58762
  * is muted.
@@ -58460,6 +59107,12 @@ export type CustomElements = {
58460
59107
  * the last item says "Loading more" (`loading-label`, or your own content in
58461
59108
  * the `loading` slot). `scrollToIndex` takes a reader to an item.
58462
59109
  *
59110
+ * **An empty list.** Set `empty-label`, or put your own content in the `empty`
59111
+ * slot, for a row shown when there are no items and none are loading, such as
59112
+ * "No messages yet" and a link to write one. Without either, an empty list
59113
+ * shows nothing, since a list whose items have not arrived yet has not said
59114
+ * it has none.
59115
+ *
58463
59116
  * **Row height.** Rows are placed by `estimate` until they are drawn. Then the
58464
59117
  * list reads the drawn rows' height once and places every row by it, so a
58465
59118
  * wrong estimate still reaches the last item. Set `measured` for rows of
@@ -58482,6 +59135,8 @@ export type CustomElements = {
58482
59135
  * - `columns`: How many items a line holds. One, the default, is a list; more lays the
58483
59136
  * items out as a grid of that many equal columns, windowed a line at a
58484
59137
  * time, with Left and Right moving along a line.
59138
+ * - `empty-label`/`emptyLabel`: The text of the row shown when there are no items and none are loading,
59139
+ * where the `empty` slot is empty. Empty, the default, shows no row.
58485
59140
  * - `estimate`: The height of one row, in pixels, used to find the row at a scroll offset.
58486
59141
  *
58487
59142
  * An estimate rather than a measurement while `measured` is off, which is
@@ -58571,6 +59226,7 @@ export type CustomElements = {
58571
59226
  * Areas where markup can be added to the component.
58572
59227
  *
58573
59228
  * - `(default)`: The `<template>` that defines one row. The list writes the rows it renders beside it, and this slot shows them between the two spacers.
59229
+ * - `empty`: Content for the row shown when there are no items and none are loading. Falls back to `empty-label`.
58574
59230
  * - `loading`: Content for the row after the last item while `loading` is set. Falls back to `loading-label`.
58575
59231
  *
58576
59232
  * ## Methods
@@ -58589,6 +59245,7 @@ export type CustomElements = {
58589
59245
  *
58590
59246
  * - `after`: The space that stands in for the rows below the rendered ones.
58591
59247
  * - `before`: The space that stands in for the rows above the rendered ones.
59248
+ * - `empty`: The row shown when there are no items and none are loading, where `empty-label` or the `empty` slot gives it content.
58592
59249
  * - `loading`: The row after the last item while `loading` is set.
58593
59250
  * - `viewport`: The scrolling box. On this tier, it needs only a block size.
58594
59251
  *
@@ -59052,6 +59709,20 @@ export type CustomElementsSolidJs = {
59052
59709
  * The page is the window unless `scroller` names the element that scrolls, for
59053
59710
  * an app shell whose content scrolls inside a container.
59054
59711
  *
59712
+ * **Set `hide-on-scroll` for a bar that moves out of the way.** Scrolling down
59713
+ * past the bar's own height hides it, and scrolling up shows it again, as does
59714
+ * focus moving into it. The custom state `hidden` is on the host while it is
59715
+ * hidden, and the styled tier slides a `sticky` bar up out of view.
59716
+ *
59717
+ * **Set `fold-below` to fold the middle region on a narrow screen.** Below that
59718
+ * many pixels of the bar's own width, the middle region is hidden behind a
59719
+ * toggle at the end of the bar, named by `menu-label`. The toggle says whether
59720
+ * the region is open with `aria-expanded`, and the region opens below the row.
59721
+ * Escape closes it and puts focus back on the toggle. The custom state
59722
+ * `folded` is on the host while the bar is that narrow, and `open` while the
59723
+ * folded region is open. A server serves the bar unfolded, and the browser
59724
+ * folds it once it has measured it.
59725
+ *
59055
59726
  * The host is the page's `banner` landmark. Placed inside `main`, `article`,
59056
59727
  * `aside`, `nav` or `section`, it is a plain box instead, as a native
59057
59728
  * `<header>` is there, so a header inside a card or a pane does not add a
@@ -59078,6 +59749,11 @@ export type CustomElementsSolidJs = {
59078
59749
  * **Named for the region and not for what is usually in it.** The middle slot
59079
59750
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
59080
59751
  * the property carries the part's name, `content`.
59752
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
59753
+ * a toggle. Unset, it never folds.
59754
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
59755
+ * page scrolls up.
59756
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
59081
59757
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
59082
59758
  * scrolls a container instead of the window. Unset is the window.
59083
59759
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -59113,6 +59789,7 @@ export type CustomElementsSolidJs = {
59113
59789
  *
59114
59790
  * - `(default)`: The middle region, usually a `Navigation`.
59115
59791
  * - `end`: Trailing content.
59792
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
59116
59793
  * - `start`: Leading content, usually a wordmark.
59117
59794
  *
59118
59795
  * ## CSS Parts
@@ -59123,11 +59800,16 @@ export type CustomElementsSolidJs = {
59123
59800
  * - `end`: The trailing region.
59124
59801
  * - `row`: The centered row inside the banner.
59125
59802
  * - `start`: The leading region.
59803
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
59804
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
59126
59805
  *
59127
59806
  * ## CSS States
59128
59807
  *
59129
59808
  * These can be used to apply styling when a component is in a given state.
59130
59809
  *
59810
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
59811
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
59812
+ * - `open`: While the folded middle region is open.
59131
59813
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
59132
59814
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
59133
59815
  */
@@ -59169,6 +59851,9 @@ export type CustomElementsSolidJs = {
59169
59851
  * compare the parts with each other; the scale then fits the largest part
59170
59852
  * rather than the total.
59171
59853
  *
59854
+ * `value-axis` draws the scale's numbers beside the plot, at the levels
59855
+ * `gridlines` rules: amounts in `locale`, or percentages under `share`.
59856
+ *
59172
59857
  * The drawing is hidden from screen readers. The text summary gives the latest
59173
59858
  * reading's total and each part's share of it, and the table beside the chart
59174
59859
  * has every number.
@@ -59182,6 +59867,11 @@ export type CustomElementsSolidJs = {
59182
59867
  * Every numeric column is a part, so leave a total column out of the table the
59183
59868
  * chart reads, or it is counted twice. A negative reading is drawn as zero.
59184
59869
  *
59870
+ * **A tap shows the reading under it**, and keeps it until a tap lands
59871
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
59872
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
59873
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
59874
+ *
59185
59875
  * ## Attributes & Properties
59186
59876
  *
59187
59877
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -59223,6 +59913,11 @@ export type CustomElementsSolidJs = {
59223
59913
  * `{totalLabel}` the name for the sum, `{total}` the sum, written in the
59224
59914
  * locale, and `{shares}` each part's share, listed as the locale lists.
59225
59915
  * - `total-label`/`totalLabel`: The name for the sum of the parts, shown in the tooltip and the summary.
59916
+ * - `value-axis`/`valueAxis`: Draws the scale's numbers beside the plot, the `axis` part, at the levels
59917
+ * `gridlines` rules: amounts, or percentages under `share`.
59918
+ *
59919
+ * Absent draws none: bands read as a composition need no numbers beside
59920
+ * them, and the tooltip and the table hold every reading.
59226
59921
  * - `for`: The id of the table to read.
59227
59922
  *
59228
59923
  * Names a table in the same tree, so a chart inside another component's
@@ -59308,6 +60003,13 @@ export type CustomElementsSolidJs = {
59308
60003
  * browser harness's awaits it alone: a browser always runs the frame, and a
59309
60004
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59310
60005
  *
60006
+ * ## Events
60007
+ *
60008
+ * Events that will be emitted by the component.
60009
+ *
60010
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
60011
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
60012
+ *
59311
60013
  * ## Methods
59312
60014
  *
59313
60015
  * Methods that can be called to access component functionality.
@@ -59344,11 +60046,18 @@ export type CustomElementsSolidJs = {
59344
60046
  * column's heading, read from the first row that has a cell there, so a
59345
60047
  * short first row does not lose the heading. `''` where no row has one.
59346
60048
  *
60049
+ * ## CSS Custom Properties
60050
+ *
60051
+ * CSS variables available for styling the component.
60052
+ *
60053
+ * - `--area-chart-axis`: The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.
60054
+ *
59347
60055
  * ## CSS Parts
59348
60056
  *
59349
60057
  * Custom selectors for styling elements within the component.
59350
60058
  *
59351
60059
  * - `area`: One part's band.
60060
+ * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
59352
60061
  * - `baseline`: The rule at zero, which is the floor of the drawing.
59353
60062
  * - `gridline`: One rule across the plot, under `gridlines`.
59354
60063
  * - `guide`: A rule down the reading a pointer is resting on.
@@ -59360,6 +60069,7 @@ export type CustomElementsSolidJs = {
59360
60069
  * - `plot`: The drawing, which takes focus to be read by key.
59361
60070
  * - `summary`: The total and each part's share at the latest reading, written as a sentence for screen readers.
59362
60071
  * - `svg`: The drawing surface the bands sit on.
60072
+ * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
59363
60073
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
59364
60074
  * - `tooltip-anchor`: The `Tooltip` element itself.
59365
60075
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -59745,6 +60455,11 @@ export type CustomElementsSolidJs = {
59745
60455
  * The component writes the custom properties below with numbers it computes,
59746
60456
  * and the stylesheet that draws the chart reads them. Do not set them yourself.
59747
60457
  *
60458
+ * **A tap shows the reading under it**, and keeps it until a tap lands
60459
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
60460
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
60461
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
60462
+ *
59748
60463
  * ## Attributes & Properties
59749
60464
  *
59750
60465
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -59844,6 +60559,12 @@ export type CustomElementsSolidJs = {
59844
60559
  * - `summary-label`/`summaryLabel`: The summary's sentence. `{highestLabel}` is `highest-label`, and
59845
60560
  * `{readings}` each series' highest reading: the series, the category and
59846
60561
  * the reading as the table writes it.
60562
+ * - `value-axis`/`valueAxis`: Draws the numbers of the scale the bars are measured on, the `axis` part,
60563
+ * at the levels `gridlines` rules: down the side of columns, and along the
60564
+ * bottom of bars under `orientation="horizontal"`.
60565
+ *
60566
+ * Absent draws none with one scale, since bars compared with each other need
60567
+ * no numbers. With `secondary` both scales are drawn whatever this says.
59847
60568
  * - `for`: The id of the table to read.
59848
60569
  *
59849
60570
  * Names a table in the same tree, so a chart inside another component's
@@ -59929,6 +60650,13 @@ export type CustomElementsSolidJs = {
59929
60650
  * browser harness's awaits it alone: a browser always runs the frame, and a
59930
60651
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59931
60652
  *
60653
+ * ## Events
60654
+ *
60655
+ * Events that will be emitted by the component.
60656
+ *
60657
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
60658
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
60659
+ *
59932
60660
  * ## Methods
59933
60661
  *
59934
60662
  * Methods that can be called to access component functionality.
@@ -59977,7 +60705,7 @@ export type CustomElementsSolidJs = {
59977
60705
  *
59978
60706
  * Custom selectors for styling elements within the component.
59979
60707
  *
59980
- * - `axis`: The numbers of one scale, drawn only when `secondary` splits the chart into two scales.
60708
+ * - `axis`: The numbers of one scale: the primary under `value-axis`, and both when `secondary` splits the chart into two scales.
59981
60709
  * - `band`: The category band under the pointer.
59982
60710
  * - `bar`: One column.
59983
60711
  * - `bar-wash-end`: The far stop of a bar's gradient, where one is used.
@@ -60134,7 +60862,10 @@ export type CustomElementsSolidJs = {
60134
60862
  * including your own anchor.
60135
60863
  *
60136
60864
  * The current page is plain text, and `aria-current="page"` on the host conveys
60137
- * the position.
60865
+ * the position. In a trail where no crumb is `current`, the last one is said
60866
+ * to be the current page, and keeps its link. An `aria-current` you write on
60867
+ * the host, such as `aria-current="location"`, replaces the one the crumb
60868
+ * gives itself.
60138
60869
  *
60139
60870
  * ## Attributes & Properties
60140
60871
  *
@@ -60225,7 +60956,8 @@ export type CustomElementsSolidJs = {
60225
60956
  * markers.
60226
60957
  *
60227
60958
  * The items are slotted directly, so they are `<ol>` children in the flat tree,
60228
- * and each item sets `role="listitem"` on itself.
60959
+ * and each item sets `role="listitem"` on itself. Where no slotted crumb is
60960
+ * `current`, the last one is said to be the current page.
60229
60961
  *
60230
60962
  * The trail does not measure itself, and you write its overflow in markup: put
60231
60963
  * the crumb that holds the folded items where the gap should appear.
@@ -60240,6 +60972,11 @@ export type CustomElementsSolidJs = {
60240
60972
  * to the first crumb it brought back. A new `items` folds again. Slotted crumbs
60241
60973
  * do not fold; write the folded crumb where the gap should be.
60242
60974
  *
60975
+ * **Keyboard.** Each crumb with an `href` is a link and one tab stop, and
60976
+ * Enter follows it. The current page and the separators are not in the tab
60977
+ * order. In a folded trail, Enter or Space on the fold's button shows the
60978
+ * whole trail and moves focus to the first crumb it brought back.
60979
+ *
60243
60980
  * ## Attributes & Properties
60244
60981
  *
60245
60982
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -60763,6 +61500,13 @@ export type CustomElementsSolidJs = {
60763
61500
  *
60764
61501
  * Component attributes and properties that can be applied to the element or by using JavaScript.
60765
61502
  *
61503
+ * - `dismiss-label`/`dismissLabel`: The dismiss button's name, read by screen readers, with `{label}` for
61504
+ * what the callout is called: its heading, or the tone's name where it has
61505
+ * none.
61506
+ *
61507
+ * "Dismiss Scheduled maintenance" says which of several callouts the button
61508
+ * takes away, where every button was "Dismiss". A label without `{label}` is
61509
+ * read as written.
60766
61510
  * - `tone`: What kind of attention the passage needs.
60767
61511
  *
60768
61512
  * `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -60780,16 +61524,6 @@ export type CustomElementsSolidJs = {
60780
61524
  * `danger` is said as "Error", the word a reader understands, and
60781
61525
  * `neutral` as "Note", for what the passage is.
60782
61526
  * - `dismissible`: Whether the element shows a control that dismisses it.
60783
- * - `dismiss-label`/`dismissLabel`: The dismiss control's label, read by screen readers.
60784
- *
60785
- * `attribute` is spelled out because Lit lowercases a property name to
60786
- * derive one rather than dash-casing it, so this would otherwise be
60787
- * reachable only as `dismisslabel`, which nobody would guess and no linter
60788
- * would catch.
60789
- *
60790
- * A word property: register it for a locale under the host's key. A family
60791
- * that names the control otherwise, such as Tag's `Remove {label}`,
60792
- * declares its own English with `@words` above the override.
60793
61527
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
60794
61528
  *
60795
61529
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -61956,6 +62690,13 @@ export type CustomElementsSolidJs = {
61956
62690
  * disabled>` turns the composer off. Sending is still `helix-send`, and it
61957
62691
  * does not submit the form.
61958
62692
  *
62693
+ * **`required`, `minlength` and `maxlength` are checked by the browser**, as
62694
+ * on a `<textarea>`, and the message is the browser's. `maxlength` stops the
62695
+ * field taking more. A draft that fails them does not send, and the composer
62696
+ * takes `:state(invalid)` and `aria-invalid` once the reader has tried to send
62697
+ * it, the form was submitted, or the reader edited the field and left it.
62698
+ * Tabbing past an empty composer marks nothing.
62699
+ *
61959
62700
  * **`typing` says whether the user is writing**, and `helix-typing` is sent
61960
62701
  * each time it changes: when they start, and when they send or stop for
61961
62702
  * `typing-timeout` milliseconds. Pass it on to show "is typing" to the other
@@ -61966,7 +62707,12 @@ export type CustomElementsSolidJs = {
61966
62707
  * Component attributes and properties that can be applied to the element or by using JavaScript.
61967
62708
  *
61968
62709
  * - `label`: The field's name, read by screen readers.
62710
+ * - `maxlength`/`maxLength`: The most characters a draft can have. The field stops taking more.
62711
+ * - `minlength`/`minLength`: The fewest characters a draft can have, once the reader has written in
62712
+ * the field, as on a `<textarea>`.
61969
62713
  * - `placeholder`: Placeholder text shown in an empty field.
62714
+ * - `required`: Whether the form needs a draft to submit. An empty draft never sends,
62715
+ * required or not.
61970
62716
  * - `rows`: How many rows the field opens at.
61971
62717
  *
61972
62718
  * It grows from there.
@@ -62118,6 +62864,7 @@ export type CustomElementsSolidJs = {
62118
62864
  *
62119
62865
  * These can be used to apply styling when a component is in a given state.
62120
62866
  *
62867
+ * - `invalid`: The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it.
62121
62868
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
62122
62869
  */
62123
62870
  "helix-headless-chat-composer": Partial<
@@ -64759,6 +65506,10 @@ export type CustomElementsSolidJs = {
64759
65506
  * and shows a dash while only some are chosen.
64760
65507
  * - Shift with a press on a checkbox selects every row between it and the row
64761
65508
  * last chosen.
65509
+ * - `selection-behavior="replace"` makes a press or a move select the row
65510
+ * alone, as a file list does. Control or Command with a press adds or takes
65511
+ * out one row, and Shift with a press selects every row from the one last
65512
+ * chosen.
64762
65513
  *
64763
65514
  * To act on a single row, such as opening it, put a link or a button in a cell.
64764
65515
  *
@@ -64775,7 +65526,8 @@ export type CustomElementsSolidJs = {
64775
65526
  * | Enter, F2 | Moves into the cell's controls. Escape moves back to the cell, and Tab moves between the controls of one cell. |
64776
65527
  * | Enter, Space on a sortable heading | Sorts by the column. |
64777
65528
  * | Enter, Space on the `load-more` row | Sends `helix-load-more`. |
64778
- * | Space on a row | Selects the row, in a `selectable` table. |
65529
+ * | Space on a row | Selects the row, in a `selectable` table. Under `selection-behavior="replace"`, selects it alone, and Control or Command with Space adds or takes out the row. |
65530
+ * | Down, Up, Page Down, Page Up under `selection-behavior="replace"` | Selects the row it moves to alone. Control or Command with the key moves without selecting. |
64779
65531
  * | Shift with Down or Up | Selects the rows it moves across, in a `selectable` table. |
64780
65532
  * | Shift with Space | Selects every row from the one last chosen, in a `selectable` table. |
64781
65533
  * | Control or Command with A | Selects every row, in a `selectable` table. |
@@ -64971,6 +65723,12 @@ export type CustomElementsSolidJs = {
64971
65723
  * rows are chosen, written in the locale, and a language that needs plural
64972
65724
  * forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
64973
65725
  * {# wybranych} other {# wybranego}}`.
65726
+ * - `selection-behavior`/`selectionBehavior`: What a key or a press on a row does to the rows already selected, in a
65727
+ * `selectable` table. `toggle`, the default, keeps them: Space adds or takes
65728
+ * out the row. `replace` selects the row alone, as a file list does: Down and
65729
+ * Up carry the selection with them, and a press on a row selects it. Control
65730
+ * or Command with a press or Space adds or takes out one row, and with a move
65731
+ * goes without selecting. The checkboxes add or take out one row either way.
64974
65732
  * - `select-row-label`/`selectRowLabel`: The name of a row's checkbox. `{row}` is replaced with the row's value in
64975
65733
  * the first column that has a field, or with its key.
64976
65734
  * - `sort`: The sort order, as `field:direction`.
@@ -65074,7 +65832,9 @@ export type CustomElementsSolidJs = {
65074
65832
  * Areas where markup can be added to the component.
65075
65833
  *
65076
65834
  * - `(default)`: The columns, as `TableColumn` elements.
65835
+ * - `empty`: Content shown when there are no rows to show and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
65077
65836
  * - `footer`: Content below the grid. It replaces the built-in pagination.
65837
+ * - `loading`: Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.
65078
65838
  * - `toolbar`: Content above the grid, such as a search field or actions.
65079
65839
  *
65080
65840
  * ## Methods
@@ -66188,6 +66948,16 @@ export type CustomElementsSolidJs = {
66188
66948
  * announces with its description as it opens. Set `dismissible` to draw a
66189
66949
  * close control, labeled by `dismiss-label`.
66190
66950
  *
66951
+ * **Keyboard.** Opening moves focus to the first control in the dialog.
66952
+ *
66953
+ * | Key | What it does |
66954
+ * |---|---|
66955
+ * | 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. |
66956
+ * | Escape | Asks to close the dialog. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
66957
+ * | Enter, Space | On the close control, closes the dialog. |
66958
+ *
66959
+ * Closing puts focus back on the element that had it before the dialog opened.
66960
+ *
66191
66961
  * ## Attributes & Properties
66192
66962
  *
66193
66963
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -66209,8 +66979,14 @@ export type CustomElementsSolidJs = {
66209
66979
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
66210
66980
  * the property this component exists to keep.
66211
66981
  *
66982
+ * The press on the backdrop that this element handles itself follows it too:
66983
+ * `closerequest` and `none` leave the dialog open on that press, as the
66984
+ * platform does, and `none` also keeps it open on Escape in a browser without
66985
+ * `closedby`.
66986
+ *
66212
66987
  * Absent by default, which is the platform's `auto` and this library's rule
66213
- * that a resting value is an attribute's absence.
66988
+ * that a resting value is an attribute's absence. Absent, a press on the
66989
+ * backdrop closes the dialog.
66214
66990
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
66215
66991
  *
66216
66992
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -66354,9 +67130,10 @@ export type CustomElementsSolidJs = {
66354
67130
  * **The line is a separator**, as `<hr>` is, and as Radix Separator, React
66355
67131
  * Aria Separator, and Web Awesome's divider are. It is named by any content
66356
67132
  * set into it, so a screen reader says "Or, separator" where you wrote "Or" on
66357
- * the line. Set `decorative` on a rule that separates nothing, such as one
66358
- * under a heading or between the facts of a byline, and it leaves the
66359
- * accessibility tree.
67133
+ * the line, and the words are read once, as that name. Set words into a
67134
+ * separator and no controls, which are hidden with them. Set `decorative` on
67135
+ * a rule that separates nothing, such as one under a heading or between the
67136
+ * facts of a byline, and it leaves the accessibility tree.
66360
67137
  *
66361
67138
  * Use `orientation="vertical"` between items on one line. A vertical divider
66362
67139
  * stretches to fit its flex parent and sets no height of its own.
@@ -66374,10 +67151,6 @@ export type CustomElementsSolidJs = {
66374
67151
  *
66375
67152
  * - `announced`: Whether screen readers announce the line as a separator, which they now do
66376
67153
  * by default.
66377
- *
66378
- * It dates from when the line was decorative by default. It is still read,
66379
- * and it wins over `decorative`, so a divider written with it stays a
66380
- * separator.
66381
67154
  * - `decorative`: Takes the line out of the accessibility tree, for a rule that separates
66382
67155
  * nothing: one under a heading, or between the facts of a byline.
66383
67156
  *
@@ -66700,6 +67473,11 @@ export type CustomElementsSolidJs = {
66700
67473
  * A drawer with `modal="false"` leaves the page usable and still closes on
66701
67474
  * Escape, in a browser without `closedby` as well.
66702
67475
  *
67476
+ * Set `persistent` for a drawer that has to be answered: Escape, a press
67477
+ * outside, and a swipe leave it open, and the close control and `close()`
67478
+ * still close it. `closedby="none"` keeps it open on all three as well, and
67479
+ * `closedby="closerequest"` keeps it open on a press outside.
67480
+ *
66703
67481
  * **A touch or a pen swipes it away**, toward the edge it came from, resolved
66704
67482
  * against the writing direction. A swipe past halfway, or a quick one, closes
66705
67483
  * it through the same request as every other way out. `snap-points` lists the
@@ -66720,7 +67498,20 @@ export type CustomElementsSolidJs = {
66720
67498
  *
66721
67499
  * The panel's name is `label` when you set it. Otherwise it is the heading in
66722
67500
  * the `header` slot, or the elements an `aria-labelledby` on the host names,
66723
- * and `fallback-label` where nothing names it.
67501
+ * and `fallback-label` where nothing names it. A development build warns
67502
+ * when a drawer opens with nothing but `fallback-label` to name it.
67503
+ *
67504
+ * The panel is described by the words at the start of its body, as `Dialog`
67505
+ * is: the elements in the default slot before the first one that is or holds
67506
+ * a control. An `aria-describedby` on the host replaces it.
67507
+ *
67508
+ * **Keyboard.** Opening moves focus to the first control in the panel.
67509
+ *
67510
+ * | Key | What it does |
67511
+ * |---|---|
67512
+ * | 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. |
67513
+ * | Escape | Asks to close the drawer. A `helix-before-close` listener can refuse, and `persistent` or `closedby="none"` keeps it open. |
67514
+ * | Enter, Space | On the close control, closes the drawer. |
66724
67515
  *
66725
67516
  * Content stays mounted when the drawer is closed, so it is in the server
66726
67517
  * markup and can animate. A closed `<dialog>` is already out of the tab order
@@ -66771,6 +67562,11 @@ export type CustomElementsSolidJs = {
66771
67562
  * lost its focus trap because a consumer forgot a word would be worse than an
66772
67563
  * attribute on the host, and nothing selects on it: the scrim is rendered or
66773
67564
  * not, rather than shown or hidden by CSS.
67565
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
67566
+ * drawer that has to be answered.
67567
+ *
67568
+ * The close control and `close()` still close it, as on `Dialog`: a panel
67569
+ * with no way out at all is a trap.
66774
67570
  * - `placement`: Which edge the drawer comes from.
66775
67571
  *
66776
67572
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -70147,6 +70943,11 @@ export type CustomElementsSolidJs = {
70147
70943
  * the shortcut with the control. A chord the page wrote there itself is left
70148
70944
  * alone, and the key takes back only what it added.
70149
70945
  *
70946
+ * A chord is drawn with the platform's modifiers first, in its order, so one
70947
+ * `keys` value is right everywhere: `mod+shift+p` is `⇧⌘P` on an Apple
70948
+ * keyboard and `Ctrl+Shift+P` elsewhere. Where it is drawn in glyphs, it is
70949
+ * read in words, such as `Shift Command P`.
70950
+ *
70150
70951
  * `caps` draws a chord as a key per key: each is a `key` part and the `+`
70151
70952
  * between two a `separator` part, so a sheet can draw a cap for each.
70152
70953
  * `key-labels` renames any key, on every platform, such as
@@ -70496,6 +71297,25 @@ export type CustomElementsSolidJs = {
70496
71297
  * swiped across the picture shows the next or the previous item, the way the
70497
71298
  * line of text runs.
70498
71299
  *
71300
+ * A press on the empty area around the item closes the viewer, as a press on
71301
+ * the backdrop does. Under `max-zoom`, a press beside the item zooms on a
71302
+ * double press and closes nothing, and only the space outside the viewport
71303
+ * closes the viewer. A press that dragged closes nothing.
71304
+ *
71305
+ * **Keyboard.** Opening moves focus to the viewer itself, which a screen
71306
+ * reader names.
71307
+ *
71308
+ * | Key | What it does |
71309
+ * |---|---|
71310
+ * | 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. |
71311
+ * | Left, Up | Shows the previous item. |
71312
+ * | Home, End | Shows the first or the last item. |
71313
+ * | `+`, `-`, `0` | Zooms in, zooms out, and puts the item back at its own size, where `max-zoom` allows zooming. |
71314
+ * | 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. |
71315
+ * | Escape | Closes the viewer. A `helix-before-close` listener can refuse. |
71316
+ *
71317
+ * A development build warns when a viewer opens with no `label`.
71318
+ *
70499
71319
  * The chrome hides when there is no input, through `IdleController`, and comes
70500
71320
  * back on a pointer move, a key press, or a focus. It stays while focus is on a
70501
71321
  * control in the header or the footer, so a keyboard reader is never left on
@@ -70720,6 +71540,9 @@ export type CustomElementsSolidJs = {
70720
71540
  * `<svg>` that fills its box scales with the box, so the same `font-size` can
70721
71541
  * render at 10px in a narrow chart and 43px in a wide one.
70722
71542
  *
71543
+ * `value-axis` draws the scale's numbers beside the plot, at the levels
71544
+ * `gridlines` rules, written in `locale`.
71545
+ *
70723
71546
  * The table is the accessible representation, and the drawing is hidden from
70724
71547
  * screen readers, who get the numbers. The `summary` part names the chart, from
70725
71548
  * `label` or the table's caption, and gives each series' latest reading.
@@ -70730,6 +71553,11 @@ export type CustomElementsSolidJs = {
70730
71553
  * a reading. The tooltip follows, the `live` part says the reading in words,
70731
71554
  * and Escape puts the tooltip away.
70732
71555
  *
71556
+ * **A tap shows the reading under it**, and keeps it until a tap lands
71557
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
71558
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
71559
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
71560
+ *
70733
71561
  * ## Attributes & Properties
70734
71562
  *
70735
71563
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -70828,6 +71656,12 @@ export type CustomElementsSolidJs = {
70828
71656
  * masked with one disc per series and every stroke stops at its own ring's
70829
71657
  * inner edge. `mask-composite: intersect` is what makes N holes out of N
70830
71658
  * layers; a single `mask-image` would only ever cut the last one.
71659
+ * - `value-axis`/`valueAxis`: Draws the scale's numbers beside the plot, the `axis` part, at the levels
71660
+ * `gridlines` rules, so a reading can be measured off the drawing as well
71661
+ * as read from the tooltip.
71662
+ *
71663
+ * Absent draws none: a line read for its shape needs no numbers beside it,
71664
+ * and the tooltip and the table hold every reading.
70831
71665
  * - `zero`: Whether the range always includes zero.
70832
71666
  *
70833
71667
  * Absent measures from the data's own extent, which is what a line is for.
@@ -70919,6 +71753,13 @@ export type CustomElementsSolidJs = {
70919
71753
  * browser harness's awaits it alone: a browser always runs the frame, and a
70920
71754
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
70921
71755
  *
71756
+ * ## Events
71757
+ *
71758
+ * Events that will be emitted by the component.
71759
+ *
71760
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
71761
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
71762
+ *
70922
71763
  * ## Methods
70923
71764
  *
70924
71765
  * Methods that can be called to access component functionality.
@@ -70961,12 +71802,14 @@ export type CustomElementsSolidJs = {
70961
71802
  *
70962
71803
  * - `--chart-terminus-x`: Where a series' last reading sits horizontally, as a percentage. Written by the component.
70963
71804
  * - `--chart-terminus-y`: Where a series' last reading sits vertically, as a percentage. Written by the component.
71805
+ * - `--line-chart-axis`: The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.
70964
71806
  *
70965
71807
  * ## CSS Parts
70966
71808
  *
70967
71809
  * Custom selectors for styling elements within the component.
70968
71810
  *
70969
71811
  * - `area`: The wash under one line, where `area` is set.
71812
+ * - `axis`: The numbers of the scale beside the plot, under `value-axis`.
70970
71813
  * - `band`: The band around the reading under the pointer.
70971
71814
  * - `baseline`: The rule at zero, where zero is inside the range.
70972
71815
  * - `gridline`: One rule across the plot, under `gridlines`.
@@ -70983,6 +71826,7 @@ export type CustomElementsSolidJs = {
70983
71826
  * - `summary`: The chart's name and each series' latest reading, written as a sentence for screen readers. Hide it visually.
70984
71827
  * - `svg`: The drawing surface the lines and areas sit on.
70985
71828
  * - `terminus`: The mark on one series' last reading.
71829
+ * - `tick`: One number on the axis, placed with `inset-block-start` at its level.
70986
71830
  * - `tooltip`: The bubble, forwarded from `Tooltip`.
70987
71831
  * - `tooltip-anchor`: The `Tooltip` element itself.
70988
71832
  * - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
@@ -73772,6 +74616,13 @@ export type CustomElementsSolidJs = {
73772
74616
  * one page can mark the section in view with `aria-current="location"`. Where
73773
74617
  * several are marked, `page` wins.
73774
74618
  *
74619
+ * **The destinations can be a list.** Slot a `<ul>` or an `<ol>` of `<li>`
74620
+ * elements, each holding a link, and a screen reader says how many there are
74621
+ * and where each one is, as in Radix's `NavigationMenu.List`. The marker and
74622
+ * the arrow keys work on the list items as they do on bare links. Give the
74623
+ * list `role="list"` as well, since Safari drops the semantics of a list drawn
74624
+ * without bullets.
74625
+ *
73775
74626
  * Set `orientation="vertical"` to stack the destinations in a column, for a
73776
74627
  * sidebar.
73777
74628
  *
@@ -74152,6 +75003,17 @@ export type CustomElementsSolidJs = {
74152
75003
  * the feed holds one page of a longer list, and each row says its place in the
74153
75004
  * whole of it.
74154
75005
  *
75006
+ * **Keyboard.**
75007
+ *
75008
+ * | Key | What it does |
75009
+ * |---|---|
75010
+ * | Down, Up | On a row, moves to the next or the previous row. |
75011
+ * | Home, End | On a row, moves to the first or the last row. |
75012
+ * | Page Down, Page Up | From anywhere in a row, moves to the next or the previous row. |
75013
+ * | Control+End | From anywhere in the feed, moves to the first control after it on the page. |
75014
+ * | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
75015
+ * | Tab | Moves through the controls in a row, and on out of the feed. |
75016
+ *
74155
75017
  * **`load-more` adds a button after the list** that sends `helix-load-more`,
74156
75018
  * for a feed that holds one page of a longer list. Append the next page, set
74157
75019
  * `loading` while it is on its way, and take `load-more` off once there is
@@ -76136,9 +76998,10 @@ export type CustomElementsSolidJs = {
76136
76998
  *
76137
76999
  * The trigger is slotted and stays your own element. A Helix trigger is told
76138
77000
  * whether the popover is open inside its own shadow root. On a plain element,
76139
- * such as a `<button>`, the popover writes `aria-expanded` only once a reader
76140
- * has pressed it, which is after any hydration, and never where you wrote
76141
- * `aria-expanded` yourself. It writes nothing else onto your markup.
77001
+ * such as a `<button>`, the popover writes `aria-expanded`, from a frame after
77002
+ * its own first render, or from the first press where that comes sooner. It
77003
+ * never writes it where you wrote `aria-expanded` yourself, and writes nothing
77004
+ * else onto your markup.
76142
77005
  *
76143
77006
  * The panel is in the top layer through the popover API, so it needs no
76144
77007
  * `z-index`, and an ancestor with `overflow: hidden`, `transform`, `filter`, or
@@ -76161,6 +77024,17 @@ export type CustomElementsSolidJs = {
76161
77024
  *
76162
77025
  * The panel's name is `label` when you set it. Otherwise it is the first
76163
77026
  * heading in the panel, or the elements an `aria-labelledby` on the host names.
77027
+ * A development build warns when a popover opens with nothing but
77028
+ * `fallback-label` to name it.
77029
+ *
77030
+ * **Keyboard.** Opening moves focus to the first control in the panel, or to
77031
+ * the panel where it holds none.
77032
+ *
77033
+ * | Key | What it does |
77034
+ * |---|---|
77035
+ * | Enter, Space | On the trigger, opens the panel, or closes it while it is open. |
77036
+ * | Escape | Closes the panel and puts focus back on the trigger. |
77037
+ * | 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. |
76164
77038
  *
76165
77039
  * `arrow` draws a point on the panel's edge facing the trigger. The side the
76166
77040
  * panel landed on is on the host as `:state(placed-top)` and its kin, and the
@@ -77390,6 +78264,11 @@ export type CustomElementsSolidJs = {
77390
78264
  * reads in its own direction. The summary and the tooltip bubble follow the
77391
78265
  * page's direction.
77392
78266
  *
78267
+ * **A tap shows the reading under it**, and keeps it until a tap lands
78268
+ * elsewhere. `helix-reading-change` says each move of the reading, by pointer,
78269
+ * tap or key, and `helix-reading-press` says a reading was clicked, tapped, or
78270
+ * pressed with Enter or Space, for a page that opens what a reading stands for.
78271
+ *
77393
78272
  * ## Attributes & Properties
77394
78273
  *
77395
78274
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -77510,6 +78389,13 @@ export type CustomElementsSolidJs = {
77510
78389
  * browser harness's awaits it alone: a browser always runs the frame, and a
77511
78390
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
77512
78391
  *
78392
+ * ## Events
78393
+ *
78394
+ * Events that will be emitted by the component.
78395
+ *
78396
+ * - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
78397
+ * - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
78398
+ *
77513
78399
  * ## Methods
77514
78400
  *
77515
78401
  * Methods that can be called to access component functionality.
@@ -79118,6 +80004,21 @@ export type CustomElementsSolidJs = {
79118
80004
  * `collapsed-size` keeps a sliver of the pane visible, such as a tab strip.
79119
80005
  * Collapsing overrides `min` and `max`.
79120
80006
  *
80007
+ * Set `primary` to the pane that keeps its size when the splitter's own size
80008
+ * changes, such as a sidebar beside a window being resized. The other pane
80009
+ * takes all of the change, as Web Awesome's split panel does. Without it,
80010
+ * both panes keep their share.
80011
+ *
80012
+ * **Keyboard.** The divider is one tab stop.
80013
+ *
80014
+ * | Key | What it does |
80015
+ * |---|---|
80016
+ * | Left, Right | Moves a side-by-side divider by `step`. On a right-to-left page, Left moves it toward the end. |
80017
+ * | Up, Down | Moves a stacked divider by `step`. |
80018
+ * | Home, End | Moves the divider to its bounds. |
80019
+ * | Enter | Collapses the start pane, and opens it again. |
80020
+ * | F6 | Moves focus from one pane to the first control in the other, and from the divider to the start pane. |
80021
+ *
79121
80022
  * ## Attributes & Properties
79122
80023
  *
79123
80024
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -79199,6 +80100,8 @@ export type CustomElementsSolidJs = {
79199
80100
  * Reading gives where it is; writing declares it the consumer's, and
79200
80101
  * `default-position` seeds one this element owns. The same accessor pair
79201
80102
  * `Pagination.page` and the calendar's `month` carry.
80103
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
80104
+ * other pane takes all of the change. Unset, both keep their share.
79202
80105
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
79203
80106
  * panel does: a bare number is a percentage and a length such as `240px` is
79204
80107
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -80321,7 +81224,7 @@ export type CustomElementsSolidJs = {
80321
81224
  * through cell by cell, the headings included, as React Aria's table is. The
80322
81225
  * table is then a `grid` and each value a `gridcell`, and the table gives
80323
81226
  * every cell a `tabindex` so focus can rest on it: set `grid` only where the
80324
- * cells may carry one. For typeahead and range selection, use `DataTable`.
81227
+ * cells may carry one.
80325
81228
  *
80326
81229
  * | Key | What it does |
80327
81230
  * |---|---|
@@ -80335,7 +81238,10 @@ export type CustomElementsSolidJs = {
80335
81238
  * | Enter, Space on a sortable heading | Sorts by the column. |
80336
81239
  * | Space on a row, Enter or Space on its checkbox cell | Selects the row, in a `selectable` table. |
80337
81240
  * | Enter or Space on a grip cell | Picks the row up, or drops it, in a `reorderable` table. Up, Down, Home, and End move a row picked up, and Escape puts it back. |
81241
+ * | Shift with Down or Up | Selects the rows it moves across, in a `selectable` table. |
81242
+ * | Shift with Space | Selects every row from the one last chosen, in a `selectable` table. |
80338
81243
  * | Control or Command with A | Selects every row, in a `selectable` table. |
81244
+ * | A letter or a word | Moves to the next row whose first cell starts with what you typed. |
80339
81245
  * | Tab | Leaves the table. |
80340
81246
  *
80341
81247
  * The CSS custom properties listed for this component are written by it and
@@ -80477,7 +81383,9 @@ export type CustomElementsSolidJs = {
80477
81383
  * Areas where markup can be added to the component.
80478
81384
  *
80479
81385
  * - `(default)`: The table's rows.
81386
+ * - `empty`: Content shown when there are no rows and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
80480
81387
  * - `heading`: Words that name the table, shown above it, such as a heading.
81388
+ * - `loading`: Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.
80481
81389
  *
80482
81390
  * ## Methods
80483
81391
  *
@@ -80539,7 +81447,8 @@ export type CustomElementsSolidJs = {
80539
81447
  * it, or make it interactive.
80540
81448
  *
80541
81449
  * In a `selectable` table the row draws a checkbox cell before its own cells,
80542
- * and `value` is the key the table's `selected` lists it by.
81450
+ * and `value` is the key the table's `selected` lists it by. `disabled` keeps
81451
+ * the row out of the selection and out of its link.
80543
81452
  *
80544
81453
  * In a `reorderable` table the row draws a grip cell before those, holding a
80545
81454
  * button named by the table's `move-row-label`, and `value` is the key
@@ -80559,6 +81468,12 @@ export type CustomElementsSolidJs = {
80559
81468
  *
80560
81469
  * Component attributes and properties that can be applied to the element or by using JavaScript.
80561
81470
  *
81471
+ * - `disabled`: Takes the row out of the table's selection and out of its link: the row's
81472
+ * checkbox is disabled, Space, Shift ranges, and the checkbox in the heading
81473
+ * pass over it, and a press does not follow `href`. A row already selected
81474
+ * stays selected. A screen reader hears it as unavailable, and in a `grid`
81475
+ * table the arrow keys still reach it, as a disabled cell in a grid is
81476
+ * reached.
80562
81477
  * - `href`: The URL a press on the row follows, which makes the whole row a link.
80563
81478
  * Empty, the default, leaves presses to the row's cells.
80564
81479
  * - `rel`: The `rel` of the row's link. You set it yourself, as on an anchor.
@@ -80620,7 +81535,7 @@ export type CustomElementsSolidJs = {
80620
81535
  * - `dragging`: The row is being moved, in a `reorderable` table.
80621
81536
  * - `drop-after`: The row being moved goes after this one when it is dropped.
80622
81537
  * - `drop-before`: The row being moved goes before this one when it is dropped.
80623
- * - `link`: While the row has `href`, so a press on it follows the link.
81538
+ * - `link`: While the row has `href` and is not `disabled`, so a press on it follows the link.
80624
81539
  * - `selected`: While the row is selected, in a `selectable` table.
80625
81540
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
80626
81541
  */
@@ -80738,6 +81653,20 @@ export type CustomElementsSolidJs = {
80738
81653
  * Disabled tabs are passed over. Tab leaves the list for the selected panel,
80739
81654
  * which is a tab stop only while it holds nothing focusable.
80740
81655
  *
81656
+ * **Keyboard.**
81657
+ *
81658
+ * | Key | What it does |
81659
+ * |---|---|
81660
+ * | 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. |
81661
+ * | Left, Up | Moves to the tab before, from the first round to the last. |
81662
+ * | Home, End | Moves to the first or the last tab. |
81663
+ * | Enter, Space | Selects the tab with focus, or follows its link. |
81664
+ * | Tab | Leaves the list for the selected panel. |
81665
+ *
81666
+ * Removing the selected tab selects the first enabled tab that is left, and
81667
+ * `active` says so, with `helix-activate`. Where the removed tab had focus,
81668
+ * focus moves to the tab now selected.
81669
+ *
80741
81670
  * The `indicator` part moves to the selected tab and carries its place and
80742
81671
  * size, so a mark of your own can be drawn there: style the part, or slot an
80743
81672
  * element into `indicator`, which sits inside the part and reads the same
@@ -83545,11 +84474,27 @@ export type CustomElementsSolidJs = {
83545
84474
  * you have moved it somewhere else on the page. A stop does not trap focus, so
83546
84475
  * you can still `Tab` out to the element it describes.
83547
84476
  *
83548
- * **The arrow keys move between stops** while focus is in one: the arrow that
83549
- * points the way the line runs goes on, and the other goes back, so on a
83550
- * right-to-left page `ArrowLeft` goes on. Neither finishes the tour at the last
83551
- * stop, and a text field in a stop keeps its own arrows. `Escape` skips the
83552
- * tour.
84477
+ * **The target is scrolled into view** before its stop is shown, by the
84478
+ * least distance that brings it on screen, so the stop that points at it is
84479
+ * on screen too.
84480
+ *
84481
+ * **Keyboard.** Focus is on the current stop's panel, which is not in the
84482
+ * `Tab` order itself.
84483
+ *
84484
+ * | Key | What it does |
84485
+ * |---|---|
84486
+ * | Right | Goes to the next stop. On the last stop it does nothing, and Next finishes the tour. |
84487
+ * | Left | Goes back to the previous stop. |
84488
+ * | Escape | Skips the tour, and puts focus back where it was when the tour opened. |
84489
+ * | Tab, Shift+Tab | Moves through the controls in the stop, and on out to the page. A stop does not trap focus. |
84490
+ * | Enter, Space | On Back, Next, or Skip, presses it. |
84491
+ *
84492
+ * The arrow that points the way the line runs goes on, and the other goes
84493
+ * back, so on a right-to-left page Left goes on and Right goes back. A text field in a stop keeps
84494
+ * its own arrows.
84495
+ *
84496
+ * The tour is a region named by `label` while it runs. A development build
84497
+ * warns when a tour opens with no `label`.
83553
84498
  *
83554
84499
  * ## Attributes & Properties
83555
84500
  *
@@ -83716,7 +84661,8 @@ export type CustomElementsSolidJs = {
83716
84661
  * The panel is a `group`, and a `dialog` for a dialog stop, only while the
83717
84662
  * stop is shown. It is named by the `heading` slot, then by the first heading
83718
84663
  * in the content, then by `label`, and otherwise by its place in the tour. It
83719
- * is described by the `description` slot and by its place, such as "2 of 5",
84664
+ * is described by the `description` slot, or where that is empty by the words
84665
+ * at the start of the content, and by its place, such as "2 of 5",
83720
84666
  * so a screen reader says where the reader is at every stop. `focus()` moves
83721
84667
  * focus to the panel, which is what the tour does when it opens or moves on.
83722
84668
  *
@@ -84086,6 +85032,9 @@ export type CustomElementsSolidJs = {
84086
85032
  * tree of check marks, Control+A (Command+A on an Apple keyboard) checks every
84087
85033
  * item or clears them all, and Shift with Up or Down Arrow moves and checks.
84088
85034
  *
85035
+ * Removing the item that has focus moves focus to the item after it among its
85036
+ * siblings, or the one before, or its parent, so focus stays in the tree.
85037
+ *
84089
85038
  * **`reorderable` lets you move items among their siblings.** Alt with Up or
84090
85039
  * Down moves the focused item a place, and Alt with Home or End to the first
84091
85040
  * or the last place among its siblings, as the APG's rearrangeable listbox
@@ -84606,6 +85555,10 @@ export type CustomElementsSolidJs = {
84606
85555
  * sends `helix-end`. `shuffle` plays the entries in a random order, starting
84607
85556
  * from the one that is current, and `previous` retraces that order.
84608
85557
  *
85558
+ * **The player is named by the current entry**, and the device's own media
85559
+ * controls show the entry as the title. A player you gave a `label` keeps
85560
+ * your name, and only the title follows the entry.
85561
+ *
84609
85562
  * **Keyboard.** Each entry is a button in the tab order, and Enter or Space
84610
85563
  * plays it. The current entry carries `aria-current`. While focus is on the
84611
85564
  * player, the player's own keys work, and `Video` lists them. Its previous
@@ -84851,6 +85804,9 @@ export type CustomElementsSolidJs = {
84851
85804
  * - `label`: Accessible name for the video, which its filename does not provide.
84852
85805
  * - `loading-label`/`loadingLabel`: The text announced while the video waits for more data.
84853
85806
  * - `loop`: Whether the video starts again at the end.
85807
+ * - `media-title`/`mediaTitle`: The title the device's own media controls show while the video plays,
85808
+ * such as on a lock screen. Empty, the default, shows `label`. A playlist
85809
+ * writes the current entry's name here.
84854
85810
  * - `more-label`/`moreLabel`: What the button that opens `overflow-controls` is called.
84855
85811
  * - `mute-label`/`muteLabel`: The name of the mute control. The control shows as pressed while the video
84856
85812
  * is muted.
@@ -85204,6 +86160,12 @@ export type CustomElementsSolidJs = {
85204
86160
  * the last item says "Loading more" (`loading-label`, or your own content in
85205
86161
  * the `loading` slot). `scrollToIndex` takes a reader to an item.
85206
86162
  *
86163
+ * **An empty list.** Set `empty-label`, or put your own content in the `empty`
86164
+ * slot, for a row shown when there are no items and none are loading, such as
86165
+ * "No messages yet" and a link to write one. Without either, an empty list
86166
+ * shows nothing, since a list whose items have not arrived yet has not said
86167
+ * it has none.
86168
+ *
85207
86169
  * **Row height.** Rows are placed by `estimate` until they are drawn. Then the
85208
86170
  * list reads the drawn rows' height once and places every row by it, so a
85209
86171
  * wrong estimate still reaches the last item. Set `measured` for rows of
@@ -85226,6 +86188,8 @@ export type CustomElementsSolidJs = {
85226
86188
  * - `columns`: How many items a line holds. One, the default, is a list; more lays the
85227
86189
  * items out as a grid of that many equal columns, windowed a line at a
85228
86190
  * time, with Left and Right moving along a line.
86191
+ * - `empty-label`/`emptyLabel`: The text of the row shown when there are no items and none are loading,
86192
+ * where the `empty` slot is empty. Empty, the default, shows no row.
85229
86193
  * - `estimate`: The height of one row, in pixels, used to find the row at a scroll offset.
85230
86194
  *
85231
86195
  * An estimate rather than a measurement while `measured` is off, which is
@@ -85315,6 +86279,7 @@ export type CustomElementsSolidJs = {
85315
86279
  * Areas where markup can be added to the component.
85316
86280
  *
85317
86281
  * - `(default)`: The `<template>` that defines one row. The list writes the rows it renders beside it, and this slot shows them between the two spacers.
86282
+ * - `empty`: Content for the row shown when there are no items and none are loading. Falls back to `empty-label`.
85318
86283
  * - `loading`: Content for the row after the last item while `loading` is set. Falls back to `loading-label`.
85319
86284
  *
85320
86285
  * ## Methods
@@ -85333,6 +86298,7 @@ export type CustomElementsSolidJs = {
85333
86298
  *
85334
86299
  * - `after`: The space that stands in for the rows below the rendered ones.
85335
86300
  * - `before`: The space that stands in for the rows above the rendered ones.
86301
+ * - `empty`: The row shown when there are no items and none are loading, where `empty-label` or the `empty` slot gives it content.
85336
86302
  * - `loading`: The row after the last item while `loading` is set.
85337
86303
  * - `viewport`: The scrolling box. On this tier, it needs only a block size.
85338
86304
  *
@@ -85353,6 +86319,8 @@ export type CustomElementsSolidJs = {
85353
86319
  export type CustomCssProperties = {
85354
86320
  /** The height of the content, in pixels, written on the `content` part while the section is open. */
85355
86321
  "--accordion-content-height"?: (string) | undefined;
86322
+ /** The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis. */
86323
+ "--area-chart-axis"?: (string) | undefined;
85356
86324
  /** The width of an axis, in `ch`, set from the widest number on it. The chart sets it on the axis itself, and only when the categories run along the bottom. In a horizontal chart the axis is a row, one line high. */
85357
86325
  "--bar-chart-axis"?: (string) | undefined;
85358
86326
  /** The color of the secondary axis, when one series is on it. The chart sets it from that series' `--chart-series-*` property, so the axis is drawn in whatever color that property resolves to. */
@@ -85433,6 +86401,8 @@ export type CustomCssProperties = {
85433
86401
  "--chart-terminus-x"?: (string) | undefined;
85434
86402
  /** Where a series' last reading sits vertically, as a percentage. Written by the component. */
85435
86403
  "--chart-terminus-y"?: (string) | undefined;
86404
+ /** The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis. */
86405
+ "--line-chart-axis"?: (string) | undefined;
85436
86406
  /** The number of the first row, written where `start` or `reversed` moves it. */
85437
86407
  "--list-first"?: (string) | undefined;
85438
86408
  /** What each row adds to the number before it: `1`, or `-1` where `reversed`. */