@vuetify/v0 0.0.18 → 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.
@@ -1,5 +1,5 @@
1
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-BGVqrlN7.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
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.18";
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-C5LQZd3v.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-DaX9-kmY.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> {
@@ -1032,6 +1141,7 @@ declare function createHydrationPlugin<E extends HydrationContext = HydrationCon
1032
1141
  declare function useHydration<E extends HydrationContext = HydrationContext>(namespace?: string): E;
1033
1142
  //#endregion
1034
1143
  //#region src/composables/useIntersectionObserver/index.d.ts
1144
+ type MaybeRef$1<T> = T | Ref<T> | Readonly<Ref<T>> | ShallowRef<T> | Readonly<ShallowRef<T>>;
1035
1145
  interface IntersectionObserverEntry {
1036
1146
  boundingClientRect: DOMRectReadOnly;
1037
1147
  intersectionRatio: number;
@@ -1043,6 +1153,7 @@ interface IntersectionObserverEntry {
1043
1153
  }
1044
1154
  interface IntersectionObserverOptions {
1045
1155
  immediate?: boolean;
1156
+ once?: boolean;
1046
1157
  root?: Element | null;
1047
1158
  rootMargin?: string;
1048
1159
  threshold?: number | number[];
@@ -1112,7 +1223,7 @@ interface UseIntersectionObserverReturn {
1112
1223
  * resume()
1113
1224
  * ```
1114
1225
  */
1115
- 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;
1116
1227
  interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
1117
1228
  /**
1118
1229
  * The intersection ratio (0.0 to 1.0) indicating how much of the element is visible
@@ -1147,7 +1258,7 @@ interface UseElementIntersectionReturn extends UseIntersectionObserverReturn {
1147
1258
  * })
1148
1259
  * ```
1149
1260
  */
1150
- declare function useElementIntersection(target: Ref<Element | undefined>, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
1261
+ declare function useElementIntersection(target: MaybeRef$1<Element | null | undefined>, options?: IntersectionObserverOptions): UseElementIntersectionReturn;
1151
1262
  //#endregion
1152
1263
  //#region src/composables/useKeydown/index.d.ts
1153
1264
  interface KeyHandler {
@@ -1182,6 +1293,10 @@ interface UseKeydownReturn {
1182
1293
  * ```ts
1183
1294
  * import { useKeydown } from '@vuetify/v0'
1184
1295
  *
1296
+ * // Single handler
1297
+ * useKeydown({ key: 'Escape', handler: () => console.log('Escape pressed') })
1298
+ *
1299
+ * // Multiple handlers
1185
1300
  * const { isActive, start, stop } = useKeydown([
1186
1301
  * { key: 'Enter', handler: () => console.log('Enter pressed') },
1187
1302
  * { key: 'Escape', handler: () => console.log('Escape pressed'), preventDefault: true },
@@ -1525,6 +1640,7 @@ interface MutationObserverRecord {
1525
1640
  }
1526
1641
  interface UseMutationObserverOptions {
1527
1642
  immediate?: boolean;
1643
+ once?: boolean;
1528
1644
  childList?: boolean;
1529
1645
  attributes?: boolean;
1530
1646
  characterData?: boolean;
@@ -2216,6 +2332,7 @@ interface ResizeObserverEntry {
2216
2332
  }
2217
2333
  interface ResizeObserverOptions {
2218
2334
  immediate?: boolean;
2335
+ once?: boolean;
2219
2336
  box?: 'content-box' | 'border-box';
2220
2337
  }
2221
2338
  interface UseResizeObserverReturn {
@@ -3246,4 +3363,4 @@ interface VirtualContext<T = unknown> {
3246
3363
  */
3247
3364
  declare function useVirtual<T = unknown>(items: Ref<readonly T[]>, _options?: VirtualOptions): VirtualContext<T>;
3248
3365
  //#endregion
3249
- export { createQueue as $, TokenContext as $n, LocaleAdapter as $t, Vuetify0ThemeAdapter as A, FilterFunction as An, provideContext as Ar, LoggerOptions as At, StorageAdapter as B, useFilterContext as Bn, LoggerAdapter as Bt, ThemePluginOptions as C, FormValidationRule as Cn, toArray as Cr, useOverflow as Ct, createThemeContext as D, useForm as Dn, ContextKey as Dr, useMutationObserver as Dt, createTheme as E, createFormContext as En, createPlugin as Er, UseMutationObserverReturn as Et, StoragePluginOptions as F, FilterResult as Fn, useLogger as Ft, UseElementSizeReturn as G, FeatureTicket as Gn, LocaleRecord as Gt, MemoryAdapter as H, FeatureContextOptions as Hn, LocaleContextOptions as Ht, createStorage as I, Primitive as In, LogLevel as It, useResizeObserver as J, createFeaturesPlugin as Jn, createLocaleContext as Jt, UseResizeObserverReturn as K, createFeatures as Kn, LocaleTicket as Kt, createStorageContext as L, createFilter as Ln, Vuetify0LoggerAdapter as Lt, StorageContext as M, FilterMode as Mn, createLogger as Mt, StorageContextOptions as N, FilterOptions as Nn, createLoggerContext as Nt, createThemePlugin as O, FilterContext as On, CreateContextOptions as Or, LoggerContext as Ot, StorageOptions as P, FilterQuery as Pn, createLoggerPlugin as Pt, QueueTicket as Q, TokenCollection as Qn, Vuetify0LocaleAdapter as Qt, createStoragePlugin as R, createFilterContext as Rn, PinoLoggerAdapter as Rt, ThemeOptions as S, FormValidationResult as Sn, toReactive as Sr, createOverflowContext as St, ThemeTicket as T, createForm as Tn, PluginOptions as Tr, UseMutationObserverOptions as Tt, ResizeObserverEntry as U, FeatureOptions as Un, LocaleOptions as Ut, StorageType as V, FeatureContext as Vn, LocaleContext as Vt, ResizeObserverOptions as W, FeaturePluginOptions as Wn, LocalePluginOptions as Wt, QueueContextOptions as X, FlatTokenCollection as Xn, createLocalePlugin as Xt, QueueContext as Y, useFeatures as Yn, createLocaleFallback as Yt, QueueOptions as Z, TokenAlias as Zn, useLocale as Zt, useTimeline as _, useHydration as _n, BreakpointsPluginOptions as _r, PermissionAdapterInterface as _t, VirtualItem as a, UseElementIntersectionReturn as an, createTokens as ar, ProxyModelOptions as at, ThemeContext as b, FormOptions as bn, createBreakpointsPlugin as br, OverflowOptions as bt, useVirtual as c, useIntersectionObserver as cn, CleanupFunction as cr, PermissionContextOptions as ct, TimelineContext as d, HydrationOptions as dn, useEventListener as dr, PermissionTicket as dt, KeyHandler as en, TokenContextOptions as er, createQueueContext as et, TimelineContextOptions as f, HydrationPluginOptions as fn, useWindowEventListener as fr, createPermissions as ft, createTimelineContext as g, createHydrationPlugin as gn, BreakpointsOptions as gr, PermissionAdapter as gt, createTimeline as h, createHydrationContext as hn, BreakpointsContextOptions as hr, usePermissions as ht, VirtualDirection as i, IntersectionObserverOptions as in, TokenValue as ir, useProxyRegistry as it, ThemeAdapter as j, FilterItem as jn, useContext as jr, LoggerPluginOptions as jt, useTheme as k, FilterContextOptions as kn, createContext as kr, LoggerContextOptions as kt, ToggleScopeControls as l, HydrationContext as ln, EventHandler as lr, PermissionOptions as lt, TimelineTicket as m, createHydration as mn, BreakpointsContext as mr, createPermissionsPlugin as mt, VirtualAnchor as n, useKeydown as nn, TokenPrimitive as nr, ProxyRegistryContext as nt, VirtualOptions as o, UseIntersectionObserverReturn as on, createTokensContext as or, useProxyModel as ot, TimelineOptions as p, createFallbackHydration as pn, BreakpointName as pr, createPermissionsContext as pt, useElementSize as q, createFeaturesContext as qn, createLocale as qt, VirtualContext as r, IntersectionObserverEntry as rn, TokenTicket as rr, ProxyRegistryOptions as rt, VirtualState as s, useElementIntersection as sn, useTokens as sr, PermissionContext as st, ScrollToOptions as t, UseKeydownReturn as tn, TokenOptions as tr, useQueue as tt, useToggleScope as u, HydrationContextOptions as un, useDocumentEventListener as ur, PermissionPluginOptions as ut, Colors as v, FormContext as vn, createBreakpoints as vr, OverflowContext as vt, ThemeRecord as w, FormValue as wn, Plugin as wr, MutationObserverRecord as wt, ThemeContextOptions as x, FormTicket as xn, useBreakpoints as xr, createOverflow as xt, ThemeColors as y, FormContextOptions as yn, createBreakpointsContext as yr, OverflowContextOptions as yt, useStorage as z, useFilter 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 };
@@ -0,0 +1,296 @@
1
+ import { n as DeepPartial } from "./index-4jSy8KIt.mjs";
2
+
3
+ //#region src/utilities/helpers.d.ts
4
+
5
+ /**
6
+ * Checks if a value is a function
7
+ *
8
+ * @param item The value to check
9
+ * @returns True if the value is a function
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * isFunction(() => {}) // true
14
+ * isFunction('string') // false
15
+ * ```
16
+ */
17
+ declare function isFunction(item: unknown): item is Function;
18
+ /**
19
+ * Checks if a value is a string
20
+ *
21
+ * @param item The value to check
22
+ * @returns True if the value is a string
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * isString('hello') // true
27
+ * isString(123) // false
28
+ * ```
29
+ */
30
+ declare function isString(item: unknown): item is string;
31
+ /**
32
+ * Checks if a value is a number
33
+ *
34
+ * @param item The value to check
35
+ * @returns True if the value is a number (including NaN)
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * isNumber(123) // true
40
+ * isNumber(NaN) // true
41
+ * isNumber('123') // false
42
+ * ```
43
+ *
44
+ * @see {@link isNaN} to check for NaN specifically
45
+ */
46
+ declare function isNumber(item: unknown): item is number;
47
+ /**
48
+ * Checks if a value is a boolean
49
+ *
50
+ * @param item The value to check
51
+ * @returns True if the value is a boolean
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * isBoolean(true) // true
56
+ * isBoolean(false) // true
57
+ * isBoolean(0) // false
58
+ * ```
59
+ */
60
+ declare function isBoolean(item: unknown): item is boolean;
61
+ /**
62
+ * Checks if a value is a plain object (excludes null and arrays)
63
+ *
64
+ * @param item The value to check
65
+ * @returns True if the value is a plain object
66
+ *
67
+ * @remarks
68
+ * Returns false for null and arrays, even though `typeof null === 'object'`
69
+ * and `typeof [] === 'object'` in JavaScript.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * isObject({}) // true
74
+ * isObject({ a: 1 }) // true
75
+ * isObject(null) // false
76
+ * isObject([]) // false
77
+ * ```
78
+ *
79
+ * @see {@link isArray} to check for arrays
80
+ * @see {@link isNull} to check for null
81
+ */
82
+ declare function isObject(item: unknown): item is Record<string, unknown>;
83
+ /**
84
+ * Checks if a value is an array
85
+ *
86
+ * @param item The value to check
87
+ * @returns True if the value is an array
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * isArray([]) // true
92
+ * isArray([1, 2, 3]) // true
93
+ * isArray('string') // false
94
+ * ```
95
+ */
96
+ declare function isArray(item: unknown): item is unknown[];
97
+ /**
98
+ * Checks if a value is null
99
+ *
100
+ * @param item The value to check
101
+ * @returns True if the value is null
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * isNull(null) // true
106
+ * isNull(undefined) // false
107
+ * ```
108
+ *
109
+ * @see {@link isUndefined} to check for undefined
110
+ * @see {@link isNullOrUndefined} to check for either
111
+ */
112
+ declare function isNull(item: unknown): item is null;
113
+ /**
114
+ * Checks if a value is null or undefined
115
+ *
116
+ * @param item The value to check
117
+ * @returns True if the value is null or undefined
118
+ *
119
+ * @remarks
120
+ * Uses loose equality (`== null`) which matches both null and undefined.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * isNullOrUndefined(null) // true
125
+ * isNullOrUndefined(undefined) // true
126
+ * isNullOrUndefined(0) // false
127
+ * isNullOrUndefined('') // false
128
+ * ```
129
+ *
130
+ * @see {@link isNull} to check for null only
131
+ * @see {@link isUndefined} to check for undefined only
132
+ */
133
+ declare function isNullOrUndefined(item: unknown): item is null | undefined;
134
+ /**
135
+ * Checks if a value is undefined
136
+ *
137
+ * @param item The value to check
138
+ * @returns True if the value is undefined
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * isUndefined(undefined) // true
143
+ * isUndefined(null) // false
144
+ * ```
145
+ *
146
+ * @see {@link isNull} to check for null
147
+ * @see {@link isNullOrUndefined} to check for either
148
+ */
149
+ declare function isUndefined(item: unknown): item is undefined;
150
+ /**
151
+ * Checks if a value is a primitive (string, number, or boolean)
152
+ *
153
+ * @param item The value to check
154
+ * @returns True if the value is a string, number, or boolean
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * isPrimitive('hello') // true
159
+ * isPrimitive(123) // true
160
+ * isPrimitive(true) // true
161
+ * isPrimitive({}) // false
162
+ * isPrimitive(null) // false
163
+ * ```
164
+ */
165
+ declare function isPrimitive(item: unknown): item is string | number | boolean;
166
+ /**
167
+ * Checks if a value is a symbol
168
+ *
169
+ * @param item The value to check
170
+ * @returns True if the value is a symbol
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * isSymbol(Symbol('test')) // true
175
+ * isSymbol('symbol') // false
176
+ * ```
177
+ */
178
+ declare function isSymbol(item: unknown): item is symbol;
179
+ /**
180
+ * Checks if a value is NaN (Not a Number)
181
+ *
182
+ * @param item The value to check
183
+ * @returns True if the value is NaN
184
+ *
185
+ * @remarks
186
+ * Uses `Number.isNaN()` which only returns true for the actual NaN value,
187
+ * unlike the global `isNaN()` which coerces the argument to a number first.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * isNaN(NaN) // true
192
+ * isNaN(123) // false
193
+ * isNaN('hello') // false (unlike global isNaN)
194
+ * isNaN(undefined) // false (unlike global isNaN)
195
+ * ```
196
+ *
197
+ * @see {@link isNumber} to check if a value is a number type
198
+ */
199
+ declare function isNaN(item: unknown): item is number;
200
+ /**
201
+ * Deeply merges source objects into a target object
202
+ *
203
+ * @param target The target object to merge into (will be mutated)
204
+ * @param sources One or more source objects to merge from
205
+ * @returns The mutated target object
206
+ *
207
+ * @remarks
208
+ * - Mutates the target object in place
209
+ * - Nested objects are recursively merged
210
+ * - Arrays are replaced, not merged
211
+ * - Primitives from sources overwrite target values
212
+ *
213
+ * @example
214
+ * ```ts
215
+ * const target = { a: 1, b: { c: 2 } }
216
+ * mergeDeep(target, { b: { d: 3 } })
217
+ * // target is now { a: 1, b: { c: 2, d: 3 } }
218
+ *
219
+ * // Multiple sources
220
+ * mergeDeep({}, { a: 1 }, { b: 2 }) // { a: 1, b: 2 }
221
+ *
222
+ * // Arrays are replaced
223
+ * mergeDeep({ arr: [1, 2] }, { arr: [3] }) // { arr: [3] }
224
+ * ```
225
+ */
226
+ declare function mergeDeep<T extends object>(target: T, ...sources: DeepPartial<T>[]): T;
227
+ /**
228
+ * Generates a random 7-character alphanumeric ID
229
+ *
230
+ * @returns A random string of 7 characters (a-z, 0-9)
231
+ *
232
+ * @remarks
233
+ * Uses `Math.random()` converted to base-36. Not cryptographically secure.
234
+ * Suitable for unique keys in UI components, not for security purposes.
235
+ *
236
+ * @example
237
+ * ```ts
238
+ * genId() // 'k7x9m2p'
239
+ * genId() // 'a3b8c1d'
240
+ * ```
241
+ */
242
+ declare function genId(): string;
243
+ /**
244
+ * Clamps a value between a minimum and maximum
245
+ *
246
+ * @param value The value to clamp
247
+ * @param min The minimum value (default: 0)
248
+ * @param max The maximum value (default: 1)
249
+ * @returns The clamped value
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * clamp(5, 0, 10) // 5
254
+ * clamp(-5, 0, 10) // 0
255
+ * clamp(15, 0, 10) // 10
256
+ * ```
257
+ */
258
+ declare function clamp(value: number, min?: number, max?: number): number;
259
+ /**
260
+ * Creates an array of sequential numbers
261
+ *
262
+ * @param length The length of the array to create
263
+ * @param start The starting index (default: 0)
264
+ * @returns An array of sequential numbers
265
+ *
266
+ * @example
267
+ * ```ts
268
+ * range(3) // [0, 1, 2]
269
+ * range(3, 1) // [1, 2, 3]
270
+ * range(5, 10) // [10, 11, 12, 13, 14]
271
+ * range(0) // []
272
+ * ```
273
+ */
274
+ declare function range(length: number, start?: number): number[];
275
+ /**
276
+ * Debounces a function call by the specified delay
277
+ *
278
+ * @param fn The function to debounce
279
+ * @param delay The delay in milliseconds
280
+ * @returns A debounced function with clear and immediate methods
281
+ *
282
+ * @example
283
+ * ```ts
284
+ * const debouncedFn = debounce(() => console.log('called'), 500)
285
+ * debouncedFn() // Will call after 500ms
286
+ * debouncedFn.clear() // Cancel pending call
287
+ * debouncedFn.immediate() // Call immediately
288
+ * ```
289
+ */
290
+ declare function debounce<T extends (...args: any[]) => any>(fn: T, delay: number): {
291
+ (...args: Parameters<T>): void;
292
+ clear(): void;
293
+ immediate(...args: Parameters<T>): void;
294
+ };
295
+ //#endregion
296
+ export { range as _, isBoolean as a, isNull as c, isObject as d, isPrimitive as f, mergeDeep as g, isUndefined as h, isArray as i, isNullOrUndefined as l, isSymbol as m, debounce as n, isFunction as o, isString as p, genId as r, isNaN as s, clamp as t, isNumber as u };