@vuetify/v0 1.0.0-alpha.3 → 1.0.0-alpha.5
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/README.md +5 -0
- package/dist/adapter-B6IrPwib.d.mts +98 -0
- package/dist/adapter-BEJXp-ie.d.mts +11 -0
- package/dist/adapter-BFSJsyv7.mjs +481 -0
- package/dist/{adapter-DlX3FA3A.d.mts → adapter-BO75n0Cn.d.mts} +10 -14
- package/dist/adapter-BSKx9WQ7.mjs +4 -0
- package/dist/adapter-Chznb9Ju.mjs +4 -0
- package/dist/{index-CT5SCLzW.d.mts → adapter-CspReV3g.d.mts} +6 -9
- package/dist/adapter-D8zizQVP.mjs +4 -0
- package/dist/adapter-DDJHLC8K.d.mts +17 -0
- package/dist/adapters-4t-NhR11.mjs +5 -0
- package/dist/adapters-BcoA0zCS.mjs +4 -0
- package/dist/adapters-BjaPK635.mjs +2 -0
- package/dist/adapters-D64TORDu.mjs +2 -0
- package/dist/adapters-DvG-9z9q.mjs +3 -0
- package/dist/browser/index.js +2074 -561
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +1 -1
- package/dist/{components-C4jI-78d.mjs → components-Dn4Kbi0i.mjs} +149 -101
- package/dist/composables/index.d.mts +20 -19
- package/dist/composables/index.mjs +31 -29
- package/dist/{consola-BdgyPEfx.d.mts → consola-CUNHyu8J.d.mts} +2 -2
- package/dist/{consola-Ceox8BWi.mjs → consola-DYvbPNbF.mjs} +3 -1
- package/dist/constants/index.d.mts +1 -1
- package/dist/constants/index.mjs +2 -2
- package/dist/{createDataTable-iODP6aKB.mjs → createDataTable-H-PuVigU.mjs} +216 -124
- package/dist/{createGroup-CGk6hY_Y.mjs → createGroup-aHt_kvtU.mjs} +3 -3
- package/dist/{createRegistry-BXzdXAjq.mjs → createRegistry-CWpvSbCe.mjs} +78 -41
- package/dist/{createSelection-B3HJEPNg.mjs → createSelection-MRyUZyW2.mjs} +3 -3
- package/dist/{createSingle-Dql8mRi-.mjs → createSingle-BSciC9EJ.mjs} +1 -1
- package/dist/{createTokens-DgFYsOrv.mjs → createTokens-CQ9C7GTV.mjs} +2 -2
- package/dist/data-table/adapters/client/index.d.mts +2 -2
- package/dist/data-table/adapters/client/index.mjs +2 -2
- package/dist/data-table/adapters/index.d.mts +5 -5
- package/dist/data-table/adapters/index.mjs +6 -6
- package/dist/data-table/adapters/server/index.d.mts +2 -2
- package/dist/data-table/adapters/server/index.mjs +2 -2
- package/dist/data-table/adapters/virtual/index.d.mts +2 -2
- package/dist/data-table/adapters/virtual/index.mjs +2 -2
- package/dist/data-table/index.d.mts +6 -6
- package/dist/data-table/index.mjs +6 -6
- package/dist/date/index.d.mts +3 -3
- package/dist/date/index.mjs +12 -5
- package/dist/features/adapters/flagsmith/index.d.mts +2 -2
- package/dist/features/adapters/flagsmith/index.mjs +2 -2
- package/dist/features/adapters/launchdarkly/index.d.mts +2 -2
- package/dist/features/adapters/launchdarkly/index.mjs +2 -2
- package/dist/features/adapters/posthog/index.d.mts +2 -2
- package/dist/features/adapters/posthog/index.mjs +2 -2
- package/dist/features/index.d.mts +3 -3
- package/dist/features/index.mjs +2 -1
- package/dist/{index-BzFHTW59.d.mts → flagsmith-Cd44vxff.d.mts} +4 -4
- package/dist/{flagsmith-Dbh1h8WF.mjs → flagsmith-Cu93hUIF.mjs} +6 -4
- package/dist/{globals-zEjWBKCr.mjs → globals-BRdxsC2M.mjs} +1 -1
- package/dist/{index-GOpjKzaJ.d.mts → index-BLaKZq0Y.d.mts} +25 -2
- package/dist/{index-BJGcVy7e.d.mts → index-BmEu85PI.d.mts} +126 -65
- package/dist/{index-DE3bWw11.d.mts → index-C0ewabdY.d.mts} +93 -215
- package/dist/index-C6NnIuDv.d.mts +4 -0
- package/dist/{index-DNDuacmH.d.mts → index-CJdG9yY1.d.mts} +116 -106
- package/dist/index-C_t6t0Z-.d.mts +170 -0
- package/dist/{index-B76iGRE3.d.mts → index-CyUCELZC.d.mts} +1149 -61
- package/dist/index.d.mts +24 -23
- package/dist/index.mjs +35 -33
- package/dist/json/attributes.json +1 -1
- package/dist/json/web-types.json +2 -2
- package/dist/{launchdarkly-BKtW-idu.mjs → launchdarkly-CLGtJCsI.mjs} +6 -4
- package/dist/launchdarkly-De701hkf.d.mts +13 -0
- package/dist/locale/adapters/index.d.mts +3 -3
- package/dist/locale/adapters/index.mjs +4 -3
- package/dist/locale/adapters/v0/index.d.mts +2 -2
- package/dist/locale/adapters/v0/index.mjs +2 -2
- package/dist/locale/adapters/vue-i18n/index.d.mts +3 -3
- package/dist/locale/adapters/vue-i18n/index.mjs +4 -2
- package/dist/locale/index.d.mts +4 -4
- package/dist/locale/index.mjs +4 -3
- package/dist/logger/adapters/consola/index.d.mts +1 -1
- package/dist/logger/adapters/consola/index.mjs +1 -1
- package/dist/logger/adapters/index.d.mts +5 -5
- package/dist/logger/adapters/index.mjs +6 -5
- package/dist/logger/adapters/pino/index.d.mts +1 -1
- package/dist/logger/adapters/pino/index.mjs +1 -1
- package/dist/logger/adapters/v0/index.d.mts +2 -2
- package/dist/logger/adapters/v0/index.mjs +2 -2
- package/dist/logger/index.d.mts +6 -6
- package/dist/logger/index.mjs +6 -5
- package/dist/{memory-oYBvtkgx.mjs → memory-BMpJcQjQ.mjs} +13 -3
- package/dist/{memory-CeSQE-QV.d.mts → memory-D-JbdKXg.d.mts} +9 -9
- package/dist/notifications/index.d.mts +30 -4
- package/dist/notifications/index.mjs +187 -126
- package/dist/palettes/ant/index.d.mts +1 -1
- package/dist/palettes/index.d.mts +3 -3
- package/dist/palettes/leonardo/generate/index.mjs +3 -0
- package/dist/palettes/material/index.d.mts +1 -1
- package/dist/palettes/md1/index.d.mts +1 -1
- package/dist/palettes/md2/index.d.mts +1 -1
- package/dist/palettes/radix/index.d.mts +1 -1
- package/dist/palettes/tailwind/index.d.mts +1 -1
- package/dist/permissions/adapters/index.d.mts +2 -2
- package/dist/permissions/adapters/index.mjs +3 -3
- package/dist/permissions/adapters/v0/index.d.mts +2 -2
- package/dist/permissions/adapters/v0/index.mjs +2 -2
- package/dist/permissions/index.d.mts +2 -2
- package/dist/permissions/index.mjs +3 -3
- package/dist/{pino-DNfCEb0p.d.mts → pino-BaYY_KIN.d.mts} +2 -2
- package/dist/{pino-9L79n6y6.mjs → pino-CIcYlW3u.mjs} +3 -1
- package/dist/{posthog-DmuyycaR.mjs → posthog-0umvvA48.mjs} +7 -5
- package/dist/posthog-CIrmvke4.d.mts +13 -0
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/{server-3ilWFwqe.d.mts → server-7vjHxjNc.d.mts} +5 -5
- package/dist/{server-y7zLSCSx.mjs → server-BNSiVoMe.mjs} +4 -3
- package/dist/storage/adapters/index.d.mts +3 -3
- package/dist/storage/adapters/index.mjs +2 -2
- package/dist/storage/adapters/memory/index.d.mts +2 -2
- package/dist/storage/adapters/memory/index.mjs +2 -2
- package/dist/storage/index.d.mts +4 -4
- package/dist/storage/index.mjs +3 -3
- package/dist/theme/adapters/index.d.mts +2 -2
- package/dist/theme/adapters/index.mjs +4 -4
- package/dist/theme/adapters/unhead/index.d.mts +1 -1
- package/dist/theme/adapters/unhead/index.mjs +1 -1
- package/dist/theme/adapters/v0/index.d.mts +1 -1
- package/dist/theme/adapters/v0/index.mjs +1 -1
- package/dist/theme/index.d.mts +1 -1
- package/dist/theme/index.mjs +3 -3
- package/dist/types/index.d.mts +1 -1
- package/dist/{unhead-B-I2OS6i.mjs → unhead-_cXZcx0j.mjs} +2 -2
- package/dist/{useClickOutside-CY4U2J9W.mjs → useClickOutside-DbOLg1uw.mjs} +1483 -182
- package/dist/{useFeatures-BPOke6iP.mjs → useFeatures-Dhnr-Lg2.mjs} +7 -10
- package/dist/{useLocale-BV8e3imF.mjs → useLocale-Sh-2sNiG.mjs} +6 -6
- package/dist/{useLogger-DvdRTrqC.mjs → useLogger-1_ZeBY12.mjs} +5 -5
- package/dist/{useNotifications-vSJE6z6t.mjs → useNotifications-CAVQ7hK6.mjs} +6 -6
- package/dist/{usePermissions-D3zPwKQc.mjs → usePermissions-D9Oituwy.mjs} +6 -6
- package/dist/{useRules-BT6cgoTj.mjs → useRules-DK4AeNeC.mjs} +4 -3
- package/dist/{useTheme-cUZb2A9O.mjs → useTheme-FMDQC81h.mjs} +5 -5
- package/dist/utilities/index.d.mts +2 -2
- package/dist/utilities/index.mjs +26 -2
- package/dist/{v0-CHZpnMeP.mjs → v0-C42ssNIy.mjs} +6 -4
- package/dist/{v0-Dq3zhexO.mjs → v0-CEfbyyp2.mjs} +3 -4
- package/dist/{v0-C49OI_wc.mjs → v0-Ch-O6YVd.mjs} +5 -3
- package/dist/{v0-gpExNexS.mjs → v0-D0imQlSD.mjs} +2 -2
- package/dist/{v0-DrOub-e1.d.mts → v0-DWZ_N2GG.d.mts} +4 -4
- package/dist/{v0-Bmow1q_x.mjs → v0-Dvu8fMl3.mjs} +3 -3
- package/dist/v0-QIjffi4E.d.mts +8 -0
- package/dist/{v0-D7Fm2C3Y.d.mts → v0-aYLq6qmT.d.mts} +3 -3
- package/dist/{virtual-C0yHf1DC.mjs → virtual-Cq5aRp7m.mjs} +3 -4
- package/dist/virtual-CrgGA-o6.d.mts +8 -0
- package/package.json +1 -1
- package/dist/adapter-58IvIfAZ.d.mts +0 -96
- package/dist/adapter-BvWEd9w-.d.mts +0 -17
- package/dist/adapter-Dhq68tz0.d.mts +0 -11
- package/dist/adapter-gQ2SNKZq.mjs +0 -238
- package/dist/adapters-BSiqsTZN.mjs +0 -3
- package/dist/adapters-C3QXhf4I.mjs +0 -2
- package/dist/adapters-CMJGA1k7.mjs +0 -2
- package/dist/adapters-Dse4bPxk.mjs +0 -5
- package/dist/adapters-_ZqxCD8f.mjs +0 -4
- package/dist/createPagination-CHF7SmmK.mjs +0 -247
- package/dist/index-1XdASTjp.d.mts +0 -13
- package/dist/index-C6rdXZ7j.d.mts +0 -11
- package/dist/index-Dp1HjBxJ.d.mts +0 -13
- package/dist/v0-CdusXjY_.d.mts +0 -8
- package/dist/virtual-D4fckewC.d.mts +0 -8
- /package/dist/{adapter-Be9zUc-n.mjs → adapter-oM18AdUc.mjs} +0 -0
- /package/dist/{htmlElements-D4oMQZPJ.mjs → htmlElements-CHXZfsZu.mjs} +0 -0
- /package/dist/{index-CFhUdAHM.d.mts → index-BOn0AAue.d.mts} +0 -0
- /package/dist/{index-CROz1VSV.d.mts → index-CKKoxA9V.d.mts} +0 -0
- /package/dist/{index-DuddF-NR.d.mts → index-CLR1QMM3.d.mts} +0 -0
- /package/dist/{index-DTvqw22G.d.mts → index-H_hl6-4b.d.mts} +0 -0
- /package/dist/{index-BgCkepP_.d.mts → index-PvkxPev3.d.mts} +0 -0
- /package/dist/{toArray-as9BWxBK.mjs → toArray-CD2-OxAz.mjs} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { a as ID } from "./index-
|
|
2
|
-
import { t as ContextTrinity } from "./index-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { a as ID, i as Extensible } from "./index-CLR1QMM3.mjs";
|
|
2
|
+
import { t as ContextTrinity } from "./index-H_hl6-4b.mjs";
|
|
3
|
+
import { c as RegistryTicketInput, s as RegistryTicket, t as RegistryContext } from "./index-C0ewabdY.mjs";
|
|
4
|
+
import { a as SortEntry, c as PaginationOptions, i as SortDirection, o as PaginationContext, t as DataTableAdapter, v as FilterOptions } from "./adapter-BO75n0Cn.mjs";
|
|
5
|
+
import { Ref, ShallowRef } from "vue";
|
|
5
6
|
|
|
6
7
|
//#region src/composables/createDataTable/columns.d.ts
|
|
7
8
|
/**
|
|
@@ -10,15 +11,15 @@ import { MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
|
10
11
|
* @remarks
|
|
11
12
|
* Utilities for resolving recursive column definitions into flat leaf
|
|
12
13
|
* columns and 2D header grids. Used by createDataTable for header
|
|
13
|
-
* rendering
|
|
14
|
+
* rendering.
|
|
14
15
|
*/
|
|
15
16
|
interface ColumnNode {
|
|
16
|
-
readonly
|
|
17
|
+
readonly id: string;
|
|
17
18
|
readonly title?: string;
|
|
18
19
|
readonly children?: readonly ColumnNode[];
|
|
19
20
|
}
|
|
20
21
|
interface InternalHeader {
|
|
21
|
-
|
|
22
|
+
id: string;
|
|
22
23
|
title: string;
|
|
23
24
|
colspan: number;
|
|
24
25
|
rowspan: number;
|
|
@@ -50,31 +51,86 @@ declare function computeDepth(columns: readonly ColumnNode[]): number;
|
|
|
50
51
|
declare function resolveHeaders(columns: readonly ColumnNode[]): InternalHeader[][];
|
|
51
52
|
//#endregion
|
|
52
53
|
//#region src/composables/createDataTable/index.d.ts
|
|
53
|
-
/** Extract keys of T whose value type extends V */
|
|
54
|
-
type KeysOfType<T, V> = { [K in keyof T]: T[K] extends V ? K : never }[keyof T] & string;
|
|
55
54
|
type SelectStrategy = 'single' | 'page' | 'all';
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Input shape passed to `register` / `onboard` on a data table's row registry.
|
|
57
|
+
*
|
|
58
|
+
* @template T Row value type.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const table = createDataTable<User>()
|
|
63
|
+
* table.register({ id: user.id, value: user })
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
type DataTableTicketInput<T extends Record<string, unknown>> = RegistryTicketInput<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Output ticket returned by row `register` / `onboard` / `get`.
|
|
69
|
+
*
|
|
70
|
+
* @template T Row value type.
|
|
71
|
+
*/
|
|
72
|
+
type DataTableTicket<T extends Record<string, unknown>> = RegistryTicket<T> & DataTableTicketInput<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Input shape passed to `table.columns.register` / `table.columns.onboard`.
|
|
75
|
+
*
|
|
76
|
+
* `id` is required and acts as the column identifier — selection, sort, and
|
|
77
|
+
* filter all key off it. The `Extensible<keyof T & string>` shape preserves
|
|
78
|
+
* autocomplete for the row's own keys while still accepting arbitrary strings
|
|
79
|
+
* for derived columns (computed totals, action columns, etc.).
|
|
80
|
+
*
|
|
81
|
+
* @template T Row value type.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* import { createDataTable } from '@vuetify/v0'
|
|
86
|
+
*
|
|
87
|
+
* interface User { id: number, name: string, email: string }
|
|
88
|
+
*
|
|
89
|
+
* const table = createDataTable<User>()
|
|
90
|
+
* table.columns.register({ id: 'name', title: 'Name', sortable: true })
|
|
91
|
+
* table.columns.register({
|
|
92
|
+
* id: 'actions',
|
|
93
|
+
* title: '',
|
|
94
|
+
* sortable: false,
|
|
95
|
+
* })
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
interface DataTableColumnTicketInput<T extends Record<string, unknown> = Record<string, unknown>> extends RegistryTicketInput {
|
|
99
|
+
/** Column identifier. Required — selection / sort / filter all key off it. */
|
|
100
|
+
id: Extensible<keyof T & string>;
|
|
101
|
+
/** Display title rendered in the header cell. */
|
|
102
|
+
title?: string;
|
|
103
|
+
/** Allow this column to participate in the sort pipeline. */
|
|
104
|
+
sortable?: boolean;
|
|
105
|
+
/** Allow this column to participate in the filter pipeline. */
|
|
106
|
+
filterable?: boolean;
|
|
107
|
+
/** Custom per-column sort comparator. */
|
|
108
|
+
sort?: (a: unknown, b: unknown) => number;
|
|
109
|
+
/** Custom per-column filter predicate. */
|
|
110
|
+
filter?: (value: unknown, query: string) => boolean;
|
|
111
|
+
/** Header-group children (recursive). Children are NOT separately registered. */
|
|
112
|
+
children?: readonly DataTableColumnTicketInput<T>[];
|
|
66
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Output ticket returned by `table.columns.register` / `table.columns.onboard`.
|
|
116
|
+
*
|
|
117
|
+
* Combines the standard registry ticket fields (`index`, `valueIsIndex`,
|
|
118
|
+
* `unregister`) with the column-shape fields from {@link DataTableColumnTicketInput}.
|
|
119
|
+
*
|
|
120
|
+
* @template T Row value type.
|
|
121
|
+
*/
|
|
122
|
+
type DataTableColumnTicket<T extends Record<string, unknown> = Record<string, unknown>> = RegistryTicket<DataTableColumnTicketInput<T>['value']> & DataTableColumnTicketInput<T>;
|
|
67
123
|
interface DataTableSort {
|
|
68
124
|
/** Toggle sort for a column: none → asc → desc → none */
|
|
69
|
-
toggle: (
|
|
125
|
+
toggle: (id: string) => void;
|
|
70
126
|
/** Current sort columns derived from group state */
|
|
71
127
|
columns: Readonly<Ref<SortEntry[]>>;
|
|
72
128
|
/** Order of sort columns (for multi-sort priority) */
|
|
73
129
|
order: readonly string[];
|
|
74
|
-
/** Get sort direction for a specific column
|
|
75
|
-
direction: (
|
|
130
|
+
/** Get sort direction for a specific column id */
|
|
131
|
+
direction: (id: string) => SortDirection;
|
|
76
132
|
/** Get sort priority index (0-based), or -1 if not sorted */
|
|
77
|
-
priority: (
|
|
133
|
+
priority: (id: string) => number;
|
|
78
134
|
/** Reset all sort state */
|
|
79
135
|
reset: () => void;
|
|
80
136
|
}
|
|
@@ -143,12 +199,6 @@ interface DataTableExpansion {
|
|
|
143
199
|
collapseAll: () => void;
|
|
144
200
|
}
|
|
145
201
|
interface DataTableOptions<T extends Record<string, unknown>> {
|
|
146
|
-
/** Source items */
|
|
147
|
-
items: MaybeRefOrGetter<T[]>;
|
|
148
|
-
/** Column definitions */
|
|
149
|
-
columns: readonly DataTableColumn<T>[];
|
|
150
|
-
/** Property used as row identifier. Must resolve to a string or number value. @default 'id' */
|
|
151
|
-
itemValue?: KeysOfType<T, ID>;
|
|
152
202
|
/** Filter options (keys derived from columns) */
|
|
153
203
|
filter?: Omit<FilterOptions, 'keys'>;
|
|
154
204
|
/** Pagination options (size derived from pipeline) */
|
|
@@ -163,7 +213,7 @@ interface DataTableOptions<T extends Record<string, unknown>> {
|
|
|
163
213
|
selectStrategy?: SelectStrategy;
|
|
164
214
|
/** Property that controls per-row selectability */
|
|
165
215
|
itemSelectable?: keyof T & string;
|
|
166
|
-
/** Column
|
|
216
|
+
/** Column id to group rows by */
|
|
167
217
|
groupBy?: keyof T & string;
|
|
168
218
|
/** Auto-open all groups on creation. @default false */
|
|
169
219
|
openAll?: boolean;
|
|
@@ -171,10 +221,10 @@ interface DataTableOptions<T extends Record<string, unknown>> {
|
|
|
171
221
|
expandMultiple?: boolean;
|
|
172
222
|
/** Locale for sorting (defaults to useLocale's selected locale or browser default) */
|
|
173
223
|
locale?: string;
|
|
174
|
-
/** Pipeline adapter. @default
|
|
175
|
-
adapter?:
|
|
224
|
+
/** Pipeline adapter. @default ClientDataTableAdapter */
|
|
225
|
+
adapter?: DataTableAdapter<T>;
|
|
176
226
|
}
|
|
177
|
-
interface DataTableContext<T extends Record<string, unknown>> {
|
|
227
|
+
interface DataTableContext<T extends Record<string, unknown>> extends RegistryContext<DataTableTicketInput<T>, DataTableTicket<T>> {
|
|
178
228
|
/** Final paginated items for rendering */
|
|
179
229
|
items: Readonly<Ref<readonly T[]>>;
|
|
180
230
|
/** Raw unprocessed items */
|
|
@@ -183,11 +233,15 @@ interface DataTableContext<T extends Record<string, unknown>> {
|
|
|
183
233
|
filteredItems: Readonly<Ref<readonly T[]>>;
|
|
184
234
|
/** Items after filtering and sorting */
|
|
185
235
|
sortedItems: Readonly<Ref<readonly T[]>>;
|
|
186
|
-
/**
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
236
|
+
/**
|
|
237
|
+
* Column registry. Use `columns.register({...})`, `columns.onboard([...])`,
|
|
238
|
+
* `columns.unregister(id)`, and `columns.clear()` to manage columns. The
|
|
239
|
+
* registry is reactive — `leaves` and `headers` recompute when it mutates.
|
|
240
|
+
*/
|
|
241
|
+
columns: RegistryContext<DataTableColumnTicketInput<T>, DataTableColumnTicket<T>>;
|
|
242
|
+
/** Leaf columns (no children) used by the data pipeline. Reactive. */
|
|
243
|
+
leaves: Readonly<Ref<readonly DataTableColumnTicket<T>[]>>;
|
|
244
|
+
/** 2D header grid with colspan/rowspan for rendering thead. Reactive. */
|
|
191
245
|
headers: Readonly<Ref<InternalHeader[][]>>;
|
|
192
246
|
/** Set the search query */
|
|
193
247
|
search: (value: string) => void;
|
|
@@ -217,45 +271,51 @@ interface DataTableContextOptions<T extends Record<string, unknown>> extends Dat
|
|
|
217
271
|
* Creates a data table instance with sort controls, selection, and an
|
|
218
272
|
* adapter-driven data pipeline.
|
|
219
273
|
*
|
|
274
|
+
* Rows and columns are both managed via internal registries. Use
|
|
275
|
+
* `table.columns.register({ id, ... })` / `table.columns.onboard([...])` to
|
|
276
|
+
* add columns and `table.register({ id, value })` / `table.onboard([...])`
|
|
277
|
+
* for rows. Removing entries from the column registry reactively updates
|
|
278
|
+
* `leaves`, `headers`, the sort group, and the filter pipeline.
|
|
279
|
+
*
|
|
220
280
|
* Must be called inside a component `setup()` or a Vue effect scope.
|
|
221
281
|
* Calling at module scope in SSR environments causes request state leakage.
|
|
222
282
|
*
|
|
223
|
-
* @param options Data table options
|
|
224
|
-
* @returns Data table context with pipeline stages and
|
|
283
|
+
* @param options Data table options (all optional)
|
|
284
|
+
* @returns Data table context with pipeline stages, controls, and registry surface
|
|
225
285
|
*
|
|
226
286
|
* @example
|
|
227
287
|
* ```ts
|
|
228
288
|
* import { createDataTable } from '@vuetify/v0'
|
|
229
289
|
*
|
|
230
|
-
* const table = createDataTable(
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
290
|
+
* const table = createDataTable<User>()
|
|
291
|
+
*
|
|
292
|
+
* table.columns.onboard([
|
|
293
|
+
* { id: 'name', title: 'Name', sortable: true, filterable: true },
|
|
294
|
+
* { id: 'email', title: 'Email', sortable: true, filterable: true },
|
|
295
|
+
* { id: 'age', title: 'Age', sortable: true },
|
|
296
|
+
* ])
|
|
297
|
+
*
|
|
298
|
+
* table.onboard(users.map(value => ({ id: value.id, value })))
|
|
238
299
|
*
|
|
239
|
-
* // Search
|
|
240
300
|
* table.search('john')
|
|
241
301
|
*
|
|
242
|
-
*
|
|
243
|
-
* table.sort.toggle('name')
|
|
244
|
-
* table.sort.toggle('name')
|
|
245
|
-
* table.sort.toggle('name') // none
|
|
246
|
-
* console.log(table.sort.columns.value) // [{ key: 'name', direction: 'asc' }]
|
|
302
|
+
* table.sort.toggle('name')
|
|
303
|
+
* table.sort.toggle('name')
|
|
304
|
+
* table.sort.toggle('name')
|
|
247
305
|
*
|
|
248
|
-
* // Paginate
|
|
249
306
|
* table.pagination.next()
|
|
250
307
|
*
|
|
251
|
-
*
|
|
252
|
-
* table.selection.toggle('user-1')
|
|
308
|
+
* table.selection.toggle(1)
|
|
253
309
|
* ```
|
|
254
310
|
*/
|
|
255
|
-
declare function createDataTable<T extends Record<string, unknown>>(options
|
|
311
|
+
declare function createDataTable<T extends Record<string, unknown>>(options?: DataTableOptions<T>): DataTableContext<T>;
|
|
256
312
|
/**
|
|
257
313
|
* Creates a data table context with dependency injection support.
|
|
258
314
|
*
|
|
315
|
+
* The returned context exposes both row and column registries. Columns must
|
|
316
|
+
* be onboarded after construction — pass them via `context.columns.onboard`,
|
|
317
|
+
* not in the factory options.
|
|
318
|
+
*
|
|
259
319
|
* @param options Data table context options including namespace
|
|
260
320
|
* @returns A trinity tuple: [useDataTable, provideDataTable, defaultContext]
|
|
261
321
|
*
|
|
@@ -263,22 +323,23 @@ declare function createDataTable<T extends Record<string, unknown>>(options: Dat
|
|
|
263
323
|
* ```ts
|
|
264
324
|
* import { createDataTableContext } from '@vuetify/v0'
|
|
265
325
|
*
|
|
266
|
-
* const [useDataTable, provideDataTable, context] = createDataTableContext({
|
|
326
|
+
* const [useDataTable, provideDataTable, context] = createDataTableContext<User>({
|
|
267
327
|
* namespace: 'app:users',
|
|
268
|
-
* items: users,
|
|
269
|
-
* columns: [
|
|
270
|
-
* { key: 'name', title: 'Name', sortable: true },
|
|
271
|
-
* ],
|
|
272
328
|
* })
|
|
273
329
|
*
|
|
330
|
+
* context.columns.onboard([
|
|
331
|
+
* { id: 'name', title: 'Name', sortable: true },
|
|
332
|
+
* ])
|
|
333
|
+
*
|
|
274
334
|
* // Parent component
|
|
275
335
|
* provideDataTable()
|
|
336
|
+
* context.onboard(users.map(value => ({ id: value.id, value })))
|
|
276
337
|
*
|
|
277
338
|
* // Child component
|
|
278
339
|
* const table = useDataTable()
|
|
279
340
|
* ```
|
|
280
341
|
*/
|
|
281
|
-
declare function createDataTableContext<T extends Record<string, unknown>>(_options
|
|
342
|
+
declare function createDataTableContext<T extends Record<string, unknown>>(_options?: DataTableContextOptions<T>): ContextTrinity<DataTableContext<T>>;
|
|
282
343
|
/**
|
|
283
344
|
* Returns the current data table context from dependency injection.
|
|
284
345
|
*
|
|
@@ -299,4 +360,4 @@ declare function createDataTableContext<T extends Record<string, unknown>>(_opti
|
|
|
299
360
|
*/
|
|
300
361
|
declare function useDataTable<T extends Record<string, unknown>>(namespace?: string): DataTableContext<T>;
|
|
301
362
|
//#endregion
|
|
302
|
-
export {
|
|
363
|
+
export { ColumnNode as _, DataTableExpansion as a, extractLeaves as b, DataTableOptions as c, DataTableTicket as d, DataTableTicketInput as f, useDataTable as g, createDataTableContext as h, DataTableContextOptions as i, DataTableSelection as l, createDataTable as m, DataTableColumnTicketInput as n, DataTableGroup as o, SelectStrategy as p, DataTableContext as r, DataTableGrouping as s, DataTableColumnTicket as t, DataTableSort as u, InternalHeader as v, resolveHeaders as x, computeDepth as y };
|