@fusion.dev/helix-headless 0.144.0 → 0.145.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +8312 -881
- package/dist/accordion/item/accordion-item.d.ts +48 -12
- package/dist/accordion/item/accordion-item.js +26 -5
- package/dist/accordion/root/accordion-root.d.ts +6 -0
- package/dist/accordion/root/accordion-root.js +7 -1
- package/dist/announcement/root/announcement-root.d.ts +21 -1
- package/dist/announcement/root/announcement-root.js +36 -1
- package/dist/app-header/root/app-header-root.d.ts +7 -0
- package/dist/app-header/root/app-header-root.js +5 -1
- package/dist/app-header/sectioning.d.ts +7 -0
- package/dist/app-header/sectioning.js +26 -0
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +32 -1
- package/dist/breadcrumbs/root/breadcrumbs-root.js +25 -2
- package/dist/canvas/root/canvas-root.d.ts +38 -3
- package/dist/canvas/root/canvas-root.js +121 -40
- package/dist/carousel/root/carousel-root.d.ts +90 -0
- package/dist/carousel/root/carousel-root.js +134 -12
- package/dist/chat/composer/chat-composer.d.ts +38 -6
- package/dist/chat/composer/chat-composer.js +42 -9
- package/dist/chat/message/chat-message.d.ts +32 -1
- package/dist/chat/message/chat-message.js +25 -9
- package/dist/chat/naming.d.ts +22 -0
- package/dist/chat/naming.js +12 -0
- package/dist/chat/relative-clock.d.ts +39 -0
- package/dist/chat/relative-clock.js +31 -0
- package/dist/chat/root/chat-root.d.ts +36 -0
- package/dist/chat/root/chat-root.js +24 -1
- package/dist/code-block/root/code-block-root.d.ts +8 -1
- package/dist/code-block/root/code-block-root.js +5 -5
- package/dist/copy-button/root/copy-button-root.d.ts +21 -1
- package/dist/copy-button/root/copy-button-root.js +2 -2
- package/dist/data-table/root/data-table-root.d.ts +150 -2
- package/dist/data-table/root/data-table-root.js +303 -29
- package/dist/data-table/tree.d.ts +40 -0
- package/dist/data-table/tree.js +55 -0
- package/dist/description-list/item/description-list-item.d.ts +17 -2
- package/dist/description-list/item/description-list-item.js +15 -2
- package/dist/description-list/root/description-list-root.d.ts +27 -1
- package/dist/description-list/root/description-list-root.js +26 -1
- package/dist/drilldown/item/drilldown-item.d.ts +11 -6
- package/dist/drilldown/item/drilldown-item.js +8 -5
- package/dist/drilldown/root/drilldown-root.d.ts +11 -0
- package/dist/drilldown/root/drilldown-root.js +8 -3
- package/dist/element-events.generated.js +53 -8
- package/dist/filter-input/menu/filter-menu.d.ts +3 -0
- package/dist/filter-input/menu/filter-menu.js +8 -4
- package/dist/image/root/image-root.js +9 -1
- package/dist/input/root/input-root.d.ts +1 -1
- package/dist/input/root/input-root.js +2 -2
- package/dist/list/item/list-item.d.ts +68 -1
- package/dist/list/item/list-item.js +66 -4
- package/dist/list/numbering.d.ts +14 -0
- package/dist/list/numbering.js +8 -0
- package/dist/list/root/list-root.d.ts +106 -9
- package/dist/list/root/list-root.js +189 -4
- package/dist/list/selection.d.ts +19 -0
- package/dist/list/selection.js +21 -0
- package/dist/listbox/root/listbox-root.js +1 -2
- package/dist/map/root/map-root.d.ts +6 -2
- package/dist/map/root/map-root.js +5 -2
- package/dist/megamenu/root/megamenu-root.d.ts +21 -0
- package/dist/megamenu/root/megamenu-root.js +16 -2
- package/dist/menu/index.d.ts +1 -0
- package/dist/menu/index.js +1 -0
- package/dist/menu/item/menu-item.d.ts +38 -11
- package/dist/menu/item/menu-item.js +33 -1
- package/dist/menu/root/menu-root.d.ts +25 -1
- package/dist/menu/root/menu-root.js +63 -6
- package/dist/menu/section/menu-section.d.ts +55 -0
- package/dist/menu/section/menu-section.js +60 -0
- package/dist/navigation/root/navigation-root.d.ts +16 -1
- package/dist/navigation/root/navigation-root.js +27 -1
- package/dist/notifications/root/notifications-root.d.ts +18 -0
- package/dist/notifications/root/notifications-root.js +17 -1
- package/dist/object-inspector/root/object-inspector-root.d.ts +97 -16
- package/dist/object-inspector/root/object-inspector-root.js +179 -79
- package/dist/object-inspector/rows.d.ts +57 -0
- package/dist/object-inspector/rows.js +86 -0
- package/dist/outline/levels.d.ts +31 -0
- package/dist/outline/levels.js +23 -0
- package/dist/outline/root/outline-root.d.ts +68 -3
- package/dist/outline/root/outline-root.js +73 -8
- package/dist/pagination/size/pagination-size.d.ts +11 -2
- package/dist/pagination/size/pagination-size.js +19 -4
- package/dist/radio/group/radio-group.d.ts +4 -10
- package/dist/radio/group/radio-group.js +5 -10
- package/dist/rating/root/rating-root.d.ts +1 -1
- package/dist/rating/root/rating-root.js +2 -2
- package/dist/scroll-area/root/scroll-area-root.d.ts +113 -0
- package/dist/scroll-area/root/scroll-area-root.js +218 -3
- package/dist/scroll-area/scrollbar.d.ts +65 -0
- package/dist/scroll-area/scrollbar.js +24 -0
- package/dist/select/root/select-root.js +1 -1
- package/dist/splitter/root/splitter-root.d.ts +13 -0
- package/dist/splitter/root/splitter-root.js +20 -2
- package/dist/splitter/snap.d.ts +9 -0
- package/dist/splitter/snap.js +12 -0
- package/dist/steps/reach.d.ts +15 -0
- package/dist/steps/reach.js +12 -0
- package/dist/steps/root/steps-root.d.ts +30 -0
- package/dist/steps/root/steps-root.js +53 -0
- package/dist/steps/step/step.d.ts +38 -2
- package/dist/steps/step/step.js +28 -6
- package/dist/table/column/table-column.d.ts +11 -0
- package/dist/table/column/table-column.js +6 -1
- package/dist/table/root/table-root.d.ts +101 -0
- package/dist/table/root/table-root.js +166 -5
- package/dist/table/row/table-row.d.ts +47 -1
- package/dist/table/row/table-row.js +39 -2
- package/dist/tabs/panel/tab-panel.d.ts +9 -5
- package/dist/tabs/panel/tab-panel.js +3 -4
- package/dist/tabs/root/tabs-root.d.ts +25 -1
- package/dist/tabs/root/tabs-root.js +21 -3
- package/dist/tabs/tab/tab.d.ts +36 -4
- package/dist/tabs/tab/tab.js +46 -3
- package/dist/timeline/group/timeline-group.d.ts +46 -0
- package/dist/timeline/group/timeline-group.js +37 -0
- package/dist/timeline/index.d.ts +1 -0
- package/dist/timeline/index.js +1 -0
- package/dist/timeline/root/timeline-root.d.ts +10 -3
- package/dist/toast/item/toast-item.d.ts +10 -17
- package/dist/toast/item/toast-item.js +15 -36
- package/dist/toolbar/root/toolbar-root.d.ts +13 -0
- package/dist/toolbar/root/toolbar-root.js +15 -5
- package/dist/tree/item/tree-item.d.ts +54 -1
- package/dist/tree/item/tree-item.js +89 -20
- package/dist/tree/root/tree-root.d.ts +37 -0
- package/dist/tree/root/tree-root.js +51 -6
- package/dist/tree/selection.d.ts +24 -0
- package/dist/tree/selection.js +26 -0
- package/dist/video/media-events.d.ts +49 -0
- package/dist/video/media-events.js +39 -0
- package/dist/video/root/video-root.d.ts +99 -13
- package/dist/video/root/video-root.js +84 -47
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +3 -0
- package/dist/video-playlist/menu/video-playlist-menu.js +2 -1
- package/dist/video-playlist/order.d.ts +41 -0
- package/dist/video-playlist/order.js +34 -0
- package/dist/video-playlist/root/video-playlist-root.d.ts +70 -2
- package/dist/video-playlist/root/video-playlist-root.js +60 -16
- package/dist/virtual-list/controls.d.ts +4 -0
- package/dist/virtual-list/controls.js +30 -0
- package/dist/virtual-list/fill.d.ts +30 -0
- package/dist/virtual-list/fill.js +39 -0
- package/dist/virtual-list/keys.d.ts +15 -0
- package/dist/virtual-list/keys.js +24 -0
- package/dist/virtual-list/root/virtual-list-root.d.ts +155 -23
- package/dist/virtual-list/root/virtual-list-root.js +175 -34
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +3778 -801
- package/types/svelte.d.ts +2 -0
- package/types/vue.d.ts +782 -215
- package/dist/listbox/range.d.ts +0 -17
- package/dist/listbox/range.js +0 -5
|
@@ -37,7 +37,7 @@ import '../../tooltip/index.js';
|
|
|
37
37
|
* @slot failed - The icon shown after a copy that put nothing on the clipboard. Defaults to a cross.
|
|
38
38
|
*
|
|
39
39
|
* @event {HelixCopyEvent} helix-copy - Fired after the clipboard write succeeds.
|
|
40
|
-
* @event {
|
|
40
|
+
* @event {HelixCopyErrorEvent} helix-copy-error - Fired when a press put nothing on the clipboard: the browser did not allow the write, or there was nothing to copy.
|
|
41
41
|
*
|
|
42
42
|
* @csspart button - The inner button.
|
|
43
43
|
* @csspart live - The live region that says `pending-label` when the button becomes pending under focus. It is rendered from the first time the button is pending.
|
|
@@ -88,6 +88,26 @@ export declare class HelixHeadlessCopyButton extends HelixHeadlessIconButton {
|
|
|
88
88
|
* whatever its `type`. Declared here so its own page says what it holds.
|
|
89
89
|
*/
|
|
90
90
|
value: string;
|
|
91
|
+
/** @internal A copy button sends no command. */
|
|
92
|
+
command: string;
|
|
93
|
+
/** @internal A copy button sends no command. */
|
|
94
|
+
commandFor: string;
|
|
95
|
+
/** @internal A copy button discloses nothing. */
|
|
96
|
+
expanded?: boolean;
|
|
97
|
+
/** @internal A copy button submits no form. */
|
|
98
|
+
formAction: string;
|
|
99
|
+
/** @internal A copy button submits no form. */
|
|
100
|
+
formEnctype: string;
|
|
101
|
+
/** @internal A copy button submits no form. */
|
|
102
|
+
formMethod: string;
|
|
103
|
+
/** @internal A copy button submits no form. */
|
|
104
|
+
formNoValidate: boolean;
|
|
105
|
+
/** @internal A copy button submits no form. */
|
|
106
|
+
formTarget: string;
|
|
107
|
+
/** @internal A copy button opens nothing. */
|
|
108
|
+
popup?: 'dialog' | 'grid' | 'listbox' | 'menu' | 'tree';
|
|
109
|
+
/** @internal A copy button never submits or resets, whatever its `type`. */
|
|
110
|
+
type: 'button' | 'submit' | 'reset';
|
|
91
111
|
/**
|
|
92
112
|
* The words for the state it is in, used twice on purpose.
|
|
93
113
|
*
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var HelixHeadlessCopyButton_1;
|
|
8
|
-
import { CopyController, customElement } from '@fusion.dev/helix-core';
|
|
8
|
+
import { CopyController, customElement, HelixCopyErrorEvent } from '@fusion.dev/helix-core';
|
|
9
9
|
import { check, copy, x } from '@fusion.dev/helix-icons';
|
|
10
10
|
import { nothing } from 'lit';
|
|
11
11
|
import { property } from 'lit/decorators.js';
|
|
@@ -36,7 +36,7 @@ let HelixHeadlessCopyButton = HelixHeadlessCopyButton_1 = class HelixHeadlessCop
|
|
|
36
36
|
}
|
|
37
37
|
const wrote = await this.clipboard.copy(this.text);
|
|
38
38
|
if (!wrote && this.isConnected) {
|
|
39
|
-
this.dispatchEvent(new
|
|
39
|
+
this.dispatchEvent(new HelixCopyErrorEvent());
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
}
|
|
@@ -39,6 +39,8 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
39
39
|
* selection, and `default-selected` holds what the markup declared.
|
|
40
40
|
* - The checkbox in the heading selects every row in the result, across pages,
|
|
41
41
|
* and shows a dash while only some are chosen.
|
|
42
|
+
* - Shift with a press on a checkbox selects every row between it and the row
|
|
43
|
+
* last chosen.
|
|
42
44
|
*
|
|
43
45
|
* To act on a single row, such as opening it, put a link or a button in a cell.
|
|
44
46
|
*
|
|
@@ -52,6 +54,27 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
52
54
|
* cell. Tab moves between the controls of one cell.
|
|
53
55
|
* - Enter or Space on a sortable heading sorts by it, and Space on a row of a
|
|
54
56
|
* `selectable` table selects it.
|
|
57
|
+
* - In a `selectable` table, Shift with Up or Down selects the rows it moves
|
|
58
|
+
* across, Shift with Space selects every row from the one last chosen, and
|
|
59
|
+
* Control or Command with A selects every row.
|
|
60
|
+
* - Typing letters moves to the next row whose row header starts with them.
|
|
61
|
+
*
|
|
62
|
+
* Each row is named by its row header, the column marked `row-header`, or the
|
|
63
|
+
* first column with a `field` where none is. A screen reader says it as a reader
|
|
64
|
+
* moves between rows.
|
|
65
|
+
*
|
|
66
|
+
* **Rows that hold rows.** `child-field` names the field that holds a row's
|
|
67
|
+
* child rows, and the grid becomes a tree grid. The row header column draws a
|
|
68
|
+
* mark that a press opens and closes a row by, and `expanded` holds the keys of the open
|
|
69
|
+
* rows, which `row-key` names. Right on a closed row's header opens it, Left on
|
|
70
|
+
* an open one closes it, and Left on a child moves to its parent. A sort orders
|
|
71
|
+
* the rows under each parent, and a search shows the rows that lead to each
|
|
72
|
+
* match, open.
|
|
73
|
+
*
|
|
74
|
+
* `load-more` adds a row after the last one with a button that sends
|
|
75
|
+
* `helix-load-more`. A `windowed` table also sends it by itself once a reader
|
|
76
|
+
* scrolls within one screen of the end, once for each number of rows. Add the
|
|
77
|
+
* next rows to `rows`, and set `loading` while they are on their way.
|
|
55
78
|
*
|
|
56
79
|
* The controls inside the cells leave the tab order, so Tab moves past the
|
|
57
80
|
* whole grid. A windowed table keeps the row holding focus drawn while the
|
|
@@ -83,8 +106,10 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
83
106
|
* @slot toolbar - Content above the grid, such as a search field or actions.
|
|
84
107
|
*
|
|
85
108
|
* @event {HelixActivateEvent} helix-activate - Fired after the page changes, with the new page as a string in `detail.value`.
|
|
109
|
+
* @event {HelixExpandEvent} helix-expand - Fired after a row opens or closes, with every open row's key, separated by commas, which `expanded` also holds.
|
|
86
110
|
* @event {HelixFilterEvent} helix-filter - The search query is about to change. Cancelable: cancel it to keep the current query.
|
|
87
111
|
* @event {HelixFilteredEvent} helix-filtered - Fired after the search query changes, with the new query.
|
|
112
|
+
* @event {HelixLoadMoreEvent} helix-load-more - Fired when a reader asks for more rows, by the `load-more` row's button or by scrolling a `windowed` table near its end.
|
|
88
113
|
* @event {HelixNavigateEvent} helix-navigate - Another page was requested. Cancelable: cancel it to stay on the current page.
|
|
89
114
|
* @event {HelixReorderEvent} helix-reorder - The columns are about to move. The event carries every field in the new order. Cancelable: cancel it to keep the current order.
|
|
90
115
|
* @event {HelixReorderedEvent} helix-reordered - Fired after the columns move, with every field in the new order.
|
|
@@ -96,6 +121,7 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
96
121
|
* @csspart after - The space that stands in for the rows below the window. Only while `windowed`.
|
|
97
122
|
* @csspart before - The space that stands in for the rows above the window. Only while `windowed`.
|
|
98
123
|
* @csspart cell - One cell.
|
|
124
|
+
* @csspart cell-header - Added to `cell` for a cell of the row header column.
|
|
99
125
|
* @csspart cell-selected - Added to `cell` in a selected row.
|
|
100
126
|
* @csspart checkbox - A row's checkbox, or the checkbox in the heading that selects every row.
|
|
101
127
|
* @csspart checkbox-box - The box drawn for the checkbox's input.
|
|
@@ -113,6 +139,9 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
113
139
|
* @csspart head - The row that holds the column headings. It is `display: contents`, so it takes no space.
|
|
114
140
|
* @csspart live - A copy of the empty and loading messages, which screen readers announce when they change. Visually hidden in the styled tier.
|
|
115
141
|
* @csspart loading - Shown while the rows are loading.
|
|
142
|
+
* @csspart more - The row after the last one that holds the button for more rows, while `load-more` is set.
|
|
143
|
+
* @csspart more-button - The button that asks for more rows.
|
|
144
|
+
* @csspart more-cell - The cell of the `more` row, which spans every column.
|
|
116
145
|
* @csspart pagination - The built-in pagination, when it is shown.
|
|
117
146
|
* @csspart pagination-first - The pagination's button that goes to the first page, shown with `ends`.
|
|
118
147
|
* @csspart pagination-gap - The pagination's marker for pages that are not shown.
|
|
@@ -131,9 +160,13 @@ declare const HelixHeadlessDataTable_base: (new (...args: any[]) => import("@fus
|
|
|
131
160
|
* @csspart select-all - The heading that holds the checkbox that selects every row.
|
|
132
161
|
* @csspart select-selected - Added to `select` in a selected row.
|
|
133
162
|
* @csspart table - The grid.
|
|
163
|
+
* @csspart toggle - The mark in a row header that a press opens and closes its row by, in a tree grid.
|
|
164
|
+
* @csspart toggle-mark - The caret in `toggle`. It points along the line while the row is closed and down while it is open.
|
|
165
|
+
* @csspart toggle-open - Added to `toggle` while its row is open.
|
|
134
166
|
* @csspart toolbar - The region above the grid.
|
|
135
167
|
*
|
|
136
168
|
* @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.
|
|
169
|
+
* @cssproperty --data-table-level - How deep a row is in a tree grid, from 1. The component writes it on each row header cell, and the stylesheet indents by it.
|
|
137
170
|
* @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.
|
|
138
171
|
*/
|
|
139
172
|
export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base {
|
|
@@ -150,6 +183,19 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
150
183
|
static shadowRootOptions: ShadowRootInit;
|
|
151
184
|
/** The word for an ascending sort, in `sorted-label`. */
|
|
152
185
|
ascendingLabel: string;
|
|
186
|
+
/**
|
|
187
|
+
* The field that holds a row's child rows, as an array. Set it, and `row-key`,
|
|
188
|
+
* and the grid becomes a tree grid.
|
|
189
|
+
*
|
|
190
|
+
* Reflected, because the styled tier indents a tree grid's row headers by
|
|
191
|
+
* it. No default, so a table that sets none writes nothing onto its host.
|
|
192
|
+
*/
|
|
193
|
+
childField?: string;
|
|
194
|
+
/**
|
|
195
|
+
* The keys of the rows open at the start, separated by commas. Used until
|
|
196
|
+
* `expanded` is set.
|
|
197
|
+
*/
|
|
198
|
+
defaultExpanded: string;
|
|
153
199
|
/**
|
|
154
200
|
* The starting search query, used until `filter` is set.
|
|
155
201
|
*/
|
|
@@ -187,6 +233,12 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
187
233
|
* been measured.
|
|
188
234
|
*/
|
|
189
235
|
estimate: number;
|
|
236
|
+
/**
|
|
237
|
+
* The keys of the open rows in a tree grid, separated by commas, the shape of
|
|
238
|
+
* `selected`. A reader's press writes it and then sends `helix-expand`.
|
|
239
|
+
*/
|
|
240
|
+
get expanded(): string;
|
|
241
|
+
set expanded(next: string);
|
|
190
242
|
/**
|
|
191
243
|
* The search query. A row is shown when the query matches any of its columns.
|
|
192
244
|
*
|
|
@@ -205,6 +257,16 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
205
257
|
* The grid's name, read by screen readers.
|
|
206
258
|
*/
|
|
207
259
|
label: string;
|
|
260
|
+
/**
|
|
261
|
+
* Draws a row after the last one with a button that asks for more rows.
|
|
262
|
+
*
|
|
263
|
+
* The button sends `helix-load-more`, and a `windowed` table sends it by
|
|
264
|
+
* itself once a reader scrolls within one screen of the end. Turn it off
|
|
265
|
+
* when there are no more rows to load.
|
|
266
|
+
*/
|
|
267
|
+
loadMore: boolean;
|
|
268
|
+
/** The words on the button in the `more` row. */
|
|
269
|
+
loadMoreLabel: string;
|
|
208
270
|
/**
|
|
209
271
|
* Where filtering, sorting, and paging happen. `client` does them in the
|
|
210
272
|
* table, and `server` leaves them to your code.
|
|
@@ -394,6 +456,7 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
394
456
|
private paginatedState;
|
|
395
457
|
private orderState;
|
|
396
458
|
private selectedState;
|
|
459
|
+
private expandedState;
|
|
397
460
|
/**
|
|
398
461
|
* The row holding the grid's tab stop: `-1` for the headings, otherwise a
|
|
399
462
|
* row of the page counted from 0. Unset until a reader moves, when the stop
|
|
@@ -411,6 +474,19 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
411
474
|
private focusWanted;
|
|
412
475
|
/** The page as last drawn, for the keys to count rows against between renders. */
|
|
413
476
|
private drawnPage;
|
|
477
|
+
/** Whether the last render drew the `more` row, which follows the page's rows. */
|
|
478
|
+
private moreDrawn;
|
|
479
|
+
/** The letters typed at the grid, which move to the row whose header they start. */
|
|
480
|
+
private readonly typeahead;
|
|
481
|
+
/**
|
|
482
|
+
* The key of the row a range selection runs from: the row last chosen or let
|
|
483
|
+
* go one at a time.
|
|
484
|
+
*/
|
|
485
|
+
private anchorKey;
|
|
486
|
+
/** Whether Shift was held on the last press, for a checkbox that asks to range. */
|
|
487
|
+
private shiftPressed;
|
|
488
|
+
/** The number of rows when `helix-load-more` last went out on its own. */
|
|
489
|
+
private askedAt;
|
|
414
490
|
/** The grid's size as the last render counted it, for the internals. */
|
|
415
491
|
private counts;
|
|
416
492
|
/** The order while a grip is being dragged, before anybody has been asked. */
|
|
@@ -456,6 +532,21 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
456
532
|
* result to save a sort is the wrong trade.
|
|
457
533
|
*/
|
|
458
534
|
private held;
|
|
535
|
+
/** The tree last laid out, kept against what laid it out. */
|
|
536
|
+
private grown;
|
|
537
|
+
/**
|
|
538
|
+
* The rows of a tree grid, laid out flat with each open row's children under
|
|
539
|
+
* it. `server` mode lays out the rows it was handed and neither filters nor
|
|
540
|
+
* sorts them.
|
|
541
|
+
*/
|
|
542
|
+
private tree;
|
|
543
|
+
/** The keys of the open rows. */
|
|
544
|
+
private get opened();
|
|
545
|
+
/**
|
|
546
|
+
* The result in order: the tree laid out flat in a tree grid, and the
|
|
547
|
+
* arranged rows otherwise.
|
|
548
|
+
*/
|
|
549
|
+
private flat;
|
|
459
550
|
private arrange;
|
|
460
551
|
/**
|
|
461
552
|
* The part of a page the reader can see, which is every row when not
|
|
@@ -635,9 +726,34 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
635
726
|
* is all it holds.
|
|
636
727
|
*/
|
|
637
728
|
private get everyKey();
|
|
638
|
-
/**
|
|
729
|
+
/**
|
|
730
|
+
* Ticks or clears one row, which the checkbox asked for and was refused. With
|
|
731
|
+
* Shift held it selects every row from the one last chosen.
|
|
732
|
+
*/
|
|
639
733
|
private readonly toggleRow;
|
|
640
|
-
/**
|
|
734
|
+
/** The keys of the rows on the page, in the order they are drawn. */
|
|
735
|
+
private get pageKeys();
|
|
736
|
+
/**
|
|
737
|
+
* Selects every row on the page from the one a range runs from to row `to`,
|
|
738
|
+
* keeping what was already selected. With no row to run from, the range is
|
|
739
|
+
* the row the reader is on, `from`, and it becomes the one to run from.
|
|
740
|
+
*/
|
|
741
|
+
private selectRange;
|
|
742
|
+
/** The words a typed search matches each row by: its row header's value. */
|
|
743
|
+
private get rowWords();
|
|
744
|
+
/**
|
|
745
|
+
* The column whose cells head their rows: the one marked `row-header`, or
|
|
746
|
+
* the first with a `field`.
|
|
747
|
+
*/
|
|
748
|
+
private get headerColumn();
|
|
749
|
+
/** Sends `helix-load-more`, for the button in the `more` row or a scroll near the end. */
|
|
750
|
+
private askForMore;
|
|
751
|
+
/**
|
|
752
|
+
* Asks for more rows on its own once a reader scrolls a `windowed` table to
|
|
753
|
+
* within one screen of the end, once for each number of rows it holds.
|
|
754
|
+
*/
|
|
755
|
+
private askNearEnd;
|
|
756
|
+
/** Asks for one row to be chosen or let go, and makes it where a range runs from. */
|
|
641
757
|
private chooseRow;
|
|
642
758
|
/** Selects every row, or clears them all where every one already was. */
|
|
643
759
|
private readonly toggleAll;
|
|
@@ -758,6 +874,20 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
758
874
|
* same value to the same three.
|
|
759
875
|
*/
|
|
760
876
|
private renderCell;
|
|
877
|
+
/**
|
|
878
|
+
* The mark a pointer opens or closes a row of a tree grid by.
|
|
879
|
+
*
|
|
880
|
+
* **Hidden from assistive technology, and no button.** The row says whether
|
|
881
|
+
* it is open with `aria-expanded`, and Right and Left open and close it. A
|
|
882
|
+
* button in the row header put its own name, "Expand src", into the name of
|
|
883
|
+
* the header that names the row.
|
|
884
|
+
*/
|
|
885
|
+
private renderToggle;
|
|
886
|
+
/**
|
|
887
|
+
* Opens or closes a row of a tree grid, and says so with `helix-expand`.
|
|
888
|
+
* Nothing moves where it is that way already.
|
|
889
|
+
*/
|
|
890
|
+
private toggleOpen;
|
|
761
891
|
/**
|
|
762
892
|
* A checkbox, named for what it chooses, whose change the table takes.
|
|
763
893
|
*
|
|
@@ -801,6 +931,13 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
801
931
|
private readonly handleScroll;
|
|
802
932
|
/** The heading of the checkbox column, which selects the whole result. */
|
|
803
933
|
private renderSelectAll;
|
|
934
|
+
/**
|
|
935
|
+
* The row after the last one, holding the button that asks for more rows.
|
|
936
|
+
*
|
|
937
|
+
* A row of the grid, one cell spanning every column, so the arrows reach it
|
|
938
|
+
* after the last row and Enter or Space on it asks.
|
|
939
|
+
*/
|
|
940
|
+
private renderMore;
|
|
804
941
|
protected render(): TemplateResult;
|
|
805
942
|
/**
|
|
806
943
|
* Listens on the host, not on the slot the columns are assigned to.
|
|
@@ -819,6 +956,11 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
819
956
|
*/
|
|
820
957
|
connectedCallback(): void;
|
|
821
958
|
disconnectedCallback(): void;
|
|
959
|
+
/**
|
|
960
|
+
* Notes whether Shift is held, before the press reaches a checkbox, whose
|
|
961
|
+
* request carries only the state it asks for.
|
|
962
|
+
*/
|
|
963
|
+
private readonly notePress;
|
|
822
964
|
/**
|
|
823
965
|
* A click on a sortable heading, anywhere but its grip or its edge.
|
|
824
966
|
*
|
|
@@ -875,6 +1017,12 @@ export declare class HelixHeadlessDataTable extends HelixHeadlessDataTable_base
|
|
|
875
1017
|
* alone.
|
|
876
1018
|
*/
|
|
877
1019
|
private readonly handleGridKey;
|
|
1020
|
+
/**
|
|
1021
|
+
* Left and Right on a row header of a tree grid: forward opens a closed row,
|
|
1022
|
+
* back closes an open one, and back on a child moves to its parent. Says
|
|
1023
|
+
* whether it took the key, and the arrows move between cells where it did not.
|
|
1024
|
+
*/
|
|
1025
|
+
private treeKey;
|
|
878
1026
|
/** Enter, Space and F2 on a cell. */
|
|
879
1027
|
private activate;
|
|
880
1028
|
/** The keys the grid takes while focus is on a control inside a cell. */
|