@hypoth-ui/wc 0.1.1
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/LICENSE +21 -0
- package/README.md +60 -0
- package/dist/button-MKQKTC5Q.js +10 -0
- package/dist/button-MKQKTC5Q.js.map +1 -0
- package/dist/chunk-4HLM6DBG.js +910 -0
- package/dist/chunk-4HLM6DBG.js.map +1 -0
- package/dist/chunk-55ID7LJL.js +3602 -0
- package/dist/chunk-55ID7LJL.js.map +1 -0
- package/dist/chunk-66HFYJD7.js +86 -0
- package/dist/chunk-66HFYJD7.js.map +1 -0
- package/dist/chunk-CZOXIJVS.js +70 -0
- package/dist/chunk-CZOXIJVS.js.map +1 -0
- package/dist/chunk-DHUM4Q5Y.js +495 -0
- package/dist/chunk-DHUM4Q5Y.js.map +1 -0
- package/dist/chunk-DNNI5BDE.js +1842 -0
- package/dist/chunk-DNNI5BDE.js.map +1 -0
- package/dist/chunk-GXKZ6E6K.js +99 -0
- package/dist/chunk-GXKZ6E6K.js.map +1 -0
- package/dist/chunk-H4GJJZ3N.js +51 -0
- package/dist/chunk-H4GJJZ3N.js.map +1 -0
- package/dist/chunk-JMPTFALJ.js +175 -0
- package/dist/chunk-JMPTFALJ.js.map +1 -0
- package/dist/chunk-MYQWCLUJ.js +45 -0
- package/dist/chunk-MYQWCLUJ.js.map +1 -0
- package/dist/chunk-QZSPWT7L.js +183 -0
- package/dist/chunk-QZSPWT7L.js.map +1 -0
- package/dist/chunk-TSKBQCTR.js +5137 -0
- package/dist/chunk-TSKBQCTR.js.map +1 -0
- package/dist/chunk-TXIIUVL3.js +130 -0
- package/dist/chunk-TXIIUVL3.js.map +1 -0
- package/dist/chunk-UM7WRO7W.js +237 -0
- package/dist/chunk-UM7WRO7W.js.map +1 -0
- package/dist/chunk-VPXL4RB3.js +202 -0
- package/dist/chunk-VPXL4RB3.js.map +1 -0
- package/dist/chunk-VX5CKSMN.js +39 -0
- package/dist/chunk-VX5CKSMN.js.map +1 -0
- package/dist/chunk-WQ5BEP3E.js +2845 -0
- package/dist/chunk-WQ5BEP3E.js.map +1 -0
- package/dist/chunk-YDQ434UH.js +60 -0
- package/dist/chunk-YDQ434UH.js.map +1 -0
- package/dist/chunk-ZWV4VI6D.js +153 -0
- package/dist/chunk-ZWV4VI6D.js.map +1 -0
- package/dist/core.d.ts +127 -0
- package/dist/core.js +38 -0
- package/dist/core.js.map +1 -0
- package/dist/data-display.d.ts +872 -0
- package/dist/data-display.js +57 -0
- package/dist/data-display.js.map +1 -0
- package/dist/ds-element-Db0LMfxI.d.ts +43 -0
- package/dist/feedback.d.ts +292 -0
- package/dist/feedback.js +31 -0
- package/dist/feedback.js.map +1 -0
- package/dist/form-controls.d.ts +1713 -0
- package/dist/form-controls.js +63 -0
- package/dist/form-controls.js.map +1 -0
- package/dist/icon-7IZTJ5WT.js +8 -0
- package/dist/icon-7IZTJ5WT.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +423 -0
- package/dist/index.js.map +1 -0
- package/dist/input-LB6UR37A.js +10 -0
- package/dist/input-LB6UR37A.js.map +1 -0
- package/dist/layout.d.ts +504 -0
- package/dist/layout.js +34 -0
- package/dist/layout.js.map +1 -0
- package/dist/link-NHDJ6SFY.js +9 -0
- package/dist/link-NHDJ6SFY.js.map +1 -0
- package/dist/navigation.d.ts +255 -0
- package/dist/navigation.js +111 -0
- package/dist/navigation.js.map +1 -0
- package/dist/overlays.d.ts +1291 -0
- package/dist/overlays.js +106 -0
- package/dist/overlays.js.map +1 -0
- package/dist/primitives.d.ts +230 -0
- package/dist/primitives.js +26 -0
- package/dist/primitives.js.map +1 -0
- package/dist/registry-Bns0t11H.d.ts +233 -0
- package/dist/skeleton-MUdd2029.d.ts +109 -0
- package/dist/spinner-BWaNlc-Y.d.ts +45 -0
- package/dist/spinner-UIYDUVBZ.js +8 -0
- package/dist/spinner-UIYDUVBZ.js.map +1 -0
- package/dist/stepper-CCRwcQOe.d.ts +851 -0
- package/dist/text-MT3S3EMU.js +8 -0
- package/dist/text-MT3S3EMU.js.map +1 -0
- package/dist/visually-hidden-MW2XY4CS.js +8 -0
- package/dist/visually-hidden-MW2XY4CS.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1,872 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { TemplateResult } from 'lit';
|
|
3
|
+
import { D as DSElement } from './ds-element-Db0LMfxI.js';
|
|
4
|
+
export { D as DsProgress, b as DsSkeleton, a as ProgressSize, P as ProgressVariant, e as SkeletonAnimation, c as SkeletonSize, S as SkeletonVariant, d as SkeletonWidth } from './skeleton-MUdd2029.js';
|
|
5
|
+
|
|
6
|
+
type TableSize = "compact" | "default" | "spacious";
|
|
7
|
+
/**
|
|
8
|
+
* Table root component.
|
|
9
|
+
*
|
|
10
|
+
* @element ds-table
|
|
11
|
+
*
|
|
12
|
+
* @slot - Table content (thead, tbody, tfoot)
|
|
13
|
+
*
|
|
14
|
+
* @cssprop --ds-table-border - Border style
|
|
15
|
+
* @cssprop --ds-table-radius - Border radius
|
|
16
|
+
* @cssprop --ds-table-bg - Background color
|
|
17
|
+
*/
|
|
18
|
+
declare class DsTable extends DSElement {
|
|
19
|
+
static styles: never[];
|
|
20
|
+
/**
|
|
21
|
+
* Size variant.
|
|
22
|
+
*/
|
|
23
|
+
size: TableSize;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to show striped rows.
|
|
26
|
+
*/
|
|
27
|
+
striped: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether to remove borders.
|
|
30
|
+
*/
|
|
31
|
+
borderless: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to use fixed layout.
|
|
34
|
+
*/
|
|
35
|
+
fixed: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether header is sticky.
|
|
38
|
+
*/
|
|
39
|
+
stickyHeader: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Accessible caption for screen readers.
|
|
42
|
+
*/
|
|
43
|
+
caption: string;
|
|
44
|
+
render(): TemplateResult;
|
|
45
|
+
}
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
"ds-table": DsTable;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Table header component (thead).
|
|
54
|
+
*
|
|
55
|
+
* @element ds-table-header
|
|
56
|
+
*
|
|
57
|
+
* @slot - TableRow elements for header
|
|
58
|
+
*/
|
|
59
|
+
declare class DsTableHeader extends DSElement {
|
|
60
|
+
static styles: never[];
|
|
61
|
+
render(): TemplateResult;
|
|
62
|
+
}
|
|
63
|
+
declare global {
|
|
64
|
+
interface HTMLElementTagNameMap {
|
|
65
|
+
"ds-table-header": DsTableHeader;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Table body component (tbody).
|
|
71
|
+
*
|
|
72
|
+
* @element ds-table-body
|
|
73
|
+
*
|
|
74
|
+
* @slot - TableRow elements for body
|
|
75
|
+
*/
|
|
76
|
+
declare class DsTableBody extends DSElement {
|
|
77
|
+
static styles: never[];
|
|
78
|
+
render(): TemplateResult;
|
|
79
|
+
}
|
|
80
|
+
declare global {
|
|
81
|
+
interface HTMLElementTagNameMap {
|
|
82
|
+
"ds-table-body": DsTableBody;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Table row component (tr).
|
|
88
|
+
*
|
|
89
|
+
* @element ds-table-row
|
|
90
|
+
*
|
|
91
|
+
* @slot - TableHead or TableCell elements
|
|
92
|
+
*/
|
|
93
|
+
declare class DsTableRow extends DSElement {
|
|
94
|
+
static styles: never[];
|
|
95
|
+
/**
|
|
96
|
+
* Row ID for selection tracking.
|
|
97
|
+
*/
|
|
98
|
+
rowId: string;
|
|
99
|
+
/**
|
|
100
|
+
* Whether this row is selected.
|
|
101
|
+
*/
|
|
102
|
+
selected: boolean;
|
|
103
|
+
render(): TemplateResult;
|
|
104
|
+
}
|
|
105
|
+
declare global {
|
|
106
|
+
interface HTMLElementTagNameMap {
|
|
107
|
+
"ds-table-row": DsTableRow;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
type TableAlign = "left" | "center" | "right";
|
|
112
|
+
type SortDirection = "asc" | "desc" | "none";
|
|
113
|
+
/**
|
|
114
|
+
* Table header cell component (th).
|
|
115
|
+
*
|
|
116
|
+
* @element ds-table-head
|
|
117
|
+
*
|
|
118
|
+
* @slot - Header content
|
|
119
|
+
*
|
|
120
|
+
* @fires ds-sort - When sortable header is clicked
|
|
121
|
+
*/
|
|
122
|
+
declare class DsTableHead extends DSElement {
|
|
123
|
+
static styles: never[];
|
|
124
|
+
/**
|
|
125
|
+
* Column key for sorting.
|
|
126
|
+
*/
|
|
127
|
+
column: string;
|
|
128
|
+
/**
|
|
129
|
+
* Text alignment.
|
|
130
|
+
*/
|
|
131
|
+
align: TableAlign;
|
|
132
|
+
/**
|
|
133
|
+
* Whether this column is sortable.
|
|
134
|
+
*/
|
|
135
|
+
sortable: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Current sort direction.
|
|
138
|
+
*/
|
|
139
|
+
sortDirection: SortDirection;
|
|
140
|
+
/**
|
|
141
|
+
* Column width (CSS value).
|
|
142
|
+
*/
|
|
143
|
+
width: string;
|
|
144
|
+
private handleClick;
|
|
145
|
+
private handleKeyDown;
|
|
146
|
+
private getNextDirection;
|
|
147
|
+
/**
|
|
148
|
+
* Get the aria-sort attribute value.
|
|
149
|
+
* Per APG, sortable columns should always have aria-sort:
|
|
150
|
+
* - "ascending" for A-Z or low-high sort
|
|
151
|
+
* - "descending" for Z-A or high-low sort
|
|
152
|
+
* - "none" when sortable but not currently sorted
|
|
153
|
+
*/
|
|
154
|
+
private getAriaSort;
|
|
155
|
+
render(): TemplateResult;
|
|
156
|
+
}
|
|
157
|
+
declare global {
|
|
158
|
+
interface HTMLElementTagNameMap {
|
|
159
|
+
"ds-table-head": DsTableHead;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Table cell component (td).
|
|
165
|
+
*
|
|
166
|
+
* @element ds-table-cell
|
|
167
|
+
*
|
|
168
|
+
* @slot - Cell content
|
|
169
|
+
*/
|
|
170
|
+
declare class DsTableCell extends DSElement {
|
|
171
|
+
static styles: never[];
|
|
172
|
+
/**
|
|
173
|
+
* Text alignment.
|
|
174
|
+
*/
|
|
175
|
+
align: TableAlign;
|
|
176
|
+
/**
|
|
177
|
+
* Column span.
|
|
178
|
+
*/
|
|
179
|
+
colspan: number;
|
|
180
|
+
/**
|
|
181
|
+
* Row span.
|
|
182
|
+
*/
|
|
183
|
+
rowspan: number;
|
|
184
|
+
render(): TemplateResult;
|
|
185
|
+
}
|
|
186
|
+
declare global {
|
|
187
|
+
interface HTMLElementTagNameMap {
|
|
188
|
+
"ds-table-cell": DsTableCell;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
type DataTableSortDirection = "asc" | "desc" | "none";
|
|
193
|
+
interface DataTableColumn {
|
|
194
|
+
id: string;
|
|
195
|
+
header: string;
|
|
196
|
+
accessor?: string;
|
|
197
|
+
sortable?: boolean;
|
|
198
|
+
resizable?: boolean;
|
|
199
|
+
width?: string;
|
|
200
|
+
minWidth?: string;
|
|
201
|
+
maxWidth?: string;
|
|
202
|
+
align?: "left" | "center" | "right";
|
|
203
|
+
}
|
|
204
|
+
interface DataTableSort {
|
|
205
|
+
column: string;
|
|
206
|
+
direction: DataTableSortDirection;
|
|
207
|
+
}
|
|
208
|
+
interface DataTablePagination {
|
|
209
|
+
page: number;
|
|
210
|
+
pageSize: number;
|
|
211
|
+
total: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* DataTable component for large dataset display with virtualization,
|
|
215
|
+
* filtering, pagination, and column features.
|
|
216
|
+
*
|
|
217
|
+
* @element ds-data-table
|
|
218
|
+
*
|
|
219
|
+
* @slot - Table content (use Table sub-components)
|
|
220
|
+
*
|
|
221
|
+
* @fires ds-sort - When sort changes
|
|
222
|
+
* @fires ds-page-change - When page changes
|
|
223
|
+
* @fires ds-page-size-change - When page size changes
|
|
224
|
+
* @fires ds-selection-change - When row selection changes
|
|
225
|
+
*
|
|
226
|
+
* @cssprop --ds-data-table-border - Border style
|
|
227
|
+
*/
|
|
228
|
+
declare class DsDataTable extends DSElement {
|
|
229
|
+
static styles: never[];
|
|
230
|
+
/**
|
|
231
|
+
* Enable virtualization for large datasets.
|
|
232
|
+
*/
|
|
233
|
+
virtualized: boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Row height for virtualization (in pixels).
|
|
236
|
+
*/
|
|
237
|
+
rowHeight: number;
|
|
238
|
+
/**
|
|
239
|
+
* Number of overscan rows for virtualization.
|
|
240
|
+
*/
|
|
241
|
+
overscan: number;
|
|
242
|
+
/**
|
|
243
|
+
* Total number of rows (for server-side pagination).
|
|
244
|
+
*/
|
|
245
|
+
totalRows: number;
|
|
246
|
+
/**
|
|
247
|
+
* Current page (1-indexed).
|
|
248
|
+
*/
|
|
249
|
+
page: number;
|
|
250
|
+
/**
|
|
251
|
+
* Page size.
|
|
252
|
+
*/
|
|
253
|
+
pageSize: number;
|
|
254
|
+
/**
|
|
255
|
+
* Available page sizes.
|
|
256
|
+
*/
|
|
257
|
+
pageSizes: string;
|
|
258
|
+
/**
|
|
259
|
+
* Enable row selection.
|
|
260
|
+
*/
|
|
261
|
+
selectable: boolean;
|
|
262
|
+
/**
|
|
263
|
+
* Selection mode.
|
|
264
|
+
*/
|
|
265
|
+
selectionMode: "single" | "multiple";
|
|
266
|
+
/**
|
|
267
|
+
* Show loading state.
|
|
268
|
+
*/
|
|
269
|
+
loading: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Sort column ID.
|
|
272
|
+
*/
|
|
273
|
+
sortColumn: string;
|
|
274
|
+
/**
|
|
275
|
+
* Sort direction.
|
|
276
|
+
*/
|
|
277
|
+
sortDirection: DataTableSortDirection;
|
|
278
|
+
/**
|
|
279
|
+
* Filter/search query.
|
|
280
|
+
*/
|
|
281
|
+
filter: string;
|
|
282
|
+
/**
|
|
283
|
+
* Empty state message.
|
|
284
|
+
*/
|
|
285
|
+
emptyMessage: string;
|
|
286
|
+
private selectedRows;
|
|
287
|
+
private sortAnnouncement;
|
|
288
|
+
private get pageSizeOptions();
|
|
289
|
+
private get totalPages();
|
|
290
|
+
private get startRow();
|
|
291
|
+
private get endRow();
|
|
292
|
+
handleSort(column: string): void;
|
|
293
|
+
/**
|
|
294
|
+
* Announce sort state changes to screen readers.
|
|
295
|
+
* Uses a live region to provide immediate feedback.
|
|
296
|
+
*/
|
|
297
|
+
private announceSortChange;
|
|
298
|
+
handlePageChange(newPage: number): void;
|
|
299
|
+
handlePageSizeChange(event: Event): void;
|
|
300
|
+
toggleRowSelection(rowId: string): void;
|
|
301
|
+
clearSelection(): void;
|
|
302
|
+
isRowSelected(rowId: string): boolean;
|
|
303
|
+
private renderPagination;
|
|
304
|
+
render(): TemplateResult;
|
|
305
|
+
}
|
|
306
|
+
declare global {
|
|
307
|
+
interface HTMLElementTagNameMap {
|
|
308
|
+
"ds-data-table": DsDataTable;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
313
|
+
type AvatarShape = "circle" | "square";
|
|
314
|
+
type AvatarStatus = "online" | "offline" | "away" | "busy";
|
|
315
|
+
/**
|
|
316
|
+
* Avatar component for user representation.
|
|
317
|
+
*
|
|
318
|
+
* @element ds-avatar
|
|
319
|
+
*
|
|
320
|
+
* @csspart image - The avatar image element
|
|
321
|
+
* @csspart initials - The initials fallback element
|
|
322
|
+
* @csspart icon - The icon fallback element
|
|
323
|
+
* @csspart status - The status indicator element
|
|
324
|
+
*
|
|
325
|
+
* @cssprop --ds-avatar-size - Avatar dimensions
|
|
326
|
+
* @cssprop --ds-avatar-radius - Border radius
|
|
327
|
+
* @cssprop --ds-avatar-bg - Background color for fallback
|
|
328
|
+
* @cssprop --ds-avatar-color - Text color for initials/icon
|
|
329
|
+
*/
|
|
330
|
+
declare class DsAvatar extends DSElement {
|
|
331
|
+
static styles: never[];
|
|
332
|
+
/**
|
|
333
|
+
* Image source URL.
|
|
334
|
+
*/
|
|
335
|
+
src: string;
|
|
336
|
+
/**
|
|
337
|
+
* Alt text for image.
|
|
338
|
+
*/
|
|
339
|
+
alt: string;
|
|
340
|
+
/**
|
|
341
|
+
* User's name (used for initials fallback).
|
|
342
|
+
*/
|
|
343
|
+
name: string;
|
|
344
|
+
/**
|
|
345
|
+
* Size variant.
|
|
346
|
+
*/
|
|
347
|
+
size: AvatarSize;
|
|
348
|
+
/**
|
|
349
|
+
* Shape variant.
|
|
350
|
+
*/
|
|
351
|
+
shape: AvatarShape;
|
|
352
|
+
/**
|
|
353
|
+
* Status indicator.
|
|
354
|
+
*/
|
|
355
|
+
status?: AvatarStatus;
|
|
356
|
+
/**
|
|
357
|
+
* Whether to show status indicator.
|
|
358
|
+
*/
|
|
359
|
+
showStatus: boolean;
|
|
360
|
+
private imageError;
|
|
361
|
+
private get initials();
|
|
362
|
+
private get showImage();
|
|
363
|
+
private get showInitials();
|
|
364
|
+
private get showIcon();
|
|
365
|
+
private handleImageError;
|
|
366
|
+
private handleImageLoad;
|
|
367
|
+
render(): TemplateResult;
|
|
368
|
+
}
|
|
369
|
+
declare global {
|
|
370
|
+
interface HTMLElementTagNameMap {
|
|
371
|
+
"ds-avatar": DsAvatar;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Avatar group component for displaying multiple avatars with overflow.
|
|
377
|
+
*
|
|
378
|
+
* @element ds-avatar-group
|
|
379
|
+
*
|
|
380
|
+
* @slot - Avatar elements to display
|
|
381
|
+
*
|
|
382
|
+
* @csspart overflow - The overflow indicator element
|
|
383
|
+
*
|
|
384
|
+
* @cssprop --ds-avatar-size - Avatar dimensions (inherited by children)
|
|
385
|
+
*/
|
|
386
|
+
declare class DsAvatarGroup extends DSElement {
|
|
387
|
+
static styles: never[];
|
|
388
|
+
/**
|
|
389
|
+
* Maximum number of avatars to display before showing overflow.
|
|
390
|
+
*/
|
|
391
|
+
max: number;
|
|
392
|
+
/**
|
|
393
|
+
* Size variant (inherited by child avatars).
|
|
394
|
+
*/
|
|
395
|
+
size: AvatarSize;
|
|
396
|
+
private overflowCount;
|
|
397
|
+
private visibleAvatars;
|
|
398
|
+
connectedCallback(): void;
|
|
399
|
+
private updateAvatarVisibility;
|
|
400
|
+
render(): TemplateResult;
|
|
401
|
+
}
|
|
402
|
+
declare global {
|
|
403
|
+
interface HTMLElementTagNameMap {
|
|
404
|
+
"ds-avatar-group": DsAvatarGroup;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
type BadgeVariant = "neutral" | "primary" | "secondary" | "success" | "warning" | "error" | "info";
|
|
409
|
+
type BadgeSize = "sm" | "md" | "lg";
|
|
410
|
+
type BadgePosition = "top-right" | "top-left" | "bottom-right" | "bottom-left";
|
|
411
|
+
/**
|
|
412
|
+
* Badge component for counts, notifications, and status indicators.
|
|
413
|
+
*
|
|
414
|
+
* @element ds-badge
|
|
415
|
+
*
|
|
416
|
+
* @cssprop --ds-badge-bg - Background color
|
|
417
|
+
* @cssprop --ds-badge-color - Text color
|
|
418
|
+
*/
|
|
419
|
+
declare class DsBadge extends DSElement {
|
|
420
|
+
static styles: never[];
|
|
421
|
+
/**
|
|
422
|
+
* Badge content/count.
|
|
423
|
+
*/
|
|
424
|
+
content: string;
|
|
425
|
+
/**
|
|
426
|
+
* Maximum count to show. Displays "{max}+" if exceeded.
|
|
427
|
+
*/
|
|
428
|
+
max?: number;
|
|
429
|
+
/**
|
|
430
|
+
* Color variant.
|
|
431
|
+
*/
|
|
432
|
+
variant: BadgeVariant;
|
|
433
|
+
/**
|
|
434
|
+
* Size variant.
|
|
435
|
+
*/
|
|
436
|
+
size: BadgeSize;
|
|
437
|
+
/**
|
|
438
|
+
* Use outline style.
|
|
439
|
+
*/
|
|
440
|
+
outline: boolean;
|
|
441
|
+
/**
|
|
442
|
+
* Show as dot (no content).
|
|
443
|
+
*/
|
|
444
|
+
dot: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* Position when used in wrapper.
|
|
447
|
+
*/
|
|
448
|
+
position: BadgePosition;
|
|
449
|
+
/**
|
|
450
|
+
* Show pulse animation.
|
|
451
|
+
*/
|
|
452
|
+
pulse: boolean;
|
|
453
|
+
private get displayContent();
|
|
454
|
+
render(): TemplateResult;
|
|
455
|
+
}
|
|
456
|
+
declare global {
|
|
457
|
+
interface HTMLElementTagNameMap {
|
|
458
|
+
"ds-badge": DsBadge;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
type TagVariant = "neutral" | "primary" | "secondary" | "success" | "warning" | "error" | "info";
|
|
463
|
+
type TagSize = "sm" | "md" | "lg";
|
|
464
|
+
/**
|
|
465
|
+
* Tag component for categorization with optional remove action.
|
|
466
|
+
*
|
|
467
|
+
* @element ds-tag
|
|
468
|
+
*
|
|
469
|
+
* @slot - Tag content
|
|
470
|
+
* @slot icon - Optional leading icon
|
|
471
|
+
*
|
|
472
|
+
* @fires ds-remove - When the remove button is clicked
|
|
473
|
+
* @fires ds-click - When the tag is clicked (if clickable)
|
|
474
|
+
*
|
|
475
|
+
* @cssprop --ds-tag-bg - Background color
|
|
476
|
+
* @cssprop --ds-tag-color - Text color
|
|
477
|
+
*/
|
|
478
|
+
declare class DsTag extends DSElement {
|
|
479
|
+
static styles: never[];
|
|
480
|
+
/**
|
|
481
|
+
* Color variant.
|
|
482
|
+
*/
|
|
483
|
+
variant: TagVariant;
|
|
484
|
+
/**
|
|
485
|
+
* Size variant.
|
|
486
|
+
*/
|
|
487
|
+
size: TagSize;
|
|
488
|
+
/**
|
|
489
|
+
* Use solid (filled) style instead of subtle.
|
|
490
|
+
*/
|
|
491
|
+
solid: boolean;
|
|
492
|
+
/**
|
|
493
|
+
* Show remove button.
|
|
494
|
+
*/
|
|
495
|
+
removable: boolean;
|
|
496
|
+
/**
|
|
497
|
+
* Make tag clickable/interactive.
|
|
498
|
+
*/
|
|
499
|
+
clickable: boolean;
|
|
500
|
+
/**
|
|
501
|
+
* Disable the tag.
|
|
502
|
+
*/
|
|
503
|
+
disabled: boolean;
|
|
504
|
+
/**
|
|
505
|
+
* Value for identification in events.
|
|
506
|
+
*/
|
|
507
|
+
value: string;
|
|
508
|
+
private handleRemove;
|
|
509
|
+
private handleClick;
|
|
510
|
+
private handleKeyDown;
|
|
511
|
+
render(): TemplateResult;
|
|
512
|
+
}
|
|
513
|
+
declare global {
|
|
514
|
+
interface HTMLElementTagNameMap {
|
|
515
|
+
"ds-tag": DsTag;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
type CalendarSize = "default" | "compact";
|
|
520
|
+
/**
|
|
521
|
+
* Calendar component for date selection.
|
|
522
|
+
*
|
|
523
|
+
* @element ds-calendar
|
|
524
|
+
*
|
|
525
|
+
* @fires ds-change - When a date is selected
|
|
526
|
+
* @fires ds-month-change - When the displayed month changes
|
|
527
|
+
*
|
|
528
|
+
* @cssprop --ds-calendar-width - Calendar width
|
|
529
|
+
* @cssprop --ds-calendar-cell-size - Day cell size
|
|
530
|
+
*/
|
|
531
|
+
declare class DsCalendar extends DSElement {
|
|
532
|
+
static styles: never[];
|
|
533
|
+
/**
|
|
534
|
+
* Selected date (ISO format: YYYY-MM-DD).
|
|
535
|
+
*/
|
|
536
|
+
value: string;
|
|
537
|
+
/**
|
|
538
|
+
* Minimum selectable date (ISO format).
|
|
539
|
+
*/
|
|
540
|
+
min: string;
|
|
541
|
+
/**
|
|
542
|
+
* Maximum selectable date (ISO format).
|
|
543
|
+
*/
|
|
544
|
+
max: string;
|
|
545
|
+
/**
|
|
546
|
+
* Disabled dates (comma-separated ISO format).
|
|
547
|
+
*/
|
|
548
|
+
disabledDates: string;
|
|
549
|
+
/**
|
|
550
|
+
* Locale for month/day names.
|
|
551
|
+
*/
|
|
552
|
+
locale: string;
|
|
553
|
+
/**
|
|
554
|
+
* Size variant.
|
|
555
|
+
*/
|
|
556
|
+
size: CalendarSize;
|
|
557
|
+
/**
|
|
558
|
+
* First day of week (0 = Sunday, 1 = Monday).
|
|
559
|
+
*/
|
|
560
|
+
firstDayOfWeek: number;
|
|
561
|
+
private viewDate;
|
|
562
|
+
private get selectedDate();
|
|
563
|
+
private get minDate();
|
|
564
|
+
private get maxDate();
|
|
565
|
+
private get disabledDateSet();
|
|
566
|
+
private get weekdayNames();
|
|
567
|
+
private get monthYearLabel();
|
|
568
|
+
private get calendarDays();
|
|
569
|
+
private isToday;
|
|
570
|
+
private isSelected;
|
|
571
|
+
private isDisabled;
|
|
572
|
+
private formatDateISO;
|
|
573
|
+
private handlePrevMonth;
|
|
574
|
+
private handleNextMonth;
|
|
575
|
+
private handleDateSelect;
|
|
576
|
+
private handleKeyDown;
|
|
577
|
+
render(): TemplateResult;
|
|
578
|
+
}
|
|
579
|
+
declare global {
|
|
580
|
+
interface HTMLElementTagNameMap {
|
|
581
|
+
"ds-calendar": DsCalendar;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
type TreeSelectionMode = "single" | "multiple" | "none";
|
|
586
|
+
type TreeSize = "default" | "compact";
|
|
587
|
+
/**
|
|
588
|
+
* Tree root component for hierarchical data display.
|
|
589
|
+
*
|
|
590
|
+
* @element ds-tree
|
|
591
|
+
*
|
|
592
|
+
* @slot - TreeItem elements
|
|
593
|
+
*
|
|
594
|
+
* @fires ds-selection-change - When selection changes
|
|
595
|
+
*
|
|
596
|
+
* @cssprop --ds-tree-indent - Indentation for nested items
|
|
597
|
+
*/
|
|
598
|
+
declare class DsTree extends DSElement {
|
|
599
|
+
static styles: never[];
|
|
600
|
+
/**
|
|
601
|
+
* Selection mode.
|
|
602
|
+
*/
|
|
603
|
+
selectionMode: TreeSelectionMode;
|
|
604
|
+
/**
|
|
605
|
+
* Size variant.
|
|
606
|
+
*/
|
|
607
|
+
size: TreeSize;
|
|
608
|
+
/**
|
|
609
|
+
* Show connecting lines.
|
|
610
|
+
*/
|
|
611
|
+
lines: boolean;
|
|
612
|
+
/**
|
|
613
|
+
* Accessible label.
|
|
614
|
+
*/
|
|
615
|
+
label: string;
|
|
616
|
+
/**
|
|
617
|
+
* Whether the tree is in a loading state.
|
|
618
|
+
* When true, sets aria-busy and disables keyboard navigation.
|
|
619
|
+
*/
|
|
620
|
+
loading: boolean;
|
|
621
|
+
/**
|
|
622
|
+
* Text to display/announce during loading.
|
|
623
|
+
*/
|
|
624
|
+
loadingText: string;
|
|
625
|
+
/**
|
|
626
|
+
* Node IDs that are currently loading children.
|
|
627
|
+
* Allows for node-level loading indicators.
|
|
628
|
+
*/
|
|
629
|
+
loadingNodes: Set<string> | string[];
|
|
630
|
+
private selectedItems;
|
|
631
|
+
/**
|
|
632
|
+
* Checks if a specific node is currently loading.
|
|
633
|
+
*/
|
|
634
|
+
isNodeLoading(nodeId: string): boolean;
|
|
635
|
+
handleItemSelect(itemId: string): void;
|
|
636
|
+
isItemSelected(itemId: string): boolean;
|
|
637
|
+
render(): TemplateResult;
|
|
638
|
+
}
|
|
639
|
+
declare global {
|
|
640
|
+
interface HTMLElementTagNameMap {
|
|
641
|
+
"ds-tree": DsTree;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Tree item component for hierarchical nodes.
|
|
647
|
+
*
|
|
648
|
+
* @element ds-tree-item
|
|
649
|
+
*
|
|
650
|
+
* @slot - Item content (label)
|
|
651
|
+
* @slot icon - Optional leading icon
|
|
652
|
+
* @slot children - Nested TreeItem elements
|
|
653
|
+
*
|
|
654
|
+
* @fires ds-expand - When expand state changes
|
|
655
|
+
* @fires ds-select - When item is selected
|
|
656
|
+
* @fires ds-activate - When item is activated (Enter/double-click)
|
|
657
|
+
*/
|
|
658
|
+
declare class DsTreeItem extends DSElement {
|
|
659
|
+
static styles: never[];
|
|
660
|
+
/**
|
|
661
|
+
* Unique item ID.
|
|
662
|
+
*/
|
|
663
|
+
itemId: string;
|
|
664
|
+
/**
|
|
665
|
+
* Whether item is expanded.
|
|
666
|
+
*/
|
|
667
|
+
expanded: boolean;
|
|
668
|
+
/**
|
|
669
|
+
* Whether item is selected.
|
|
670
|
+
*/
|
|
671
|
+
selected: boolean;
|
|
672
|
+
/**
|
|
673
|
+
* Whether item is disabled.
|
|
674
|
+
*/
|
|
675
|
+
disabled: boolean;
|
|
676
|
+
/**
|
|
677
|
+
* Whether this item is loading (e.g., fetching children).
|
|
678
|
+
* Can be set directly or inherited from tree's loadingNodes.
|
|
679
|
+
*/
|
|
680
|
+
loading: boolean;
|
|
681
|
+
private hasChildren;
|
|
682
|
+
private _level;
|
|
683
|
+
private _setSize;
|
|
684
|
+
private _posInSet;
|
|
685
|
+
private get treeRoot();
|
|
686
|
+
/**
|
|
687
|
+
* Returns true if this item is loading (either directly or via tree's loadingNodes).
|
|
688
|
+
*/
|
|
689
|
+
private get isLoading();
|
|
690
|
+
/**
|
|
691
|
+
* Returns true if the tree root is in a loading state.
|
|
692
|
+
*/
|
|
693
|
+
private get isTreeLoading();
|
|
694
|
+
connectedCallback(): void;
|
|
695
|
+
/**
|
|
696
|
+
* Update ARIA position attributes for APG compliance.
|
|
697
|
+
* Provides screen readers with context like "Item 3 of 5, level 2".
|
|
698
|
+
*/
|
|
699
|
+
private updateAriaPosition;
|
|
700
|
+
private updateHasChildren;
|
|
701
|
+
private handleExpandClick;
|
|
702
|
+
private handleContentClick;
|
|
703
|
+
private handleKeyDown;
|
|
704
|
+
render(): TemplateResult;
|
|
705
|
+
}
|
|
706
|
+
declare global {
|
|
707
|
+
interface HTMLElementTagNameMap {
|
|
708
|
+
"ds-tree-item": DsTreeItem;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
type ListSelectionMode = "single" | "multiple" | "none";
|
|
713
|
+
type ListOrientation = "vertical" | "horizontal";
|
|
714
|
+
type ListSize = "default" | "compact" | "spacious";
|
|
715
|
+
/**
|
|
716
|
+
* List root component for collection display.
|
|
717
|
+
*
|
|
718
|
+
* @element ds-list
|
|
719
|
+
*
|
|
720
|
+
* @slot - ListItem elements
|
|
721
|
+
*
|
|
722
|
+
* @fires ds-selection-change - When selection changes
|
|
723
|
+
*
|
|
724
|
+
* @cssprop --ds-list-gap - Gap between items
|
|
725
|
+
*/
|
|
726
|
+
declare class DsList extends DSElement {
|
|
727
|
+
static styles: never[];
|
|
728
|
+
/**
|
|
729
|
+
* Selection mode.
|
|
730
|
+
*/
|
|
731
|
+
selectionMode: ListSelectionMode;
|
|
732
|
+
/**
|
|
733
|
+
* List orientation.
|
|
734
|
+
*/
|
|
735
|
+
orientation: ListOrientation;
|
|
736
|
+
/**
|
|
737
|
+
* Size variant.
|
|
738
|
+
*/
|
|
739
|
+
size: ListSize;
|
|
740
|
+
/**
|
|
741
|
+
* Show border around list.
|
|
742
|
+
*/
|
|
743
|
+
bordered: boolean;
|
|
744
|
+
/**
|
|
745
|
+
* Accessible label.
|
|
746
|
+
*/
|
|
747
|
+
label: string;
|
|
748
|
+
private selectedItems;
|
|
749
|
+
handleItemSelect(itemId: string): void;
|
|
750
|
+
isItemSelected(itemId: string): boolean;
|
|
751
|
+
render(): TemplateResult;
|
|
752
|
+
}
|
|
753
|
+
declare global {
|
|
754
|
+
interface HTMLElementTagNameMap {
|
|
755
|
+
"ds-list": DsList;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* List item component for collection items.
|
|
761
|
+
*
|
|
762
|
+
* @element ds-list-item
|
|
763
|
+
*
|
|
764
|
+
* @slot - Item content
|
|
765
|
+
* @slot leading - Optional leading element (icon, avatar)
|
|
766
|
+
* @slot secondary - Optional secondary text
|
|
767
|
+
* @slot trailing - Optional trailing element (action, badge)
|
|
768
|
+
*
|
|
769
|
+
* @fires ds-select - When item is selected
|
|
770
|
+
* @fires ds-activate - When item is activated (Enter/double-click)
|
|
771
|
+
*/
|
|
772
|
+
declare class DsListItem extends DSElement {
|
|
773
|
+
static styles: never[];
|
|
774
|
+
/**
|
|
775
|
+
* Unique item ID.
|
|
776
|
+
*/
|
|
777
|
+
itemId: string;
|
|
778
|
+
/**
|
|
779
|
+
* Whether item is selected.
|
|
780
|
+
*/
|
|
781
|
+
selected: boolean;
|
|
782
|
+
/**
|
|
783
|
+
* Whether item is disabled.
|
|
784
|
+
*/
|
|
785
|
+
disabled: boolean;
|
|
786
|
+
/**
|
|
787
|
+
* Value for identification.
|
|
788
|
+
*/
|
|
789
|
+
value: string;
|
|
790
|
+
private get listRoot();
|
|
791
|
+
private handleClick;
|
|
792
|
+
private handleKeyDown;
|
|
793
|
+
render(): TemplateResult;
|
|
794
|
+
}
|
|
795
|
+
declare global {
|
|
796
|
+
interface HTMLElementTagNameMap {
|
|
797
|
+
"ds-list-item": DsListItem;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
declare class DsCard extends DSElement {
|
|
802
|
+
render(): lit.TemplateResult<1>;
|
|
803
|
+
}
|
|
804
|
+
declare global {
|
|
805
|
+
interface HTMLElementTagNameMap {
|
|
806
|
+
"ds-card": DsCard;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
declare class DsCardHeader extends DSElement {
|
|
811
|
+
render(): lit.TemplateResult<1>;
|
|
812
|
+
}
|
|
813
|
+
declare global {
|
|
814
|
+
interface HTMLElementTagNameMap {
|
|
815
|
+
"ds-card-header": DsCardHeader;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
declare class DsCardContent extends DSElement {
|
|
820
|
+
render(): lit.TemplateResult<1>;
|
|
821
|
+
}
|
|
822
|
+
declare global {
|
|
823
|
+
interface HTMLElementTagNameMap {
|
|
824
|
+
"ds-card-content": DsCardContent;
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
declare class DsCardFooter extends DSElement {
|
|
829
|
+
render(): lit.TemplateResult<1>;
|
|
830
|
+
}
|
|
831
|
+
declare global {
|
|
832
|
+
interface HTMLElementTagNameMap {
|
|
833
|
+
"ds-card-footer": DsCardFooter;
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
type SeparatorOrientation = "horizontal" | "vertical";
|
|
838
|
+
declare class DsSeparator extends DSElement {
|
|
839
|
+
/** Visual orientation of the separator */
|
|
840
|
+
orientation: SeparatorOrientation;
|
|
841
|
+
/** Whether the separator is purely decorative (no semantic meaning) */
|
|
842
|
+
decorative: boolean;
|
|
843
|
+
connectedCallback(): void;
|
|
844
|
+
updated(): void;
|
|
845
|
+
private updateAccessibility;
|
|
846
|
+
render(): lit.TemplateResult<1>;
|
|
847
|
+
}
|
|
848
|
+
declare global {
|
|
849
|
+
interface HTMLElementTagNameMap {
|
|
850
|
+
"ds-separator": DsSeparator;
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
declare class DsAspectRatio extends DSElement {
|
|
855
|
+
/**
|
|
856
|
+
* Aspect ratio as width/height (e.g., "16/9", "4/3", "1/1").
|
|
857
|
+
* Can also be a number (e.g., 1.777 for 16:9).
|
|
858
|
+
*/
|
|
859
|
+
ratio: string;
|
|
860
|
+
updated(): void;
|
|
861
|
+
connectedCallback(): void;
|
|
862
|
+
private updateCssVariable;
|
|
863
|
+
private parseRatio;
|
|
864
|
+
render(): lit.TemplateResult<1>;
|
|
865
|
+
}
|
|
866
|
+
declare global {
|
|
867
|
+
interface HTMLElementTagNameMap {
|
|
868
|
+
"ds-aspect-ratio": DsAspectRatio;
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
export { type AvatarShape, type AvatarSize, type AvatarStatus, type BadgePosition, type BadgeSize, type BadgeVariant, type CalendarSize, type DataTableColumn, type DataTablePagination, type DataTableSort, type DataTableSortDirection, DsAspectRatio, DsAvatar, DsAvatarGroup, DsBadge, DsCalendar, DsCard, DsCardContent, DsCardFooter, DsCardHeader, DsDataTable, DsList, DsListItem, DsSeparator, DsTable, DsTableBody, DsTableCell, DsTableHead, DsTableHeader, DsTableRow, DsTag, DsTree, DsTreeItem, type ListOrientation, type ListSelectionMode, type ListSize, type SeparatorOrientation, type SortDirection, type TableAlign, type TableSize, type TagSize, type TagVariant, type TreeSelectionMode, type TreeSize };
|