@tartaguti/ui-components 0.1.0 → 0.3.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/CHANGELOG.md +43 -0
- package/README.md +12 -0
- package/custom-elements.json +2887 -823
- package/dist/accordion/tt-accordion-item.d.ts.map +1 -1
- package/dist/accordion/tt-accordion-item.js +5 -2
- package/dist/accordion/tt-accordion-item.js.map +1 -1
- package/dist/bento/tt-bento-item.d.ts.map +1 -1
- package/dist/bento/tt-bento-item.js +7 -13
- package/dist/bento/tt-bento-item.js.map +1 -1
- package/dist/docs.d.ts +7 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +15 -0
- package/dist/docs.js.map +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/sidebar/tt-menu-group.d.ts.map +1 -1
- package/dist/sidebar/tt-menu-group.js +16 -5
- package/dist/sidebar/tt-menu-group.js.map +1 -1
- package/dist/sidebar/tt-menu-item.d.ts.map +1 -1
- package/dist/sidebar/tt-menu-item.js +24 -11
- package/dist/sidebar/tt-menu-item.js.map +1 -1
- package/dist/sidebar/tt-sidebar-footer.d.ts.map +1 -1
- package/dist/sidebar/tt-sidebar-footer.js +7 -3
- package/dist/sidebar/tt-sidebar-footer.js.map +1 -1
- package/dist/sidebar/tt-sidebar.d.ts +8 -3
- package/dist/sidebar/tt-sidebar.d.ts.map +1 -1
- package/dist/sidebar/tt-sidebar.js +196 -44
- package/dist/sidebar/tt-sidebar.js.map +1 -1
- package/dist/strings.d.ts +64 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +68 -0
- package/dist/strings.js.map +1 -0
- package/dist/tokens.css +30 -6
- package/dist/tt-alert.d.ts.map +1 -1
- package/dist/tt-alert.js +5 -2
- package/dist/tt-alert.js.map +1 -1
- package/dist/tt-auth.d.ts +5 -1
- package/dist/tt-auth.d.ts.map +1 -1
- package/dist/tt-auth.js +72 -10
- package/dist/tt-auth.js.map +1 -1
- package/dist/tt-breadcrumbs.d.ts.map +1 -1
- package/dist/tt-breadcrumbs.js +6 -3
- package/dist/tt-breadcrumbs.js.map +1 -1
- package/dist/tt-button-group.d.ts.map +1 -1
- package/dist/tt-button-group.js +7 -1
- package/dist/tt-button-group.js.map +1 -1
- package/dist/tt-button.d.ts.map +1 -1
- package/dist/tt-button.js +37 -28
- package/dist/tt-button.js.map +1 -1
- package/dist/tt-card.d.ts.map +1 -1
- package/dist/tt-card.js +9 -6
- package/dist/tt-card.js.map +1 -1
- package/dist/tt-chart.d.ts +10 -2
- package/dist/tt-chart.d.ts.map +1 -1
- package/dist/tt-chart.js +167 -29
- package/dist/tt-chart.js.map +1 -1
- package/dist/tt-checkbox.d.ts.map +1 -1
- package/dist/tt-checkbox.js +5 -2
- package/dist/tt-checkbox.js.map +1 -1
- package/dist/tt-code-block.d.ts +4 -5
- package/dist/tt-code-block.d.ts.map +1 -1
- package/dist/tt-code-block.js +53 -17
- package/dist/tt-code-block.js.map +1 -1
- package/dist/tt-combobox.d.ts +14 -0
- package/dist/tt-combobox.d.ts.map +1 -1
- package/dist/tt-combobox.js +234 -31
- package/dist/tt-combobox.js.map +1 -1
- package/dist/tt-company-card.d.ts +18 -0
- package/dist/tt-company-card.d.ts.map +1 -1
- package/dist/tt-company-card.js +73 -4
- package/dist/tt-company-card.js.map +1 -1
- package/dist/tt-comparison-table.d.ts.map +1 -1
- package/dist/tt-comparison-table.js +6 -3
- package/dist/tt-comparison-table.js.map +1 -1
- package/dist/tt-component-doc.d.ts.map +1 -1
- package/dist/tt-component-doc.js +6 -3
- package/dist/tt-component-doc.js.map +1 -1
- package/dist/tt-contact-list.d.ts +17 -2
- package/dist/tt-contact-list.d.ts.map +1 -1
- package/dist/tt-contact-list.js +68 -10
- package/dist/tt-contact-list.js.map +1 -1
- package/dist/tt-copy-button.d.ts.map +1 -1
- package/dist/tt-copy-button.js +6 -3
- package/dist/tt-copy-button.js.map +1 -1
- package/dist/tt-data-table.d.ts +32 -1
- package/dist/tt-data-table.d.ts.map +1 -1
- package/dist/tt-data-table.js +302 -16
- package/dist/tt-data-table.js.map +1 -1
- package/dist/tt-dock-item.d.ts +53 -0
- package/dist/tt-dock-item.d.ts.map +1 -0
- package/dist/tt-dock-item.js +270 -0
- package/dist/tt-dock-item.js.map +1 -0
- package/dist/tt-dock.d.ts +59 -0
- package/dist/tt-dock.d.ts.map +1 -0
- package/dist/tt-dock.js +337 -0
- package/dist/tt-dock.js.map +1 -0
- package/dist/tt-drawer.d.ts +4 -0
- package/dist/tt-drawer.d.ts.map +1 -1
- package/dist/tt-drawer.js +14 -4
- package/dist/tt-drawer.js.map +1 -1
- package/dist/tt-dropdown-menu.d.ts +5 -0
- package/dist/tt-dropdown-menu.d.ts.map +1 -1
- package/dist/tt-dropdown-menu.js +34 -8
- package/dist/tt-dropdown-menu.js.map +1 -1
- package/dist/tt-file-upload.d.ts +35 -0
- package/dist/tt-file-upload.d.ts.map +1 -1
- package/dist/tt-file-upload.js +210 -21
- package/dist/tt-file-upload.js.map +1 -1
- package/dist/tt-filter.d.ts.map +1 -1
- package/dist/tt-filter.js +10 -5
- package/dist/tt-filter.js.map +1 -1
- package/dist/tt-form.d.ts +25 -1
- package/dist/tt-form.d.ts.map +1 -1
- package/dist/tt-form.js +151 -12
- package/dist/tt-form.js.map +1 -1
- package/dist/tt-grid.d.ts +10 -1
- package/dist/tt-grid.d.ts.map +1 -1
- package/dist/tt-grid.js +38 -9
- package/dist/tt-grid.js.map +1 -1
- package/dist/tt-icon.d.ts.map +1 -1
- package/dist/tt-icon.js +5 -0
- package/dist/tt-icon.js.map +1 -1
- package/dist/tt-inbox.d.ts +4 -0
- package/dist/tt-inbox.d.ts.map +1 -1
- package/dist/tt-inbox.js +13 -3
- package/dist/tt-inbox.js.map +1 -1
- package/dist/tt-input.d.ts.map +1 -1
- package/dist/tt-input.js +15 -5
- package/dist/tt-input.js.map +1 -1
- package/dist/tt-key-values.d.ts +2 -0
- package/dist/tt-key-values.d.ts.map +1 -1
- package/dist/tt-key-values.js +45 -2
- package/dist/tt-key-values.js.map +1 -1
- package/dist/tt-layout.d.ts +53 -2
- package/dist/tt-layout.d.ts.map +1 -1
- package/dist/tt-layout.js +233 -27
- package/dist/tt-layout.js.map +1 -1
- package/dist/tt-modal.d.ts +4 -0
- package/dist/tt-modal.d.ts.map +1 -1
- package/dist/tt-modal.js +14 -4
- package/dist/tt-modal.js.map +1 -1
- package/dist/tt-navbar.d.ts +4 -0
- package/dist/tt-navbar.d.ts.map +1 -1
- package/dist/tt-navbar.js +42 -7
- package/dist/tt-navbar.js.map +1 -1
- package/dist/tt-pagination.d.ts +4 -0
- package/dist/tt-pagination.d.ts.map +1 -1
- package/dist/tt-pagination.js +8 -1
- package/dist/tt-pagination.js.map +1 -1
- package/dist/tt-product.d.ts +67 -15
- package/dist/tt-product.d.ts.map +1 -1
- package/dist/tt-product.js +447 -366
- package/dist/tt-product.js.map +1 -1
- package/dist/tt-progress.d.ts +1 -0
- package/dist/tt-progress.d.ts.map +1 -1
- package/dist/tt-progress.js +26 -7
- package/dist/tt-progress.js.map +1 -1
- package/dist/tt-quantity.d.ts.map +1 -1
- package/dist/tt-quantity.js +5 -2
- package/dist/tt-quantity.js.map +1 -1
- package/dist/tt-radio-group.d.ts.map +1 -1
- package/dist/tt-radio-group.js +5 -2
- package/dist/tt-radio-group.js.map +1 -1
- package/dist/tt-scroller.d.ts +76 -0
- package/dist/tt-scroller.d.ts.map +1 -0
- package/dist/tt-scroller.js +525 -0
- package/dist/tt-scroller.js.map +1 -0
- package/dist/tt-search.d.ts.map +1 -1
- package/dist/tt-search.js +10 -5
- package/dist/tt-search.js.map +1 -1
- package/dist/tt-select.d.ts +9 -0
- package/dist/tt-select.d.ts.map +1 -1
- package/dist/tt-select.js +99 -14
- package/dist/tt-select.js.map +1 -1
- package/dist/tt-slider.d.ts.map +1 -1
- package/dist/tt-slider.js +13 -2
- package/dist/tt-slider.js.map +1 -1
- package/dist/tt-social-links.d.ts.map +1 -1
- package/dist/tt-social-links.js +7 -4
- package/dist/tt-social-links.js.map +1 -1
- package/dist/tt-switcher.d.ts +2 -0
- package/dist/tt-switcher.d.ts.map +1 -1
- package/dist/tt-switcher.js +24 -76
- package/dist/tt-switcher.js.map +1 -1
- package/dist/tt-table-row.d.ts.map +1 -1
- package/dist/tt-table-row.js +5 -2
- package/dist/tt-table-row.js.map +1 -1
- package/dist/tt-table.d.ts.map +1 -1
- package/dist/tt-table.js +5 -2
- package/dist/tt-table.js.map +1 -1
- package/dist/tt-tabs.d.ts.map +1 -1
- package/dist/tt-tabs.js +5 -2
- package/dist/tt-tabs.js.map +1 -1
- package/dist/tt-tag-list.d.ts.map +1 -1
- package/dist/tt-tag-list.js +6 -3
- package/dist/tt-tag-list.js.map +1 -1
- package/dist/tt-textarea.d.ts.map +1 -1
- package/dist/tt-textarea.js +5 -2
- package/dist/tt-textarea.js.map +1 -1
- package/dist/tt-toast.d.ts +4 -1
- package/dist/tt-toast.d.ts.map +1 -1
- package/dist/tt-toast.js +40 -6
- package/dist/tt-toast.js.map +1 -1
- package/dist/tt-toggle-group.d.ts.map +1 -1
- package/dist/tt-toggle-group.js +7 -1
- package/dist/tt-toggle-group.js.map +1 -1
- package/dist/tt-toggle.d.ts.map +1 -1
- package/dist/tt-toggle.js +14 -9
- package/dist/tt-toggle.js.map +1 -1
- package/package.json +1 -1
- package/vscode.html-custom-data.json +241 -66
package/dist/tt-data-table.js
CHANGED
|
@@ -5,17 +5,29 @@ 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
|
import { LitElement, html, css } from "lit";
|
|
8
|
-
import { customElement, property } from "lit/decorators.js";
|
|
8
|
+
import { customElement, property, query, state } from "lit/decorators.js";
|
|
9
9
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
|
+
import { repeat } from "lit/directives/repeat.js";
|
|
10
11
|
import "./tt-checkbox.js";
|
|
11
12
|
import "./tt-skeleton.js";
|
|
12
13
|
import "./tt-empty-state.js";
|
|
13
14
|
import "./tt-dropdown-menu.js";
|
|
14
15
|
import "./tt-icon.js";
|
|
15
16
|
import { srOnly } from "./sr-only.js";
|
|
17
|
+
import { StringsController } from "./strings.js";
|
|
18
|
+
/*
|
|
19
|
+
Rows kept in the page above and below the visible ones while
|
|
20
|
+
virtualized, so a fast scroll or a Tab to the next row lands on a row
|
|
21
|
+
that already exists instead of a blank.
|
|
22
|
+
*/
|
|
23
|
+
const OVERSCAN = 5;
|
|
24
|
+
/** A row's height before the first one is measured: the default density. */
|
|
25
|
+
const ROW_ESTIMATE = 49;
|
|
16
26
|
/**
|
|
17
27
|
* Working table: sorting, selection, row actions, sticky header, and
|
|
18
|
-
* loading and empty states.
|
|
28
|
+
* loading and empty states. With visible-rows it is virtualized: a box
|
|
29
|
+
* that many rows tall, holding only the rows in view, so ten thousand
|
|
30
|
+
* rows scroll as smoothly as ten.
|
|
19
31
|
*
|
|
20
32
|
* It owns nothing. Sort state and selection come in as properties and
|
|
21
33
|
* changes go out as events, so the page stays the single source of truth
|
|
@@ -25,6 +37,9 @@ import { srOnly } from "./sr-only.js";
|
|
|
25
37
|
let TTDataTable = class TTDataTable extends LitElement {
|
|
26
38
|
constructor() {
|
|
27
39
|
super(...arguments);
|
|
40
|
+
/** This component's own text, over setStrings() (see strings.ts). */
|
|
41
|
+
this.strings = {};
|
|
42
|
+
this.text = new StringsController(this);
|
|
28
43
|
this.columns = [];
|
|
29
44
|
this.rows = [];
|
|
30
45
|
/*
|
|
@@ -43,6 +58,45 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
43
58
|
this.emptyDescription = "";
|
|
44
59
|
// Rows respond to clicks. Only set this when there is somewhere to go.
|
|
45
60
|
this.clickableRows = false;
|
|
61
|
+
/*
|
|
62
|
+
How many rows tall the table is, as a box that scrolls. Only the rows
|
|
63
|
+
in view (plus a few spare) exist in the page, so the cost of a scroll
|
|
64
|
+
stays the same at 10,000 rows as at 10. 0, the default, shows every
|
|
65
|
+
row as a plain table.
|
|
66
|
+
|
|
67
|
+
Virtualized rows need one height each, so their cells stay on one
|
|
68
|
+
line and long values end in an ellipsis.
|
|
69
|
+
*/
|
|
70
|
+
this.visibleRows = 0;
|
|
71
|
+
// The row at the top of the scroll box, from its scroll position.
|
|
72
|
+
this.firstInView = 0;
|
|
73
|
+
// Measured from the rendered page, so density, touch and themes all count.
|
|
74
|
+
this.rowHeight = 0;
|
|
75
|
+
this.headerHeight = 0;
|
|
76
|
+
/*
|
|
77
|
+
Column widths, measured once and then fixed. A table sizes columns
|
|
78
|
+
from the rows it holds, and a virtualized one holds different rows at
|
|
79
|
+
every scroll, so unfixed columns would jump sideways while scrolling.
|
|
80
|
+
|
|
81
|
+
A table that fits its box keeps them as shares (%), so it still fits
|
|
82
|
+
when the box narrows. One wider than its box keeps pixels and scrolls
|
|
83
|
+
sideways, as the plain table does, rather than squeezing every column
|
|
84
|
+
into an ellipsis on a phone.
|
|
85
|
+
*/
|
|
86
|
+
this.columnWidths = [];
|
|
87
|
+
this.widthUnit = "%";
|
|
88
|
+
this.frame = 0;
|
|
89
|
+
this.wrapWidth = 0;
|
|
90
|
+
this.lastRange = "";
|
|
91
|
+
this.handleScroll = () => {
|
|
92
|
+
if (!this.virtual || this.frame)
|
|
93
|
+
return;
|
|
94
|
+
this.frame = requestAnimationFrame(() => {
|
|
95
|
+
this.frame = 0;
|
|
96
|
+
this.syncToScroll();
|
|
97
|
+
this.announceRange();
|
|
98
|
+
});
|
|
99
|
+
};
|
|
46
100
|
}
|
|
47
101
|
/*
|
|
48
102
|
What a row's selection checkbox is called.
|
|
@@ -66,6 +120,124 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
66
120
|
const value = first ? row[first.key] : undefined;
|
|
67
121
|
return typeof value === "string" || typeof value === "number" ? String(value) : "";
|
|
68
122
|
}
|
|
123
|
+
get virtual() {
|
|
124
|
+
return this.visibleRows > 0 && !this.loading && this.rows.length > 0;
|
|
125
|
+
}
|
|
126
|
+
/** The slice of rows in the page: the ones in view plus OVERSCAN each side. */
|
|
127
|
+
get inPage() {
|
|
128
|
+
const count = this.rows.length;
|
|
129
|
+
if (!this.virtual)
|
|
130
|
+
return { start: 0, end: count };
|
|
131
|
+
// Clamped, because rows can shrink while the box is scrolled far down.
|
|
132
|
+
const first = Math.max(0, Math.min(this.firstInView, count - this.visibleRows));
|
|
133
|
+
return {
|
|
134
|
+
start: Math.max(0, first - OVERSCAN),
|
|
135
|
+
end: Math.min(count, first + this.visibleRows + OVERSCAN),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
connectedCallback() {
|
|
139
|
+
super.connectedCallback();
|
|
140
|
+
// Measured again after the first render (firstUpdated) or a reconnect.
|
|
141
|
+
if (this.hasUpdated)
|
|
142
|
+
this.observeWidth();
|
|
143
|
+
}
|
|
144
|
+
disconnectedCallback() {
|
|
145
|
+
super.disconnectedCallback();
|
|
146
|
+
cancelAnimationFrame(this.frame);
|
|
147
|
+
this.frame = 0;
|
|
148
|
+
this.resizeObserver?.disconnect();
|
|
149
|
+
}
|
|
150
|
+
firstUpdated() {
|
|
151
|
+
this.observeWidth();
|
|
152
|
+
}
|
|
153
|
+
updated() {
|
|
154
|
+
if (this.virtual)
|
|
155
|
+
this.measureSoon();
|
|
156
|
+
else if (this.columnWidths.length > 0)
|
|
157
|
+
this.columnWidths = [];
|
|
158
|
+
}
|
|
159
|
+
/* A new width makes the fixed column widths wrong: measure them again. */
|
|
160
|
+
observeWidth() {
|
|
161
|
+
if (typeof ResizeObserver === "undefined" || !this.wrap)
|
|
162
|
+
return;
|
|
163
|
+
this.resizeObserver?.disconnect();
|
|
164
|
+
this.resizeObserver = new ResizeObserver(([entry]) => {
|
|
165
|
+
const width = Math.round(entry.contentRect.width);
|
|
166
|
+
if (width === this.wrapWidth)
|
|
167
|
+
return;
|
|
168
|
+
this.wrapWidth = width;
|
|
169
|
+
if (this.columnWidths.length > 0)
|
|
170
|
+
this.columnWidths = [];
|
|
171
|
+
});
|
|
172
|
+
this.resizeObserver.observe(this.wrap);
|
|
173
|
+
}
|
|
174
|
+
/*
|
|
175
|
+
Measuring happens a frame after rendering, never inside updated():
|
|
176
|
+
each measurement can change state, and a change during an update
|
|
177
|
+
would schedule another update straight away.
|
|
178
|
+
*/
|
|
179
|
+
measureSoon() {
|
|
180
|
+
if (this.frame)
|
|
181
|
+
return;
|
|
182
|
+
this.frame = requestAnimationFrame(() => {
|
|
183
|
+
this.frame = 0;
|
|
184
|
+
this.measure();
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
measure() {
|
|
188
|
+
if (!this.virtual)
|
|
189
|
+
return;
|
|
190
|
+
const changed = (a, b) => Math.abs(a - b) > 0.5;
|
|
191
|
+
const row = this.renderRoot.querySelector("tbody tr.row");
|
|
192
|
+
const rowHeight = row?.getBoundingClientRect().height ?? 0;
|
|
193
|
+
if (rowHeight > 0 && changed(rowHeight, this.rowHeight))
|
|
194
|
+
this.rowHeight = rowHeight;
|
|
195
|
+
const header = this.renderRoot.querySelector("thead tr");
|
|
196
|
+
const headerHeight = header?.getBoundingClientRect().height ?? 0;
|
|
197
|
+
if (headerHeight > 0 && changed(headerHeight, this.headerHeight))
|
|
198
|
+
this.headerHeight = headerHeight;
|
|
199
|
+
if (this.columnWidths.length === 0) {
|
|
200
|
+
const widths = [...this.renderRoot.querySelectorAll("thead th")].map((cell) => cell.getBoundingClientRect().width);
|
|
201
|
+
const total = widths.reduce((sum, width) => sum + width, 0);
|
|
202
|
+
if (widths.length > 0 && widths.every((width) => width > 0)) {
|
|
203
|
+
const fits = total <= (this.wrap?.clientWidth ?? 0) + 1;
|
|
204
|
+
this.widthUnit = fits ? "%" : "px";
|
|
205
|
+
this.columnWidths = fits ? widths.map((width) => (width / total) * 100) : widths;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// The scroll position can move without a scroll the table hears
|
|
209
|
+
// about: rows shrinking under it clamp it.
|
|
210
|
+
this.syncToScroll();
|
|
211
|
+
this.announceRange();
|
|
212
|
+
}
|
|
213
|
+
syncToScroll() {
|
|
214
|
+
if (!this.wrap)
|
|
215
|
+
return;
|
|
216
|
+
// Half a pixel of slack: scrollTop is rounded, rows are not, and 300
|
|
217
|
+
// rows down must not read as 299.
|
|
218
|
+
const first = Math.floor((this.wrap.scrollTop + 0.5) / (this.rowHeight || ROW_ESTIMATE));
|
|
219
|
+
if (first !== this.firstInView)
|
|
220
|
+
this.firstInView = first;
|
|
221
|
+
}
|
|
222
|
+
/*
|
|
223
|
+
Which rows are in view, as indexes into rows (end excluded), each time
|
|
224
|
+
that changes. Enough to fetch the next page from a server before the
|
|
225
|
+
person scrolls into it.
|
|
226
|
+
*/
|
|
227
|
+
announceRange() {
|
|
228
|
+
const count = this.rows.length;
|
|
229
|
+
const start = Math.max(0, Math.min(this.firstInView, count - this.visibleRows));
|
|
230
|
+
const end = Math.min(count, start + this.visibleRows);
|
|
231
|
+
const key = `${start}:${end}:${count}`;
|
|
232
|
+
if (key === this.lastRange)
|
|
233
|
+
return;
|
|
234
|
+
this.lastRange = key;
|
|
235
|
+
this.dispatchEvent(new CustomEvent("tt-range-change", {
|
|
236
|
+
detail: { start, end, total: count },
|
|
237
|
+
bubbles: true,
|
|
238
|
+
composed: true,
|
|
239
|
+
}));
|
|
240
|
+
}
|
|
69
241
|
get hasActions() {
|
|
70
242
|
return this.rowActions.length > 0;
|
|
71
243
|
}
|
|
@@ -239,8 +411,11 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
239
411
|
transition: background var(--tt-duration-fast) var(--tt-ease);
|
|
240
412
|
}
|
|
241
413
|
|
|
242
|
-
|
|
243
|
-
|
|
414
|
+
/* Only where a pointer can hover: a tap would leave this on. */
|
|
415
|
+
@media (hover: hover) {
|
|
416
|
+
tbody tr:hover {
|
|
417
|
+
background: var(--tt-accent);
|
|
418
|
+
}
|
|
244
419
|
}
|
|
245
420
|
|
|
246
421
|
tbody tr.clickable {
|
|
@@ -253,8 +428,10 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
253
428
|
background: color-mix(in srgb, var(--tt-primary) 8%, transparent);
|
|
254
429
|
}
|
|
255
430
|
|
|
256
|
-
|
|
257
|
-
|
|
431
|
+
@media (hover: hover) {
|
|
432
|
+
tbody tr.selected:hover {
|
|
433
|
+
background: color-mix(in srgb, var(--tt-primary) 14%, transparent);
|
|
434
|
+
}
|
|
258
435
|
}
|
|
259
436
|
|
|
260
437
|
tbody tr:focus-visible {
|
|
@@ -283,8 +460,10 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
283
460
|
cursor: pointer;
|
|
284
461
|
}
|
|
285
462
|
|
|
286
|
-
|
|
287
|
-
|
|
463
|
+
@media (hover: hover) {
|
|
464
|
+
.sort:hover {
|
|
465
|
+
color: var(--tt-foreground);
|
|
466
|
+
}
|
|
288
467
|
}
|
|
289
468
|
|
|
290
469
|
.sort:focus-visible {
|
|
@@ -329,12 +508,55 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
329
508
|
padding: var(--tt-space-6);
|
|
330
509
|
}
|
|
331
510
|
|
|
511
|
+
/* Virtualized: a box that scrolls on its own, and does not hand the
|
|
512
|
+
scroll on to the page when it reaches an end. */
|
|
513
|
+
.wrap.virtual {
|
|
514
|
+
overflow-y: auto;
|
|
515
|
+
overscroll-behavior: contain;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
table.fixed {
|
|
519
|
+
table-layout: fixed;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
/* One line per cell, so every row is the one height the window math
|
|
523
|
+
assumes. Data cells only: the checkbox and menu keep their focus
|
|
524
|
+
rings. */
|
|
525
|
+
.virtual td.cell {
|
|
526
|
+
overflow: hidden;
|
|
527
|
+
text-overflow: ellipsis;
|
|
528
|
+
white-space: nowrap;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
tr.spacer td {
|
|
532
|
+
padding: 0;
|
|
533
|
+
border: 0;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
/* Tighter sides on phones: a third column fits instead of scrolling. */
|
|
537
|
+
@media (max-width: 480px) {
|
|
538
|
+
thead th,
|
|
539
|
+
td {
|
|
540
|
+
padding-inline: var(--tt-space-3);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
tr.spacer td {
|
|
544
|
+
padding: 0;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
@media (hover: hover) {
|
|
549
|
+
tbody tr.spacer:hover {
|
|
550
|
+
background: transparent;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
332
554
|
`,
|
|
333
555
|
]; }
|
|
334
556
|
renderHeader() {
|
|
335
557
|
return html `
|
|
336
558
|
<thead>
|
|
337
|
-
<tr>
|
|
559
|
+
<tr aria-rowindex=${ifDefined(this.virtual ? 1 : undefined)}>
|
|
338
560
|
${this.selectable
|
|
339
561
|
? html `
|
|
340
562
|
<th class="select-cell">
|
|
@@ -413,13 +635,14 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
413
635
|
</tbody>
|
|
414
636
|
`;
|
|
415
637
|
}
|
|
416
|
-
renderRow(row) {
|
|
638
|
+
renderRow(row, index) {
|
|
417
639
|
const isSelected = this.selected.includes(row.id);
|
|
418
640
|
return html `
|
|
419
641
|
<tr
|
|
420
|
-
class="${this.clickableRows ? "clickable" : ""} ${isSelected
|
|
642
|
+
class="row ${this.clickableRows ? "clickable" : ""} ${isSelected
|
|
421
643
|
? "selected"
|
|
422
644
|
: ""}"
|
|
645
|
+
aria-rowindex=${ifDefined(this.virtual ? index + 2 : undefined)}
|
|
423
646
|
tabindex=${ifDefined(this.clickableRows ? 0 : undefined)}
|
|
424
647
|
@click=${() => this.clickRow(row)}
|
|
425
648
|
@keydown=${(e) => {
|
|
@@ -448,7 +671,7 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
448
671
|
`
|
|
449
672
|
: ""}
|
|
450
673
|
${this.columns.map((column) => html `
|
|
451
|
-
<td class
|
|
674
|
+
<td class="cell ${column.align === "end" ? "end" : ""}">
|
|
452
675
|
${row[column.key] ?? ""}
|
|
453
676
|
</td>
|
|
454
677
|
`)}
|
|
@@ -460,7 +683,7 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
460
683
|
>
|
|
461
684
|
<tt-dropdown-menu
|
|
462
685
|
.items=${this.rowActions}
|
|
463
|
-
label=${this.rowName(row) ?
|
|
686
|
+
label=${this.rowName(row) ? this.text.get("actionsFor", { name: this.rowName(row) }) : this.text.get("actions")}
|
|
464
687
|
@tt-menu-select=${(e) => this.chooseAction(row, e)}
|
|
465
688
|
></tt-dropdown-menu>
|
|
466
689
|
</td>
|
|
@@ -469,10 +692,49 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
469
692
|
</tr>
|
|
470
693
|
`;
|
|
471
694
|
}
|
|
695
|
+
/*
|
|
696
|
+
The rows in view, with a spacer row above and below standing in for
|
|
697
|
+
the rest, so the scrollbar is as long as the whole table. Keyed by id,
|
|
698
|
+
so a row keeps its element (and its focus, its open menu) while the
|
|
699
|
+
window slides over it.
|
|
700
|
+
*/
|
|
701
|
+
renderRows() {
|
|
702
|
+
const { start, end } = this.inPage;
|
|
703
|
+
const height = this.rowHeight || ROW_ESTIMATE;
|
|
704
|
+
const spacer = (rows) => rows > 0
|
|
705
|
+
? html `<tr class="spacer" aria-hidden="true" style="height: ${rows * height}px">
|
|
706
|
+
<td colspan=${this.columnCount}></td>
|
|
707
|
+
</tr>`
|
|
708
|
+
: "";
|
|
709
|
+
return html `
|
|
710
|
+
${spacer(start)}
|
|
711
|
+
${repeat(this.rows.slice(start, end), (row) => row.id, (row, offset) => this.renderRow(row, start + offset))}
|
|
712
|
+
${spacer(this.rows.length - end)}
|
|
713
|
+
`;
|
|
714
|
+
}
|
|
472
715
|
render() {
|
|
716
|
+
const virtual = this.virtual;
|
|
717
|
+
const fixed = virtual && this.columnWidths.length > 0;
|
|
718
|
+
// The header, the rows in view and the two borders of .wrap.
|
|
719
|
+
const boxHeight = (this.headerHeight || ROW_ESTIMATE) + this.visibleRows * (this.rowHeight || ROW_ESTIMATE) + 2;
|
|
473
720
|
return html `
|
|
474
|
-
<div
|
|
475
|
-
|
|
721
|
+
<div
|
|
722
|
+
class="wrap ${virtual ? "virtual" : ""}"
|
|
723
|
+
part="wrap"
|
|
724
|
+
style=${ifDefined(virtual ? `max-height: ${boxHeight}px` : undefined)}
|
|
725
|
+
@scroll=${this.handleScroll}
|
|
726
|
+
>
|
|
727
|
+
<table
|
|
728
|
+
part="table"
|
|
729
|
+
class=${fixed ? "fixed" : ""}
|
|
730
|
+
aria-label=${ifDefined(this.label || undefined)}
|
|
731
|
+
aria-rowcount=${ifDefined(virtual ? this.rows.length + 1 : undefined)}
|
|
732
|
+
>
|
|
733
|
+
${fixed
|
|
734
|
+
? html `<colgroup>
|
|
735
|
+
${this.columnWidths.map((width) => html `<col style="width: ${width}${this.widthUnit}" />`)}
|
|
736
|
+
</colgroup>`
|
|
737
|
+
: ""}
|
|
476
738
|
${this.renderHeader()}
|
|
477
739
|
${this.loading
|
|
478
740
|
? this.renderLoading()
|
|
@@ -491,7 +753,7 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
491
753
|
</td>
|
|
492
754
|
</tr>
|
|
493
755
|
`
|
|
494
|
-
: this.
|
|
756
|
+
: this.renderRows()}
|
|
495
757
|
</tbody>
|
|
496
758
|
`}
|
|
497
759
|
</table>
|
|
@@ -499,6 +761,9 @@ let TTDataTable = class TTDataTable extends LitElement {
|
|
|
499
761
|
`;
|
|
500
762
|
}
|
|
501
763
|
};
|
|
764
|
+
__decorate([
|
|
765
|
+
property({ attribute: false })
|
|
766
|
+
], TTDataTable.prototype, "strings", void 0);
|
|
502
767
|
__decorate([
|
|
503
768
|
property({ type: Array })
|
|
504
769
|
], TTDataTable.prototype, "columns", void 0);
|
|
@@ -535,6 +800,27 @@ __decorate([
|
|
|
535
800
|
__decorate([
|
|
536
801
|
property({ type: Boolean, attribute: "clickable-rows" })
|
|
537
802
|
], TTDataTable.prototype, "clickableRows", void 0);
|
|
803
|
+
__decorate([
|
|
804
|
+
property({ type: Number, attribute: "visible-rows" })
|
|
805
|
+
], TTDataTable.prototype, "visibleRows", void 0);
|
|
806
|
+
__decorate([
|
|
807
|
+
state()
|
|
808
|
+
], TTDataTable.prototype, "firstInView", void 0);
|
|
809
|
+
__decorate([
|
|
810
|
+
state()
|
|
811
|
+
], TTDataTable.prototype, "rowHeight", void 0);
|
|
812
|
+
__decorate([
|
|
813
|
+
state()
|
|
814
|
+
], TTDataTable.prototype, "headerHeight", void 0);
|
|
815
|
+
__decorate([
|
|
816
|
+
state()
|
|
817
|
+
], TTDataTable.prototype, "columnWidths", void 0);
|
|
818
|
+
__decorate([
|
|
819
|
+
state()
|
|
820
|
+
], TTDataTable.prototype, "widthUnit", void 0);
|
|
821
|
+
__decorate([
|
|
822
|
+
query(".wrap")
|
|
823
|
+
], TTDataTable.prototype, "wrap", void 0);
|
|
538
824
|
TTDataTable = __decorate([
|
|
539
825
|
customElement("tt-data-table")
|
|
540
826
|
], TTDataTable);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-data-table.js","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tt-data-table.js","sourceRoot":"","sources":["../src/tt-data-table.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAyBjD;;;;EAIE;AACF,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,4EAA4E;AAC5E,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;;;;;;;;GAUG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QACL,qEAAqE;QACrC,YAAO,GAAuB,EAAE,CAAC;QAEzD,SAAI,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEhB,YAAO,GAAiB,EAAE,CAAC;QAE3B,SAAI,GAAc,EAAE,CAAC;QAEhD;;;;UAIE;QAC0B,UAAK,GAAG,EAAE,CAAC;QA4BV,eAAU,GAAG,KAAK,CAAC;QAErB,aAAQ,GAAa,EAAE,CAAC;QAEnD,6DAA6D;QACR,eAAU,GAAiB,EAAE,CAAC;QAEtD,YAAO,GAAG,KAAK,CAAC;QAEU,gBAAW,GAAG,CAAC,CAAC;QAEf,iBAAY,GAAG,kBAAkB,CAAC;QAE9B,qBAAgB,GAAG,EAAE,CAAC;QAElF,uEAAuE;QACb,kBAAa,GAAG,KAAK,CAAC;QAEhF;;;;;;;;UAQE;QACqD,gBAAW,GAAG,CAAC,CAAC;QAEvE,kEAAkE;QACjD,gBAAW,GAAG,CAAC,CAAC;QACjC,2EAA2E;QAC1D,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAG,CAAC,CAAC;QAClC;;;;;;;;;UASE;QACe,iBAAY,GAAa,EAAE,CAAC;QAC5B,cAAS,GAAe,GAAG,CAAC;QAIrC,UAAK,GAAG,CAAC,CAAC;QAEV,cAAS,GAAG,CAAC,CAAC;QACd,cAAS,GAAG,EAAE,CAAC;QAgGf,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAgmBJ,CAAC;IArxBC;;;;;;;MAOE;IACM,QAAQ,CAAC,GAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAChD,CAAC;IAED;;;;MAIE;IACM,OAAO,CAAC,GAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;IA0DD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,+EAA+E;IAC/E,IAAY,MAAM;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACnD,uEAAuE;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChF,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,uEAAuE;QACvE,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aAChC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAChE,CAAC;IAED,0EAA0E;IAClE,YAAY;QAClB,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAChE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS;gBAAE,OAAO;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;MAIE;IACM,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,cAAc,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,GAAG,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3D,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,UAAU,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QACjE,IAAI,YAAY,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEnG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAClE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAC7C,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnF,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,2CAA2C;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAWO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,qEAAqE;QACrE,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC;QACzF,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3D,CAAC;IAED;;;;MAIE;IACM,aAAa;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO;QACnC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,iBAAiB,EAAE;YACjC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED;;;;;;;MAOE;IACF,IAAY,WAAW;QACrB,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,CACL,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,IAAc;QAClC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,KAAY;QAC5B,sEAAsE;QACtE,oEAAoE;QACpE,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB;;;;;UAKE;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,WAAW;YACd,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAC/E,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,EAAU,EAAE,KAAY;QACxC,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC3B,CAAC;IACJ,CAAC;IAED;;;;MAIE;IACM,UAAU,CAAC,MAAkB;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAE7B,IAAI,IAA2B,CAAC;QAEhC,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,SAAS,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACtB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE,EAAE,GAAG,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAY,EAAE,KAAY;QAC7C,yEAAyE;QACzE,0CAA0C;QAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,EAAE,KAAK,EAAE,GAAI,KAAwC,CAAC,MAAM,CAAC;QAEnE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;aAEM,WAAM,GAAG;QACd,MAAM;QACN,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyNJ;KACA,AA5NY,CA4NX;IAEM,YAAY;QAClB,OAAO,IAAI,CAAA;;4BAEa,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;;;;+BAaa,IAAI,CAAC,WAAW;qCACV,IAAI,CAAC,YAAY;iCACrB,IAAI,CAAC,SAAS;;;eAGhC;YACH,CAAC,CAAC,EAAE;YACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YAEvC,OAAO,IAAI,CAAA;;wBAEC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBACnC,SAAS,CACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CACnD;4BACW,SAAS,CACnB,CAAC,MAAM,CAAC,QAAQ;gBACd,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,QAAQ;oBACT,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,KAAK,KAAK;wBACnB,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,YAAY,CACrB;;kBAEC,MAAM,CAAC,QAAQ;gBACf,CAAC,CAAC,IAAI,CAAA;;sCAEc,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;iCAE7B,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;0BAEpC,MAAM,CAAC,KAAK;;;mCAGH,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU;;;;;qBAK9D;gBACH,CAAC,CAAC,MAAM,CAAC,KAAK;;aAEnB,CAAC;QACJ,CAAC,CAAC;YACA,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,IAAI,CAAA;;oBAEE;YACR,CAAC,CAAC,EAAE;;;KAGX,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,CAAA;;UAEL,KAAK,CAAC,IAAI,CACV,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAC5B,GAAG,EAAE,CAAC,IAAI,CAAA;;4BAEQ,IAAI,CAAC,WAAW;;;;WAIjC,CACF;;KAEJ,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAY,EAAE,KAAa;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElD,OAAO,IAAI,CAAA;;qBAEM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU;YAC9D,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE;wBACU,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;mBACpD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC/C,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;mBACtB,CAAC,CAAgB,EAAE,EAAE;YAC9B;;;;;cAKE;YACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;gBAAE,OAAO;YACzC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;;UAEC,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,IAAI,CAAA;+CAC+B,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;;2BAErD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;;6BAEhB,UAAU;+BACR,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;;;aAGzD;YACH,CAAC,CAAC,EAAE;UACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAA;8BACI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;;WAE1B,CACF;UACC,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,IAAI,CAAA;;;yBAGS,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;;;2BAG/B,IAAI,CAAC,UAAU;0BAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;oCAC7F,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;;;aAG9D;YACH,CAAC,CAAC,EAAE;;KAET,CAAC;IACJ,CAAC;IAED;;;;;MAKE;IACM,UAAU;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9B,IAAI,GAAG,CAAC;YACN,CAAC,CAAC,IAAI,CAAA,wDAAwD,IAAI,GAAG,MAAM;0BACzD,IAAI,CAAC,WAAW;gBAC1B;YACR,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,IAAI,CAAA;QACP,MAAM,CAAC,KAAK,CAAC;QACb,MAAM,CACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAC3B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EACf,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC,CACrD;QACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;KACjC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,6DAA6D;QAC7D,MAAM,SAAS,GACb,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAEhG,OAAO,IAAI,CAAA;;sBAEO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;gBAE9B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;kBAC3D,IAAI,CAAC,YAAY;;;;kBAIjB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;uBACf,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;0BAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;;YAEnE,KAAK;YACL,CAAC,CAAC,IAAI,CAAA;kBACA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAA,sBAAsB,KAAK,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC;0BAChF;YACd,CAAC,CAAC,EAAE;YACJ,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;YACtB,CAAC,CAAC,IAAI,CAAA;;oBAEE,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAA;;sDAE4B,IAAI,CAAC,WAAW;;wCAE9B,IAAI,CAAC,YAAY;4CACb,IAAI,CAAC,gBAAgB;;;;;;uBAM1C;gBACH,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;;eAExB;;;KAGV,CAAC;IACJ,CAAC;;AAnyB+B;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4CAAkC;AAItC;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;4CAA4B;AAE3B;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;yCAAsB;AAOpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAY;AA0BX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAAkB;AAEhB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CAAoB;AAErB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6CAAyB;AAGE;IAApD,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;+CAA+B;AAEtD;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CAAiB;AAEU;IAAtD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;gDAAiB;AAEf;IAAvD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;iDAAmC;AAE9B;IAA3D,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;qDAAuB;AAGxB;IAAzD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;kDAAuB;AAWzB;IAAtD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;gDAAiB;AAGtD;IAAhB,KAAK,EAAE;gDAAyB;AAEhB;IAAhB,KAAK,EAAE;8CAAuB;AACd;IAAhB,KAAK,EAAE;iDAA0B;AAWjB;IAAhB,KAAK,EAAE;iDAAqC;AAC5B;IAAhB,KAAK,EAAE;8CAAqC;AAErB;IAAvB,KAAK,CAAC,OAAO,CAAC;yCAA4B;AA1FhC,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW,CAsyBvB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/** What `tt-dock-select` carries: the chosen item's value. */
|
|
3
|
+
export interface DockSelectDetail {
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* One target in a tt-dock: an icon over a short label, a link or a button.
|
|
8
|
+
*
|
|
9
|
+
* ---------------------------------------------------------------------
|
|
10
|
+
* THE DOCK KEEPS THE STATE, THE ITEM ONLY ASKS.
|
|
11
|
+
*
|
|
12
|
+
* A click sends `tt-dock-select` and changes nothing here. The dock
|
|
13
|
+
* hears it, moves `active` (the current page) and sends its own
|
|
14
|
+
* `tt-dock-select`. Only the
|
|
15
|
+
* dock can know that choosing one item un-chooses another, the same
|
|
16
|
+
* reason tt-accordion owns its items' open state.
|
|
17
|
+
*
|
|
18
|
+
* ---------------------------------------------------------------------
|
|
19
|
+
* HOW THE DOCK STYLES IT.
|
|
20
|
+
*
|
|
21
|
+
* The dock decides the shape (a bar, a floating pill, a column) and
|
|
22
|
+
* whether labels show. It says so through inherited custom properties
|
|
23
|
+
* (`--tt-dock-item-*`, `--tt-dock-label-*`), read below with the
|
|
24
|
+
* bar's values as fallbacks, so an item has no props for any of it and
|
|
25
|
+
* one used outside a dock still looks right.
|
|
26
|
+
*/
|
|
27
|
+
export declare class TTDockItem extends LitElement {
|
|
28
|
+
/**
|
|
29
|
+
* The current page, announced as aria-current="page". The dock moves
|
|
30
|
+
* it when an item is chosen; set it for the start.
|
|
31
|
+
*/
|
|
32
|
+
active: boolean;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
/** Makes the item a link. Empty: a button that tells your app it was chosen. */
|
|
35
|
+
href: string;
|
|
36
|
+
/** Names this item in `tt-dock-select`. Empty: the label text is sent. */
|
|
37
|
+
value: string;
|
|
38
|
+
private control?;
|
|
39
|
+
private labelEl?;
|
|
40
|
+
/** Focuses the link or button inside. */
|
|
41
|
+
focus(options?: FocusOptions): void;
|
|
42
|
+
private get text();
|
|
43
|
+
private onClick;
|
|
44
|
+
private onPointerEnter;
|
|
45
|
+
static styles: import("lit").CSSResult;
|
|
46
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
47
|
+
}
|
|
48
|
+
declare global {
|
|
49
|
+
interface HTMLElementTagNameMap {
|
|
50
|
+
"tt-dock-item": TTDockItem;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tt-dock-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-dock-item.d.ts","sourceRoot":"","sources":["../src/tt-dock-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAM5C,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC;;;OAGG;IACyC,MAAM,UAAS;IAEf,QAAQ,UAAS;IAE7D,gFAAgF;IACpD,IAAI,SAAM;IAEtC,0EAA0E;IAC9C,KAAK,SAAM;IAEvB,OAAO,CAAC,OAAO,CAAC,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAE/C,yCAAyC;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAIrC,OAAO,KAAK,IAAI,GAEf;IAED,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,cAAc;IAStB,MAAM,CAAC,MAAM,0BA2HX;IAEF,MAAM;CA2CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,UAAU,CAAC;KAC5B;CACF"}
|