@vueuse/shared 14.3.0 → 14.4.0

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import * as _$vue from "vue";
2
1
  import { ComponentInternalInstance, ComputedGetter, ComputedRef, FunctionDirective, InjectionKey, MaybeRef, MaybeRefOrGetter, MultiWatchSources, MultiWatchSources as MultiWatchSources$1, ObjectDirective, Ref, ShallowRef, ShallowUnwrapRef as ShallowUnwrapRef$1, ToRef, ToRefs, UnwrapNestedRefs, UnwrapRef, WatchCallback, WatchHandle, WatchOptions, WatchOptionsBase, WatchSource, WatchStopHandle, WritableComputedOptions, WritableComputedRef, getCurrentInstance, inject } from "vue";
3
-
4
2
  //#region computedEager/index.d.ts
5
3
  type ComputedEagerOptions = WatchOptionsBase;
6
4
  type ComputedEagerReturn<T = any> = Readonly<ShallowRef<T>>;
@@ -73,7 +71,7 @@ type ReadonlyRefOrGetter<T> = ComputedRef<T> | (() => T);
73
71
  * UnwrapRef<DeepMaybeRef<T>> === T
74
72
  * ```
75
73
  */
76
- type DeepMaybeRef<T> = T extends Ref<infer V> ? MaybeRef<V> : T extends Array<any> | object ? { [K in keyof T]: DeepMaybeRef<T[K]> } : MaybeRef<T>;
74
+ type DeepMaybeRef<T> = T extends Ref<infer V> ? MaybeRef<V> : T extends Array<any> | object ? { [K in keyof T]: DeepMaybeRef<T[K]>; } : MaybeRef<T>;
77
75
  type Arrayable<T> = T[] | T;
78
76
  /**
79
77
  * Infers the element type of an array
@@ -136,9 +134,9 @@ interface ConfigurableFlushSync {
136
134
  */
137
135
  flush?: WatchOptionFlush;
138
136
  }
139
- type MapSources<T> = { [K in keyof T]: T[K] extends WatchSource<infer V> ? V : never };
140
- type MapOldSources<T, Immediate> = { [K in keyof T]: T[K] extends WatchSource<infer V> ? Immediate extends true ? V | undefined : V : never };
141
- type Mutable<T> = { -readonly [P in keyof T]: T[P] };
137
+ type MapSources<T> = { [K in keyof T]: T[K] extends WatchSource<infer V> ? V : never; };
138
+ type MapOldSources<T, Immediate> = { [K in keyof T]: T[K] extends WatchSource<infer V> ? Immediate extends true ? V | undefined : V : never; };
139
+ type Mutable<T> = { -readonly [P in keyof T]: T[P]; };
142
140
  type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
143
141
  /**
144
142
  * will return `true` if `T` is `any`, or `false` otherwise
@@ -181,6 +179,12 @@ interface FunctionWrapperOptions<Args extends any[] = any[], This = any> {
181
179
  thisArg: This;
182
180
  }
183
181
  type EventFilter<Args extends any[] = any[], This = any, Invoke extends AnyFn = AnyFn> = (invoke: Invoke, options: FunctionWrapperOptions<Args, This>) => ReturnType<Invoke> | Promisify<ReturnType<Invoke>>;
182
+ interface CancelableEventFilter<Args extends any[] = any[], This = any, Invoke extends AnyFn = AnyFn> {
183
+ (invoke: Invoke, options: FunctionWrapperOptions<Args, This>): ReturnType<Invoke> | Promisify<ReturnType<Invoke>>;
184
+ cancel: () => void;
185
+ flush: () => void;
186
+ readonly isPending: Readonly<Ref<boolean>>;
187
+ }
184
188
  interface ConfigurableEventFilter {
185
189
  /**
186
190
  * Filter for if events should to be received.
@@ -202,15 +206,21 @@ interface DebounceFilterOptions {
202
206
  */
203
207
  rejectOnCancel?: boolean;
204
208
  }
209
+ type CancelablePromisifyFn<T extends AnyFn> = PromisifyFn<T> & {
210
+ cancel: () => void;
211
+ flush: () => void;
212
+ readonly isPending: Readonly<Ref<boolean>>;
213
+ };
205
214
  /**
206
215
  * @internal
207
216
  */
208
- declare function createFilterWrapper<T extends AnyFn>(filter: EventFilter, fn: T): (this: any, ...args: ArgumentsType<T>) => Promise<Awaited<ReturnType<T>>>;
217
+ declare function createFilterWrapper<T extends AnyFn>(filter: CancelableEventFilter, fn: T): CancelablePromisifyFn<T>;
218
+ declare function createFilterWrapper<T extends AnyFn>(filter: EventFilter, fn: T): PromisifyFn<T>;
209
219
  declare const bypassFilter: EventFilter;
210
220
  /**
211
221
  * Create an EventFilter that debounce the events
212
222
  */
213
- declare function debounceFilter(ms: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): EventFilter<any[], any, AnyFn>;
223
+ declare function debounceFilter(ms: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): CancelableEventFilter;
214
224
  interface ThrottleFilterOptions {
215
225
  /**
216
226
  * The maximum time allowed to be delayed before it's invoked.
@@ -477,7 +487,7 @@ type ProvideLocalReturn = void;
477
487
  declare function provideLocal<T, K = LocalProvidedKey<T>>(key: K, value: K extends InjectionKey<infer V> ? V : T): ProvideLocalReturn;
478
488
  //#endregion
479
489
  //#region reactify/index.d.ts
480
- type Reactified<T, Computed extends boolean> = T extends ((...args: infer A) => infer R) ? (...args: { [K in keyof A]: Computed extends true ? MaybeRefOrGetter<A[K]> : MaybeRef<A[K]> }) => ComputedRef<R> : never;
490
+ type Reactified<T, Computed extends boolean> = T extends ((...args: infer A) => infer R) ? (...args: { [K in keyof A]: Computed extends true ? MaybeRefOrGetter<A[K]> : MaybeRef<A[K]>; }) => ComputedRef<R> : never;
481
491
  type ReactifyReturn<T extends AnyFn = AnyFn, K extends boolean = true> = Reactified<T, K>;
482
492
  interface ReactifyOptions<T extends boolean> {
483
493
  /**
@@ -502,7 +512,7 @@ declare function reactify<T extends AnyFn, K extends boolean = true>(fn: T, opti
502
512
  declare const createReactiveFn: typeof reactify;
503
513
  //#endregion
504
514
  //#region reactifyObject/index.d.ts
505
- type ReactifyNested<T, Keys extends keyof T = keyof T, S extends boolean = true> = { [K in Keys]: T[K] extends AnyFn ? Reactified<T[K], S> : T[K] };
515
+ type ReactifyNested<T, Keys extends keyof T = keyof T, S extends boolean = true> = { [K in Keys]: T[K] extends AnyFn ? Reactified<T[K], S> : T[K]; };
506
516
  type ReactifyObjectReturn<T, Keys extends keyof T, S extends boolean = true> = ReactifyNested<T, Keys, S>;
507
517
  interface ReactifyObjectOptions<T extends boolean> extends ReactifyOptions<T> {
508
518
  /**
@@ -534,7 +544,7 @@ declare function reactiveOmit<T extends object, K extends keyof T>(obj: T, ...ke
534
544
  declare function reactiveOmit<T extends object>(obj: T, predicate: ReactiveOmitPredicate<T>): ReactiveOmitReturn<T>;
535
545
  //#endregion
536
546
  //#region reactivePick/index.d.ts
537
- type ReactivePickReturn<T extends object, K extends keyof T> = { [S in K]: UnwrapRef<T[S]> };
547
+ type ReactivePickReturn<T extends object, K extends keyof T> = { [S in K]: UnwrapRef<T[S]>; };
538
548
  type ReactivePickPredicate<T> = (value: T[keyof T], key: keyof T) => boolean;
539
549
  declare function reactivePick<T extends object, K extends keyof T>(obj: T, ...keys: (K | K[])[]): ReactivePickReturn<T, K>;
540
550
  declare function reactivePick<T extends object>(obj: T, predicate: ReactivePickPredicate<T>): ReactivePickReturn<T, keyof T>;
@@ -635,7 +645,7 @@ declare function refWithControl<T>(initial: T, options?: ControlledRefOptions<T>
635
645
  silentSet: (v: T) => void;
636
646
  peek: () => T;
637
647
  lay: (v: T) => void;
638
- } & _$vue.Ref<T, T>;
648
+ } & import("vue").Ref<T, T>;
639
649
  /** @deprecated use `refWithControl` instead */
640
650
  declare const controlledRef: typeof refWithControl;
641
651
  //#endregion
@@ -662,7 +672,7 @@ type IncludeButNotEqual<A, B> = Equal<A, B> extends true ? false : A extends B ?
662
672
  * A ∩ B = ∅
663
673
  */
664
674
  type NotIntersect<A, B> = Equal<A, B> extends true ? false : A & B extends never ? true : false;
665
- interface EqualType<D extends Direction, L, R, O extends keyof Transform<L, R> = (D extends 'both' ? 'ltr' | 'rtl' : D)> {
675
+ interface EqualType<D extends Direction, L, R, O extends keyof Transform<L, R> = D extends 'both' ? 'ltr' | 'rtl' : D> {
666
676
  transform?: SpecificFieldPartial<Pick<Transform<L, R>, O>, O>;
667
677
  }
668
678
  type StrictIncludeMap<IncludeType extends 'LR' | 'RL', D extends Exclude<Direction, 'both'>, L, R> = (Equal<[IncludeType, D], ['LR', 'ltr']> & Equal<[IncludeType, D], ['RL', 'rtl']>) extends true ? {
@@ -736,7 +746,7 @@ interface SyncRefsOptions extends ConfigurableFlushSync {
736
746
  * @param source source ref
737
747
  * @param targets
738
748
  */
739
- declare function syncRefs<T>(source: WatchSource<T>, targets: Ref<T> | Ref<T>[], options?: SyncRefsOptions): _$vue.WatchHandle;
749
+ declare function syncRefs<T>(source: WatchSource<T>, targets: Ref<T> | Ref<T>[], options?: SyncRefsOptions): import("vue").WatchHandle;
740
750
  //#endregion
741
751
  //#region toReactive/index.d.ts
742
752
  /**
@@ -1120,7 +1130,7 @@ interface UseCounterReturn {
1120
1130
  * @param options
1121
1131
  */
1122
1132
  declare function useCounter(initialValue?: MaybeRef<number>, options?: UseCounterOptions): {
1123
- count: Readonly<Ref<number, number> | _$vue.ShallowRef<number, number> | _$vue.WritableComputedRef<number, number>>;
1133
+ count: Readonly<Ref<number, number> | import("vue").ShallowRef<number, number> | import("vue").WritableComputedRef<number, number>>;
1124
1134
  inc: (delta?: number) => number;
1125
1135
  dec: (delta?: number) => number;
1126
1136
  get: () => number;
@@ -1159,7 +1169,7 @@ type UseDateFormatReturn = ComputedRef<string>;
1159
1169
  declare function useDateFormat(date: MaybeRefOrGetter<DateLike>, formatStr?: MaybeRefOrGetter<string>, options?: UseDateFormatOptions): UseDateFormatReturn;
1160
1170
  //#endregion
1161
1171
  //#region useDebounceFn/index.d.ts
1162
- type UseDebounceFnReturn<T extends FunctionArgs> = PromisifyFn<T>;
1172
+ type UseDebounceFnReturn<T extends FunctionArgs> = CancelablePromisifyFn<T>;
1163
1173
  /**
1164
1174
  * Debounce execution of a function.
1165
1175
  *
@@ -1168,9 +1178,7 @@ type UseDebounceFnReturn<T extends FunctionArgs> = PromisifyFn<T>;
1168
1178
  * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
1169
1179
  * @param options Options
1170
1180
  *
1171
- * @return A new, debounce, function.
1172
- *
1173
- * @__NO_SIDE_EFFECTS__
1181
+ * @return A new, debounced, function with isPending, cancel, and flush properties.
1174
1182
  */
1175
1183
  declare function useDebounceFn<T extends FunctionArgs>(fn: T, ms?: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): UseDebounceFnReturn<T>;
1176
1184
  //#endregion
@@ -1382,7 +1390,7 @@ declare type WatchArrayCallback<V = any, OV = any> = (value: V, oldValue: OV, ad
1382
1390
  *
1383
1391
  * @see https://vueuse.org/watchArray
1384
1392
  */
1385
- declare function watchArray<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T[]> | T[], cb: WatchArrayCallback<T[], Immediate extends true ? T[] | undefined : T[]>, options?: WatchOptions<Immediate>): _$vue.WatchHandle;
1393
+ declare function watchArray<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T[]> | T[], cb: WatchArrayCallback<T[], Immediate extends true ? T[] | undefined : T[]>, options?: WatchOptions<Immediate>): import("vue").WatchHandle;
1386
1394
  //#endregion
1387
1395
  //#region watchWithFilter/index.d.ts
1388
1396
  interface WatchWithFilterOptions<Immediate> extends WatchOptions<Immediate>, ConfigurableEventFilter {}
@@ -1500,4 +1508,4 @@ interface WheneverOptions<Immediate = boolean> extends WatchOptions<Immediate> {
1500
1508
  declare function whenever<T>(source: WatchSource<T>, cb: WatchCallback<Truthy<T>, T | undefined>, options?: WheneverOptions<true>): WatchHandle;
1501
1509
  declare function whenever<T>(source: WatchSource<T>, cb: WatchCallback<Truthy<T>, T>, options?: WheneverOptions<false>): WatchHandle;
1502
1510
  //#endregion
1503
- export { AnyFn, ArgumentsType, Arrayable, Awaitable, Awaited, ComputedEagerOptions, ComputedEagerReturn, ComputedRefWithControl, ComputedWithControlRef, ComputedWithControlRefExtra, ConfigurableEventFilter, ConfigurableFlush, ConfigurableFlushSync, ControlledRefOptions, CreateGlobalStateReturn, CreateInjectionStateOptions, CreateInjectionStateReturn, CreateRefReturn, DateLike, DebounceFilterOptions, DeepMaybeRef, ElementOf, EventFilter, EventHook, EventHookOff, EventHookOn, EventHookReturn, EventHookTrigger, ExtendRefOptions, ExtendRefReturn, Fn, FunctionArgs, FunctionWrapperOptions, IfAny, IgnoredPrevAsyncUpdates, IgnoredUpdater, InstanceProxy, IsAny, IsDefinedReturn, ManualResetRefReturn, MapOldSources, MapSources, type MultiWatchSources, Mutable, Pausable, PausableFilterOptions, Promisify, PromisifyFn, ProvideLocalReturn, Reactified, ReactifyNested, ReactifyObjectOptions, ReactifyObjectReturn, ReactifyOptions, ReactifyReturn, ReactiveComputedReturn, ReactiveOmitPredicate, ReactiveOmitReturn, ReactivePickPredicate, ReactivePickReturn, ReadonlyRefOrGetter, RefAutoResetReturn, RefDebouncedReturn, RefThrottledReturn, RemovableRef, ShallowOrDeepRef, ShallowUnwrapRef, SharedComposableReturn, SingletonPromiseReturn, Stoppable, SyncRefOptions, SyncRefsOptions, ThrottleFilterOptions, TimerHandle, ToRefsOptions, ToggleFn, UntilArrayInstance, UntilBaseInstance, UntilToMatchOptions, UntilValueInstance, UseArrayDifferenceOptions, UseArrayDifferenceReturn, UseArrayEveryReturn, UseArrayFilterReturn, UseArrayFindIndexReturn, UseArrayFindLastReturn, UseArrayFindReturn, UseArrayIncludesComparatorFn, UseArrayIncludesOptions, UseArrayIncludesReturn, UseArrayJoinReturn, UseArrayMapReturn, UseArrayReduceReturn, UseArrayReducer, UseArraySomeReturn, UseArrayUniqueReturn, UseCounterOptions, UseCounterReturn, UseDateFormatOptions, UseDateFormatReturn, UseDebounceFnReturn, UseIntervalControls, UseIntervalFnOptions, UseIntervalFnReturn, UseIntervalOptions, UseIntervalReturn, UseLastChangedOptions, UseLastChangedReturn, UseTimeoutFnOptions, UseTimeoutFnReturn, UseTimeoutOptions, UseTimeoutReturn, UseTimoutReturn, UseToNumberOptions, UseToggleOptions, UseToggleReturn, WatchArrayCallback, WatchAtMostOptions, WatchAtMostReturn, WatchDebouncedOptions, WatchIgnorableReturn, WatchOptionFlush, WatchPausableOptions, WatchPausableReturn, WatchThrottledOptions, WatchTriggerableCallback, WatchTriggerableReturn, WatchWithFilterOptions, WheneverOptions, WritableComputedRefWithControl, assert, autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, controlledComputed, controlledRef, createDisposableDirective, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, debouncedRef, debouncedWatch, eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refManualReset, refThrottled, refWithControl, set, syncRef, syncRefs, throttleFilter, throttledRef, throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
1511
+ export { AnyFn, ArgumentsType, Arrayable, Awaitable, Awaited, CancelableEventFilter, CancelablePromisifyFn, ComputedEagerOptions, ComputedEagerReturn, ComputedRefWithControl, ComputedWithControlRef, ComputedWithControlRefExtra, ConfigurableEventFilter, ConfigurableFlush, ConfigurableFlushSync, ControlledRefOptions, CreateGlobalStateReturn, CreateInjectionStateOptions, CreateInjectionStateReturn, CreateRefReturn, DateLike, DebounceFilterOptions, DeepMaybeRef, ElementOf, EventFilter, EventHook, EventHookOff, EventHookOn, EventHookReturn, EventHookTrigger, ExtendRefOptions, ExtendRefReturn, Fn, FunctionArgs, FunctionWrapperOptions, IfAny, IgnoredPrevAsyncUpdates, IgnoredUpdater, InstanceProxy, IsAny, IsDefinedReturn, ManualResetRefReturn, MapOldSources, MapSources, type MultiWatchSources, Mutable, Pausable, PausableFilterOptions, Promisify, PromisifyFn, ProvideLocalReturn, Reactified, ReactifyNested, ReactifyObjectOptions, ReactifyObjectReturn, ReactifyOptions, ReactifyReturn, ReactiveComputedReturn, ReactiveOmitPredicate, ReactiveOmitReturn, ReactivePickPredicate, ReactivePickReturn, ReadonlyRefOrGetter, RefAutoResetReturn, RefDebouncedReturn, RefThrottledReturn, RemovableRef, ShallowOrDeepRef, ShallowUnwrapRef, SharedComposableReturn, SingletonPromiseReturn, Stoppable, SyncRefOptions, SyncRefsOptions, ThrottleFilterOptions, TimerHandle, ToRefsOptions, ToggleFn, UntilArrayInstance, UntilBaseInstance, UntilToMatchOptions, UntilValueInstance, UseArrayDifferenceOptions, UseArrayDifferenceReturn, UseArrayEveryReturn, UseArrayFilterReturn, UseArrayFindIndexReturn, UseArrayFindLastReturn, UseArrayFindReturn, UseArrayIncludesComparatorFn, UseArrayIncludesOptions, UseArrayIncludesReturn, UseArrayJoinReturn, UseArrayMapReturn, UseArrayReduceReturn, UseArrayReducer, UseArraySomeReturn, UseArrayUniqueReturn, UseCounterOptions, UseCounterReturn, UseDateFormatOptions, UseDateFormatReturn, UseDebounceFnReturn, UseIntervalControls, UseIntervalFnOptions, UseIntervalFnReturn, UseIntervalOptions, UseIntervalReturn, UseLastChangedOptions, UseLastChangedReturn, UseTimeoutFnOptions, UseTimeoutFnReturn, UseTimeoutOptions, UseTimeoutReturn, UseTimoutReturn, UseToNumberOptions, UseToggleOptions, UseToggleReturn, WatchArrayCallback, WatchAtMostOptions, WatchAtMostReturn, WatchDebouncedOptions, WatchIgnorableReturn, WatchOptionFlush, WatchPausableOptions, WatchPausableReturn, WatchThrottledOptions, WatchTriggerableCallback, WatchTriggerableReturn, WatchWithFilterOptions, WheneverOptions, WritableComputedRefWithControl, assert, autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, controlledComputed, controlledRef, createDisposableDirective, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, debouncedRef, debouncedWatch, eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refManualReset, refThrottled, refWithControl, set, syncRef, syncRefs, throttleFilter, throttledRef, throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };
@@ -280,7 +280,7 @@
280
280
  return Math.floor(Math.random() * (max - min + 1)) + min;
281
281
  };
282
282
  const hasOwn = (val, key) => Object.hasOwn(val, key);
283
- const isIOS = /* @__PURE__ */ getIsIOS();
283
+ const isIOS = /* #__PURE__ */ getIsIOS();
284
284
  function getIsIOS() {
285
285
  var _window, _window2, _window3;
286
286
  return isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent));
@@ -297,9 +297,6 @@
297
297
  }
298
298
  //#endregion
299
299
  //#region utils/filters.ts
300
- /**
301
- * @internal
302
- */
303
300
  function createFilterWrapper(filter, fn) {
304
301
  function wrapper(...args) {
305
302
  return new Promise((resolve, reject) => {
@@ -310,6 +307,11 @@
310
307
  })).then(resolve).catch(reject);
311
308
  });
312
309
  }
310
+ if ("cancel" in filter) Object.assign(wrapper, {
311
+ cancel: filter.cancel,
312
+ flush: filter.flush,
313
+ isPending: filter.isPending
314
+ });
313
315
  return wrapper;
314
316
  }
315
317
  const bypassFilter = (invoke) => {
@@ -322,13 +324,15 @@
322
324
  let timer;
323
325
  let maxTimer;
324
326
  let lastRejector = noop;
327
+ let lastResolve = noop;
328
+ const _pending = (0, vue.shallowRef)(false);
325
329
  const _clearTimeout = (timer) => {
326
330
  clearTimeout(timer);
327
331
  lastRejector();
328
332
  lastRejector = noop;
329
333
  };
330
334
  let lastInvoker;
331
- const filter = (invoke) => {
335
+ const handler = (invoke) => {
332
336
  const duration = (0, vue.toValue)(ms);
333
337
  const maxDuration = (0, vue.toValue)(options.maxWait);
334
338
  if (timer) _clearTimeout(timer);
@@ -337,24 +341,60 @@
337
341
  _clearTimeout(maxTimer);
338
342
  maxTimer = void 0;
339
343
  }
344
+ _pending.value = false;
340
345
  return Promise.resolve(invoke());
341
346
  }
347
+ _pending.value = true;
342
348
  return new Promise((resolve, reject) => {
343
349
  lastRejector = options.rejectOnCancel ? reject : resolve;
350
+ lastResolve = resolve;
344
351
  lastInvoker = invoke;
345
352
  if (maxDuration && !maxTimer) maxTimer = setTimeout(() => {
346
353
  if (timer) _clearTimeout(timer);
347
354
  maxTimer = void 0;
355
+ _pending.value = false;
348
356
  resolve(lastInvoker());
349
357
  }, maxDuration);
350
358
  timer = setTimeout(() => {
351
359
  if (maxTimer) _clearTimeout(maxTimer);
352
360
  maxTimer = void 0;
361
+ _pending.value = false;
353
362
  resolve(invoke());
354
363
  }, duration);
355
364
  });
356
365
  };
357
- return filter;
366
+ return Object.assign(handler, {
367
+ cancel: () => {
368
+ if (timer) {
369
+ _clearTimeout(timer);
370
+ timer = void 0;
371
+ }
372
+ if (maxTimer) {
373
+ _clearTimeout(maxTimer);
374
+ maxTimer = void 0;
375
+ }
376
+ _pending.value = false;
377
+ lastResolve = noop;
378
+ },
379
+ flush: () => {
380
+ if (_pending.value) {
381
+ if (timer) {
382
+ clearTimeout(timer);
383
+ timer = void 0;
384
+ }
385
+ if (maxTimer) {
386
+ clearTimeout(maxTimer);
387
+ maxTimer = void 0;
388
+ }
389
+ _pending.value = false;
390
+ const resolve = lastResolve;
391
+ lastRejector = noop;
392
+ lastResolve = noop;
393
+ resolve(lastInvoker());
394
+ }
395
+ },
396
+ isPending: (0, vue.shallowReadonly)(_pending)
397
+ });
358
398
  }
359
399
  function throttleFilter(...args) {
360
400
  let lastExec = 0;
@@ -770,9 +810,7 @@
770
810
  * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
771
811
  * @param options Options
772
812
  *
773
- * @return A new, debounce, function.
774
- *
775
- * @__NO_SIDE_EFFECTS__
813
+ * @return A new, debounced, function with isPending, cancel, and flush properties.
776
814
  */
777
815
  function useDebounceFn(fn, ms = 200, options = {}) {
778
816
  return createFilterWrapper(debounceFilter(ms, options), fn);
@@ -1 +1 @@
1
- (function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function n(e,n){var r;let i=(0,t.shallowRef)();return(0,t.watchEffect)(()=>{i.value=e()},{...n,flush:(r=n==null?void 0:n.flush)==null?`sync`:r}),(0,t.readonly)(i)}let r=n;function i(e,n,r={}){let i,a,o,s=!0,c=()=>{s=!0,o()};(0,t.watch)(e,c,{flush:`sync`,...r});let l=typeof n==`function`?n:n.get,u=typeof n==`function`?void 0:n.set,d=(0,t.customRef)((e,t)=>(a=e,o=t,{get(){return s&&(i=l(i),s=!1),a(),i},set(e){u==null||u(e)}}));return d.trigger=c,d}let a=i;function o(e={}){function n(e){return typeof e==`function`}let r=n(e)?{mounted:e,updated:e}:e,{mounted:i,unmounted:a}=r;if(!n(i))return e;let o=new WeakMap;return{...r,mounted(e,n,r,a){var s;let c=(s=o.get(e))==null?(0,t.effectScope)():s;o.set(e,c),c.run(()=>{i==null||i(e,n,r,a)})},unmounted(e,t,r,i){var s;(s=o.get(e))==null||s.stop(),o.delete(e),n(a)&&a(e,t,r,i)}}}function s(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function c(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return s(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function l(e){let n=!1,r,i=(0,t.effectScope)(!0);return((...t)=>(n||(r=i.run(()=>e(...t)),n=!0),r))}let u=new WeakMap,d=(...e)=>{var n;let r=e[0],i=(n=(0,t.getCurrentInstance)())==null?void 0:n.proxy,a=i==null?(0,t.getCurrentScope)():i;if(a==null&&!(0,t.hasInjectionContext)())throw Error(`injectLocal must be called in setup`);return a&&u.has(a)&&r in u.get(a)?u.get(a)[r]:(0,t.inject)(...e)};function f(e,n){var r;let i=(r=(0,t.getCurrentInstance)())==null?void 0:r.proxy,a=i==null?(0,t.getCurrentScope)():i;if(a==null)throw Error(`provideLocal must be called in setup`);u.has(a)||u.set(a,Object.create(null));let o=u.get(a);return o[e]=n,(0,t.provide)(e,n)}function p(e,t){let n=(t==null?void 0:t.injectionKey)||Symbol(e.name||`InjectionState`),r=t==null?void 0:t.defaultValue;return[(...t)=>{let r=e(...t);return f(n,r),r},()=>d(n,r)]}function m(e,n){return n===!0?(0,t.ref)(e):(0,t.shallowRef)(e)}let h=typeof window<`u`&&typeof document<`u`,ee=typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope,te=e=>e!==void 0,ne=e=>e!=null,g=(e,...t)=>{e||console.warn(...t)},re=Object.prototype.toString,_=e=>re.call(e)===`[object Object]`,ie=()=>Date.now(),v=()=>+Date.now(),ae=(e,t,n)=>Math.min(n,Math.max(t,e)),y=()=>{},oe=(e,t)=>(e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e),se=(e,t)=>Object.hasOwn(e,t),ce=le();function le(){var e,t,n;return h&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)==null?void 0:n.navigator.userAgent))}function b(...e){if(e.length!==1)return(0,t.toRef)(...e);let n=e[0];return typeof n==`function`?(0,t.readonly)((0,t.customRef)(()=>({get:n,set:y}))):(0,t.ref)(n)}function x(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}let S=e=>e();function C(e,n={}){let r,i,a=y,o=e=>{clearTimeout(e),a(),a=y},s;return c=>{let l=(0,t.toValue)(e),u=(0,t.toValue)(n.maxWait);return r&&o(r),l<=0||u!==void 0&&u<=0?(i&&(o(i),i=void 0),Promise.resolve(c())):new Promise((e,t)=>{a=n.rejectOnCancel?t:e,s=c,u&&!i&&(i=setTimeout(()=>{r&&o(r),i=void 0,e(s())},u)),r=setTimeout(()=>{i&&o(i),i=void 0,e(c())},l)})}}function w(...e){let n=0,r,i=!0,a=y,o,s,c,l,u;!(0,t.isRef)(e[0])&&typeof e[0]==`object`?{delay:s,trailing:c=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[s,c=!0,l=!0,u=!1]=e;let d=()=>{r&&(clearTimeout(r),r=void 0,a(),a=y)};return e=>{let f=(0,t.toValue)(s),p=Date.now()-n,m=()=>o=e();return d(),f<=0?(n=Date.now(),m()):(p>f?(n=Date.now(),(l||!i)&&m()):c&&(o=new Promise((e,t)=>{a=u?t:e,r=setTimeout(()=>{n=Date.now(),i=!0,e(m()),d()},Math.max(0,f-p))})),!l&&!r&&(r=setTimeout(()=>i=!0,f)),i=!1,o)}}function T(e=S,n={}){let{initialState:r=`active`}=n,i=b(r===`active`);function a(){i.value=!1}function o(){i.value=!0}return{isActive:(0,t.shallowReadonly)(i),pause:a,resume:o,eventFilter:(...t)=>{i.value&&e(...t)}}}function E(e,t=!1,n=`Timeout`){return new Promise((r,i)=>{t?setTimeout(i,e,n):setTimeout(r,e)})}function ue(e){return e}function de(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{let e=t;t=void 0,e&&await e},n}function fe(e){return e()}function D(e,...t){return t.some(t=>t in e)}function pe(e,t){var n;if(typeof e==`number`)return e+t;let r=((n=e.match(/^-?\d+\.?\d*/))==null?void 0:n[0])||``,i=e.slice(r.length),a=Number.parseFloat(r)+t;return Number.isNaN(a)?e:a+i}function me(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function he(e,t,n=!1){return t.reduce((t,r)=>(r in e&&(!n||e[r]!==void 0)&&(t[r]=e[r]),t),{})}function ge(e,t,n=!1){return Object.fromEntries(Object.entries(e).filter(([e,r])=>(!n||r!==void 0)&&!t.includes(e)))}function _e(e){return Object.entries(e)}function O(e){return Array.isArray(e)?e:[e]}function k(e){let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))}let ve=/\B([A-Z])/g,ye=k(e=>e.replace(ve,`-$1`).toLowerCase()),be=/-(\w)/g,xe=k(e=>e.replace(be,(e,t)=>t?t.toUpperCase():``));function A(e){return e||(0,t.getCurrentInstance)()}function j(e){if(!h)return e;let n=0,r,i,a=()=>{--n,i&&n<=0&&(i.stop(),r=void 0,i=void 0)};return((...o)=>(n+=1,i||(i=(0,t.effectScope)(!0),r=i.run(()=>e(...o))),s(a),r))}function M(e,n,{enumerable:r=!1,unwrap:i=!0}={}){for(let[a,o]of Object.entries(n))a!==`value`&&((0,t.isRef)(o)&&i?Object.defineProperty(e,a,{get(){return o.value},set(e){o.value=e},enumerable:r}):Object.defineProperty(e,a,{value:o,enumerable:r}));return e}function Se(e,n){return n==null?(0,t.unref)(e):(0,t.unref)(e)[n]}function Ce(e){return(0,t.unref)(e)!=null}function we(e,t){if(typeof Symbol<`u`){let n={...e};return Object.defineProperty(n,Symbol.iterator,{enumerable:!1,value(){let e=0;return{next:()=>({value:t[e++],done:e>t.length})}}}),n}else return Object.assign([...t],e)}function N(e,n){let r=(n==null?void 0:n.computedGetter)===!1?t.unref:t.toValue;return function(...n){return(0,t.computed)(()=>e.apply(this,n.map(e=>r(e))))}}let Te=N;function Ee(e,t={}){let n=[],r;if(Array.isArray(t))n=t;else{r=t;let{includeOwnProperties:i=!0}=t;n.push(...Object.keys(e)),i&&n.push(...Object.getOwnPropertyNames(e))}return Object.fromEntries(n.map(t=>{let n=e[t];return[t,typeof n==`function`?N(n.bind(e),r):n]}))}function P(e){return(0,t.isRef)(e)?(0,t.reactive)(new Proxy({},{get(n,r,i){return(0,t.unref)(Reflect.get(e.value,r,i))},set(n,r,i){return(0,t.isRef)(e.value[r])&&!(0,t.isRef)(i)?e.value[r].value=i:e.value[r]=i,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):(0,t.reactive)(e)}function F(e){return P((0,t.computed)(e))}function De(e,...n){let r=n.flat(),i=r[0];return F(()=>Object.fromEntries(typeof i==`function`?Object.entries((0,t.toRefs)(e)).filter(([e,n])=>!i((0,t.toValue)(n),e)):Object.entries((0,t.toRefs)(e)).filter(e=>!r.includes(e[0]))))}function Oe(e,...n){let r=n.flat(),i=r[0];return F(()=>Object.fromEntries(typeof i==`function`?Object.entries((0,t.toRefs)(e)).filter(([e,n])=>i((0,t.toValue)(n),e)):r.map(t=>[t,b(e,t)])))}function I(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,c=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return s(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=c()}}})}let ke=I;function L(e,t=200,n={}){return x(C(t,n),e)}function R(e,n=200,r={}){let i=(0,t.ref)((0,t.toValue)(e)),a=L(()=>{i.value=e.value},n,r);return(0,t.watch)(e,()=>a()),(0,t.shallowReadonly)(i)}let Ae=R,je=R;function Me(e,n){return(0,t.computed)({get(){var t;return(t=e.value)==null?n:t},set(t){e.value=t}})}function Ne(e){let n=(0,t.toValue)(e),r,i=()=>{n=(0,t.toValue)(e),r()},a=(0,t.customRef)((e,t)=>(r=t,{get(){return e(),n},set(e){n=e,r()}}));return a.reset=i,a}function z(e,t=200,n=!1,r=!0,i=!1){return x(w(t,n,r,i),e)}function B(e,n=200,r=!0,i=!0){if(n<=0)return e;let a=(0,t.ref)((0,t.toValue)(e)),o=z(()=>{a.value=e.value},n,r,i);return(0,t.watch)(e,()=>o()),a}let Pe=B,Fe=B;function V(e,n={}){let r=e,i,a,o=(0,t.customRef)((e,t)=>(i=e,a=t,{get(){return s()},set(e){c(e)}}));function s(e=!0){return e&&i(),r}function c(e,t=!0){var i,o;if(e===r)return;let s=r;((i=n.onBeforeChange)==null?void 0:i.call(n,e,s))!==!1&&(r=e,(o=n.onChanged)==null||o.call(n,e,s),t&&a())}return M(o,{get:s,set:c,untrackedGet:()=>s(!1),silentSet:e=>c(e,!1),peek:()=>s(!1),lay:e=>c(e,!1)},{enumerable:!0})}let Ie=V;function Le(...e){if(e.length===2){let[t,n]=e;t.value=n}if(e.length===3){let[t,n,r]=e;t[n]=r}}function H(e,n,r={}){let{eventFilter:i=S,...a}=r;return(0,t.watch)(e,x(i,n),a)}function U(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=T(r,{initialState:i});return{stop:H(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}let Re=U;function ze(e,t,...[n]){let{flush:r=`sync`,deep:i=!1,immediate:a=!0,direction:o=`both`,transform:s={}}=n||{},c=[],l=`ltr`in s&&s.ltr||(e=>e),u=`rtl`in s&&s.rtl||(e=>e);return(o===`both`||o===`ltr`)&&c.push(U(e,e=>{c.forEach(e=>e.pause()),t.value=l(e),c.forEach(e=>e.resume())},{flush:r,deep:i,immediate:a})),(o===`both`||o===`rtl`)&&c.push(U(t,t=>{c.forEach(e=>e.pause()),e.value=u(t),c.forEach(e=>e.resume())},{flush:r,deep:i,immediate:a})),()=>{c.forEach(e=>e.stop())}}function Be(e,n,r={}){let{flush:i=`sync`,deep:a=!1,immediate:o=!0}=r,s=O(n);return(0,t.watch)(e,e=>s.forEach(t=>t.value=e),{flush:i,deep:a,immediate:o})}function Ve(e,n={}){if(!(0,t.isRef)(e))return(0,t.toRefs)(e);let r=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(let i in e.value)r[i]=(0,t.customRef)(()=>({get(){return e.value[i]},set(r){var a;if((a=(0,t.toValue)(n.replaceRef))==null||a)if(Array.isArray(e.value)){let t=[...e.value];t[i]=r,e.value=t}else{let t={...e.value,[i]:r};Object.setPrototypeOf(t,Object.getPrototypeOf(e.value)),e.value=t}else e.value[i]=r}}));return r}function He(e,n=!0,r){A(r)?(0,t.onBeforeMount)(e,r):n?e():(0,t.nextTick)(e)}function Ue(e,n){A(n)&&(0,t.onBeforeUnmount)(e,n)}function We(e,n=!0,r){A(r)?(0,t.onMounted)(e,r):n?e():(0,t.nextTick)(e)}function Ge(e,n){A(n)&&(0,t.onUnmounted)(e,n)}function W(e,n=!1){function r(r,{flush:i=`sync`,deep:a=!1,timeout:o,throwOnTimeout:s}={}){let c=null,l=[new Promise(o=>{c=(0,t.watch)(e,e=>{r(e)!==n&&(c?c():(0,t.nextTick)(()=>c==null?void 0:c()),o(e))},{flush:i,deep:a,immediate:!0})})];return o!=null&&l.push(E(o,s).then(()=>(0,t.toValue)(e)).finally(()=>c==null?void 0:c())),Promise.race(l)}function i(i,a){if(!(0,t.isRef)(i))return r(e=>e===i,a);let{flush:o=`sync`,deep:s=!1,timeout:c,throwOnTimeout:l}=a==null?{}:a,u=null,d=[new Promise(r=>{u=(0,t.watch)([e,i],([e,i])=>{n!==(e===i)&&(u?u():(0,t.nextTick)(()=>u==null?void 0:u()),r(e))},{flush:o,deep:s,immediate:!0})})];return c!=null&&d.push(E(c,l).then(()=>(0,t.toValue)(e)).finally(()=>(u==null||u(),(0,t.toValue)(e)))),Promise.race(d)}function a(e){return r(e=>!!e,e)}function o(e){return i(null,e)}function s(e){return i(void 0,e)}function c(e){return r(Number.isNaN,e)}function l(e,n){return r(n=>{let r=Array.from(n);return r.includes(e)||r.includes((0,t.toValue)(e))},n)}function u(e){return d(1,e)}function d(e=1,t){let n=-1;return r(()=>(n+=1,n>=e),t)}return Array.isArray((0,t.toValue)(e))?{toMatch:r,toContains:l,changed:u,changedTimes:d,get not(){return W(e,!n)}}:{toMatch:r,toBe:i,toBeTruthy:a,toBeNull:o,toBeNaN:c,toBeUndefined:s,changed:u,changedTimes:d,get not(){return W(e,!n)}}}function Ke(e){return W(e)}function qe(e,t){return e===t}function Je(...e){var n,r;let i=e[0],a=e[1],o=(n=e[2])==null?qe:n,{symmetric:s=!1}=(r=e[3])==null?{}:r;if(typeof o==`string`){let e=o;o=(t,n)=>t[e]===n[e]}let c=(0,t.computed)(()=>(0,t.toValue)(i).filter(e=>(0,t.toValue)(a).findIndex(t=>o(e,t))===-1));if(s){let e=(0,t.computed)(()=>(0,t.toValue)(a).filter(e=>(0,t.toValue)(i).findIndex(t=>o(e,t))===-1));return(0,t.computed)(()=>s?[...(0,t.toValue)(c),...(0,t.toValue)(e)]:(0,t.toValue)(c))}else return c}function Ye(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).every((e,r,i)=>n((0,t.toValue)(e),r,i)))}function Xe(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).filter(n))}function Ze(e,n){return(0,t.computed)(()=>(0,t.toValue)((0,t.toValue)(e).find((e,r,i)=>n((0,t.toValue)(e),r,i))))}function Qe(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).findIndex((e,r,i)=>n((0,t.toValue)(e),r,i)))}function $e(e,t){let n=e.length;for(;n-- >0;)if(t(e[n],n,e))return e[n]}function et(e,n){return(0,t.computed)(()=>(0,t.toValue)(Array.prototype.findLast?(0,t.toValue)(e).findLast((e,r,i)=>n((0,t.toValue)(e),r,i)):$e((0,t.toValue)(e),(e,r,i)=>n((0,t.toValue)(e),r,i))))}function tt(e){return _(e)&&D(e,`formIndex`,`comparator`)}function nt(...e){var n;let r=e[0],i=e[1],a=e[2],o=0;if(tt(a)){var s;o=(s=a.fromIndex)==null?0:s,a=a.comparator}if(typeof a==`string`){let e=a;a=(n,r)=>n[e]===(0,t.toValue)(r)}return a=(n=a)==null?((e,n)=>e===(0,t.toValue)(n)):n,(0,t.computed)(()=>(0,t.toValue)(r).slice(o).some((e,n,r)=>a((0,t.toValue)(e),(0,t.toValue)(i),n,(0,t.toValue)(r))))}function rt(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).join((0,t.toValue)(n)))}function it(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).map(n))}function at(e,n,...r){let i=(e,r,i)=>n((0,t.toValue)(e),(0,t.toValue)(r),i);return(0,t.computed)(()=>{let n=(0,t.toValue)(e);return r.length?n.reduce(i,typeof r[0]==`function`?(0,t.toValue)(r[0]()):(0,t.toValue)(r[0])):n.reduce(i)})}function ot(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).some((e,r,i)=>n((0,t.toValue)(e),r,i)))}function st(e){return Array.from(new Set(e))}function ct(e,t){return e.reduce((n,r)=>(n.some(n=>t(r,n,e))||n.push(r),n),[])}function lt(e,n){return(0,t.computed)(()=>{let r=(0,t.toValue)(e).map(e=>(0,t.toValue)(e));return n?ct(r,n):st(r)})}function ut(e=0,n={}){let r=(0,t.unref)(e),i=(0,t.shallowRef)(e),{max:a=1/0,min:o=-1/0}=n,s=(e=1)=>i.value=Math.max(Math.min(a,i.value+e),o),c=(e=1)=>i.value=Math.min(Math.max(o,i.value-e),a),l=()=>i.value,u=e=>i.value=Math.max(o,Math.min(a,e));return{count:(0,t.shallowReadonly)(i),inc:s,dec:c,get:l,set:u,reset:(e=r)=>(r=e,u(e))}}let dt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,ft=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;function pt(e,t,n,r){let i=e<12?`AM`:`PM`;return r&&(i=i.split(``).reduce((e,t)=>e+=`${t}.`,``)),n?i.toLowerCase():i}function G(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function K(e,n,r={}){var i;let a=e.getFullYear(),o=e.getMonth(),s=e.getDate(),c=e.getHours(),l=e.getMinutes(),u=e.getSeconds(),d=e.getMilliseconds(),f=e.getDay(),p=(i=r.customMeridiem)==null?pt:i,m=e=>{var t;return(t=e.split(` `)[1])==null?``:t},h={Yo:()=>G(a),YY:()=>String(a).slice(-2),YYYY:()=>a,M:()=>o+1,Mo:()=>G(o+1),MM:()=>`${o+1}`.padStart(2,`0`),MMM:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{month:`short`}),MMMM:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{month:`long`}),D:()=>String(s),Do:()=>G(s),DD:()=>`${s}`.padStart(2,`0`),H:()=>String(c),Ho:()=>G(c),HH:()=>`${c}`.padStart(2,`0`),h:()=>`${c%12||12}`.padStart(1,`0`),ho:()=>G(c%12||12),hh:()=>`${c%12||12}`.padStart(2,`0`),m:()=>String(l),mo:()=>G(l),mm:()=>`${l}`.padStart(2,`0`),s:()=>String(u),so:()=>G(u),ss:()=>`${u}`.padStart(2,`0`),SSS:()=>`${d}`.padStart(3,`0`),d:()=>f,dd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`narrow`}),ddd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`short`}),dddd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`long`}),A:()=>p(c,l),AA:()=>p(c,l,!1,!0),a:()=>p(c,l,!0),aa:()=>p(c,l,!0,!0),z:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zzz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zzzz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`longOffset`}))};return n.replace(ft,(e,t)=>{var n,r;return(n=t==null?(r=h[e])==null?void 0:r.call(h):t)==null?e:n})}function q(e){if(e===null)return new Date(NaN);if(e===void 0)return new Date;if(e instanceof Date)return new Date(e);if(typeof e==`string`&&!/Z$/i.test(e)){let t=e.match(dt);if(t){let e=t[2]-1||0,n=(t[7]||`0`).substring(0,3);return new Date(t[1],e,t[3]||1,t[4]||0,t[5]||0,t[6]||0,n)}}return new Date(e)}function mt(e,n=`HH:mm:ss`,r={}){return(0,t.computed)(()=>K(q((0,t.toValue)(e)),(0,t.toValue)(n),r))}function J(e,n=1e3,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=null,c=(0,t.shallowRef)(!1);function l(){o&&(clearInterval(o),o=null)}function u(){c.value=!1,l()}function d(){let r=(0,t.toValue)(n);r<=0||(c.value=!0,a&&e(),l(),c.value&&(o=setInterval(e,r)))}return i&&h&&d(),((0,t.isRef)(n)||typeof n==`function`)&&s((0,t.watch)(n,()=>{c.value&&h&&d()})),s(u),{isActive:(0,t.shallowReadonly)(c),pause:u,resume:d}}function ht(e=1e3,n={}){let{controls:r=!1,immediate:i=!0,callback:a}=n,o=(0,t.shallowRef)(0),s=()=>o.value+=1,c=()=>{o.value=0},l=J(a?()=>{s(),a(o.value)}:s,e,{immediate:i});return r?{counter:(0,t.shallowReadonly)(o),reset:c,...l}:(0,t.shallowReadonly)(o)}function gt(e,n={}){var r;let i=(0,t.shallowRef)((r=n.initialValue)==null?null:r);return(0,t.watch)(e,()=>i.value=v(),n),(0,t.shallowReadonly)(i)}function Y(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),c;function l(){c&&(clearTimeout(c),c=void 0)}function u(){o.value=!1,l()}function d(...r){a&&e(),l(),o.value=!0,c=setTimeout(()=>{o.value=!1,c=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,h&&d()),s(u),{isPending:(0,t.shallowReadonly)(o),start:d,stop:u}}function _t(e=1e3,n={}){let{controls:r=!1,callback:i}=n,a=Y(i==null?y:i,e,n),o=(0,t.computed)(()=>!a.isPending.value);return r?{ready:o,...a}:o}function vt(e,n={}){let{method:r=`parseFloat`,radix:i,nanToZero:a}=n;return(0,t.computed)(()=>{let n=(0,t.toValue)(e);return typeof r==`function`?n=r(n):typeof n==`string`&&(n=Number[r](n,i)),a&&Number.isNaN(n)&&(n=0),n})}function yt(e){return(0,t.computed)(()=>`${(0,t.toValue)(e)}`)}function bt(e=!1,n={}){let{truthyValue:r=!0,falsyValue:i=!1}=n,a=(0,t.isRef)(e),o=(0,t.shallowRef)(e);function s(e){if(arguments.length)return o.value=e,o.value;{let e=(0,t.toValue)(r);return o.value=o.value===e?(0,t.toValue)(i):e,o.value}}return a?s:[o,s]}function xt(e,n,r){let i=r!=null&&r.immediate?[]:[...typeof e==`function`?e():Array.isArray(e)?e:(0,t.toValue)(e)];return(0,t.watch)(e,(e,t,r)=>{let a=Array.from({length:i.length}),o=[];for(let t of e){let e=!1;for(let n=0;n<i.length;n++)if(!a[n]&&t===i[n]){a[n]=!0,e=!0;break}e||o.push(t)}let s=i.filter((e,t)=>!a[t]);n(e,i,o,s,r),i=[...e]},r)}function St(e,n,r){let{count:i,...a}=r,o=(0,t.shallowRef)(0),{stop:s,resume:c,pause:l}=H(e,(...e)=>{o.value+=1,o.value>=(0,t.toValue)(i)&&(0,t.nextTick)(()=>s()),n(...e)},a);return{count:o,stop:s,resume:c,pause:l}}function X(e,t,n={}){let{debounce:r=0,maxWait:i=void 0,...a}=n;return H(e,t,{...a,eventFilter:C(r,{maxWait:i})})}let Ct=X;function wt(e,n,r){return(0,t.watch)(e,n,{...r,deep:!0})}function Z(e,n,r={}){let{eventFilter:i=S,...a}=r,o=x(i,n),s,c,l;if(a.flush===`sync`){let n=!1;c=()=>{},s=e=>{n=!0,e(),n=!1},l=(0,t.watch)(e,(...e)=>{n||o(...e)},a)}else{let n=[],r=0,i=0;c=()=>{r=i},n.push((0,t.watch)(e,()=>{i++},{...a,flush:`sync`})),s=e=>{let t=i;e(),r+=i-t},n.push((0,t.watch)(e,(...e)=>{let t=r>0&&r===i;r=0,i=0,!t&&o(...e)},a)),l=()=>{n.forEach(e=>e())}}return{stop:l,ignoreUpdates:s,ignorePrevAsyncUpdates:c}}let Tt=Z;function Et(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}function Q(e,n,r){return(0,t.watch)(e,n,{...r,once:!0})}function $(e,t,n={}){let{throttle:r=0,trailing:i=!0,leading:a=!0,...o}=n;return H(e,t,{...o,eventFilter:w(r,i,a)})}let Dt=$;function Ot(e,t,n={}){let r;function i(){if(!r)return;let e=r;r=void 0,e()}function a(e){r=e}let o=(e,n)=>(i(),t(e,n,a)),s=Z(e,o,n),{ignoreUpdates:c}=s,l=()=>{let t;return c(()=>{t=o(kt(e),At(e))}),t};return{...s,trigger:l}}function kt(e){return(0,t.isReactive)(e)?e:Array.isArray(e)?e.map(e=>(0,t.toValue)(e)):(0,t.toValue)(e)}function At(e){return Array.isArray(e)?e.map(()=>void 0):void 0}function jt(e,n,r){let i=(0,t.watch)(e,(e,a,o)=>{e&&(r!=null&&r.once&&(0,t.nextTick)(()=>i()),n(e,a,o))},{...r,once:!1});return i}e.assert=g,e.autoResetRef=ke,e.bypassFilter=S,e.camelize=xe,e.clamp=ae,e.computedEager=n,e.computedWithControl=i,e.containsProp=D,e.controlledComputed=a,e.controlledRef=Ie,e.createDisposableDirective=o,e.createEventHook=c,e.createFilterWrapper=x,e.createGlobalState=l,e.createInjectionState=p,e.createReactiveFn=Te,e.createRef=m,e.createSharedComposable=j,e.createSingletonPromise=de,e.debounceFilter=C,e.debouncedRef=Ae,e.debouncedWatch=Ct,e.eagerComputed=r,e.extendRef=M,e.formatDate=K,e.get=Se,e.getLifeCycleTarget=A,e.hasOwn=se,e.hyphenate=ye,e.identity=ue,e.ignorableWatch=Tt,e.increaseWithUnit=pe,e.injectLocal=d,e.invoke=fe,e.isClient=h,e.isDef=te,e.isDefined=Ce,e.isIOS=ce,e.isObject=_,e.isWorker=ee,e.makeDestructurable=we,e.noop=y,e.normalizeDate=q,e.notNullish=ne,e.now=ie,e.objectEntries=_e,e.objectOmit=ge,e.objectPick=he,e.pausableFilter=T,e.pausableWatch=Re,e.promiseTimeout=E,e.provideLocal=f,e.pxValue=me,e.rand=oe,e.reactify=N,e.reactifyObject=Ee,e.reactiveComputed=F,e.reactiveOmit=De,e.reactivePick=Oe,e.refAutoReset=I,e.refDebounced=R,e.refDefault=Me,e.refManualReset=Ne,e.refThrottled=B,e.refWithControl=V,e.set=Le,e.syncRef=ze,e.syncRefs=Be,e.throttleFilter=w,e.throttledRef=Pe,e.throttledWatch=Dt,e.timestamp=v,e.toArray=O,e.toReactive=P,e.toRef=b,e.toRefs=Ve,e.tryOnBeforeMount=He,e.tryOnBeforeUnmount=Ue,e.tryOnMounted=We,e.tryOnScopeDispose=s,e.tryOnUnmounted=Ge,e.until=Ke,e.useArrayDifference=Je,e.useArrayEvery=Ye,e.useArrayFilter=Xe,e.useArrayFind=Ze,e.useArrayFindIndex=Qe,e.useArrayFindLast=et,e.useArrayIncludes=nt,e.useArrayJoin=rt,e.useArrayMap=it,e.useArrayReduce=at,e.useArraySome=ot,e.useArrayUnique=lt,e.useCounter=ut,e.useDateFormat=mt,e.useDebounce=je,e.useDebounceFn=L,e.useInterval=ht,e.useIntervalFn=J,e.useLastChanged=gt,e.useThrottle=Fe,e.useThrottleFn=z,e.useTimeout=_t,e.useTimeoutFn=Y,e.useToNumber=vt,e.useToString=yt,e.useToggle=bt,e.watchArray=xt,e.watchAtMost=St,e.watchDebounced=X,e.watchDeep=wt,e.watchIgnorable=Z,e.watchImmediate=Et,e.watchOnce=Q,e.watchPausable=U,e.watchThrottled=$,e.watchTriggerable=Ot,e.watchWithFilter=H,e.whenever=jt})(this.VueUse=this.VueUse||{},Vue);
1
+ (function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function n(e,n){var r;let i=(0,t.shallowRef)();return(0,t.watchEffect)(()=>{i.value=e()},{...n,flush:(r=n==null?void 0:n.flush)==null?`sync`:r}),(0,t.readonly)(i)}let r=n;function i(e,n,r={}){let i,a,o,s=!0,c=()=>{s=!0,o()};(0,t.watch)(e,c,{flush:`sync`,...r});let l=typeof n==`function`?n:n.get,u=typeof n==`function`?void 0:n.set,d=(0,t.customRef)((e,t)=>(a=e,o=t,{get(){return s&&(i=l(i),s=!1),a(),i},set(e){u==null||u(e)}}));return d.trigger=c,d}let a=i;function o(e={}){function n(e){return typeof e==`function`}let r=n(e)?{mounted:e,updated:e}:e,{mounted:i,unmounted:a}=r;if(!n(i))return e;let o=new WeakMap;return{...r,mounted(e,n,r,a){var s;let c=(s=o.get(e))==null?(0,t.effectScope)():s;o.set(e,c),c.run(()=>{i==null||i(e,n,r,a)})},unmounted(e,t,r,i){var s;(s=o.get(e))==null||s.stop(),o.delete(e),n(a)&&a(e,t,r,i)}}}function s(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function c(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return s(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function l(e){let n=!1,r,i=(0,t.effectScope)(!0);return((...t)=>(n||(r=i.run(()=>e(...t)),n=!0),r))}let u=new WeakMap,d=(...e)=>{var n;let r=e[0],i=(n=(0,t.getCurrentInstance)())==null?void 0:n.proxy,a=i==null?(0,t.getCurrentScope)():i;if(a==null&&!(0,t.hasInjectionContext)())throw Error(`injectLocal must be called in setup`);return a&&u.has(a)&&r in u.get(a)?u.get(a)[r]:(0,t.inject)(...e)};function f(e,n){var r;let i=(r=(0,t.getCurrentInstance)())==null?void 0:r.proxy,a=i==null?(0,t.getCurrentScope)():i;if(a==null)throw Error(`provideLocal must be called in setup`);u.has(a)||u.set(a,Object.create(null));let o=u.get(a);return o[e]=n,(0,t.provide)(e,n)}function p(e,t){let n=(t==null?void 0:t.injectionKey)||Symbol(e.name||`InjectionState`),r=t==null?void 0:t.defaultValue;return[(...t)=>{let r=e(...t);return f(n,r),r},()=>d(n,r)]}function m(e,n){return n===!0?(0,t.ref)(e):(0,t.shallowRef)(e)}let h=typeof window<`u`&&typeof document<`u`,ee=typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope,te=e=>e!==void 0,ne=e=>e!=null,g=(e,...t)=>{e||console.warn(...t)},re=Object.prototype.toString,_=e=>re.call(e)===`[object Object]`,ie=()=>Date.now(),v=()=>+Date.now(),ae=(e,t,n)=>Math.min(n,Math.max(t,e)),y=()=>{},oe=(e,t)=>(e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e),se=(e,t)=>Object.hasOwn(e,t),ce=le();function le(){var e,t,n;return h&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)==null?void 0:n.navigator.userAgent))}function b(...e){if(e.length!==1)return(0,t.toRef)(...e);let n=e[0];return typeof n==`function`?(0,t.readonly)((0,t.customRef)(()=>({get:n,set:y}))):(0,t.ref)(n)}function x(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return`cancel`in e&&Object.assign(n,{cancel:e.cancel,flush:e.flush,isPending:e.isPending}),n}let S=e=>e();function C(e,n={}){let r,i,a=y,o=y,s=(0,t.shallowRef)(!1),c=e=>{clearTimeout(e),a(),a=y},l;return Object.assign(u=>{let d=(0,t.toValue)(e),f=(0,t.toValue)(n.maxWait);return r&&c(r),d<=0||f!==void 0&&f<=0?(i&&(c(i),i=void 0),s.value=!1,Promise.resolve(u())):(s.value=!0,new Promise((e,t)=>{a=n.rejectOnCancel?t:e,o=e,l=u,f&&!i&&(i=setTimeout(()=>{r&&c(r),i=void 0,s.value=!1,e(l())},f)),r=setTimeout(()=>{i&&c(i),i=void 0,s.value=!1,e(u())},d)}))},{cancel:()=>{r&&(c(r),r=void 0),i&&(c(i),i=void 0),s.value=!1,o=y},flush:()=>{if(s.value){r&&(clearTimeout(r),r=void 0),i&&(clearTimeout(i),i=void 0),s.value=!1;let e=o;a=y,o=y,e(l())}},isPending:(0,t.shallowReadonly)(s)})}function w(...e){let n=0,r,i=!0,a=y,o,s,c,l,u;!(0,t.isRef)(e[0])&&typeof e[0]==`object`?{delay:s,trailing:c=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[s,c=!0,l=!0,u=!1]=e;let d=()=>{r&&(clearTimeout(r),r=void 0,a(),a=y)};return e=>{let f=(0,t.toValue)(s),p=Date.now()-n,m=()=>o=e();return d(),f<=0?(n=Date.now(),m()):(p>f?(n=Date.now(),(l||!i)&&m()):c&&(o=new Promise((e,t)=>{a=u?t:e,r=setTimeout(()=>{n=Date.now(),i=!0,e(m()),d()},Math.max(0,f-p))})),!l&&!r&&(r=setTimeout(()=>i=!0,f)),i=!1,o)}}function T(e=S,n={}){let{initialState:r=`active`}=n,i=b(r===`active`);function a(){i.value=!1}function o(){i.value=!0}return{isActive:(0,t.shallowReadonly)(i),pause:a,resume:o,eventFilter:(...t)=>{i.value&&e(...t)}}}function E(e,t=!1,n=`Timeout`){return new Promise((r,i)=>{t?setTimeout(i,e,n):setTimeout(r,e)})}function ue(e){return e}function de(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{let e=t;t=void 0,e&&await e},n}function fe(e){return e()}function D(e,...t){return t.some(t=>t in e)}function pe(e,t){var n;if(typeof e==`number`)return e+t;let r=((n=e.match(/^-?\d+\.?\d*/))==null?void 0:n[0])||``,i=e.slice(r.length),a=Number.parseFloat(r)+t;return Number.isNaN(a)?e:a+i}function me(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function he(e,t,n=!1){return t.reduce((t,r)=>(r in e&&(!n||e[r]!==void 0)&&(t[r]=e[r]),t),{})}function ge(e,t,n=!1){return Object.fromEntries(Object.entries(e).filter(([e,r])=>(!n||r!==void 0)&&!t.includes(e)))}function _e(e){return Object.entries(e)}function O(e){return Array.isArray(e)?e:[e]}function k(e){let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))}let ve=/\B([A-Z])/g,ye=k(e=>e.replace(ve,`-$1`).toLowerCase()),be=/-(\w)/g,xe=k(e=>e.replace(be,(e,t)=>t?t.toUpperCase():``));function A(e){return e||(0,t.getCurrentInstance)()}function j(e){if(!h)return e;let n=0,r,i,a=()=>{--n,i&&n<=0&&(i.stop(),r=void 0,i=void 0)};return((...o)=>(n+=1,i||(i=(0,t.effectScope)(!0),r=i.run(()=>e(...o))),s(a),r))}function M(e,n,{enumerable:r=!1,unwrap:i=!0}={}){for(let[a,o]of Object.entries(n))a!==`value`&&((0,t.isRef)(o)&&i?Object.defineProperty(e,a,{get(){return o.value},set(e){o.value=e},enumerable:r}):Object.defineProperty(e,a,{value:o,enumerable:r}));return e}function Se(e,n){return n==null?(0,t.unref)(e):(0,t.unref)(e)[n]}function Ce(e){return(0,t.unref)(e)!=null}function we(e,t){if(typeof Symbol<`u`){let n={...e};return Object.defineProperty(n,Symbol.iterator,{enumerable:!1,value(){let e=0;return{next:()=>({value:t[e++],done:e>t.length})}}}),n}else return Object.assign([...t],e)}function N(e,n){let r=(n==null?void 0:n.computedGetter)===!1?t.unref:t.toValue;return function(...n){return(0,t.computed)(()=>e.apply(this,n.map(e=>r(e))))}}let Te=N;function Ee(e,t={}){let n=[],r;if(Array.isArray(t))n=t;else{r=t;let{includeOwnProperties:i=!0}=t;n.push(...Object.keys(e)),i&&n.push(...Object.getOwnPropertyNames(e))}return Object.fromEntries(n.map(t=>{let n=e[t];return[t,typeof n==`function`?N(n.bind(e),r):n]}))}function P(e){return(0,t.isRef)(e)?(0,t.reactive)(new Proxy({},{get(n,r,i){return(0,t.unref)(Reflect.get(e.value,r,i))},set(n,r,i){return(0,t.isRef)(e.value[r])&&!(0,t.isRef)(i)?e.value[r].value=i:e.value[r]=i,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):(0,t.reactive)(e)}function F(e){return P((0,t.computed)(e))}function De(e,...n){let r=n.flat(),i=r[0];return F(()=>Object.fromEntries(typeof i==`function`?Object.entries((0,t.toRefs)(e)).filter(([e,n])=>!i((0,t.toValue)(n),e)):Object.entries((0,t.toRefs)(e)).filter(e=>!r.includes(e[0]))))}function Oe(e,...n){let r=n.flat(),i=r[0];return F(()=>Object.fromEntries(typeof i==`function`?Object.entries((0,t.toRefs)(e)).filter(([e,n])=>i((0,t.toValue)(n),e)):r.map(t=>[t,b(e,t)])))}function I(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,c=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return s(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=c()}}})}let ke=I;function L(e,t=200,n={}){return x(C(t,n),e)}function R(e,n=200,r={}){let i=(0,t.ref)((0,t.toValue)(e)),a=L(()=>{i.value=e.value},n,r);return(0,t.watch)(e,()=>a()),(0,t.shallowReadonly)(i)}let Ae=R,je=R;function Me(e,n){return(0,t.computed)({get(){var t;return(t=e.value)==null?n:t},set(t){e.value=t}})}function Ne(e){let n=(0,t.toValue)(e),r,i=()=>{n=(0,t.toValue)(e),r()},a=(0,t.customRef)((e,t)=>(r=t,{get(){return e(),n},set(e){n=e,r()}}));return a.reset=i,a}function z(e,t=200,n=!1,r=!0,i=!1){return x(w(t,n,r,i),e)}function B(e,n=200,r=!0,i=!0){if(n<=0)return e;let a=(0,t.ref)((0,t.toValue)(e)),o=z(()=>{a.value=e.value},n,r,i);return(0,t.watch)(e,()=>o()),a}let Pe=B,Fe=B;function V(e,n={}){let r=e,i,a,o=(0,t.customRef)((e,t)=>(i=e,a=t,{get(){return s()},set(e){c(e)}}));function s(e=!0){return e&&i(),r}function c(e,t=!0){var i,o;if(e===r)return;let s=r;((i=n.onBeforeChange)==null?void 0:i.call(n,e,s))!==!1&&(r=e,(o=n.onChanged)==null||o.call(n,e,s),t&&a())}return M(o,{get:s,set:c,untrackedGet:()=>s(!1),silentSet:e=>c(e,!1),peek:()=>s(!1),lay:e=>c(e,!1)},{enumerable:!0})}let Ie=V;function Le(...e){if(e.length===2){let[t,n]=e;t.value=n}if(e.length===3){let[t,n,r]=e;t[n]=r}}function H(e,n,r={}){let{eventFilter:i=S,...a}=r;return(0,t.watch)(e,x(i,n),a)}function U(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=T(r,{initialState:i});return{stop:H(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}let Re=U;function ze(e,t,...[n]){let{flush:r=`sync`,deep:i=!1,immediate:a=!0,direction:o=`both`,transform:s={}}=n||{},c=[],l=`ltr`in s&&s.ltr||(e=>e),u=`rtl`in s&&s.rtl||(e=>e);return(o===`both`||o===`ltr`)&&c.push(U(e,e=>{c.forEach(e=>e.pause()),t.value=l(e),c.forEach(e=>e.resume())},{flush:r,deep:i,immediate:a})),(o===`both`||o===`rtl`)&&c.push(U(t,t=>{c.forEach(e=>e.pause()),e.value=u(t),c.forEach(e=>e.resume())},{flush:r,deep:i,immediate:a})),()=>{c.forEach(e=>e.stop())}}function Be(e,n,r={}){let{flush:i=`sync`,deep:a=!1,immediate:o=!0}=r,s=O(n);return(0,t.watch)(e,e=>s.forEach(t=>t.value=e),{flush:i,deep:a,immediate:o})}function Ve(e,n={}){if(!(0,t.isRef)(e))return(0,t.toRefs)(e);let r=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(let i in e.value)r[i]=(0,t.customRef)(()=>({get(){return e.value[i]},set(r){var a;if((a=(0,t.toValue)(n.replaceRef))==null||a)if(Array.isArray(e.value)){let t=[...e.value];t[i]=r,e.value=t}else{let t={...e.value,[i]:r};Object.setPrototypeOf(t,Object.getPrototypeOf(e.value)),e.value=t}else e.value[i]=r}}));return r}function He(e,n=!0,r){A(r)?(0,t.onBeforeMount)(e,r):n?e():(0,t.nextTick)(e)}function Ue(e,n){A(n)&&(0,t.onBeforeUnmount)(e,n)}function We(e,n=!0,r){A(r)?(0,t.onMounted)(e,r):n?e():(0,t.nextTick)(e)}function Ge(e,n){A(n)&&(0,t.onUnmounted)(e,n)}function W(e,n=!1){function r(r,{flush:i=`sync`,deep:a=!1,timeout:o,throwOnTimeout:s}={}){let c=null,l=[new Promise(o=>{c=(0,t.watch)(e,e=>{r(e)!==n&&(c?c():(0,t.nextTick)(()=>c==null?void 0:c()),o(e))},{flush:i,deep:a,immediate:!0})})];return o!=null&&l.push(E(o,s).then(()=>(0,t.toValue)(e)).finally(()=>c==null?void 0:c())),Promise.race(l)}function i(i,a){if(!(0,t.isRef)(i))return r(e=>e===i,a);let{flush:o=`sync`,deep:s=!1,timeout:c,throwOnTimeout:l}=a==null?{}:a,u=null,d=[new Promise(r=>{u=(0,t.watch)([e,i],([e,i])=>{n!==(e===i)&&(u?u():(0,t.nextTick)(()=>u==null?void 0:u()),r(e))},{flush:o,deep:s,immediate:!0})})];return c!=null&&d.push(E(c,l).then(()=>(0,t.toValue)(e)).finally(()=>(u==null||u(),(0,t.toValue)(e)))),Promise.race(d)}function a(e){return r(e=>!!e,e)}function o(e){return i(null,e)}function s(e){return i(void 0,e)}function c(e){return r(Number.isNaN,e)}function l(e,n){return r(n=>{let r=Array.from(n);return r.includes(e)||r.includes((0,t.toValue)(e))},n)}function u(e){return d(1,e)}function d(e=1,t){let n=-1;return r(()=>(n+=1,n>=e),t)}return Array.isArray((0,t.toValue)(e))?{toMatch:r,toContains:l,changed:u,changedTimes:d,get not(){return W(e,!n)}}:{toMatch:r,toBe:i,toBeTruthy:a,toBeNull:o,toBeNaN:c,toBeUndefined:s,changed:u,changedTimes:d,get not(){return W(e,!n)}}}function Ke(e){return W(e)}function qe(e,t){return e===t}function Je(...e){var n,r;let i=e[0],a=e[1],o=(n=e[2])==null?qe:n,{symmetric:s=!1}=(r=e[3])==null?{}:r;if(typeof o==`string`){let e=o;o=(t,n)=>t[e]===n[e]}let c=(0,t.computed)(()=>(0,t.toValue)(i).filter(e=>(0,t.toValue)(a).findIndex(t=>o(e,t))===-1));if(s){let e=(0,t.computed)(()=>(0,t.toValue)(a).filter(e=>(0,t.toValue)(i).findIndex(t=>o(e,t))===-1));return(0,t.computed)(()=>s?[...(0,t.toValue)(c),...(0,t.toValue)(e)]:(0,t.toValue)(c))}else return c}function Ye(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).every((e,r,i)=>n((0,t.toValue)(e),r,i)))}function Xe(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).filter(n))}function Ze(e,n){return(0,t.computed)(()=>(0,t.toValue)((0,t.toValue)(e).find((e,r,i)=>n((0,t.toValue)(e),r,i))))}function Qe(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).findIndex((e,r,i)=>n((0,t.toValue)(e),r,i)))}function $e(e,t){let n=e.length;for(;n-->0;)if(t(e[n],n,e))return e[n]}function et(e,n){return(0,t.computed)(()=>(0,t.toValue)(Array.prototype.findLast?(0,t.toValue)(e).findLast((e,r,i)=>n((0,t.toValue)(e),r,i)):$e((0,t.toValue)(e),(e,r,i)=>n((0,t.toValue)(e),r,i))))}function tt(e){return _(e)&&D(e,`formIndex`,`comparator`)}function nt(...e){var n;let r=e[0],i=e[1],a=e[2],o=0;if(tt(a)){var s;o=(s=a.fromIndex)==null?0:s,a=a.comparator}if(typeof a==`string`){let e=a;a=(n,r)=>n[e]===(0,t.toValue)(r)}return a=(n=a)==null?((e,n)=>e===(0,t.toValue)(n)):n,(0,t.computed)(()=>(0,t.toValue)(r).slice(o).some((e,n,r)=>a((0,t.toValue)(e),(0,t.toValue)(i),n,(0,t.toValue)(r))))}function rt(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).join((0,t.toValue)(n)))}function it(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).map(e=>(0,t.toValue)(e)).map(n))}function at(e,n,...r){let i=(e,r,i)=>n((0,t.toValue)(e),(0,t.toValue)(r),i);return(0,t.computed)(()=>{let n=(0,t.toValue)(e);return r.length?n.reduce(i,typeof r[0]==`function`?(0,t.toValue)(r[0]()):(0,t.toValue)(r[0])):n.reduce(i)})}function ot(e,n){return(0,t.computed)(()=>(0,t.toValue)(e).some((e,r,i)=>n((0,t.toValue)(e),r,i)))}function st(e){return Array.from(new Set(e))}function ct(e,t){return e.reduce((n,r)=>(n.some(n=>t(r,n,e))||n.push(r),n),[])}function lt(e,n){return(0,t.computed)(()=>{let r=(0,t.toValue)(e).map(e=>(0,t.toValue)(e));return n?ct(r,n):st(r)})}function ut(e=0,n={}){let r=(0,t.unref)(e),i=(0,t.shallowRef)(e),{max:a=1/0,min:o=-1/0}=n,s=(e=1)=>i.value=Math.max(Math.min(a,i.value+e),o),c=(e=1)=>i.value=Math.min(Math.max(o,i.value-e),a),l=()=>i.value,u=e=>i.value=Math.max(o,Math.min(a,e));return{count:(0,t.shallowReadonly)(i),inc:s,dec:c,get:l,set:u,reset:(e=r)=>(r=e,u(e))}}let dt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,ft=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;function pt(e,t,n,r){let i=e<12?`AM`:`PM`;return r&&(i=i.split(``).reduce((e,t)=>e+=`${t}.`,``)),n?i.toLowerCase():i}function G(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function K(e,n,r={}){var i;let a=e.getFullYear(),o=e.getMonth(),s=e.getDate(),c=e.getHours(),l=e.getMinutes(),u=e.getSeconds(),d=e.getMilliseconds(),f=e.getDay(),p=(i=r.customMeridiem)==null?pt:i,m=e=>{var t;return(t=e.split(` `)[1])==null?``:t},h={Yo:()=>G(a),YY:()=>String(a).slice(-2),YYYY:()=>a,M:()=>o+1,Mo:()=>G(o+1),MM:()=>`${o+1}`.padStart(2,`0`),MMM:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{month:`short`}),MMMM:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{month:`long`}),D:()=>String(s),Do:()=>G(s),DD:()=>`${s}`.padStart(2,`0`),H:()=>String(c),Ho:()=>G(c),HH:()=>`${c}`.padStart(2,`0`),h:()=>`${c%12||12}`.padStart(1,`0`),ho:()=>G(c%12||12),hh:()=>`${c%12||12}`.padStart(2,`0`),m:()=>String(l),mo:()=>G(l),mm:()=>`${l}`.padStart(2,`0`),s:()=>String(u),so:()=>G(u),ss:()=>`${u}`.padStart(2,`0`),SSS:()=>`${d}`.padStart(3,`0`),d:()=>f,dd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`narrow`}),ddd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`short`}),dddd:()=>e.toLocaleDateString((0,t.toValue)(r.locales),{weekday:`long`}),A:()=>p(c,l),AA:()=>p(c,l,!1,!0),a:()=>p(c,l,!0),aa:()=>p(c,l,!0,!0),z:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zzz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`shortOffset`})),zzzz:()=>m(e.toLocaleDateString((0,t.toValue)(r.locales),{timeZoneName:`longOffset`}))};return n.replace(ft,(e,t)=>{var n,r;return(n=t==null?(r=h[e])==null?void 0:r.call(h):t)==null?e:n})}function q(e){if(e===null)return new Date(NaN);if(e===void 0)return new Date;if(e instanceof Date)return new Date(e);if(typeof e==`string`&&!/Z$/i.test(e)){let t=e.match(dt);if(t){let e=t[2]-1||0,n=(t[7]||`0`).substring(0,3);return new Date(t[1],e,t[3]||1,t[4]||0,t[5]||0,t[6]||0,n)}}return new Date(e)}function mt(e,n=`HH:mm:ss`,r={}){return(0,t.computed)(()=>K(q((0,t.toValue)(e)),(0,t.toValue)(n),r))}function J(e,n=1e3,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=null,c=(0,t.shallowRef)(!1);function l(){o&&(clearInterval(o),o=null)}function u(){c.value=!1,l()}function d(){let r=(0,t.toValue)(n);r<=0||(c.value=!0,a&&e(),l(),c.value&&(o=setInterval(e,r)))}return i&&h&&d(),((0,t.isRef)(n)||typeof n==`function`)&&s((0,t.watch)(n,()=>{c.value&&h&&d()})),s(u),{isActive:(0,t.shallowReadonly)(c),pause:u,resume:d}}function ht(e=1e3,n={}){let{controls:r=!1,immediate:i=!0,callback:a}=n,o=(0,t.shallowRef)(0),s=()=>o.value+=1,c=()=>{o.value=0},l=J(a?()=>{s(),a(o.value)}:s,e,{immediate:i});return r?{counter:(0,t.shallowReadonly)(o),reset:c,...l}:(0,t.shallowReadonly)(o)}function gt(e,n={}){var r;let i=(0,t.shallowRef)((r=n.initialValue)==null?null:r);return(0,t.watch)(e,()=>i.value=v(),n),(0,t.shallowReadonly)(i)}function Y(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),c;function l(){c&&(clearTimeout(c),c=void 0)}function u(){o.value=!1,l()}function d(...r){a&&e(),l(),o.value=!0,c=setTimeout(()=>{o.value=!1,c=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,h&&d()),s(u),{isPending:(0,t.shallowReadonly)(o),start:d,stop:u}}function _t(e=1e3,n={}){let{controls:r=!1,callback:i}=n,a=Y(i==null?y:i,e,n),o=(0,t.computed)(()=>!a.isPending.value);return r?{ready:o,...a}:o}function vt(e,n={}){let{method:r=`parseFloat`,radix:i,nanToZero:a}=n;return(0,t.computed)(()=>{let n=(0,t.toValue)(e);return typeof r==`function`?n=r(n):typeof n==`string`&&(n=Number[r](n,i)),a&&Number.isNaN(n)&&(n=0),n})}function yt(e){return(0,t.computed)(()=>`${(0,t.toValue)(e)}`)}function bt(e=!1,n={}){let{truthyValue:r=!0,falsyValue:i=!1}=n,a=(0,t.isRef)(e),o=(0,t.shallowRef)(e);function s(e){if(arguments.length)return o.value=e,o.value;{let e=(0,t.toValue)(r);return o.value=o.value===e?(0,t.toValue)(i):e,o.value}}return a?s:[o,s]}function xt(e,n,r){let i=r!=null&&r.immediate?[]:[...typeof e==`function`?e():Array.isArray(e)?e:(0,t.toValue)(e)];return(0,t.watch)(e,(e,t,r)=>{let a=Array.from({length:i.length}),o=[];for(let t of e){let e=!1;for(let n=0;n<i.length;n++)if(!a[n]&&t===i[n]){a[n]=!0,e=!0;break}e||o.push(t)}let s=i.filter((e,t)=>!a[t]);n(e,i,o,s,r),i=[...e]},r)}function St(e,n,r){let{count:i,...a}=r,o=(0,t.shallowRef)(0),{stop:s,resume:c,pause:l}=H(e,(...e)=>{o.value+=1,o.value>=(0,t.toValue)(i)&&(0,t.nextTick)(()=>s()),n(...e)},a);return{count:o,stop:s,resume:c,pause:l}}function X(e,t,n={}){let{debounce:r=0,maxWait:i=void 0,...a}=n;return H(e,t,{...a,eventFilter:C(r,{maxWait:i})})}let Ct=X;function wt(e,n,r){return(0,t.watch)(e,n,{...r,deep:!0})}function Z(e,n,r={}){let{eventFilter:i=S,...a}=r,o=x(i,n),s,c,l;if(a.flush===`sync`){let n=!1;c=()=>{},s=e=>{n=!0,e(),n=!1},l=(0,t.watch)(e,(...e)=>{n||o(...e)},a)}else{let n=[],r=0,i=0;c=()=>{r=i},n.push((0,t.watch)(e,()=>{i++},{...a,flush:`sync`})),s=e=>{let t=i;e(),r+=i-t},n.push((0,t.watch)(e,(...e)=>{let t=r>0&&r===i;r=0,i=0,!t&&o(...e)},a)),l=()=>{n.forEach(e=>e())}}return{stop:l,ignoreUpdates:s,ignorePrevAsyncUpdates:c}}let Tt=Z;function Et(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}function Q(e,n,r){return(0,t.watch)(e,n,{...r,once:!0})}function $(e,t,n={}){let{throttle:r=0,trailing:i=!0,leading:a=!0,...o}=n;return H(e,t,{...o,eventFilter:w(r,i,a)})}let Dt=$;function Ot(e,t,n={}){let r;function i(){if(!r)return;let e=r;r=void 0,e()}function a(e){r=e}let o=(e,n)=>(i(),t(e,n,a)),s=Z(e,o,n),{ignoreUpdates:c}=s,l=()=>{let t;return c(()=>{t=o(kt(e),At(e))}),t};return{...s,trigger:l}}function kt(e){return(0,t.isReactive)(e)?e:Array.isArray(e)?e.map(e=>(0,t.toValue)(e)):(0,t.toValue)(e)}function At(e){return Array.isArray(e)?e.map(()=>void 0):void 0}function jt(e,n,r){let i=(0,t.watch)(e,(e,a,o)=>{e&&(r!=null&&r.once&&(0,t.nextTick)(()=>i()),n(e,a,o))},{...r,once:!1});return i}e.assert=g,e.autoResetRef=ke,e.bypassFilter=S,e.camelize=xe,e.clamp=ae,e.computedEager=n,e.computedWithControl=i,e.containsProp=D,e.controlledComputed=a,e.controlledRef=Ie,e.createDisposableDirective=o,e.createEventHook=c,e.createFilterWrapper=x,e.createGlobalState=l,e.createInjectionState=p,e.createReactiveFn=Te,e.createRef=m,e.createSharedComposable=j,e.createSingletonPromise=de,e.debounceFilter=C,e.debouncedRef=Ae,e.debouncedWatch=Ct,e.eagerComputed=r,e.extendRef=M,e.formatDate=K,e.get=Se,e.getLifeCycleTarget=A,e.hasOwn=se,e.hyphenate=ye,e.identity=ue,e.ignorableWatch=Tt,e.increaseWithUnit=pe,e.injectLocal=d,e.invoke=fe,e.isClient=h,e.isDef=te,e.isDefined=Ce,e.isIOS=ce,e.isObject=_,e.isWorker=ee,e.makeDestructurable=we,e.noop=y,e.normalizeDate=q,e.notNullish=ne,e.now=ie,e.objectEntries=_e,e.objectOmit=ge,e.objectPick=he,e.pausableFilter=T,e.pausableWatch=Re,e.promiseTimeout=E,e.provideLocal=f,e.pxValue=me,e.rand=oe,e.reactify=N,e.reactifyObject=Ee,e.reactiveComputed=F,e.reactiveOmit=De,e.reactivePick=Oe,e.refAutoReset=I,e.refDebounced=R,e.refDefault=Me,e.refManualReset=Ne,e.refThrottled=B,e.refWithControl=V,e.set=Le,e.syncRef=ze,e.syncRefs=Be,e.throttleFilter=w,e.throttledRef=Pe,e.throttledWatch=Dt,e.timestamp=v,e.toArray=O,e.toReactive=P,e.toRef=b,e.toRefs=Ve,e.tryOnBeforeMount=He,e.tryOnBeforeUnmount=Ue,e.tryOnMounted=We,e.tryOnScopeDispose=s,e.tryOnUnmounted=Ge,e.until=Ke,e.useArrayDifference=Je,e.useArrayEvery=Ye,e.useArrayFilter=Xe,e.useArrayFind=Ze,e.useArrayFindIndex=Qe,e.useArrayFindLast=et,e.useArrayIncludes=nt,e.useArrayJoin=rt,e.useArrayMap=it,e.useArrayReduce=at,e.useArraySome=ot,e.useArrayUnique=lt,e.useCounter=ut,e.useDateFormat=mt,e.useDebounce=je,e.useDebounceFn=L,e.useInterval=ht,e.useIntervalFn=J,e.useLastChanged=gt,e.useThrottle=Fe,e.useThrottleFn=z,e.useTimeout=_t,e.useTimeoutFn=Y,e.useToNumber=vt,e.useToString=yt,e.useToggle=bt,e.watchArray=xt,e.watchAtMost=St,e.watchDebounced=X,e.watchDeep=wt,e.watchIgnorable=Z,e.watchImmediate=Et,e.watchOnce=Q,e.watchPausable=U,e.watchThrottled=$,e.watchTriggerable=Ot,e.watchWithFilter=H,e.whenever=jt})(this.VueUse=this.VueUse||{},Vue);
package/dist/index.js CHANGED
@@ -279,7 +279,7 @@ const rand = (min, max) => {
279
279
  return Math.floor(Math.random() * (max - min + 1)) + min;
280
280
  };
281
281
  const hasOwn = (val, key) => Object.hasOwn(val, key);
282
- const isIOS = /* @__PURE__ */ getIsIOS();
282
+ const isIOS = /* #__PURE__ */ getIsIOS();
283
283
  function getIsIOS() {
284
284
  var _window, _window2, _window3;
285
285
  return isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent));
@@ -296,9 +296,6 @@ function toRef(...args) {
296
296
  }
297
297
  //#endregion
298
298
  //#region utils/filters.ts
299
- /**
300
- * @internal
301
- */
302
299
  function createFilterWrapper(filter, fn) {
303
300
  function wrapper(...args) {
304
301
  return new Promise((resolve, reject) => {
@@ -309,6 +306,11 @@ function createFilterWrapper(filter, fn) {
309
306
  })).then(resolve).catch(reject);
310
307
  });
311
308
  }
309
+ if ("cancel" in filter) Object.assign(wrapper, {
310
+ cancel: filter.cancel,
311
+ flush: filter.flush,
312
+ isPending: filter.isPending
313
+ });
312
314
  return wrapper;
313
315
  }
314
316
  const bypassFilter = (invoke) => {
@@ -321,13 +323,15 @@ function debounceFilter(ms, options = {}) {
321
323
  let timer;
322
324
  let maxTimer;
323
325
  let lastRejector = noop;
326
+ let lastResolve = noop;
327
+ const _pending = shallowRef(false);
324
328
  const _clearTimeout = (timer) => {
325
329
  clearTimeout(timer);
326
330
  lastRejector();
327
331
  lastRejector = noop;
328
332
  };
329
333
  let lastInvoker;
330
- const filter = (invoke) => {
334
+ const handler = (invoke) => {
331
335
  const duration = toValue(ms);
332
336
  const maxDuration = toValue(options.maxWait);
333
337
  if (timer) _clearTimeout(timer);
@@ -336,24 +340,60 @@ function debounceFilter(ms, options = {}) {
336
340
  _clearTimeout(maxTimer);
337
341
  maxTimer = void 0;
338
342
  }
343
+ _pending.value = false;
339
344
  return Promise.resolve(invoke());
340
345
  }
346
+ _pending.value = true;
341
347
  return new Promise((resolve, reject) => {
342
348
  lastRejector = options.rejectOnCancel ? reject : resolve;
349
+ lastResolve = resolve;
343
350
  lastInvoker = invoke;
344
351
  if (maxDuration && !maxTimer) maxTimer = setTimeout(() => {
345
352
  if (timer) _clearTimeout(timer);
346
353
  maxTimer = void 0;
354
+ _pending.value = false;
347
355
  resolve(lastInvoker());
348
356
  }, maxDuration);
349
357
  timer = setTimeout(() => {
350
358
  if (maxTimer) _clearTimeout(maxTimer);
351
359
  maxTimer = void 0;
360
+ _pending.value = false;
352
361
  resolve(invoke());
353
362
  }, duration);
354
363
  });
355
364
  };
356
- return filter;
365
+ return Object.assign(handler, {
366
+ cancel: () => {
367
+ if (timer) {
368
+ _clearTimeout(timer);
369
+ timer = void 0;
370
+ }
371
+ if (maxTimer) {
372
+ _clearTimeout(maxTimer);
373
+ maxTimer = void 0;
374
+ }
375
+ _pending.value = false;
376
+ lastResolve = noop;
377
+ },
378
+ flush: () => {
379
+ if (_pending.value) {
380
+ if (timer) {
381
+ clearTimeout(timer);
382
+ timer = void 0;
383
+ }
384
+ if (maxTimer) {
385
+ clearTimeout(maxTimer);
386
+ maxTimer = void 0;
387
+ }
388
+ _pending.value = false;
389
+ const resolve = lastResolve;
390
+ lastRejector = noop;
391
+ lastResolve = noop;
392
+ resolve(lastInvoker());
393
+ }
394
+ },
395
+ isPending: shallowReadonly(_pending)
396
+ });
357
397
  }
358
398
  function throttleFilter(...args) {
359
399
  let lastExec = 0;
@@ -769,9 +809,7 @@ const autoResetRef = refAutoReset;
769
809
  * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
770
810
  * @param options Options
771
811
  *
772
- * @return A new, debounce, function.
773
- *
774
- * @__NO_SIDE_EFFECTS__
812
+ * @return A new, debounced, function with isPending, cancel, and flush properties.
775
813
  */
776
814
  function useDebounceFn(fn, ms = 200, options = {}) {
777
815
  return createFilterWrapper(debounceFilter(ms, options), fn);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vueuse/shared",
3
3
  "type": "module",
4
- "version": "14.3.0",
4
+ "version": "14.4.0",
5
5
  "author": "Anthony Fu <https://github.com/antfu>",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/antfu",