@vuetify/v0 0.1.3 → 0.1.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.
Files changed (130) hide show
  1. package/dist/adapter-CJIj5ySf.d.mts +11 -0
  2. package/dist/adapter-Cmeg49W9.mjs +229 -0
  3. package/dist/adapter-D2JoR-4d.d.mts +344 -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 +953 -1026
  9. package/dist/components/index.d.mts +20 -7
  10. package/dist/components/index.mjs +38 -6
  11. package/dist/{components-C0zEvP7w.mjs → components-BbbGkTcN.mjs} +579 -107
  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-cNf6DdHz.mjs +387 -0
  20. package/dist/createGroup-BrZPZudL.mjs +363 -0
  21. package/dist/createPagination-Wc_vRGNQ.mjs +234 -0
  22. package/dist/createSelection-BURpoE3p.mjs +261 -0
  23. package/dist/createSingle-BE1vHaZy.mjs +179 -0
  24. package/dist/createTokens-jwf8-iGn.mjs +682 -0
  25. package/dist/createTrinity-DkwPrPRS.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-vN-O052q.mjs} +2 -2
  48. package/dist/index-BDTbJClL.d.mts +11 -0
  49. package/dist/{index-2wh69fk5.d.mts → index-BTMzRHep.d.mts} +187 -1417
  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-DRax9EgT.d.mts} +1044 -437
  53. package/dist/index-DdWxDPX3.d.mts +251 -0
  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/attributes.json +172 -0
  58. package/dist/json/importMap.json +28 -0
  59. package/dist/json/tags.json +73 -0
  60. package/dist/json/web-types.json +475 -1
  61. package/dist/launchdarkly-W8t8ZANX.mjs +28 -0
  62. package/dist/locale/adapters/index.d.mts +3 -0
  63. package/dist/locale/adapters/index.mjs +6 -0
  64. package/dist/locale/adapters/v0/index.d.mts +3 -0
  65. package/dist/locale/adapters/v0/index.mjs +5 -0
  66. package/dist/locale/index.d.mts +17 -0
  67. package/dist/locale/index.mjs +17 -0
  68. package/dist/logger/adapters/consola/index.d.mts +3 -0
  69. package/dist/logger/adapters/consola/index.mjs +3 -0
  70. package/dist/logger/adapters/index.d.mts +5 -0
  71. package/dist/logger/adapters/index.mjs +8 -0
  72. package/dist/logger/adapters/pino/index.d.mts +3 -0
  73. package/dist/logger/adapters/pino/index.mjs +5 -0
  74. package/dist/logger/adapters/v0/index.d.mts +3 -0
  75. package/dist/logger/adapters/v0/index.mjs +5 -0
  76. package/dist/logger/index.d.mts +17 -0
  77. package/dist/logger/index.mjs +10 -0
  78. package/dist/memory-BsZGbGnG.mjs +27 -0
  79. package/dist/memory-DVjquu_v.d.mts +25 -0
  80. package/dist/permissions/adapters/index.d.mts +18 -0
  81. package/dist/permissions/adapters/index.mjs +6 -0
  82. package/dist/permissions/adapters/v0/index.d.mts +18 -0
  83. package/dist/permissions/adapters/v0/index.mjs +5 -0
  84. package/dist/permissions/index.d.mts +17 -0
  85. package/dist/permissions/index.mjs +15 -0
  86. package/dist/pino-DFxkZLiu.mjs +49 -0
  87. package/dist/pino-p-jDkNQd.d.mts +24 -0
  88. package/dist/posthog-BOUoZTTf.mjs +50 -0
  89. package/dist/server-B-HWxaTQ.d.mts +20 -0
  90. package/dist/server-C2R2POGE.mjs +45 -0
  91. package/dist/storage/adapters/index.d.mts +3 -0
  92. package/dist/storage/adapters/index.mjs +3 -0
  93. package/dist/storage/adapters/memory/index.d.mts +2 -0
  94. package/dist/storage/adapters/memory/index.mjs +3 -0
  95. package/dist/storage/index.d.mts +17 -0
  96. package/dist/storage/index.mjs +37 -0
  97. package/dist/theme/adapters/index.d.mts +17 -0
  98. package/dist/theme/adapters/index.mjs +6 -0
  99. package/dist/theme/adapters/v0/index.d.mts +17 -0
  100. package/dist/theme/adapters/v0/index.mjs +5 -0
  101. package/dist/theme/index.d.mts +17 -0
  102. package/dist/theme/index.mjs +16 -0
  103. package/dist/toArray-VIn8vYt3.mjs +38 -0
  104. package/dist/types/index.d.mts +1 -1
  105. package/dist/useClickOutside-DIi0kjN5.mjs +4716 -0
  106. package/dist/useFeatures-6O7EPJUS.mjs +122 -0
  107. package/dist/useLocale-DHjbekzS.mjs +85 -0
  108. package/dist/useLogger-BXqiUvt2.mjs +283 -0
  109. package/dist/usePermissions-DFacFVqO.mjs +128 -0
  110. package/dist/useTheme-D0_1mjTw.mjs +135 -0
  111. package/dist/utilities/index.d.mts +3 -3
  112. package/dist/utilities/index.mjs +3 -3
  113. package/dist/{utilities-BbKjbXTx.mjs → utilities-Dx8wzGa5.mjs} +20 -3
  114. package/dist/v0-BNXo1ecc.d.mts +10 -0
  115. package/dist/v0-BOxb3nD1.d.mts +33 -0
  116. package/dist/v0-BPzPP8C5.d.mts +9 -0
  117. package/dist/v0-BYqmw3qM.mjs +21 -0
  118. package/dist/v0-C8DBv9mh.mjs +73 -0
  119. package/dist/v0-CfSj99gF.mjs +37 -0
  120. package/dist/v0-DHMoZ7dS.d.mts +22 -0
  121. package/dist/v0-Dc5mcpQs.mjs +41 -0
  122. package/dist/v0-Dwufx8ae.mjs +83 -0
  123. package/dist/virtual-A4e1yrdn.d.mts +9 -0
  124. package/dist/virtual-BoTGK6HT.mjs +44 -0
  125. package/package.json +34 -2
  126. package/dist/useClickOutside-DrkNYxDe.mjs +0 -8871
  127. /package/dist/{adapter-D95FHAtt.d.mts → adapter-DcwxFryd.d.mts} +0 -0
  128. /package/dist/{constants-DHKqjdjH.mjs → adapters-BGJKsBrw.mjs} +0 -0
  129. /package/dist/{htmlElements-DO9n35bD.mjs → htmlElements-d8iBCGpO.mjs} +0 -0
  130. /package/dist/{index-BLK67J_-.d.mts → index-BFBN5Zl3.d.mts} +0 -0
@@ -1,53 +1,29 @@
1
- import { i as Extensible, o as ID, s as MaybeArray } from "./index-BLK67J_-.mjs";
2
- import { t as DateAdapter } from "./adapter-D95FHAtt.mjs";
3
- import * as vue820 from "vue";
4
- import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowRef, UnwrapNestedRefs, WatchSource } from "vue";
1
+ import { i as Extensible, o as ID, s as MaybeArray } from "./index-BFBN5Zl3.mjs";
2
+ import { E as ContextTrinity } from "./adapter-D2JoR-4d.mjs";
3
+ import { t as DateAdapter } from "./adapter-DcwxFryd.mjs";
4
+ import { n as FeaturesAdapterFlags, r as FeaturesAdapterInterface } from "./index-BuOz3Rgm.mjs";
5
+ import { n as LocaleAdapter } from "./v0-DHMoZ7dS.mjs";
6
+ import { t as LoggerAdapter } from "./adapter-CJIj5ySf.mjs";
7
+ import { t as StorageAdapter } from "./index-BDTbJClL.mjs";
8
+ import { App, ComponentPublicInstance, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowRef, UnwrapNestedRefs, WatchSource } from "vue";
5
9
 
6
- //#region src/composables/createTrinity/index.d.ts
10
+ //#region src/composables/createRegistry/index.d.ts
7
11
 
8
- type ContextTrinity<Z = unknown> = readonly [() => Z, (context?: Z, app?: App) => Z, Z];
9
12
  /**
10
- * Creates a new trinity for a context composable and its provider.
11
- *
12
- * @param useContext The function that retrieves/uses the context (typically named `useContext`).
13
- * @param provideContext The function that provides the context to descendants.
14
- * @param context The default context instance to use when no custom context is provided.
15
- * @template Z The type of the context.
16
- * @returns A readonly tuple containing: [useContext function, provideContext wrapper function, default context instance].
17
- *
18
- * @remarks The trinity pattern is a foundational pattern used throughout the codebase for creating reusable context systems. It provides three related elements:
19
- *
20
- * 1. A function to retrieve/use the context
21
- * 2. A function to provide the context (with default value support)
22
- * 3. The default context instance
23
- *
24
- * The returned tuple is readonly (using `as const`) to ensure proper type inference.
25
- *
26
- * @see https://0.vuetifyjs.com/composables/foundation/create-trinity#create-trinity
13
+ * User-facing input shape for registry tickets.
27
14
  *
28
- * @example
29
- * ```ts
30
- * interface MyContext {
31
- * foo: string
32
- * bar: number
33
- * }
34
- *
35
- * export function createMyFeature<E extends MyContext = MyContext>() {
36
- * const [useContext, _provideContext] = createContext<E>('my-context')
37
- *
38
- * const context = { foo: 'hello', bar: 42 }
39
- *
40
- * function provideContext (_context: E = context, app?: App): E {
41
- * return _provideContext(_context, app)
42
- * }
15
+ * Extend this when defining custom ticket types passed to `register()` and `onboard()`.
16
+ * The registry adds the computed fields (`index`, `valueIsIndex`) automatically — those
17
+ * live on {@link RegistryTicket}, which is the output type returned by `get()` and `values()`.
43
18
  *
44
- * return createTrinity<E>(useContext, provideContext, context)
45
- * }
46
- * ```
19
+ * @template V The type of the ticket value.
47
20
  */
48
- declare function createTrinity<Z = unknown>(useContext: () => Z, provideContext: (_context?: Z, app?: App) => Z, context: Z): ContextTrinity<Z>;
49
- //#endregion
50
- //#region src/composables/createRegistry/index.d.ts
21
+ interface RegistryTicketInput<V = unknown> {
22
+ /** The unique identifier. Optional — auto-generated if not provided. */
23
+ id?: ID;
24
+ /** The value associated with the ticket. If not provided, it defaults to the index. */
25
+ value?: V;
26
+ }
51
27
  interface RegistryTicket<V = unknown> {
52
28
  /** The unique identifier. Is randomly generated if not provided. */
53
29
  id: ID;
@@ -77,21 +53,21 @@ type RegistryEventMap<Z extends RegistryTicket> = {
77
53
  'reindex:registry': undefined;
78
54
  };
79
55
  /** Callback signature for registry event listeners */
80
- type RegistryEventCallback<Z extends RegistryTicket = RegistryTicket, K$1 extends RegistryEventName = RegistryEventName> = (data: RegistryEventMap<Z>[K$1]) => void;
56
+ type RegistryEventCallback<Z extends RegistryTicket = RegistryTicket, K extends RegistryEventName = RegistryEventName> = (data: RegistryEventMap<Z>[K]) => void;
81
57
  /** Resolves callback type: typed for known events, unknown for custom events */
82
- type EventHandler$1<Z extends RegistryTicket, K$1 extends string> = K$1 extends RegistryEventName ? (data: RegistryEventMap<Z>[K$1]) => void : (data: unknown) => void;
58
+ type EventHandler$1<Z extends RegistryTicket, K extends string> = K extends RegistryEventName ? (data: RegistryEventMap<Z>[K]) => void : (data: unknown) => void;
83
59
  /** Resolves payload type: typed for known events, unknown for custom events */
84
- type EventPayload<Z extends RegistryTicket, K$1 extends string> = K$1 extends RegistryEventName ? RegistryEventMap<Z>[K$1] : unknown;
85
- interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
60
+ type EventPayload<Z extends RegistryTicket, K extends string> = K extends RegistryEventName ? RegistryEventMap<Z>[K] : unknown;
61
+ interface RegistryContext<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z> {
86
62
  /**
87
63
  * The collection of tickets in the registry
88
64
  *
89
65
  * @template ID The type of the ticket ID.
90
- * @template Z The type of the registry ticket.
66
+ * @template E The type of the registry ticket.
91
67
  *
92
68
  * @remarks Read-only view of the internal collection. Use `register`, `unregister`, `upsert`, and `clear` methods to modify.
93
69
  */
94
- collection: ReadonlyMap<ID, Z>;
70
+ collection: ReadonlyMap<ID, E>;
95
71
  /**
96
72
  * Clear the entire registry
97
73
  *
@@ -178,7 +154,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
178
154
  * const unique = registry.browse('unique-value') // ['ticket-3']
179
155
  * ```
180
156
  */
181
- browse: (value: Z['value']) => ID[] | undefined;
157
+ browse: (value: E['value']) => ID[] | undefined;
182
158
  /**
183
159
  * lookup a ticket by index number
184
160
  *
@@ -218,7 +194,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
218
194
  * const ticket = registry.get('ticket-id') // { id: 'ticket-id', index: 0, value: 'some-value', ... }
219
195
  * ```
220
196
  */
221
- get: (id: ID) => Z | undefined;
197
+ get: (id: ID) => E | undefined;
222
198
  /**
223
199
  * Update or insert a ticket by ID
224
200
  *
@@ -241,7 +217,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
241
217
  * const patched = registry.upsert('ticket-id', { value: 'updated-value' })
242
218
  * ```
243
219
  */
244
- upsert: (id: ID, ticket?: Partial<Z>) => Z;
220
+ upsert: (id: ID, ticket?: Partial<Z>) => E;
245
221
  /**
246
222
  * Get all values of registered tickets
247
223
  *
@@ -261,7 +237,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
261
237
  * const values = registry.values() // [{ id: 'ticket-1', ... }, { id: 'ticket-2', ... }]
262
238
  * ```
263
239
  */
264
- values: () => readonly Z[];
240
+ values: () => readonly E[];
265
241
  /**
266
242
  * Get all entries of registered tickets
267
243
  *
@@ -281,7 +257,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
281
257
  * const entries = registry.entries() // [['ticket-1', { id: 'ticket-1', ... }], ['ticket-2', { id: 'ticket-2', ... }]]
282
258
  * ```
283
259
  */
284
- entries: () => readonly [ID, Z][];
260
+ entries: () => readonly [ID, E][];
285
261
  /**
286
262
  * Register a new ticket
287
263
  *
@@ -301,7 +277,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
301
277
  * console.log(ticket) // { id: 'generated-id', index: 0, value: 0, valueIsIndex: true }
302
278
  * ```
303
279
  */
304
- register: (ticket?: Partial<Z>) => Z;
280
+ register: (ticket?: Partial<Z & RegistryTicket>) => E;
305
281
  /**
306
282
  * Unregister a ticket by ID
307
283
  *
@@ -376,7 +352,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
376
352
  * const cherry = registry.seek('first', 1, ticket => (ticket.value as string).startsWith('c'))
377
353
  * ```
378
354
  */
379
- seek: (direction?: 'first' | 'last', from?: number, predicate?: (ticket: Z) => boolean) => Z | undefined;
355
+ seek: (direction?: 'first' | 'last', from?: number, predicate?: (ticket: E) => boolean) => E | undefined;
380
356
  /**
381
357
  * Listen for registry events
382
358
  *
@@ -405,7 +381,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
405
381
  * registry.register({ id: 'ticket-id' }) // Console: Ticket registered: { id: 'ticket-id', ... }
406
382
  * ```
407
383
  */
408
- on: <K$1 extends Extensible<RegistryEventName>>(event: K$1, cb: EventHandler$1<Z, K$1>) => void;
384
+ on: <K extends Extensible<RegistryEventName>>(event: K, cb: EventHandler$1<E, K>) => void;
409
385
  /**
410
386
  * Stop listening for registry events
411
387
  *
@@ -435,7 +411,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
435
411
  * })
436
412
  * ```
437
413
  */
438
- off: <K$1 extends Extensible<RegistryEventName>>(event: K$1, cb: EventHandler$1<Z, K$1>) => void;
414
+ off: <K extends Extensible<RegistryEventName>>(event: K, cb: EventHandler$1<E, K>) => void;
439
415
  /**
440
416
  * Emit an event with data
441
417
  *
@@ -458,7 +434,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
458
434
  * registry.emit('custom-event', { message: 'Hello, World!' }) // Console: Custom event received: { message: 'Hello, World!' }
459
435
  * ```
460
436
  */
461
- emit: <K$1 extends Extensible<RegistryEventName>>(event: K$1, data: EventPayload<Z, K$1>) => void;
437
+ emit: <K extends Extensible<RegistryEventName>>(event: K, data: EventPayload<E, K>) => void;
462
438
  /**
463
439
  * Clears the registry and removes all listeners
464
440
  *
@@ -503,7 +479,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
503
479
  * console.log(tickets) // [{ id: 'ticket-1', ... }, { id: 'ticket-2', ... }]
504
480
  * ```
505
481
  */
506
- onboard: (registrations: Partial<Z>[]) => Z[];
482
+ onboard: (registrations: Partial<Z & RegistryTicket>[]) => E[];
507
483
  /**
508
484
  * Offboard multiple tickets at once
509
485
  *
@@ -644,7 +620,7 @@ interface RegistryContextOptions extends RegistryOptions {
644
620
  * console.log(registry.get('user-1')) // { id: 'user-1', index: 0, value: { name: 'John' }, ... }
645
621
  * ```
646
622
  */
647
- declare function createRegistry<Z extends RegistryTicket = RegistryTicket, E extends RegistryContext<Z> = RegistryContext<Z>>(options?: RegistryOptions): E;
623
+ declare function createRegistry<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z>(options?: RegistryOptions): RegistryContext<Z, E>;
648
624
  /**
649
625
  * Creates a new registry context.
650
626
  *
@@ -673,7 +649,7 @@ declare function createRegistry<Z extends RegistryTicket = RegistryTicket, E ext
673
649
  * items.register({ id: 'item-1', value: 'Value 1' })
674
650
  * ```
675
651
  */
676
- declare function createRegistryContext<Z extends RegistryTicket = RegistryTicket, E extends RegistryContext<Z> = RegistryContext<Z>>(_options?: RegistryContextOptions): ContextTrinity<E>;
652
+ declare function createRegistryContext<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z>(_options?: RegistryContextOptions): ContextTrinity<RegistryContext<Z, E>>;
677
653
  /**
678
654
  * Uses an existing registry from context.
679
655
  *
@@ -694,7 +670,7 @@ declare function createRegistryContext<Z extends RegistryTicket = RegistryTicket
694
670
  * registry.register({ id: 'item-1', value: 'Value 1' })
695
671
  * ```
696
672
  */
697
- declare function useRegistry<Z extends RegistryTicket = RegistryTicket, E extends RegistryContext<Z> = RegistryContext<Z>>(namespace?: string): E;
673
+ declare function useRegistry<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z>(namespace?: string): RegistryContext<Z, E>;
698
674
  //#endregion
699
675
  //#region src/composables/createSelection/index.d.ts
700
676
  /**
@@ -715,7 +691,7 @@ declare function useRegistry<Z extends RegistryTicket = RegistryTicket, E extend
715
691
  * selection.register({ label: 'Item 1' })
716
692
  * ```
717
693
  */
718
- interface SelectionTicketInput<V = unknown> extends RegistryTicket<V> {
694
+ interface SelectionTicketInput<V = unknown> extends RegistryTicketInput<V> {
719
695
  /** Disabled state of the ticket (optional on input, defaults to false) */
720
696
  disabled?: MaybeRef<boolean>;
721
697
  }
@@ -733,7 +709,7 @@ interface SelectionTicketInput<V = unknown> extends RegistryTicket<V> {
733
709
  * - `unselect()` - Method to unselect this ticket
734
710
  * - `toggle()` - Method to toggle selection state
735
711
  */
736
- type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> = Z & {
712
+ type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> = RegistryTicket & Z & {
737
713
  /** Disabled state of the ticket (guaranteed to exist on output) */
738
714
  disabled: MaybeRef<boolean>;
739
715
  /** Whether the ticket is currently selected */
@@ -1606,572 +1582,6 @@ declare function provideContext<Z>(key: ContextKey<Z>, context: Z, app?: App): Z
1606
1582
  declare function createContext<Z>(key: ContextKey<Z>, defaultValue?: Z): readonly [() => Z, (context: Z, app?: App) => Z];
1607
1583
  declare function createContext<Z>(options?: CreateContextOptions): readonly [(key: string, defaultValue?: Z) => Z, (key: string, context: Z, app?: App) => Z];
1608
1584
  //#endregion
1609
- //#region src/composables/createFilter/index.d.ts
1610
- type Primitive = string | number | boolean;
1611
- type FilterQuery = MaybeRefOrGetter<Primitive | Primitive[]>;
1612
- type FilterItem = Primitive | Record<string, any>;
1613
- type FilterMode = 'some' | 'every' | 'union' | 'intersection';
1614
- type FilterFunction = (query: Primitive | Primitive[], item: FilterItem) => boolean;
1615
- interface FilterOptions {
1616
- customFilter?: FilterFunction;
1617
- keys?: string[];
1618
- mode?: FilterMode;
1619
- }
1620
- interface FilterResult<Z extends FilterItem = FilterItem> {
1621
- items: ComputedRef<Z[]>;
1622
- }
1623
- interface FilterContext<Z extends FilterItem = FilterItem> {
1624
- /** The filter mode */
1625
- mode: FilterMode;
1626
- /** Keys to filter on for object items */
1627
- keys: string[] | undefined;
1628
- /** Custom filter function */
1629
- customFilter: FilterFunction | undefined;
1630
- /** Current query ref */
1631
- query: ShallowRef<Primitive | Primitive[]>;
1632
- /**
1633
- * Apply filter to an array of items
1634
- *
1635
- * @param query The query to filter by
1636
- * @param items The items to filter
1637
- * @returns The filtered items as a computed ref
1638
- */
1639
- apply: <T extends Z>(query: FilterQuery, items: MaybeRef<T[]>) => FilterResult<T>;
1640
- }
1641
- interface FilterContextOptions extends FilterOptions {
1642
- namespace?: string;
1643
- }
1644
- /**
1645
- * Creates a filter context with pre-configured options.
1646
- *
1647
- * @param options The filter options
1648
- * @template Z The type of the items
1649
- * @template E The type of the filter context
1650
- * @returns A filter context
1651
- *
1652
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
1653
- *
1654
- * @example
1655
- * ```ts
1656
- * import { createFilter } from '@vuetify/v0'
1657
- *
1658
- * const filter = createFilter({
1659
- * mode: 'intersection',
1660
- * keys: ['name', 'email'],
1661
- * })
1662
- *
1663
- * const { items } = filter.apply(query, users)
1664
- * ```
1665
- */
1666
- declare function createFilter<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(options?: FilterOptions): E;
1667
- /**
1668
- * Creates a filter context with dependency injection support.
1669
- *
1670
- * @param options The filter context options
1671
- * @template Z The type of the items
1672
- * @template E The type of the filter context
1673
- * @returns A trinity tuple: [useContext, provideContext, defaultContext]
1674
- *
1675
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
1676
- *
1677
- * @example
1678
- * ```ts
1679
- * import { createFilterContext } from '@vuetify/v0'
1680
- *
1681
- * export const [useSearchFilter, provideSearchFilter, searchFilter] = createFilterContext({
1682
- * namespace: 'app:search',
1683
- * mode: 'union',
1684
- * keys: ['title', 'description'],
1685
- * })
1686
- *
1687
- * // In parent component
1688
- * provideSearchFilter()
1689
- *
1690
- * // In child component
1691
- * const filter = useSearchFilter()
1692
- * const { items } = filter.apply(query, products)
1693
- * ```
1694
- */
1695
- declare function createFilterContext<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(_options?: FilterContextOptions): ContextTrinity<E>;
1696
- /**
1697
- * Returns the current filter context from dependency injection.
1698
- *
1699
- * @param namespace The namespace for the filter context. Defaults to `'v0:filter'`.
1700
- * @template Z The type of the items.
1701
- * @template E The type of the filter context.
1702
- * @returns The current filter context.
1703
- *
1704
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
1705
- *
1706
- * @example
1707
- * ```vue
1708
- * <script setup lang="ts">
1709
- * import { useFilter } from '@vuetify/v0'
1710
- *
1711
- * const filter = useFilter()
1712
- * const { items } = filter.apply(query, products)
1713
- * </script>
1714
- * ```
1715
- */
1716
- declare function useFilter<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(namespace?: string): E;
1717
- //#endregion
1718
- //#region src/composables/createPagination/index.d.ts
1719
- type PaginationTicket = {
1720
- type: 'page';
1721
- value: number;
1722
- } | {
1723
- type: 'ellipsis';
1724
- value: string;
1725
- };
1726
- interface PaginationContext {
1727
- /** Current page (1-indexed) */
1728
- page: ShallowRef<number>;
1729
- /** Items per page */
1730
- itemsPerPage: number;
1731
- /** Total number of items */
1732
- size: number;
1733
- /** Total number of pages (computed from size / itemsPerPage) */
1734
- pages: number;
1735
- /** Ellipsis character, or false if disabled */
1736
- ellipsis: string | false;
1737
- /** Visible page numbers and ellipsis for rendering */
1738
- items: ComputedRef<PaginationTicket[]>;
1739
- /** Start index of items on current page (0-indexed) */
1740
- pageStart: ComputedRef<number>;
1741
- /** End index of items on current page (exclusive, 0-indexed) */
1742
- pageStop: ComputedRef<number>;
1743
- /** Whether current page is the first page */
1744
- isFirst: ComputedRef<boolean>;
1745
- /** Whether current page is the last page */
1746
- isLast: ComputedRef<boolean>;
1747
- /** Go to first page */
1748
- first: () => void;
1749
- /** Go to last page */
1750
- last: () => void;
1751
- /** Go to next page */
1752
- next: () => void;
1753
- /** Go to previous page */
1754
- prev: () => void;
1755
- /** Go to specific page */
1756
- select: (value: number) => void;
1757
- }
1758
- interface PaginationOptions {
1759
- /** Initial page or ref for v-model (1-indexed). @default 1 */
1760
- page?: number | ShallowRef<number>;
1761
- /** Items per page. @default 10 */
1762
- itemsPerPage?: MaybeRefOrGetter<number>;
1763
- /** Total number of items. @default 0 */
1764
- size?: MaybeRefOrGetter<number>;
1765
- /** Maximum visible page buttons. @default 5 */
1766
- visible?: MaybeRefOrGetter<number>;
1767
- /** Ellipsis character. @default '…' */
1768
- ellipsis?: string | false;
1769
- }
1770
- interface PaginationContextOptions extends PaginationOptions {
1771
- /** Namespace for dependency injection */
1772
- namespace?: string;
1773
- }
1774
- /**
1775
- * Creates a pagination instance.
1776
- *
1777
- * @param options The options for the pagination instance.
1778
- * @returns A pagination context with navigation methods.
1779
- *
1780
- * @example
1781
- * ```ts
1782
- * import { createPagination } from '@vuetify/v0'
1783
- *
1784
- * // Basic usage
1785
- * const pagination = createPagination({ size: 100 })
1786
- * pagination.next()
1787
- * pagination.items.value // [{ type: 'page', value: 1 }, { type: 'page', value: 2 }, ...]
1788
- *
1789
- * // With v-model (pass a ref)
1790
- * const page = ref(1)
1791
- * const pagination = createPagination({ page, size: 100 })
1792
- * // Mutating pagination.page or the passed ref syncs both
1793
- * ```
1794
- */
1795
- declare function createPagination(_options?: PaginationOptions): PaginationContext;
1796
- /**
1797
- * Creates a pagination context for dependency injection.
1798
- *
1799
- * @param options The options including namespace.
1800
- * @returns A trinity: [usePagination, providePagination, defaultContext]
1801
- *
1802
- * @example
1803
- * ```ts
1804
- * // With default namespace 'v0:pagination'
1805
- * const [usePagination, providePaginationContext] = createPaginationContext({ size: 50 })
1806
- *
1807
- * // Or with custom namespace
1808
- * const [usePagination, providePaginationContext] = createPaginationContext({
1809
- * namespace: 'my-pagination',
1810
- * size: 50,
1811
- * })
1812
- *
1813
- * // Parent component
1814
- * providePaginationContext()
1815
- *
1816
- * // Child component
1817
- * const pagination = usePagination()
1818
- * pagination.next()
1819
- * ```
1820
- */
1821
- declare function createPaginationContext(_options?: PaginationContextOptions): ContextTrinity<PaginationContext>;
1822
- /**
1823
- * Returns the current pagination instance from context.
1824
- *
1825
- * @param namespace The namespace. @default 'v0:pagination'
1826
- * @returns The pagination context.
1827
- *
1828
- * @example
1829
- * ```vue
1830
- * <script setup lang="ts">
1831
- * import { usePagination } from '@vuetify/v0'
1832
- *
1833
- * const pagination = usePagination()
1834
- * </script>
1835
- *
1836
- * <template>
1837
- * <button @click="pagination.prev()" :disabled="pagination.isFirst.value">Prev</button>
1838
- * <button @click="pagination.next()" :disabled="pagination.isLast.value">Next</button>
1839
- * </template>
1840
- * ```
1841
- */
1842
- declare function usePagination(namespace?: string): PaginationContext;
1843
- //#endregion
1844
- //#region src/composables/createDataTable/adapters/adapter.d.ts
1845
- type SortDirection = 'asc' | 'desc' | 'none';
1846
- interface SortEntry {
1847
- key: string;
1848
- direction: SortDirection;
1849
- }
1850
- /** Inputs provided by createDataTable to the adapter */
1851
- interface DataTableAdapterContext<T extends Record<string, unknown>> {
1852
- /** Source items */
1853
- items: MaybeRefOrGetter<T[]>;
1854
- /** Search query ref */
1855
- search: ShallowRef<string>;
1856
- /** Column keys eligible for filtering */
1857
- filterableKeys: ReadonlyArray<keyof T & string>;
1858
- /** Current sort state derived from sort controls */
1859
- sortBy: Readonly<Ref<SortEntry[]>>;
1860
- /** Locale for sorting (reactive, from useLocale or options) */
1861
- locale: Readonly<Ref<string | undefined>>;
1862
- /** Filter options (keys excluded, derived from columns) */
1863
- filterOptions: Omit<FilterOptions, 'keys'>;
1864
- /** Pagination options (size excluded, derived from pipeline) */
1865
- paginationOptions: Omit<PaginationOptions, 'size'>;
1866
- /** Per-column custom sort comparators */
1867
- customSorts: Partial<Record<keyof T & string, (a: unknown, b: unknown) => number>>;
1868
- /** Per-column custom filter functions */
1869
- customColumnFilters: Partial<Record<keyof T & string, (value: unknown, query: string) => boolean>>;
1870
- }
1871
- /** Outputs returned by the adapter to createDataTable */
1872
- interface DataTableAdapterResult<T extends Record<string, unknown>> {
1873
- /** Raw unprocessed items */
1874
- allItems: Readonly<Ref<readonly T[]>>;
1875
- /** Items after filtering */
1876
- filteredItems: Readonly<Ref<readonly T[]>>;
1877
- /** Items after filtering and sorting */
1878
- sortedItems: Readonly<Ref<readonly T[]>>;
1879
- /** Final visible items (paginated or virtualized) */
1880
- items: Readonly<Ref<readonly T[]>>;
1881
- /** Pagination controls */
1882
- pagination: PaginationContext;
1883
- /** Total row count for aria-rowcount */
1884
- total: Readonly<Ref<number>>;
1885
- /** Loading state (optional, for async adapters) */
1886
- loading?: Readonly<Ref<boolean>>;
1887
- /** Error state (optional, for async adapters) */
1888
- error?: Readonly<Ref<Error | null>>;
1889
- }
1890
- /** Pipeline adapter interface for data table strategies */
1891
- interface DataTableAdapterInterface<T extends Record<string, unknown>> {
1892
- setup: (context: DataTableAdapterContext<T>) => DataTableAdapterResult<T>;
1893
- }
1894
- declare abstract class DataTableAdapter<T extends Record<string, unknown>> implements DataTableAdapterInterface<T> {
1895
- /** Create the filter pipeline stage */
1896
- protected filter(context: DataTableAdapterContext<T>): {
1897
- allItems: Readonly<Ref<T[], T[]>>;
1898
- filteredItems: vue820.ComputedRef<T[]>;
1899
- };
1900
- /** Create the sort pipeline stage */
1901
- protected sort(filteredItems: Readonly<Ref<readonly T[]>>, sortBy: Readonly<Ref<SortEntry[]>>, locale?: Readonly<Ref<string | undefined>>, customSorts?: Partial<Record<string, (a: unknown, b: unknown) => number>>): Readonly<Ref<readonly T[]>>;
1902
- abstract setup(context: DataTableAdapterContext<T>): DataTableAdapterResult<T>;
1903
- }
1904
- //#endregion
1905
- //#region src/composables/createDataTable/adapters/server.d.ts
1906
- interface ServerAdapterOptions {
1907
- /** Total number of items on the server (for pagination calculation) */
1908
- total: MaybeRefOrGetter<number>;
1909
- /** Loading state (e.g., from useFetch) */
1910
- loading?: MaybeRefOrGetter<boolean>;
1911
- /** Error state from API */
1912
- error?: MaybeRefOrGetter<Error | null>;
1913
- }
1914
- declare class ServerAdapter<T extends Record<string, unknown>> implements DataTableAdapterInterface<T> {
1915
- private options;
1916
- constructor(options: ServerAdapterOptions);
1917
- setup(context: DataTableAdapterContext<T>): DataTableAdapterResult<T>;
1918
- }
1919
- //#endregion
1920
- //#region src/composables/createDataTable/adapters/v0.d.ts
1921
- declare class ClientAdapter<T extends Record<string, unknown>> extends DataTableAdapter<T> {
1922
- setup(context: DataTableAdapterContext<T>): DataTableAdapterResult<T>;
1923
- }
1924
- //#endregion
1925
- //#region src/composables/createDataTable/adapters/virtual.d.ts
1926
- declare class VirtualAdapter<T extends Record<string, unknown>> extends DataTableAdapter<T> {
1927
- setup(context: DataTableAdapterContext<T>): DataTableAdapterResult<T>;
1928
- }
1929
- //#endregion
1930
- //#region src/composables/createDataTable/index.d.ts
1931
- /** Extract keys of T whose value type extends V */
1932
- type KeysOfType<T, V> = { [K in keyof T]: T[K] extends V ? K : never }[keyof T] & string;
1933
- type SelectStrategy = 'single' | 'page' | 'all';
1934
- interface DataTableColumn<T extends Record<string, unknown> = Record<string, unknown>> {
1935
- readonly key: keyof T & string;
1936
- readonly title?: string;
1937
- readonly sortable?: boolean;
1938
- readonly filterable?: boolean;
1939
- /** Custom sort comparator for this column */
1940
- readonly sort?: (a: unknown, b: unknown) => number;
1941
- /** Custom filter function for this column */
1942
- readonly filter?: (value: unknown, query: string) => boolean;
1943
- }
1944
- interface DataTableSort {
1945
- /** Toggle sort for a column: none → asc → desc → none */
1946
- toggle: (key: string) => void;
1947
- /** Current sort columns derived from group state */
1948
- columns: Readonly<Ref<SortEntry[]>>;
1949
- /** Order of sort columns (for multi-sort priority) */
1950
- order: readonly string[];
1951
- /** Get sort direction for a specific column key */
1952
- direction: (key: string) => SortDirection;
1953
- /** Get sort priority index (0-based), or -1 if not sorted */
1954
- priority: (key: string) => number;
1955
- /** Reset all sort state */
1956
- reset: () => void;
1957
- }
1958
- interface DataTableSelection {
1959
- /** Currently selected row IDs */
1960
- selectedIds: ReadonlySet<ID>;
1961
- /** Select a row by ID */
1962
- select: (id: ID) => void;
1963
- /** Unselect a row by ID */
1964
- unselect: (id: ID) => void;
1965
- /** Toggle a row's selection */
1966
- toggle: (id: ID) => void;
1967
- /** Whether a row is selected */
1968
- isSelected: (id: ID) => boolean;
1969
- /** Whether a row can be selected (based on itemSelectable) */
1970
- isSelectable: (id: ID) => boolean;
1971
- /** Select all items within strategy scope */
1972
- selectAll: () => void;
1973
- /** Unselect all items across all pages */
1974
- unselectAll: () => void;
1975
- /** Toggle all items within strategy scope */
1976
- toggleAll: () => void;
1977
- /** Whether all items within strategy scope are selected */
1978
- isAllSelected: Readonly<Ref<boolean>>;
1979
- /** Whether some but not all items within strategy scope are selected */
1980
- isMixed: Readonly<Ref<boolean>>;
1981
- }
1982
- interface DataTableGroup<T extends Record<string, unknown>> {
1983
- /** Stringified group identifier */
1984
- key: string;
1985
- /** Raw value of the groupBy column for this group */
1986
- value: T[keyof T & string];
1987
- /** Items belonging to this group */
1988
- items: readonly T[];
1989
- }
1990
- interface DataTableGrouping<T extends Record<string, unknown>> {
1991
- /** Grouped items derived from sortedItems */
1992
- groups: Readonly<Ref<DataTableGroup<T>[]>>;
1993
- /** Toggle a group's open/closed state */
1994
- toggle: (groupKey: string) => void;
1995
- /** Whether a group is open */
1996
- isOpen: (groupKey: string) => boolean;
1997
- /** Open a group */
1998
- open: (groupKey: string) => void;
1999
- /** Close a group */
2000
- close: (groupKey: string) => void;
2001
- /** Open all groups */
2002
- openAll: () => void;
2003
- /** Close all groups */
2004
- closeAll: () => void;
2005
- }
2006
- interface DataTableExpansion {
2007
- /** Currently expanded row IDs */
2008
- expandedIds: ReadonlySet<ID>;
2009
- /** Expand a row by ID */
2010
- expand: (id: ID) => void;
2011
- /** Collapse a row by ID */
2012
- collapse: (id: ID) => void;
2013
- /** Toggle a row's expanded state */
2014
- toggle: (id: ID) => void;
2015
- /** Whether a row is expanded */
2016
- isExpanded: (id: ID) => boolean;
2017
- /** Expand all visible (paginated) items. Requires expandMultiple=true. */
2018
- expandAll: () => void;
2019
- /** Collapse all expanded items across all pages (not page-scoped like expandAll) */
2020
- collapseAll: () => void;
2021
- }
2022
- interface DataTableOptions<T extends Record<string, unknown>> {
2023
- /** Source items */
2024
- items: MaybeRefOrGetter<T[]>;
2025
- /** Column definitions */
2026
- columns: readonly DataTableColumn<T>[];
2027
- /** Property used as row identifier. Must resolve to a string or number value. @default 'id' */
2028
- itemValue?: KeysOfType<T, ID>;
2029
- /** Filter options (keys derived from columns) */
2030
- filter?: Omit<FilterOptions, 'keys'>;
2031
- /** Pagination options (size derived from pipeline) */
2032
- pagination?: Omit<PaginationOptions, 'size'>;
2033
- /** Enable multi-column sort. @default false */
2034
- sortMultiple?: boolean;
2035
- /** Prevent clearing sort (asc → desc → asc cycle). @default false */
2036
- mandate?: boolean;
2037
- /** Direction for first sort click. @default 'asc' */
2038
- firstSortOrder?: 'asc' | 'desc';
2039
- /** Selection strategy: 'single' selects one row, 'page' operates on visible items, 'all' operates on all filtered items. @default 'page' */
2040
- selectStrategy?: SelectStrategy;
2041
- /** Property that controls per-row selectability */
2042
- itemSelectable?: keyof T & string;
2043
- /** Column key to group rows by */
2044
- groupBy?: keyof T & string;
2045
- /** Auto-open all groups on creation. @default false */
2046
- enroll?: boolean;
2047
- /** Allow multiple rows expanded simultaneously. @default true */
2048
- expandMultiple?: boolean;
2049
- /** Locale for sorting (defaults to useLocale's selected locale or browser default) */
2050
- locale?: string;
2051
- /** Pipeline adapter. @default ClientAdapter */
2052
- adapter?: DataTableAdapterInterface<T>;
2053
- }
2054
- interface DataTableContext<T extends Record<string, unknown>> {
2055
- /** Final paginated items for rendering */
2056
- items: Readonly<Ref<readonly T[]>>;
2057
- /** Raw unprocessed items */
2058
- allItems: Readonly<Ref<readonly T[]>>;
2059
- /** Items after filtering */
2060
- filteredItems: Readonly<Ref<readonly T[]>>;
2061
- /** Items after filtering and sorting */
2062
- sortedItems: Readonly<Ref<readonly T[]>>;
2063
- /** Column definitions */
2064
- columns: readonly DataTableColumn<T>[];
2065
- /** Set the search query */
2066
- search: (value: string) => void;
2067
- /** Current search query (readonly) */
2068
- query: Readonly<ShallowRef<string>>;
2069
- /** Sort controls */
2070
- sort: DataTableSort;
2071
- /** Pagination controls */
2072
- pagination: PaginationContext;
2073
- /** Row selection controls */
2074
- selection: DataTableSelection;
2075
- /** Row expansion controls */
2076
- expansion: DataTableExpansion;
2077
- /** Row grouping controls. When groupBy is not set, `groups` returns an empty array. */
2078
- grouping: DataTableGrouping<T>;
2079
- /** Total row count for aria-rowcount */
2080
- total: Readonly<Ref<number>>;
2081
- /** Loading state (managed by adapter) */
2082
- loading: Readonly<Ref<boolean>>;
2083
- /** Error state (managed by adapter) */
2084
- error: Readonly<Ref<Error | null>>;
2085
- }
2086
- interface DataTableContextOptions<T extends Record<string, unknown>> extends DataTableOptions<T> {
2087
- namespace?: string;
2088
- }
2089
- /**
2090
- * Creates a data table instance with sort controls, selection, and an
2091
- * adapter-driven data pipeline.
2092
- *
2093
- * Must be called inside a component `setup()` or a Vue effect scope.
2094
- * Calling at module scope in SSR environments causes request state leakage.
2095
- *
2096
- * @param options Data table options
2097
- * @returns Data table context with pipeline stages and controls
2098
- *
2099
- * @example
2100
- * ```ts
2101
- * import { createDataTable } from '@vuetify/v0'
2102
- *
2103
- * const table = createDataTable({
2104
- * items: users,
2105
- * columns: [
2106
- * { key: 'name', title: 'Name', sortable: true, filterable: true },
2107
- * { key: 'email', title: 'Email', sortable: true, filterable: true },
2108
- * { key: 'age', title: 'Age', sortable: true },
2109
- * ],
2110
- * })
2111
- *
2112
- * // Search
2113
- * table.search('john')
2114
- *
2115
- * // Sort
2116
- * table.sort.toggle('name') // asc
2117
- * table.sort.toggle('name') // desc
2118
- * table.sort.toggle('name') // none
2119
- * console.log(table.sort.columns.value) // [{ key: 'name', direction: 'asc' }]
2120
- *
2121
- * // Paginate
2122
- * table.pagination.next()
2123
- *
2124
- * // Select rows
2125
- * table.selection.toggle('user-1')
2126
- * ```
2127
- */
2128
- declare function createDataTable<T extends Record<string, unknown>>(options: DataTableOptions<T>): DataTableContext<T>;
2129
- /**
2130
- * Creates a data table context with dependency injection support.
2131
- *
2132
- * @param options Data table context options including namespace
2133
- * @returns A trinity tuple: [useDataTable, provideDataTable, defaultContext]
2134
- *
2135
- * @example
2136
- * ```ts
2137
- * import { createDataTableContext } from '@vuetify/v0'
2138
- *
2139
- * const [useDataTable, provideDataTable, context] = createDataTableContext({
2140
- * namespace: 'app:users',
2141
- * items: users,
2142
- * columns: [
2143
- * { key: 'name', title: 'Name', sortable: true },
2144
- * ],
2145
- * })
2146
- *
2147
- * // Parent component
2148
- * provideDataTable()
2149
- *
2150
- * // Child component
2151
- * const table = useDataTable()
2152
- * ```
2153
- */
2154
- declare function createDataTableContext<T extends Record<string, unknown>>(_options: DataTableContextOptions<T>): ContextTrinity<DataTableContext<T>>;
2155
- /**
2156
- * Returns the current data table context from dependency injection.
2157
- *
2158
- * @typeParam T - Must be provided explicitly; cannot be inferred from namespace.
2159
- * Prefer the `useX` function from {@link createDataTableContext} for type-safe injection.
2160
- *
2161
- * @param namespace The namespace for the data table context. @default 'v0:data-table'
2162
- * @returns The current data table context
2163
- *
2164
- * @example
2165
- * ```vue
2166
- * <script setup lang="ts">
2167
- * import { useDataTable } from '@vuetify/v0'
2168
- *
2169
- * const table = useDataTable<User>()
2170
- * </script>
2171
- * ```
2172
- */
2173
- declare function useDataTable<T extends Record<string, unknown>>(namespace?: string): DataTableContext<T>;
2174
- //#endregion
2175
1585
  //#region src/composables/createPlugin/index.d.ts
2176
1586
  interface PluginOptions {
2177
1587
  namespace: string;
@@ -2206,6 +1616,50 @@ interface Plugin {
2206
1616
  * })
2207
1617
  */
2208
1618
  declare function createPlugin<Z extends Plugin = Plugin>(options: PluginOptions): Z;
1619
+ interface PluginContextConfig<O, E> {
1620
+ /**
1621
+ * Optional plugin setup callback, called once per Vue app after context provision.
1622
+ * Use for adapter initialization, Vue app mixins, global side effects, etc.
1623
+ * Receives the plugin options (minus namespace) so adapters and targets are accessible.
1624
+ */
1625
+ setup?: (context: E, app: App, options: O) => void;
1626
+ /**
1627
+ * Optional fallback factory. When provided, the generated `useX` consumer uses the
1628
+ * defensive pattern: returns the fallback when called outside a component instance or
1629
+ * when the context is not found. Required for composables that may be consumed outside
1630
+ * component setup (e.g. useLogger, useLocale, useHydration).
1631
+ *
1632
+ * Receives the requested namespace so error messages can include it.
1633
+ */
1634
+ fallback?: (namespace: string) => E;
1635
+ }
1636
+ /**
1637
+ * Creates the three standard functions for a plugin composable.
1638
+ *
1639
+ * @param defaultNamespace The default DI namespace string (e.g. `'v0:logger'`).
1640
+ * @param factory Function that creates the composable context instance from options.
1641
+ * @param config Optional setup callback and fallback factory.
1642
+ * @returns A readonly tuple: `[createXContext, createXPlugin, useX]`.
1643
+ *
1644
+ * @example
1645
+ * ```ts
1646
+ * // Simple — no setup or fallback
1647
+ * export const [createStorageContext, createStoragePlugin, useStorage] =
1648
+ * createPluginContext('v0:storage', options => createStorage(options))
1649
+ *
1650
+ * // With fallback — safe outside component instances
1651
+ * export const [createLoggerContext, createLoggerPlugin, useLogger] =
1652
+ * createPluginContext('v0:logger', options => createLogger(options), {
1653
+ * fallback: ns => createFallbackLogger(ns),
1654
+ * setup: (context) => {
1655
+ * if (__DEV__ && IN_BROWSER) (window as any).__v0Logger__ = context
1656
+ * },
1657
+ * })
1658
+ * ```
1659
+ */
1660
+ declare function createPluginContext<O extends {
1661
+ namespace?: string;
1662
+ } = Record<never, never>, E = unknown>(defaultNamespace: string, factory: (options: Omit<O, 'namespace'>) => E, config?: PluginContextConfig<Omit<O, 'namespace'>, E>): readonly [<_E extends E = E>(_options?: O) => ContextTrinity<_E>, (_options?: O) => Plugin, <_E extends E = E>(namespace?: string) => _E];
2209
1663
  //#endregion
2210
1664
  //#region src/composables/toArray/index.d.ts
2211
1665
  /**
@@ -2239,6 +1693,48 @@ declare function createPlugin<Z extends Plugin = Plugin>(options: PluginOptions)
2239
1693
  */
2240
1694
  declare function toArray<Z>(value: Z | Z[]): Z[];
2241
1695
  //#endregion
1696
+ //#region src/composables/toElement/index.d.ts
1697
+ type MaybeElementValue = HTMLElement | SVGElement | ComponentPublicInstance | Element | null | undefined;
1698
+ /**
1699
+ * A flexible element ref type that accepts refs, getters, or raw values
1700
+ * containing DOM elements or Vue component instances.
1701
+ *
1702
+ * @remarks
1703
+ * Defined structurally (using `{ readonly value: T }`) instead of Vue's
1704
+ * nominal `Ref<T>` to avoid type mismatches when consumers use a
1705
+ * different Vue version than the library.
1706
+ * Use {@link toElement} to resolve the actual DOM element.
1707
+ */
1708
+ type MaybeElementRef = {
1709
+ readonly value: MaybeElementValue;
1710
+ } | (() => MaybeElementValue) | MaybeElementValue;
1711
+ /**
1712
+ * Resolves a {@link MaybeElementRef} to a DOM Element or undefined.
1713
+ *
1714
+ * Handles:
1715
+ * - `Ref<Element>`, `ShallowRef<HTMLElement>`, getter functions
1716
+ * - Vue component instances (extracts `$el`)
1717
+ * - Raw DOM elements (pass-through)
1718
+ * - null/undefined (returns undefined)
1719
+ *
1720
+ * @param target The element ref, getter, or raw value to resolve
1721
+ * @returns The resolved DOM Element, or undefined if not available
1722
+ *
1723
+ * @see https://0.vuetifyjs.com/composables/transformers/to-element
1724
+ *
1725
+ * @example
1726
+ * ```ts
1727
+ * import { toElement } from '@vuetify/v0'
1728
+ *
1729
+ * const el = shallowRef<HTMLElement | null>(null)
1730
+ * toElement(el) // HTMLElement | undefined
1731
+ *
1732
+ * const component = ref<ComponentPublicInstance>()
1733
+ * toElement(component) // Element | undefined (from $el)
1734
+ * ```
1735
+ */
1736
+ declare function toElement(target: MaybeElementRef): Element | undefined;
1737
+ //#endregion
2242
1738
  //#region src/composables/toReactive/index.d.ts
2243
1739
  /**
2244
1740
  * Converts a `MaybeRef` to a `UnwrapNestedRefs`.
@@ -2323,94 +1819,7 @@ interface BreakpointsContextOptions extends BreakpointsOptions {}
2323
1819
  * ```
2324
1820
  */
2325
1821
  declare function createBreakpoints<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsOptions): E;
2326
- /**
2327
- * Creates a new breakpoints context.
2328
- *
2329
- * @param options The options for the breakpoints context.
2330
- * @template E The type of the breakpoints context.
2331
- * @returns A new breakpoints context.
2332
- *
2333
- * @see https://0.vuetifyjs.com/composables/plugins/use-breakpoints
2334
- *
2335
- * @example
2336
- * ```ts
2337
- * import { createBreakpointsContext } from '@vuetify/v0'
2338
- *
2339
- * export const [useBreakpoints, provideBreakpoints, context] = createBreakpointsContext({
2340
- * namespace: 'v0:breakpoints',
2341
- * mobileBreakpoint: 'sm',
2342
- * })
2343
- * ```
2344
- */
2345
- declare function createBreakpointsContext<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsContextOptions): ContextTrinity<E>;
2346
- /**
2347
- * Creates a new breakpoints plugin.
2348
- *
2349
- * @param options The options for the breakpoints plugin.
2350
- * @template E The type of the breakpoints context.
2351
- * @returns A new breakpoints plugin.
2352
- *
2353
- * @see https://0.vuetifyjs.com/composables/plugins/use-breakpoints
2354
- *
2355
- * @example
2356
- * ```ts
2357
- * import { createApp } from 'vue'
2358
- * import { createBreakpointsPlugin } from '@vuetify/v0'
2359
- * import App from './App.vue'
2360
- *
2361
- * const app = createApp(App)
2362
- *
2363
- * app.use(
2364
- * createBreakpointsPlugin({
2365
- * namespace: 'v0:breakpoints',
2366
- * mobileBreakpoint: 'md',
2367
- * breakpoints: {
2368
- * xs: 0,
2369
- * sm: 600,
2370
- * md: 840,
2371
- * lg: 1145,
2372
- * xl: 1545,
2373
- * xxl: 2138,
2374
- * },
2375
- * })
2376
- * )
2377
- *
2378
- * app.mount('#app')
2379
- * ```
2380
- */
2381
- declare function createBreakpointsPlugin<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsPluginOptions): Plugin;
2382
- /**
2383
- * Returns the current breakpoints instance.
2384
- *
2385
- * @param namespace The namespace for the breakpoints context. Defaults to `v0:breakpoints`.
2386
- * @returns The current breakpoints instance.
2387
- *
2388
- * @see https://0.vuetifyjs.com/composables/plugins/use-breakpoints
2389
- *
2390
- * @example
2391
- * ```vue
2392
- * <script setup lang="ts">
2393
- * import { useBreakpoints } from '@vuetify/v0'
2394
- *
2395
- * // Destructure for template auto-unwrapping
2396
- * const { isMobile, mdAndUp } = useBreakpoints()
2397
- *
2398
- * // In script, use .value
2399
- * if (isMobile.value) {
2400
- * console.log('Mobile detected')
2401
- * }
2402
- * </script>
2403
- *
2404
- * <template>
2405
- * <div class="pa-4">
2406
- * <!-- Destructured refs auto-unwrap in templates -->
2407
- * <p v-if="isMobile">Mobile layout active</p>
2408
- * <p v-else-if="mdAndUp">Medium and up layout active</p>
2409
- * </div>
2410
- * </template>
2411
- * ```
2412
- */
2413
- declare function useBreakpoints<E extends BreakpointsContext = BreakpointsContext>(namespace?: string): E;
1822
+ declare const createBreakpointsContext: <_E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsContextOptions | undefined) => ContextTrinity<_E>, createBreakpointsPlugin: (_options?: BreakpointsContextOptions | undefined) => Plugin, useBreakpoints: <_E extends BreakpointsContext = BreakpointsContext>(namespace?: string) => _E;
2414
1823
  //#endregion
2415
1824
  //#region src/composables/useClickOutside/index.d.ts
2416
1825
  type ClickOutsideElement = HTMLElement | null | undefined;
@@ -2913,34 +2322,6 @@ declare function createTokensContext<Z extends TokenTicket = TokenTicket, E exte
2913
2322
  */
2914
2323
  declare function useTokens<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(namespace?: string): E;
2915
2324
  //#endregion
2916
- //#region src/composables/useFeatures/adapters/generic/index.d.ts
2917
- type FeaturesAdapterValue = boolean | {
2918
- $value?: boolean;
2919
- $variation?: unknown;
2920
- };
2921
- type FeaturesAdapterFlags = Record<ID, FeaturesAdapterValue>;
2922
- interface FeaturesAdapterInterface {
2923
- /**
2924
- * Initialize the adapter and return initial flags.
2925
- *
2926
- * @param onUpdate Callback invoked when flags change.
2927
- * @returns Initial feature flags.
2928
- *
2929
- * @remarks Called during plugin setup. Sets up change listeners
2930
- * and returns the initial flag values.
2931
- */
2932
- setup: (onUpdate: (flags: FeaturesAdapterFlags) => void) => FeaturesAdapterFlags;
2933
- /**
2934
- * Cleanup adapter resources.
2935
- *
2936
- * @remarks Called when the plugin is disposed.
2937
- */
2938
- dispose?: () => void;
2939
- }
2940
- declare abstract class FeaturesAdapter implements FeaturesAdapterInterface {
2941
- abstract setup(onUpdate: (flags: FeaturesAdapterFlags) => void): FeaturesAdapterFlags;
2942
- }
2943
- //#endregion
2944
2325
  //#region src/composables/useFeatures/index.d.ts
2945
2326
  /**
2946
2327
  * Input type for feature tickets - what users provide to register().
@@ -3011,87 +2392,7 @@ interface FeaturePluginOptions extends FeatureContextOptions {
3011
2392
  * ```
3012
2393
  */
3013
2394
  declare function createFeatures<Z extends FeatureTicketInput = FeatureTicketInput, E extends FeatureTicket<Z> = FeatureTicket<Z>, R extends FeatureContext<Z, E> = FeatureContext<Z, E>>(_options?: FeatureOptions): R;
3014
- /**
3015
- * Creates a new features context.
3016
- *
3017
- * @param options The options for the features context.
3018
- * @template Z The type of the feature ticket.
3019
- * @template E The type of the feature context.
3020
- * @returns A new features context.
3021
- *
3022
- * @see https://0.vuetifyjs.com/composables/plugins/use-features
3023
- *
3024
- * @example
3025
- * ```ts
3026
- * import { createFeaturesContext } from '@vuetify/v0'
3027
- *
3028
- * export const [useFeatures, provideFeatures, context] = createFeaturesContext({
3029
- * namespace: 'app:features',
3030
- * features: {
3031
- * 'dark-mode': true,
3032
- * 'theme-color': { $variation: 'blue' },
3033
- * },
3034
- * })
3035
- * ```
3036
- */
3037
- declare function createFeaturesContext<Z extends FeatureTicketInput = FeatureTicketInput, E extends FeatureTicket<Z> = FeatureTicket<Z>, R extends FeatureContext<Z, E> = FeatureContext<Z, E>>(_options?: FeatureContextOptions): ContextTrinity<R>;
3038
- /**
3039
- * Creates a new features plugin.
3040
- *
3041
- * @param options The options for the features plugin.
3042
- * @template Z The type of the feature ticket.
3043
- * @template E The type of the feature context.
3044
- * @returns A new features plugin.
3045
- *
3046
- * @see https://0.vuetifyjs.com/composables/plugins/use-features
3047
- *
3048
- * @example
3049
- * ```ts
3050
- * import { createApp } from 'vue'
3051
- * import { createFeaturesPlugin } from '@vuetify/v0'
3052
- * import App from './App.vue'
3053
- *
3054
- * const app = createApp(App)
3055
- *
3056
- * app.use(
3057
- * createFeaturesPlugin({
3058
- * features: {
3059
- * 'dark-mode': true,
3060
- * 'theme-color': { $variation: 'blue' },
3061
- * },
3062
- * })
3063
- * )
3064
- *
3065
- * app.mount('#app')
3066
- * ```
3067
- */
3068
- declare function createFeaturesPlugin<Z extends FeatureTicketInput = FeatureTicketInput, E extends FeatureTicket<Z> = FeatureTicket<Z>, R extends FeatureContext<Z, E> = FeatureContext<Z, E>>(_options?: FeaturePluginOptions): Plugin;
3069
- /**
3070
- * Returns the current features instance.
3071
- *
3072
- * @param namespace The namespace for the features context. Defaults to `v0:features`.
3073
- * @template Z The type of the feature ticket.
3074
- * @returns The current features instance.
3075
- *
3076
- * @see https://0.vuetifyjs.com/composables/plugins/use-features
3077
- *
3078
- * @example
3079
- * ```vue
3080
- * <script setup lang="ts">
3081
- * import { useFeatures } from '@vuetify/v0'
3082
- *
3083
- * const features = useFeatures()
3084
- * </script>
3085
- *
3086
- * <template>
3087
- * <div>
3088
- * <p>Features: {{ features.get('dark-mode') }}</p>
3089
- * <p>Theme Color: {{ features.variation('theme-color') }}</p>
3090
- * </div>
3091
- * </template>
3092
- * ```
3093
- */
3094
- declare function useFeatures<Z extends FeatureTicketInput = FeatureTicketInput, E extends FeatureTicket<Z> = FeatureTicket<Z>, R extends FeatureContext<Z, E> = FeatureContext<Z, E>>(namespace?: string): R;
2395
+ declare const createFeaturesContext: <_E extends FeatureContext<FeatureTicketInput, FeatureTicket<FeatureTicketInput>> = FeatureContext<FeatureTicketInput, FeatureTicket<FeatureTicketInput>>>(_options?: FeaturePluginOptions | undefined) => ContextTrinity<_E>, createFeaturesPlugin: (_options?: FeaturePluginOptions | undefined) => Plugin, useFeatures: <_E extends FeatureContext<FeatureTicketInput, FeatureTicket<FeatureTicketInput>> = FeatureContext<FeatureTicketInput, FeatureTicket<FeatureTicketInput>>>(namespace?: string) => _E;
3095
2396
  //#endregion
3096
2397
  //#region src/composables/createForm/index.d.ts
3097
2398
  type FormValidationResult = string | true | Promise<string | true>;
@@ -3103,7 +2404,7 @@ type FormValue = Ref<unknown> | ShallowRef<unknown>;
3103
2404
  *
3104
2405
  * @template V The type of the field value.
3105
2406
  */
3106
- interface FormTicketInput<V = unknown> extends RegistryTicket<V> {
2407
+ interface FormTicketInput<V = unknown> extends RegistryTicketInput<V> {
3107
2408
  /** Validation rules for this field */
3108
2409
  rules?: FormValidationRule[];
3109
2410
  /** When validation should trigger (inherits from form if not set) */
@@ -3117,7 +2418,7 @@ interface FormTicketInput<V = unknown> extends RegistryTicket<V> {
3117
2418
  *
3118
2419
  * @template Z The input ticket type that extends FormTicketInput.
3119
2420
  */
3120
- type FormTicket<Z extends FormTicketInput = FormTicketInput> = Z & {
2421
+ type FormTicket<Z extends FormTicketInput = FormTicketInput> = RegistryTicket & Z & {
3121
2422
  validate: (silent?: boolean) => Promise<boolean>;
3122
2423
  reset: () => void;
3123
2424
  validateOn: 'submit' | 'change' | string;
@@ -3380,57 +2681,31 @@ declare function createFallbackHydration<E extends HydrationContext = HydrationC
3380
2681
  * })
3381
2682
  * ```
3382
2683
  */
3383
- declare function createHydrationContext<E extends HydrationContext = HydrationContext>(_options?: HydrationContextOptions): ContextTrinity<E>;
3384
- /**
3385
- * Creates a new hydration plugin.
3386
- *
3387
- * @param options The options for the hydration plugin.
3388
- * @template E The type of the hydration context.
3389
- * @returns A new hydration plugin.
3390
- *
3391
- * @see https://0.vuetifyjs.com/composables/plugins/use-hydration
3392
- *
3393
- * @example
3394
- * ```ts
3395
- * import { createApp } from 'vue'
3396
- * import { createHydrationPlugin } from '@vuetify/v0'
3397
- * import App from './App.vue'
3398
- *
3399
- * const app = createApp(App)
3400
- *
3401
- * app.use(createHydrationPlugin())
3402
- *
3403
- * app.mount('#app')
3404
- * ```
3405
- */
3406
- declare function createHydrationPlugin<E extends HydrationContext = HydrationContext>(_options?: HydrationPluginOptions): Plugin;
3407
- /**
3408
- * Returns the current hydration instance.
3409
- *
3410
- * @param namespace The namespace for the hydration context. Defaults to `v0:hydration`.
3411
- * @returns The current hydration instance.
3412
- *
3413
- * @see https://0.vuetifyjs.com/composables/plugins/use-hydration
3414
- *
3415
- * @example
3416
- * ```vue
3417
- * <script setup lang="ts">
3418
- * import { useHydration } from '@vuetify/v0'
3419
- *
3420
- * const { isHydrated, isSettled } = useHydration()
3421
- *
3422
- * // Use isSettled to gate animations after state restoration
3423
- * const transition = computed(() => isSettled.value ? 'fade' : undefined)
3424
- * </script>
3425
- *
3426
- * <template>
3427
- * <Transition :name="transition">
3428
- * <div v-if="show">Animates only after hydration settles</div>
3429
- * </Transition>
3430
- * </template>
3431
- * ```
3432
- */
3433
- declare function useHydration<E extends HydrationContext = HydrationContext>(namespace?: string): E;
2684
+ declare const createHydrationContext: <_E extends HydrationContext = HydrationContext>(_options?: HydrationContextOptions | undefined) => ContextTrinity<_E>, createHydrationPlugin: (_options?: HydrationContextOptions | undefined) => Plugin, useHydration: <_E extends HydrationContext = HydrationContext>(namespace?: string) => _E;
2685
+ //#endregion
2686
+ //#region src/composables/createObserver/index.d.ts
2687
+ interface ObserverReturn {
2688
+ /**
2689
+ * Whether the observer is currently active (created and observing)
2690
+ */
2691
+ readonly isActive: Readonly<Ref<boolean>>;
2692
+ /**
2693
+ * Whether the observer is currently paused
2694
+ */
2695
+ readonly isPaused: Readonly<Ref<boolean>>;
2696
+ /**
2697
+ * Pause observation (disconnects observer but keeps it alive)
2698
+ */
2699
+ pause: () => void;
2700
+ /**
2701
+ * Resume observation
2702
+ */
2703
+ resume: () => void;
2704
+ /**
2705
+ * Stop observation and clean up (destroys observer)
2706
+ */
2707
+ stop: () => void;
2708
+ }
3434
2709
  //#endregion
3435
2710
  //#region src/composables/useIntersectionObserver/index.d.ts
3436
2711
  interface IntersectionObserverEntry {
@@ -3449,31 +2724,11 @@ interface IntersectionObserverOptions {
3449
2724
  rootMargin?: string;
3450
2725
  threshold?: number | number[];
3451
2726
  }
3452
- interface UseIntersectionObserverReturn {
3453
- /**
3454
- * Whether the observer is currently active (created and observing)
3455
- */
3456
- readonly isActive: Readonly<Ref<boolean>>;
2727
+ interface UseIntersectionObserverReturn extends ObserverReturn {
3457
2728
  /**
3458
2729
  * Whether the target element is currently intersecting with the viewport
3459
2730
  */
3460
2731
  readonly isIntersecting: Readonly<Ref<boolean>>;
3461
- /**
3462
- * Whether the observer is currently paused
3463
- */
3464
- readonly isPaused: Readonly<Ref<boolean>>;
3465
- /**
3466
- * Pause observation (disconnects observer but keeps it alive)
3467
- */
3468
- pause: () => void;
3469
- /**
3470
- * Resume observation
3471
- */
3472
- resume: () => void;
3473
- /**
3474
- * Stop observation and clean up (destroys observer)
3475
- */
3476
- stop: () => void;
3477
2732
  }
3478
2733
  /**
3479
2734
  * A composable that uses the Intersection Observer API to detect when an element
@@ -3514,7 +2769,7 @@ interface UseIntersectionObserverReturn {
3514
2769
  * resume()
3515
2770
  * ```
3516
2771
  */
3517
- declare function useIntersectionObserver(target: MaybeRef<Element | null | undefined>, callback: (entries: IntersectionObserverEntry[]) => void, options?: IntersectionObserverOptions): UseIntersectionObserverReturn;
2772
+ declare function useIntersectionObserver(target: MaybeElementRef, callback: (entries: IntersectionObserverEntry[]) => void, options?: IntersectionObserverOptions): UseIntersectionObserverReturn;
3518
2773
  interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
3519
2774
  /**
3520
2775
  * The intersection ratio (0.0 to 1.0) indicating how much of the element is visible
@@ -3549,7 +2804,7 @@ interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
3549
2804
  * })
3550
2805
  * ```
3551
2806
  */
3552
- declare function useElementIntersection(target: MaybeRef<Element | null | undefined>, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
2807
+ declare function useElementIntersection(target: MaybeElementRef, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
3553
2808
  //#endregion
3554
2809
  //#region src/composables/useLazy/index.d.ts
3555
2810
  interface LazyOptions {
@@ -3623,25 +2878,6 @@ interface LazyContext {
3623
2878
  */
3624
2879
  declare function useLazy(active: MaybeRefOrGetter<boolean>, options?: LazyOptions): LazyContext;
3625
2880
  //#endregion
3626
- //#region src/composables/useLocale/adapters/adapter.d.ts
3627
- interface LocaleAdapter {
3628
- t: (message: string, ...params: unknown[]) => string;
3629
- n: (value: number, locale: ID | undefined, ...params: unknown[]) => string;
3630
- }
3631
- //#endregion
3632
- //#region src/composables/useLocale/adapters/v0.d.ts
3633
- /**
3634
- * Vuetify0.x locale adapter implementation
3635
- *
3636
- * This adapter provides translation and number formatting
3637
- * capabilities using the Intl API and supports both
3638
- * numbered ({0}, {1}) and named ({name}) variables in translation strings.
3639
- */
3640
- declare class Vuetify0LocaleAdapter implements LocaleAdapter {
3641
- t(message: string, ...params: unknown[]): string;
3642
- n(value: number, locale: ID | undefined, ...params: unknown[]): string;
3643
- }
3644
- //#endregion
3645
2881
  //#region src/composables/useLocale/index.d.ts
3646
2882
  type LocaleRecord = TokenCollection;
3647
2883
  /**
@@ -3693,138 +2929,16 @@ interface LocalePluginOptions extends LocaleContextOptions {}
3693
2929
  /**
3694
2930
  * Creates a new locale instance.
3695
2931
  *
3696
- * @param options The options for the locale instance.
3697
- * @template Z The type of the locale ticket.
3698
- * @template E The type of the locale context.
3699
- * @returns A new locale instance.
3700
- *
3701
- * @see https://0.vuetifyjs.com/composables/plugins/use-locale
3702
- */
3703
- declare function createLocale<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(_options?: LocaleOptions): R;
3704
- declare function createLocaleFallback<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(): R;
3705
- /**
3706
- * Creates a new locale context.
3707
- *
3708
- * @param options The options for the locale context.
3709
- * @template Z The type of the locale ticket.
3710
- * @template E The type of the locale context.
3711
- * @returns A new locale context.
3712
- *
3713
- * @see https://0.vuetifyjs.com/composables/plugins/use-locale
3714
- *
3715
- * @example
3716
- * ```ts
3717
- * import { createLocaleContext } from '@vuetify/v0'
3718
- *
3719
- * export const [useAppLocale, provideAppLocale, appLocale] = createLocaleContext({
3720
- * namespace: 'app:locale',
3721
- * messages: {
3722
- * en: { hello: 'Hello' },
3723
- * es: { hello: 'Hola' },
3724
- * },
3725
- * })
3726
- *
3727
- * // In a parent component:
3728
- * provideAppLocale()
3729
- *
3730
- * // In a child component:
3731
- * const locale = useAppLocale()
3732
- * locale.select('es')
3733
- * ```
3734
- */
3735
- declare function createLocaleContext<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(_options?: LocaleContextOptions): ContextTrinity<R>;
3736
- /**
3737
- * Creates a new locale plugin.
3738
- *
3739
- * @param options The options for the locale plugin.
2932
+ * @param options The options for the locale instance.
3740
2933
  * @template Z The type of the locale ticket.
3741
2934
  * @template E The type of the locale context.
3742
- * @template R The type of the token ticket.
3743
- * @template O The type of the token context.
3744
- * @returns A new locale plugin.
3745
- *
3746
- * @see https://0.vuetifyjs.com/composables/plugins/use-locale
3747
- */
3748
- declare function createLocalePlugin<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(_options?: LocalePluginOptions): Plugin;
3749
- /**
3750
- * Returns the current locale instance.
3751
- *
3752
- * @returns The current locale instance.
2935
+ * @returns A new locale instance.
3753
2936
  *
3754
2937
  * @see https://0.vuetifyjs.com/composables/plugins/use-locale
3755
2938
  */
3756
- declare function useLocale<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(namespace?: string): R;
3757
- //#endregion
3758
- //#region src/composables/useLogger/adapters/adapter.d.ts
3759
- interface LoggerAdapter {
3760
- debug: (message: string, ...args: unknown[]) => void;
3761
- info: (message: string, ...args: unknown[]) => void;
3762
- warn: (message: string, ...args: unknown[]) => void;
3763
- error: (message: string, ...args: unknown[]) => void;
3764
- trace?: (message: string, ...args: unknown[]) => void;
3765
- fatal?: (message: string, ...args: unknown[]) => void;
3766
- }
3767
- //#endregion
3768
- //#region src/composables/useLogger/adapters/consola.d.ts
3769
- declare class ConsolaLoggerAdapter implements LoggerAdapter {
3770
- private consola;
3771
- constructor(consolaInstance: any);
3772
- debug(message: string, ...args: unknown[]): void;
3773
- info(message: string, ...args: unknown[]): void;
3774
- warn(message: string, ...args: unknown[]): void;
3775
- error(message: string, ...args: unknown[]): void;
3776
- trace(message: string, ...args: unknown[]): void;
3777
- fatal(message: string, ...args: unknown[]): void;
3778
- }
3779
- //#endregion
3780
- //#region src/composables/useLogger/adapters/pino.d.ts
3781
- /**
3782
- * Pino logger adapter implementation
3783
- *
3784
- * This adapter integrates with the Pino logging library,
3785
- * providing high-performance structured logging optimized
3786
- * for Node.js applications with minimal overhead.
3787
- */
3788
- declare class PinoLoggerAdapter implements LoggerAdapter {
3789
- private pino;
3790
- constructor(pinoInstance: any);
3791
- debug(message: string, ...args: unknown[]): void;
3792
- info(message: string, ...args: unknown[]): void;
3793
- warn(message: string, ...args: unknown[]): void;
3794
- error(message: string, ...args: unknown[]): void;
3795
- trace(message: string, ...args: unknown[]): void;
3796
- fatal(message: string, ...args: unknown[]): void;
3797
- private format;
3798
- }
3799
- //#endregion
3800
- //#region src/composables/useLogger/adapters/v0.d.ts
3801
- /**
3802
- * Vuetify0.x logger adapter implementation
3803
- *
3804
- * This adapter provides console-based logging with proper formatting,
3805
- * color coding, timestamps, and log level filtering for development
3806
- * and production environments.
3807
- */
3808
- declare class Vuetify0LoggerAdapter implements LoggerAdapter {
3809
- private prefix;
3810
- private colors;
3811
- private timestamps;
3812
- constructor(options?: {
3813
- prefix?: string;
3814
- colors?: boolean;
3815
- timestamps?: boolean;
3816
- });
3817
- debug(message: string, ...args: unknown[]): void;
3818
- info(message: string, ...args: unknown[]): void;
3819
- warn(message: string, ...args: unknown[]): void;
3820
- error(message: string, ...args: unknown[]): void;
3821
- trace(message: string, ...args: unknown[]): void;
3822
- fatal(message: string, ...args: unknown[]): void;
3823
- private format;
3824
- private timestamp;
3825
- private style;
3826
- private log;
3827
- }
2939
+ declare function createLocale<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(_options?: LocaleOptions): R;
2940
+ declare function createLocaleFallback<Z extends LocaleTicketInput = LocaleTicketInput, E extends LocaleTicket<Z> = LocaleTicket<Z>, R extends LocaleContext<Z, E> = LocaleContext<Z, E>>(): R;
2941
+ declare const createLocaleContext: <_E extends LocaleContext<LocaleTicketInput, LocaleTicket<LocaleTicketInput>> = LocaleContext<LocaleTicketInput, LocaleTicket<LocaleTicketInput>>>(_options?: LocaleContextOptions | undefined) => ContextTrinity<_E>, createLocalePlugin: (_options?: LocaleContextOptions | undefined) => Plugin, useLocale: <_E extends LocaleContext<LocaleTicketInput, LocaleTicket<LocaleTicketInput>> = LocaleContext<LocaleTicketInput, LocaleTicket<LocaleTicketInput>>>(namespace?: string) => _E;
3828
2942
  //#endregion
3829
2943
  //#region src/composables/useLogger/types.d.ts
3830
2944
  type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'silent';
@@ -3897,56 +3011,7 @@ declare function createLogger<E extends LoggerContext = LoggerContext>(options?:
3897
3011
  * })
3898
3012
  * ```
3899
3013
  */
3900
- declare function createLoggerContext<E extends LoggerContext = LoggerContext>(_options?: LoggerContextOptions): ContextTrinity<E>;
3901
- /**
3902
- * Creates a new logger plugin.
3903
- *
3904
- * @param options The options for the logger plugin.
3905
- * @returns A new logger plugin.
3906
- *
3907
- * @see https://0.vuetifyjs.com/composables/plugins/use-logger
3908
- *
3909
- * @example
3910
- * ```ts
3911
- * import { createApp } from 'vue'
3912
- * import { createLoggerPlugin } from '@vuetify/v0'
3913
- * import App from './App.vue'
3914
- *
3915
- * const app = createApp(App)
3916
- *
3917
- * app.use(
3918
- * createLoggerPlugin({
3919
- * level: 'debug',
3920
- * prefix: '[MyApp]',
3921
- * })
3922
- * )
3923
- *
3924
- * app.mount('#app')
3925
- * ```
3926
- */
3927
- declare function createLoggerPlugin<E extends LoggerContext = LoggerContext>(_options?: LoggerPluginOptions): Plugin;
3928
- /**
3929
- * Uses an existing or creates a new logger instance.
3930
- *
3931
- * @param namespace The namespace for the logger context. Defaults to `'v0:logger'`.
3932
- * @returns The logger instance.
3933
- *
3934
- * @see https://0.vuetifyjs.com/composables/plugins/use-logger
3935
- *
3936
- * @example
3937
- * ```ts
3938
- * import { useLogger } from '@vuetify/v0'
3939
- *
3940
- * const logger = useLogger()
3941
- *
3942
- * logger.info('This is an info message')
3943
- * logger.debug('This is a debug message')
3944
- * logger.error('This is an error message')
3945
- * logger.level('debug')
3946
- * logger.debug('This debug message will now be logged')
3947
- * ```
3948
- */
3949
- declare function useLogger<E extends LoggerContext = LoggerContext>(namespace?: string): E;
3014
+ declare const createLoggerContext: <_E extends LoggerContext = LoggerContext>(_options?: LoggerContextOptions | undefined) => ContextTrinity<_E>, createLoggerPlugin: (_options?: LoggerContextOptions | undefined) => Plugin, useLogger: <_E extends LoggerContext = LoggerContext>(namespace?: string) => _E;
3950
3015
  //#endregion
3951
3016
  //#region src/composables/useMediaQuery/index.d.ts
3952
3017
  interface MediaQueryContext {
@@ -4017,11 +3082,17 @@ declare function usePrefersReducedMotion(): MediaQueryContext;
4017
3082
  declare function usePrefersContrast(): MediaQueryContext;
4018
3083
  //#endregion
4019
3084
  //#region src/composables/useMutationObserver/index.d.ts
3085
+ interface ObservableNodeList {
3086
+ readonly length: number;
3087
+ item: (index: number) => Node | null;
3088
+ forEach: (callback: (node: Node, index: number, list: ObservableNodeList) => void) => void;
3089
+ [Symbol.iterator]: () => Iterator<Node>;
3090
+ }
4020
3091
  interface MutationObserverRecord {
4021
3092
  type: 'attributes' | 'childList' | 'characterData';
4022
3093
  target: Node;
4023
- addedNodes: NodeList;
4024
- removedNodes: NodeList;
3094
+ addedNodes: ObservableNodeList;
3095
+ removedNodes: ObservableNodeList;
4025
3096
  previousSibling: Node | null;
4026
3097
  nextSibling: Node | null;
4027
3098
  attributeName: string | null;
@@ -4039,28 +3110,7 @@ interface UseMutationObserverOptions {
4039
3110
  characterDataOldValue?: boolean;
4040
3111
  attributeFilter?: string[];
4041
3112
  }
4042
- interface UseMutationObserverReturn {
4043
- /**
4044
- * Whether the observer is currently active (created and observing)
4045
- */
4046
- readonly isActive: Readonly<Ref<boolean>>;
4047
- /**
4048
- * Whether the observer is currently paused
4049
- */
4050
- readonly isPaused: Readonly<Ref<boolean>>;
4051
- /**
4052
- * Pause observation (disconnects observer but keeps it alive)
4053
- */
4054
- pause: () => void;
4055
- /**
4056
- * Resume observation
4057
- */
4058
- resume: () => void;
4059
- /**
4060
- * Stop observation and clean up (destroys observer)
4061
- */
4062
- stop: () => void;
4063
- }
3113
+ interface UseMutationObserverReturn extends ObserverReturn {}
4064
3114
  /**
4065
3115
  * A composable that uses the Mutation Observer API to detect changes in the DOM.
4066
3116
  *
@@ -4104,7 +3154,7 @@ interface UseMutationObserverReturn {
4104
3154
  * resume()
4105
3155
  * ```
4106
3156
  */
4107
- declare function useMutationObserver(target: MaybeRef<Element | null | undefined>, callback: (entries: MutationObserverRecord[]) => void, options?: UseMutationObserverOptions): UseMutationObserverReturn;
3157
+ declare function useMutationObserver(target: MaybeElementRef, callback: (entries: MutationObserverRecord[]) => void, options?: UseMutationObserverOptions): UseMutationObserverReturn;
4108
3158
  //#endregion
4109
3159
  //#region src/composables/createNested/types.d.ts
4110
3160
  /**
@@ -4548,85 +3598,7 @@ interface PermissionPluginOptions extends PermissionContextOptions {}
4548
3598
  * ```
4549
3599
  */
4550
3600
  declare function createPermissions<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionOptions): E;
4551
- /**
4552
- * Creates a new permissions context.
4553
- *
4554
- * @param options The options for the permissions context.
4555
- * @template Z The type of the permission ticket.
4556
- * @template E The type of the permission context.
4557
- * @returns A new permissions context.
4558
- *
4559
- * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
4560
- *
4561
- * @example
4562
- * ```ts
4563
- * import { createPermissionsContext } from '@vuetify/v0'
4564
- *
4565
- * export const [usePermissions, providePermissions, context] = createPermissionsContext({
4566
- * namespace: 'app:permissions',
4567
- * permissions: {
4568
- * admin: [['read', 'users'], ['edit', 'users']],
4569
- * editor: [['edit', 'posts']],
4570
- * },
4571
- * })
4572
- * ```
4573
- */
4574
- declare function createPermissionsContext<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionContextOptions): ContextTrinity<E>;
4575
- /**
4576
- * Creates a new permissions plugin.
4577
- *
4578
- * @param options The options for the permissions plugin.
4579
- * @template Z The type of the permission ticket.
4580
- * @template E The type of the permission context.
4581
- * @returns A new permissions plugin.
4582
- *
4583
- * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
4584
- *
4585
- * @example
4586
- * ```ts
4587
- * import { createApp } from 'vue'
4588
- * import { createPermissionsPlugin } from '@vuetify/v0'
4589
- * import App from './App.vue'
4590
- *
4591
- * const app = createApp(App)
4592
- *
4593
- * app.use(
4594
- * createPermissionsPlugin({
4595
- * permissions: {
4596
- * admin: [['read', 'users']],
4597
- * editor: [['edit', 'posts']],
4598
- * },
4599
- * })
4600
- * )
4601
- *
4602
- * app.mount('#app')
4603
- * ```
4604
- */
4605
- declare function createPermissionsPlugin<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionPluginOptions): Plugin;
4606
- /**
4607
- * Returns the current permissions instance.
4608
- *
4609
- * @template Z The type of the permission ticket.
4610
- * @returns The current permissions instance.
4611
- *
4612
- * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
4613
- *
4614
- * @example
4615
- * ```vue
4616
- * <script setup lang="ts">
4617
- * import { usePermissions } from '@vuetify/v0'
4618
- *
4619
- * const { can } = usePermissions()
4620
- * </script>
4621
- *
4622
- * <template>
4623
- * <div>
4624
- * <p v-if="can('admin', 'read', 'users')">Admin access</p>
4625
- * </div>
4626
- * </template>
4627
- * ```
4628
- */
4629
- declare function usePermissions<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(namespace?: string): E;
3601
+ declare const createPermissionsContext: <_E extends PermissionContext<PermissionTicket> = PermissionContext<PermissionTicket>>(_options?: PermissionContextOptions | undefined) => ContextTrinity<_E>, createPermissionsPlugin: (_options?: PermissionContextOptions | undefined) => Plugin, usePermissions: <_E extends PermissionContext<PermissionTicket> = PermissionContext<PermissionTicket>>(namespace?: string) => _E;
4630
3602
  //#endregion
4631
3603
  //#region src/composables/useProxyModel/index.d.ts
4632
3604
  interface ProxyModelOptions {
@@ -4701,7 +3673,7 @@ declare function useProxyRegistry<Z extends RegistryTicket = RegistryTicket>(reg
4701
3673
  *
4702
3674
  * @template V The type of the ticket value.
4703
3675
  */
4704
- interface QueueTicketInput<V = unknown> extends RegistryTicket<V> {
3676
+ interface QueueTicketInput<V = unknown> extends RegistryTicketInput<V> {
4705
3677
  /**
4706
3678
  * Timeout in milliseconds
4707
3679
  *
@@ -4718,7 +3690,7 @@ interface QueueTicketInput<V = unknown> extends RegistryTicket<V> {
4718
3690
  *
4719
3691
  * @template Z The input ticket type that extends QueueTicketInput.
4720
3692
  */
4721
- type QueueTicket<Z extends QueueTicketInput = QueueTicketInput> = Z & {
3693
+ type QueueTicket<Z extends QueueTicketInput = QueueTicketInput> = RegistryTicket & Z & {
4722
3694
  /**
4723
3695
  * Timeout in milliseconds (resolved from input or default)
4724
3696
  */
@@ -5015,28 +3987,7 @@ interface ResizeObserverOptions {
5015
3987
  once?: boolean;
5016
3988
  box?: 'content-box' | 'border-box';
5017
3989
  }
5018
- interface UseResizeObserverReturn {
5019
- /**
5020
- * Whether the observer is currently active (created and observing)
5021
- */
5022
- readonly isActive: Readonly<Ref<boolean>>;
5023
- /**
5024
- * Whether the observer is currently paused
5025
- */
5026
- readonly isPaused: Readonly<Ref<boolean>>;
5027
- /**
5028
- * Pause observation (disconnects observer but keeps it alive)
5029
- */
5030
- pause: () => void;
5031
- /**
5032
- * Resume observation
5033
- */
5034
- resume: () => void;
5035
- /**
5036
- * Stop observation and clean up (destroys observer)
5037
- */
5038
- stop: () => void;
5039
- }
3990
+ interface UseResizeObserverReturn extends ObserverReturn {}
5040
3991
  /**
5041
3992
  * A composable that uses the Resize Observer API to detect when an element's
5042
3993
  * size changes.
@@ -5078,16 +4029,16 @@ interface UseResizeObserverReturn {
5078
4029
  * resume()
5079
4030
  * ```
5080
4031
  */
5081
- declare function useResizeObserver(target: MaybeRef<Element | null | undefined>, callback: (entries: ResizeObserverEntry[]) => void, options?: ResizeObserverOptions): UseResizeObserverReturn;
4032
+ declare function useResizeObserver(target: MaybeElementRef, callback: (entries: ResizeObserverEntry[]) => void, options?: ResizeObserverOptions): UseResizeObserverReturn;
5082
4033
  interface UseElementSizeReturn extends UseResizeObserverReturn {
5083
4034
  /**
5084
4035
  * The width of the element in pixels
5085
4036
  */
5086
- width: Ref<number>;
4037
+ readonly width: Readonly<Ref<number>>;
5087
4038
  /**
5088
4039
  * The height of the element in pixels
5089
4040
  */
5090
- height: Ref<number>;
4041
+ readonly height: Readonly<Ref<number>>;
5091
4042
  }
5092
4043
  /**
5093
4044
  * A convenience composable that uses the Resize Observer API to track an
@@ -5112,7 +4063,7 @@ interface UseElementSizeReturn extends UseResizeObserverReturn {
5112
4063
  * })
5113
4064
  * ```
5114
4065
  */
5115
- declare function useElementSize(target: MaybeRef<Element | null | undefined>): UseElementSizeReturn;
4066
+ declare function useElementSize(target: MaybeElementRef): UseElementSizeReturn;
5116
4067
  //#endregion
5117
4068
  //#region src/composables/useStack/index.d.ts
5118
4069
  /**
@@ -5519,40 +4470,6 @@ declare function createStepContext<Z extends StepTicketInput = StepTicketInput,
5519
4470
  */
5520
4471
  declare function useStep<Z extends StepTicketInput = StepTicketInput, E extends StepTicket<Z> = StepTicket<Z>, R extends StepContext<Z, E> = StepContext<Z, E>>(namespace?: string): R;
5521
4472
  //#endregion
5522
- //#region src/composables/useStorage/adapters/adapter.d.ts
5523
- interface StorageAdapter$1 {
5524
- getItem: (key: string) => string | null;
5525
- setItem: (key: string, value: string) => void;
5526
- removeItem: (key: string) => void;
5527
- readonly length?: number;
5528
- key?: (index: number) => string | null;
5529
- }
5530
- //#endregion
5531
- //#region src/composables/useStorage/adapters/memory.d.ts
5532
- /**
5533
- * In-memory storage adapter that implements the StorageAdapter interface.
5534
- * This adapter provides temporary storage that persists only for the current
5535
- * session and is useful for testing or when persistent storage is not available.
5536
- */
5537
- declare class MemoryAdapter implements StorageAdapter$1 {
5538
- private store;
5539
- get length(): number;
5540
- getItem(key: string): string | null;
5541
- setItem(key: string, value: string): void;
5542
- removeItem(key: string): void;
5543
- key(index: number): string;
5544
- }
5545
- //#endregion
5546
- //#region src/composables/useStorage/adapters/index.d.ts
5547
- type StorageType = 'localStorage' | 'sessionStorage' | 'memory';
5548
- interface StorageAdapter {
5549
- getItem: (key: string) => string | null;
5550
- setItem: (key: string, value: string) => void;
5551
- removeItem: (key: string) => void;
5552
- readonly length?: number;
5553
- key?: (index: number) => string | null;
5554
- }
5555
- //#endregion
5556
4473
  //#region src/composables/useStorage/index.d.ts
5557
4474
  interface StorageContext {
5558
4475
  /** Check if a key exists in storage */
@@ -5607,54 +4524,7 @@ interface StoragePluginOptions extends StorageContextOptions {}
5607
4524
  * ```
5608
4525
  */
5609
4526
  declare function createStorage<E extends StorageContext>(options?: StorageOptions): E;
5610
- declare function createStorageContext<E extends StorageContext = StorageContext>(_options?: StorageContextOptions): ContextTrinity<E>;
5611
- /**
5612
- * Creates a new storage plugin.
5613
- *
5614
- * @param options The options for the storage plugin.
5615
- * @returns A new storage plugin.
5616
- *
5617
- * @see https://0.vuetifyjs.com/composables/plugins/use-storage
5618
- *
5619
- * @example
5620
- * ```ts
5621
- * import { createApp } from 'vue'
5622
- * import { createStoragePlugin } from '@vuetify/v0'
5623
- * import App from './App.vue'
5624
- *
5625
- * const app = createApp(App)
5626
- *
5627
- * app.use(createStoragePlugin())
5628
- *
5629
- * app.mount('#app')
5630
- * ```
5631
- */
5632
- declare function createStoragePlugin<E extends StorageContext = StorageContext>(_options?: StoragePluginOptions): Plugin;
5633
- /**
5634
- * Returns the current storage instance.
5635
- *
5636
- * @param namespace The namespace for the storage context. Defaults to `'v0:storage'`.
5637
- * @returns The current storage instance.
5638
- *
5639
- * @see https://0.vuetifyjs.com/composables/plugins/use-storage
5640
- *
5641
- * @example
5642
- * ```vue
5643
- * <script setup lang="ts">
5644
- * import { useStorage } from '@vuetify/v0'
5645
- *
5646
- * const storage = useStorage()
5647
- * const username = storage.get('username', 'Guest')
5648
- * </script>
5649
- *
5650
- * <template>
5651
- * <div>
5652
- * <p>Username: {{ username }}</p>
5653
- * </div>
5654
- * </template>
5655
- * ```
5656
- */
5657
- declare function useStorage<E extends StorageContext = StorageContext>(namespace?: string): E;
4527
+ declare const createStorageContext: <_E extends StorageContext = StorageContext>(_options?: StorageContextOptions | undefined) => ContextTrinity<_E>, createStoragePlugin: (_options?: StorageContextOptions | undefined) => Plugin, useStorage: <_E extends StorageContext = StorageContext>(namespace?: string) => _E;
5658
4528
  //#endregion
5659
4529
  //#region src/composables/useTheme/adapters/adapter.d.ts
5660
4530
  interface ThemeAdapterSetupContext {
@@ -5871,107 +4741,7 @@ interface ThemePluginOptions extends ThemeContextOptions {}
5871
4741
  * ```
5872
4742
  */
5873
4743
  declare function createTheme<Z extends ThemeTicketInput = ThemeTicketInput, E extends ThemeTicket<Z> = ThemeTicket<Z>, R extends ThemeContext<Z, E> = ThemeContext<Z, E>>(_options?: ThemeOptions): R;
5874
- /**
5875
- * Creates a new theme context trinity.
5876
- *
5877
- * @param options The options for the theme context.
5878
- * @template Z The type of the theme ticket.
5879
- * @template E The type of the theme context.
5880
- * @returns A new theme context trinity.
5881
- *
5882
- * @see https://0.vuetifyjs.com/composables/plugins/use-theme
5883
- *
5884
- * @example
5885
- * ```ts
5886
- * import { createThemeContext } from '@vuetify/v0'
5887
- *
5888
- * export const [useThemeContext, provideThemeContext, context] = createThemeContext({
5889
- * namespace: 'v0:theme',
5890
- * default: 'light',
5891
- * themes: {
5892
- * light: {
5893
- * dark: false,
5894
- * colors: {
5895
- * primary: '#3b82f6',
5896
- * },
5897
- * },
5898
- * dark: {
5899
- * dark: true,
5900
- * colors: {
5901
- * primary: '#675496',
5902
- * },
5903
- * },
5904
- * },
5905
- * })
5906
- * ```
5907
- */
5908
- declare function createThemeContext<Z extends ThemeTicketInput = ThemeTicketInput, E extends ThemeTicket<Z> = ThemeTicket<Z>, R extends ThemeContext<Z, E> = ThemeContext<Z, E>>(_options?: ThemeContextOptions): ContextTrinity<R>;
5909
- /**
5910
- * Creates a new theme plugin.
5911
- *
5912
- * @param options The options for the theme plugin.
5913
- * @template Z The type of the theme ticket.
5914
- * @template E The type of the theme context.
5915
- * @returns A new theme plugin.
5916
- *
5917
- * @see https://0.vuetifyjs.com/composables/plugins/use-theme
5918
- *
5919
- * @example
5920
- * ```ts
5921
- * import { createApp } from 'vue'
5922
- * import { createThemePlugin } from '@vuetify/v0'
5923
- * import App from './App.vue'
5924
- *
5925
- * const app = createApp(App)
5926
- *
5927
- * app.use(
5928
- * createThemePlugin({
5929
- * default: 'light',
5930
- * themes: {
5931
- * light: {
5932
- * dark: false,
5933
- * colors: {
5934
- * primary: '#3b82f6',
5935
- * },
5936
- * },
5937
- * dark: {
5938
- * dark: true,
5939
- * colors: {
5940
- * primary: '#675496',
5941
- * },
5942
- * },
5943
- * },
5944
- * })
5945
- * )
5946
- *
5947
- * app.mount('#app')
5948
- * ```
5949
- */
5950
- declare function createThemePlugin<Z extends ThemeTicketInput = ThemeTicketInput, E extends ThemeTicket<Z> = ThemeTicket<Z>, R extends ThemeContext<Z, E> = ThemeContext<Z, E>>(_options?: ThemePluginOptions): Plugin;
5951
- /**
5952
- * Returns the current theme instance.
5953
- *
5954
- * @param namespace The namespace for the theme context. Defaults to `v0:theme`.
5955
- * @returns The current theme instance.
5956
- *
5957
- * @see https://0.vuetifyjs.com/composables/plugins/use-theme
5958
- *
5959
- * @example
5960
- * ```vue
5961
- * <script setup lang="ts">
5962
- * import { useTheme } from '@vuetify/v0'
5963
- *
5964
- * const theme = useTheme()
5965
- * </script>
5966
- *
5967
- * <template>
5968
- * <div>
5969
- * <p>Current theme: {{ theme.selected.value }}</p>
5970
- * </div>
5971
- * </template>
5972
- * ```
5973
- */
5974
- declare function useTheme<Z extends ThemeTicketInput = ThemeTicketInput, E extends ThemeTicket<Z> = ThemeTicket<Z>, R extends ThemeContext<Z, E> = ThemeContext<Z, E>>(namespace?: string): R;
4744
+ declare const createThemeContext: <_E extends ThemeContext<ThemeTicketInput, ThemeTicket<ThemeTicketInput>> = ThemeContext<ThemeTicketInput, ThemeTicket<ThemeTicketInput>>>(_options?: ThemePluginOptions | undefined) => ContextTrinity<_E>, createThemePlugin: (_options?: ThemePluginOptions | undefined) => Plugin, useTheme: <_E extends ThemeContext<ThemeTicketInput, ThemeTicket<ThemeTicketInput>> = ThemeContext<ThemeTicketInput, ThemeTicket<ThemeTicketInput>>>(namespace?: string) => _E;
5975
4745
  //#endregion
5976
4746
  //#region src/composables/createTimeline/index.d.ts
5977
4747
  interface TimelineContext<Z extends TimelineTicket> extends RegistryContext<Z> {
@@ -6550,4 +5320,4 @@ declare function createVirtualContext<T = unknown>(items: Ref<readonly T[]>, _op
6550
5320
  */
6551
5321
  declare function useVirtual<T = unknown>(namespace?: string): VirtualContext<T>;
6552
5322
  //#endregion
6553
- export { createStepContext as $, useSelection as $a, FilterContext as $i, createHydration as $n, createDate as $r, NestedTicket as $t, createTheme as A, BreadcrumbTicket as Aa, DataTableSelection as Ai, LocaleTicket as An, FeaturesAdapterInterface as Ar, PermissionContext as At, createStorage as B, SingleOptions as Ba, DataTableAdapter as Bi, LazyOptions as Bn, TokenValue as Br, PermissionAdapterInterface as Bt, ThemeContext as C, GroupContextOptions as Ca, DataTableColumn as Ci, ConsolaLoggerAdapter as Cn, FeatureTicketInput as Cr, createQueueContext as Ct, ThemeRecord as D, createGroup as Da, DataTableGroup as Di, LocaleOptions as Dn, useFeatures as Dr, useProxyRegistry as Dt, ThemePluginOptions as E, GroupTicketInput as Ea, DataTableExpansion as Ei, LocaleContextOptions as En, createFeaturesPlugin as Er, ProxyRegistryOptions as Et, ThemeAdapter as F, createBreadcrumbs as Fa, useDataTable as Fi, createLocalePlugin as Fn, TokenContext as Fr, createPermissions as Ft, StorageType as G, useSingle as Ga, SortEntry as Gi, UseIntersectionObserverReturn as Gn, EventHandler as Gr, singleOpenStrategy as Gt, createStoragePlugin as H, SingleTicketInput as Ha, DataTableAdapterInterface as Hi, IntersectionObserverEntry as Hn, createTokensContext as Hr, createNestedContext as Ht, StorageContext as I, createBreadcrumbsContext as Ia, VirtualAdapter as Ii, useLocale as In, TokenContextOptions as Ir, createPermissionsContext as It, StepContextOptions as J, SelectionOptions as Ja, PaginationOptions as Ji, HydrationContext as Jn, useWindowEventListener as Jr, NestedContextOptions as Jt, MemoryAdapter as K, SelectionContext as Ka, PaginationContext as Ki, useElementIntersection as Kn, useDocumentEventListener as Kr, NestedActiveMode as Kt, StorageContextOptions as L, useBreadcrumbs as La, ClientAdapter as Li, Vuetify0LocaleAdapter as Ln, TokenOptions as Lr, createPermissionsPlugin as Lt, createThemePlugin as M, BreadcrumbsContext as Ma, SelectStrategy as Mi, createLocale as Mn, FlatTokenCollection as Mr, PermissionOptions as Mt, useTheme as N, BreadcrumbsContextOptions as Na, createDataTable as Ni, createLocaleContext as Nn, TokenAlias as Nr, PermissionPluginOptions as Nt, ThemeTicket as O, createGroupContext as Oa, DataTableGrouping as Oi, LocalePluginOptions as On, FeaturesAdapter as Or, ProxyModelOptions as Ot, Vuetify0ThemeAdapter as P, BreadcrumbsOptions as Pa, createDataTableContext as Pi, createLocaleFallback as Pn, TokenCollection as Pr, PermissionTicket as Pt, createStep as Q, createSelectionContext as Qa, usePagination as Qi, createFallbackHydration as Qn, DatePluginOptions as Qr, NestedSelectionMode as Qt, StorageOptions as R, SingleContext as Ra, ServerAdapter as Ri, LocaleAdapter as Rn, TokenPrimitive as Rr, usePermissions as Rt, ThemeColors as S, GroupContext as Sa, createPlugin as Si, PinoLoggerAdapter as Sn, FeatureTicket as Sr, createQueue as St, ThemeOptions as T, GroupTicket as Ta, DataTableContextOptions as Ti, LocaleContext as Tn, createFeaturesContext as Tr, ProxyRegistryContext as Tt, useStorage as U, createSingle as Ua, DataTableAdapterResult as Ui, IntersectionObserverOptions as Un, useTokens as Ur, useNested as Ut, createStorageContext as V, SingleTicket as Va, DataTableAdapterContext as Vi, useLazy as Vn, createTokens as Vr, createNested as Vt, StorageAdapter as W, createSingleContext as Wa, SortDirection as Wi, UseElementIntersectionReturn as Wn, CleanupFunction as Wr, multipleOpenStrategy as Wt, StepTicket as X, SelectionTicketInput as Xa, createPagination as Xi, HydrationOptions as Xn, DateContextOptions as Xr, NestedOptions as Xt, StepOptions as Y, SelectionTicket as Ya, PaginationTicket as Yi, HydrationContextOptions as Yn, DateContext as Yr, NestedOpenMode as Yt, StepTicketInput as Z, createSelection as Za, createPaginationContext as Zi, HydrationPluginOptions as Zn, DateOptions as Zr, NestedRegistration as Zt, TimelineTicket as _, OverflowContextOptions as _a, useBreakpoints as _i, createLoggerContext as _n, useForm as _r, QueueContext as _t, VirtualDirection as a, FilterQuery as aa, ClickOutsideTarget as ai, UseMutationObserverReturn as an, RegistryOptions as ao, UseHotkeyReturn as ar, StackTicket as at, useTimeline as b, createOverflowContext as ba, Plugin as bi, LogLevel as bn, FeatureOptions as br, QueueTicket as bt, VirtualState as c, createFilter as ca, useClickOutside as ci, useMediaQuery as cn, createRegistryContext as co, FormContextOptions as cr, createStackContext as ct, useVirtual as d, ContextKey as da, BreakpointsContextOptions as di, usePrefersReducedMotion as dn, createTrinity as do, FormTicketInput as dr, ResizeObserverEntry as dt, FilterContextOptions as ea, createDateContext as ei, NestedTicketInput as en, RegistryContext as eo, createHydrationContext as er, useStep as et, ToggleScopeControls as f, CreateContextOptions as fa, BreakpointsOptions as fi, LoggerContext as fn, FormValidationResult as fr, ResizeObserverOptions as ft, TimelineOptions as g, OverflowContext as ga, createBreakpointsPlugin as gi, createLogger as gn, createFormContext as gr, useResizeObserver as gt, TimelineContextOptions as h, useContext as ha, createBreakpointsContext as hi, LoggerPluginOptions as hn, createForm as hr, useElementSize as ht, VirtualContextOptions as i, FilterOptions as ia, ClickOutsideIgnoreTarget as ii, UseMutationObserverOptions as in, RegistryEventName as io, UseHotkeyOptions as ir, StackPluginOptions as it, createThemeContext as j, BreadcrumbTicketInput as ja, DataTableSort as ji, LocaleTicketInput as jn, FeaturesAdapterValue as jr, PermissionContextOptions as jt, ThemeTicketInput as k, useGroup as ka, DataTableOptions as ki, LocaleRecord as kn, FeaturesAdapterFlags as kr, useProxyModel as kt, createVirtual as l, createFilterContext as la, BreakpointName as li, usePrefersContrast as ln, useRegistry as lo, FormOptions as lr, createStackPlugin as lt, TimelineContext as m, provideContext as ma, createBreakpoints as mi, LoggerOptions as mn, FormValue as mr, UseResizeObserverReturn as mt, VirtualAnchor as n, FilterItem as na, useDate as ni, OpenStrategyContext as nn, RegistryEventCallback as no, useHydration as nr, StackContextOptions as nt, VirtualItem as o, FilterResult as oa, UseClickOutsideOptions as oi, useMutationObserver as on, RegistryTicket as oo, useHotkey as or, StackTicketInput as ot, useToggleScope as p, createContext as pa, BreakpointsPluginOptions as pi, LoggerContextOptions as pn, FormValidationRule as pr, UseElementSizeReturn as pt, StepContext as q, SelectionContextOptions as qa, PaginationContextOptions as qi, useIntersectionObserver as qn, useEventListener as qr, NestedContext as qt, VirtualContext as r, FilterMode as ra, ClickOutsideElement as ri, MutationObserverRecord as rn, RegistryEventMap as ro, PlatformContext as rr, StackOptions as rt, VirtualOptions as s, Primitive as sa, UseClickOutsideReturn as si, MediaQueryContext as sn, createRegistry as so, FormContext as sr, createStack as st, ScrollToOptions as t, FilterFunction as ta, createDatePlugin as ti, OpenStrategy as tn, RegistryContextOptions as to, createHydrationPlugin as tr, StackContext as tt, createVirtualContext as u, useFilter as ua, BreakpointsContext as ui, usePrefersDark as un, ContextTrinity as uo, FormTicket as ur, useStack as ut, createTimeline as v, OverflowOptions as va, toReactive as vi, createLoggerPlugin as vn, FeatureContext as vr, QueueContextOptions as vt, ThemeContextOptions as w, GroupOptions as wa, DataTableContext as wi, LoggerAdapter as wn, createFeatures as wr, useQueue as wt, Colors as x, useOverflow as xa, PluginOptions as xi, Vuetify0LoggerAdapter as xn, FeaturePluginOptions as xr, QueueTicketInput as xt, createTimelineContext as y, createOverflow as ya, toArray as yi, useLogger as yn, FeatureContextOptions as yr, QueueOptions as yt, StoragePluginOptions as z, SingleContextOptions as za, ServerAdapterOptions as zi, LazyContext as zn, TokenTicket as zr, PermissionAdapter as zt };
5323
+ export { useStep as $, SelectionContextOptions as $i, UseHotkeyReturn as $n, BreakpointName as $r, NestedTicketInput as $t, createTheme as A, GroupOptions as Ai, createLocaleFallback as An, TokenValue as Ar, PermissionContextOptions as At, StorageOptions as B, BreadcrumbsOptions as Bi, useElementIntersection as Bn, DateContextOptions as Br, createNested as Bt, ThemeContext as C, OverflowContextOptions as Ci, LocaleOptions as Cn, TokenAlias as Cr, useQueue as Ct, ThemeRecord as D, useOverflow as Di, LocaleTicketInput as Dn, TokenOptions as Dr, ProxyModelOptions as Dt, ThemePluginOptions as E, createOverflowContext as Ei, LocaleTicket as En, TokenContextOptions as Er, useProxyRegistry as Et, Vuetify0ThemeOptions as F, useGroup as Fi, useLazy as Fn, EventHandler as Fr, createPermissionsContext as Ft, useStorage as G, SingleContextOptions as Gi, HydrationPluginOptions as Gn, createDatePlugin as Gr, NestedActiveMode as Gt, createStorage as H, createBreadcrumbsContext as Hi, HydrationContext as Hn, DatePluginOptions as Hr, useNested as Ht, ThemeAdapter as I, BreadcrumbTicket as Ii, IntersectionObserverEntry as In, useDocumentEventListener as Ir, createPermissionsPlugin as It, StepOptions as J, SingleTicketInput as Ji, createHydrationContext as Jn, ClickOutsideIgnoreTarget as Jr, NestedOpenMode as Jt, StepContext as K, SingleOptions as Ki, createFallbackHydration as Kn, useDate as Kr, NestedContext as Kt, ThemeAdapterInterface as L, BreadcrumbTicketInput as Li, IntersectionObserverOptions as Ln, useEventListener as Lr, usePermissions as Lt, createThemePlugin as M, GroupTicketInput as Mi, useLocale as Mn, createTokensContext as Mr, PermissionPluginOptions as Mt, useTheme as N, createGroup as Ni, LazyContext as Nn, useTokens as Nr, PermissionTicket as Nt, ThemeTicket as O, GroupContext as Oi, createLocale as On, TokenPrimitive as Or, useProxyModel as Ot, Vuetify0ThemeAdapter as P, createGroupContext as Pi, LazyOptions as Pn, CleanupFunction as Pr, createPermissions as Pt, createStepContext as Q, SelectionContext as Qi, UseHotkeyOptions as Qn, useClickOutside as Qr, NestedTicket as Qt, StorageContext as R, BreadcrumbsContext as Ri, UseElementIntersectionReturn as Rn, useWindowEventListener as Rr, PermissionAdapter as Rt, ThemeColors as S, OverflowContext as Si, LocaleContextOptions as Sn, FlatTokenCollection as Sr, createQueueContext as St, ThemeOptions as T, createOverflow as Ti, LocaleRecord as Tn, TokenContext as Tr, ProxyRegistryOptions as Tt, createStorageContext as U, useBreadcrumbs as Ui, HydrationContextOptions as Un, createDate as Ur, multipleOpenStrategy as Ut, StoragePluginOptions as V, createBreadcrumbs as Vi, useIntersectionObserver as Vn, DateOptions as Vr, createNestedContext as Vt, createStoragePlugin as W, SingleContext as Wi, HydrationOptions as Wn, createDateContext as Wr, singleOpenStrategy as Wt, StepTicketInput as X, createSingleContext as Xi, useHydration as Xn, UseClickOutsideOptions as Xr, NestedRegistration as Xt, StepTicket as Y, createSingle as Yi, createHydrationPlugin as Yn, ClickOutsideTarget as Yr, NestedOptions as Yt, createStep as Z, useSingle as Zi, PlatformContext as Zn, UseClickOutsideReturn as Zr, NestedSelectionMode as Zt, TimelineTicket as _, ContextKey as _i, createLoggerContext as _n, FeatureTicketInput as _r, QueueContextOptions as _t, VirtualDirection as a, useSelection as aa, createBreakpointsContext as ai, UseMutationObserverReturn as an, FormTicketInput as ar, StackTicketInput as at, useTimeline as b, provideContext as bi, LogLevel as bn, createFeaturesPlugin as br, QueueTicketInput as bt, VirtualState as c, RegistryEventCallback as ca, toReactive as ci, useMediaQuery as cn, FormValue as cr, createStackPlugin as ct, useVirtual as d, RegistryOptions as da, toArray as di, usePrefersReducedMotion as dn, useForm as dr, ResizeObserverOptions as dt, SelectionOptions as ea, BreakpointsContext as ei, OpenStrategy as en, useHotkey as er, StackContext as et, ToggleScopeControls as f, RegistryTicket as fa, Plugin as fi, LoggerContext as fn, FeatureContext as fr, UseElementSizeReturn as ft, TimelineOptions as g, useRegistry as ga, createPluginContext as gi, createLogger as gn, FeatureTicket as gr, QueueContext as gt, TimelineContextOptions as h, createRegistryContext as ha, createPlugin as hi, LoggerPluginOptions as hn, FeaturePluginOptions as hr, useResizeObserver as ht, VirtualContextOptions as i, createSelectionContext as ia, createBreakpoints as ii, UseMutationObserverOptions as in, FormTicket as ir, StackTicket as it, createThemeContext as j, GroupTicket as ji, createLocalePlugin as jn, createTokens as jr, PermissionOptions as jt, ThemeTicketInput as k, GroupContextOptions as ki, createLocaleContext as kn, TokenTicket as kr, PermissionContext as kt, createVirtual as l, RegistryEventMap as la, MaybeElementRef as li, usePrefersContrast as ln, createForm as lr, useStack as lt, TimelineContext as m, createRegistry as ma, PluginOptions as mi, LoggerOptions as mn, FeatureOptions as mr, useElementSize as mt, VirtualAnchor as n, SelectionTicketInput as na, BreakpointsOptions as ni, MutationObserverRecord as nn, FormContextOptions as nr, StackOptions as nt, VirtualItem as o, RegistryContext as oa, createBreakpointsPlugin as oi, useMutationObserver as on, FormValidationResult as or, createStack as ot, useToggleScope as p, RegistryTicketInput as pa, PluginContextConfig as pi, LoggerContextOptions as pn, FeatureContextOptions as pr, UseResizeObserverReturn as pt, StepContextOptions as q, SingleTicket as qi, createHydration as qn, ClickOutsideElement as qr, NestedContextOptions as qt, VirtualContext as r, createSelection as ra, BreakpointsPluginOptions as ri, ObservableNodeList as rn, FormOptions as rr, StackPluginOptions as rt, VirtualOptions as s, RegistryContextOptions as sa, useBreakpoints as si, MediaQueryContext as sn, FormValidationRule as sr, createStackContext as st, ScrollToOptions as t, SelectionTicket as ta, BreakpointsContextOptions as ti, OpenStrategyContext as tn, FormContext as tr, StackContextOptions as tt, createVirtualContext as u, RegistryEventName as ua, toElement as ui, usePrefersDark as un, createFormContext as ur, ResizeObserverEntry as ut, createTimeline as v, CreateContextOptions as vi, createLoggerPlugin as vn, createFeatures as vr, QueueOptions as vt, ThemeContextOptions as w, OverflowOptions as wi, LocalePluginOptions as wn, TokenCollection as wr, ProxyRegistryContext as wt, Colors as x, useContext as xi, LocaleContext as xn, useFeatures as xr, createQueue as xt, createTimelineContext as y, createContext as yi, useLogger as yn, createFeaturesContext as yr, QueueTicket as yt, StorageContextOptions as z, BreadcrumbsContextOptions as zi, UseIntersectionObserverReturn as zn, DateContext as zr, PermissionAdapterInterface as zt };