@vuetify/v0 0.0.7 → 0.0.9

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.
@@ -1,41 +1,56 @@
1
1
  import { a as MaybeArray, i as ID } from "./index-C_lAPFXS.js";
2
- import * as vue169 from "vue";
2
+ import * as vue97 from "vue";
3
3
  import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowRef, UnwrapNestedRefs } from "vue";
4
4
 
5
5
  //#region src/composables/createContext/index.d.ts
6
+
6
7
  type ContextKey<Z> = InjectionKey<Z> | string;
7
8
  /**
8
9
  * Injects a context provided by an ancestor component.
9
10
  *
10
11
  * @param key The key of the context to inject.
12
+ * @param defaultValue Optional default value if context is not found.
11
13
  * @template Z The type of the context.
12
14
  * @returns The injected context.
13
- * @throws An error if the context is not found.
15
+ * @throws An error if the context is not found and no default is provided.
14
16
  *
15
17
  * @see https://vuejs.org/api/composition-api-dependency-injection.html#inject
16
- * @see https://0.vuetifyjs.com/composables/foundation/create-context
18
+ * @see https://0.vuetifyjs.com/composables/foundation/create-context#use-context
17
19
  *
18
20
  * @example
19
21
  * ```ts
20
- * const myContext = useContext<MyContext>('my-context')
22
+ * // Without default value
23
+ * const context = useContext<MyContext>('my-context')
24
+ *
25
+ * // With default value
26
+ * const context = useContext<MyContext>('my-context', defaultContext)
21
27
  * ```
22
28
  */
23
- declare function useContext<Z>(key: ContextKey<Z>): Z & ({} | null);
29
+ declare function useContext<Z>(key: ContextKey<Z>, defaultValue?: Z): Z & ({} | null);
24
30
  /**
25
31
  * Provides a context to all descendant components.
26
32
  *
27
33
  * @param key The key of the context to provide.
28
34
  * @param context The context to provide.
29
- * @param app The Vue app instance to provide the context to.
35
+ * @param app Optional Vue app instance to provide the context at app level instead of component level.
30
36
  * @template Z The type of the context.
31
37
  * @returns The provided context.
32
38
  *
39
+ * @remarks
40
+ * When `app` parameter is provided, the context is made available to all components in the app.
41
+ * When omitted, the context is provided at the current component level and available to descendants only.
42
+ *
33
43
  * @see https://vuejs.org/api/composition-api-dependency-injection.html#provide
34
- * @see https://0.vuetifyjs.com/composables/foundation/create-context
44
+ * @see https://0.vuetifyjs.com/composables/foundation/create-context#provide-context
35
45
  *
36
46
  * @example
37
47
  * ```ts
38
- * provideContext<MyContext>('my-context', myContext)
48
+ * // Component-level provision
49
+ * provideContext<MyContext>('my-context', context)
50
+ *
51
+ * // App-level provision (typically used in plugins)
52
+ * const app = createApp()
53
+ * provideContext<MyContext>('my-context', context, app)
39
54
  * ```
40
55
  */
41
56
  declare function provideContext<Z>(key: ContextKey<Z>, context: Z, app?: App): Z;
@@ -43,18 +58,23 @@ declare function provideContext<Z>(key: ContextKey<Z>, context: Z, app?: App): Z
43
58
  * Creates a new context for providing and injecting data.
44
59
  *
45
60
  * @param key The key of the context to create.
61
+ * @param defaultValue Optional default value if context is not found.
46
62
  * @template Z The type of the context.
47
63
  * @returns A tuple containing the `useContext` and `provideContext` functions.
48
64
  *
49
65
  * @see https://vuejs.org/api/composition-api-dependency-injection.html
50
- * @see https://0.vuetifyjs.com/composables/foundation/create-context
66
+ * @see https://0.vuetifyjs.com/composables/foundation/create-context#create-context
51
67
  *
52
68
  * @example
53
69
  * ```ts
54
- * const [provideMyContext, useMyContext] = createContext<MyContext>('my-context')
70
+ * // Without default value
71
+ * const [useMyContext, provideMyContext] = createContext<MyContext>('my-context')
72
+ *
73
+ * // With default value
74
+ * const [useMyContext, provideMyContext] = createContext<MyContext>('my-context', defaultContext)
55
75
  * ```
56
76
  */
57
- declare function createContext<Z>(_key: ContextKey<Z>): readonly [(key?: ContextKey<Z>) => Z & ({} | null), (context: Z, app?: App) => Z];
77
+ declare function createContext<Z>(_key: ContextKey<Z>, defaultValue?: Z): readonly [(key?: ContextKey<Z>) => Z & ({} | null), (context: Z, app?: App) => Z];
58
78
  //#endregion
59
79
  //#region src/composables/createPlugin/index.d.ts
60
80
  interface PluginOptions {
@@ -63,7 +83,7 @@ interface PluginOptions {
63
83
  setup?: (app: App) => void;
64
84
  }
65
85
  interface Plugin {
66
- install: (app: App, ...options: any[]) => void;
86
+ install: (app: App, ...options: unknown[]) => void;
67
87
  }
68
88
  /**
69
89
  * Creates a new Vue plugin.
@@ -71,8 +91,7 @@ interface Plugin {
71
91
  * @param options The plugin options.
72
92
  * @returns A new Vue plugin.
73
93
  *
74
- * @see https://vuejs.org/guide/reusability/plugins.html
75
- * @see https://0.vuetifyjs.com/composables/foundation/create-plugin
94
+ * @see https://0.vuetifyjs.com/composables/foundation/create-plugin#create-plugin
76
95
  *
77
96
  * @example
78
97
  * ```ts
@@ -97,13 +116,21 @@ type ContextTrinity<Z = unknown> = readonly [() => Z, (context?: Z, app?: App) =
97
116
  /**
98
117
  * Creates a new trinity for a context composable and its provider.
99
118
  *
100
- * @param createContext The function that creates the context.
101
- * @param provideContext The function that provides the context.
102
- * @param context The context to provide.
119
+ * @param createContext The function that retrieves/uses the context (typically named `useContext`).
120
+ * @param provideContext The function that provides the context to descendants.
121
+ * @param context The default context instance to use when no custom context is provided.
103
122
  * @template Z The type of the context.
104
- * @returns A new trinity.
123
+ * @returns A readonly tuple containing: [useContext function, provideContext wrapper function, default context instance].
124
+ *
125
+ * @remarks The trinity pattern is a foundational pattern used throughout the codebase for creating reusable context systems. It provides three related elements:
126
+ *
127
+ * 1. A function to retrieve/use the context
128
+ * 2. A function to provide the context (with default value support)
129
+ * 3. The default context instance
105
130
  *
106
- * @see https://0.vuetifyjs.com/composables/foundation/create-trinity
131
+ * The returned tuple is readonly (using `as const`) to ensure proper type inference.
132
+ *
133
+ * @see https://0.vuetifyjs.com/composables/foundation/create-trinity#create-trinity
107
134
  *
108
135
  * @example
109
136
  * ```ts
@@ -123,10 +150,21 @@ type ContextTrinity<Z = unknown> = readonly [() => Z, (context?: Z, app?: App) =
123
150
  *
124
151
  * return createTrinity<E>(useContext, provideContext, context)
125
152
  * }
153
+ * ```
126
154
  */
127
155
  declare function createTrinity<Z = unknown>(createContext: () => Z, provideContext: (_context?: Z, app?: App) => Z, context: Z): ContextTrinity<Z>;
128
156
  //#endregion
129
157
  //#region src/composables/toArray/index.d.ts
158
+ /**
159
+ * @module toArray
160
+ *
161
+ * @remarks
162
+ * Utility function to normalize single values and arrays into arrays.
163
+ *
164
+ * Converts single values into single-element arrays, passes arrays through unchanged,
165
+ * and handles null/undefined by returning empty arrays. Perfect for functions that
166
+ * accept both single values and arrays as input (e.g., ID | ID[]).
167
+ */
130
168
  /**
131
169
  * Converts a value to an array.
132
170
  *
@@ -156,7 +194,7 @@ declare function toArray<Z>(value: Z | Z[]): Z[];
156
194
  * @template Z The type of the object.
157
195
  * @returns The converted object.
158
196
  *
159
- * @see https://vuejs.org/api/reactivity-utilities.html#toreactive
197
+ * @see https://0.vuetifyjs.com/composables/transformers/to-reactive
160
198
  *
161
199
  * @example
162
200
  * ```ts
@@ -197,15 +235,16 @@ interface BreakpointsContext {
197
235
  xxlAndDown: Readonly<ShallowRef<boolean>>;
198
236
  update: () => void;
199
237
  }
200
- interface BreakpointsOptions extends BreakpointsPluginOptions {}
201
- interface BreakpointsPluginOptions {
238
+ interface BreakpointsOptions {
239
+ namespace?: string;
202
240
  mobileBreakpoint?: BreakpointName | number;
203
241
  breakpoints?: Partial<Record<BreakpointName, number>>;
204
242
  }
243
+ interface BreakpointsPluginOptions extends BreakpointsOptions {}
244
+ interface BreakpointsContextOptions extends BreakpointsOptions {}
205
245
  /**
206
246
  * Creates a new breakpoints instance.
207
247
  *
208
- * @param namespace The namespace to use for the breakpoints instance.
209
248
  * @param options The options for the breakpoints instance.
210
249
  * @template E The type of the breakpoints context.
211
250
  * @returns A new breakpoints instance.
@@ -216,7 +255,8 @@ interface BreakpointsPluginOptions {
216
255
  * ```ts
217
256
  * import { createBreakpoints } from '@vuetify/v0'
218
257
  *
219
- * export const [useBreakpoints, provideBreakpoints] = createBreakpoints('v0:breakpoints', {
258
+ * export const [useBreakpoints, provideBreakpoints] = createBreakpoints({
259
+ * namespace: 'v0:breakpoints',
220
260
  * mobileBreakpoint: 'sm',
221
261
  * breakpoints: {
222
262
  * xs: 0,
@@ -229,31 +269,27 @@ interface BreakpointsPluginOptions {
229
269
  * })
230
270
  * ```
231
271
  */
232
- declare function createBreakpoints<E extends BreakpointsContext = BreakpointsContext>(namespace?: string, options?: BreakpointsOptions): ContextTrinity<E>;
272
+ declare function createBreakpoints<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsOptions): E;
233
273
  /**
234
- * Returns the current breakpoints instance.
274
+ * Creates a new breakpoints context.
235
275
  *
236
- * @returns The current breakpoints instance.
276
+ * @param options The options for the breakpoints context.
277
+ * @template E The type of the breakpoints context.
278
+ * @returns A new breakpoints context.
237
279
  *
238
280
  * @see https://0.vuetifyjs.com/composables/plugins/use-breakpoints
239
281
  *
240
282
  * @example
241
- * ```vue
242
- * <script setup lang="ts">
243
- * import { useBreakpoints } from '@vuetify/v0'
244
- *
245
- * const { isMobile, mdAndUp } = useBreakpoints()
246
- * </script>
283
+ * ```ts
284
+ * import { createBreakpointsContext } from '@vuetify/v0'
247
285
  *
248
- * <template>
249
- * <div class="pa-4">
250
- * <p v-if="isMobile.value">Mobile layout active</p>
251
- * <p v-else-if="mdAndUp.value">Medium and up layout active</p>
252
- * </div>
253
- * </template>
286
+ * export const [useBreakpoints, provideBreakpoints, context] = createBreakpointsContext({
287
+ * namespace: 'v0:breakpoints',
288
+ * mobileBreakpoint: 'sm',
289
+ * })
254
290
  * ```
255
291
  */
256
- declare function useBreakpoints(): BreakpointsContext;
292
+ declare function createBreakpointsContext<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsContextOptions): ContextTrinity<E>;
257
293
  /**
258
294
  * Creates a new breakpoints plugin.
259
295
  *
@@ -273,6 +309,7 @@ declare function useBreakpoints(): BreakpointsContext;
273
309
  *
274
310
  * app.use(
275
311
  * createBreakpointsPlugin({
312
+ * namespace: 'v0:breakpoints',
276
313
  * mobileBreakpoint: 'sm',
277
314
  * breakpoints: {
278
315
  * xs: 0,
@@ -288,7 +325,32 @@ declare function useBreakpoints(): BreakpointsContext;
288
325
  * app.mount('#app')
289
326
  * ```
290
327
  */
291
- declare function createBreakpointsPlugin<E extends BreakpointsContext = BreakpointsContext>(options?: BreakpointsPluginOptions): Plugin;
328
+ declare function createBreakpointsPlugin<E extends BreakpointsContext = BreakpointsContext>(_options?: BreakpointsPluginOptions): Plugin;
329
+ /**
330
+ * Returns the current breakpoints instance.
331
+ *
332
+ * @param namespace The namespace for the breakpoints context. Defaults to `v0:breakpoints`.
333
+ * @returns The current breakpoints instance.
334
+ *
335
+ * @see https://0.vuetifyjs.com/composables/plugins/use-breakpoints
336
+ *
337
+ * @example
338
+ * ```vue
339
+ * <script setup lang="ts">
340
+ * import { useBreakpoints } from '@vuetify/v0'
341
+ *
342
+ * const { isMobile, mdAndUp } = useBreakpoints()
343
+ * </script>
344
+ *
345
+ * <template>
346
+ * <div class="pa-4">
347
+ * <p v-if="isMobile.value">Mobile layout active</p>
348
+ * <p v-else-if="mdAndUp.value">Medium and up layout active</p>
349
+ * </div>
350
+ * </template>
351
+ * ```
352
+ */
353
+ declare function useBreakpoints<E extends BreakpointsContext = BreakpointsContext>(namespace?: string): E;
292
354
  //#endregion
293
355
  //#region src/composables/useEventListener/index.d.ts
294
356
  type CleanupFunction = () => void;
@@ -764,7 +826,7 @@ interface RegistryContext<Z extends RegistryTicket = RegistryTicket> {
764
826
  * registry.emit('custom-event', { message: 'Hello, World!' }) // Console: Custom event received: { message: 'Hello, World!' }
765
827
  * ```
766
828
  */
767
- emit: (event: string, data: any) => void;
829
+ emit: (event: string, data: unknown) => void;
768
830
  /**
769
831
  * Clears the registry and removes all listeners
770
832
  *
@@ -853,6 +915,9 @@ interface RegistryOptions {
853
915
  */
854
916
  events?: boolean;
855
917
  }
918
+ interface RegistryContextOptions extends RegistryOptions {
919
+ namespace: string;
920
+ }
856
921
  /**
857
922
  * Creates a new registry instance.
858
923
  *
@@ -861,7 +926,7 @@ interface RegistryOptions {
861
926
  * @template E The type of registry context that extends RegistryContext<Z>. Use this when extending the registry with additional methods.
862
927
  * @returns A new registry instance.
863
928
  *
864
- * @see https://0.vuetifyjs.com/composables/registration/use-registry
929
+ * @see https://0.vuetifyjs.com/composables/registration/use-registry#use-registry
865
930
  *
866
931
  * @example
867
932
  * ```ts
@@ -882,11 +947,11 @@ declare function useRegistry<Z extends RegistryTicket = RegistryTicket, E extend
882
947
  *
883
948
  * @param namespace The namespace for the registry context.
884
949
  * @param options The options for the registry context.
885
- *
886
950
  * @template Z The type of registry ticket that extends RegistryTicket. Use this to add custom properties to tickets.
887
951
  * @template E The type of registry context that extends RegistryContext<Z>. Use this when extending the registry with additional methods.
952
+ * @returns A new registry context.
888
953
  *
889
- * @see https://0.vuetifyjs.com/composables/registration/use-registry
954
+ * @see https://0.vuetifyjs.com/composables/registration/use-registry#create-registry-context
890
955
  *
891
956
  * @example
892
957
  * ```ts
@@ -902,7 +967,7 @@ declare function useRegistry<Z extends RegistryTicket = RegistryTicket, E extend
902
967
  * items.register({ id: 'item-1', value: 'Value 1' })
903
968
  * ```
904
969
  */
905
- declare function createRegistryContext<Z extends RegistryTicket = RegistryTicket, E extends RegistryContext<Z> = RegistryContext<Z>>(namespace: string, options?: RegistryOptions): ContextTrinity<E>;
970
+ declare function createRegistryContext<Z extends RegistryTicket = RegistryTicket, E extends RegistryContext<Z> = RegistryContext<Z>>(_options: RegistryContextOptions): ContextTrinity<E>;
906
971
  //#endregion
907
972
  //#region src/composables/useSelection/index.d.ts
908
973
  interface SelectionTicket extends RegistryTicket {
@@ -933,25 +998,54 @@ interface SelectionContext<Z extends SelectionTicket> extends RegistryContext<Z>
933
998
  mandate: () => void;
934
999
  }
935
1000
  interface SelectionOptions extends RegistryOptions {
936
- /** When true, newly registered items are automatically selected if not disabled */
1001
+ /**
1002
+ * When true, newly registered items are automatically selected if not disabled.
1003
+ * Useful for pre-selecting items in multi-select scenarios.
1004
+ */
937
1005
  enroll?: boolean;
1006
+ /**
1007
+ * Controls mandatory selection behavior:
1008
+ * - `false` (default): No mandatory selection enforcement
1009
+ * - `true`: Prevents deselecting the last selected item (user must always have one selected)
1010
+ * - `'force'`: Automatically selects the first non-disabled item on registration
1011
+ */
938
1012
  mandatory?: boolean | 'force';
939
1013
  }
1014
+ interface SelectionContextOptions extends SelectionOptions {
1015
+ namespace: string;
1016
+ }
940
1017
  /**
941
- * Creates a new selection instance.
1018
+ * Creates a new selection instance for managing multiple selected items.
1019
+ *
1020
+ * Extends `useRegistry` with selection tracking via a reactive `Set` of selected IDs.
1021
+ * Supports disabled items, mandatory selection enforcement, and auto-enrollment.
942
1022
  *
943
1023
  * @param options The options for the selection instance.
944
1024
  * @template Z The type of the selection ticket.
945
1025
  * @template E The type of the selection context.
946
- * @returns A new selection instance.
1026
+ * @returns A new selection instance with selection management methods.
1027
+ *
1028
+ * @remarks
1029
+ * **Key Features:**
1030
+ * - Multi-selection support (unlike `useSingle` which enforces single selection)
1031
+ * - Set-based `selectedIds` tracking for efficient lookups
1032
+ * - Computed `selectedItems` and `selectedValues` for reactive access
1033
+ * - Each ticket gets `isSelected`, `select()`, `unselect()`, and `toggle()` methods
1034
+ * - Disabled items cannot be selected
1035
+ * - Mandatory mode prevents deselecting the last item
1036
+ * - Force mode auto-selects first non-disabled item on registration
1037
+ * - Enroll option auto-selects all non-disabled items on registration
1038
+ *
1039
+ * **Inheritance Chain:**
1040
+ * `useRegistry` → `createSelection` → `createSingle`/`createGroup` → `createStep`
947
1041
  *
948
1042
  * @see https://0.vuetifyjs.com/composables/selection/use-selection
949
1043
  *
950
1044
  * @example
951
1045
  * ```ts
952
- * import { useSelection } from '@vuetify/v0'
1046
+ * import { createSelection } from '@vuetify/v0'
953
1047
  *
954
- * const selection = useSelection({ mandatory: true })
1048
+ * const selection = createSelection({ mandatory: true })
955
1049
  *
956
1050
  * selection.onboard([
957
1051
  * { id: 'item-1', value: 'Item 1' },
@@ -963,9 +1057,10 @@ interface SelectionOptions extends RegistryOptions {
963
1057
  * selection.select('item-3')
964
1058
  *
965
1059
  * console.log(selection.selectedIds) // Set { 'item-1', 'item-3' }
1060
+ * console.log(Array.from(selection.selectedValues.value)) // ['Item 1', 'Item 3']
966
1061
  * ```
967
1062
  */
968
- declare function useSelection<Z extends SelectionTicket = SelectionTicket, E extends SelectionContext<Z> = SelectionContext<Z>>(options?: SelectionOptions): E;
1063
+ declare function createSelection<Z extends SelectionTicket = SelectionTicket, E extends SelectionContext<Z> = SelectionContext<Z>>(options?: SelectionOptions): E;
969
1064
  /**
970
1065
  * Creates a new selection context.
971
1066
  *
@@ -991,7 +1086,31 @@ declare function useSelection<Z extends SelectionTicket = SelectionTicket, E ext
991
1086
  * checkboxes.select('checkbox-1')
992
1087
  * ```
993
1088
  */
994
- declare function createSelectionContext<Z extends SelectionTicket = SelectionTicket, E extends SelectionContext<Z> = SelectionContext<Z>>(namespace: string, options?: SelectionOptions): ContextTrinity<E>;
1089
+ declare function createSelectionContext<Z extends SelectionTicket = SelectionTicket, E extends SelectionContext<Z> = SelectionContext<Z>>(_options: SelectionContextOptions): ContextTrinity<E>;
1090
+ /**
1091
+ * Returns the current selection instance.
1092
+ *
1093
+ * @param namespace The namespace for the selection context. Defaults to `'v0:selection'`.
1094
+ * @returns The current selection instance.
1095
+ *
1096
+ * @see https://0.vuetifyjs.com/composables/selection/use-selection
1097
+ *
1098
+ * @example
1099
+ * ```vue
1100
+ * <script setup lang="ts">
1101
+ * import { useSelection } from '@vuetify/v0'
1102
+ *
1103
+ * const selection = useSelection()
1104
+ * </script>
1105
+ *
1106
+ * <template>
1107
+ * <div>
1108
+ * <p>Selected: {{ selection.selectedIds.size }}</p>
1109
+ * </div>
1110
+ * </template>
1111
+ * ```
1112
+ */
1113
+ declare function useSelection<Z extends SelectionTicket = SelectionTicket, E extends SelectionContext<Z> = SelectionContext<Z>>(namespace?: string): E;
995
1114
  //#endregion
996
1115
  //#region src/composables/useGroup/index.d.ts
997
1116
  interface GroupTicket extends SelectionTicket {}
@@ -1005,34 +1124,65 @@ interface GroupContext<Z extends GroupTicket> extends SelectionContext<Z> {
1005
1124
  toggle: (ids: ID | ID[]) => void;
1006
1125
  }
1007
1126
  interface GroupOptions extends SelectionOptions {}
1127
+ interface GroupContextOptions extends SelectionContextOptions {}
1008
1128
  /**
1009
- * Creates a new group instance.
1129
+ * Creates a new group instance with batch selection operations.
1130
+ *
1131
+ * Extends `createSelection` to support selecting, unselecting, and toggling multiple items
1132
+ * at once by passing an array of IDs. Adds `selectedIndexes` computed property.
1010
1133
  *
1011
1134
  * @param options The options for the group instance.
1012
1135
  * @template Z The type of the group ticket.
1013
1136
  * @template E The type of the group context.
1014
- * @returns A new group instance.
1137
+ * @returns A new group instance with batch selection support.
1138
+ *
1139
+ * @remarks
1140
+ * **Key Differences from `createSelection`:**
1141
+ * - `select()` accepts `ID | ID[]` for batch operations
1142
+ * - `unselect()` accepts `ID | ID[]` for batch operations
1143
+ * - `toggle()` accepts `ID | ID[]` for batch operations
1144
+ * - Adds `selectedIndexes` computed Set for getting selected item indexes
1145
+ * - Perfect for checkboxes, multi-select dropdowns, and bulk operations
1146
+ *
1147
+ * **Batch Operations:**
1148
+ * - Single ID: `group.select('item-1')`
1149
+ * - Array of IDs: `group.select(['item-1', 'item-2', 'item-3'])`
1150
+ * - Uses `toArray()` utility internally to normalize input
1151
+ * - Disabled items are automatically skipped in batch operations
1152
+ * - Non-existent IDs are silently ignored
1153
+ *
1154
+ * **Inheritance Chain:**
1155
+ * `useRegistry` → `createSelection` → `createGroup`
1156
+ *
1157
+ * **Used By:**
1158
+ * - `createFeatures` for feature flag management with multiple selections
1015
1159
  *
1016
1160
  * @see https://0.vuetifyjs.com/composables/selection/use-group
1017
1161
  *
1018
1162
  * @example
1019
1163
  * ```ts
1020
- * import { useGroup } from '@vuetify/v0'
1164
+ * import { createGroup } from '@vuetify/v0'
1021
1165
  *
1022
- * const group = useGroup()
1166
+ * const checkboxes = createGroup()
1023
1167
  *
1024
- * group.onboard([
1025
- * { id: 'item-1', value: 'Item 1' },
1026
- * { id: 'item-2', value: 'Item 2' },
1027
- * { id: 'item-3', value: 'Item 3' },
1168
+ * checkboxes.onboard([
1169
+ * { id: 'option-a', value: 'Option A' },
1170
+ * { id: 'option-b', value: 'Option B' },
1171
+ * { id: 'option-c', value: 'Option C' },
1028
1172
  * ])
1029
1173
  *
1030
- * group.select(['item-1', 'item-2'])
1174
+ * // Select multiple items at once
1175
+ * checkboxes.select(['option-a', 'option-c'])
1031
1176
  *
1032
- * console.log(group.selectedIds) // Set { 'item-1', 'item-2' }
1177
+ * console.log(checkboxes.selectedIds) // Set { 'option-a', 'option-c' }
1178
+ * console.log(Array.from(checkboxes.selectedIndexes.value)) // [0, 2]
1179
+ *
1180
+ * // Toggle operations
1181
+ * checkboxes.toggle(['option-a', 'option-b'])
1182
+ * console.log(checkboxes.selectedIds) // Set { 'option-b', 'option-c' }
1033
1183
  * ```
1034
1184
  */
1035
- declare function useGroup<Z extends GroupTicket = GroupTicket, E extends GroupContext<Z> = GroupContext<Z>>(options?: GroupOptions): E;
1185
+ declare function createGroup<Z extends GroupTicket = GroupTicket, E extends GroupContext<Z> = GroupContext<Z>>(options?: GroupOptions): E;
1036
1186
  /**
1037
1187
  * Creates a new group context.
1038
1188
  *
@@ -1057,7 +1207,31 @@ declare function useGroup<Z extends GroupTicket = GroupTicket, E extends GroupCo
1057
1207
  * const group = useMyGroup()
1058
1208
  * ```
1059
1209
  */
1060
- declare function createGroupContext<Z extends GroupTicket = GroupTicket, E extends GroupContext<Z> = GroupContext<Z>>(namespace: string, options?: GroupOptions): ContextTrinity<E>;
1210
+ declare function createGroupContext<Z extends GroupTicket = GroupTicket, E extends GroupContext<Z> = GroupContext<Z>>(_options: GroupContextOptions): ContextTrinity<E>;
1211
+ /**
1212
+ * Returns the current group instance.
1213
+ *
1214
+ * @param namespace The namespace for the group context. Defaults to `'v0:group'`.
1215
+ * @returns The current group instance.
1216
+ *
1217
+ * @see https://0.vuetifyjs.com/composables/selection/use-group
1218
+ *
1219
+ * @example
1220
+ * ```vue
1221
+ * <script setup lang="ts">
1222
+ * import { useGroup } from '@vuetify/v0'
1223
+ *
1224
+ * const group = useGroup()
1225
+ * </script>
1226
+ *
1227
+ * <template>
1228
+ * <div>
1229
+ * <p>Selected: {{ group.selectedIds.size }}</p>
1230
+ * </div>
1231
+ * </template>
1232
+ * ```
1233
+ */
1234
+ declare function useGroup<Z extends GroupTicket = GroupTicket, E extends GroupContext<Z> = GroupContext<Z>>(namespace: string): E;
1061
1235
  //#endregion
1062
1236
  //#region src/composables/useTokens/index.d.ts
1063
1237
  interface TokenAlias<T = unknown> {
@@ -1068,7 +1242,7 @@ interface TokenAlias<T = unknown> {
1068
1242
  $extensions?: Record<string, unknown>;
1069
1243
  $deprecated?: boolean | string;
1070
1244
  }
1071
- type TokenPrimitive = string | number | boolean;
1245
+ type TokenPrimitive = string | number | boolean | null;
1072
1246
  type TokenValue = TokenPrimitive | TokenAlias;
1073
1247
  interface TokenCollection {
1074
1248
  [key: string]: TokenValue | TokenCollection;
@@ -1079,13 +1253,70 @@ type FlatTokenCollection = {
1079
1253
  };
1080
1254
  interface TokenTicket extends RegistryTicket {}
1081
1255
  interface TokenContext<Z extends TokenTicket> extends RegistryContext<Z> {
1256
+ /**
1257
+ * Checks if a token is an alias
1258
+ *
1259
+ * @param token The token to check.
1260
+ * @returns True if the token is an alias, false otherwise.
1261
+ * @remarks An alias is a string that starts with "{" and ends with "}".
1262
+ *
1263
+ * @see https://0.vuetifyjs.com/composables/registration/use-tokens#is-alias
1264
+ *
1265
+ * @example
1266
+ * ```ts
1267
+ * const tokens = useTokens({
1268
+ * colors: {
1269
+ * primary: '#3b82f6',
1270
+ * secondary: '{colors.primary}', // Alias reference
1271
+ * },
1272
+ * })
1273
+ *
1274
+ * console.log(tokens.isAlias('{colors.primary}')) // true
1275
+ * console.log(tokens.isAlias('#3b82f6')) // false
1276
+ * ```
1277
+ */
1082
1278
  isAlias: (token: unknown) => token is string;
1279
+ /**
1280
+ * Resolves a token or alias to its value.
1281
+ *
1282
+ * @param token The token or alias to resolve.
1283
+ * @returns The resolved value of the token or alias, or undefined if not found.
1284
+ * @remarks This function can resolve nested aliases and supports token paths using dot notation.
1285
+ *
1286
+ * @see https://0.vuetifyjs.com/composables/registration/use-tokens#resolve
1287
+ *
1288
+ * @example
1289
+ * ```ts
1290
+ * const tokens = useTokens({
1291
+ * colors: {
1292
+ * primary: '#3b82f6',
1293
+ * secondary: '{colors.primary}', // Alias reference
1294
+ * },
1295
+ * })
1296
+ *
1297
+ * console.log(tokens.resolve('{colors.primary}')) // '#3b82f6'
1298
+ * console.log(tokens.resolve('{colors.secondary}')) // '#3b82f6'
1299
+ * ```
1300
+ */
1083
1301
  resolve: (token: string | TokenAlias) => unknown | undefined;
1084
1302
  }
1085
- interface TokenOptions {
1303
+ interface TokenOptions extends RegistryOptions {
1304
+ /**
1305
+ * Whether to flatten nested token structures.
1306
+ *
1307
+ * @default false
1308
+ */
1086
1309
  flat?: boolean;
1310
+ /**
1311
+ * An optional prefix to prepend to each token ID during registration.
1312
+ *
1313
+ * @remarks This is useful for namespacing tokens.
1314
+ */
1087
1315
  prefix?: string;
1088
1316
  }
1317
+ interface TokenContextOptions extends TokenOptions, RegistryContextOptions {
1318
+ tokens?: TokenCollection;
1319
+ }
1089
1320
  /**
1090
1321
  * Creates a new token instance.
1091
1322
  *
@@ -1113,7 +1344,7 @@ interface TokenOptions {
1113
1344
  * console.log(tokens.resolve('{colors.secondary}')) // '#3b82f6'
1114
1345
  * ```
1115
1346
  */
1116
- declare function useTokens<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(tokens?: TokenCollection, options?: TokenOptions): E;
1347
+ declare function createTokens<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(tokens?: TokenCollection, options?: TokenOptions): E;
1117
1348
  /**
1118
1349
  * Creates a new token context.
1119
1350
  *
@@ -1129,26 +1360,36 @@ declare function useTokens<Z extends TokenTicket = TokenTicket, E extends TokenC
1129
1360
  * ```ts
1130
1361
  * import { createTokensContext } from '@vuetify/v0'
1131
1362
  *
1132
- * const myTokens = {
1133
- * spacing: {
1134
- * sm: '8px',
1135
- * md: '16px',
1136
- * lg: '24px',
1137
- * },
1138
- * }
1363
+ * export const [useTokens, provideTokens, context] = createTokensContext({
1364
+ * namespace: 'v0:tokens',
1365
+ * tokens: {
1366
+ * colors: {
1367
+ * primary: '#3b82f6',
1368
+ * secondary: '{colors.primary}', // Alias reference
1369
+ * },
1370
+ * },
1371
+ * })
1372
+ * ```
1373
+ */
1374
+ declare function createTokensContext<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(_options: TokenContextOptions): ContextTrinity<E>;
1375
+ /**
1376
+ * Returns the current tokens instance.
1139
1377
  *
1140
- * export const [useDesignTokens, provideDesignTokens, designTokens] = createTokensContext('design-tokens', myTokens)
1378
+ * @param namespace The namespace for the tokens context. Defaults to `'v0:tokens'`.
1379
+ * @returns The current tokens instance.
1141
1380
  *
1142
- * // In a parent component:
1143
- * provideDesignTokens()
1381
+ * @see https://0.vuetifyjs.com/composables/registration/use-tokens
1144
1382
  *
1145
- * // In a child component:
1146
- * const tokens = useDesignTokens()
1383
+ * @example
1384
+ * ```vue
1385
+ * <script setup lang="ts">
1386
+ * import { useTokens } from '@vuetify/v0'
1147
1387
  *
1148
- * console.log(tokens.resolve('{spacing.md}')) // '16px'
1388
+ * const tokens = useTokens()
1389
+ * </script>
1149
1390
  * ```
1150
1391
  */
1151
- declare function createTokensContext<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(namespace: string, tokens?: TokenCollection): ContextTrinity<E>;
1392
+ declare function useTokens<Z extends TokenTicket = TokenTicket, E extends TokenContext<Z> = TokenContext<Z>>(namespace?: string): E;
1152
1393
  //#endregion
1153
1394
  //#region src/composables/useFeatures/index.d.ts
1154
1395
  interface FeatureTicket extends GroupTicket {
@@ -1157,26 +1398,29 @@ interface FeatureTicket extends GroupTicket {
1157
1398
  interface FeatureContext<Z extends FeatureTicket = FeatureTicket> extends GroupContext<Z> {
1158
1399
  variation: (id: ID, fallback?: any) => any;
1159
1400
  }
1160
- interface FeatureOptions extends FeaturePluginOptions {}
1161
- interface FeaturePluginOptions {
1401
+ interface FeatureOptions extends RegistryOptions {
1162
1402
  features?: Record<ID, boolean | TokenCollection>;
1163
1403
  }
1404
+ interface FeatureContextOptions extends FeatureOptions {
1405
+ namespace?: string;
1406
+ }
1407
+ interface FeaturePluginOptions extends FeatureContextOptions {}
1164
1408
  /**
1165
1409
  * Creates a new features instance.
1166
1410
  *
1167
- * @param namespace The namespace to use for the features instance.
1168
1411
  * @param options The options for the features instance.
1169
1412
  * @template Z The type of the feature ticket.
1170
1413
  * @template E The type of the feature context.
1171
1414
  * @returns A new features instance.
1172
1415
  *
1173
- * @see https://0.vuetifyjs.com/composables/plugins/create-features
1416
+ * @see https://0.vuetifyjs.com/composables/plugins/use-features
1174
1417
  *
1175
1418
  * @example
1176
1419
  * ```ts
1177
1420
  * import { createFeatures } from '@vuetify/v0'
1178
1421
  *
1179
- * const [useFeatures, provideFeaturesContext] = createFeatures('v0:features', {
1422
+ * const [useFeatures, provideFeaturesContext, context] = createFeatures({
1423
+ * namespace: 'v0:features',
1180
1424
  * features: {
1181
1425
  * 'dark-mode': true,
1182
1426
  * 'theme-color': { $variation: 'blue' },
@@ -1184,32 +1428,31 @@ interface FeaturePluginOptions {
1184
1428
  * })
1185
1429
  * ```
1186
1430
  */
1187
- declare function createFeatures<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(namespace?: string, options?: FeatureOptions): ContextTrinity<E>;
1431
+ declare function createFeatures<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(_options?: FeatureOptions): E;
1188
1432
  /**
1189
- * Returns the current features instance.
1433
+ * Creates a new features context.
1190
1434
  *
1435
+ * @param options The options for the features context.
1191
1436
  * @template Z The type of the feature ticket.
1192
- * @returns The current features instance.
1437
+ * @template E The type of the feature context.
1438
+ * @returns A new features context.
1193
1439
  *
1194
- * @see https://0.vuetifyjs.com/composables/plugins/create-features
1440
+ * @see https://0.vuetifyjs.com/composables/plugins/use-features
1195
1441
  *
1196
1442
  * @example
1197
- * ```vue
1198
- * <script setup lang="ts">
1199
- * import { useFeatures } from '@vuetify/v0'
1200
- *
1201
- * const features = useFeatures()
1202
- * </script>
1443
+ * ```ts
1444
+ * import { createFeaturesContext } from '@vuetify/v0'
1203
1445
  *
1204
- * <template>
1205
- * <div>
1206
- * <p>Features: {{ features.get('dark-mode') }}</p>
1207
- * <p>Theme Color: {{ features.variation('theme-color') }}</p>
1208
- * </div>
1209
- * </template>
1446
+ * export const [useFeatures, provideFeatures, context] = createFeaturesContext({
1447
+ * namespace: 'app:features',
1448
+ * features: {
1449
+ * 'dark-mode': true,
1450
+ * 'theme-color': { $variation: 'blue' },
1451
+ * },
1452
+ * })
1210
1453
  * ```
1211
1454
  */
1212
- declare function useFeatures<Z extends FeatureTicket = FeatureTicket>(): FeatureContext<Z>;
1455
+ declare function createFeaturesContext<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(_options?: FeatureContextOptions): ContextTrinity<E>;
1213
1456
  /**
1214
1457
  * Creates a new features plugin.
1215
1458
  *
@@ -1218,7 +1461,7 @@ declare function useFeatures<Z extends FeatureTicket = FeatureTicket>(): Feature
1218
1461
  * @template E The type of the feature context.
1219
1462
  * @returns A new features plugin.
1220
1463
  *
1221
- * @see https://0.vuetifyjs.com/composables/plugins/create-features
1464
+ * @see https://0.vuetifyjs.com/composables/plugins/use-features
1222
1465
  *
1223
1466
  * @example
1224
1467
  * ```ts
@@ -1240,7 +1483,33 @@ declare function useFeatures<Z extends FeatureTicket = FeatureTicket>(): Feature
1240
1483
  * app.mount('#app')
1241
1484
  * ```
1242
1485
  */
1243
- declare function createFeaturesPlugin<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(options?: FeaturePluginOptions): Plugin;
1486
+ declare function createFeaturesPlugin<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(_options?: FeaturePluginOptions): Plugin;
1487
+ /**
1488
+ * Returns the current features instance.
1489
+ *
1490
+ * @param namespace The namespace for the features context. Defaults to `v0:features`.
1491
+ * @template Z The type of the feature ticket.
1492
+ * @returns The current features instance.
1493
+ *
1494
+ * @see https://0.vuetifyjs.com/composables/plugins/use-features
1495
+ *
1496
+ * @example
1497
+ * ```vue
1498
+ * <script setup lang="ts">
1499
+ * import { useFeatures } from '@vuetify/v0'
1500
+ *
1501
+ * const features = useFeatures()
1502
+ * </script>
1503
+ *
1504
+ * <template>
1505
+ * <div>
1506
+ * <p>Features: {{ features.get('dark-mode') }}</p>
1507
+ * <p>Theme Color: {{ features.variation('theme-color') }}</p>
1508
+ * </div>
1509
+ * </template>
1510
+ * ```
1511
+ */
1512
+ declare function useFeatures<Z extends FeatureTicket = FeatureTicket, E extends FeatureContext<Z> = FeatureContext<Z>>(namespace?: string): E;
1244
1513
  //#endregion
1245
1514
  //#region src/composables/useFilter/index.d.ts
1246
1515
  type Primitive = string | number | boolean;
@@ -1311,6 +1580,10 @@ interface FormContext<Z extends FormTicket = FormTicket> extends RegistryContext
1311
1580
  interface FormOptions extends RegistryOptions {
1312
1581
  validateOn?: 'submit' | 'change' | string;
1313
1582
  }
1583
+ interface FormContextOptions extends RegistryOptions {
1584
+ namespace: string;
1585
+ validateOn?: 'submit' | 'change' | string;
1586
+ }
1314
1587
  /**
1315
1588
  * Creates a new form instance.
1316
1589
  *
@@ -1323,9 +1596,9 @@ interface FormOptions extends RegistryOptions {
1323
1596
  *
1324
1597
  * @example
1325
1598
  * ```ts
1326
- * import { useForm } from '@vuetify/v0'
1599
+ * import { createForm } from '@vuetify/v0'
1327
1600
  *
1328
- * const form = useForm()
1601
+ * const form = createForm()
1329
1602
  *
1330
1603
  * const username = form.register({
1331
1604
  * id: 'username',
@@ -1340,14 +1613,70 @@ interface FormOptions extends RegistryOptions {
1340
1613
  * form.reset()
1341
1614
  * ```
1342
1615
  */
1343
- declare function useForm<Z extends FormTicket = FormTicket, E extends FormContext<Z> = FormContext<Z>>(options?: FormOptions): E;
1616
+ declare function createForm<Z extends FormTicket = FormTicket, E extends FormContext<Z> = FormContext<Z>>(options?: FormOptions): E;
1617
+ /**
1618
+ * Creates a new form context.
1619
+ *
1620
+ * @param namespace The namespace for the form context.
1621
+ * @param options The options for the form context.
1622
+ * @template Z The type of the form ticket.
1623
+ * @template E The type of the form context.
1624
+ * @returns A new form context.
1625
+ *
1626
+ * @see https://0.vuetifyjs.com/composables/forms/use-form
1627
+ *
1628
+ * @example
1629
+ * ```ts
1630
+ * import { createFormContext } from '@vuetify/v0'
1631
+ *
1632
+ * export const [useMyForm, provideMyForm, myForm] = createFormContext('my-form', {
1633
+ * validateOn: 'change',
1634
+ * })
1635
+ *
1636
+ * // In a parent component:
1637
+ * provideMyForm()
1638
+ *
1639
+ * // In a child component:
1640
+ * const form = useMyForm()
1641
+ * form.register({ id: 'field', value: ref(''), rules: [...] })
1642
+ * ```
1643
+ */
1644
+ declare function createFormContext<Z extends FormTicket = FormTicket, E extends FormContext<Z> = FormContext<Z>>(_options: FormContextOptions): ContextTrinity<E>;
1645
+ /**
1646
+ * Returns the current form instance.
1647
+ *
1648
+ * @param namespace The namespace for the form context. Defaults to `'v0:form'`.
1649
+ * @returns The current form instance.
1650
+ *
1651
+ * @see https://0.vuetifyjs.com/composables/forms/use-form
1652
+ *
1653
+ * @example
1654
+ * ```vue
1655
+ * <script setup lang="ts">
1656
+ * import { useForm } from '@vuetify/v0'
1657
+ *
1658
+ * const form = useForm()
1659
+ * </script>
1660
+ *
1661
+ * <template>
1662
+ * <div>
1663
+ * <p>Form is {{ form.isValid.value ? 'valid' : 'invalid' }}</p>
1664
+ * </div>
1665
+ * </template>
1666
+ * ```
1667
+ */
1668
+ declare function useForm<Z extends FormTicket = FormTicket, E extends FormContext<Z> = FormContext<Z>>(namespace?: string): E;
1344
1669
  //#endregion
1345
1670
  //#region src/composables/useHydration/index.d.ts
1346
1671
  interface HydrationContext {
1347
1672
  isHydrated: Readonly<ShallowRef<boolean>>;
1348
1673
  hydrate: () => void;
1349
1674
  }
1350
- declare const useHydrationContext: (key?: ContextKey<HydrationContext>) => HydrationContext, provideHydrationContext: (context: HydrationContext, app?: App) => HydrationContext;
1675
+ interface HydrationOptions {}
1676
+ interface HydrationContextOptions extends HydrationOptions {
1677
+ namespace?: string;
1678
+ }
1679
+ interface HydrationPluginOptions extends HydrationContextOptions {}
1351
1680
  /**
1352
1681
  * Creates a new hydration instance.
1353
1682
  *
@@ -1359,36 +1688,37 @@ declare const useHydrationContext: (key?: ContextKey<HydrationContext>) => Hydra
1359
1688
  * ```ts
1360
1689
  * import { createHydration } from '@vuetify/v0'
1361
1690
  *
1362
- * const [useHydration, provideHydration] = createHydration()
1691
+ * const hydration = createHydration()
1692
+ * console.log(hydration.isHydrated.value) // false
1693
+ * hydration.hydrate()
1694
+ * console.log(hydration.isHydrated.value) // true
1363
1695
  * ```
1364
1696
  */
1365
- declare function createHydration(): HydrationContext;
1697
+ declare function createHydration<E extends HydrationContext = HydrationContext>(): E;
1366
1698
  /**
1367
- * Returns the current hydration instance.
1699
+ * Creates a new hydration context trinity.
1368
1700
  *
1369
- * @returns The current hydration instance.
1701
+ * @param options Options for creating the hydration context.
1702
+ * @template E The type of the hydration context.
1703
+ * @returns A new hydration context trinity.
1370
1704
  *
1371
1705
  * @see https://0.vuetifyjs.com/composables/plugins/use-hydration
1372
1706
  *
1373
1707
  * @example
1374
- * ```vue
1375
- * <script setup lang="ts">
1376
- * import { useHydration } from '@vuetify/v0'
1377
- *
1378
- * const hydration = useHydration()
1379
- * </script>
1708
+ * ```ts
1709
+ * import { createHydrationContext } from '@vuetify/v0'
1380
1710
  *
1381
- * <template>
1382
- * <div>
1383
- * <p>Is hydrated: {{ hydration.isHydrated.value }}</p>
1384
- * </div>
1385
- * </template>
1711
+ * export const [useHydrationContext, provideHydrationContext, context] = createHydrationContext({
1712
+ * namespace: 'app:hydration',
1713
+ * })
1386
1714
  * ```
1387
1715
  */
1388
- declare function useHydration(): HydrationContext;
1716
+ declare function createHydrationContext<E extends HydrationContext = HydrationContext>(_options?: HydrationContextOptions): ContextTrinity<E>;
1389
1717
  /**
1390
1718
  * Creates a new hydration plugin.
1391
1719
  *
1720
+ * @param options The options for the hydration plugin.
1721
+ * @template E The type of the hydration context.
1392
1722
  * @returns A new hydration plugin.
1393
1723
  *
1394
1724
  * @see https://0.vuetifyjs.com/composables/plugins/use-hydration
@@ -1399,24 +1729,46 @@ declare function useHydration(): HydrationContext;
1399
1729
  * import { createHydrationPlugin } from '@vuetify/v0'
1400
1730
  * import App from './App.vue'
1401
1731
  *
1402
- * const plugin = createHydrationPlugin()
1403
- *
1404
1732
  * const app = createApp(App)
1405
1733
  *
1406
- * app.use(plugin)
1734
+ * app.use(createHydrationPlugin())
1407
1735
  *
1408
1736
  * app.mount('#app')
1409
1737
  * ```
1410
1738
  */
1411
- declare function createHydrationPlugin(): Plugin;
1412
- //#endregion
1413
- //#region src/composables/useIntersectionObserver/index.d.ts
1414
- interface IntersectionObserverEntry {
1415
- boundingClientRect: DOMRectReadOnly;
1416
- intersectionRatio: number;
1417
- intersectionRect: DOMRectReadOnly;
1418
- isIntersecting: boolean;
1419
- rootBounds: DOMRectReadOnly | null;
1739
+ declare function createHydrationPlugin<E extends HydrationContext = HydrationContext>(_options?: HydrationPluginOptions): Plugin;
1740
+ /**
1741
+ * Returns the current hydration instance.
1742
+ *
1743
+ * @param namespace The namespace for the hydration context. Defaults to `v0:hydration`.
1744
+ * @returns The current hydration instance.
1745
+ *
1746
+ * @see https://0.vuetifyjs.com/composables/plugins/use-hydration
1747
+ *
1748
+ * @example
1749
+ * ```vue
1750
+ * <script setup lang="ts">
1751
+ * import { useHydration } from '@vuetify/v0'
1752
+ *
1753
+ * const hydration = useHydration()
1754
+ * </script>
1755
+ *
1756
+ * <template>
1757
+ * <div>
1758
+ * <p>Is hydrated: {{ hydration.isHydrated.value }}</p>
1759
+ * </div>
1760
+ * </template>
1761
+ * ```
1762
+ */
1763
+ declare function useHydration<E extends HydrationContext = HydrationContext>(namespace?: string): E;
1764
+ //#endregion
1765
+ //#region src/composables/useIntersectionObserver/index.d.ts
1766
+ interface IntersectionObserverEntry {
1767
+ boundingClientRect: DOMRectReadOnly;
1768
+ intersectionRatio: number;
1769
+ intersectionRect: DOMRectReadOnly;
1770
+ isIntersecting: boolean;
1771
+ rootBounds: DOMRectReadOnly | null;
1420
1772
  target: Element;
1421
1773
  time: number;
1422
1774
  }
@@ -1510,6 +1862,20 @@ declare function useElementIntersection(target: Ref<Element | undefined>, option
1510
1862
  };
1511
1863
  //#endregion
1512
1864
  //#region src/composables/useKeydown/index.d.ts
1865
+ /**
1866
+ * @module useKeydown
1867
+ *
1868
+ * @remarks
1869
+ * Keydown event listener composable with key filtering.
1870
+ *
1871
+ * Key features:
1872
+ * - Key-specific event handling
1873
+ * - preventDefault and stopPropagation options
1874
+ * - Automatic cleanup on scope disposal
1875
+ * - Auto-starts when in component scope
1876
+ *
1877
+ * Simplified wrapper around useEventListener for keyboard interactions.
1878
+ */
1513
1879
  interface KeyHandler {
1514
1880
  key: string;
1515
1881
  handler: (event: KeyboardEvent) => void;
@@ -1551,33 +1917,58 @@ interface SingleContext<Z extends SingleTicket> extends SelectionContext<Z> {
1551
1917
  selectedValue: ComputedRef<unknown>;
1552
1918
  }
1553
1919
  interface SingleOptions extends SelectionOptions {}
1920
+ interface SingleContextOptions extends SelectionContextOptions {}
1554
1921
  /**
1555
- * Creates a new single selection instance.
1922
+ * Creates a new single selection instance that enforces only one selected item at a time.
1923
+ *
1924
+ * Extends `createSelection` by automatically clearing previous selections when a new item is selected.
1925
+ * Adds computed singular properties: `selectedId`, `selectedItem`, `selectedIndex`, `selectedValue`.
1556
1926
  *
1557
1927
  * @param options The options for the single selection instance.
1558
1928
  * @template Z The type of the single selection ticket.
1559
1929
  * @template E The type of the single selection context.
1560
- * @returns A new single selection instance.
1930
+ * @returns A new single selection instance with single-selection enforcement.
1931
+ *
1932
+ * @remarks
1933
+ * **Key Differences from `createSelection`:**
1934
+ * - Automatically clears `selectedIds` before selecting a new item (enforces single selection)
1935
+ * - Provides singular computed properties instead of plural sets
1936
+ * - Perfect for tabs, radio buttons, theme selectors, and other single-choice UI components
1937
+ *
1938
+ * **Computed Properties:**
1939
+ * - `selectedId`: The ID of the selected item (undefined if none selected)
1940
+ * - `selectedItem`: The selected ticket object (undefined if none selected)
1941
+ * - `selectedIndex`: The index of the selected item (-1 if none selected)
1942
+ * - `selectedValue`: The value of the selected item (undefined if none selected)
1943
+ *
1944
+ * **Inheritance Chain:**
1945
+ * `useRegistry` → `createSelection` → `createSingle` → `createStep`
1561
1946
  *
1562
1947
  * @see https://0.vuetifyjs.com/composables/selection/use-single
1563
1948
  *
1564
1949
  * @example
1565
1950
  * ```ts
1566
- * import { useSingle } from '@vuetify/v0'
1951
+ * import { createSingle } from '@vuetify/v0'
1567
1952
  *
1568
- * const single = useSingle()
1953
+ * const tabs = createSingle({ mandatory: true })
1569
1954
  *
1570
- * single.onboard([
1571
- * { id: 'option-1', value: 'Option 1' },
1572
- * { id: 'option-2', value: 'Option 2' },
1955
+ * tabs.onboard([
1956
+ * { id: 'home', value: 'Home' },
1957
+ * { id: 'about', value: 'About' },
1958
+ * { id: 'contact', value: 'Contact' },
1573
1959
  * ])
1574
1960
  *
1575
- * single.select('option-1')
1961
+ * tabs.first() // Select first tab
1576
1962
  *
1577
- * console.log(single.selectedId.value) // 'option-1'
1963
+ * console.log(tabs.selectedId.value) // 'home'
1964
+ * console.log(tabs.selectedIndex.value) // 0
1965
+ *
1966
+ * tabs.select('about') // Switch to about tab
1967
+ * console.log(tabs.selectedId.value) // 'about'
1968
+ * console.log(tabs.selectedIds.size) // 1 (always enforces single selection)
1578
1969
  * ```
1579
1970
  */
1580
- declare function useSingle<Z extends SingleTicket = SingleTicket, E extends SingleContext<Z> = SingleContext<Z>>(options?: SingleOptions): E;
1971
+ declare function createSingle<Z extends SingleTicket = SingleTicket, E extends SingleContext<Z> = SingleContext<Z>>(options?: SingleOptions): E;
1581
1972
  /**
1582
1973
  * Creates a new single selection context.
1583
1974
  *
@@ -1603,7 +1994,31 @@ declare function useSingle<Z extends SingleTicket = SingleTicket, E extends Sing
1603
1994
  * tabs.select('tab-1')
1604
1995
  * ```
1605
1996
  */
1606
- declare function createSingleContext<Z extends SingleTicket = SingleTicket, E extends SingleContext<Z> = SingleContext<Z>>(namespace: string, options?: SingleOptions): ContextTrinity<E>;
1997
+ declare function createSingleContext<Z extends SingleTicket = SingleTicket, E extends SingleContext<Z> = SingleContext<Z>>(_options: SingleContextOptions): ContextTrinity<E>;
1998
+ /**
1999
+ * Returns the current single selection instance.
2000
+ *
2001
+ * @param namespace The namespace for the single selection context. Defaults to `'v0:single'`.
2002
+ * @returns The current single selection instance.
2003
+ *
2004
+ * @see https://0.vuetifyjs.com/composables/selection/use-single
2005
+ *
2006
+ * @example
2007
+ * ```vue
2008
+ * <script setup lang="ts">
2009
+ * import { useSingle } from '@vuetify/v0'
2010
+ *
2011
+ * const tabs = useSingle()
2012
+ * </script>
2013
+ *
2014
+ * <template>
2015
+ * <div>
2016
+ * <p>Selected: {{ tabs.selectedId }}</p>
2017
+ * </div>
2018
+ * </template>
2019
+ * ```
2020
+ */
2021
+ declare function useSingle<Z extends SingleTicket = SingleTicket, E extends SingleContext<Z> = SingleContext<Z>>(namespace?: string): E;
1607
2022
  //#endregion
1608
2023
  //#region src/composables/useLocale/adapters/adapter.d.ts
1609
2024
  interface LocaleAdapter {
@@ -1631,17 +2046,19 @@ interface LocaleContext<Z extends LocaleTicket> extends SingleContext<Z> {
1631
2046
  t: (key: string, ...params: unknown[]) => string;
1632
2047
  n: (value: number) => string;
1633
2048
  }
1634
- interface LocaleOptions extends LocalePluginOptions {}
1635
- interface LocalePluginOptions<Z extends LocaleRecord = LocaleRecord> {
2049
+ interface LocaleOptions<Z extends LocaleRecord = LocaleRecord> extends SingleOptions {
1636
2050
  adapter?: LocaleAdapter;
1637
2051
  default?: ID;
1638
2052
  fallback?: ID;
1639
2053
  messages?: Record<ID, Z>;
1640
2054
  }
2055
+ interface LocaleContextOptions extends LocaleOptions {
2056
+ namespace?: string;
2057
+ }
2058
+ interface LocalePluginOptions extends LocaleContextOptions {}
1641
2059
  /**
1642
2060
  * Creates a new locale instance.
1643
2061
  *
1644
- * @param namespace The namespace for the locale instance.
1645
2062
  * @param options The options for the locale instance.
1646
2063
  * @template Z The type of the locale ticket.
1647
2064
  * @template E The type of the locale context.
@@ -1649,15 +2066,38 @@ interface LocalePluginOptions<Z extends LocaleRecord = LocaleRecord> {
1649
2066
  *
1650
2067
  * @see https://0.vuetifyjs.com/composables/plugins/use-locale
1651
2068
  */
1652
- declare function createLocale<Z extends LocaleTicket = LocaleTicket, E extends LocaleContext<Z> = LocaleContext<Z>>(namespace?: string, options?: LocaleOptions): ContextTrinity<E>;
2069
+ declare function createLocale<Z extends LocaleTicket = LocaleTicket, E extends LocaleContext<Z> = LocaleContext<Z>>(_options?: LocaleOptions): E;
1653
2070
  /**
1654
- * Returns the current locale instance.
2071
+ * Creates a new locale context.
1655
2072
  *
1656
- * @returns The current locale instance.
2073
+ * @param options The options for the locale context.
2074
+ * @template Z The type of the locale ticket.
2075
+ * @template E The type of the locale context.
2076
+ * @returns A new locale context.
1657
2077
  *
1658
2078
  * @see https://0.vuetifyjs.com/composables/plugins/use-locale
2079
+ *
2080
+ * @example
2081
+ * ```ts
2082
+ * import { createLocaleContext } from '@vuetify/v0'
2083
+ *
2084
+ * export const [useAppLocale, provideAppLocale, appLocale] = createLocaleContext({
2085
+ * namespace: 'app:locale',
2086
+ * messages: {
2087
+ * en: { hello: 'Hello' },
2088
+ * es: { hello: 'Hola' },
2089
+ * },
2090
+ * })
2091
+ *
2092
+ * // In a parent component:
2093
+ * provideAppLocale()
2094
+ *
2095
+ * // In a child component:
2096
+ * const locale = useAppLocale()
2097
+ * locale.select('es')
2098
+ * ```
1659
2099
  */
1660
- declare function useLocale(): LocaleContext<LocaleTicket>;
2100
+ declare function createLocaleContext<Z extends LocaleTicket = LocaleTicket, E extends LocaleContext<Z> = LocaleContext<Z>>(_options?: LocaleContextOptions): ContextTrinity<E>;
1661
2101
  /**
1662
2102
  * Creates a new locale plugin.
1663
2103
  *
@@ -1671,6 +2111,14 @@ declare function useLocale(): LocaleContext<LocaleTicket>;
1671
2111
  * @see https://0.vuetifyjs.com/composables/plugins/use-locale
1672
2112
  */
1673
2113
  declare function createLocalePlugin<Z extends LocaleTicket = LocaleTicket, E extends LocaleContext<Z> = LocaleContext<Z>>(_options?: LocalePluginOptions): Plugin;
2114
+ /**
2115
+ * Returns the current locale instance.
2116
+ *
2117
+ * @returns The current locale instance.
2118
+ *
2119
+ * @see https://0.vuetifyjs.com/composables/plugins/use-locale
2120
+ */
2121
+ declare function useLocale<Z extends LocaleTicket = LocaleTicket, E extends LocaleContext<Z> = LocaleContext<Z>>(namespace?: string): E;
1674
2122
  //#endregion
1675
2123
  //#region src/composables/useLogger/adapters/adapter.d.ts
1676
2124
  interface LoggerAdapter {
@@ -1766,6 +2214,10 @@ interface LoggerOptions {
1766
2214
  prefix?: string;
1767
2215
  enabled?: boolean;
1768
2216
  }
2217
+ interface LoggerContextOptions extends LoggerOptions {
2218
+ namespace?: string;
2219
+ }
2220
+ interface LoggerPluginOptions extends LoggerContextOptions {}
1769
2221
  /**
1770
2222
  * Creates a new logger instance.
1771
2223
  *
@@ -1773,17 +2225,44 @@ interface LoggerOptions {
1773
2225
  * @returns A new logger instance.
1774
2226
  *
1775
2227
  * @see https://0.vuetifyjs.com/composables/plugins/use-logger
2228
+ *
2229
+ * @example
2230
+ * ```ts
2231
+ * import { createLogger } from '@vuetify/v0'
2232
+ *
2233
+ * const logger = createLogger({
2234
+ * level: 'debug',
2235
+ * prefix: '[MyApp]',
2236
+ * })
2237
+ *
2238
+ * logger.info('This is an info message')
2239
+ * logger.debug('This is a debug message')
2240
+ * logger.error('This is an error message')
2241
+ * logger.level('debug')
2242
+ * logger.debug('This debug message will now be logged')
2243
+ * ```
1776
2244
  */
1777
- declare function createLogger(options?: LoggerOptions): LoggerContext;
2245
+ declare function createLogger<E extends LoggerContext = LoggerContext>(options?: LoggerOptions): E;
1778
2246
  /**
1779
- * Uses an existing or creates a new logger instance.
2247
+ * Creates a new logger context.
1780
2248
  *
1781
- * @param namespace The namespace for the logger context.
1782
- * @returns The logger instance.
2249
+ * @param options The options for the logger context.
2250
+ * @template E The type of the logger context.
2251
+ * @returns A new logger context.
1783
2252
  *
1784
2253
  * @see https://0.vuetifyjs.com/composables/plugins/use-logger
2254
+ *
2255
+ * @example
2256
+ * ```ts
2257
+ * import { createLoggerContext } from '@vuetify/v0'
2258
+ *
2259
+ * export const [useAppLogger, provideAppLogger, appLogger] = createLoggerContext({
2260
+ * namespace: 'app:logger',
2261
+ * level: 'debug',
2262
+ * })
2263
+ * ```
1785
2264
  */
1786
- declare function useLogger(namespace?: string): LoggerContext;
2265
+ declare function createLoggerContext<E extends LoggerContext = LoggerContext>(_options?: LoggerContextOptions): ContextTrinity<E>;
1787
2266
  /**
1788
2267
  * Creates a new logger plugin.
1789
2268
  *
@@ -1791,8 +2270,48 @@ declare function useLogger(namespace?: string): LoggerContext;
1791
2270
  * @returns A new logger plugin.
1792
2271
  *
1793
2272
  * @see https://0.vuetifyjs.com/composables/plugins/use-logger
2273
+ *
2274
+ * @example
2275
+ * ```ts
2276
+ * import { createApp } from 'vue'
2277
+ * import { createLoggerPlugin } from '@vuetify/v0'
2278
+ * import App from './App.vue'
2279
+ *
2280
+ * const app = createApp(App)
2281
+ *
2282
+ * app.use(
2283
+ * createLoggerPlugin({
2284
+ * level: 'debug',
2285
+ * prefix: '[MyApp]',
2286
+ * })
2287
+ * )
2288
+ *
2289
+ * app.mount('#app')
2290
+ * ```
2291
+ */
2292
+ declare function createLoggerPlugin<E extends LoggerContext = LoggerContext>(_options?: LoggerPluginOptions): Plugin;
2293
+ /**
2294
+ * Uses an existing or creates a new logger instance.
2295
+ *
2296
+ * @param namespace The namespace for the logger context. Defaults to `'v0:logger'`.
2297
+ * @returns The logger instance.
2298
+ *
2299
+ * @see https://0.vuetifyjs.com/composables/plugins/use-logger
2300
+ *
2301
+ * @example
2302
+ * ```ts
2303
+ * import { useLogger } from '@vuetify/v0'
2304
+ *
2305
+ * const logger = useLogger()
2306
+ *
2307
+ * logger.info('This is an info message')
2308
+ * logger.debug('This is a debug message')
2309
+ * logger.error('This is an error message')
2310
+ * logger.level('debug')
2311
+ * logger.debug('This debug message will now be logged')
2312
+ * ```
1794
2313
  */
1795
- declare function createLoggerPlugin(options?: LoggerOptions): Plugin;
2314
+ declare function useLogger<E extends LoggerContext = LoggerContext>(namespace?: string): E;
1796
2315
  //#endregion
1797
2316
  //#region src/composables/useMutationObserver/index.d.ts
1798
2317
  interface MutationObserverRecord {
@@ -1881,27 +2400,30 @@ interface PermissionTicket extends TokenTicket {
1881
2400
  interface PermissionContext<Z extends PermissionTicket = PermissionTicket> extends TokenContext<Z> {
1882
2401
  can: (id: ID, action: string, subject: string, context?: Record<string, any>) => boolean;
1883
2402
  }
1884
- interface PermissionOptions extends PermissionPluginOptions {}
1885
- interface PermissionPluginOptions {
2403
+ interface PermissionOptions extends TokenOptions {
1886
2404
  adapter?: PermissionAdapter;
1887
2405
  permissions?: Record<ID, any>;
1888
2406
  }
2407
+ interface PermissionContextOptions extends PermissionOptions {
2408
+ namespace?: string;
2409
+ }
2410
+ interface PermissionPluginOptions extends PermissionContextOptions {}
1889
2411
  /**
1890
2412
  * Creates a new permissions instance.
1891
2413
  *
1892
- * @param namespace The namespace for the permissions instance.
1893
2414
  * @param options The options for the permissions instance.
1894
2415
  * @template Z The type of the permission ticket.
1895
2416
  * @template E The type of the permission context.
1896
2417
  * @returns A new permissions instance.
1897
2418
  *
1898
- * @see https://0.vuetifyjs.com/composables/plugins/create-permissions
2419
+ * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
1899
2420
  *
1900
2421
  * @example
1901
2422
  * ```ts
1902
2423
  * import { createPermissions } from '@vuetify/v0'
1903
2424
  *
1904
- * const [usePermissions, providePermissions] = createPermissions('v0:permissions', {
2425
+ * const [usePermissions, providePermissions] = createPermissions({
2426
+ * namespace: 'v0:permissions',
1905
2427
  * permissions: {
1906
2428
  * admin: [['read', 'users']],
1907
2429
  * editor: [['edit', 'posts']],
@@ -1909,31 +2431,31 @@ interface PermissionPluginOptions {
1909
2431
  * })
1910
2432
  * ```
1911
2433
  */
1912
- declare function createPermissions<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(namespace?: string, options?: PermissionOptions): ContextTrinity<E>;
2434
+ declare function createPermissions<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionOptions): E;
1913
2435
  /**
1914
- * Returns the current permissions instance.
2436
+ * Creates a new permissions context.
1915
2437
  *
2438
+ * @param options The options for the permissions context.
1916
2439
  * @template Z The type of the permission ticket.
1917
- * @returns The current permissions instance.
2440
+ * @template E The type of the permission context.
2441
+ * @returns A new permissions context.
1918
2442
  *
1919
2443
  * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
1920
2444
  *
1921
2445
  * @example
1922
- * ```vue
1923
- * <script setup lang="ts">
1924
- * import { usePermissions } from '@vuetify/v0'
1925
- *
1926
- * const { can } = usePermissions()
1927
- * </script>
2446
+ * ```ts
2447
+ * import { createPermissionsContext } from '@vuetify/v0'
1928
2448
  *
1929
- * <template>
1930
- * <div>
1931
- * <p v-if="can('admin', 'read', 'users')">Admin access</p>
1932
- * </div>
1933
- * </template>
2449
+ * export const [usePermissions, providePermissions, context] = createPermissionsContext({
2450
+ * namespace: 'app:permissions',
2451
+ * permissions: {
2452
+ * admin: [['read', 'users'], ['edit', 'users']],
2453
+ * editor: [['edit', 'posts']],
2454
+ * },
2455
+ * })
1934
2456
  * ```
1935
2457
  */
1936
- declare function usePermissions<Z extends PermissionTicket = PermissionTicket>(): PermissionContext<Z>;
2458
+ declare function createPermissionsContext<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionContextOptions): ContextTrinity<E>;
1937
2459
  /**
1938
2460
  * Creates a new permissions plugin.
1939
2461
  *
@@ -1964,7 +2486,31 @@ declare function usePermissions<Z extends PermissionTicket = PermissionTicket>()
1964
2486
  * app.mount('#app')
1965
2487
  * ```
1966
2488
  */
1967
- declare function createPermissionsPlugin<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(options?: PermissionOptions): Plugin;
2489
+ declare function createPermissionsPlugin<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(_options?: PermissionPluginOptions): Plugin;
2490
+ /**
2491
+ * Returns the current permissions instance.
2492
+ *
2493
+ * @template Z The type of the permission ticket.
2494
+ * @returns The current permissions instance.
2495
+ *
2496
+ * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
2497
+ *
2498
+ * @example
2499
+ * ```vue
2500
+ * <script setup lang="ts">
2501
+ * import { usePermissions } from '@vuetify/v0'
2502
+ *
2503
+ * const { can } = usePermissions()
2504
+ * </script>
2505
+ *
2506
+ * <template>
2507
+ * <div>
2508
+ * <p v-if="can('admin', 'read', 'users')">Admin access</p>
2509
+ * </div>
2510
+ * </template>
2511
+ * ```
2512
+ */
2513
+ declare function usePermissions<Z extends PermissionTicket = PermissionTicket, E extends PermissionContext<Z> = PermissionContext<Z>>(namespace?: string): E;
1968
2514
  //#endregion
1969
2515
  //#region src/composables/useProxyModel/index.d.ts
1970
2516
  interface ProxyModelOptions {
@@ -1986,9 +2532,9 @@ interface ProxyModelOptions {
1986
2532
  *
1987
2533
  * @example
1988
2534
  * ```ts
1989
- * import { useSelection, useProxyModel } from '@vuetify/v0'
2535
+ * import { createSelection, useProxyModel } from '@vuetify/v0'
1990
2536
  *
1991
- * const registry = useSelection({ events: true })
2537
+ * const registry = createSelection({ events: true })
1992
2538
  * registry.onboard([
1993
2539
  * { id: 'item-1', value: 'Item 1' },
1994
2540
  * { id: 'item-2', value: 'Item 2' },
@@ -1997,7 +2543,7 @@ interface ProxyModelOptions {
1997
2543
  * const model = useProxyModel(registry, 'Item 1')
1998
2544
  * ```
1999
2545
  */
2000
- declare function useProxyModel<Z extends SelectionTicket>(registry: SelectionContext<Z>, initial?: unknown | unknown[], options?: ProxyModelOptions, _transformIn?: (val: unknown[] | unknown) => unknown[], _transformOut?: (val: unknown[]) => unknown | unknown[]): vue169.WritableComputedRef<unknown, unknown>;
2546
+ declare function useProxyModel<Z extends SelectionTicket>(registry: SelectionContext<Z>, _initial?: MaybeRef | MaybeRef[], options?: ProxyModelOptions, _transformIn?: (val: unknown[] | unknown) => unknown[], _transformOut?: (val: unknown[]) => unknown | unknown[]): vue97.WritableComputedRef<unknown, unknown>;
2001
2547
  //#endregion
2002
2548
  //#region src/composables/useProxyRegistry/index.d.ts
2003
2549
  interface ProxyRegistryOptions {
@@ -2236,6 +2782,9 @@ interface QueueOptions extends RegistryOptions {
2236
2782
  */
2237
2783
  timeout?: number;
2238
2784
  }
2785
+ interface QueueContextOptions extends QueueOptions {
2786
+ namespace: string;
2787
+ }
2239
2788
  /**
2240
2789
  * Creates a new queue instance
2241
2790
  *
@@ -2267,7 +2816,46 @@ interface QueueOptions extends RegistryOptions {
2267
2816
  * console.log(queue.size) // 2
2268
2817
  * ```
2269
2818
  */
2270
- declare function useQueue<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(_options?: QueueOptions): E;
2819
+ declare function createQueue<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(_options?: QueueOptions): E;
2820
+ /**
2821
+ * Creates a new queue context.
2822
+ *
2823
+ * @param namespace The namespace for the queue context.
2824
+ * @param options The options for the queue context.
2825
+ * @template Z The type of the queue ticket.
2826
+ * @template E The type of the queue context.
2827
+ * @returns A new queue context.
2828
+ *
2829
+ * @see https://0.vuetifyjs.com/composables/registration/use-queue
2830
+ *
2831
+ * @example
2832
+ * ```ts
2833
+ * import { createQueueContext } from '@vuetify/v0'
2834
+ *
2835
+ * export const [useQueue, provideQueue] = createQueueContext('v0:queue', {
2836
+ * timeout: 5000,
2837
+ * })
2838
+ * ```
2839
+ */
2840
+ declare function createQueueContext<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(_options: QueueContextOptions): ContextTrinity<E>;
2841
+ /**
2842
+ * Returns the current queue instance.
2843
+ *
2844
+ * @param namespace The namespace for the queue context. Defaults to `'v0:queue'`.
2845
+ * @returns The current queue instance.
2846
+ *
2847
+ * @see https://0.vuetifyjs.com/composables/registration/use-queue
2848
+ *
2849
+ * @example
2850
+ * ```vue
2851
+ * <script setup lang="ts">
2852
+ * import { useQueue } from '@vuetify/v0'
2853
+ *
2854
+ * const queue = useQueue()
2855
+ * </script>
2856
+ * ```
2857
+ */
2858
+ declare function useQueue<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(namespace?: string): E;
2271
2859
  //#endregion
2272
2860
  //#region src/composables/useResizeObserver/index.d.ts
2273
2861
  interface ResizeObserverEntry {
@@ -2354,8 +2942,8 @@ declare function useResizeObserver(target: Ref<Element | undefined>, callback: (
2354
2942
  * ```
2355
2943
  */
2356
2944
  declare function useElementSize(target: Ref<Element | undefined>): {
2357
- width: vue169.ShallowRef<number, number>;
2358
- height: vue169.ShallowRef<number, number>;
2945
+ width: vue97.ShallowRef<number, number>;
2946
+ height: vue97.ShallowRef<number, number>;
2359
2947
  isPaused: Readonly<Ref<boolean, boolean>>;
2360
2948
  pause: () => void;
2361
2949
  resume: () => void;
@@ -2377,35 +2965,67 @@ interface StepContext<Z extends StepTicket> extends SingleContext<Z> {
2377
2965
  step: (count: number) => void;
2378
2966
  }
2379
2967
  interface StepOptions extends SingleOptions {}
2968
+ interface StepContextOptions extends SingleContextOptions {}
2380
2969
  /**
2381
- * Creates a new step instance.
2970
+ * Creates a new step instance with circular navigation through items.
2971
+ *
2972
+ * Extends `createSingle` with `first()`, `last()`, `next()`, `prev()`, and `step(count)` methods
2973
+ * for sequential navigation. Automatically wraps around at boundaries (circular navigation).
2382
2974
  *
2383
2975
  * @param options The options for the step instance.
2384
2976
  * @template Z The type of the step ticket.
2385
2977
  * @template E The type of the step context.
2386
- * @returns A new step instance.
2978
+ * @returns A new step instance with navigation methods.
2979
+ *
2980
+ * @remarks
2981
+ * **Key Features:**
2982
+ * - **Circular Navigation**: Wrapping at start/end boundaries
2983
+ * - **Disabled Item Skipping**: Automatically skips disabled items during navigation
2984
+ * - **Bidirectional**: Forward (`next`, positive `step`) and backward (`prev`, negative `step`)
2985
+ * - **Safe Edge Cases**: Handles empty registries and all-disabled scenarios gracefully
2986
+ *
2987
+ * **Navigation Methods:**
2988
+ * - `first()`: Select first non-disabled item
2989
+ * - `last()`: Select last non-disabled item
2990
+ * - `next()`: Move to next item (wraps to first)
2991
+ * - `prev()`: Move to previous item (wraps to last)
2992
+ * - `step(count)`: Move by `count` positions (negative for backward)
2993
+ *
2994
+ * **Wrapping Behavior:**
2995
+ * - Uses modulo arithmetic for circular wrapping: `((index % length) + length) % length`
2996
+ * - Works correctly with negative indexes and large step counts
2997
+ * - Continues searching if landing on disabled items (up to registry length iterations)
2998
+ * - Returns early if all items are disabled to prevent infinite loops
2999
+ *
3000
+ * **Inheritance Chain:**
3001
+ * `useRegistry` → `createSelection` → `createSingle` → `createStep`
2387
3002
  *
2388
3003
  * @see https://0.vuetifyjs.com/composables/selection/use-step
2389
3004
  *
2390
3005
  * @example
2391
3006
  * ```ts
2392
- * import { useStep } from '@vuetify/v0'
3007
+ * import { createStep } from '@vuetify/v0'
2393
3008
  *
2394
- * const stepper = useStep()
3009
+ * const wizard = createStep({ mandatory: true })
2395
3010
  *
2396
- * stepper.onboard([
2397
- * { id: 'step-1', value: 'Account Info' },
2398
- * { id: 'step-2', value: 'Payment' },
2399
- * { id: 'step-3', value: 'Confirmation' },
3011
+ * wizard.onboard([
3012
+ * { id: 'account', value: 'Account Info' },
3013
+ * { id: 'payment', value: 'Payment Details' },
3014
+ * { id: 'review', value: 'Review', disabled: true },
3015
+ * { id: 'confirm', value: 'Confirmation' },
2400
3016
  * ])
2401
3017
  *
2402
- * stepper.first()
2403
- * stepper.next() // Move to step-2
3018
+ * wizard.first() // Select 'account'
3019
+ * console.log(wizard.selectedId.value) // 'account'
2404
3020
  *
2405
- * console.log(stepper.selectedIndex.value) // 1
3021
+ * wizard.next() // Move to 'payment'
3022
+ * wizard.next() // Skip disabled 'review', move to 'confirm'
3023
+ * wizard.next() // Wrap around to 'account'
3024
+ *
3025
+ * wizard.step(-2) // Go back 2 steps (wraps correctly)
2406
3026
  * ```
2407
3027
  */
2408
- declare function useStep<Z extends StepTicket = StepTicket, E extends StepContext<Z> = StepContext<Z>>(options?: StepOptions): E;
3028
+ declare function createStep<Z extends StepTicket = StepTicket, E extends StepContext<Z> = StepContext<Z>>(options?: StepOptions): E;
2409
3029
  /**
2410
3030
  * Creates a new step context.
2411
3031
  *
@@ -2431,7 +3051,32 @@ declare function useStep<Z extends StepTicket = StepTicket, E extends StepContex
2431
3051
  * wizard.next() // Progress to next step
2432
3052
  * ```
2433
3053
  */
2434
- declare function createStepContext<Z extends StepTicket = StepTicket, E extends StepContext<Z> = StepContext<Z>>(namespace: string, options?: StepOptions): ContextTrinity<E>;
3054
+ declare function createStepContext<Z extends StepTicket = StepTicket, E extends StepContext<Z> = StepContext<Z>>(_options: StepContextOptions): ContextTrinity<E>;
3055
+ /**
3056
+ * Returns the current step instance.
3057
+ *
3058
+ * @param namespace The namespace for the step context. Defaults to `'v0:step'`.
3059
+ * @returns The current step instance.
3060
+ *
3061
+ * @see https://0.vuetifyjs.com/composables/selection/use-step
3062
+ *
3063
+ * @example
3064
+ * ```vue
3065
+ * <script setup lang="ts">
3066
+ * import { useStep } from '@vuetify/v0'
3067
+ *
3068
+ * const wizard = useStep()
3069
+ * </script>
3070
+ *
3071
+ * <template>
3072
+ * <div>
3073
+ * <p>Current step: {{ wizard.selectedIndex }}</p>
3074
+ * <button @click="wizard.next()">Next</button>
3075
+ * </div>
3076
+ * </template>
3077
+ * ```
3078
+ */
3079
+ declare function useStep<Z extends StepTicket = StepTicket, E extends StepContext<Z> = StepContext<Z>>(namespace?: string): E;
2435
3080
  //#endregion
2436
3081
  //#region src/composables/useStorage/adapters/adapter.d.ts
2437
3082
  interface StorageAdapter$1 {
@@ -2491,6 +3136,11 @@ interface StorageOptions {
2491
3136
  write: (value: any) => string;
2492
3137
  };
2493
3138
  }
3139
+ interface StorageContextOptions extends StorageOptions {
3140
+ /** The namespace for the storage context. Defaults to `v0:storage` */
3141
+ namespace?: string;
3142
+ }
3143
+ interface StoragePluginOptions extends StorageContextOptions {}
2494
3144
  declare const useStorageContext: (key?: ContextKey<StorageContext>) => StorageContext, provideStorageContext: (context: StorageContext, app?: App) => StorageContext;
2495
3145
  /**
2496
3146
  * Creates a new storage instance.
@@ -2517,9 +3167,33 @@ declare const useStorageContext: (key?: ContextKey<StorageContext>) => StorageCo
2517
3167
  * ```
2518
3168
  */
2519
3169
  declare function createStorage<E extends StorageContext>(options?: StorageOptions): E;
3170
+ declare function createStorageContext<E extends StorageContext = StorageContext>(_options?: StorageContextOptions): ContextTrinity<E>;
3171
+ /**
3172
+ * Creates a new storage plugin.
3173
+ *
3174
+ * @param options The options for the storage plugin.
3175
+ * @returns A new storage plugin.
3176
+ *
3177
+ * @see https://0.vuetifyjs.com/composables/plugins/use-storage
3178
+ *
3179
+ * @example
3180
+ * ```ts
3181
+ * import { createApp } from 'vue'
3182
+ * import { createStoragePlugin } from '@vuetify/v0'
3183
+ * import App from './App.vue'
3184
+ *
3185
+ * const app = createApp(App)
3186
+ *
3187
+ * app.use(createStoragePlugin())
3188
+ *
3189
+ * app.mount('#app')
3190
+ * ```
3191
+ */
3192
+ declare function createStoragePlugin<E extends StorageContext = StorageContext>(_options?: StoragePluginOptions): Plugin;
2520
3193
  /**
2521
3194
  * Returns the current storage instance.
2522
3195
  *
3196
+ * @param namespace The namespace for the storage context. Defaults to `'v0:storage'`.
2523
3197
  * @returns The current storage instance.
2524
3198
  *
2525
3199
  * @see https://0.vuetifyjs.com/composables/plugins/use-storage
@@ -2540,29 +3214,7 @@ declare function createStorage<E extends StorageContext>(options?: StorageOption
2540
3214
  * </template>
2541
3215
  * ```
2542
3216
  */
2543
- declare function useStorage(): StorageContext;
2544
- /**
2545
- * Creates a new storage plugin.
2546
- *
2547
- * @param options The options for the storage plugin.
2548
- * @returns A new storage plugin.
2549
- *
2550
- * @see https://0.vuetifyjs.com/composables/plugins/use-storage
2551
- *
2552
- * @example
2553
- * ```ts
2554
- * import { createApp } from 'vue'
2555
- * import { createStoragePlugin } from '@vuetify/v0'
2556
- * import App from './App.vue'
2557
- *
2558
- * const app = createApp(App)
2559
- *
2560
- * app.use(createStoragePlugin())
2561
- *
2562
- * app.mount('#app')
2563
- * ```
2564
- */
2565
- declare function createStoragePlugin(options?: StorageOptions): Plugin;
3217
+ declare function useStorage<E extends StorageContext = StorageContext>(namespace?: string): E;
2566
3218
  //#endregion
2567
3219
  //#region src/composables/useTheme/adapters/adapter.d.ts
2568
3220
  interface ThemeAdapterInterface {
@@ -2607,26 +3259,89 @@ type ThemeRecord = {
2607
3259
  lazy?: boolean;
2608
3260
  colors: ThemeColors;
2609
3261
  };
2610
- type ThemeTicket = SingleTicket & {
2611
- lazy: boolean;
3262
+ interface ThemeTicket extends SingleTicket {
3263
+ /**
3264
+ * Indicates whether the theme is dark or light.
3265
+ *
3266
+ * @remarks Defaults to `false` (light theme).
3267
+ */
2612
3268
  dark: boolean;
2613
- };
3269
+ /**
3270
+ * Indicates whether the theme should be loaded lazily.
3271
+ *
3272
+ * @remarks Defaults to `false`.
3273
+ */
3274
+ lazy: boolean;
3275
+ }
2614
3276
  interface ThemeContext<Z extends ThemeTicket> extends SingleContext<Z> {
3277
+ /**
3278
+ * A computed reference to the resolved colors of the current theme.
3279
+ *
3280
+ * @remarks The colors are resolved by replacing any token aliases with their actual values.
3281
+ *
3282
+ * @see https://0.vuetifyjs.com/composables/plugins/use-theme#colors
3283
+ *
3284
+ * @example
3285
+ * ```ts
3286
+ * import { useTheme } from '@vuetify/v0'
3287
+ *
3288
+ * const theme = useTheme()
3289
+ *
3290
+ * console.log(theme.colors.value)
3291
+ * ```
3292
+ */
2615
3293
  colors: ComputedRef<Record<string, Colors>>;
2616
- cycle: (themes: ID[]) => void;
3294
+ /**
3295
+ * Cycles through the provided themes in order.
3296
+ *
3297
+ * @param themes An array of theme IDs to cycle through. Defaults to all registered themes.
3298
+ *
3299
+ * @see https://0.vuetifyjs.com/composables/plugins/use-theme#cycle
3300
+ *
3301
+ * @example
3302
+ * ```ts
3303
+ * import { useTheme } from '@vuetify/v0'
3304
+ *
3305
+ * const theme = useTheme()
3306
+ *
3307
+ * theme.cycle(['light', 'dark'])
3308
+ * ```
3309
+ */
3310
+ cycle: (themes?: ID[]) => void;
2617
3311
  }
2618
- interface ThemeOptions extends ThemePluginOptions {}
2619
- interface ThemePluginOptions<Z extends ThemeRecord = ThemeRecord> {
3312
+ interface ThemeOptions<Z extends ThemeRecord = ThemeRecord> extends RegistryOptions {
3313
+ /**
3314
+ * The theme adapter to use.
3315
+ *
3316
+ * @remarks Defaults to `Vuetify0ThemeAdapter`.
3317
+ */
2620
3318
  adapter?: ThemeAdapter;
3319
+ /**
3320
+ * The default theme ID to select on initialization.
3321
+ */
2621
3322
  default?: ID;
3323
+ /**
3324
+ * A collection of tokens to use for resolving theme colors.
3325
+ */
2622
3326
  palette?: TokenCollection;
3327
+ /**
3328
+ * A record of themes to register.
3329
+ */
2623
3330
  themes?: Record<ID, Z>;
3331
+ /**
3332
+ * The target element or selector to apply theme classes to.
3333
+ *
3334
+ * @remarks If `null`, no classes will be applied.
3335
+ */
2624
3336
  target?: string | HTMLElement | null;
2625
3337
  }
3338
+ interface ThemeContextOptions extends ThemeOptions {
3339
+ namespace?: string;
3340
+ }
3341
+ interface ThemePluginOptions extends ThemeContextOptions {}
2626
3342
  /**
2627
3343
  * Creates a new theme instance.
2628
3344
  *
2629
- * @param namespace The namespace for the theme instance.
2630
3345
  * @param options The options for the theme instance.
2631
3346
  * @template Z The type of the theme ticket.
2632
3347
  * @template E The type of the theme context.
@@ -2638,7 +3353,8 @@ interface ThemePluginOptions<Z extends ThemeRecord = ThemeRecord> {
2638
3353
  * ```ts
2639
3354
  * import { createTheme } from '@vuetify/v0'
2640
3355
  *
2641
- * export const [useTheme, provideTheme] = createTheme('v0:theme', {
3356
+ * export const [useTheme, provideTheme] = createTheme({
3357
+ * namespace: 'v0:theme',
2642
3358
  * default: 'light',
2643
3359
  * themes: {
2644
3360
  * light: {
@@ -2657,34 +3373,46 @@ interface ThemePluginOptions<Z extends ThemeRecord = ThemeRecord> {
2657
3373
  * })
2658
3374
  * ```
2659
3375
  */
2660
- declare function createTheme<Z extends ThemeTicket = ThemeTicket, E extends ThemeContext<Z> = ThemeContext<Z>>(namespace?: string, options?: ThemeOptions): ContextTrinity<E>;
3376
+ declare function createTheme<Z extends ThemeTicket = ThemeTicket, E extends ThemeContext<Z> = ThemeContext<Z>>(_options?: ThemeOptions): E;
2661
3377
  /**
2662
- * Returns the current theme instance.
3378
+ * Creates a new theme context trinity.
2663
3379
  *
2664
- * @returns The current theme instance.
3380
+ * @param options The options for the theme context.
3381
+ * @template Z The type of the theme ticket.
3382
+ * @template E The type of the theme context.
3383
+ * @returns A new theme context trinity.
2665
3384
  *
2666
3385
  * @see https://0.vuetifyjs.com/composables/plugins/use-theme
2667
3386
  *
2668
3387
  * @example
2669
- * ```vue
2670
- * <script setup lang="ts">
2671
- * import { useTheme } from '@vuetify/v0'
2672
- *
2673
- * const theme = useTheme()
2674
- * </script>
3388
+ * ```ts
3389
+ * import { createThemeContext } from '@vuetify/v0'
2675
3390
  *
2676
- * <template>
2677
- * <div>
2678
- * <p>Current theme: {{ theme.selected.value }}</p>
2679
- * </div>
2680
- * </template>
3391
+ * export const [useThemeContext, provideThemeContext, context] = createThemeContext({
3392
+ * namespace: 'v0:theme',
3393
+ * default: 'light',
3394
+ * themes: {
3395
+ * light: {
3396
+ * dark: false,
3397
+ * colors: {
3398
+ * primary: '#3b82f6',
3399
+ * },
3400
+ * },
3401
+ * dark: {
3402
+ * dark: true,
3403
+ * colors: {
3404
+ * primary: '#675496',
3405
+ * },
3406
+ * },
3407
+ * },
3408
+ * })
2681
3409
  * ```
2682
3410
  */
2683
- declare function useTheme(): ThemeContext<ThemeTicket>;
3411
+ declare function createThemeContext<Z extends ThemeTicket = ThemeTicket, E extends ThemeContext<Z> = ThemeContext<Z>>(_options?: ThemeContextOptions): ContextTrinity<E>;
2684
3412
  /**
2685
3413
  * Creates a new theme plugin.
2686
3414
  *
2687
- * @param _options The options for the theme plugin.
3415
+ * @param options The options for the theme plugin.
2688
3416
  * @template Z The type of the theme ticket.
2689
3417
  * @template E The type of the theme context.
2690
3418
  * @returns A new theme plugin.
@@ -2723,16 +3451,95 @@ declare function useTheme(): ThemeContext<ThemeTicket>;
2723
3451
  * ```
2724
3452
  */
2725
3453
  declare function createThemePlugin<Z extends ThemeTicket = ThemeTicket, E extends ThemeContext<Z> = ThemeContext<Z>>(_options?: ThemePluginOptions): Plugin;
3454
+ /**
3455
+ * Returns the current theme instance.
3456
+ *
3457
+ * @param namespace The namespace for the theme context. Defaults to `v0:theme`.
3458
+ * @returns The current theme instance.
3459
+ *
3460
+ * @see https://0.vuetifyjs.com/composables/plugins/use-theme
3461
+ *
3462
+ * @example
3463
+ * ```vue
3464
+ * <script setup lang="ts">
3465
+ * import { useTheme } from '@vuetify/v0'
3466
+ *
3467
+ * const theme = useTheme()
3468
+ * </script>
3469
+ *
3470
+ * <template>
3471
+ * <div>
3472
+ * <p>Current theme: {{ theme.selected.value }}</p>
3473
+ * </div>
3474
+ * </template>
3475
+ * ```
3476
+ */
3477
+ declare function useTheme<Z extends ThemeTicket = ThemeTicket, E extends ThemeContext<Z> = ThemeContext<Z>>(namespace?: string): E;
2726
3478
  //#endregion
2727
3479
  //#region src/composables/useTimeline/index.d.ts
2728
3480
  interface TimelineContext<Z extends TimelineTicket> extends RegistryContext<Z> {
3481
+ /**
3482
+ * Removes the last registered ticket and stores it for redo
3483
+ *
3484
+ * @return The removed ticket, or undefined if there are no tickets to undo.
3485
+ *
3486
+ * @see https://0.vuetifyjs.com/composables/registration/use-timeline#undo
3487
+ *
3488
+ * @example
3489
+ * ```ts
3490
+ * import { useTimeline } from '@vuetify/v0'
3491
+ *
3492
+ * const timeline = useTimeline()
3493
+ *
3494
+ * timeline.register({ id: 'one' })
3495
+ * timeline.register({ id: 'two' })
3496
+ *
3497
+ * console.log(timeline.values()) // [{ id: 'one' }, { id: 'two' }]
3498
+ *
3499
+ * timeline.undo()
3500
+ * console.log(timeline.values()) // [{ id: 'one' }]
3501
+ * ```
3502
+ */
2729
3503
  undo: () => Z | undefined;
3504
+ /**
3505
+ * Restores the last undone ticket
3506
+ *
3507
+ * @returns The restored ticket, or undefined if there are no tickets to redo.
3508
+ *
3509
+ * @see https://0.vuetifyjs.com/composables/registration/use-timeline#redo
3510
+ *
3511
+ * @example
3512
+ * ```ts
3513
+ * import { useTimeline } from '@vuetify/v0'
3514
+ *
3515
+ * const timeline = useTimeline()
3516
+ *
3517
+ * timeline.register({ id: 'one' })
3518
+ * timeline.register({ id: 'two' })
3519
+ *
3520
+ * console.log(timeline.values()) // [{ id: 'one' }, { id: 'two' }]
3521
+ *
3522
+ * timeline.undo()
3523
+ * console.log(timeline.values()) // [{ id: 'one' }]
3524
+ *
3525
+ * timeline.redo()
3526
+ * console.log(timeline.values()) // [{ id: 'one' }, { id: 'two' }]
3527
+ * ```
3528
+ */
2730
3529
  redo: () => Z | undefined;
2731
3530
  }
2732
3531
  interface TimelineTicket extends RegistryTicket {}
2733
3532
  interface TimelineOptions extends RegistryOptions {
3533
+ /**
3534
+ * The maximum size of the timeline.
3535
+ *
3536
+ * @default 10
3537
+ */
2734
3538
  size?: number;
2735
3539
  }
3540
+ interface TimelineContextOptions extends TimelineOptions {
3541
+ namespace: string;
3542
+ }
2736
3543
  /**
2737
3544
  * Creates a new timeline instance.
2738
3545
  *
@@ -2760,6 +3567,52 @@ interface TimelineOptions extends RegistryOptions {
2760
3567
  * console.log(timeline.values()) // [{ id: 'one' }, { id: 'two' }, { id: 'three' }]
2761
3568
  * ```
2762
3569
  */
2763
- declare function useTimeline<Z extends TimelineTicket = TimelineTicket, E extends TimelineContext<Z> = TimelineContext<Z>>(_options?: TimelineOptions): E;
3570
+ declare function createTimeline<Z extends TimelineTicket = TimelineTicket, E extends TimelineContext<Z> = TimelineContext<Z>>(_options?: TimelineOptions): E;
3571
+ /**
3572
+ * Creates a new timeline plugin.
3573
+ *
3574
+ * @param namespace The namespace for the timeline plugin.
3575
+ * @param options The options for the timeline plugin.
3576
+ * @template Z The type of the timeline ticket.
3577
+ * @template E The type of the timeline context.
3578
+ * @returns A new timeline plugin.
3579
+ *
3580
+ * @see https://0.vuetifyjs.com/composables/registration/use-timeline
3581
+ *
3582
+ * @example
3583
+ * ```ts
3584
+ * import { createTimelineContext } from '@vuetify/v0'
3585
+ *
3586
+ * export const [useTimeline, provideTimeline, context] = createTimelineContext('v0:timeline', { size: 5 })
3587
+ * context.register({ id: 'example' })
3588
+ *
3589
+ * // In a parent component
3590
+ * provideTimeline()
3591
+ *
3592
+ * // In a child component
3593
+ * const timeline = useTimeline()
3594
+ *
3595
+ * console.log(timeline.values()) // [{ id: 'example' }]
3596
+ * ```
3597
+ */
3598
+ declare function createTimelineContext<Z extends TimelineTicket = TimelineTicket, E extends TimelineContext<Z> = TimelineContext<Z>>(_options: TimelineContextOptions): ContextTrinity<E>;
3599
+ /**
3600
+ * Returns the current timeline instance.
3601
+ *
3602
+ * @param namespace The namespace for the timeline context. Defaults to `'v0:timeline'`.
3603
+ * @returns The current timeline instance.
3604
+ *
3605
+ * @see https://0.vuetifyjs.com/composables/registration/use-timeline
3606
+ *
3607
+ * @example
3608
+ * ```vue
3609
+ * <script setup lang="ts">
3610
+ * import { useTimeline } from '@vuetify/v0'
3611
+ *
3612
+ * const timeline = useTimeline()
3613
+ * </script>
3614
+ * ```
3615
+ */
3616
+ declare function useTimeline<Z extends TimelineTicket = TimelineTicket, E extends TimelineContext<Z> = TimelineContext<Z>>(namespace?: string): E;
2764
3617
  //#endregion
2765
- export { PermissionAdapterInterface as $, createContext as $n, UseFilterResult as $t, createStepContext as A, RegistryTicket as An, IntersectionObserverEntry as At, ProxyRegistryContext as B, BreakpointsOptions as Bn, FormContext as Bt, useStorageContext as C, SelectionContext as Cn, SingleContext as Ct, StepContext as D, useSelection as Dn, useSingle as Dt, MemoryAdapter as E, createSelectionContext as En, createSingleContext as Et, useResizeObserver as F, useDocumentEventListener as Fn, createHydration as Ft, PermissionContext as G, toReactive as Gn, FormValue as Gt, useProxyRegistry as H, createBreakpoints as Hn, FormTicket as Ht, QueueContext as I, useEventListener as In, createHydrationPlugin as It, PermissionTicket as J, createTrinity as Jn, FilterItem as Jt, PermissionOptions as K, toArray as Kn, useForm as Kt, QueueOptions as L, useWindowEventListener as Ln, provideHydrationContext as Lt, ResizeObserverEntry as M, useRegistry as Mn, useElementIntersection as Mt, ResizeObserverOptions as N, CleanupFunction as Nn, useIntersectionObserver as Nt, StepOptions as O, RegistryContext as On, KeyHandler as Ot, useElementSize as P, EventHandler as Pn, HydrationContext as Pt, PermissionAdapter as Q, ContextKey as Qn, UseFilterOptions as Qt, QueueTicket as R, BreakpointName as Rn, useHydration as Rt, useStorage as S, useGroup as Sn, LocaleAdapter as St, StorageType as T, SelectionTicket as Tn, SingleTicket as Tt, ProxyModelOptions as U, createBreakpointsPlugin as Un, FormValidationResult as Ut, ProxyRegistryOptions as V, BreakpointsPluginOptions as Vn, FormOptions as Vt, useProxyModel as W, useBreakpoints as Wn, FormValidationRule as Wt, createPermissionsPlugin as X, PluginOptions as Xn, FilterQuery as Xt, createPermissions as Y, Plugin as Yn, FilterMode as Yt, usePermissions as Z, createPlugin as Zn, Primitive as Zt, StorageContext as _, useTokens as _n, LocaleTicket as _t, Colors as a, createFeatures as an, createLogger as at, createStoragePlugin as b, GroupTicket as bn, useLocale as bt, ThemeOptions as c, FlatTokenCollection as cn, LogLevel as ct, ThemeTicket as d, TokenContext as dn, ConsolaLoggerAdapter as dt, useFilter as en, provideContext as er, MutationObserverRecord as et, createTheme as f, TokenOptions as fn, LoggerAdapter as ft, ThemeAdapter as g, createTokensContext as gn, LocaleRecord as gt, Vuetify0ThemeAdapter as h, TokenValue as hn, LocalePluginOptions as ht, useTimeline as i, FeatureTicket as in, LoggerOptions as it, useStep as j, createRegistryContext as jn, IntersectionObserverOptions as jt, StepTicket as k, RegistryOptions as kn, useKeydown as kt, ThemePluginOptions as l, TokenAlias as ln, Vuetify0LoggerAdapter as lt, useTheme as m, TokenTicket as mn, LocaleOptions as mt, TimelineOptions as n, FeatureOptions as nn, useMutationObserver as nt, ThemeColors as o, createFeaturesPlugin as on, createLoggerPlugin as ot, createThemePlugin as p, TokenPrimitive as pn, LocaleContext as pt, PermissionPluginOptions as q, ContextTrinity as qn, FilterFunction as qt, TimelineTicket as r, FeaturePluginOptions as rn, LoggerContext as rt, ThemeContext as s, useFeatures as sn, useLogger as st, TimelineContext as t, FeatureContext as tn, useContext as tr, UseMutationObserverOptions as tt, ThemeRecord as u, TokenCollection as un, PinoLoggerAdapter as ut, StorageOptions as v, GroupContext as vn, createLocale as vt, StorageAdapter as w, SelectionOptions as wn, SingleOptions as wt, provideStorageContext as x, createGroupContext as xn, Vuetify0LocaleAdapter as xt, createStorage as y, GroupOptions as yn, createLocalePlugin as yt, useQueue as z, BreakpointsContext as zn, useHydrationContext as zt };
3618
+ export { ProxyRegistryContext as $, createGroup as $n, IntersectionObserverOptions as $t, useStorage as A, FeatureOptions as An, toArray as Ar, LoggerAdapter as At, createStepContext as B, TokenContext as Bn, useLocale as Bt, StorageContextOptions as C, FilterQuery as Cn, BreakpointsOptions as Cr, createLoggerContext as Ct, createStorageContext as D, useFilter as Dn, createBreakpointsPlugin as Dr, Vuetify0LoggerAdapter as Dt, createStorage as E, UseFilterResult as En, createBreakpointsContext as Er, LogLevel as Et, StepContext as F, createFeaturesPlugin as Fn, createPlugin as Fr, LocaleRecord as Ft, useResizeObserver as G, TokenValue as Gn, SingleOptions as Gt, ResizeObserverEntry as H, TokenOptions as Hn, LocaleAdapter as Ht, StepContextOptions as I, useFeatures as In, ContextKey as Ir, LocaleTicket as It, QueueOptions as J, useTokens as Jn, createSingleContext as Jt, QueueContext as K, createTokens as Kn, SingleTicket as Kt, StepOptions as L, FlatTokenCollection as Ln, createContext as Lr, createLocale as Lt, StorageAdapter as M, FeatureTicket as Mn, createTrinity as Mr, LocaleContextOptions as Mt, StorageType as N, createFeatures as Nn, Plugin as Nr, LocaleOptions as Nt, createStoragePlugin as O, FeatureContext as On, useBreakpoints as Or, PinoLoggerAdapter as Ot, MemoryAdapter as P, createFeaturesContext as Pn, PluginOptions as Pr, LocalePluginOptions as Pt, useQueue as Q, GroupTicket as Qn, IntersectionObserverEntry as Qt, StepTicket as R, TokenAlias as Rn, provideContext as Rr, createLocaleContext as Rt, StorageContext as S, FilterMode as Sn, BreakpointsContextOptions as Sr, createLogger as St, StoragePluginOptions as T, UseFilterOptions as Tn, createBreakpoints as Tr, useLogger as Tt, ResizeObserverOptions as U, TokenPrimitive as Un, SingleContext as Ut, useStep as V, TokenContextOptions as Vn, Vuetify0LocaleAdapter as Vt, useElementSize as W, TokenTicket as Wn, SingleContextOptions as Wt, createQueue as X, GroupContextOptions as Xn, KeyHandler as Xt, QueueTicket as Y, GroupContext as Yn, useSingle as Yt, createQueueContext as Z, GroupOptions as Zn, useKeydown as Zt, createThemeContext as _, createForm as _n, useDocumentEventListener as _r, useMutationObserver as _t, createTimeline as a, HydrationPluginOptions as an, SelectionTicket as ar, PermissionContextOptions as at, Vuetify0ThemeAdapter as b, FilterFunction as bn, BreakpointName as br, LoggerOptions as bt, Colors as c, createHydrationPlugin as cn, useSelection as cr, PermissionTicket as ct, ThemeContextOptions as d, FormContextOptions as dn, RegistryOptions as dr, createPermissionsPlugin as dt, useElementIntersection as en, createGroupContext as er, ProxyRegistryOptions as et, ThemeOptions as f, FormOptions as fn, RegistryTicket as fr, usePermissions as ft, createTheme as g, FormValue as gn, EventHandler as gr, UseMutationObserverOptions as gt, ThemeTicket as h, FormValidationRule as hn, CleanupFunction as hr, MutationObserverRecord as ht, TimelineTicket as i, HydrationOptions as in, SelectionOptions as ir, PermissionContext as it, useStorageContext as j, FeaturePluginOptions as jn, ContextTrinity as jr, LocaleContext as jt, provideStorageContext as k, FeatureContextOptions as kn, toReactive as kr, ConsolaLoggerAdapter as kt, ThemeColors as l, useHydration as ln, RegistryContext as lr, createPermissions as lt, ThemeRecord as m, FormValidationResult as mn, useRegistry as mr, PermissionAdapterInterface as mt, TimelineContextOptions as n, HydrationContext as nn, SelectionContext as nr, ProxyModelOptions as nt, createTimelineContext as o, createHydration as on, createSelection as or, PermissionOptions as ot, ThemePluginOptions as p, FormTicket as pn, createRegistryContext as pr, PermissionAdapter as pt, QueueContextOptions as q, createTokensContext as qn, createSingle as qt, TimelineOptions as r, HydrationContextOptions as rn, SelectionContextOptions as rr, useProxyModel as rt, useTimeline as s, createHydrationContext as sn, createSelectionContext as sr, PermissionPluginOptions as st, TimelineContext as t, useIntersectionObserver as tn, useGroup as tr, useProxyRegistry as tt, ThemeContext as u, FormContext as un, RegistryContextOptions as ur, createPermissionsContext as ut, createThemePlugin as v, createFormContext as vn, useEventListener as vr, LoggerContext as vt, StorageOptions as w, Primitive as wn, BreakpointsPluginOptions as wr, createLoggerPlugin as wt, ThemeAdapter as x, FilterItem as xn, BreakpointsContext as xr, LoggerPluginOptions as xt, useTheme as y, useForm as yn, useWindowEventListener as yr, LoggerContextOptions as yt, createStep as z, TokenCollection as zn, useContext as zr, createLocalePlugin as zt };