@vueye-table/headless 3.0.0-alpha.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Brahim Boussadjra and vueye-table contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # @vueye-table/headless
2
+
3
+ Unstyled, accessible Vue components for vueye-table: `DataTableRoot`, header, body, row, and cell
4
+ components, sort buttons, selection checkboxes, search, pagination, page size, column visibility,
5
+ a live status region, and a keyboard-driven spreadsheet grid (`DataGridRoot`, `DataGridCell`).
6
+ State is exposed through slot props and `data-*` attributes, and every component accepts `as`.
7
+
8
+ ```bash
9
+ pnpm add @vueye-table/headless vue
10
+ ```
11
+
12
+ See the [repository README](https://github.com/boussadjra/vueye-table#readme) for every layer.
@@ -0,0 +1,641 @@
1
+ import { AnyDataTableBinding, DataGridBinding, DataTableBinding } from "@vueye-table/vue";
2
+ import { PropType, SlotsType, VNode, VNodeChild } from "vue";
3
+ import { GridDirection, PageItem, SelectionCoverage, SortInfo, TableColumn, TableRow } from "@vueye-table/core";
4
+ //#region src/controls.d.ts
5
+ /**
6
+ * Selects or clears every row in the table's select-all scope. It shows the indeterminate state
7
+ * when only some are selected. The slot receives the state to draw a custom control.
8
+ */
9
+ declare const DataTableSelectAll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
+ label: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
15
+ [key: string]: any;
16
+ }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ label: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ }>> & Readonly<{}>, {
24
+ label: string;
25
+ }, SlotsType<{
26
+ default?: (props: {
27
+ state: SelectionCoverage;
28
+ toggle: () => void;
29
+ }) => VNode[];
30
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
31
+ /** Selects or clears one row. */
32
+ declare const DataTableSelectRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
33
+ row: {
34
+ readonly type: PropType<import("@vueye-table/core").TableRow<unknown>>;
35
+ readonly required: true;
36
+ };
37
+ label: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
44
+ [key: string]: any;
45
+ }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
46
+ row: {
47
+ readonly type: PropType<import("@vueye-table/core").TableRow<unknown>>;
48
+ readonly required: true;
49
+ };
50
+ label: {
51
+ type: StringConstructor;
52
+ default: string;
53
+ };
54
+ }>> & Readonly<{}>, {
55
+ label: string;
56
+ }, SlotsType<{
57
+ default?: (props: {
58
+ selected: boolean;
59
+ toggle: () => void;
60
+ }) => VNode[];
61
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
62
+ /**
63
+ * A search box bound to the table's free-text search. `debounce` waits that many milliseconds
64
+ * after the last keystroke before searching.
65
+ */
66
+ declare const DataTableSearch: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
67
+ debounce: {
68
+ type: NumberConstructor;
69
+ default: number;
70
+ };
71
+ label: {
72
+ type: StringConstructor;
73
+ default: string;
74
+ };
75
+ placeholder: {
76
+ type: PropType<string | undefined>;
77
+ default: undefined;
78
+ };
79
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
80
+ [key: string]: any;
81
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
82
+ debounce: {
83
+ type: NumberConstructor;
84
+ default: number;
85
+ };
86
+ label: {
87
+ type: StringConstructor;
88
+ default: string;
89
+ };
90
+ placeholder: {
91
+ type: PropType<string | undefined>;
92
+ default: undefined;
93
+ };
94
+ }>> & Readonly<{}>, {
95
+ label: string;
96
+ debounce: number;
97
+ placeholder: string | undefined;
98
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
99
+ /**
100
+ * Page navigation. The slot receives everything needed to draw custom controls; without one it
101
+ * renders previous, numbered, and next buttons with `aria-current` on the current page.
102
+ */
103
+ declare const DataTablePagination: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
104
+ as: {
105
+ readonly type: StringConstructor;
106
+ readonly default: string;
107
+ };
108
+ label: {
109
+ type: StringConstructor;
110
+ default: string;
111
+ };
112
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
113
+ [key: string]: any;
114
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
115
+ as: {
116
+ readonly type: StringConstructor;
117
+ readonly default: string;
118
+ };
119
+ label: {
120
+ type: StringConstructor;
121
+ default: string;
122
+ };
123
+ }>> & Readonly<{}>, {
124
+ as: string;
125
+ label: string;
126
+ }, SlotsType<{
127
+ default?: (props: {
128
+ page: number;
129
+ pageCount: number;
130
+ items: readonly PageItem[];
131
+ canPrevious: boolean;
132
+ canNext: boolean;
133
+ goToPage: (page: number) => void;
134
+ next: () => void;
135
+ previous: () => void;
136
+ }) => VNode[];
137
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
138
+ /** A page size picker. */
139
+ declare const DataTablePageSize: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
140
+ options: {
141
+ type: PropType<readonly number[]>;
142
+ default: () => number[];
143
+ };
144
+ label: {
145
+ type: StringConstructor;
146
+ default: string;
147
+ };
148
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
149
+ [key: string]: any;
150
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
151
+ options: {
152
+ type: PropType<readonly number[]>;
153
+ default: () => number[];
154
+ };
155
+ label: {
156
+ type: StringConstructor;
157
+ default: string;
158
+ };
159
+ }>> & Readonly<{}>, {
160
+ label: string;
161
+ options: readonly number[];
162
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
163
+ /** A checkbox per column that shows or hides it. The slot receives the columns and `toggle`. */
164
+ declare const DataTableColumnVisibility: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
165
+ as: {
166
+ readonly type: StringConstructor;
167
+ readonly default: string;
168
+ };
169
+ legend: {
170
+ type: StringConstructor;
171
+ default: string;
172
+ };
173
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
174
+ [key: string]: any;
175
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
176
+ as: {
177
+ readonly type: StringConstructor;
178
+ readonly default: string;
179
+ };
180
+ legend: {
181
+ type: StringConstructor;
182
+ default: string;
183
+ };
184
+ }>> & Readonly<{}>, {
185
+ as: string;
186
+ legend: string;
187
+ }, SlotsType<{
188
+ default?: (props: {
189
+ columns: readonly {
190
+ column: TableColumn<unknown>;
191
+ visible: boolean;
192
+ }[];
193
+ toggle: (columnId: string, visible?: boolean) => void;
194
+ }) => VNode[];
195
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
196
+ /**
197
+ * A polite live region describing what is shown, such as "1–10 of 57 rows". Screen readers
198
+ * announce it after a search, filter, or page change.
199
+ */
200
+ declare const DataTableStatus: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
201
+ as: {
202
+ readonly type: StringConstructor;
203
+ readonly default: string;
204
+ };
205
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
206
+ [key: string]: any;
207
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
208
+ as: {
209
+ readonly type: StringConstructor;
210
+ readonly default: string;
211
+ };
212
+ }>> & Readonly<{}>, {
213
+ as: string;
214
+ }, SlotsType<{
215
+ default?: (props: {
216
+ start: number;
217
+ end: number;
218
+ rowCount: number;
219
+ totalRowCount: number;
220
+ selectedCount: number;
221
+ }) => VNode[];
222
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
223
+ //#endregion
224
+ //#region src/shared.d.ts
225
+ /** Columns of any row type; callbacks on a column make `TableColumn<unknown>` too narrow. */
226
+ type AnyTableColumn = TableColumn<any>;
227
+ //#endregion
228
+ //#region src/grid.d.ts
229
+ declare function cellId(gridId: string, row: number, column: number): string;
230
+ /**
231
+ * A spreadsheet grid over a table. The grid element keeps keyboard focus and points at the active
232
+ * cell with `aria-activedescendant`; arrows, Tab, Home, End, Enter, F2, Delete, Escape, typing,
233
+ * undo, redo, and clipboard copy, cut, and paste all work on the selected range.
234
+ */
235
+ declare const DataGridRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
236
+ table: {
237
+ type: PropType<AnyDataTableBinding>;
238
+ required: true;
239
+ };
240
+ as: {
241
+ readonly type: StringConstructor;
242
+ readonly default: string;
243
+ };
244
+ label: {
245
+ type: PropType<string | undefined>;
246
+ default: undefined;
247
+ };
248
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
249
+ [key: string]: any;
250
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
251
+ table: {
252
+ type: PropType<AnyDataTableBinding>;
253
+ required: true;
254
+ };
255
+ as: {
256
+ readonly type: StringConstructor;
257
+ readonly default: string;
258
+ };
259
+ label: {
260
+ type: PropType<string | undefined>;
261
+ default: undefined;
262
+ };
263
+ }>> & Readonly<{}>, {
264
+ as: string;
265
+ label: string | undefined;
266
+ }, SlotsType<{
267
+ default?: (props: {
268
+ table: DataTableBinding<unknown>;
269
+ grid: DataGridBinding<unknown>;
270
+ }) => VNode[];
271
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
272
+ /** Slot props of a grid cell's content, while it is not being edited. */
273
+ interface GridCellSlotProps {
274
+ readonly row: TableRow<unknown>;
275
+ readonly column: TableColumn<unknown>;
276
+ readonly value: unknown;
277
+ readonly display: string;
278
+ readonly editable: boolean;
279
+ }
280
+ /**
281
+ * The grid body: a row of cells per row on the page. The `cell` slot draws the content of every
282
+ * cell that is not being edited; the `rowHeader` slot adds a leading cell to each row.
283
+ */
284
+ declare const DataGridBody: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
285
+ as: {
286
+ readonly type: StringConstructor;
287
+ readonly default: string;
288
+ };
289
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
290
+ [key: string]: any;
291
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
292
+ as: {
293
+ readonly type: StringConstructor;
294
+ readonly default: string;
295
+ };
296
+ }>> & Readonly<{}>, {
297
+ as: string;
298
+ }, SlotsType<{
299
+ default?: (props: {
300
+ rows: readonly TableRow<unknown>[];
301
+ }) => VNode[];
302
+ rowHeader?: (props: {
303
+ row: TableRow<unknown>;
304
+ index: number;
305
+ }) => VNode[];
306
+ cell?: (props: GridCellSlotProps) => VNodeChild;
307
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
308
+ /**
309
+ * A grid cell. A click selects it, Shift-click or dragging extends the range, and a double click
310
+ * edits it. The `editor` slot replaces the default text box.
311
+ */
312
+ declare const DataGridCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
313
+ row: {
314
+ readonly type: PropType<TableRow<unknown>>;
315
+ readonly required: true;
316
+ };
317
+ column: {
318
+ readonly type: PropType<AnyTableColumn>;
319
+ readonly required: true;
320
+ };
321
+ as: {
322
+ readonly type: StringConstructor;
323
+ readonly default: string;
324
+ };
325
+ /** The row's position on the page. Found by searching the rows when left out. */
326
+ rowIndex: {
327
+ type: PropType<number | undefined>;
328
+ default: undefined;
329
+ };
330
+ /** The column's position among the visible columns. Found by searching when left out. */
331
+ columnIndex: {
332
+ type: PropType<number | undefined>;
333
+ default: undefined;
334
+ };
335
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
336
+ [key: string]: any;
337
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
338
+ row: {
339
+ readonly type: PropType<TableRow<unknown>>;
340
+ readonly required: true;
341
+ };
342
+ column: {
343
+ readonly type: PropType<AnyTableColumn>;
344
+ readonly required: true;
345
+ };
346
+ as: {
347
+ readonly type: StringConstructor;
348
+ readonly default: string;
349
+ };
350
+ /** The row's position on the page. Found by searching the rows when left out. */
351
+ rowIndex: {
352
+ type: PropType<number | undefined>;
353
+ default: undefined;
354
+ };
355
+ /** The column's position among the visible columns. Found by searching when left out. */
356
+ columnIndex: {
357
+ type: PropType<number | undefined>;
358
+ default: undefined;
359
+ };
360
+ }>> & Readonly<{}>, {
361
+ as: string;
362
+ rowIndex: number | undefined;
363
+ columnIndex: number | undefined;
364
+ }, SlotsType<{
365
+ default?: (props: GridCellSlotProps) => VNodeChild;
366
+ editor?: (props: {
367
+ draft: string;
368
+ update: (draft: string) => void;
369
+ commit: (then?: GridDirection) => unknown;
370
+ cancel: () => void;
371
+ }) => VNode[];
372
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
373
+ //#endregion
374
+ //#region src/table.d.ts
375
+ /**
376
+ * Provides a table to the components inside it and renders the table element. Without a default
377
+ * slot it renders a complete header and body.
378
+ */
379
+ declare const DataTableRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
380
+ table: {
381
+ type: PropType<AnyDataTableBinding>;
382
+ required: true;
383
+ };
384
+ as: {
385
+ readonly type: StringConstructor;
386
+ readonly default: string;
387
+ };
388
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
389
+ [key: string]: any;
390
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
391
+ table: {
392
+ type: PropType<AnyDataTableBinding>;
393
+ required: true;
394
+ };
395
+ as: {
396
+ readonly type: StringConstructor;
397
+ readonly default: string;
398
+ };
399
+ }>> & Readonly<{}>, {
400
+ as: string;
401
+ }, SlotsType<{
402
+ default?: (props: {
403
+ table: DataTableBinding<unknown>;
404
+ }) => VNode[];
405
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
406
+ declare const DataTableCaption: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
407
+ as: {
408
+ readonly type: StringConstructor;
409
+ readonly default: string;
410
+ };
411
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
412
+ [key: string]: any;
413
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
414
+ as: {
415
+ readonly type: StringConstructor;
416
+ readonly default: string;
417
+ };
418
+ }>> & Readonly<{}>, {
419
+ as: string;
420
+ }, SlotsType<{
421
+ default?: () => VNode[];
422
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
423
+ /** The header section. Without a slot it renders one header cell per visible column. */
424
+ declare const DataTableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
425
+ as: {
426
+ readonly type: StringConstructor;
427
+ readonly default: string;
428
+ };
429
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
430
+ [key: string]: any;
431
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
432
+ as: {
433
+ readonly type: StringConstructor;
434
+ readonly default: string;
435
+ };
436
+ }>> & Readonly<{}>, {
437
+ as: string;
438
+ }, SlotsType<{
439
+ default?: (props: {
440
+ columns: readonly TableColumn<unknown>[];
441
+ }) => VNode[];
442
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
443
+ declare const DataTableHeaderRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
444
+ as: {
445
+ readonly type: StringConstructor;
446
+ readonly default: string;
447
+ };
448
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
449
+ [key: string]: any;
450
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
451
+ as: {
452
+ readonly type: StringConstructor;
453
+ readonly default: string;
454
+ };
455
+ }>> & Readonly<{}>, {
456
+ as: string;
457
+ }, SlotsType<{
458
+ default?: () => VNode[];
459
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
460
+ /**
461
+ * A column header with `aria-sort`. Without a slot it shows the header text inside a sort button
462
+ * for sortable columns.
463
+ */
464
+ declare const DataTableHeaderCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
465
+ column: {
466
+ readonly type: PropType<AnyTableColumn>;
467
+ readonly required: true;
468
+ };
469
+ as: {
470
+ readonly type: StringConstructor;
471
+ readonly default: string;
472
+ };
473
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
474
+ [key: string]: any;
475
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
476
+ column: {
477
+ readonly type: PropType<AnyTableColumn>;
478
+ readonly required: true;
479
+ };
480
+ as: {
481
+ readonly type: StringConstructor;
482
+ readonly default: string;
483
+ };
484
+ }>> & Readonly<{}>, {
485
+ as: string;
486
+ }, SlotsType<{
487
+ default?: (props: {
488
+ column: TableColumn<unknown>;
489
+ sort: SortInfo | undefined;
490
+ toggleSort: (multi?: boolean) => void;
491
+ }) => VNode[];
492
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
493
+ declare function columnStyle(column: TableColumn<unknown>): Record<string, string> | undefined;
494
+ /**
495
+ * Toggles a column's sort. Shift-click adds the column to the existing sort instead of replacing
496
+ * it. The slot receives the current sort so it can draw an indicator.
497
+ */
498
+ declare const DataTableSortButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
499
+ column: {
500
+ readonly type: PropType<AnyTableColumn>;
501
+ readonly required: true;
502
+ };
503
+ as: {
504
+ readonly type: StringConstructor;
505
+ readonly default: string;
506
+ };
507
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
508
+ [key: string]: any;
509
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
510
+ column: {
511
+ readonly type: PropType<AnyTableColumn>;
512
+ readonly required: true;
513
+ };
514
+ as: {
515
+ readonly type: StringConstructor;
516
+ readonly default: string;
517
+ };
518
+ }>> & Readonly<{}>, {
519
+ as: string;
520
+ }, SlotsType<{
521
+ default?: (props: {
522
+ sort: SortInfo | undefined;
523
+ }) => VNode[];
524
+ indicator?: (props: {
525
+ sort: SortInfo | undefined;
526
+ }) => VNode[];
527
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
528
+ /**
529
+ * The body section. Without a slot it renders a row per row on the page, and the `empty` slot in
530
+ * a full-width row when there are none.
531
+ */
532
+ declare const DataTableBody: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
533
+ as: {
534
+ readonly type: StringConstructor;
535
+ readonly default: string;
536
+ };
537
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
538
+ [key: string]: any;
539
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
540
+ as: {
541
+ readonly type: StringConstructor;
542
+ readonly default: string;
543
+ };
544
+ }>> & Readonly<{}>, {
545
+ as: string;
546
+ }, SlotsType<{
547
+ default?: (props: {
548
+ rows: readonly TableRow<unknown>[];
549
+ }) => VNode[];
550
+ empty?: () => VNode[];
551
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
552
+ /** A body row; `aria-selected` and `data-selected` follow the selection. */
553
+ declare const DataTableRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
554
+ row: {
555
+ readonly type: PropType<TableRow<unknown>>;
556
+ readonly required: true;
557
+ };
558
+ as: {
559
+ readonly type: StringConstructor;
560
+ readonly default: string;
561
+ };
562
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
563
+ [key: string]: any;
564
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
565
+ row: {
566
+ readonly type: PropType<TableRow<unknown>>;
567
+ readonly required: true;
568
+ };
569
+ as: {
570
+ readonly type: StringConstructor;
571
+ readonly default: string;
572
+ };
573
+ }>> & Readonly<{}>, {
574
+ as: string;
575
+ }, SlotsType<{
576
+ default?: (props: {
577
+ row: TableRow<unknown>;
578
+ selected: boolean;
579
+ columns: readonly TableColumn<unknown>[];
580
+ }) => VNode[];
581
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
582
+ /** A body cell. The slot receives the raw value and the formatted text. */
583
+ declare const DataTableCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
584
+ row: {
585
+ readonly type: PropType<TableRow<unknown>>;
586
+ readonly required: true;
587
+ };
588
+ column: {
589
+ readonly type: PropType<AnyTableColumn>;
590
+ readonly required: true;
591
+ };
592
+ as: {
593
+ readonly type: StringConstructor;
594
+ readonly default: string;
595
+ };
596
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
597
+ [key: string]: any;
598
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
599
+ row: {
600
+ readonly type: PropType<TableRow<unknown>>;
601
+ readonly required: true;
602
+ };
603
+ column: {
604
+ readonly type: PropType<AnyTableColumn>;
605
+ readonly required: true;
606
+ };
607
+ as: {
608
+ readonly type: StringConstructor;
609
+ readonly default: string;
610
+ };
611
+ }>> & Readonly<{}>, {
612
+ as: string;
613
+ }, SlotsType<{
614
+ default?: (props: {
615
+ row: TableRow<unknown>;
616
+ column: TableColumn<unknown>;
617
+ value: unknown;
618
+ display: string;
619
+ }) => VNode[];
620
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
621
+ /** Renders its slot only when no row passes the search and filters. */
622
+ declare const DataTableEmpty: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
623
+ as: {
624
+ readonly type: StringConstructor;
625
+ readonly default: string;
626
+ };
627
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
628
+ [key: string]: any;
629
+ }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
630
+ as: {
631
+ readonly type: StringConstructor;
632
+ readonly default: string;
633
+ };
634
+ }>> & Readonly<{}>, {
635
+ as: string;
636
+ }, SlotsType<{
637
+ default?: () => VNode[];
638
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
639
+ //#endregion
640
+ export { DataGridBody, DataGridCell, DataGridRoot, DataTableBody, DataTableCaption, DataTableCell, DataTableColumnVisibility, DataTableEmpty, DataTableHeader, DataTableHeaderCell, DataTableHeaderRow, DataTablePageSize, DataTablePagination, DataTableRoot, DataTableRow, DataTableSearch, DataTableSelectAll, DataTableSelectRow, DataTableSortButton, DataTableStatus, type GridCellSlotProps, cellId, columnStyle };
641
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":["_$__shared0.AnyTableColumn","_$__shared0.AnyTableColumn"],"sources":["../src/controls.ts","../src/shared.ts","../src/grid.ts","../src/table.ts"],"mappings":";;;;;;;;cA4Ba,kCAAkB,8BAAA;;;;;;;;;;;;;;;;;EAGjB,WAAC;IAAS,OAAO;IAAmB;QAAyB;kCAoBzE;;cAGW,kCAAkB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,WAAC;IAAS;IAAmB;QAAyB;kCAoBlE;;;;;cAMW,+BAAe,8BAAA;;;;;;;;;;IAKO,MAAA;;;;;;;;;;;;;;;IAAA,MAAA;;;;;;;qCAuBjC;;;;;cAMW,mCAAmB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;EAGlB,WAAC;IACT;IACA;IACA,gBAAgB;IAChB;IACA;IACA,WAAW;IACX;IACA;QACI;kCA2DR;;cAGW,iCAAiB,8BAAA;;IAGA,MAAA;;;;;;;;;;;IAAA,MAAA;;;;;;;;;;qCAuB5B;;cAGW,yCAAyB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;EAGxB,WAAC;IACT;MAAoB,QAAQ;MAAsB;;IAClD,SAAS,kBAAkB;QACvB;kCA8BR;;;;;cAMW,+BAAe,8BAAA;;;;;;;;;;;;;;;EAGd,WAAC;IACT;IACA;IACA;IACA;IACA;QACI;kCAyBR;;;;KC7RU,iBAAiB;;;iBCqCb,OAAO,gBAAgB,aAAa;;;;;;cASvC,4BAAY,8BAAA;;IASI,MAAA,SAAS;;;;;;;;IAET,MAAA;;;;;;;IAFA,MAAA,SAAS;;;;;;;;IAET,MAAA;;;;;;;EARf,WAAC;IACT,OAAO;IACP,MAAM;QACF;kCAwER;;UAGe;WACN,KAAK;WACL,QAAQ;WACR;WACA;WACA;;;;;;cAOE,4BAAY,8BAAA;;;;;;;;;;;;;;;EAGX,WAAC;IAAS,eAAe;QAA0B;EACjD,aAAC;IAAS,KAAK;IAAmB;QAAoB;EAC3D,QAAC,OAAO,sBAAsB;kCAkCvC;;;;;cAqDW,4BAAY,8BAAA;;;;;;;;;;;;;;;IAgBO,MAAA;;;;;IAEG,MAAA;;;;;;;;;;;;;;;;;;;;IAFH,MAAA;;;;;IAEG,MAAA;;;;;;;;EAfrB,WAAC,OAAO,sBAAsB;EAC/B,UAAC;IACR;IACA,SAAS;IACT,SAAS,OAAO;IAChB;QACI;kCAqFR;;;;;;;cCjUW,6BAAa,8BAAA;;IAMG,MAAA,SAAS;;;;;;;;;;;IAAT,MAAA,SAAS;;;;;;;;;;EAHxB,WAAC;IAAS,OAAO;QAAgC;kCAmB7D;cAEW,gCAAgB,8BAAA;;;;;;;;;;;;;;;EAEY,gBAAM;kCAK7C;;cAGW,+BAAe,8BAAA;;;;;;;;;;;;;;;EAGd,WAAC;IAAS,kBAAkB;QAA6B;kCAcrE;cAEW,kCAAkB,8BAAA;;;;;;;;;;;;;;;EAEU,gBAAM;kCAK7C;;;;;cAMW,mCAAmB,8BAAA;;4BAAnBC;;;;;;;;;;;;;;;;;;;;;EAGC,WAAC;IACT,QAAQ;IACR,MAAM;IACN,aAAa;QACT;kCAqCR;iBAEc,YAAY,QAAQ,uBAAuB;;;;;cAe9C,mCAAmB,8BAAA;;4BAAnBA;;;;;;;;;;;;;;;;;;;;;EAGC,WAAC;IAAS,MAAM;QAA2B;EACzC,aAAC;IAAS,MAAM;QAA2B;kCAqBzD;;;;;cAMW,6BAAa,8BAAA;;;;;;;;;;;;;;;EAGZ,WAAC;IAAS,eAAe;QAA0B;EACrD,cAAM;kCAkBhB;;cAGW,4BAAY,8BAAA;;;;;;;;;;;;;;;;;;;;;;;EAGX,WAAC;IACT,KAAK;IACL;IACA,kBAAkB;QACd;kCAsBR;;cAGW,6BAAa,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGZ,WAAC;IACT,KAAK;IACL,QAAQ;IACR;IACA;QACI;kCAeR;;cAGW,8BAAc,8BAAA;;;;;;;;;;;;;;;EAEc,gBAAM;kCAM7C"}