@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.
- package/custom-elements.json +10386 -3813
- package/dist/accordion/item/accordion-item.d.ts +17 -16
- package/dist/accordion/root/accordion-root.d.ts +13 -17
- package/dist/announcement/root/announcement-root.d.ts +24 -31
- package/dist/app-header/root/app-header-root.d.ts +14 -14
- package/dist/area-chart/root/area-chart-root.d.ts +29 -48
- package/dist/avatar/group/avatar-group.d.ts +6 -8
- package/dist/avatar/root/avatar-root.d.ts +11 -11
- package/dist/badge/root/badge-root.d.ts +14 -15
- package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
- package/dist/blockquote/root/blockquote-root.d.ts +5 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
- package/dist/button/root/button-root.d.ts +16 -17
- package/dist/button-group/root/button-group-root.d.ts +9 -10
- package/dist/callout/root/callout-root.d.ts +10 -15
- package/dist/canvas/edge/canvas-edge.d.ts +21 -21
- package/dist/canvas/node/canvas-node.d.ts +43 -45
- package/dist/canvas/root/canvas-root.d.ts +100 -99
- package/dist/card/root/card-root.d.ts +10 -12
- package/dist/carousel/root/carousel-root.d.ts +32 -33
- package/dist/chat/composer/chat-composer.d.ts +24 -26
- package/dist/chat/message/chat-message.d.ts +30 -33
- package/dist/chat/root/chat-root.d.ts +63 -80
- package/dist/checkbox/root/checkbox-root.d.ts +30 -32
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
- package/dist/code/root/code-root.d.ts +6 -10
- package/dist/code-block/root/code-block-root.d.ts +35 -48
- package/dist/color-input/root/color-input-root.d.ts +62 -56
- package/dist/color-input/root/color-input-root.js +3 -0
- package/dist/color-picker/root/color-picker-root.d.ts +61 -49
- package/dist/color-picker/root/color-picker-root.js +4 -0
- package/dist/combobox/root/combobox-root.d.ts +52 -53
- package/dist/command/root/command-root.d.ts +40 -40
- package/dist/command/root/command-root.js +1 -0
- package/dist/copy-button/root/copy-button-root.d.ts +24 -26
- package/dist/data-table/root/data-table-root.d.ts +106 -107
- package/dist/date-input/root/date-input-root.d.ts +54 -53
- package/dist/date-picker/root/date-picker-root.d.ts +25 -21
- package/dist/description-list/item/description-list-item.d.ts +7 -7
- package/dist/description-list/root/description-list-root.d.ts +10 -15
- package/dist/dialog/root/dialog-root.d.ts +22 -19
- package/dist/divider/root/divider-root.d.ts +12 -13
- package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
- package/dist/drawer/root/drawer-root.d.ts +19 -18
- package/dist/drilldown/item/drilldown-item.d.ts +28 -28
- package/dist/drilldown/root/drilldown-root.d.ts +22 -28
- package/dist/element-events.generated.js +19 -1
- package/dist/empty/root/empty-root.d.ts +16 -19
- package/dist/file-input/root/file-input-root.d.ts +32 -32
- package/dist/filter-input/chip/filter-chip.d.ts +36 -39
- package/dist/filter-input/field/filter-field.d.ts +25 -31
- package/dist/filter-input/menu/filter-menu.d.ts +50 -47
- package/dist/filter-input/operator/filter-operator.d.ts +15 -20
- package/dist/filter-input/root/filter-input-root.d.ts +80 -98
- package/dist/format-date/root/format-date-root.d.ts +19 -27
- package/dist/heatmap/root/heatmap-root.d.ts +40 -41
- package/dist/icon/root/icon-root.d.ts +21 -23
- package/dist/icon-button/root/icon-button-root.d.ts +12 -14
- package/dist/image/root/image-root.d.ts +30 -30
- package/dist/input/root/input-root.d.ts +36 -35
- package/dist/kbd/root/kbd-root.d.ts +13 -15
- package/dist/legend/root/legend-root.d.ts +18 -16
- package/dist/lightbox/item/lightbox-item.d.ts +13 -15
- package/dist/lightbox/root/lightbox-root.d.ts +40 -41
- package/dist/line-chart/root/line-chart-root.d.ts +20 -29
- package/dist/list/item/list-item.d.ts +17 -22
- package/dist/list/root/list-root.d.ts +6 -7
- package/dist/listbox/root/listbox-root.d.ts +42 -41
- package/dist/loader/root/loader-root.d.ts +16 -20
- package/dist/map/area/map-area.d.ts +48 -0
- package/dist/map/area/map-area.js +40 -0
- package/dist/map/buildings/map-buildings.d.ts +45 -0
- package/dist/map/buildings/map-buildings.js +37 -0
- package/dist/map/contours/map-contours.d.ts +61 -0
- package/dist/map/contours/map-contours.js +54 -0
- package/dist/map/index.d.ts +14 -0
- package/dist/map/index.js +10 -0
- package/dist/map/landcover/map-landcover.d.ts +47 -0
- package/dist/map/landcover/map-landcover.js +37 -0
- package/dist/map/marker/map-marker.d.ts +120 -0
- package/dist/map/marker/map-marker.js +109 -0
- package/dist/map/points/map-points.d.ts +139 -0
- package/dist/map/points/map-points.js +161 -0
- package/dist/map/position/map-position.d.ts +70 -0
- package/dist/map/position/map-position.js +89 -0
- package/dist/map/raster/map-raster.d.ts +84 -0
- package/dist/map/raster/map-raster.js +96 -0
- package/dist/map/root/map-root.d.ts +269 -52
- package/dist/map/root/map-root.js +473 -5
- package/dist/map/route/map-route.d.ts +73 -0
- package/dist/map/route/map-route.js +52 -0
- package/dist/map/terrain/map-terrain.d.ts +68 -0
- package/dist/map/terrain/map-terrain.js +58 -0
- package/dist/megamenu/root/megamenu-root.d.ts +27 -25
- package/dist/menu/item/menu-item.d.ts +30 -31
- package/dist/menu/root/menu-root.d.ts +25 -29
- package/dist/meter/root/meter-root.d.ts +22 -21
- package/dist/navigation/root/navigation-root.d.ts +13 -16
- package/dist/notifications/group/notification-group.d.ts +27 -28
- package/dist/notifications/notification/notification.d.ts +35 -42
- package/dist/notifications/root/notifications-root.d.ts +22 -24
- package/dist/number-input/root/number-input-root.d.ts +46 -50
- package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
- package/dist/option/group/option-group.d.ts +11 -11
- package/dist/option/root/option-root.d.ts +28 -33
- package/dist/outline/root/outline-root.d.ts +18 -17
- package/dist/pagination/root/pagination-root.d.ts +37 -39
- package/dist/pagination/size/pagination-size.d.ts +37 -43
- package/dist/pagination/summary/pagination-summary.d.ts +12 -14
- package/dist/pin-input/root/pin-input-root.d.ts +32 -38
- package/dist/popover/root/popover-root.d.ts +16 -21
- package/dist/progress/root/progress-root.d.ts +16 -14
- package/dist/qr-code/root/qr-code-root.d.ts +22 -25
- package/dist/quote/root/quote-root.d.ts +5 -6
- package/dist/radio/group/radio-group.d.ts +26 -28
- package/dist/radio/root/radio-root.d.ts +24 -28
- package/dist/rating/root/rating-root.d.ts +27 -30
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
- package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
- package/dist/select/root/select-root.d.ts +41 -44
- package/dist/skeleton/root/skeleton-root.d.ts +7 -8
- package/dist/skip-link/root/skip-link-root.d.ts +21 -28
- package/dist/slider/root/slider-root.d.ts +36 -39
- package/dist/sparkline/root/sparkline-root.d.ts +22 -28
- package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
- package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
- package/dist/splitter/root/splitter-root.d.ts +37 -41
- package/dist/stat/group/stat-group.d.ts +4 -4
- package/dist/stat/root/stat-root.d.ts +8 -9
- package/dist/steps/root/steps-root.d.ts +11 -14
- package/dist/steps/step/step.d.ts +22 -29
- package/dist/switch/root/switch-root.d.ts +20 -24
- package/dist/table/cell/table-cell.d.ts +18 -8
- package/dist/table/cell/table-cell.js +5 -1
- package/dist/table/column/table-column.d.ts +62 -55
- package/dist/table/root/table-root.d.ts +16 -17
- package/dist/table/row/table-row.d.ts +3 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.d.ts +19 -17
- package/dist/tabs/tab/tab.d.ts +6 -6
- package/dist/tag/root/tag-root.d.ts +11 -12
- package/dist/textarea/root/textarea-root.d.ts +29 -32
- package/dist/time-input/root/time-input-root.d.ts +70 -69
- package/dist/time-picker/root/time-picker-root.d.ts +58 -66
- package/dist/timeline/item/timeline-item.d.ts +18 -24
- package/dist/timeline/root/timeline-root.d.ts +13 -21
- package/dist/toast/item/toast-item.d.ts +21 -22
- package/dist/toast/root/toast-root.d.ts +18 -23
- package/dist/toggle/group/toggle-group.d.ts +23 -25
- package/dist/toggle/root/toggle-root.d.ts +8 -8
- package/dist/toolbar/root/toolbar-root.d.ts +7 -10
- package/dist/tooltip/root/tooltip-root.d.ts +41 -47
- package/dist/tour/root/tour-root.d.ts +24 -26
- package/dist/tour/stop/tour-stop.d.ts +39 -48
- package/dist/tree/item/tree-item.d.ts +23 -25
- package/dist/tree/root/tree-root.d.ts +13 -12
- package/dist/trend/root/trend-root.d.ts +18 -19
- package/dist/video/root/video-root.d.ts +108 -101
- package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
- package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
- package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
- package/package.json +5 -5
- package/types/jsx.d.ts +14011 -11983
- package/types/svelte.d.ts +10 -0
- 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
|
|
5
|
+
* @summary A button that copies a string to the clipboard and confirms the copy.
|
|
6
6
|
*
|
|
7
7
|
* @description
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
|
26
|
-
* @slot copied -
|
|
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
|
|
32
|
-
* @csspart tooltip - The bubble, forwarded from the tooltip inside.
|
|
33
|
-
* @csspart tooltip-arrow - The
|
|
34
|
-
* @csspart tooltip-arrow-bottom - The
|
|
35
|
-
* @csspart tooltip-arrow-left - The
|
|
36
|
-
* @csspart tooltip-arrow-right - The
|
|
37
|
-
* @csspart tooltip-arrow-top - The
|
|
38
|
-
* @csspart tooltip-bottom - The bubble while it is below the button
|
|
39
|
-
* @csspart tooltip-left - The bubble while it is left of the button
|
|
40
|
-
* @csspart tooltip-right - The bubble while it is right of the button
|
|
41
|
-
* @csspart tooltip-top - The bubble while it is above the button
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
9
|
+
* @summary A table drawn from an array of rows, with sorting, filtering, and paging.
|
|
10
10
|
*
|
|
11
11
|
* @description
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* For a short table written out by hand, use `Table`, which takes rows as
|
|
24
|
+
* markup.
|
|
26
25
|
*
|
|
27
|
-
*
|
|
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
|
|
31
|
-
*
|
|
32
|
-
* children
|
|
33
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* has
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
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,
|
|
71
|
-
* @slot footer -
|
|
72
|
-
* @slot toolbar -
|
|
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 -
|
|
75
|
-
* @event {HelixNavigateEvent} helix-navigate -
|
|
76
|
-
* @event {HelixReorderEvent} helix-reorder -
|
|
77
|
-
* @event {HelixSelectEvent} helix-select -
|
|
78
|
-
* @event {HelixSortEvent} helix-sort -
|
|
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
|
|
81
|
-
* @csspart before - The
|
|
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 -
|
|
84
|
-
* @csspart checkbox - A row's checkbox, or the
|
|
85
|
-
* @csspart checkbox-box - The
|
|
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
|
|
88
|
-
* @csspart checkbox-field - The row the checkbox's box
|
|
89
|
-
* @csspart checkbox-hint - Forwarded from the checkbox
|
|
90
|
-
* @csspart checkbox-label - Forwarded from the checkbox
|
|
91
|
-
* @csspart checkbox-mark - The
|
|
92
|
-
* @csspart checkbox-mark-checked -
|
|
93
|
-
* @csspart checkbox-mark-indeterminate -
|
|
94
|
-
* @csspart empty - Shown when
|
|
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
|
|
97
|
-
* @csspart live -
|
|
98
|
-
* @csspart loading - Shown while the rows are
|
|
99
|
-
* @csspart pagination - The pagination,
|
|
100
|
-
* @csspart pagination-first - The pagination's
|
|
101
|
-
* @csspart pagination-gap - The pagination's
|
|
102
|
-
* @csspart pagination-item - One
|
|
103
|
-
* @csspart pagination-last - The pagination's
|
|
104
|
-
* @csspart pagination-list - The pagination's
|
|
105
|
-
* @csspart pagination-live - The region that
|
|
106
|
-
* @csspart pagination-mark - The
|
|
107
|
-
* @csspart pagination-next - The pagination's
|
|
108
|
-
* @csspart pagination-page - The pagination's
|
|
109
|
-
* @csspart pagination-page-current -
|
|
110
|
-
* @csspart pagination-previous - The pagination's
|
|
111
|
-
* @csspart pagination-status - The pagination's
|
|
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
|
|
114
|
-
* @csspart select-all - The heading
|
|
115
|
-
* @csspart select-selected -
|
|
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
|
|
120
|
-
* @cssproperty --data-table-template - The column track list
|
|
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
|
-
*
|
|
131
|
+
* The starting search query, used until `filter` is set.
|
|
136
132
|
*/
|
|
137
133
|
defaultFilter: string;
|
|
138
134
|
/**
|
|
139
|
-
*
|
|
135
|
+
* The starting column order, used until `order` is set.
|
|
140
136
|
*/
|
|
141
137
|
defaultOrder: string;
|
|
142
138
|
/**
|
|
143
|
-
*
|
|
139
|
+
* The starting page, used until `page` is set.
|
|
144
140
|
*/
|
|
145
141
|
defaultPage: number;
|
|
146
142
|
/**
|
|
147
|
-
*
|
|
143
|
+
* The starting page size, used until `pageSize` is set.
|
|
148
144
|
*/
|
|
149
145
|
defaultPageSize: number;
|
|
150
146
|
/**
|
|
151
|
-
*
|
|
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
|
-
*
|
|
152
|
+
* The starting sort order, used until `sort` is set.
|
|
156
153
|
*/
|
|
157
154
|
defaultSort: string;
|
|
158
155
|
/**
|
|
159
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
175
|
+
* The grid's name, read by screen readers.
|
|
179
176
|
*/
|
|
180
177
|
label: string;
|
|
181
178
|
/**
|
|
182
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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,
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
546
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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.
|