@vueuse/components 7.5.2 → 7.6.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.cjs CHANGED
@@ -63,14 +63,22 @@ function useEventListener(...args) {
63
63
  }
64
64
 
65
65
  function onClickOutside(target, handler, options = {}) {
66
- const { window = defaultWindow } = options;
66
+ const { window = defaultWindow, ignore } = options;
67
67
  if (!window)
68
68
  return;
69
69
  const shouldListen = vueDemi.ref(true);
70
70
  const listener = (event) => {
71
71
  const el = unrefElement(target);
72
- if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
72
+ const composedPath = event.composedPath();
73
+ if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
73
74
  return;
75
+ if (ignore && ignore.length > 0) {
76
+ if (ignore.some((target2) => {
77
+ const el2 = unrefElement(target2);
78
+ return el2 && (event.target === el2 || composedPath.includes(el2));
79
+ }))
80
+ return;
81
+ }
74
82
  handler(event);
75
83
  };
76
84
  const cleanup = [
@@ -88,6 +96,49 @@ const VOnClickOutside = (el, binding) => {
88
96
  onClickOutside(el, binding.value);
89
97
  };
90
98
 
99
+ const DEFAULT_DELAY = 500;
100
+ function onLongPress(target, handler, options) {
101
+ const elementRef = vueDemi.computed(() => core.unrefElement(target));
102
+ let timeout = null;
103
+ function clear() {
104
+ if (timeout != null) {
105
+ clearTimeout(timeout);
106
+ timeout = null;
107
+ }
108
+ }
109
+ function onDown(ev) {
110
+ var _a;
111
+ clear();
112
+ timeout = setTimeout(() => handler(ev), (_a = options == null ? void 0 : options.delay) != null ? _a : DEFAULT_DELAY);
113
+ }
114
+ core.useEventListener(elementRef, "pointerdown", onDown);
115
+ core.useEventListener(elementRef, "pointerup", clear);
116
+ core.useEventListener(elementRef, "pointerleave", clear);
117
+ }
118
+
119
+ const OnLongPress = vueDemi.defineComponent({
120
+ name: "OnLongPress",
121
+ props: ["as", "options"],
122
+ emits: ["trigger"],
123
+ setup(props, { slots, emit }) {
124
+ const target = vueDemi.ref();
125
+ onLongPress(target, (e) => {
126
+ emit("trigger", e);
127
+ }, props.options);
128
+ return () => {
129
+ if (slots.default)
130
+ return vueDemi.h(props.as || "div", { ref: target }, slots.default());
131
+ };
132
+ }
133
+ });
134
+
135
+ const VOnLongPress = (el, binding) => {
136
+ if (typeof binding.value === "function")
137
+ onLongPress(el, binding.value);
138
+ else
139
+ onLongPress(el, binding.value.handler, binding.value.options);
140
+ };
141
+
91
142
  const UseActiveElement = vueDemi.defineComponent({
92
143
  name: "UseActiveElement",
93
144
  setup(props, { slots }) {
@@ -123,9 +174,10 @@ const UseBrowserLocation = vueDemi.defineComponent({
123
174
  }
124
175
  });
125
176
 
177
+ const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
126
178
  const globalKey = "__vueuse_ssr_handlers__";
127
- globalThis[globalKey] = globalThis[globalKey] || {};
128
- const handlers = globalThis[globalKey];
179
+ _global[globalKey] = _global[globalKey] || {};
180
+ const handlers = _global[globalKey];
129
181
  function getSSRHandler(key, fallback) {
130
182
  return handlers[key] || fallback;
131
183
  }
@@ -164,10 +216,7 @@ const StorageSerializers = {
164
216
  write: (v) => JSON.stringify(Array.from(v.entries()))
165
217
  }
166
218
  };
167
- function useStorage(key, initialValue, storage = getSSRHandler("getDefaultStorage", () => {
168
- var _a;
169
- return (_a = defaultWindow) == null ? void 0 : _a.localStorage;
170
- })(), options = {}) {
219
+ function useStorage(key, initialValue, storage, options = {}) {
171
220
  var _a;
172
221
  const {
173
222
  flush = "pre",
@@ -185,6 +234,16 @@ function useStorage(key, initialValue, storage = getSSRHandler("getDefaultStorag
185
234
  const type = guessSerializerType(rawInit);
186
235
  const data = (shallow ? vueDemi.shallowRef : vueDemi.ref)(initialValue);
187
236
  const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];
237
+ if (!storage) {
238
+ try {
239
+ storage = getSSRHandler("getDefaultStorage", () => {
240
+ var _a2;
241
+ return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;
242
+ })();
243
+ } catch (e) {
244
+ onError(e);
245
+ }
246
+ }
188
247
  function read(event) {
189
248
  if (!storage || event && event.key !== key)
190
249
  return;
@@ -258,19 +317,19 @@ function usePreferredDark(options) {
258
317
  return useMediaQuery("(prefers-color-scheme: dark)", options);
259
318
  }
260
319
 
261
- var __defProp$7 = Object.defineProperty;
262
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
263
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
264
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
265
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
266
- var __spreadValues$7 = (a, b) => {
320
+ var __defProp$8 = Object.defineProperty;
321
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
322
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
323
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
324
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
325
+ var __spreadValues$8 = (a, b) => {
267
326
  for (var prop in b || (b = {}))
268
- if (__hasOwnProp$7.call(b, prop))
269
- __defNormalProp$7(a, prop, b[prop]);
270
- if (__getOwnPropSymbols$7)
271
- for (var prop of __getOwnPropSymbols$7(b)) {
272
- if (__propIsEnum$7.call(b, prop))
273
- __defNormalProp$7(a, prop, b[prop]);
327
+ if (__hasOwnProp$8.call(b, prop))
328
+ __defNormalProp$8(a, prop, b[prop]);
329
+ if (__getOwnPropSymbols$8)
330
+ for (var prop of __getOwnPropSymbols$8(b)) {
331
+ if (__propIsEnum$8.call(b, prop))
332
+ __defNormalProp$8(a, prop, b[prop]);
274
333
  }
275
334
  return a;
276
335
  };
@@ -279,15 +338,12 @@ function useColorMode(options = {}) {
279
338
  selector = "html",
280
339
  attribute = "class",
281
340
  window = defaultWindow,
282
- storage = getSSRHandler("getDefaultStorage", () => {
283
- var _a;
284
- return (_a = defaultWindow) == null ? void 0 : _a.localStorage;
285
- })(),
341
+ storage,
286
342
  storageKey = "vueuse-color-scheme",
287
343
  listenToStorageChanges = true,
288
344
  storageRef
289
345
  } = options;
290
- const modes = __spreadValues$7({
346
+ const modes = __spreadValues$8({
291
347
  auto: "",
292
348
  light: "light",
293
349
  dark: "dark"
@@ -425,29 +481,30 @@ const UseDocumentVisibility = vueDemi.defineComponent({
425
481
  }
426
482
  });
427
483
 
428
- var __defProp$6 = Object.defineProperty;
429
- var __defProps$5 = Object.defineProperties;
430
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
431
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
432
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
433
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
434
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
435
- var __spreadValues$6 = (a, b) => {
484
+ var __defProp$7 = Object.defineProperty;
485
+ var __defProps$6 = Object.defineProperties;
486
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
487
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
488
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
489
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
490
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
491
+ var __spreadValues$7 = (a, b) => {
436
492
  for (var prop in b || (b = {}))
437
- if (__hasOwnProp$6.call(b, prop))
438
- __defNormalProp$6(a, prop, b[prop]);
439
- if (__getOwnPropSymbols$6)
440
- for (var prop of __getOwnPropSymbols$6(b)) {
441
- if (__propIsEnum$6.call(b, prop))
442
- __defNormalProp$6(a, prop, b[prop]);
493
+ if (__hasOwnProp$7.call(b, prop))
494
+ __defNormalProp$7(a, prop, b[prop]);
495
+ if (__getOwnPropSymbols$7)
496
+ for (var prop of __getOwnPropSymbols$7(b)) {
497
+ if (__propIsEnum$7.call(b, prop))
498
+ __defNormalProp$7(a, prop, b[prop]);
443
499
  }
444
500
  return a;
445
501
  };
446
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
502
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
447
503
  const UseDraggable = vueDemi.defineComponent({
448
504
  name: "UseDraggable",
449
505
  props: [
450
506
  "storageKey",
507
+ "storageType",
451
508
  "initialValue",
452
509
  "exact",
453
510
  "preventDefault",
@@ -457,7 +514,7 @@ const UseDraggable = vueDemi.defineComponent({
457
514
  setup(props, { slots }) {
458
515
  const target = vueDemi.ref();
459
516
  const initialValue = props.storageKey ? core.useStorage(props.storageKey, vueDemi.unref(props.initialValue) || { x: 0, y: 0 }, core.isClient ? props.storageType === "session" ? sessionStorage : localStorage : void 0) : props.initialValue || { x: 0, y: 0 };
460
- const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$5(__spreadValues$6({}, props), {
517
+ const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$6(__spreadValues$7({}, props), {
461
518
  initialValue
462
519
  })));
463
520
  return () => {
@@ -584,31 +641,31 @@ const UseMouseInElement = vueDemi.defineComponent({
584
641
  }
585
642
  });
586
643
 
587
- var __defProp$5 = Object.defineProperty;
588
- var __defProps$4 = Object.defineProperties;
589
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
590
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
591
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
592
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
593
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
594
- var __spreadValues$5 = (a, b) => {
644
+ var __defProp$6 = Object.defineProperty;
645
+ var __defProps$5 = Object.defineProperties;
646
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
647
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
648
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
649
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
650
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
651
+ var __spreadValues$6 = (a, b) => {
595
652
  for (var prop in b || (b = {}))
596
- if (__hasOwnProp$5.call(b, prop))
597
- __defNormalProp$5(a, prop, b[prop]);
598
- if (__getOwnPropSymbols$5)
599
- for (var prop of __getOwnPropSymbols$5(b)) {
600
- if (__propIsEnum$5.call(b, prop))
601
- __defNormalProp$5(a, prop, b[prop]);
653
+ if (__hasOwnProp$6.call(b, prop))
654
+ __defNormalProp$6(a, prop, b[prop]);
655
+ if (__getOwnPropSymbols$6)
656
+ for (var prop of __getOwnPropSymbols$6(b)) {
657
+ if (__propIsEnum$6.call(b, prop))
658
+ __defNormalProp$6(a, prop, b[prop]);
602
659
  }
603
660
  return a;
604
661
  };
605
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
662
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
606
663
  const UseMousePressed = vueDemi.defineComponent({
607
664
  name: "UseMousePressed",
608
665
  props: ["touch", "initialValue", "as"],
609
666
  setup(props, { slots }) {
610
667
  const target = vueDemi.ref();
611
- const data = vueDemi.reactive(core.useMousePressed(__spreadProps$4(__spreadValues$5({}, props), { target })));
668
+ const data = vueDemi.reactive(core.useMousePressed(__spreadProps$5(__spreadValues$6({}, props), { target })));
612
669
  return () => {
613
670
  if (slots.default)
614
671
  return vueDemi.h(props.as || "div", { ref: target }, slots.default(data));
@@ -627,6 +684,37 @@ const UseNetwork = vueDemi.defineComponent({
627
684
  }
628
685
  });
629
686
 
687
+ var __defProp$5 = Object.defineProperty;
688
+ var __defProps$4 = Object.defineProperties;
689
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
690
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
691
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
692
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
693
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
694
+ var __spreadValues$5 = (a, b) => {
695
+ for (var prop in b || (b = {}))
696
+ if (__hasOwnProp$5.call(b, prop))
697
+ __defNormalProp$5(a, prop, b[prop]);
698
+ if (__getOwnPropSymbols$5)
699
+ for (var prop of __getOwnPropSymbols$5(b)) {
700
+ if (__propIsEnum$5.call(b, prop))
701
+ __defNormalProp$5(a, prop, b[prop]);
702
+ }
703
+ return a;
704
+ };
705
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
706
+ const UseNow = vueDemi.defineComponent({
707
+ name: "UseNow",
708
+ props: ["interval"],
709
+ setup(props, { slots }) {
710
+ const data = vueDemi.reactive(core.useNow(__spreadProps$4(__spreadValues$5({}, props), { controls: true })));
711
+ return () => {
712
+ if (slots.default)
713
+ return slots.default(data);
714
+ };
715
+ }
716
+ });
717
+
630
718
  var __defProp$4 = Object.defineProperty;
631
719
  var __defProps$3 = Object.defineProperties;
632
720
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
@@ -646,11 +734,39 @@ var __spreadValues$4 = (a, b) => {
646
734
  return a;
647
735
  };
648
736
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
649
- const UseNow = vueDemi.defineComponent({
650
- name: "UseNow",
651
- props: ["interval"],
652
- setup(props, { slots }) {
653
- const data = vueDemi.reactive(core.useNow(__spreadProps$3(__spreadValues$4({}, props), { controls: true })));
737
+ const UseOffsetPagination = vueDemi.defineComponent({
738
+ name: "UseOffsetPagination",
739
+ props: [
740
+ "total",
741
+ "page",
742
+ "pageSize",
743
+ "onPageChange",
744
+ "onPageSizeChange",
745
+ "onPageCountChange"
746
+ ],
747
+ emits: [
748
+ "page-change",
749
+ "page-size-change",
750
+ "page-count-change"
751
+ ],
752
+ setup(props, { slots, emit }) {
753
+ const data = vueDemi.reactive(core.useOffsetPagination(__spreadProps$3(__spreadValues$4({}, props), {
754
+ onPageChange(...args) {
755
+ var _a;
756
+ (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);
757
+ emit("page-change", ...args);
758
+ },
759
+ onPageSizeChange(...args) {
760
+ var _a;
761
+ (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);
762
+ emit("page-size-change", ...args);
763
+ },
764
+ onPageCountChange(...args) {
765
+ var _a;
766
+ (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);
767
+ emit("page-count-change", ...args);
768
+ }
769
+ })));
654
770
  return () => {
655
771
  if (slots.default)
656
772
  return slots.default(data);
@@ -974,6 +1090,7 @@ const UseWindowSize = vueDemi.defineComponent({
974
1090
  });
975
1091
 
976
1092
  exports.OnClickOutside = OnClickOutside;
1093
+ exports.OnLongPress = OnLongPress;
977
1094
  exports.UseActiveElement = UseActiveElement;
978
1095
  exports.UseBattery = UseBattery;
979
1096
  exports.UseBrowserLocation = UseBrowserLocation;
@@ -997,6 +1114,7 @@ exports.UseMouseInElement = UseMouseInElement;
997
1114
  exports.UseMousePressed = UseMousePressed;
998
1115
  exports.UseNetwork = UseNetwork;
999
1116
  exports.UseNow = UseNow;
1117
+ exports.UseOffsetPagination = UseOffsetPagination;
1000
1118
  exports.UseOnline = UseOnline;
1001
1119
  exports.UsePageLeave = UsePageLeave;
1002
1120
  exports.UsePointer = UsePointer;
@@ -1010,3 +1128,4 @@ exports.UseVirtualList = UseVirtualList;
1010
1128
  exports.UseWindowFocus = UseWindowFocus;
1011
1129
  exports.UseWindowSize = UseWindowSize;
1012
1130
  exports.VOnClickOutside = VOnClickOutside;
1131
+ exports.VOnLongPress = VOnLongPress;
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as vue_demi from 'vue-demi';
2
- import { FunctionDirective, Ref } from 'vue-demi';
3
- import { ConfigurableEventFilter, ConfigurableFlush, MaybeRef } from '@vueuse/shared';
4
- import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, UseTimeAgoOptions, TimestampOptions, UseVirtualListOptions, WindowSizeOptions } from '@vueuse/core';
2
+ import { FunctionDirective, Ref, UnwrapNestedRefs, ComputedRef } from 'vue-demi';
3
+ import { ConfigurableEventFilter, ConfigurableFlush, MaybeRef as MaybeRef$1 } from '@vueuse/shared';
4
+ import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, MaybeRef, UsePointerOptions, UseTimeAgoOptions, TimestampOptions, UseVirtualListOptions, WindowSizeOptions } from '@vueuse/core';
5
5
 
6
6
  interface ConfigurableWindow {
7
7
  window?: Window;
@@ -23,17 +23,38 @@ declare const OnClickOutside: vue_demi.DefineComponent<RenderableComponent, {},
23
23
  */
24
24
  declare const VOnClickOutside: FunctionDirective<any, (evt: PointerEvent) => void>;
25
25
 
26
+ interface OnLongPressOptions {
27
+ /**
28
+ * Time in ms till `longpress` gets called
29
+ *
30
+ * @default 500
31
+ */
32
+ delay?: number;
33
+ }
34
+
35
+ interface OnLongPressProps extends RenderableComponent {
36
+ options?: OnLongPressOptions;
37
+ }
38
+ declare const OnLongPress: vue_demi.DefineComponent<OnLongPressProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnLongPressProps>, {}>;
39
+
40
+ declare type BindingValueFunction = (evt: PointerEvent) => void;
41
+ interface BindingValueObject {
42
+ handler: BindingValueFunction;
43
+ options: OnLongPressOptions;
44
+ }
45
+ declare const VOnLongPress: FunctionDirective<HTMLElement, BindingValueFunction | BindingValueObject>;
46
+
26
47
  declare const UseActiveElement: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
27
48
  [key: string]: any;
28
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
49
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
29
50
 
30
51
  declare const UseBattery: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
31
52
  [key: string]: any;
32
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
53
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
33
54
 
34
55
  declare const UseBrowserLocation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
35
56
  [key: string]: any;
36
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
57
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
37
58
 
38
59
  interface StorageLike {
39
60
  getItem(key: string): string | null;
@@ -41,10 +62,10 @@ interface StorageLike {
41
62
  removeItem(key: string): void;
42
63
  }
43
64
 
44
- declare type Serializer<T> = {
65
+ interface Serializer<T> {
45
66
  read(raw: string): T;
46
67
  write(value: T): string;
47
- };
68
+ }
48
69
  interface StorageOptions<T> extends ConfigurableEventFilter, ConfigurableWindow, ConfigurableFlush {
49
70
  /**
50
71
  * Watch for deep changes
@@ -59,7 +80,7 @@ interface StorageOptions<T> extends ConfigurableEventFilter, ConfigurableWindow,
59
80
  */
60
81
  listenToStorageChanges?: boolean;
61
82
  /**
62
- * Write the default value to the storage when it does not existed
83
+ * Write the default value to the storage when it does not exist
63
84
  *
64
85
  * @default true
65
86
  */
@@ -135,21 +156,21 @@ declare const UseDark: vue_demi.DefineComponent<UseDarkOptions, {}, {}, {}, {},
135
156
 
136
157
  declare const UseDeviceMotion: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
137
158
  [key: string]: any;
138
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
159
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
139
160
 
140
161
  declare const UseDeviceOrientation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
141
162
  [key: string]: any;
142
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
163
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
143
164
 
144
165
  declare const UseDevicePixelRatio: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
145
166
  [key: string]: any;
146
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
167
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
147
168
 
148
169
  declare const UseDevicesList: vue_demi.DefineComponent<UseDevicesListOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDevicesListOptions>, {}>;
149
170
 
150
171
  declare const UseDocumentVisibility: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
151
172
  [key: string]: any;
152
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
173
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
153
174
 
154
175
  interface UseDraggableProps extends UseDraggableOptions, RenderableComponent {
155
176
  /**
@@ -185,11 +206,9 @@ declare const UseEyeDropper: vue_demi.DefineComponent<{
185
206
  sRGBHex: StringConstructor;
186
207
  }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
187
208
  [key: string]: any;
188
- }>[] | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, Record<string, any>, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
189
- sRGBHex?: unknown;
190
- } & {} & {
191
- sRGBHex?: string | undefined;
192
- }>, {}>;
209
+ }>[] | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, Record<string, any>, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
210
+ sRGBHex: StringConstructor;
211
+ }>>, {}>;
193
212
 
194
213
  declare const UseFullscreen: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
195
214
 
@@ -209,17 +228,57 @@ declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions
209
228
 
210
229
  declare const UseNetwork: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
211
230
  [key: string]: any;
212
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
231
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
213
232
 
214
233
  declare const UseNow: vue_demi.DefineComponent<Omit<UseNowOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseNowOptions<true>, "controls">>, {}>;
215
234
 
235
+ interface UseOffsetPaginationOptions {
236
+ /**
237
+ * Total number of items.
238
+ */
239
+ total?: MaybeRef<number>;
240
+ /**
241
+ * The number of items to display per page.
242
+ * @default 10
243
+ */
244
+ pageSize?: MaybeRef<number>;
245
+ /**
246
+ * The current page number.
247
+ * @default 1
248
+ */
249
+ page?: MaybeRef<number>;
250
+ /**
251
+ * Callback when the `page` change.
252
+ */
253
+ onPageChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
254
+ /**
255
+ * Callback when the `pageSize` change.
256
+ */
257
+ onPageSizeChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
258
+ /**
259
+ * Callback when the `pageCount` change.
260
+ */
261
+ onPageCountChange?: (returnValue: UnwrapNestedRefs<UseOffsetPaginationReturn>) => unknown;
262
+ }
263
+ interface UseOffsetPaginationReturn {
264
+ currentPage: Ref<number>;
265
+ currentPageSize: Ref<number>;
266
+ pageCount: ComputedRef<number>;
267
+ isFirstPage: ComputedRef<boolean>;
268
+ isLastPage: ComputedRef<boolean>;
269
+ prev: () => void;
270
+ next: () => void;
271
+ }
272
+
273
+ declare const UseOffsetPagination: vue_demi.DefineComponent<UseOffsetPaginationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseOffsetPaginationOptions>, {}>;
274
+
216
275
  declare const UseOnline: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
217
276
  [key: string]: any;
218
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
277
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
219
278
 
220
279
  declare const UsePageLeave: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
221
280
  [key: string]: any;
222
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
281
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
223
282
 
224
283
  declare const UsePointer: vue_demi.DefineComponent<Omit<UsePointerOptions, "target"> & {
225
284
  target: 'window' | 'self';
@@ -229,15 +288,15 @@ declare const UsePointer: vue_demi.DefineComponent<Omit<UsePointerOptions, "targ
229
288
 
230
289
  declare const UsePreferredColorScheme: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
231
290
  [key: string]: any;
232
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
291
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
233
292
 
234
293
  declare const UsePreferredDark: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
235
294
  [key: string]: any;
236
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
295
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
237
296
 
238
297
  declare const UsePreferredLanguages: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
239
298
  [key: string]: any;
240
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
299
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
241
300
 
242
301
  declare const UseScreenSafeArea: vue_demi.DefineComponent<{
243
302
  top: BooleanConstructor;
@@ -246,17 +305,12 @@ declare const UseScreenSafeArea: vue_demi.DefineComponent<{
246
305
  left: BooleanConstructor;
247
306
  }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
248
307
  [key: string]: any;
249
- }> | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, Record<string, any>, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
250
- top?: unknown;
251
- right?: unknown;
252
- bottom?: unknown;
253
- left?: unknown;
254
- } & {
255
- left: boolean;
256
- right: boolean;
257
- top: boolean;
258
- bottom: boolean;
259
- } & {}>, {
308
+ }> | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, Record<string, any>, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
309
+ top: BooleanConstructor;
310
+ right: BooleanConstructor;
311
+ bottom: BooleanConstructor;
312
+ left: BooleanConstructor;
313
+ }>>, {
260
314
  left: boolean;
261
315
  right: boolean;
262
316
  top: boolean;
@@ -264,7 +318,7 @@ declare const UseScreenSafeArea: vue_demi.DefineComponent<{
264
318
  }>;
265
319
 
266
320
  interface UseTimeAgoComponentOptions extends Omit<UseTimeAgoOptions<true>, 'controls'> {
267
- time: MaybeRef<Date | number | string>;
321
+ time: MaybeRef$1<Date | number | string>;
268
322
  }
269
323
  declare const UseTimeAgo: vue_demi.DefineComponent<UseTimeAgoComponentOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseTimeAgoComponentOptions>, {}>;
270
324
 
@@ -294,8 +348,8 @@ declare const UseVirtualList: vue_demi.DefineComponent<UseVirtualListProps, {},
294
348
 
295
349
  declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
296
350
  [key: string]: any;
297
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
351
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
298
352
 
299
353
  declare const UseWindowSize: vue_demi.DefineComponent<WindowSizeOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<WindowSizeOptions>, {}>;
300
354
 
301
- export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, VOnClickOutside };
355
+ export { OnClickOutside, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress };