@vuetify/v0 0.1.3 → 0.1.4

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.
Files changed (127) hide show
  1. package/dist/adapter-BN-h5JbD.d.mts +344 -0
  2. package/dist/adapter-CJIj5ySf.d.mts +11 -0
  3. package/dist/adapter-D_0ptsPm.mjs +229 -0
  4. package/dist/adapters-BQ-Lr3PW.mjs +1 -0
  5. package/dist/adapters-DEXpW9If.mjs +1 -0
  6. package/dist/adapters-Q9WaOsJp.mjs +1 -0
  7. package/dist/adapters-SSDVth5e.mjs +1 -0
  8. package/dist/browser/index.js +359 -933
  9. package/dist/components/index.d.mts +19 -6
  10. package/dist/components/index.mjs +37 -5
  11. package/dist/{components-C0zEvP7w.mjs → components-CMuzTJdK.mjs} +11 -4
  12. package/dist/composables/index.d.mts +17 -4
  13. package/dist/composables/index.mjs +36 -4
  14. package/dist/consola-DiUk9j3y.d.mts +15 -0
  15. package/dist/consola-GBy8XRuL.mjs +31 -0
  16. package/dist/constants/index.d.mts +1 -1
  17. package/dist/constants/index.mjs +3 -3
  18. package/dist/constants-B8pMSkcW.mjs +1 -0
  19. package/dist/createDataTable-BJnmvxfb.mjs +387 -0
  20. package/dist/createGroup-CPhp6FUh.mjs +363 -0
  21. package/dist/createPagination-cyOWlpfH.mjs +234 -0
  22. package/dist/createSelection-uqEbFgha.mjs +261 -0
  23. package/dist/createSingle-B59ya3aa.mjs +179 -0
  24. package/dist/createTokens-BlhLdHXE.mjs +682 -0
  25. package/dist/createTrinity-EeHQSsb6.mjs +149 -0
  26. package/dist/data-table/adapters/client/index.d.mts +3 -0
  27. package/dist/data-table/adapters/client/index.mjs +9 -0
  28. package/dist/data-table/adapters/index.d.mts +5 -0
  29. package/dist/data-table/adapters/index.mjs +12 -0
  30. package/dist/data-table/adapters/server/index.d.mts +3 -0
  31. package/dist/data-table/adapters/server/index.mjs +7 -0
  32. package/dist/data-table/adapters/virtual/index.d.mts +3 -0
  33. package/dist/data-table/adapters/virtual/index.mjs +9 -0
  34. package/dist/data-table/index.d.mts +7 -0
  35. package/dist/data-table/index.mjs +25 -0
  36. package/dist/date/index.d.mts +1 -1
  37. package/dist/date/index.mjs +2 -2
  38. package/dist/features/adapters/flagsmith/index.d.mts +16 -0
  39. package/dist/features/adapters/flagsmith/index.mjs +3 -0
  40. package/dist/features/adapters/launchdarkly/index.d.mts +15 -0
  41. package/dist/features/adapters/launchdarkly/index.mjs +3 -0
  42. package/dist/features/adapters/posthog/index.d.mts +15 -0
  43. package/dist/features/adapters/posthog/index.mjs +4 -0
  44. package/dist/features/index.d.mts +17 -0
  45. package/dist/features/index.mjs +18 -0
  46. package/dist/flagsmith-CHmpPGR7.mjs +40 -0
  47. package/dist/{globals-BwYsH-rt.mjs → globals-B_GVfG06.mjs} +2 -2
  48. package/dist/index-7mWYFHA6.d.mts +251 -0
  49. package/dist/index-BDTbJClL.d.mts +11 -0
  50. package/dist/index-BuOz3Rgm.d.mts +32 -0
  51. package/dist/{index-Bmem4l8m.d.mts → index-Bv1VN_j5.d.mts} +1 -1
  52. package/dist/{index-DFM5iBqh.d.mts → index-CQrDeqsK.d.mts} +280 -279
  53. package/dist/{index-2wh69fk5.d.mts → index-Dd0m0LIJ.d.mts} +135 -1407
  54. package/dist/{index-DBZTizq2.d.mts → index-UNwEBkQT.d.mts} +16 -2
  55. package/dist/index.d.mts +20 -7
  56. package/dist/index.mjs +39 -7
  57. package/dist/json/web-types.json +1 -1
  58. package/dist/launchdarkly-W8t8ZANX.mjs +28 -0
  59. package/dist/locale/adapters/index.d.mts +3 -0
  60. package/dist/locale/adapters/index.mjs +6 -0
  61. package/dist/locale/adapters/v0/index.d.mts +3 -0
  62. package/dist/locale/adapters/v0/index.mjs +5 -0
  63. package/dist/locale/index.d.mts +17 -0
  64. package/dist/locale/index.mjs +17 -0
  65. package/dist/logger/adapters/consola/index.d.mts +3 -0
  66. package/dist/logger/adapters/consola/index.mjs +3 -0
  67. package/dist/logger/adapters/index.d.mts +5 -0
  68. package/dist/logger/adapters/index.mjs +8 -0
  69. package/dist/logger/adapters/pino/index.d.mts +3 -0
  70. package/dist/logger/adapters/pino/index.mjs +5 -0
  71. package/dist/logger/adapters/v0/index.d.mts +3 -0
  72. package/dist/logger/adapters/v0/index.mjs +5 -0
  73. package/dist/logger/index.d.mts +17 -0
  74. package/dist/logger/index.mjs +10 -0
  75. package/dist/memory-BsZGbGnG.mjs +27 -0
  76. package/dist/memory-DVjquu_v.d.mts +25 -0
  77. package/dist/permissions/adapters/index.d.mts +18 -0
  78. package/dist/permissions/adapters/index.mjs +6 -0
  79. package/dist/permissions/adapters/v0/index.d.mts +18 -0
  80. package/dist/permissions/adapters/v0/index.mjs +5 -0
  81. package/dist/permissions/index.d.mts +17 -0
  82. package/dist/permissions/index.mjs +15 -0
  83. package/dist/pino-01x_NmWp.mjs +49 -0
  84. package/dist/pino-p-jDkNQd.d.mts +24 -0
  85. package/dist/posthog-BrGBPPir.mjs +50 -0
  86. package/dist/server-6cs14bj1.d.mts +20 -0
  87. package/dist/server-ClCwiLMA.mjs +45 -0
  88. package/dist/storage/adapters/index.d.mts +3 -0
  89. package/dist/storage/adapters/index.mjs +3 -0
  90. package/dist/storage/adapters/memory/index.d.mts +2 -0
  91. package/dist/storage/adapters/memory/index.mjs +3 -0
  92. package/dist/storage/index.d.mts +17 -0
  93. package/dist/storage/index.mjs +37 -0
  94. package/dist/theme/adapters/index.d.mts +17 -0
  95. package/dist/theme/adapters/index.mjs +6 -0
  96. package/dist/theme/adapters/v0/index.d.mts +17 -0
  97. package/dist/theme/adapters/v0/index.mjs +5 -0
  98. package/dist/theme/index.d.mts +17 -0
  99. package/dist/theme/index.mjs +16 -0
  100. package/dist/toArray-DIeXVX1C.mjs +38 -0
  101. package/dist/types/index.d.mts +1 -1
  102. package/dist/useClickOutside-p8HP07At.mjs +4680 -0
  103. package/dist/useFeatures-C4JF3Hgr.mjs +122 -0
  104. package/dist/useLocale-DlbShzF-.mjs +85 -0
  105. package/dist/useLogger-CO9JwbSJ.mjs +283 -0
  106. package/dist/usePermissions-DQVT_4nD.mjs +128 -0
  107. package/dist/useTheme-Bcw1Ebyt.mjs +135 -0
  108. package/dist/utilities/index.d.mts +3 -3
  109. package/dist/utilities/index.mjs +3 -3
  110. package/dist/{utilities-BbKjbXTx.mjs → utilities-BqS1sC1W.mjs} +20 -3
  111. package/dist/v0-B40YkIQ-.mjs +21 -0
  112. package/dist/v0-BOxb3nD1.d.mts +33 -0
  113. package/dist/v0-BogbIzpM.mjs +41 -0
  114. package/dist/v0-BtQCSBOG.mjs +37 -0
  115. package/dist/v0-C-9dv_1S.d.mts +10 -0
  116. package/dist/v0-CtjuUUPl.mjs +73 -0
  117. package/dist/v0-DHMoZ7dS.d.mts +22 -0
  118. package/dist/v0-ONBWyQYQ.mjs +83 -0
  119. package/dist/v0-RepwEY1F.d.mts +9 -0
  120. package/dist/virtual-B3IPkHC0.d.mts +9 -0
  121. package/dist/virtual-BP9WXRzN.mjs +44 -0
  122. package/package.json +34 -2
  123. package/dist/useClickOutside-DrkNYxDe.mjs +0 -8871
  124. /package/dist/{adapter-D95FHAtt.d.mts → adapter-DcwxFryd.d.mts} +0 -0
  125. /package/dist/{constants-DHKqjdjH.mjs → adapters-BGJKsBrw.mjs} +0 -0
  126. /package/dist/{htmlElements-DO9n35bD.mjs → htmlElements-d8iBCGpO.mjs} +0 -0
  127. /package/dist/{index-BLK67J_-.d.mts → index-BFBN5Zl3.d.mts} +0 -0
@@ -0,0 +1,251 @@
1
+ import { o as ID } from "./index-BFBN5Zl3.mjs";
2
+ import { E as ContextTrinity, a as SortDirection, l as PaginationOptions, o as SortEntry, r as DataTableAdapterInterface, s as PaginationContext, y as FilterOptions } from "./adapter-BN-h5JbD.mjs";
3
+ import { MaybeRefOrGetter, Ref, ShallowRef } from "vue";
4
+
5
+ //#region src/composables/createDataTable/index.d.ts
6
+
7
+ /** Extract keys of T whose value type extends V */
8
+ type KeysOfType<T, V> = { [K in keyof T]: T[K] extends V ? K : never }[keyof T] & string;
9
+ type SelectStrategy = 'single' | 'page' | 'all';
10
+ interface DataTableColumn<T extends Record<string, unknown> = Record<string, unknown>> {
11
+ readonly key: keyof T & string;
12
+ readonly title?: string;
13
+ readonly sortable?: boolean;
14
+ readonly filterable?: boolean;
15
+ /** Custom sort comparator for this column */
16
+ readonly sort?: (a: unknown, b: unknown) => number;
17
+ /** Custom filter function for this column */
18
+ readonly filter?: (value: unknown, query: string) => boolean;
19
+ }
20
+ interface DataTableSort {
21
+ /** Toggle sort for a column: none → asc → desc → none */
22
+ toggle: (key: string) => void;
23
+ /** Current sort columns derived from group state */
24
+ columns: Readonly<Ref<SortEntry[]>>;
25
+ /** Order of sort columns (for multi-sort priority) */
26
+ order: readonly string[];
27
+ /** Get sort direction for a specific column key */
28
+ direction: (key: string) => SortDirection;
29
+ /** Get sort priority index (0-based), or -1 if not sorted */
30
+ priority: (key: string) => number;
31
+ /** Reset all sort state */
32
+ reset: () => void;
33
+ }
34
+ interface DataTableSelection {
35
+ /** Currently selected row IDs */
36
+ selectedIds: ReadonlySet<ID>;
37
+ /** Select a row by ID */
38
+ select: (id: ID) => void;
39
+ /** Unselect a row by ID */
40
+ unselect: (id: ID) => void;
41
+ /** Toggle a row's selection */
42
+ toggle: (id: ID) => void;
43
+ /** Whether a row is selected */
44
+ isSelected: (id: ID) => boolean;
45
+ /** Whether a row can be selected (based on itemSelectable) */
46
+ isSelectable: (id: ID) => boolean;
47
+ /** Select all items within strategy scope */
48
+ selectAll: () => void;
49
+ /** Unselect all items across all pages */
50
+ unselectAll: () => void;
51
+ /** Toggle all items within strategy scope */
52
+ toggleAll: () => void;
53
+ /** Whether all items within strategy scope are selected */
54
+ isAllSelected: Readonly<Ref<boolean>>;
55
+ /** Whether some but not all items within strategy scope are selected */
56
+ isMixed: Readonly<Ref<boolean>>;
57
+ }
58
+ interface DataTableGroup<T extends Record<string, unknown>> {
59
+ /** Stringified group identifier */
60
+ key: string;
61
+ /** Raw value of the groupBy column for this group */
62
+ value: T[keyof T & string];
63
+ /** Items belonging to this group */
64
+ items: readonly T[];
65
+ }
66
+ interface DataTableGrouping<T extends Record<string, unknown>> {
67
+ /** Grouped items derived from sortedItems */
68
+ groups: Readonly<Ref<DataTableGroup<T>[]>>;
69
+ /** Toggle a group's open/closed state */
70
+ toggle: (groupKey: string) => void;
71
+ /** Whether a group is open */
72
+ isOpen: (groupKey: string) => boolean;
73
+ /** Open a group */
74
+ open: (groupKey: string) => void;
75
+ /** Close a group */
76
+ close: (groupKey: string) => void;
77
+ /** Open all groups */
78
+ openAll: () => void;
79
+ /** Close all groups */
80
+ closeAll: () => void;
81
+ }
82
+ interface DataTableExpansion {
83
+ /** Currently expanded row IDs */
84
+ expandedIds: ReadonlySet<ID>;
85
+ /** Expand a row by ID */
86
+ expand: (id: ID) => void;
87
+ /** Collapse a row by ID */
88
+ collapse: (id: ID) => void;
89
+ /** Toggle a row's expanded state */
90
+ toggle: (id: ID) => void;
91
+ /** Whether a row is expanded */
92
+ isExpanded: (id: ID) => boolean;
93
+ /** Expand all visible (paginated) items. Requires expandMultiple=true. */
94
+ expandAll: () => void;
95
+ /** Collapse all expanded items across all pages (not page-scoped like expandAll) */
96
+ collapseAll: () => void;
97
+ }
98
+ interface DataTableOptions<T extends Record<string, unknown>> {
99
+ /** Source items */
100
+ items: MaybeRefOrGetter<T[]>;
101
+ /** Column definitions */
102
+ columns: readonly DataTableColumn<T>[];
103
+ /** Property used as row identifier. Must resolve to a string or number value. @default 'id' */
104
+ itemValue?: KeysOfType<T, ID>;
105
+ /** Filter options (keys derived from columns) */
106
+ filter?: Omit<FilterOptions, 'keys'>;
107
+ /** Pagination options (size derived from pipeline) */
108
+ pagination?: Omit<PaginationOptions, 'size'>;
109
+ /** Enable multi-column sort. @default false */
110
+ sortMultiple?: boolean;
111
+ /** Prevent clearing sort (asc → desc → asc cycle). @default false */
112
+ mandate?: boolean;
113
+ /** Direction for first sort click. @default 'asc' */
114
+ firstSortOrder?: 'asc' | 'desc';
115
+ /** Selection strategy: 'single' selects one row, 'page' operates on visible items, 'all' operates on all filtered items. @default 'page' */
116
+ selectStrategy?: SelectStrategy;
117
+ /** Property that controls per-row selectability */
118
+ itemSelectable?: keyof T & string;
119
+ /** Column key to group rows by */
120
+ groupBy?: keyof T & string;
121
+ /** Auto-open all groups on creation. @default false */
122
+ enroll?: boolean;
123
+ /** Allow multiple rows expanded simultaneously. @default true */
124
+ expandMultiple?: boolean;
125
+ /** Locale for sorting (defaults to useLocale's selected locale or browser default) */
126
+ locale?: string;
127
+ /** Pipeline adapter. @default ClientAdapter */
128
+ adapter?: DataTableAdapterInterface<T>;
129
+ }
130
+ interface DataTableContext<T extends Record<string, unknown>> {
131
+ /** Final paginated items for rendering */
132
+ items: Readonly<Ref<readonly T[]>>;
133
+ /** Raw unprocessed items */
134
+ allItems: Readonly<Ref<readonly T[]>>;
135
+ /** Items after filtering */
136
+ filteredItems: Readonly<Ref<readonly T[]>>;
137
+ /** Items after filtering and sorting */
138
+ sortedItems: Readonly<Ref<readonly T[]>>;
139
+ /** Column definitions */
140
+ columns: readonly DataTableColumn<T>[];
141
+ /** Set the search query */
142
+ search: (value: string) => void;
143
+ /** Current search query (readonly) */
144
+ query: Readonly<ShallowRef<string>>;
145
+ /** Sort controls */
146
+ sort: DataTableSort;
147
+ /** Pagination controls */
148
+ pagination: PaginationContext;
149
+ /** Row selection controls */
150
+ selection: DataTableSelection;
151
+ /** Row expansion controls */
152
+ expansion: DataTableExpansion;
153
+ /** Row grouping controls. When groupBy is not set, `groups` returns an empty array. */
154
+ grouping: DataTableGrouping<T>;
155
+ /** Total row count for aria-rowcount */
156
+ total: Readonly<Ref<number>>;
157
+ /** Loading state (managed by adapter) */
158
+ loading: Readonly<Ref<boolean>>;
159
+ /** Error state (managed by adapter) */
160
+ error: Readonly<Ref<Error | null>>;
161
+ }
162
+ interface DataTableContextOptions<T extends Record<string, unknown>> extends DataTableOptions<T> {
163
+ namespace?: string;
164
+ }
165
+ /**
166
+ * Creates a data table instance with sort controls, selection, and an
167
+ * adapter-driven data pipeline.
168
+ *
169
+ * Must be called inside a component `setup()` or a Vue effect scope.
170
+ * Calling at module scope in SSR environments causes request state leakage.
171
+ *
172
+ * @param options Data table options
173
+ * @returns Data table context with pipeline stages and controls
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * import { createDataTable } from '@vuetify/v0'
178
+ *
179
+ * const table = createDataTable({
180
+ * items: users,
181
+ * columns: [
182
+ * { key: 'name', title: 'Name', sortable: true, filterable: true },
183
+ * { key: 'email', title: 'Email', sortable: true, filterable: true },
184
+ * { key: 'age', title: 'Age', sortable: true },
185
+ * ],
186
+ * })
187
+ *
188
+ * // Search
189
+ * table.search('john')
190
+ *
191
+ * // Sort
192
+ * table.sort.toggle('name') // asc
193
+ * table.sort.toggle('name') // desc
194
+ * table.sort.toggle('name') // none
195
+ * console.log(table.sort.columns.value) // [{ key: 'name', direction: 'asc' }]
196
+ *
197
+ * // Paginate
198
+ * table.pagination.next()
199
+ *
200
+ * // Select rows
201
+ * table.selection.toggle('user-1')
202
+ * ```
203
+ */
204
+ declare function createDataTable<T extends Record<string, unknown>>(options: DataTableOptions<T>): DataTableContext<T>;
205
+ /**
206
+ * Creates a data table context with dependency injection support.
207
+ *
208
+ * @param options Data table context options including namespace
209
+ * @returns A trinity tuple: [useDataTable, provideDataTable, defaultContext]
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * import { createDataTableContext } from '@vuetify/v0'
214
+ *
215
+ * const [useDataTable, provideDataTable, context] = createDataTableContext({
216
+ * namespace: 'app:users',
217
+ * items: users,
218
+ * columns: [
219
+ * { key: 'name', title: 'Name', sortable: true },
220
+ * ],
221
+ * })
222
+ *
223
+ * // Parent component
224
+ * provideDataTable()
225
+ *
226
+ * // Child component
227
+ * const table = useDataTable()
228
+ * ```
229
+ */
230
+ declare function createDataTableContext<T extends Record<string, unknown>>(_options: DataTableContextOptions<T>): ContextTrinity<DataTableContext<T>>;
231
+ /**
232
+ * Returns the current data table context from dependency injection.
233
+ *
234
+ * @typeParam T - Must be provided explicitly; cannot be inferred from namespace.
235
+ * Prefer the `useX` function from {@link createDataTableContext} for type-safe injection.
236
+ *
237
+ * @param namespace The namespace for the data table context. @default 'v0:data-table'
238
+ * @returns The current data table context
239
+ *
240
+ * @example
241
+ * ```vue
242
+ * <script setup lang="ts">
243
+ * import { useDataTable } from '@vuetify/v0'
244
+ *
245
+ * const table = useDataTable<User>()
246
+ * </script>
247
+ * ```
248
+ */
249
+ declare function useDataTable<T extends Record<string, unknown>>(namespace?: string): DataTableContext<T>;
250
+ //#endregion
251
+ export { DataTableGroup as a, DataTableSelection as c, createDataTable as d, createDataTableContext as f, DataTableExpansion as i, DataTableSort as l, DataTableContext as n, DataTableGrouping as o, useDataTable as p, DataTableContextOptions as r, DataTableOptions as s, DataTableColumn as t, SelectStrategy as u };
@@ -0,0 +1,11 @@
1
+ //#region src/composables/useStorage/adapters/index.d.ts
2
+ type StorageType = 'localStorage' | 'sessionStorage' | 'memory';
3
+ interface StorageAdapter {
4
+ getItem: (key: string) => string | null;
5
+ setItem: (key: string, value: string) => void;
6
+ removeItem: (key: string) => void;
7
+ readonly length?: number;
8
+ key?: (index: number) => string | null;
9
+ }
10
+ //#endregion
11
+ export { StorageType as n, StorageAdapter as t };
@@ -0,0 +1,32 @@
1
+ import { o as ID } from "./index-BFBN5Zl3.mjs";
2
+
3
+ //#region src/composables/useFeatures/adapters/generic/index.d.ts
4
+
5
+ type FeaturesAdapterValue = boolean | {
6
+ $value?: boolean;
7
+ $variation?: unknown;
8
+ };
9
+ type FeaturesAdapterFlags = Record<ID, FeaturesAdapterValue>;
10
+ interface FeaturesAdapterInterface {
11
+ /**
12
+ * Initialize the adapter and return initial flags.
13
+ *
14
+ * @param onUpdate Callback invoked when flags change.
15
+ * @returns Initial feature flags.
16
+ *
17
+ * @remarks Called during plugin setup. Sets up change listeners
18
+ * and returns the initial flag values.
19
+ */
20
+ setup: (onUpdate: (flags: FeaturesAdapterFlags) => void) => FeaturesAdapterFlags;
21
+ /**
22
+ * Cleanup adapter resources.
23
+ *
24
+ * @remarks Called when the plugin is disposed.
25
+ */
26
+ dispose?: () => void;
27
+ }
28
+ declare abstract class FeaturesAdapter implements FeaturesAdapterInterface {
29
+ abstract setup(onUpdate: (flags: FeaturesAdapterFlags) => void): FeaturesAdapterFlags;
30
+ }
31
+ //#endregion
32
+ export { FeaturesAdapterValue as i, FeaturesAdapterFlags as n, FeaturesAdapterInterface as r, FeaturesAdapter as t };
@@ -74,6 +74,6 @@ type HTMLElementName = keyof HTMLElementTagNameMap;
74
74
  /**
75
75
  * Type for self-closing HTML elements
76
76
  */
77
- type SelfClosingElement = keyof typeof selfClosingTags;
77
+ type SelfClosingElement = (typeof selfClosingTags)[number];
78
78
  //#endregion
79
79
  export { isSelfClosingTag as a, SUPPORTS_MATCH_MEDIA as c, SUPPORTS_TOUCH as d, __LOGGER_ENABLED__ as f, SelfClosingElement as i, SUPPORTS_MUTATION_OBSERVER as l, HTMLElementName as n, IN_BROWSER as o, version as p, SELF_CLOSING_TAGS as r, SUPPORTS_INTERSECTION_OBSERVER as s, COMMON_ELEMENTS as t, SUPPORTS_OBSERVER as u };