@vuetify/v0 0.0.16 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +125 -47
  2. package/dist/browser/index.js +1801 -1604
  3. package/dist/components/index.d.mts +4 -4
  4. package/dist/components/index.mjs +6 -6
  5. package/dist/{components-Dk00OFL2.mjs → components-D590hSY0.mjs} +151 -54
  6. package/dist/composables/index.d.mts +4 -4
  7. package/dist/composables/index.mjs +5 -5
  8. package/dist/{composables-YOUVfUsn.mjs → composables-FE6B8JUW.mjs} +370 -303
  9. package/dist/constants/index.d.mts +1 -1
  10. package/dist/constants/index.mjs +3 -3
  11. package/dist/{globals-Rnihe4SF.mjs → globals-exvZ8fiO.mjs} +1 -1
  12. package/dist/index-4jSy8KIt.d.mts +73 -0
  13. package/dist/{index-BzW68rBC.d.mts → index-BYyEPh1S.d.mts} +227 -17
  14. package/dist/index-CjzlIAtF.d.mts +296 -0
  15. package/dist/{index-BeJMYhId.d.mts → index-DahjxaTj.d.mts} +899 -136
  16. package/dist/{index-BulceeMA.d.mts → index-Gr6XPRWt.d.mts} +50 -18
  17. package/dist/index.d.mts +7 -7
  18. package/dist/index.mjs +8 -8
  19. package/dist/types/index.d.mts +1 -1
  20. package/dist/{useStep-Bqhi_DDs.mjs → useStep-Dw7XloDM.mjs} +1067 -1258
  21. package/dist/utilities/index.d.mts +2 -2
  22. package/dist/utilities/index.mjs +1 -1
  23. package/dist/utilities-BrFKLHFS.mjs +363 -0
  24. package/package.json +3 -3
  25. package/dist/index-BXN7M6o_.d.mts +0 -71
  26. package/dist/index-Bd3J4RNS.d.mts +0 -11
  27. package/dist/utilities-DQWf_4V_.mjs +0 -139
  28. /package/dist/{constants-BWV0uYsM.mjs → constants-DypzAkYp.mjs} +0 -0
  29. /package/dist/{htmlElements-BYo-fMlZ.mjs → htmlElements-CXObxj0V.mjs} +0 -0
  30. /package/dist/{index-B6lIRI3i.d.mts → index-B9mKi4pr.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import { a as isSelfClosingTag, c as SUPPORTS_MATCH_MEDIA, d as SUPPORTS_TOUCH, f as __LOGGER_ENABLED__, i as SelfClosingElement, l as SUPPORTS_MUTATION_OBSERVER, n as HTMLElementName, o as IN_BROWSER, p as version, r as SELF_CLOSING_TAGS, s as SUPPORTS_INTERSECTION_OBSERVER, t as COMMON_ELEMENTS, u as SUPPORTS_OBSERVER } from "../index-B6lIRI3i.mjs";
1
+ import { a as isSelfClosingTag, c as SUPPORTS_MATCH_MEDIA, d as SUPPORTS_TOUCH, f as __LOGGER_ENABLED__, i as SelfClosingElement, l as SUPPORTS_MUTATION_OBSERVER, n as HTMLElementName, o as IN_BROWSER, p as version, r as SELF_CLOSING_TAGS, s as SUPPORTS_INTERSECTION_OBSERVER, t as COMMON_ELEMENTS, u as SUPPORTS_OBSERVER } from "../index-B9mKi4pr.mjs";
2
2
  export { COMMON_ELEMENTS, HTMLElementName, IN_BROWSER, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, SelfClosingElement, __LOGGER_ENABLED__, isSelfClosingTag, version };
@@ -1,5 +1,5 @@
1
- import { n as SELF_CLOSING_TAGS, r as isSelfClosingTag, t as COMMON_ELEMENTS } from "../htmlElements-BYo-fMlZ.mjs";
2
- import { a as SUPPORTS_OBSERVER, c as version, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, o as SUPPORTS_TOUCH, r as SUPPORTS_MATCH_MEDIA, s as __LOGGER_ENABLED__, t as IN_BROWSER } from "../globals-Rnihe4SF.mjs";
3
- import "../constants-BWV0uYsM.mjs";
1
+ import { n as SELF_CLOSING_TAGS, r as isSelfClosingTag, t as COMMON_ELEMENTS } from "../htmlElements-CXObxj0V.mjs";
2
+ import { a as SUPPORTS_OBSERVER, c as version, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, o as SUPPORTS_TOUCH, r as SUPPORTS_MATCH_MEDIA, s as __LOGGER_ENABLED__, t as IN_BROWSER } from "../globals-exvZ8fiO.mjs";
3
+ import "../constants-DypzAkYp.mjs";
4
4
 
5
5
  export { COMMON_ELEMENTS, IN_BROWSER, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, __LOGGER_ENABLED__, isSelfClosingTag, version };
@@ -5,7 +5,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
5
5
  const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
6
6
  const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
7
7
  const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
8
- const version = "0.0.16";
8
+ const version = "0.0.20";
9
9
  const __LOGGER_ENABLED__ = process.env.NODE_ENV !== "production" || process.env.VITE_LOGGER_ENABLED === "true";
10
10
 
11
11
  //#endregion
@@ -0,0 +1,73 @@
1
+ import { h } from "vue";
2
+
3
+ //#region src/types/index.d.ts
4
+
5
+ /**
6
+ * Valid element types for Vue's `h()` render function
7
+ *
8
+ * @remarks
9
+ * Includes HTML tag names, component definitions, and functional components.
10
+ * Used by the `Atom` component for polymorphic rendering.
11
+ */
12
+ type DOMElement = Parameters<typeof h>[0];
13
+ /**
14
+ * Generic object with string keys and any values
15
+ *
16
+ * @remarks
17
+ * Use sparingly - prefer `UnknownObject` for better type safety.
18
+ */
19
+ type GenericObject = Record<string, any>;
20
+ /**
21
+ * Object with string keys and unknown values
22
+ *
23
+ * @remarks
24
+ * Safer alternative to `GenericObject` that requires type narrowing.
25
+ */
26
+ type UnknownObject = Record<string, unknown>;
27
+ /**
28
+ * Identifier type used throughout the registry system
29
+ *
30
+ * @remarks
31
+ * All tickets, items, and registrable entities use this type for their `id` property.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const id: ID = 'item-1' // string
36
+ * const id: ID = 42 // number
37
+ * ```
38
+ */
39
+ type ID = string | number;
40
+ /**
41
+ * Recursively makes all properties of T optional
42
+ *
43
+ * @template T The object type to make deeply partial
44
+ *
45
+ * @remarks
46
+ * Used by `mergeDeep` to type partial source objects.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * type User = { name: string; address: { city: string } }
51
+ * type PartialUser = DeepPartial<User>
52
+ * // { name?: string; address?: { city?: string } }
53
+ * ```
54
+ */
55
+ type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;
56
+ /**
57
+ * Union type that accepts either a single value or an array
58
+ *
59
+ * @template T The base type
60
+ *
61
+ * @remarks
62
+ * Used for APIs that accept both single items and arrays.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * function process(input: MaybeArray<string>) { ... }
67
+ * process('single') // OK
68
+ * process(['a', 'b', 'c']) // OK
69
+ * ```
70
+ */
71
+ type MaybeArray<T> = T | T[];
72
+ //#endregion
73
+ export { MaybeArray as a, ID as i, DeepPartial as n, UnknownObject as o, GenericObject as r, DOMElement as t };
@@ -1,5 +1,5 @@
1
- import { a as MaybeArray, i as ID } from "./index-Bd3J4RNS.mjs";
2
- import { H as ContextTrinity, I as RegistryContext, L as RegistryContextOptions, M as SelectionTicket, R as RegistryOptions, S as GroupContext, T as GroupTicket, c as SingleContext, d as SingleTicket, k as SelectionContext, u as SingleOptions, z as RegistryTicket } from "./index-BulceeMA.mjs";
1
+ import { a as MaybeArray, i as ID } from "./index-4jSy8KIt.mjs";
2
+ import { B as RegistryTicket, I as RegistryContext, L as RegistryContextOptions, M as SelectionTicket, S as GroupContext, T as GroupTicket, U as ContextTrinity, c as SingleContext, d as SingleTicket, k as SelectionContext, u as SingleOptions, z as RegistryOptions } from "./index-Gr6XPRWt.mjs";
3
3
  import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef, UnwrapNestedRefs, WatchSource } from "vue";
4
4
 
5
5
  //#region src/composables/createContext/index.d.ts
@@ -325,6 +325,115 @@ declare function createBreakpointsPlugin<E extends BreakpointsContext = Breakpoi
325
325
  */
326
326
  declare function useBreakpoints<E extends BreakpointsContext = BreakpointsContext>(namespace?: string): E;
327
327
  //#endregion
328
+ //#region src/composables/useClickOutside/index.d.ts
329
+ type ClickOutsideElement = HTMLElement | null | undefined;
330
+ type ClickOutsideTarget = MaybeRefOrGetter<ClickOutsideElement>;
331
+ type ClickOutsideIgnoreTarget = ClickOutsideTarget | string;
332
+ interface UseClickOutsideOptions {
333
+ /**
334
+ * Use capture phase for event listeners.
335
+ * Ensures detection works even when inner elements call stopPropagation.
336
+ * @default true
337
+ */
338
+ capture?: boolean;
339
+ /**
340
+ * Touch movement threshold in pixels.
341
+ * If finger moves more than this distance, it's treated as a scroll, not a tap.
342
+ * Only applies to touch interactions.
343
+ * @default 30
344
+ */
345
+ touchScrollThreshold?: number;
346
+ /**
347
+ * Detect focus moving to iframes as an outside click.
348
+ * Useful when iframes are outside the target elements.
349
+ * @default false
350
+ */
351
+ detectIframe?: boolean;
352
+ /**
353
+ * Elements to ignore when detecting outside clicks.
354
+ * Accepts element refs, getters, or CSS selector strings.
355
+ * Clicks on these elements (or their descendants) won't trigger the handler.
356
+ *
357
+ * Note: CSS selectors cannot match across Shadow DOM boundaries due to
358
+ * browser limitations. Use element refs instead when ignoring shadow hosts.
359
+ */
360
+ ignore?: MaybeRefOrGetter<ClickOutsideIgnoreTarget[]>;
361
+ }
362
+ interface UseClickOutsideReturn {
363
+ /**
364
+ * Whether the listener is currently active
365
+ */
366
+ readonly isActive: Readonly<Ref<boolean>>;
367
+ /**
368
+ * Whether the listener is currently paused
369
+ */
370
+ readonly isPaused: Readonly<Ref<boolean>>;
371
+ /**
372
+ * Pause listening (stops detection but keeps state)
373
+ */
374
+ pause: () => void;
375
+ /**
376
+ * Resume listening
377
+ */
378
+ resume: () => void;
379
+ /**
380
+ * Stop listening and clean up
381
+ */
382
+ stop: () => void;
383
+ }
384
+ /**
385
+ * Detects clicks outside of the specified element(s).
386
+ *
387
+ * Uses two-phase detection (pointerdown → pointerup) to prevent false positives
388
+ * when users drag from inside to outside an element.
389
+ *
390
+ * @param target Element ref(s) to detect clicks outside of. Accepts a single ref/getter or array of refs/getters.
391
+ * @param handler Callback invoked when a click outside is detected.
392
+ * @param options Configuration options.
393
+ * @returns An object with methods to control the listener.
394
+ *
395
+ * @see https://0.vuetifyjs.com/composables/system/use-click-outside
396
+ *
397
+ * @example Native element ref
398
+ * ```ts
399
+ * const menuRef = useTemplateRef<HTMLElement>('menu')
400
+ *
401
+ * useClickOutside(menuRef, () => { isOpen.value = false })
402
+ * ```
403
+ *
404
+ * @example Component ref (e.g., Atom)
405
+ * ```ts
406
+ * const atomRef = useTemplateRef<AtomExpose>('atom')
407
+ *
408
+ * // Pass the exposed element TemplateRef via getter
409
+ * useClickOutside(
410
+ * () => atomRef.value?.element,
411
+ * () => { isOpen.value = false }
412
+ * )
413
+ * ```
414
+ *
415
+ * @example Multiple targets
416
+ * ```ts
417
+ * const popoverRef = useTemplateRef<AtomExpose>('popover')
418
+ * const anchorRef = useTemplateRef<HTMLElement>('anchor')
419
+ *
420
+ * useClickOutside(
421
+ * [() => popoverRef.value?.element, anchorRef],
422
+ * () => { isOpen.value = false }
423
+ * )
424
+ * ```
425
+ *
426
+ * @example Ignoring elements (CSS selectors or refs)
427
+ * ```ts
428
+ * useClickOutside(
429
+ * () => navRef.value?.element,
430
+ * () => { isOpen.value = false },
431
+ * { ignore: ['[data-app-bar]'] }
432
+ * )
433
+ * ```
434
+ */
435
+ declare function useClickOutside(target: MaybeArray<ClickOutsideTarget>, handler: (event: PointerEvent | FocusEvent) => void, options?: UseClickOutsideOptions): UseClickOutsideReturn;
436
+ //#endregion
328
437
  //#region src/composables/useEventListener/index.d.ts
329
438
  type CleanupFunction = () => void;
330
439
  type EventHandler<E = Event> = (event: E) => void;
@@ -340,7 +449,7 @@ type EventHandler<E = Event> = (event: E) => void;
340
449
  *
341
450
  * @see https://0.vuetifyjs.com/composables/system/use-event-listener
342
451
  */
343
- declare function useEventListener<E extends keyof WindowEventMap>(target: Window, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Window, event: WindowEventMap[E]) => any>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
452
+ declare function useEventListener<E extends keyof WindowEventMap>(target: Window, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Window, event: WindowEventMap[E]) => void>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
344
453
  /**
345
454
  * Attaches an event listener to the document.
346
455
  *
@@ -353,7 +462,7 @@ declare function useEventListener<E extends keyof WindowEventMap>(target: Window
353
462
  *
354
463
  * @see https://0.vuetifyjs.com/composables/system/use-event-listener
355
464
  */
356
- declare function useEventListener<E extends keyof DocumentEventMap>(target: Document, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Document, event: DocumentEventMap[E]) => any>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
465
+ declare function useEventListener<E extends keyof DocumentEventMap>(target: Document, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Document, event: DocumentEventMap[E]) => void>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
357
466
  /**
358
467
  * Attaches an event listener to an HTML element.
359
468
  *
@@ -366,7 +475,7 @@ declare function useEventListener<E extends keyof DocumentEventMap>(target: Docu
366
475
  *
367
476
  * @see https://0.vuetifyjs.com/composables/system/use-event-listener
368
477
  */
369
- declare function useEventListener<E extends keyof HTMLElementEventMap>(target: MaybeRefOrGetter<HTMLElement | null | undefined>, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: HTMLElement, event: HTMLElementEventMap[E]) => any>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
478
+ declare function useEventListener<E extends keyof HTMLElementEventMap>(target: MaybeRefOrGetter<HTMLElement | null | undefined>, event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: HTMLElement, event: HTMLElementEventMap[E]) => void>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
370
479
  /**
371
480
  * Attaches an event listener to an event target.
372
481
  *
@@ -391,7 +500,7 @@ declare function useEventListener<EventType = Event>(target: MaybeRefOrGetter<Ev
391
500
  *
392
501
  * @see https://0.vuetifyjs.com/composables/system/use-event-listener
393
502
  */
394
- declare function useWindowEventListener<E extends keyof WindowEventMap>(event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Window, event: WindowEventMap[E]) => any>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
503
+ declare function useWindowEventListener<E extends keyof WindowEventMap>(event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Window, event: WindowEventMap[E]) => void>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
395
504
  /**
396
505
  * Attaches an event listener to the document.
397
506
  *
@@ -403,7 +512,7 @@ declare function useWindowEventListener<E extends keyof WindowEventMap>(event: M
403
512
  *
404
513
  * @see https://0.vuetifyjs.com/composables/system/use-event-listener
405
514
  */
406
- declare function useDocumentEventListener<E extends keyof DocumentEventMap>(event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Document, event: DocumentEventMap[E]) => any>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
515
+ declare function useDocumentEventListener<E extends keyof DocumentEventMap>(event: MaybeRefOrGetter<MaybeArray<E>>, listener: MaybeRef<MaybeArray<(this: Document, event: DocumentEventMap[E]) => void>>, options?: MaybeRefOrGetter<boolean | AddEventListenerOptions>): CleanupFunction;
407
516
  //#endregion
408
517
  //#region src/composables/useTokens/index.d.ts
409
518
  interface TokenAlias<T = unknown> {
@@ -687,14 +796,87 @@ type FilterQuery = MaybeRefOrGetter<Primitive | Primitive[]>;
687
796
  type FilterItem = Primitive | Record<string, any>;
688
797
  type FilterMode = 'some' | 'every' | 'union' | 'intersection';
689
798
  type FilterFunction = (query: Primitive | Primitive[], item: FilterItem) => boolean;
690
- interface UseFilterOptions {
799
+ interface FilterOptions {
691
800
  customFilter?: FilterFunction;
692
801
  keys?: string[];
693
802
  mode?: FilterMode;
694
803
  }
695
- interface UseFilterResult<Z extends FilterItem = FilterItem> {
804
+ interface FilterResult<Z extends FilterItem = FilterItem> {
696
805
  items: ComputedRef<Z[]>;
697
806
  }
807
+ interface FilterContext<Z extends FilterItem = FilterItem> {
808
+ /** The filter mode */
809
+ mode: FilterMode;
810
+ /** Keys to filter on for object items */
811
+ keys: string[] | undefined;
812
+ /** Custom filter function */
813
+ customFilter: FilterFunction | undefined;
814
+ /** Current query ref */
815
+ query: ShallowRef<Primitive | Primitive[]>;
816
+ /**
817
+ * Apply filter to an array of items
818
+ *
819
+ * @param query The query to filter by
820
+ * @param items The items to filter
821
+ * @returns The filtered items as a computed ref
822
+ */
823
+ apply: <T extends Z>(query: FilterQuery, items: MaybeRef<T[]>) => FilterResult<T>;
824
+ }
825
+ interface FilterContextOptions extends FilterOptions {
826
+ namespace?: string;
827
+ }
828
+ /**
829
+ * Creates a filter context with pre-configured options.
830
+ *
831
+ * @param options The filter options
832
+ * @template Z The type of the items
833
+ * @template E The type of the filter context
834
+ * @returns A filter context
835
+ *
836
+ * @see https://0.vuetifyjs.com/composables/utilities/use-filter
837
+ *
838
+ * @example
839
+ * ```ts
840
+ * import { createFilter } from '@vuetify/v0'
841
+ *
842
+ * const filter = createFilter({
843
+ * mode: 'intersection',
844
+ * keys: ['name', 'email'],
845
+ * })
846
+ *
847
+ * const { items } = filter.apply(query, users)
848
+ * ```
849
+ */
850
+ declare function createFilter<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(options?: FilterOptions): E;
851
+ /**
852
+ * Creates a filter context with dependency injection support.
853
+ *
854
+ * @param options The filter context options
855
+ * @template Z The type of the items
856
+ * @template E The type of the filter context
857
+ * @returns A trinity tuple: [useContext, provideContext, defaultContext]
858
+ *
859
+ * @see https://0.vuetifyjs.com/composables/utilities/use-filter
860
+ *
861
+ * @example
862
+ * ```ts
863
+ * import { createFilterContext } from '@vuetify/v0'
864
+ *
865
+ * export const [useSearchFilter, provideSearchFilter, searchFilter] = createFilterContext({
866
+ * namespace: 'app:search',
867
+ * mode: 'union',
868
+ * keys: ['title', 'description'],
869
+ * })
870
+ *
871
+ * // In parent component
872
+ * provideSearchFilter()
873
+ *
874
+ * // In child component
875
+ * const filter = useSearchFilter()
876
+ * const { items } = filter.apply(query, products)
877
+ * ```
878
+ */
879
+ declare function createFilterContext<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(_options?: FilterContextOptions): ContextTrinity<E>;
698
880
  /**
699
881
  * A reusable function for filtering an array of items.
700
882
  *
@@ -723,7 +905,28 @@ interface UseFilterResult<Z extends FilterItem = FilterItem> {
723
905
  * console.log(filtered.value) // [ { name: 'John Doe', age: 30 }, { name: 'Jane Doe', age: 25 } ]
724
906
  * ```
725
907
  */
726
- declare function useFilter<Z extends FilterItem>(query: FilterQuery, items: MaybeRef<Z[]>, options?: UseFilterOptions): UseFilterResult<Z>;
908
+ declare function useFilter<Z extends FilterItem>(query: FilterQuery, items: MaybeRef<Z[]>, options?: FilterOptions): FilterResult<Z>;
909
+ /**
910
+ * Returns the current filter context from dependency injection.
911
+ *
912
+ * @param namespace The namespace for the filter context. Defaults to `'v0:filter'`.
913
+ * @template Z The type of the items.
914
+ * @template E The type of the filter context.
915
+ * @returns The current filter context.
916
+ *
917
+ * @see https://0.vuetifyjs.com/composables/utilities/use-filter
918
+ *
919
+ * @example
920
+ * ```vue
921
+ * <script setup lang="ts">
922
+ * import { useFilterContext } from '@vuetify/v0'
923
+ *
924
+ * const filter = useFilterContext()
925
+ * const { items } = filter.apply(query, products)
926
+ * </script>
927
+ * ```
928
+ */
929
+ declare function useFilterContext<Z extends FilterItem = FilterItem, E extends FilterContext<Z> = FilterContext<Z>>(namespace?: string): E;
727
930
  //#endregion
728
931
  //#region src/composables/useForm/index.d.ts
729
932
  type FormValidationResult = string | true | Promise<string | true>;
@@ -938,6 +1141,7 @@ declare function createHydrationPlugin<E extends HydrationContext = HydrationCon
938
1141
  declare function useHydration<E extends HydrationContext = HydrationContext>(namespace?: string): E;
939
1142
  //#endregion
940
1143
  //#region src/composables/useIntersectionObserver/index.d.ts
1144
+ type MaybeRef$1<T> = T | Ref<T> | Readonly<Ref<T>> | ShallowRef<T> | Readonly<ShallowRef<T>>;
941
1145
  interface IntersectionObserverEntry {
942
1146
  boundingClientRect: DOMRectReadOnly;
943
1147
  intersectionRatio: number;
@@ -949,6 +1153,7 @@ interface IntersectionObserverEntry {
949
1153
  }
950
1154
  interface IntersectionObserverOptions {
951
1155
  immediate?: boolean;
1156
+ once?: boolean;
952
1157
  root?: Element | null;
953
1158
  rootMargin?: string;
954
1159
  threshold?: number | number[];
@@ -1018,7 +1223,7 @@ interface UseIntersectionObserverReturn {
1018
1223
  * resume()
1019
1224
  * ```
1020
1225
  */
1021
- declare function useIntersectionObserver(target: Ref<Element | undefined>, callback: (entries: IntersectionObserverEntry[]) => void, options?: IntersectionObserverOptions): UseIntersectionObserverReturn;
1226
+ declare function useIntersectionObserver(target: MaybeRef$1<Element | null | undefined>, callback: (entries: IntersectionObserverEntry[]) => void, options?: IntersectionObserverOptions): UseIntersectionObserverReturn;
1022
1227
  interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
1023
1228
  /**
1024
1229
  * The intersection ratio (0.0 to 1.0) indicating how much of the element is visible
@@ -1053,7 +1258,7 @@ interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
1053
1258
  * })
1054
1259
  * ```
1055
1260
  */
1056
- declare function useElementIntersection(target: Ref<Element | undefined>, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
1261
+ declare function useElementIntersection(target: MaybeRef$1<Element | null | undefined>, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
1057
1262
  //#endregion
1058
1263
  //#region src/composables/useKeydown/index.d.ts
1059
1264
  interface KeyHandler {
@@ -1088,6 +1293,10 @@ interface UseKeydownReturn {
1088
1293
  * ```ts
1089
1294
  * import { useKeydown } from '@vuetify/v0'
1090
1295
  *
1296
+ * // Single handler
1297
+ * useKeydown({ key: 'Escape', handler: () => console.log('Escape pressed') })
1298
+ *
1299
+ * // Multiple handlers
1091
1300
  * const { isActive, start, stop } = useKeydown([
1092
1301
  * { key: 'Enter', handler: () => console.log('Enter pressed') },
1093
1302
  * { key: 'Escape', handler: () => console.log('Escape pressed'), preventDefault: true },
@@ -1431,6 +1640,7 @@ interface MutationObserverRecord {
1431
1640
  }
1432
1641
  interface UseMutationObserverOptions {
1433
1642
  immediate?: boolean;
1643
+ once?: boolean;
1434
1644
  childList?: boolean;
1435
1645
  attributes?: boolean;
1436
1646
  characterData?: boolean;
@@ -2037,7 +2247,7 @@ interface QueueOptions extends RegistryOptions {
2037
2247
  timeout?: number;
2038
2248
  }
2039
2249
  interface QueueContextOptions extends QueueOptions {
2040
- namespace: string;
2250
+ namespace?: string;
2041
2251
  }
2042
2252
  /**
2043
2253
  * Creates a new queue instance
@@ -2074,7 +2284,6 @@ declare function createQueue<Z extends QueueTicket = QueueTicket, E extends Queu
2074
2284
  /**
2075
2285
  * Creates a new queue context.
2076
2286
  *
2077
- * @param namespace The namespace for the queue context.
2078
2287
  * @param options The options for the queue context.
2079
2288
  * @template Z The type of the queue ticket.
2080
2289
  * @template E The type of the queue context.
@@ -2086,12 +2295,12 @@ declare function createQueue<Z extends QueueTicket = QueueTicket, E extends Queu
2086
2295
  * ```ts
2087
2296
  * import { createQueueContext } from '@vuetify/v0'
2088
2297
  *
2089
- * export const [useQueue, provideQueue] = createQueueContext('v0:queue', {
2298
+ * export const [useQueue, provideQueue, context] = createQueueContext({
2090
2299
  * timeout: 5000,
2091
2300
  * })
2092
2301
  * ```
2093
2302
  */
2094
- declare function createQueueContext<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(_options: QueueContextOptions): ContextTrinity<E>;
2303
+ declare function createQueueContext<Z extends QueueTicket = QueueTicket, E extends QueueContext<Z> = QueueContext<Z>>(_options?: QueueContextOptions): ContextTrinity<E>;
2095
2304
  /**
2096
2305
  * Returns the current queue instance.
2097
2306
  *
@@ -2123,6 +2332,7 @@ interface ResizeObserverEntry {
2123
2332
  }
2124
2333
  interface ResizeObserverOptions {
2125
2334
  immediate?: boolean;
2335
+ once?: boolean;
2126
2336
  box?: 'content-box' | 'border-box';
2127
2337
  }
2128
2338
  interface UseResizeObserverReturn {
@@ -3153,4 +3363,4 @@ interface VirtualContext<T = unknown> {
3153
3363
  */
3154
3364
  declare function useVirtual<T = unknown>(items: Ref<readonly T[]>, _options?: VirtualOptions): VirtualContext<T>;
3155
3365
  //#endregion
3156
- export { createQueue as $, TokenValue as $n, LocaleAdapter as $t, Vuetify0ThemeAdapter as A, FilterMode as An, LoggerOptions as At, StorageAdapter as B, FeatureTicket as Bn, LoggerAdapter as Bt, ThemePluginOptions as C, FormValidationRule as Cn, CreateContextOptions as Cr, useOverflow as Ct, createThemeContext as D, useForm as Dn, useMutationObserver as Dt, createTheme as E, createFormContext as En, useContext as Er, UseMutationObserverReturn as Et, StoragePluginOptions as F, useFilter as Fn, useLogger as Ft, UseElementSizeReturn as G, FlatTokenCollection as Gn, LocaleRecord as Gt, MemoryAdapter as H, createFeaturesContext as Hn, LocaleContextOptions as Ht, createStorage as I, FeatureContext as In, LogLevel as It, useResizeObserver as J, TokenContext as Jn, createLocaleContext as Jt, UseResizeObserverReturn as K, TokenAlias as Kn, LocaleTicket as Kt, createStorageContext as L, FeatureContextOptions as Ln, Vuetify0LoggerAdapter as Lt, StorageContext as M, Primitive as Mn, createLogger as Mt, StorageContextOptions as N, UseFilterOptions as Nn, createLoggerContext as Nt, createThemePlugin as O, FilterFunction as On, LoggerContext as Ot, StorageOptions as P, UseFilterResult as Pn, createLoggerPlugin as Pt, QueueTicket as Q, TokenTicket as Qn, Vuetify0LocaleAdapter as Qt, createStoragePlugin as R, FeatureOptions as Rn, PinoLoggerAdapter as Rt, ThemeOptions as S, FormValidationResult as Sn, ContextKey as Sr, createOverflowContext as St, ThemeTicket as T, createForm as Tn, provideContext as Tr, UseMutationObserverOptions as Tt, ResizeObserverEntry as U, createFeaturesPlugin as Un, LocaleOptions as Ut, StorageType as V, createFeatures as Vn, LocaleContext as Vt, ResizeObserverOptions as W, useFeatures as Wn, LocalePluginOptions as Wt, QueueContextOptions as X, TokenOptions as Xn, createLocalePlugin as Xt, QueueContext as Y, TokenContextOptions as Yn, createLocaleFallback as Yt, QueueOptions as Z, TokenPrimitive as Zn, useLocale as Zt, useTimeline as _, useHydration as _n, toReactive as _r, PermissionAdapterInterface as _t, VirtualItem as a, UseElementIntersectionReturn as an, useDocumentEventListener as ar, ProxyModelOptions as at, ThemeContext as b, FormOptions as bn, PluginOptions as br, OverflowOptions as bt, useVirtual as c, useIntersectionObserver as cn, BreakpointName as cr, PermissionContextOptions as ct, TimelineContext as d, HydrationOptions as dn, BreakpointsOptions as dr, PermissionTicket as dt, KeyHandler as en, createTokens as er, createQueueContext as et, TimelineContextOptions as f, HydrationPluginOptions as fn, BreakpointsPluginOptions as fr, createPermissions as ft, createTimelineContext as g, createHydrationPlugin as gn, useBreakpoints as gr, PermissionAdapter as gt, createTimeline as h, createHydrationContext as hn, createBreakpointsPlugin as hr, usePermissions as ht, VirtualDirection as i, IntersectionObserverOptions as in, EventHandler as ir, useProxyRegistry as it, ThemeAdapter as j, FilterQuery as jn, LoggerPluginOptions as jt, useTheme as k, FilterItem as kn, LoggerContextOptions as kt, ToggleScopeControls as l, HydrationContext as ln, BreakpointsContext as lr, PermissionOptions as lt, TimelineTicket as m, createHydration as mn, createBreakpointsContext as mr, createPermissionsPlugin as mt, VirtualAnchor as n, useKeydown as nn, useTokens as nr, ProxyRegistryContext as nt, VirtualOptions as o, UseIntersectionObserverReturn as on, useEventListener as or, useProxyModel as ot, TimelineOptions as p, createFallbackHydration as pn, createBreakpoints as pr, createPermissionsContext as pt, useElementSize as q, TokenCollection as qn, createLocale as qt, VirtualContext as r, IntersectionObserverEntry as rn, CleanupFunction as rr, ProxyRegistryOptions as rt, VirtualState as s, useElementIntersection as sn, useWindowEventListener as sr, PermissionContext as st, ScrollToOptions as t, UseKeydownReturn as tn, createTokensContext as tr, useQueue as tt, useToggleScope as u, HydrationContextOptions as un, BreakpointsContextOptions as ur, PermissionPluginOptions as ut, Colors as v, FormContext as vn, toArray as vr, OverflowContext as vt, ThemeRecord as w, FormValue as wn, createContext as wr, MutationObserverRecord as wt, ThemeContextOptions as x, FormTicket as xn, createPlugin as xr, createOverflow as xt, ThemeColors as y, FormContextOptions as yn, Plugin as yr, OverflowContextOptions as yt, useStorage as z, FeaturePluginOptions as zn, ConsolaLoggerAdapter as zt };
3366
+ export { createQueue as $, TokenCollection as $n, LocaleAdapter as $t, Vuetify0ThemeAdapter as A, FilterContextOptions as An, toArray as Ar, LoggerOptions as At, StorageAdapter as B, useFilter as Bn, LoggerAdapter as Bt, ThemePluginOptions as C, FormValidationResult as Cn, BreakpointsOptions as Cr, useOverflow as Ct, createThemeContext as D, createFormContext as Dn, createBreakpointsPlugin as Dr, useMutationObserver as Dt, createTheme as E, createForm as En, createBreakpointsContext as Er, UseMutationObserverReturn as Et, StoragePluginOptions as F, FilterQuery as Fn, CreateContextOptions as Fr, useLogger as Ft, UseElementSizeReturn as G, FeaturePluginOptions as Gn, LocaleRecord as Gt, MemoryAdapter as H, FeatureContext as Hn, LocaleContextOptions as Ht, createStorage as I, FilterResult as In, createContext as Ir, LogLevel as It, useResizeObserver as J, createFeaturesContext as Jn, createLocaleContext as Jt, UseResizeObserverReturn as K, FeatureTicket as Kn, LocaleTicket as Kt, createStorageContext as L, Primitive as Ln, provideContext as Lr, Vuetify0LoggerAdapter as Lt, StorageContext as M, FilterItem as Mn, PluginOptions as Mr, createLogger as Mt, StorageContextOptions as N, FilterMode as Nn, createPlugin as Nr, createLoggerContext as Nt, createThemePlugin as O, useForm as On, useBreakpoints as Or, LoggerContext as Ot, StorageOptions as P, FilterOptions as Pn, ContextKey as Pr, createLoggerPlugin as Pt, QueueTicket as Q, TokenAlias as Qn, Vuetify0LocaleAdapter as Qt, createStoragePlugin as R, createFilter as Rn, useContext as Rr, PinoLoggerAdapter as Rt, ThemeOptions as S, FormTicket as Sn, BreakpointsContextOptions as Sr, createOverflowContext as St, ThemeTicket as T, FormValue as Tn, createBreakpoints as Tr, UseMutationObserverOptions as Tt, ResizeObserverEntry as U, FeatureContextOptions as Un, LocaleOptions as Ut, StorageType as V, useFilterContext as Vn, LocaleContext as Vt, ResizeObserverOptions as W, FeatureOptions as Wn, LocalePluginOptions as Wt, QueueContextOptions as X, useFeatures as Xn, createLocalePlugin as Xt, QueueContext as Y, createFeaturesPlugin as Yn, createLocaleFallback as Yt, QueueOptions as Z, FlatTokenCollection as Zn, useLocale as Zt, useTimeline as _, createHydrationPlugin as _n, UseClickOutsideOptions as _r, PermissionAdapterInterface as _t, VirtualItem as a, MaybeRef$1 as an, TokenValue as ar, ProxyModelOptions as at, ThemeContext as b, FormContextOptions as bn, BreakpointName as br, OverflowOptions as bt, useVirtual as c, useElementIntersection as cn, useTokens as cr, PermissionContextOptions as ct, TimelineContext as d, HydrationContextOptions as dn, useDocumentEventListener as dr, PermissionTicket as dt, KeyHandler as en, TokenContext as er, createQueueContext as et, TimelineContextOptions as f, HydrationOptions as fn, useEventListener as fr, createPermissions as ft, createTimelineContext as g, createHydrationContext as gn, ClickOutsideTarget as gr, PermissionAdapter as gt, createTimeline as h, createHydration as hn, ClickOutsideIgnoreTarget as hr, usePermissions as ht, VirtualDirection as i, IntersectionObserverOptions as in, TokenTicket as ir, useProxyRegistry as it, ThemeAdapter as j, FilterFunction as jn, Plugin as jr, LoggerPluginOptions as jt, useTheme as k, FilterContext as kn, toReactive as kr, LoggerContextOptions as kt, ToggleScopeControls as l, useIntersectionObserver as ln, CleanupFunction as lr, PermissionOptions as lt, TimelineTicket as m, createFallbackHydration as mn, ClickOutsideElement as mr, createPermissionsPlugin as mt, VirtualAnchor as n, useKeydown as nn, TokenOptions as nr, ProxyRegistryContext as nt, VirtualOptions as o, UseElementIntersectionReturn as on, createTokens as or, useProxyModel as ot, TimelineOptions as p, HydrationPluginOptions as pn, useWindowEventListener as pr, createPermissionsContext as pt, useElementSize as q, createFeatures as qn, createLocale as qt, VirtualContext as r, IntersectionObserverEntry as rn, TokenPrimitive as rr, ProxyRegistryOptions as rt, VirtualState as s, UseIntersectionObserverReturn as sn, createTokensContext as sr, PermissionContext as st, ScrollToOptions as t, UseKeydownReturn as tn, TokenContextOptions as tr, useQueue as tt, useToggleScope as u, HydrationContext as un, EventHandler as ur, PermissionPluginOptions as ut, Colors as v, useHydration as vn, UseClickOutsideReturn as vr, OverflowContext as vt, ThemeRecord as w, FormValidationRule as wn, BreakpointsPluginOptions as wr, MutationObserverRecord as wt, ThemeContextOptions as x, FormOptions as xn, BreakpointsContext as xr, createOverflow as xt, ThemeColors as y, FormContext as yn, useClickOutside as yr, OverflowContextOptions as yt, useStorage as z, createFilterContext as zn, ConsolaLoggerAdapter as zt };