@fusion.dev/helix-headless 0.104.1 → 0.106.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 (167) hide show
  1. package/custom-elements.json +10386 -3813
  2. package/dist/accordion/item/accordion-item.d.ts +17 -16
  3. package/dist/accordion/root/accordion-root.d.ts +13 -17
  4. package/dist/announcement/root/announcement-root.d.ts +24 -31
  5. package/dist/app-header/root/app-header-root.d.ts +14 -14
  6. package/dist/area-chart/root/area-chart-root.d.ts +29 -48
  7. package/dist/avatar/group/avatar-group.d.ts +6 -8
  8. package/dist/avatar/root/avatar-root.d.ts +11 -11
  9. package/dist/badge/root/badge-root.d.ts +14 -15
  10. package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
  11. package/dist/blockquote/root/blockquote-root.d.ts +5 -7
  12. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
  13. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
  14. package/dist/button/root/button-root.d.ts +16 -17
  15. package/dist/button-group/root/button-group-root.d.ts +9 -10
  16. package/dist/callout/root/callout-root.d.ts +10 -15
  17. package/dist/canvas/edge/canvas-edge.d.ts +21 -21
  18. package/dist/canvas/node/canvas-node.d.ts +43 -45
  19. package/dist/canvas/root/canvas-root.d.ts +100 -99
  20. package/dist/card/root/card-root.d.ts +10 -12
  21. package/dist/carousel/root/carousel-root.d.ts +32 -33
  22. package/dist/chat/composer/chat-composer.d.ts +24 -26
  23. package/dist/chat/message/chat-message.d.ts +30 -33
  24. package/dist/chat/root/chat-root.d.ts +63 -80
  25. package/dist/checkbox/root/checkbox-root.d.ts +30 -32
  26. package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
  27. package/dist/code/root/code-root.d.ts +6 -10
  28. package/dist/code-block/root/code-block-root.d.ts +35 -48
  29. package/dist/color-input/root/color-input-root.d.ts +62 -56
  30. package/dist/color-input/root/color-input-root.js +3 -0
  31. package/dist/color-picker/root/color-picker-root.d.ts +61 -49
  32. package/dist/color-picker/root/color-picker-root.js +4 -0
  33. package/dist/combobox/root/combobox-root.d.ts +52 -53
  34. package/dist/command/root/command-root.d.ts +40 -40
  35. package/dist/command/root/command-root.js +1 -0
  36. package/dist/copy-button/root/copy-button-root.d.ts +24 -26
  37. package/dist/data-table/root/data-table-root.d.ts +106 -107
  38. package/dist/date-input/root/date-input-root.d.ts +54 -53
  39. package/dist/date-picker/root/date-picker-root.d.ts +25 -21
  40. package/dist/description-list/item/description-list-item.d.ts +7 -7
  41. package/dist/description-list/root/description-list-root.d.ts +10 -15
  42. package/dist/dialog/root/dialog-root.d.ts +22 -19
  43. package/dist/divider/root/divider-root.d.ts +12 -13
  44. package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
  45. package/dist/drawer/root/drawer-root.d.ts +19 -18
  46. package/dist/drilldown/item/drilldown-item.d.ts +28 -28
  47. package/dist/drilldown/root/drilldown-root.d.ts +22 -28
  48. package/dist/element-events.generated.js +19 -1
  49. package/dist/empty/root/empty-root.d.ts +16 -19
  50. package/dist/file-input/root/file-input-root.d.ts +32 -32
  51. package/dist/filter-input/chip/filter-chip.d.ts +36 -39
  52. package/dist/filter-input/field/filter-field.d.ts +25 -31
  53. package/dist/filter-input/menu/filter-menu.d.ts +50 -47
  54. package/dist/filter-input/operator/filter-operator.d.ts +15 -20
  55. package/dist/filter-input/root/filter-input-root.d.ts +80 -98
  56. package/dist/format-date/root/format-date-root.d.ts +19 -27
  57. package/dist/heatmap/root/heatmap-root.d.ts +40 -41
  58. package/dist/icon/root/icon-root.d.ts +21 -23
  59. package/dist/icon-button/root/icon-button-root.d.ts +12 -14
  60. package/dist/image/root/image-root.d.ts +30 -30
  61. package/dist/input/root/input-root.d.ts +36 -35
  62. package/dist/kbd/root/kbd-root.d.ts +13 -15
  63. package/dist/legend/root/legend-root.d.ts +18 -16
  64. package/dist/lightbox/item/lightbox-item.d.ts +13 -15
  65. package/dist/lightbox/root/lightbox-root.d.ts +40 -41
  66. package/dist/line-chart/root/line-chart-root.d.ts +20 -29
  67. package/dist/list/item/list-item.d.ts +17 -22
  68. package/dist/list/root/list-root.d.ts +6 -7
  69. package/dist/listbox/root/listbox-root.d.ts +42 -41
  70. package/dist/loader/root/loader-root.d.ts +16 -20
  71. package/dist/map/area/map-area.d.ts +48 -0
  72. package/dist/map/area/map-area.js +40 -0
  73. package/dist/map/buildings/map-buildings.d.ts +45 -0
  74. package/dist/map/buildings/map-buildings.js +37 -0
  75. package/dist/map/contours/map-contours.d.ts +61 -0
  76. package/dist/map/contours/map-contours.js +54 -0
  77. package/dist/map/index.d.ts +14 -0
  78. package/dist/map/index.js +10 -0
  79. package/dist/map/landcover/map-landcover.d.ts +47 -0
  80. package/dist/map/landcover/map-landcover.js +37 -0
  81. package/dist/map/marker/map-marker.d.ts +120 -0
  82. package/dist/map/marker/map-marker.js +109 -0
  83. package/dist/map/points/map-points.d.ts +139 -0
  84. package/dist/map/points/map-points.js +161 -0
  85. package/dist/map/position/map-position.d.ts +70 -0
  86. package/dist/map/position/map-position.js +89 -0
  87. package/dist/map/raster/map-raster.d.ts +84 -0
  88. package/dist/map/raster/map-raster.js +96 -0
  89. package/dist/map/root/map-root.d.ts +269 -52
  90. package/dist/map/root/map-root.js +473 -5
  91. package/dist/map/route/map-route.d.ts +73 -0
  92. package/dist/map/route/map-route.js +52 -0
  93. package/dist/map/terrain/map-terrain.d.ts +68 -0
  94. package/dist/map/terrain/map-terrain.js +58 -0
  95. package/dist/megamenu/root/megamenu-root.d.ts +27 -25
  96. package/dist/menu/item/menu-item.d.ts +30 -31
  97. package/dist/menu/root/menu-root.d.ts +25 -29
  98. package/dist/meter/root/meter-root.d.ts +22 -21
  99. package/dist/navigation/root/navigation-root.d.ts +13 -16
  100. package/dist/notifications/group/notification-group.d.ts +27 -28
  101. package/dist/notifications/notification/notification.d.ts +35 -42
  102. package/dist/notifications/root/notifications-root.d.ts +22 -24
  103. package/dist/number-input/root/number-input-root.d.ts +46 -50
  104. package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
  105. package/dist/option/group/option-group.d.ts +11 -11
  106. package/dist/option/root/option-root.d.ts +28 -33
  107. package/dist/outline/root/outline-root.d.ts +18 -17
  108. package/dist/pagination/root/pagination-root.d.ts +37 -39
  109. package/dist/pagination/size/pagination-size.d.ts +37 -43
  110. package/dist/pagination/summary/pagination-summary.d.ts +12 -14
  111. package/dist/pin-input/root/pin-input-root.d.ts +32 -38
  112. package/dist/popover/root/popover-root.d.ts +16 -21
  113. package/dist/progress/root/progress-root.d.ts +16 -14
  114. package/dist/qr-code/root/qr-code-root.d.ts +22 -25
  115. package/dist/quote/root/quote-root.d.ts +5 -6
  116. package/dist/radio/group/radio-group.d.ts +26 -28
  117. package/dist/radio/root/radio-root.d.ts +24 -28
  118. package/dist/rating/root/rating-root.d.ts +27 -30
  119. package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
  120. package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
  121. package/dist/select/root/select-root.d.ts +41 -44
  122. package/dist/skeleton/root/skeleton-root.d.ts +7 -8
  123. package/dist/skip-link/root/skip-link-root.d.ts +21 -28
  124. package/dist/slider/root/slider-root.d.ts +36 -39
  125. package/dist/sparkline/root/sparkline-root.d.ts +22 -28
  126. package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
  127. package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
  128. package/dist/splitter/root/splitter-root.d.ts +37 -41
  129. package/dist/stat/group/stat-group.d.ts +4 -4
  130. package/dist/stat/root/stat-root.d.ts +8 -9
  131. package/dist/steps/root/steps-root.d.ts +11 -14
  132. package/dist/steps/step/step.d.ts +22 -29
  133. package/dist/switch/root/switch-root.d.ts +20 -24
  134. package/dist/table/cell/table-cell.d.ts +18 -8
  135. package/dist/table/cell/table-cell.js +5 -1
  136. package/dist/table/column/table-column.d.ts +62 -55
  137. package/dist/table/root/table-root.d.ts +16 -17
  138. package/dist/table/row/table-row.d.ts +3 -3
  139. package/dist/tabs/panel/tab-panel.d.ts +3 -3
  140. package/dist/tabs/root/tabs-root.d.ts +19 -17
  141. package/dist/tabs/tab/tab.d.ts +6 -6
  142. package/dist/tag/root/tag-root.d.ts +11 -12
  143. package/dist/textarea/root/textarea-root.d.ts +29 -32
  144. package/dist/time-input/root/time-input-root.d.ts +70 -69
  145. package/dist/time-picker/root/time-picker-root.d.ts +58 -66
  146. package/dist/timeline/item/timeline-item.d.ts +18 -24
  147. package/dist/timeline/root/timeline-root.d.ts +13 -21
  148. package/dist/toast/item/toast-item.d.ts +21 -22
  149. package/dist/toast/root/toast-root.d.ts +18 -23
  150. package/dist/toggle/group/toggle-group.d.ts +23 -25
  151. package/dist/toggle/root/toggle-root.d.ts +8 -8
  152. package/dist/toolbar/root/toolbar-root.d.ts +7 -10
  153. package/dist/tooltip/root/tooltip-root.d.ts +41 -47
  154. package/dist/tour/root/tour-root.d.ts +24 -26
  155. package/dist/tour/stop/tour-stop.d.ts +39 -48
  156. package/dist/tree/item/tree-item.d.ts +23 -25
  157. package/dist/tree/root/tree-root.d.ts +13 -12
  158. package/dist/trend/root/trend-root.d.ts +18 -19
  159. package/dist/video/root/video-root.d.ts +108 -101
  160. package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
  161. package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
  162. package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
  163. package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
  164. package/package.json +5 -5
  165. package/types/jsx.d.ts +14011 -11983
  166. package/types/svelte.d.ts +10 -0
  167. package/types/vue.d.ts +2143 -1497
@@ -2,19 +2,17 @@ import { type TemplateResult } from 'lit';
2
2
  import { HelixHeadlessIconButton } from '../../icon-button/root/icon-button-root.js';
3
3
  import '../../tooltip/index.js';
4
4
  /**
5
- * @summary A button that puts a string on the clipboard and says it did.
5
+ * @summary A button that copies a string to the clipboard and confirms the copy.
6
6
  *
7
7
  * @description
8
- * **The confirmation is the component.** Writing to the clipboard is three
9
- * lines; what makes this worth an element is that the platform gives a reader
10
- * no feedback at all, so a press that copies looks identical to one that
11
- * failed.
8
+ * Copies text to the clipboard and confirms the copy. The platform gives no
9
+ * feedback for a clipboard write, so without a confirmation a press that copies
10
+ * looks the same as one that fails.
12
11
  *
13
- * **Announced after the write, never before.** A clipboard write is a
14
- * permission the browser may refuse, for real reasons: an insecure origin, a
15
- * document that is not focused, a gesture that did not qualify. The
16
- * confirmation and the event both wait for the promise, and a refusal leaves
17
- * the button exactly as it was.
12
+ * The confirmation and the event wait for the write to finish. The browser can
13
+ * refuse a clipboard write, for example on an insecure origin, in a document
14
+ * that is not focused, or after a gesture that does not qualify. A refused
15
+ * write leaves the button unchanged.
18
16
  *
19
17
  * @since 0.1.0
20
18
  * @status stable
@@ -22,34 +20,34 @@ import '../../tooltip/index.js';
22
20
  * @aliases Copy, Copy to clipboard
23
21
  * @documentation https://fusion.dev/helix/components/copy-button
24
22
  *
25
- * @slot - The resting icon. Falls back to a clipboard.
26
- * @slot copied - What replaces it once the write succeeds. Falls back to a check.
23
+ * @slot - The icon shown before a copy. Defaults to a clipboard.
24
+ * @slot copied - The icon shown after a successful copy. Defaults to a check mark.
27
25
  *
28
26
  * @event {HelixCopyEvent} helix-copy - Fired after the clipboard write succeeds.
29
27
  *
30
28
  * @csspart button - The inner button.
31
- * @csspart mark - The clipboard glyph, and the confirmation that replaces it.
32
- * @csspart tooltip - The bubble, forwarded from the tooltip inside.
33
- * @csspart tooltip-arrow - The point, resting against the trigger.
34
- * @csspart tooltip-arrow-bottom - The point while the bubble is below the button, so on its top edge, beside `tooltip-arrow`.
35
- * @csspart tooltip-arrow-left - The point while the bubble is left of the button, so on its right edge, beside `tooltip-arrow`.
36
- * @csspart tooltip-arrow-right - The point while the bubble is right of the button, so on its left edge, beside `tooltip-arrow`.
37
- * @csspart tooltip-arrow-top - The point while the bubble is above the button, so on its bottom edge, beside `tooltip-arrow`.
38
- * @csspart tooltip-bottom - The bubble while it is below the button, beside `tooltip`.
39
- * @csspart tooltip-left - The bubble while it is left of the button, beside `tooltip`.
40
- * @csspart tooltip-right - The bubble while it is right of the button, beside `tooltip`.
41
- * @csspart tooltip-top - The bubble while it is above the button, beside `tooltip`.
29
+ * @csspart mark - The clipboard icon, and the confirmation icon that replaces it.
30
+ * @csspart tooltip - The tooltip bubble, forwarded from the tooltip inside the button.
31
+ * @csspart tooltip-arrow - The tooltip's arrow, which points at the button.
32
+ * @csspart tooltip-arrow-bottom - The arrow while the bubble is below the button, on the bubble's top edge. Set together with `tooltip-arrow`.
33
+ * @csspart tooltip-arrow-left - The arrow while the bubble is left of the button, on the bubble's right edge. Set together with `tooltip-arrow`.
34
+ * @csspart tooltip-arrow-right - The arrow while the bubble is right of the button, on the bubble's left edge. Set together with `tooltip-arrow`.
35
+ * @csspart tooltip-arrow-top - The arrow while the bubble is above the button, on the bubble's bottom edge. Set together with `tooltip-arrow`.
36
+ * @csspart tooltip-bottom - The bubble while it is below the button. Set together with `tooltip`.
37
+ * @csspart tooltip-left - The bubble while it is left of the button. Set together with `tooltip`.
38
+ * @csspart tooltip-right - The bubble while it is right of the button. Set together with `tooltip`.
39
+ * @csspart tooltip-top - The bubble while it is above the button. Set together with `tooltip`.
42
40
  */
43
41
  export declare class HelixHeadlessCopyButton extends HelixHeadlessIconButton {
44
42
  /**
45
- * What it is called, and says, after one.
43
+ * The button's name and tooltip text after a copy.
46
44
  *
47
45
  * `attribute` written out, because Lit lowercases a property name rather than
48
46
  * dash-casing it, and `copiedlabel` is not what anyone would type.
49
47
  */
50
48
  copiedLabel: string;
51
49
  /**
52
- * What it is called, and says, before a press.
50
+ * The button's name and tooltip text before a copy.
53
51
  *
54
52
  * Defaulted rather than left empty. An icon-only control must be named, and
55
53
  * the name of this one is not a judgment call: every copy button in the
@@ -57,7 +55,7 @@ export declare class HelixHeadlessCopyButton extends HelixHeadlessIconButton {
57
55
  */
58
56
  label: string;
59
57
  /**
60
- * What goes on the clipboard.
58
+ * The text copied to the clipboard.
61
59
  *
62
60
  * **Narrows `Button.value`, which is the submit value, and the two agree.**
63
61
  * A copy button is `type="button"` and never submits, so the inherited
@@ -6,13 +6,12 @@ import '../../pagination/index.js';
6
6
  import { type DataRow } from './order.js';
7
7
  declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fusion.dev/helix-core").CollectionElement) & typeof HelixElement;
8
8
  /**
9
- * @summary A table that owns a result: rows as data, with sort, filter and paging.
9
+ * @summary A table drawn from an array of rows, with sorting, filtering, and paging.
10
10
  *
11
11
  * @description
12
- * **The schema is markup and the data is a property.** Columns are declared as
13
- * `TableColumn` children, because a schema is small and something a reader
14
- * should see in the HTML; rows are handed over as an array, because a table
15
- * that draws ten thousand elements cannot window them.
12
+ * Declare the columns as `TableColumn` children and pass the rows as an array.
13
+ * The schema stays readable in the HTML, and the rows can be windowed, which
14
+ * ten thousand row elements cannot be.
16
15
  *
17
16
  * ```html
18
17
  * <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20">
@@ -21,45 +20,42 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
21
20
  * </helix-headless-data-table>
22
21
  * ```
23
22
  *
24
- * `Table` takes rows as markup and is the right component for a table of twelve
25
- * things a person wrote out.
23
+ * For a short table written out by hand, use `Table`, which takes rows as
24
+ * markup.
26
25
  *
27
- * **Sort and filter apply to the whole set, never the page.** Sorting the drawn
28
- * window is correct on the first screen and wrong on every other one.
26
+ * Sort and filter apply to the whole set, including the rows on other pages.
29
27
  *
30
- * **The cell values do not server-render.** The headings do, and the row
31
- * elements do, but reading a cell needs the columns, and the columns are markup
32
- * children Lit SSR does not hand this element. So a crawler sees a table of the
33
- * right shape with nothing in it. That is the cost of the first paragraph: use
34
- * `Table` where the served HTML has to carry the values.
28
+ * **The cell values do not server-render.** The headings and the row elements
29
+ * do. Reading a cell needs the columns, and Lit SSR does not pass the column
30
+ * children to this element, so a crawler sees an empty table of the right
31
+ * shape. Use `Table` when the served HTML has to carry the values.
35
32
  *
36
- * **`selectable` adds a column of checkboxes, keyed on `row-key`.** A row is
37
- * selected by its identity rather than its position, so a selection survives a
38
- * sort, a filter and a page. `selected` is the chosen keys, comma separated, the
39
- * shape Listbox uses for a multiple choice, and like `sort` writing it applies
40
- * while `default-selected` is what the markup declared. The box in the heading
41
- * selects every row in the result, across pages, and shows a dash while only
42
- * some are chosen.
43
- * Choosing one of many, rather than several, is opening a row, and that is a
44
- * link or a button in a cell rather than a selection.
33
+ * `selectable` adds a column of checkboxes, keyed on `row-key`:
45
34
  *
46
- * **A reader can size and order the columns.** `resizable` on a column puts a
47
- * separator on its edge; `reorderable` on the table puts a grip on each heading
48
- * that has a `field`, moved by dragging or with the arrow keys. The order lands
49
- * in `order` as fields, and the consumer's own markup is never rewritten: the
50
- * table assigns the headings to its header in that order instead.
35
+ * - A row is selected by its key, so the selection survives a sort, a filter,
36
+ * and a page change.
37
+ * - `selected` holds the chosen keys, comma separated, the same shape `Listbox`
38
+ * uses for a multiple choice. As with `sort`, writing it applies the
39
+ * selection, and `default-selected` holds what the markup declared.
40
+ * - The checkbox in the heading selects every row in the result, across pages,
41
+ * and shows a dash while only some are chosen.
51
42
  *
52
- * **`csv()` hands back the result as text**: every row the filter lets through,
53
- * in the order on screen, in the columns on screen. Saving it is the page's
54
- * business, the same as any other file.
43
+ * To act on a single row, such as opening it, put a link or a button in a cell.
55
44
  *
56
- * **There is no `columns` attribute here, and Table has one.** The difference
57
- * is what a column is in each: here it is the schema, so a table without one
58
- * has nothing to read a row with, and every column is a place to write a
59
- * `width`. A Table holds cells a consumer wrote and can be written with no
60
- * column at all, so its `columns` is where such a table is sized from. Written
61
- * on this element the attribute is inert, which is the trap worth knowing when
62
- * moving between the two.
45
+ * People can resize and reorder the columns. `resizable` on a column puts a
46
+ * separator on its edge. `reorderable` on the table puts a grip on each heading
47
+ * that has a `field`, moved by dragging or with the arrow keys. The new order
48
+ * is written to `order` as a list of fields. Your markup is not rewritten: the
49
+ * table assigns the headings to its header in that order.
50
+ *
51
+ * `csv()` returns the result as text: every row that passes the filter, in the
52
+ * order and the columns on screen. Saving the file is up to you.
53
+ *
54
+ * `DataTable` has no `columns` attribute. Each `TableColumn` is part of the
55
+ * schema, so you size a column with its own `width`. `Table` has `columns`
56
+ * because its cells are markup you write and it can have no columns at all.
57
+ * Written on `DataTable`, `columns` has no effect, so watch for it when you
58
+ * move a table from `Table` to `DataTable`.
63
59
  *
64
60
  * @since 0.1.0
65
61
  * @status stable
@@ -67,57 +63,57 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
67
63
  * @aliases Grid, Result table, Data grid
68
64
  * @documentation https://fusion.dev/helix/components/data-table
69
65
  *
70
- * @slot - The columns, declared rather than drawn.
71
- * @slot footer - Below the grid, replacing the pagination this would otherwise draw.
72
- * @slot toolbar - Above the grid, for a search field or actions.
66
+ * @slot - The columns, as `TableColumn` elements.
67
+ * @slot footer - Content below the grid. It replaces the built-in pagination.
68
+ * @slot toolbar - Content above the grid, such as a search field or actions.
73
69
  *
74
- * @event {HelixFilterEvent} helix-filter - Fired when the query changes, and cancelable.
75
- * @event {HelixNavigateEvent} helix-navigate - Fired when a reader asks for another page, and cancelable.
76
- * @event {HelixReorderEvent} helix-reorder - Fired when a reader asks for the columns in another order, with every field in the new one, and cancelable.
77
- * @event {HelixSelectEvent} helix-select - Fired when a reader changes which rows are selected, with every selected key comma separated, and cancelable.
78
- * @event {HelixSortEvent} helix-sort - Fired when a reader asks for a different order, and cancelable.
70
+ * @event {HelixFilterEvent} helix-filter - The search query is about to change. Cancelable: cancel it to keep the current query.
71
+ * @event {HelixNavigateEvent} helix-navigate - Another page was requested. Cancelable: cancel it to stay on the current page.
72
+ * @event {HelixReorderEvent} helix-reorder - The columns were moved. The event carries every field in the new order. Cancelable: cancel it to keep the current order.
73
+ * @event {HelixSelectEvent} helix-select - The selection changed. The event carries every selected key, separated by commas. Cancelable: cancel it to keep the current selection.
74
+ * @event {HelixSortEvent} helix-sort - A different sort order was requested. Cancelable: cancel it to keep the current order.
79
75
  *
80
- * @csspart after - The room the rows below the window would have taken. Windowed only.
81
- * @csspart before - The room the rows above the window would have taken. Windowed only.
76
+ * @csspart after - The space that stands in for the rows below the window. Only while `windowed`.
77
+ * @csspart before - The space that stands in for the rows above the window. Only while `windowed`.
82
78
  * @csspart cell - One cell.
83
- * @csspart cell-selected - A cell of a selected row, beside `cell`.
84
- * @csspart checkbox - A row's checkbox, or the one in the heading that selects them all.
85
- * @csspart checkbox-box - The frame the checkbox's input is painted as.
79
+ * @csspart cell-selected - Added to `cell` in a selected row.
80
+ * @csspart checkbox - A row's checkbox, or the checkbox in the heading that selects every row.
81
+ * @csspart checkbox-box - The box drawn for the checkbox's input.
86
82
  * @csspart checkbox-control - The checkbox's input.
87
- * @csspart checkbox-feedback - Forwarded from the checkbox, and never drawn here.
88
- * @csspart checkbox-field - The row the checkbox's box sits in.
89
- * @csspart checkbox-hint - Forwarded from the checkbox, and never drawn here.
90
- * @csspart checkbox-label - Forwarded from the checkbox; the label is spoken, not shown.
91
- * @csspart checkbox-mark - The tick, or the dash while some rows are selected.
92
- * @csspart checkbox-mark-checked - The mark while its box is checked, beside `checkbox-mark`.
93
- * @csspart checkbox-mark-indeterminate - The dash while only some rows are selected, beside `checkbox-mark`.
94
- * @csspart empty - Shown when the result has nothing in it, whether it arrived empty or a filter emptied it. A result still on its way is `loading` instead, which wins over this.
83
+ * @csspart checkbox-feedback - Forwarded from the checkbox. Not shown in the table.
84
+ * @csspart checkbox-field - The row that holds the checkbox's box.
85
+ * @csspart checkbox-hint - Forwarded from the checkbox. Not shown in the table.
86
+ * @csspart checkbox-label - Forwarded from the checkbox. The label is read by screen readers only.
87
+ * @csspart checkbox-mark - The check mark, or the dash while some rows are selected.
88
+ * @csspart checkbox-mark-checked - Added to `checkbox-mark` while its box is checked.
89
+ * @csspart checkbox-mark-indeterminate - Added to `checkbox-mark` while only some rows are selected.
90
+ * @csspart empty - Shown when there are no rows, because none arrived or the filter matches none. While rows are loading, the `loading` part is shown in its place.
95
91
  * @csspart footer - The region below the grid.
96
- * @csspart head - The row the column headings sit in. `display: contents`, so it takes no space.
97
- * @csspart live - The empty and loading lines again, in a region a screen reader hears when they change. Visually hidden in the styled tier.
98
- * @csspart loading - Shown while the rows are still on their way.
99
- * @csspart pagination - The pagination, where this draws one.
100
- * @csspart pagination-first - The pagination's control that jumps to the first page, under `ends`.
101
- * @csspart pagination-gap - The pagination's control standing over pages not shown.
102
- * @csspart pagination-item - One slot in the pagination's run, holding a page or a gap.
103
- * @csspart pagination-last - The pagination's control that jumps to the last page, under `ends`.
104
- * @csspart pagination-list - The pagination's run of pages.
105
- * @csspart pagination-live - The region that says the page changed. Clipped, not hidden.
106
- * @csspart pagination-mark - The glyph on a first, previous, next or last control.
107
- * @csspart pagination-next - The pagination's control that moves forward one page.
108
- * @csspart pagination-page - The pagination's control for one page.
109
- * @csspart pagination-page-current - The page you are on, beside `pagination-page`.
110
- * @csspart pagination-previous - The pagination's control that moves back one page.
111
- * @csspart pagination-status - The pagination's reading of where you are, in `compact`.
92
+ * @csspart head - The row that holds the column headings. It is `display: contents`, so it takes no space.
93
+ * @csspart live - A copy of the empty and loading messages, which screen readers announce when they change. Visually hidden in the styled tier.
94
+ * @csspart loading - Shown while the rows are loading.
95
+ * @csspart pagination - The built-in pagination, when it is shown.
96
+ * @csspart pagination-first - The pagination's button that goes to the first page, shown with `ends`.
97
+ * @csspart pagination-gap - The pagination's marker for pages that are not shown.
98
+ * @csspart pagination-item - One item in the pagination's list, holding a page or a gap.
99
+ * @csspart pagination-last - The pagination's button that goes to the last page, shown with `ends`.
100
+ * @csspart pagination-list - The pagination's list of pages.
101
+ * @csspart pagination-live - The region that announces a page change. It is clipped out of sight and still read by screen readers.
102
+ * @csspart pagination-mark - The icon on the first, previous, next, and last buttons.
103
+ * @csspart pagination-next - The pagination's button that goes forward one page.
104
+ * @csspart pagination-page - The pagination's button for one page.
105
+ * @csspart pagination-page-current - Added to `pagination-page` for the current page.
106
+ * @csspart pagination-previous - The pagination's button that goes back one page.
107
+ * @csspart pagination-status - The pagination's text that says which page is shown, in `compact`.
112
108
  * @csspart row - One row of data.
113
- * @csspart select - The cell holding a row's checkbox.
114
- * @csspart select-all - The heading holding the checkbox that selects every row.
115
- * @csspart select-selected - The checkbox cell of a selected row, beside `select`.
109
+ * @csspart select - The cell that holds a row's checkbox.
110
+ * @csspart select-all - The heading that holds the checkbox that selects every row.
111
+ * @csspart select-selected - Added to `select` in a selected row.
116
112
  * @csspart table - The grid.
117
113
  * @csspart toolbar - The region above the grid.
118
114
  *
119
- * @cssproperty --data-table-cell-align - The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; Table publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name.
120
- * @cssproperty --data-table-template - The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. A column's `width` is the one to set.
115
+ * @cssproperty --data-table-cell-align - The alignment of the cell's column: `start`, `center`, or `end`. Unset when the column sets none. The component writes it on each cell it draws, and the stylesheet reads it. `Table` sets `--table-cell-align` for the same purpose.
116
+ * @cssproperty --data-table-template - The column track list, worked out from the columns. The component writes it inline on the element that reads it, so setting it has no effect. Set a column's `width` to change it.
121
117
  */
122
118
  export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base {
123
119
  /**
@@ -132,31 +128,32 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
132
128
  */
133
129
  static shadowRootOptions: ShadowRootInit;
134
130
  /**
135
- * Query to open with, where nothing declared one.
131
+ * The starting search query, used until `filter` is set.
136
132
  */
137
133
  defaultFilter: string;
138
134
  /**
139
- * Column order to open with, where nothing declared one.
135
+ * The starting column order, used until `order` is set.
140
136
  */
141
137
  defaultOrder: string;
142
138
  /**
143
- * Page to open on, where nothing declared one.
139
+ * The starting page, used until `page` is set.
144
140
  */
145
141
  defaultPage: number;
146
142
  /**
147
- * Page size to open with, where nothing declared one.
143
+ * The starting page size, used until `pageSize` is set.
148
144
  */
149
145
  defaultPageSize: number;
150
146
  /**
151
- * Keys to open with selected, comma separated, where nothing declared any.
147
+ * The keys selected at the start, separated by commas. Used until `selected`
148
+ * is set.
152
149
  */
153
150
  defaultSelected: string;
154
151
  /**
155
- * Order to open on, where nothing declared one.
152
+ * The starting sort order, used until `sort` is set.
156
153
  */
157
154
  defaultSort: string;
158
155
  /**
159
- * How tall a row is taken to be before it has been drawn, in pixels.
156
+ * The estimated height of a row before it is drawn, in pixels.
160
157
  *
161
158
  * Only read while `windowed`, and a starting guess rather than a claim: a
162
159
  * cell that wraps makes its row taller than its neighbors, and the window
@@ -166,7 +163,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
166
163
  */
167
164
  estimate: number;
168
165
  /**
169
- * What the rows are narrowed to, as one query across every column.
166
+ * The search query. A row is shown when the query matches any of its columns.
170
167
  *
171
168
  * One query rather than a predicate per column, which is what a reader means
172
169
  * by a search box above a table. It matches on each column's ordering value,
@@ -175,11 +172,12 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
175
172
  get filter(): string;
176
173
  set filter(next: string);
177
174
  /**
178
- * Accessible name for the grid.
175
+ * The grid's name, read by screen readers.
179
176
  */
180
177
  label: string;
181
178
  /**
182
- * Whether this element does the work or asks the consumer to.
179
+ * Where filtering, sorting, and paging happen. `client` does them in the
180
+ * table, and `server` leaves them to your code.
183
181
  *
184
182
  * `client` filters, sorts and pages `rows` itself. `server` applies none of
185
183
  * them: `rows` is the page, `total` is the size of the whole result, and the
@@ -190,7 +188,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
190
188
  */
191
189
  mode: 'client' | 'server';
192
190
  /**
193
- * The columns' order, as their fields separated by spaces.
191
+ * The column order, as field names separated by spaces.
194
192
  *
195
193
  * A reader's move fires `helix-reorder` first, and refusing it leaves the
196
194
  * columns where they were, which is how a consumer who stores the order takes
@@ -201,7 +199,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
201
199
  get order(): string;
202
200
  set order(next: string);
203
201
  /**
204
- * The page on show, from 1.
202
+ * The page shown, counting from 1.
205
203
  *
206
204
  * Clamped on the way out, so what this reports is the page it drew: a
207
205
  * bookmarked link to page 99 of a result that has since shrunk reads back as
@@ -210,7 +208,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
210
208
  get page(): number;
211
209
  set page(next: number);
212
210
  /**
213
- * How many rows a page holds. Zero is every row, which is what "no paging" means.
211
+ * The number of rows on a page. `0` shows every row, with no paging.
214
212
  *
215
213
  * **It announces nothing, and that is not an omission.** Nothing in this
216
214
  * element ever asks for a different page size: a size selector is
@@ -221,7 +219,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
221
219
  get pageSize(): number;
222
220
  set pageSize(next: number);
223
221
  /**
224
- * Whether to draw a pagination under the grid.
222
+ * Shows a pagination under the grid.
225
223
  *
226
224
  * On by default once a page size is set, because a paged table with no way to
227
225
  * change pages shows a reader the first twenty rows and no way to know there
@@ -231,14 +229,14 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
231
229
  get paginated(): boolean;
232
230
  set paginated(next: boolean);
233
231
  /**
234
- * Whether a reader may move the columns.
232
+ * Lets users reorder the columns.
235
233
  *
236
234
  * Each heading with a `field` gets a grip, dragged along the header or moved a
237
235
  * place at a time with the arrow keys once it has focus.
238
236
  */
239
237
  reorderable: boolean;
240
238
  /**
241
- * The field naming a row's stable identity.
239
+ * The field that identifies each row.
242
240
  *
243
241
  * **Needed before selection exists, not after.** Lit keys the rendered rows by
244
242
  * it, so a sort moves a row's element rather than rewriting every cell in
@@ -253,7 +251,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
253
251
  */
254
252
  rowKey: string;
255
253
  /**
256
- * The whole result, in the order it arrived.
254
+ * Every row of the result, in the order it arrived.
257
255
  *
258
256
  * A property and not an attribute: it is an array. Left alone this element
259
257
  * filters, sorts and pages it; in `server` mode it is the page the consumer
@@ -265,14 +263,14 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
265
263
  */
266
264
  rows: readonly DataRow[];
267
265
  /**
268
- * Whether a reader may select rows, with a column of checkboxes.
266
+ * Adds a column of checkboxes for selecting rows.
269
267
  *
270
268
  * Wants `row-key`: a selection is a set of identities, and without one the rows
271
269
  * are known by their place in the result, which a sort changes.
272
270
  */
273
271
  selectable: boolean;
274
272
  /**
275
- * The keys of the selected rows, comma separated.
273
+ * The keys of the selected rows, separated by commas.
276
274
  *
277
275
  * A string rather than an array, so it is an attribute a server writes and a
278
276
  * framework's hydration keeps, and the shape a multiple Listbox already uses.
@@ -283,7 +281,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
283
281
  get selected(): string;
284
282
  set selected(next: string);
285
283
  /**
286
- * The order, as `field:direction`.
284
+ * The sort order, as `field:direction`.
287
285
  *
288
286
  * Set it and this element defers: a reader's click fires `helix-sort` and
289
287
  * changes nothing until a new value arrives. `default-sort` seeds an order this
@@ -292,7 +290,8 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
292
290
  get sort(): string;
293
291
  set sort(next: string);
294
292
  /**
295
- * How many rows the whole result has, where this element cannot count them.
293
+ * The number of rows in the whole result, for when the table cannot count
294
+ * them.
296
295
  *
297
296
  * Only read in `server` mode, where `rows` is one page and its length says
298
297
  * nothing about the result. Ignored in `client` mode rather than trusted,
@@ -301,7 +300,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
301
300
  */
302
301
  total: number;
303
302
  /**
304
- * Draws the rows in view and stands empty space in for the rest.
303
+ * Draws only the rows in view, with empty space in place of the rest.
305
304
  *
306
305
  * **Not a `mode`.** `mode` says where the rows come from and who filtered
307
306
  * them; this says how many of the ones we hold get drawn. They are
@@ -376,7 +375,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
376
375
  /** The columns declared as children, in the order they are written. */
377
376
  get tableColumns(): HelixHeadlessTableColumn[];
378
377
  /**
379
- * The columns in the order a reader arranged them.
378
+ * The columns in their current order.
380
379
  *
381
380
  * The ones with a field are put in `order`'s order, those it does not name
382
381
  * after them in the order they were written, and a column with no field stays
@@ -542,8 +541,8 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
542
541
  /** Every field in order, with one taken out and put back beside another. */
543
542
  private placed;
544
543
  /**
545
- * The result as CSV: every row the filter lets through, in the order on
546
- * screen, in the columns on screen, headed by their headings.
544
+ * Returns the result as CSV: every row that matches the filter, in the order
545
+ * and columns shown, under a line of the column headings.
547
546
  *
548
547
  * **Values, not cells.** A cell may be a template, a badge or a link, so each
549
548
  * column gives its field's value, which is what a spreadsheet wants anyway.
@@ -563,7 +562,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
563
562
  /** Asks for a different page. */
564
563
  private requestPage;
565
564
  /**
566
- * Narrows the rows, from a consumer's own search field.
565
+ * Filters the rows by a query from your own search field.
567
566
  *
568
567
  * Public because the query lives above the table in every design that has one,
569
568
  * and a consumer wiring their own input needs somewhere to send it. Returns
@@ -571,7 +570,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
571
570
  */
572
571
  search(query: string): boolean;
573
572
  /**
574
- * Cycles the order by one column, which is what a click on its heading means.
573
+ * Cycles the sort order of one column, as a click on its heading does.
575
574
  *
576
575
  * Ascending, descending, then the order the rows arrived in. Public for the
577
576
  * same reason `search` is: a consumer's own heading UI needs a way to ask.