@vueuse/components 10.2.0 → 10.3.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/index.d.cts ADDED
@@ -0,0 +1,650 @@
1
+ import * as vue_demi from 'vue-demi';
2
+ import { ComponentPublicInstance, ObjectDirective, Ref, UnwrapNestedRefs, ComputedRef, FunctionDirective } from 'vue-demi';
3
+ import { MaybeRef, MaybeRefOrGetter, ConfigurableEventFilter, ConfigurableFlush, Awaitable } from '@vueuse/shared';
4
+ import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize as ElementSize$1, UseGeolocationOptions, UseIdleOptions, UseMouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, UseTimeAgoOptions, UseTimestampOptions, UseVirtualListOptions, UseWindowSizeOptions } from '@vueuse/core';
5
+
6
+ interface ConfigurableWindow {
7
+ window?: Window;
8
+ }
9
+
10
+ interface RenderableComponent {
11
+ /**
12
+ * The element that the component should be rendered as
13
+ *
14
+ * @default 'div'
15
+ */
16
+ as?: Object | string;
17
+ }
18
+
19
+ type VueInstance = ComponentPublicInstance;
20
+ type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
21
+ type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeRefOrGetter<T>;
22
+ type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
23
+
24
+ interface OnClickOutsideOptions extends ConfigurableWindow {
25
+ /**
26
+ * List of elements that should not trigger the event.
27
+ */
28
+ ignore?: (MaybeElementRef | string)[];
29
+ /**
30
+ * Use capturing phase for internal event listener.
31
+ * @default true
32
+ */
33
+ capture?: boolean;
34
+ /**
35
+ * Run handler function if focus moves to an iframe.
36
+ * @default false
37
+ */
38
+ detectIframe?: boolean;
39
+ }
40
+ type OnClickOutsideHandler<T extends {
41
+ detectIframe: OnClickOutsideOptions['detectIframe'];
42
+ } = {
43
+ detectIframe: false;
44
+ }> = (evt: T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
45
+
46
+ interface OnClickOutsideProps extends RenderableComponent {
47
+ options?: OnClickOutsideOptions;
48
+ }
49
+ declare const OnClickOutside: vue_demi.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnClickOutsideProps>, {}, {}>;
50
+
51
+ declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
52
+
53
+ type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
54
+ interface OnKeyStrokeOptions {
55
+ eventName?: KeyStrokeEventName;
56
+ target?: MaybeRefOrGetter<EventTarget | null | undefined>;
57
+ passive?: boolean;
58
+ /**
59
+ * Set to `true` to ignore repeated events when the key is being held down.
60
+ *
61
+ * @default false
62
+ */
63
+ dedupe?: MaybeRefOrGetter<boolean>;
64
+ }
65
+
66
+ type BindingValueFunction$7 = (event: KeyboardEvent) => void;
67
+ type BindingValueArray$6 = [BindingValueFunction$7, OnKeyStrokeOptions];
68
+ declare const vOnKeyStroke: ObjectDirective<HTMLElement, BindingValueFunction$7 | BindingValueArray$6>;
69
+
70
+ interface OnLongPressOptions {
71
+ /**
72
+ * Time in ms till `longpress` gets called
73
+ *
74
+ * @default 500
75
+ */
76
+ delay?: number;
77
+ modifiers?: OnLongPressModifiers;
78
+ }
79
+ interface OnLongPressModifiers {
80
+ stop?: boolean;
81
+ once?: boolean;
82
+ prevent?: boolean;
83
+ capture?: boolean;
84
+ self?: boolean;
85
+ }
86
+
87
+ interface OnLongPressProps extends RenderableComponent {
88
+ options?: OnLongPressOptions;
89
+ }
90
+ declare const OnLongPress: vue_demi.DefineComponent<OnLongPressProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnLongPressProps>, {}, {}>;
91
+
92
+ type BindingValueFunction$6 = (evt: PointerEvent) => void;
93
+ type BindingValueArray$5 = [
94
+ BindingValueFunction$6,
95
+ OnLongPressOptions
96
+ ];
97
+ declare const vOnLongPress: ObjectDirective<HTMLElement, BindingValueFunction$6 | BindingValueArray$5>;
98
+
99
+ declare const UseActiveElement: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
100
+ [key: string]: any;
101
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
102
+
103
+ declare const UseBattery: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
104
+ [key: string]: any;
105
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
106
+
107
+ declare const UseBrowserLocation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
108
+ [key: string]: any;
109
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
110
+
111
+ interface StorageLike {
112
+ getItem(key: string): string | null;
113
+ setItem(key: string, value: string): void;
114
+ removeItem(key: string): void;
115
+ }
116
+
117
+ interface Serializer<T> {
118
+ read(raw: string): T;
119
+ write(value: T): string;
120
+ }
121
+ interface UseStorageOptions<T> extends ConfigurableEventFilter, ConfigurableWindow, ConfigurableFlush {
122
+ /**
123
+ * Watch for deep changes
124
+ *
125
+ * @default true
126
+ */
127
+ deep?: boolean;
128
+ /**
129
+ * Listen to storage changes, useful for multiple tabs application
130
+ *
131
+ * @default true
132
+ */
133
+ listenToStorageChanges?: boolean;
134
+ /**
135
+ * Write the default value to the storage when it does not exist
136
+ *
137
+ * @default true
138
+ */
139
+ writeDefaults?: boolean;
140
+ /**
141
+ * Merge the default value with the value read from the storage.
142
+ *
143
+ * When setting it to true, it will perform a **shallow merge** for objects.
144
+ * You can pass a function to perform custom merge (e.g. deep merge), for example:
145
+ *
146
+ * @default false
147
+ */
148
+ mergeDefaults?: boolean | ((storageValue: T, defaults: T) => T);
149
+ /**
150
+ * Custom data serialization
151
+ */
152
+ serializer?: Serializer<T>;
153
+ /**
154
+ * On error callback
155
+ *
156
+ * Default log error to `console.error`
157
+ */
158
+ onError?: (error: unknown) => void;
159
+ /**
160
+ * Use shallow ref as reference
161
+ *
162
+ * @default false
163
+ */
164
+ shallow?: boolean;
165
+ }
166
+
167
+ type BasicColorMode = 'light' | 'dark';
168
+ type BasicColorSchema = BasicColorMode | 'auto';
169
+ interface UseColorModeOptions<T extends string = BasicColorMode> extends UseStorageOptions<T | BasicColorMode> {
170
+ /**
171
+ * CSS Selector for the target element applying to
172
+ *
173
+ * @default 'html'
174
+ */
175
+ selector?: string | MaybeElementRef;
176
+ /**
177
+ * HTML attribute applying the target element
178
+ *
179
+ * @default 'class'
180
+ */
181
+ attribute?: string;
182
+ /**
183
+ * The initial color mode
184
+ *
185
+ * @default 'auto'
186
+ */
187
+ initialValue?: MaybeRefOrGetter<T | BasicColorSchema>;
188
+ /**
189
+ * Prefix when adding value to the attribute
190
+ */
191
+ modes?: Partial<Record<T | BasicColorSchema, string>>;
192
+ /**
193
+ * A custom handler for handle the updates.
194
+ * When specified, the default behavior will be overridden.
195
+ *
196
+ * @default undefined
197
+ */
198
+ onChanged?: (mode: T | BasicColorMode, defaultHandler: ((mode: T | BasicColorMode) => void)) => void;
199
+ /**
200
+ * Custom storage ref
201
+ *
202
+ * When provided, `useStorage` will be skipped
203
+ */
204
+ storageRef?: Ref<T | BasicColorSchema>;
205
+ /**
206
+ * Key to persist the data into localStorage/sessionStorage.
207
+ *
208
+ * Pass `null` to disable persistence
209
+ *
210
+ * @default 'vueuse-color-scheme'
211
+ */
212
+ storageKey?: string | null;
213
+ /**
214
+ * Storage object, can be localStorage or sessionStorage
215
+ *
216
+ * @default localStorage
217
+ */
218
+ storage?: StorageLike;
219
+ /**
220
+ * Emit `auto` mode from state
221
+ *
222
+ * When set to `true`, preferred mode won't be translated into `light` or `dark`.
223
+ * This is useful when the fact that `auto` mode was selected needs to be known.
224
+ *
225
+ * @default undefined
226
+ * @deprecated use `store.value` when `auto` mode needs to be known
227
+ * @see https://vueuse.org/core/useColorMode/#advanced-usage
228
+ */
229
+ emitAuto?: boolean;
230
+ /**
231
+ * Disable transition on switch
232
+ *
233
+ * @see https://paco.me/writing/disable-theme-transitions
234
+ * @default true
235
+ */
236
+ disableTransition?: boolean;
237
+ }
238
+
239
+ declare const UseColorMode: vue_demi.DefineComponent<UseColorModeOptions<BasicColorMode>, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseColorModeOptions<BasicColorMode>>, {}, {}>;
240
+
241
+ declare const UseDark: vue_demi.DefineComponent<UseDarkOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDarkOptions>, {}, {}>;
242
+
243
+ declare const UseDeviceMotion: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
244
+ [key: string]: any;
245
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
246
+
247
+ declare const UseDeviceOrientation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
248
+ [key: string]: any;
249
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
250
+
251
+ declare const UseDevicePixelRatio: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
252
+ [key: string]: any;
253
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
254
+
255
+ declare const UseDevicesList: vue_demi.DefineComponent<UseDevicesListOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDevicesListOptions>, {}, {}>;
256
+
257
+ declare const UseDocumentVisibility: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
258
+ [key: string]: any;
259
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
260
+
261
+ interface UseDraggableProps extends UseDraggableOptions, RenderableComponent {
262
+ /**
263
+ * When provided, use `useStorage` to preserve element's position
264
+ */
265
+ storageKey?: string;
266
+ /**
267
+ * Storage type
268
+ *
269
+ * @default 'local'
270
+ */
271
+ storageType?: 'local' | 'session';
272
+ }
273
+ declare const UseDraggable: vue_demi.DefineComponent<UseDraggableProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDraggableProps>, {}, {}>;
274
+
275
+ interface UseResizeObserverOptions extends ConfigurableWindow {
276
+ /**
277
+ * Sets which box model the observer will observe changes to. Possible values
278
+ * are `content-box` (the default), `border-box` and `device-pixel-content-box`.
279
+ *
280
+ * @default 'content-box'
281
+ */
282
+ box?: ResizeObserverBoxOptions;
283
+ }
284
+
285
+ declare const UseElementBounding: vue_demi.DefineComponent<UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseResizeObserverOptions & RenderableComponent>, {}, {}>;
286
+
287
+ type BindingValueFunction$5 = (state: boolean) => void;
288
+ declare const vElementHover: ObjectDirective<HTMLElement, BindingValueFunction$5>;
289
+
290
+ declare const UseElementSize: vue_demi.DefineComponent<ElementSize$1 & UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ElementSize$1 & UseResizeObserverOptions & RenderableComponent>, {}, {}>;
291
+
292
+ interface ElementSize {
293
+ width: number;
294
+ height: number;
295
+ }
296
+ /**
297
+ * Reactive size of an HTML element.
298
+ *
299
+ * @see https://vueuse.org/useElementSize
300
+ * @param target
301
+ * @param callback
302
+ * @param options
303
+ */
304
+ declare function useElementSize(target: MaybeComputedElementRef, initialSize?: ElementSize, options?: UseResizeObserverOptions): {
305
+ width: vue_demi.Ref<number>;
306
+ height: vue_demi.Ref<number>;
307
+ };
308
+
309
+ type RemoveFirstFromTuple<T extends any[]> = T['length'] extends 0 ? undefined : (((...b: T) => void) extends (a: any, ...b: infer I) => void ? I : []);
310
+ type BindingValueFunction$4 = (size: ElementSize) => void;
311
+ type VElementSizeOptions = RemoveFirstFromTuple<Parameters<typeof useElementSize>>;
312
+ type BindingValueArray$4 = [BindingValueFunction$4, ...VElementSizeOptions];
313
+ declare const vElementSize: ObjectDirective<HTMLElement, BindingValueFunction$4 | BindingValueArray$4>;
314
+
315
+ declare const UseElementVisibility: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
316
+
317
+ interface UseElementVisibilityOptions extends ConfigurableWindow {
318
+ scrollTarget?: MaybeRefOrGetter<HTMLElement | undefined | null>;
319
+ }
320
+
321
+ type BindingValueFunction$3 = (state: boolean) => void;
322
+ type BindingValueArray$3 = [BindingValueFunction$3, UseElementVisibilityOptions];
323
+ declare const vElementVisibility: ObjectDirective<HTMLElement, BindingValueFunction$3 | BindingValueArray$3>;
324
+
325
+ declare const UseEyeDropper: vue_demi.DefineComponent<{
326
+ sRGBHex: StringConstructor;
327
+ }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
328
+ [key: string]: any;
329
+ }>[] | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
330
+ sRGBHex: StringConstructor;
331
+ }>>, {}, {}>;
332
+
333
+ declare const UseFullscreen: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
334
+
335
+ declare const UseGeolocation: vue_demi.DefineComponent<UseGeolocationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseGeolocationOptions>, {}, {}>;
336
+
337
+ declare const UseIdle: vue_demi.DefineComponent<UseIdleOptions & {
338
+ timeout: number;
339
+ }, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseIdleOptions & {
340
+ timeout: number;
341
+ }>, {}, {}>;
342
+
343
+ interface UseImageOptions {
344
+ /** Address of the resource */
345
+ src: string;
346
+ /** Images to use in different situations, e.g., high-resolution displays, small monitors, etc. */
347
+ srcset?: string;
348
+ /** Image sizes for different page layouts */
349
+ sizes?: string;
350
+ /** Image alternative information */
351
+ alt?: string;
352
+ /** Image classes */
353
+ class?: string;
354
+ /** Image loading */
355
+ loading?: HTMLImageElement['loading'];
356
+ /** Image CORS settings */
357
+ crossorigin?: string;
358
+ /** Referrer policy for fetch https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy */
359
+ referrerPolicy?: HTMLImageElement['referrerPolicy'];
360
+ }
361
+
362
+ declare const UseImage: vue_demi.DefineComponent<UseImageOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseImageOptions & RenderableComponent>, {}, {}>;
363
+
364
+ interface UseScrollOptions extends ConfigurableWindow {
365
+ /**
366
+ * Throttle time for scroll event, it’s disabled by default.
367
+ *
368
+ * @default 0
369
+ */
370
+ throttle?: number;
371
+ /**
372
+ * The check time when scrolling ends.
373
+ * This configuration will be setting to (throttle + idle) when the `throttle` is configured.
374
+ *
375
+ * @default 200
376
+ */
377
+ idle?: number;
378
+ /**
379
+ * Offset arrived states by x pixels
380
+ *
381
+ */
382
+ offset?: {
383
+ left?: number;
384
+ right?: number;
385
+ top?: number;
386
+ bottom?: number;
387
+ };
388
+ /**
389
+ * Trigger it when scrolling.
390
+ *
391
+ */
392
+ onScroll?: (e: Event) => void;
393
+ /**
394
+ * Trigger it when scrolling ends.
395
+ *
396
+ */
397
+ onStop?: (e: Event) => void;
398
+ /**
399
+ * Listener options for scroll event.
400
+ *
401
+ * @default {capture: false, passive: true}
402
+ */
403
+ eventListenerOptions?: boolean | AddEventListenerOptions;
404
+ /**
405
+ * Optionally specify a scroll behavior of `auto` (default, not smooth scrolling) or
406
+ * `smooth` (for smooth scrolling) which takes effect when changing the `x` or `y` refs.
407
+ *
408
+ * @default 'auto'
409
+ */
410
+ behavior?: MaybeRefOrGetter<ScrollBehavior>;
411
+ }
412
+ /**
413
+ * Reactive scroll.
414
+ *
415
+ * @see https://vueuse.org/useScroll
416
+ * @param element
417
+ * @param options
418
+ */
419
+ declare function useScroll(element: MaybeRefOrGetter<HTMLElement | SVGElement | Window | Document | null | undefined>, options?: UseScrollOptions): {
420
+ x: vue_demi.WritableComputedRef<number>;
421
+ y: vue_demi.WritableComputedRef<number>;
422
+ isScrolling: vue_demi.Ref<boolean>;
423
+ arrivedState: {
424
+ left: boolean;
425
+ right: boolean;
426
+ top: boolean;
427
+ bottom: boolean;
428
+ };
429
+ directions: {
430
+ left: boolean;
431
+ right: boolean;
432
+ top: boolean;
433
+ bottom: boolean;
434
+ };
435
+ measure(): void;
436
+ };
437
+ type UseScrollReturn = ReturnType<typeof useScroll>;
438
+
439
+ interface UseInfiniteScrollOptions extends UseScrollOptions {
440
+ /**
441
+ * The minimum distance between the bottom of the element and the bottom of the viewport
442
+ *
443
+ * @default 0
444
+ */
445
+ distance?: number;
446
+ /**
447
+ * The direction in which to listen the scroll.
448
+ *
449
+ * @default 'bottom'
450
+ */
451
+ direction?: 'top' | 'bottom' | 'left' | 'right';
452
+ /**
453
+ * The interval time between two load more (to avoid too many invokes).
454
+ *
455
+ * @default 100
456
+ */
457
+ interval?: number;
458
+ }
459
+ /**
460
+ * Reactive infinite scroll.
461
+ *
462
+ * @see https://vueuse.org/useInfiniteScroll
463
+ */
464
+ declare function useInfiniteScroll(element: MaybeRefOrGetter<HTMLElement | SVGElement | Window | Document | null | undefined>, onLoadMore: (state: UnwrapNestedRefs<ReturnType<typeof useScroll>>) => Awaitable<void>, options?: UseInfiniteScrollOptions): {
465
+ isLoading: vue_demi.ComputedRef<boolean>;
466
+ };
467
+
468
+ type BindingValueFunction$2 = Parameters<typeof useInfiniteScroll>[1];
469
+ type BindingValueArray$2 = [BindingValueFunction$2, UseInfiniteScrollOptions];
470
+ declare const vInfiniteScroll: ObjectDirective<HTMLElement, BindingValueFunction$2 | BindingValueArray$2>;
471
+
472
+ interface UseIntersectionObserverOptions extends ConfigurableWindow {
473
+ /**
474
+ * Start the IntersectionObserver immediately on creation
475
+ *
476
+ * @default true
477
+ */
478
+ immediate?: boolean;
479
+ /**
480
+ * The Element or Document whose bounds are used as the bounding box when testing for intersection.
481
+ */
482
+ root?: MaybeComputedElementRef;
483
+ /**
484
+ * A string which specifies a set of offsets to add to the root's bounding_box when calculating intersections.
485
+ */
486
+ rootMargin?: string;
487
+ /**
488
+ * Either a single number or an array of numbers between 0.0 and 1.
489
+ */
490
+ threshold?: number | number[];
491
+ }
492
+
493
+ type BindingValueFunction$1 = IntersectionObserverCallback;
494
+ type BindingValueArray$1 = [BindingValueFunction$1, UseIntersectionObserverOptions];
495
+ declare const vIntersectionObserver: ObjectDirective<HTMLElement, BindingValueFunction$1 | BindingValueArray$1>;
496
+
497
+ declare const UseMouse: vue_demi.DefineComponent<UseMouseOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseMouseOptions>, {}, {}>;
498
+
499
+ declare const UseMouseInElement: vue_demi.DefineComponent<MouseInElementOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<MouseInElementOptions & RenderableComponent>, {}, {}>;
500
+
501
+ declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions, "target"> & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<MousePressedOptions, "target"> & RenderableComponent>, {}, {}>;
502
+
503
+ declare const UseNetwork: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
504
+ [key: string]: any;
505
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
506
+
507
+ declare const UseNow: vue_demi.DefineComponent<Omit<UseNowOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseNowOptions<true>, "controls">>, {}, {}>;
508
+
509
+ interface UseObjectUrlProps {
510
+ object: Blob | MediaSource | undefined;
511
+ }
512
+ declare const UseObjectUrl: vue_demi.DefineComponent<UseObjectUrlProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseObjectUrlProps>, {}, {}>;
513
+
514
+ interface UseOffsetPaginationOptions {
515
+ /**
516
+ * Total number of items.
517
+ */
518
+ total?: MaybeRefOrGetter<number>;
519
+ /**
520
+ * The number of items to display per page.
521
+ * @default 10
522
+ */
523
+ pageSize?: MaybeRefOrGetter<number>;
524
+ /**
525
+ * The current page number.
526
+ * @default 1
527
+ */
528
+ page?: MaybeRef<number>;
529
+ /**
530
+ * Callback when the `page` change.
531
+ */
532
+ onPageChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
533
+ /**
534
+ * Callback when the `pageSize` change.
535
+ */
536
+ onPageSizeChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
537
+ /**
538
+ * Callback when the `pageCount` change.
539
+ */
540
+ onPageCountChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
541
+ }
542
+ interface UseOffsetPaginationReturn {
543
+ currentPage: Ref<number>;
544
+ currentPageSize: Ref<number>;
545
+ pageCount: ComputedRef<number>;
546
+ isFirstPage: ComputedRef<boolean>;
547
+ isLastPage: ComputedRef<boolean>;
548
+ prev: () => void;
549
+ next: () => void;
550
+ }
551
+
552
+ declare const UseOffsetPagination: vue_demi.DefineComponent<UseOffsetPaginationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseOffsetPaginationOptions>, {}, {}>;
553
+
554
+ declare const UseOnline: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
555
+ [key: string]: any;
556
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
557
+
558
+ declare const UsePageLeave: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
559
+ [key: string]: any;
560
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
561
+
562
+ declare const UsePointer: vue_demi.DefineComponent<Omit<UsePointerOptions, "target"> & {
563
+ target: 'window' | 'self';
564
+ }, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UsePointerOptions, "target"> & {
565
+ target: 'window' | 'self';
566
+ }>, {}, {}>;
567
+
568
+ declare const UsePointerLock: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
569
+
570
+ declare const UsePreferredColorScheme: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
571
+ [key: string]: any;
572
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
573
+
574
+ declare const UsePreferredContrast: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
575
+ [key: string]: any;
576
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
577
+
578
+ declare const UsePreferredDark: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
579
+ [key: string]: any;
580
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
581
+
582
+ declare const UsePreferredLanguages: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
583
+ [key: string]: any;
584
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
585
+
586
+ declare const UsePreferredReducedMotion: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
587
+ [key: string]: any;
588
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
589
+
590
+ declare const UseScreenSafeArea: vue_demi.DefineComponent<{
591
+ top: BooleanConstructor;
592
+ right: BooleanConstructor;
593
+ bottom: BooleanConstructor;
594
+ left: BooleanConstructor;
595
+ }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
596
+ [key: string]: any;
597
+ }> | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
598
+ top: BooleanConstructor;
599
+ right: BooleanConstructor;
600
+ bottom: BooleanConstructor;
601
+ left: BooleanConstructor;
602
+ }>>, {
603
+ top: boolean;
604
+ left: boolean;
605
+ right: boolean;
606
+ bottom: boolean;
607
+ }, {}>;
608
+
609
+ type BindingValueFunction = (state: UseScrollReturn) => void;
610
+ type BindingValueArray = [BindingValueFunction, UseScrollOptions];
611
+ declare const vScroll: ObjectDirective<HTMLElement, BindingValueFunction | BindingValueArray>;
612
+
613
+ declare const vScrollLock: FunctionDirective<HTMLElement, boolean>;
614
+
615
+ interface UseTimeAgoComponentOptions extends Omit<UseTimeAgoOptions<true>, 'controls'> {
616
+ time: MaybeRef<Date | number | string>;
617
+ }
618
+ declare const UseTimeAgo: vue_demi.DefineComponent<UseTimeAgoComponentOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseTimeAgoComponentOptions>, {}, {}>;
619
+
620
+ declare const UseTimestamp: vue_demi.DefineComponent<Omit<UseTimestampOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseTimestampOptions<true>, "controls">>, {}, {}>;
621
+
622
+ interface UseVirtualListProps {
623
+ /**
624
+ * data of scrollable list
625
+ *
626
+ * @default []
627
+ */
628
+ list: Array<any>;
629
+ /**
630
+ * useVirtualList's options
631
+ *
632
+ * @default {}
633
+ */
634
+ options: UseVirtualListOptions;
635
+ /**
636
+ * virtualList's height
637
+ *
638
+ * @default 300px
639
+ */
640
+ height: string;
641
+ }
642
+ declare const UseVirtualList: vue_demi.DefineComponent<UseVirtualListProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseVirtualListProps>, {}, {}>;
643
+
644
+ declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
645
+ [key: string]: any;
646
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
647
+
648
+ declare const UseWindowSize: vue_demi.DefineComponent<UseWindowSizeOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseWindowSizeOptions>, {}, {}>;
649
+
650
+ export { OnClickOutside, OnClickOutsideProps, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseObjectUrlProps, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };