@vueuse/components 7.5.4 → 7.6.2

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,7 +174,7 @@ const UseBrowserLocation = vueDemi.defineComponent({
123
174
  }
124
175
  });
125
176
 
126
- const _global = globalThis || undefined;
177
+ const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
127
178
  const globalKey = "__vueuse_ssr_handlers__";
128
179
  _global[globalKey] = _global[globalKey] || {};
129
180
  const handlers = _global[globalKey];
@@ -266,19 +317,19 @@ function usePreferredDark(options) {
266
317
  return useMediaQuery("(prefers-color-scheme: dark)", options);
267
318
  }
268
319
 
269
- var __defProp$7 = Object.defineProperty;
270
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
271
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
272
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
273
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
274
- 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) => {
275
326
  for (var prop in b || (b = {}))
276
- if (__hasOwnProp$7.call(b, prop))
277
- __defNormalProp$7(a, prop, b[prop]);
278
- if (__getOwnPropSymbols$7)
279
- for (var prop of __getOwnPropSymbols$7(b)) {
280
- if (__propIsEnum$7.call(b, prop))
281
- __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]);
282
333
  }
283
334
  return a;
284
335
  };
@@ -292,7 +343,7 @@ function useColorMode(options = {}) {
292
343
  listenToStorageChanges = true,
293
344
  storageRef
294
345
  } = options;
295
- const modes = __spreadValues$7({
346
+ const modes = __spreadValues$8({
296
347
  auto: "",
297
348
  light: "light",
298
349
  dark: "dark"
@@ -430,29 +481,30 @@ const UseDocumentVisibility = vueDemi.defineComponent({
430
481
  }
431
482
  });
432
483
 
433
- var __defProp$6 = Object.defineProperty;
434
- var __defProps$5 = Object.defineProperties;
435
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
436
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
437
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
438
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
439
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
440
- 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) => {
441
492
  for (var prop in b || (b = {}))
442
- if (__hasOwnProp$6.call(b, prop))
443
- __defNormalProp$6(a, prop, b[prop]);
444
- if (__getOwnPropSymbols$6)
445
- for (var prop of __getOwnPropSymbols$6(b)) {
446
- if (__propIsEnum$6.call(b, prop))
447
- __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]);
448
499
  }
449
500
  return a;
450
501
  };
451
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
502
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
452
503
  const UseDraggable = vueDemi.defineComponent({
453
504
  name: "UseDraggable",
454
505
  props: [
455
506
  "storageKey",
507
+ "storageType",
456
508
  "initialValue",
457
509
  "exact",
458
510
  "preventDefault",
@@ -462,7 +514,7 @@ const UseDraggable = vueDemi.defineComponent({
462
514
  setup(props, { slots }) {
463
515
  const target = vueDemi.ref();
464
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 };
465
- 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), {
466
518
  initialValue
467
519
  })));
468
520
  return () => {
@@ -589,31 +641,31 @@ const UseMouseInElement = vueDemi.defineComponent({
589
641
  }
590
642
  });
591
643
 
592
- var __defProp$5 = Object.defineProperty;
593
- var __defProps$4 = Object.defineProperties;
594
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
595
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
596
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
597
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
598
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
599
- 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) => {
600
652
  for (var prop in b || (b = {}))
601
- if (__hasOwnProp$5.call(b, prop))
602
- __defNormalProp$5(a, prop, b[prop]);
603
- if (__getOwnPropSymbols$5)
604
- for (var prop of __getOwnPropSymbols$5(b)) {
605
- if (__propIsEnum$5.call(b, prop))
606
- __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]);
607
659
  }
608
660
  return a;
609
661
  };
610
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
662
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
611
663
  const UseMousePressed = vueDemi.defineComponent({
612
664
  name: "UseMousePressed",
613
665
  props: ["touch", "initialValue", "as"],
614
666
  setup(props, { slots }) {
615
667
  const target = vueDemi.ref();
616
- 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 })));
617
669
  return () => {
618
670
  if (slots.default)
619
671
  return vueDemi.h(props.as || "div", { ref: target }, slots.default(data));
@@ -632,6 +684,37 @@ const UseNetwork = vueDemi.defineComponent({
632
684
  }
633
685
  });
634
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
+
635
718
  var __defProp$4 = Object.defineProperty;
636
719
  var __defProps$3 = Object.defineProperties;
637
720
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
@@ -651,11 +734,39 @@ var __spreadValues$4 = (a, b) => {
651
734
  return a;
652
735
  };
653
736
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
654
- const UseNow = vueDemi.defineComponent({
655
- name: "UseNow",
656
- props: ["interval"],
657
- setup(props, { slots }) {
658
- 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
+ })));
659
770
  return () => {
660
771
  if (slots.default)
661
772
  return slots.default(data);
@@ -772,14 +883,14 @@ function useCssVar(prop, target, { window = defaultWindow } = {}) {
772
883
  var _a;
773
884
  return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);
774
885
  });
775
- vueDemi.watch(elRef, (el) => {
886
+ vueDemi.watch([elRef, () => vueDemi.unref(prop)], ([el, prop2]) => {
776
887
  if (el && window)
777
- variable.value = window.getComputedStyle(el).getPropertyValue(prop);
888
+ variable.value = window.getComputedStyle(el).getPropertyValue(prop2);
778
889
  }, { immediate: true });
779
890
  vueDemi.watch(variable, (val) => {
780
891
  var _a;
781
892
  if ((_a = elRef.value) == null ? void 0 : _a.style)
782
- elRef.value.style.setProperty(prop, val);
893
+ elRef.value.style.setProperty(vueDemi.unref(prop), val);
783
894
  });
784
895
  return variable;
785
896
  }
@@ -979,6 +1090,7 @@ const UseWindowSize = vueDemi.defineComponent({
979
1090
  });
980
1091
 
981
1092
  exports.OnClickOutside = OnClickOutside;
1093
+ exports.OnLongPress = OnLongPress;
982
1094
  exports.UseActiveElement = UseActiveElement;
983
1095
  exports.UseBattery = UseBattery;
984
1096
  exports.UseBrowserLocation = UseBrowserLocation;
@@ -1002,6 +1114,7 @@ exports.UseMouseInElement = UseMouseInElement;
1002
1114
  exports.UseMousePressed = UseMousePressed;
1003
1115
  exports.UseNetwork = UseNetwork;
1004
1116
  exports.UseNow = UseNow;
1117
+ exports.UseOffsetPagination = UseOffsetPagination;
1005
1118
  exports.UseOnline = UseOnline;
1006
1119
  exports.UsePageLeave = UsePageLeave;
1007
1120
  exports.UsePointer = UsePointer;
@@ -1015,3 +1128,4 @@ exports.UseVirtualList = UseVirtualList;
1015
1128
  exports.UseWindowFocus = UseWindowFocus;
1016
1129
  exports.UseWindowSize = UseWindowSize;
1017
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,6 +23,27 @@ 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
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<{}>>, {}>;
@@ -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
  */
@@ -211,6 +232,46 @@ declare const UseNetwork: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_
211
232
 
212
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">>, {}>;
213
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
+
214
275
  declare const UseOnline: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
215
276
  [key: string]: any;
216
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<{}>>, {}>;
@@ -257,7 +318,7 @@ declare const UseScreenSafeArea: vue_demi.DefineComponent<{
257
318
  }>;
258
319
 
259
320
  interface UseTimeAgoComponentOptions extends Omit<UseTimeAgoOptions<true>, 'controls'> {
260
- time: MaybeRef<Date | number | string>;
321
+ time: MaybeRef$1<Date | number | string>;
261
322
  }
262
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>, {}>;
263
324
 
@@ -291,4 +352,4 @@ declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<
291
352
 
292
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>, {}>;
293
354
 
294
- 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 };
package/index.iife.js CHANGED
@@ -119,14 +119,22 @@
119
119
  }
120
120
 
121
121
  function onClickOutside(target, handler, options = {}) {
122
- const { window = defaultWindow } = options;
122
+ const { window = defaultWindow, ignore } = options;
123
123
  if (!window)
124
124
  return;
125
125
  const shouldListen = vueDemi.ref(true);
126
126
  const listener = (event) => {
127
127
  const el = unrefElement(target);
128
- if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
128
+ const composedPath = event.composedPath();
129
+ if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
129
130
  return;
131
+ if (ignore && ignore.length > 0) {
132
+ if (ignore.some((target2) => {
133
+ const el2 = unrefElement(target2);
134
+ return el2 && (event.target === el2 || composedPath.includes(el2));
135
+ }))
136
+ return;
137
+ }
130
138
  handler(event);
131
139
  };
132
140
  const cleanup = [
@@ -144,6 +152,49 @@
144
152
  onClickOutside(el, binding.value);
145
153
  };
146
154
 
155
+ const DEFAULT_DELAY = 500;
156
+ function onLongPress(target, handler, options) {
157
+ const elementRef = vueDemi.computed(() => core.unrefElement(target));
158
+ let timeout = null;
159
+ function clear() {
160
+ if (timeout != null) {
161
+ clearTimeout(timeout);
162
+ timeout = null;
163
+ }
164
+ }
165
+ function onDown(ev) {
166
+ var _a;
167
+ clear();
168
+ timeout = setTimeout(() => handler(ev), (_a = options == null ? void 0 : options.delay) != null ? _a : DEFAULT_DELAY);
169
+ }
170
+ core.useEventListener(elementRef, "pointerdown", onDown);
171
+ core.useEventListener(elementRef, "pointerup", clear);
172
+ core.useEventListener(elementRef, "pointerleave", clear);
173
+ }
174
+
175
+ const OnLongPress = vueDemi.defineComponent({
176
+ name: "OnLongPress",
177
+ props: ["as", "options"],
178
+ emits: ["trigger"],
179
+ setup(props, { slots, emit }) {
180
+ const target = vueDemi.ref();
181
+ onLongPress(target, (e) => {
182
+ emit("trigger", e);
183
+ }, props.options);
184
+ return () => {
185
+ if (slots.default)
186
+ return vueDemi.h(props.as || "div", { ref: target }, slots.default());
187
+ };
188
+ }
189
+ });
190
+
191
+ const VOnLongPress = (el, binding) => {
192
+ if (typeof binding.value === "function")
193
+ onLongPress(el, binding.value);
194
+ else
195
+ onLongPress(el, binding.value.handler, binding.value.options);
196
+ };
197
+
147
198
  const UseActiveElement = vueDemi.defineComponent({
148
199
  name: "UseActiveElement",
149
200
  setup(props, { slots }) {
@@ -179,7 +230,7 @@
179
230
  }
180
231
  });
181
232
 
182
- const _global = globalThis || undefined;
233
+ const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
183
234
  const globalKey = "__vueuse_ssr_handlers__";
184
235
  _global[globalKey] = _global[globalKey] || {};
185
236
  const handlers = _global[globalKey];
@@ -322,19 +373,19 @@
322
373
  return useMediaQuery("(prefers-color-scheme: dark)", options);
323
374
  }
324
375
 
325
- var __defProp$7 = Object.defineProperty;
326
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
327
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
328
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
329
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
330
- var __spreadValues$7 = (a, b) => {
376
+ var __defProp$8 = Object.defineProperty;
377
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
378
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
379
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
380
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
381
+ var __spreadValues$8 = (a, b) => {
331
382
  for (var prop in b || (b = {}))
332
- if (__hasOwnProp$7.call(b, prop))
333
- __defNormalProp$7(a, prop, b[prop]);
334
- if (__getOwnPropSymbols$7)
335
- for (var prop of __getOwnPropSymbols$7(b)) {
336
- if (__propIsEnum$7.call(b, prop))
337
- __defNormalProp$7(a, prop, b[prop]);
383
+ if (__hasOwnProp$8.call(b, prop))
384
+ __defNormalProp$8(a, prop, b[prop]);
385
+ if (__getOwnPropSymbols$8)
386
+ for (var prop of __getOwnPropSymbols$8(b)) {
387
+ if (__propIsEnum$8.call(b, prop))
388
+ __defNormalProp$8(a, prop, b[prop]);
338
389
  }
339
390
  return a;
340
391
  };
@@ -348,7 +399,7 @@
348
399
  listenToStorageChanges = true,
349
400
  storageRef
350
401
  } = options;
351
- const modes = __spreadValues$7({
402
+ const modes = __spreadValues$8({
352
403
  auto: "",
353
404
  light: "light",
354
405
  dark: "dark"
@@ -486,29 +537,30 @@
486
537
  }
487
538
  });
488
539
 
489
- var __defProp$6 = Object.defineProperty;
490
- var __defProps$5 = Object.defineProperties;
491
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
492
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
493
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
494
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
495
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
496
- var __spreadValues$6 = (a, b) => {
540
+ var __defProp$7 = Object.defineProperty;
541
+ var __defProps$6 = Object.defineProperties;
542
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
543
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
544
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
545
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
546
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
547
+ var __spreadValues$7 = (a, b) => {
497
548
  for (var prop in b || (b = {}))
498
- if (__hasOwnProp$6.call(b, prop))
499
- __defNormalProp$6(a, prop, b[prop]);
500
- if (__getOwnPropSymbols$6)
501
- for (var prop of __getOwnPropSymbols$6(b)) {
502
- if (__propIsEnum$6.call(b, prop))
503
- __defNormalProp$6(a, prop, b[prop]);
549
+ if (__hasOwnProp$7.call(b, prop))
550
+ __defNormalProp$7(a, prop, b[prop]);
551
+ if (__getOwnPropSymbols$7)
552
+ for (var prop of __getOwnPropSymbols$7(b)) {
553
+ if (__propIsEnum$7.call(b, prop))
554
+ __defNormalProp$7(a, prop, b[prop]);
504
555
  }
505
556
  return a;
506
557
  };
507
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
558
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
508
559
  const UseDraggable = vueDemi.defineComponent({
509
560
  name: "UseDraggable",
510
561
  props: [
511
562
  "storageKey",
563
+ "storageType",
512
564
  "initialValue",
513
565
  "exact",
514
566
  "preventDefault",
@@ -518,7 +570,7 @@
518
570
  setup(props, { slots }) {
519
571
  const target = vueDemi.ref();
520
572
  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 };
521
- const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$5(__spreadValues$6({}, props), {
573
+ const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$6(__spreadValues$7({}, props), {
522
574
  initialValue
523
575
  })));
524
576
  return () => {
@@ -645,31 +697,31 @@
645
697
  }
646
698
  });
647
699
 
648
- var __defProp$5 = Object.defineProperty;
649
- var __defProps$4 = Object.defineProperties;
650
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
651
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
652
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
653
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
654
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
655
- var __spreadValues$5 = (a, b) => {
700
+ var __defProp$6 = Object.defineProperty;
701
+ var __defProps$5 = Object.defineProperties;
702
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
703
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
704
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
705
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
706
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
707
+ var __spreadValues$6 = (a, b) => {
656
708
  for (var prop in b || (b = {}))
657
- if (__hasOwnProp$5.call(b, prop))
658
- __defNormalProp$5(a, prop, b[prop]);
659
- if (__getOwnPropSymbols$5)
660
- for (var prop of __getOwnPropSymbols$5(b)) {
661
- if (__propIsEnum$5.call(b, prop))
662
- __defNormalProp$5(a, prop, b[prop]);
709
+ if (__hasOwnProp$6.call(b, prop))
710
+ __defNormalProp$6(a, prop, b[prop]);
711
+ if (__getOwnPropSymbols$6)
712
+ for (var prop of __getOwnPropSymbols$6(b)) {
713
+ if (__propIsEnum$6.call(b, prop))
714
+ __defNormalProp$6(a, prop, b[prop]);
663
715
  }
664
716
  return a;
665
717
  };
666
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
718
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
667
719
  const UseMousePressed = vueDemi.defineComponent({
668
720
  name: "UseMousePressed",
669
721
  props: ["touch", "initialValue", "as"],
670
722
  setup(props, { slots }) {
671
723
  const target = vueDemi.ref();
672
- const data = vueDemi.reactive(core.useMousePressed(__spreadProps$4(__spreadValues$5({}, props), { target })));
724
+ const data = vueDemi.reactive(core.useMousePressed(__spreadProps$5(__spreadValues$6({}, props), { target })));
673
725
  return () => {
674
726
  if (slots.default)
675
727
  return vueDemi.h(props.as || "div", { ref: target }, slots.default(data));
@@ -688,6 +740,37 @@
688
740
  }
689
741
  });
690
742
 
743
+ var __defProp$5 = Object.defineProperty;
744
+ var __defProps$4 = Object.defineProperties;
745
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
746
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
747
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
748
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
749
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
750
+ var __spreadValues$5 = (a, b) => {
751
+ for (var prop in b || (b = {}))
752
+ if (__hasOwnProp$5.call(b, prop))
753
+ __defNormalProp$5(a, prop, b[prop]);
754
+ if (__getOwnPropSymbols$5)
755
+ for (var prop of __getOwnPropSymbols$5(b)) {
756
+ if (__propIsEnum$5.call(b, prop))
757
+ __defNormalProp$5(a, prop, b[prop]);
758
+ }
759
+ return a;
760
+ };
761
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
762
+ const UseNow = vueDemi.defineComponent({
763
+ name: "UseNow",
764
+ props: ["interval"],
765
+ setup(props, { slots }) {
766
+ const data = vueDemi.reactive(core.useNow(__spreadProps$4(__spreadValues$5({}, props), { controls: true })));
767
+ return () => {
768
+ if (slots.default)
769
+ return slots.default(data);
770
+ };
771
+ }
772
+ });
773
+
691
774
  var __defProp$4 = Object.defineProperty;
692
775
  var __defProps$3 = Object.defineProperties;
693
776
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
@@ -707,11 +790,39 @@
707
790
  return a;
708
791
  };
709
792
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
710
- const UseNow = vueDemi.defineComponent({
711
- name: "UseNow",
712
- props: ["interval"],
713
- setup(props, { slots }) {
714
- const data = vueDemi.reactive(core.useNow(__spreadProps$3(__spreadValues$4({}, props), { controls: true })));
793
+ const UseOffsetPagination = vueDemi.defineComponent({
794
+ name: "UseOffsetPagination",
795
+ props: [
796
+ "total",
797
+ "page",
798
+ "pageSize",
799
+ "onPageChange",
800
+ "onPageSizeChange",
801
+ "onPageCountChange"
802
+ ],
803
+ emits: [
804
+ "page-change",
805
+ "page-size-change",
806
+ "page-count-change"
807
+ ],
808
+ setup(props, { slots, emit }) {
809
+ const data = vueDemi.reactive(core.useOffsetPagination(__spreadProps$3(__spreadValues$4({}, props), {
810
+ onPageChange(...args) {
811
+ var _a;
812
+ (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);
813
+ emit("page-change", ...args);
814
+ },
815
+ onPageSizeChange(...args) {
816
+ var _a;
817
+ (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);
818
+ emit("page-size-change", ...args);
819
+ },
820
+ onPageCountChange(...args) {
821
+ var _a;
822
+ (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);
823
+ emit("page-count-change", ...args);
824
+ }
825
+ })));
715
826
  return () => {
716
827
  if (slots.default)
717
828
  return slots.default(data);
@@ -828,14 +939,14 @@
828
939
  var _a;
829
940
  return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);
830
941
  });
831
- vueDemi.watch(elRef, (el) => {
942
+ vueDemi.watch([elRef, () => vueDemi.unref(prop)], ([el, prop2]) => {
832
943
  if (el && window)
833
- variable.value = window.getComputedStyle(el).getPropertyValue(prop);
944
+ variable.value = window.getComputedStyle(el).getPropertyValue(prop2);
834
945
  }, { immediate: true });
835
946
  vueDemi.watch(variable, (val) => {
836
947
  var _a;
837
948
  if ((_a = elRef.value) == null ? void 0 : _a.style)
838
- elRef.value.style.setProperty(prop, val);
949
+ elRef.value.style.setProperty(vueDemi.unref(prop), val);
839
950
  });
840
951
  return variable;
841
952
  }
@@ -1035,6 +1146,7 @@
1035
1146
  });
1036
1147
 
1037
1148
  exports.OnClickOutside = OnClickOutside;
1149
+ exports.OnLongPress = OnLongPress;
1038
1150
  exports.UseActiveElement = UseActiveElement;
1039
1151
  exports.UseBattery = UseBattery;
1040
1152
  exports.UseBrowserLocation = UseBrowserLocation;
@@ -1058,6 +1170,7 @@
1058
1170
  exports.UseMousePressed = UseMousePressed;
1059
1171
  exports.UseNetwork = UseNetwork;
1060
1172
  exports.UseNow = UseNow;
1173
+ exports.UseOffsetPagination = UseOffsetPagination;
1061
1174
  exports.UseOnline = UseOnline;
1062
1175
  exports.UsePageLeave = UsePageLeave;
1063
1176
  exports.UsePointer = UsePointer;
@@ -1071,6 +1184,7 @@
1071
1184
  exports.UseWindowFocus = UseWindowFocus;
1072
1185
  exports.UseWindowSize = UseWindowSize;
1073
1186
  exports.VOnClickOutside = VOnClickOutside;
1187
+ exports.VOnLongPress = VOnLongPress;
1074
1188
 
1075
1189
  Object.defineProperty(exports, '__esModule', { value: true });
1076
1190
 
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- (function(s){if(!s.VueDemi){var n={},o=s.Vue;if(o)if(o.version.slice(0,2)==="2."){var c=s.VueCompositionAPI;if(c){for(var U in c)n[U]=c[U];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=o,n.Vue2=o,n.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(o.version.slice(0,2)==="3."){for(var U in o)n[U]=o[U];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=o,n.Vue2=void 0,n.version=o.version,n.set=function(g,d,O){return Array.isArray(g)?(g.length=Math.max(g.length,d),g.splice(d,1,O),O):(g[d]=O,O)},n.del=function(g,d){if(Array.isArray(g)){g.splice(d,1);return}delete g[d]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");s.VueDemi=n}})(window),function(s,n,o,c){"use strict";const U=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const a=n.ref();return o.onClickOutside(a,i=>{r("trigger",i)}),()=>{if(e.default)return n.h(t.as||"div",{ref:a},e.default())}}});function g(t){var e;const r=n.unref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const d=c.isClient?window:void 0;function O(...t){let e,r,a,i;if(c.isString(t[0])?([r,a,i]=t,e=d):[e,r,a,i]=t,!e)return c.noop;let u=c.noop;const p=n.watch(()=>n.unref(e),l=>{u(),!!l&&(l.addEventListener(r,a,i),u=()=>{l.removeEventListener(r,a,i),u=c.noop})},{immediate:!0,flush:"post"}),y=()=>{p(),u()};return c.tryOnScopeDispose(y),y}function te(t,e,r={}){const{window:a=d}=r;if(!a)return;const i=n.ref(!0),p=[O(a,"click",l=>{const v=g(t);!v||v===l.target||l.composedPath().includes(v)||!i.value||e(l)},{passive:!0,capture:!0}),O(a,"pointerdown",l=>{const v=g(t);i.value=!!v&&!l.composedPath().includes(v)},{passive:!0})];return()=>p.forEach(l=>l())}const re=(t,e)=>{te(t,e.value)},ne=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:o.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),ae=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(o.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),oe=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(o.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),j=globalThis||void 0,M="__vueuse_ssr_handlers__";j[M]=j[M]||{};const se=j[M];function N(t,e){return se[t]||e}function ie(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const ue={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))}};function le(t,e,r,a={}){var i;const{flush:u="pre",deep:p=!0,listenToStorageChanges:y=!0,writeDefaults:l=!0,shallow:v,window:E=d,eventFilter:S,onError:w=f=>{console.error(f)}}=a,b=n.unref(e),L=ie(b),P=(v?n.shallowRef:n.ref)(e),_=(i=a.serializer)!=null?i:ue[L];if(!r)try{r=N("getDefaultStorage",()=>{var f;return(f=d)==null?void 0:f.localStorage})()}catch(f){w(f)}function h(f){if(!(!r||f&&f.key!==t))try{const m=f?f.newValue:r.getItem(t);m==null?(P.value=b,l&&b!==null&&r.setItem(t,_.write(b))):typeof m!="string"?P.value=m:P.value=_.read(m)}catch(m){w(m)}}return h(),E&&y&&O(E,"storage",f=>setTimeout(()=>h(f),0)),r&&c.watchWithFilter(P,()=>{try{P.value==null?r.removeItem(t):r.setItem(t,_.write(P.value))}catch(f){w(f)}},{flush:u,deep:p,eventFilter:S}),P}function fe(t,e={}){const{window:r=d}=e;let a;const i=n.ref(!1),u=()=>{!r||(a||(a=r.matchMedia(t)),i.value=a.matches)};return c.tryOnMounted(()=>{u(),!!a&&("addEventListener"in a?a.addEventListener("change",u):a.addListener(u),c.tryOnScopeDispose(()=>{"removeEventListener"in u?a.removeEventListener("change",u):a.removeListener(u)}))}),i}function ce(t){return fe("(prefers-color-scheme: dark)",t)}var de=Object.defineProperty,A=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,I=(t,e,r)=>e in t?de(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_e=(t,e)=>{for(var r in e||(e={}))pe.call(e,r)&&I(t,r,e[r]);if(A)for(var r of A(e))ge.call(e,r)&&I(t,r,e[r]);return t};function me(t={}){const{selector:e="html",attribute:r="class",window:a=d,storage:i,storageKey:u="vueuse-color-scheme",listenToStorageChanges:p=!0,storageRef:y}=t,l=_e({auto:"",light:"light",dark:"dark"},t.modes||{}),v=ce({window:a}),E=n.computed(()=>v.value?"dark":"light"),S=y||(u==null?n.ref("auto"):le(u,"auto",i,{window:a,listenToStorageChanges:p})),w=n.computed({get(){return S.value==="auto"?E.value:S.value},set(_){S.value=_}}),b=N("updateHTMLAttrs",(_,h,f)=>{const m=a==null?void 0:a.document.querySelector(_);if(!!m)if(h==="class"){const Wt=f.split(/\s/g);Object.values(l).flatMap(C=>(C||"").split(/\s/g)).filter(Boolean).forEach(C=>{Wt.includes(C)?m.classList.add(C):m.classList.remove(C)})}else m.setAttribute(h,f)});function L(_){var h;b(e,r,(h=l[_])!=null?h:_)}function P(_){t.onChanged?t.onChanged(_,L):L(_)}return n.watch(w,P,{flush:"post",immediate:!0}),c.tryOnMounted(()=>P(w.value)),w}const ve=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=me(t),a=n.reactive({mode:r});return()=>{if(e.default)return e.default(a)}}}),Pe=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=o.useDark(t),a=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(a)}}}),Oe=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(o.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),ye=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(o.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),he=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:o.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),Ue=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(o.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),we=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:o.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var be=Object.defineProperty,Se=Object.defineProperties,Ce=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,B=(t,e,r)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ee=(t,e)=>{for(var r in e||(e={}))Ve.call(e,r)&&B(t,r,e[r]);if(T)for(var r of T(e))$e.call(e,r)&&B(t,r,e[r]);return t},Le=(t,e)=>Se(t,Ce(e));const je=n.defineComponent({name:"UseDraggable",props:["storageKey","initialValue","exact","preventDefault","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),a=t.storageKey?o.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},o.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},i=n.reactive(o.useDraggable(r,Le(Ee({},t),{initialValue:a})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${i.style}`},e.default(i))}}}),Me=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Ne=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useElementSize(r,{width:t.width,height:t.height},{box:t.box}));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Ae=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive({isVisible:o.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Ie=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(o.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Te=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Be=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(o.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Fe=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(o.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}}),ze=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(o.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Re=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}});var We=Object.defineProperty,ke=Object.defineProperties,He=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable,z=(t,e,r)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ge=(t,e)=>{for(var r in e||(e={}))Ke.call(e,r)&&z(t,r,e[r]);if(F)for(var r of F(e))Je.call(e,r)&&z(t,r,e[r]);return t},qe=(t,e)=>ke(t,He(e));const Qe=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useMousePressed(qe(Ge({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Xe=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(o.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Ye=Object.defineProperty,Ze=Object.defineProperties,xe=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,W=(t,e,r)=>e in t?Ye(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tt=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&W(t,r,e[r]);if(R)for(var r of R(e))et.call(e,r)&&W(t,r,e[r]);return t},rt=(t,e)=>Ze(t,xe(e));const nt=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(o.useNow(rt(tt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),at=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:o.useOnline()});return()=>{if(e.default)return e.default(r)}}}),ot=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:o.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var st=Object.defineProperty,it=Object.defineProperties,ut=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,H=(t,e,r)=>e in t?st(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ct=(t,e)=>{for(var r in e||(e={}))lt.call(e,r)&&H(t,r,e[r]);if(k)for(var r of k(e))ft.call(e,r)&&H(t,r,e[r]);return t},dt=(t,e)=>it(t,ut(e));const pt=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),a=n.reactive(o.usePointer(dt(ct({},t),{target:t.target==="self"?r:d})));return()=>{if(e.default)return e.default(a,{ref:r})}}}),gt=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:o.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),_t=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:o.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),mt=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:o.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function V(t,e,{window:r=d}={}){const a=n.ref(""),i=n.computed(()=>{var u;return g(e)||((u=r==null?void 0:r.document)==null?void 0:u.documentElement)});return n.watch(i,u=>{u&&r&&(a.value=r.getComputedStyle(u).getPropertyValue(t))},{immediate:!0}),n.watch(a,u=>{var p;((p=i.value)==null?void 0:p.style)&&i.value.style.setProperty(t,u)}),a}const K="--vueuse-safe-area-top",J="--vueuse-safe-area-right",G="--vueuse-safe-area-bottom",q="--vueuse-safe-area-left";function vt(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),a=n.ref("");if(c.isClient){const u=V(K),p=V(J),y=V(G),l=V(q);u.value="env(safe-area-inset-top, 0px)",p.value="env(safe-area-inset-right, 0px)",y.value="env(safe-area-inset-bottom, 0px)",l.value="env(safe-area-inset-left, 0px)",i(),O("resize",c.useDebounceFn(i))}function i(){t.value=$(K),e.value=$(J),r.value=$(G),a.value=$(q)}return{top:t,right:e,bottom:r,left:a,update:i}}function $(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Pt=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:a,bottom:i,left:u}=vt();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?a.value:"",paddingBottom:t.bottom?i.value:"",paddingLeft:t.left?u.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Ot=Object.defineProperty,yt=Object.defineProperties,ht=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,X=(t,e,r)=>e in t?Ot(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,bt=(t,e)=>{for(var r in e||(e={}))Ut.call(e,r)&&X(t,r,e[r]);if(Q)for(var r of Q(e))wt.call(e,r)&&X(t,r,e[r]);return t},St=(t,e)=>yt(t,ht(e));const Ct=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),a=n.reactive(o.useTimeAgo(r,St(bt({},t),{controls:!0})));return()=>{if(e.default)return e.default(a)}}});var Vt=Object.defineProperty,$t=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,Lt=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Z=(t,e,r)=>e in t?Vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Mt=(t,e)=>{for(var r in e||(e={}))Lt.call(e,r)&&Z(t,r,e[r]);if(Y)for(var r of Y(e))jt.call(e,r)&&Z(t,r,e[r]);return t},Nt=(t,e)=>$t(t,Et(e));const At=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(o.useTimestamp(Nt(Mt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var It=Object.defineProperty,x=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?It(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))Tt.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))Bt.call(e,r)&&D(t,r,e[r]);return t};const Ft=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:a,containerProps:i,wrapperProps:u}=o.useVirtualList(r,t.options);return i.style.height=t.height||"300px",()=>n.h("div",ee({},i),[n.h("div",ee({},u.value),a.value.map(p=>n.h("div",{style:{overFlow:"hidden",height:p.height}},e.default?e.default(p):"Please set content!")))])}}),zt=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:o.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Rt=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(o.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=U,s.UseActiveElement=ne,s.UseBattery=ae,s.UseBrowserLocation=oe,s.UseColorMode=ve,s.UseDark=Pe,s.UseDeviceMotion=Oe,s.UseDeviceOrientation=ye,s.UseDevicePixelRatio=he,s.UseDevicesList=Ue,s.UseDocumentVisibility=we,s.UseDraggable=je,s.UseElementBounding=Me,s.UseElementSize=Ne,s.UseElementVisibility=Ae,s.UseEyeDropper=Ie,s.UseFullscreen=Te,s.UseGeolocation=Be,s.UseIdle=Fe,s.UseMouse=ze,s.UseMouseInElement=Re,s.UseMousePressed=Qe,s.UseNetwork=Xe,s.UseNow=nt,s.UseOnline=at,s.UsePageLeave=ot,s.UsePointer=pt,s.UsePreferredColorScheme=gt,s.UsePreferredDark=_t,s.UsePreferredLanguages=mt,s.UseScreenSafeArea=Pt,s.UseTimeAgo=Ct,s.UseTimestamp=At,s.UseVirtualList=Ft,s.UseWindowFocus=zt,s.UseWindowSize=Rt,s.VOnClickOutside=re,Object.defineProperty(s,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
1
+ (function(i){if(!i.VueDemi){var n={},o=i.Vue;if(o)if(o.version.slice(0,2)==="2."){var c=i.VueCompositionAPI;if(c){for(var S in c)n[S]=c[S];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=o,n.Vue2=o,n.version=o.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(o.version.slice(0,2)==="3."){for(var S in o)n[S]=o[S];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=o,n.Vue2=void 0,n.version=o.version,n.set=function(p,d,U){return Array.isArray(p)?(p.length=Math.max(p.length,d),p.splice(d,1,U),U):(p[d]=U,U)},n.del=function(p,d){if(Array.isArray(p)){p.splice(d,1);return}delete p[d]}}else console.error("[vue-demi] Vue version "+o.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");i.VueDemi=n}})(window),function(i,n,o,c){"use strict";const S=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const a=n.ref();return o.onClickOutside(a,s=>{r("trigger",s)}),()=>{if(e.default)return n.h(t.as||"div",{ref:a},e.default())}}});function p(t){var e;const r=n.unref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const d=c.isClient?window:void 0;function U(...t){let e,r,a,s;if(c.isString(t[0])?([r,a,s]=t,e=d):[e,r,a,s]=t,!e)return c.noop;let u=c.noop;const l=n.watch(()=>n.unref(e),g=>{u(),!!g&&(g.addEventListener(r,a,s),u=()=>{g.removeEventListener(r,a,s),u=c.noop})},{immediate:!0,flush:"post"}),P=()=>{l(),u()};return c.tryOnScopeDispose(P),P}function ae(t,e,r={}){const{window:a=d,ignore:s}=r;if(!a)return;const u=n.ref(!0),P=[U(a,"click",m=>{const v=p(t),b=m.composedPath();!v||v===m.target||b.includes(v)||!u.value||s&&s.length>0&&s.some(w=>{const y=p(w);return y&&(m.target===y||b.includes(y))})||e(m)},{passive:!0,capture:!0}),U(a,"pointerdown",m=>{const v=p(t);u.value=!!v&&!m.composedPath().includes(v)},{passive:!0})];return()=>P.forEach(m=>m())}const oe=(t,e)=>{ae(t,e.value)},se=500;function j(t,e,r){const a=n.computed(()=>o.unrefElement(t));let s=null;function u(){s!=null&&(clearTimeout(s),s=null)}function l(P){var g;u(),s=setTimeout(()=>e(P),(g=r==null?void 0:r.delay)!=null?g:se)}o.useEventListener(a,"pointerdown",l),o.useEventListener(a,"pointerup",u),o.useEventListener(a,"pointerleave",u)}const ie=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const a=n.ref();return j(a,s=>{r("trigger",s)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:a},e.default())}}}),ue=(t,e)=>{typeof e.value=="function"?j(t,e.value):j(t,e.value.handler,e.value.options)},le=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:o.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),fe=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(o.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),ce=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(o.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),M=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},N="__vueuse_ssr_handlers__";M[N]=M[N]||{};const de=M[N];function A(t,e){return de[t]||e}function pe(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const ge={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))}};function _e(t,e,r,a={}){var s;const{flush:u="pre",deep:l=!0,listenToStorageChanges:P=!0,writeDefaults:g=!0,shallow:m,window:v=d,eventFilter:b,onError:w=f=>{console.error(f)}}=a,y=n.unref(e),L=pe(y),h=(m?n.shallowRef:n.ref)(e),_=(s=a.serializer)!=null?s:ge[L];if(!r)try{r=A("getDefaultStorage",()=>{var f;return(f=d)==null?void 0:f.localStorage})()}catch(f){w(f)}function C(f){if(!(!r||f&&f.key!==t))try{const O=f?f.newValue:r.getItem(t);O==null?(h.value=y,g&&y!==null&&r.setItem(t,_.write(y))):typeof O!="string"?h.value=O:h.value=_.read(O)}catch(O){w(O)}}return C(),v&&P&&U(v,"storage",f=>setTimeout(()=>C(f),0)),r&&c.watchWithFilter(h,()=>{try{h.value==null?r.removeItem(t):r.setItem(t,_.write(h.value))}catch(f){w(f)}},{flush:u,deep:l,eventFilter:b}),h}function Pe(t,e={}){const{window:r=d}=e;let a;const s=n.ref(!1),u=()=>{!r||(a||(a=r.matchMedia(t)),s.value=a.matches)};return c.tryOnMounted(()=>{u(),!!a&&("addEventListener"in a?a.addEventListener("change",u):a.addListener(u),c.tryOnScopeDispose(()=>{"removeEventListener"in u?a.removeEventListener("change",u):a.removeListener(u)}))}),s}function me(t){return Pe("(prefers-color-scheme: dark)",t)}var ve=Object.defineProperty,T=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,I=(t,e,r)=>e in t?ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,he=(t,e)=>{for(var r in e||(e={}))Oe.call(e,r)&&I(t,r,e[r]);if(T)for(var r of T(e))ye.call(e,r)&&I(t,r,e[r]);return t};function Ue(t={}){const{selector:e="html",attribute:r="class",window:a=d,storage:s,storageKey:u="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:P}=t,g=he({auto:"",light:"light",dark:"dark"},t.modes||{}),m=me({window:a}),v=n.computed(()=>m.value?"dark":"light"),b=P||(u==null?n.ref("auto"):_e(u,"auto",s,{window:a,listenToStorageChanges:l})),w=n.computed({get(){return b.value==="auto"?v.value:b.value},set(_){b.value=_}}),y=A("updateHTMLAttrs",(_,C,f)=>{const O=a==null?void 0:a.document.querySelector(_);if(!!O)if(C==="class"){const tr=f.split(/\s/g);Object.values(g).flatMap($=>($||"").split(/\s/g)).filter(Boolean).forEach($=>{tr.includes($)?O.classList.add($):O.classList.remove($)})}else O.setAttribute(C,f)});function L(_){var C;y(e,r,(C=g[_])!=null?C:_)}function h(_){t.onChanged?t.onChanged(_,L):L(_)}return n.watch(w,h,{flush:"post",immediate:!0}),c.tryOnMounted(()=>h(w.value)),w}const we=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=Ue(t),a=n.reactive({mode:r});return()=>{if(e.default)return e.default(a)}}}),be=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=o.useDark(t),a=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(a)}}}),Ce=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(o.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Se=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(o.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),$e=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:o.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),Ve=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(o.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),Ee=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:o.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var Le=Object.defineProperty,je=Object.defineProperties,Me=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,B=(t,e,r)=>e in t?Le(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Te=(t,e)=>{for(var r in e||(e={}))Ne.call(e,r)&&B(t,r,e[r]);if(z)for(var r of z(e))Ae.call(e,r)&&B(t,r,e[r]);return t},Ie=(t,e)=>je(t,Me(e));const ze=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),a=t.storageKey?o.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},o.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},s=n.reactive(o.useDraggable(r,Ie(Te({},t),{initialValue:a})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${s.style}`},e.default(s))}}}),Be=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Fe=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useElementSize(r,{width:t.width,height:t.height},{box:t.box}));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Re=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive({isVisible:o.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),We=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(o.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),He=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),Ke=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(o.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),ke=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(o.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}}),Je=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(o.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Ge=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}});var qe=Object.defineProperty,Qe=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,R=(t,e,r)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xe=(t,e)=>{for(var r in e||(e={}))Xe.call(e,r)&&R(t,r,e[r]);if(F)for(var r of F(e))Ze.call(e,r)&&R(t,r,e[r]);return t},De=(t,e)=>Qe(t,Ye(e));const et=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),a=n.reactive(o.useMousePressed(De(xe({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(a))}}}),tt=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(o.useNetwork());return()=>{if(e.default)return e.default(r)}}});var rt=Object.defineProperty,nt=Object.defineProperties,at=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable,H=(t,e,r)=>e in t?rt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,it=(t,e)=>{for(var r in e||(e={}))ot.call(e,r)&&H(t,r,e[r]);if(W)for(var r of W(e))st.call(e,r)&&H(t,r,e[r]);return t},ut=(t,e)=>nt(t,at(e));const lt=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(o.useNow(ut(it({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var ft=Object.defineProperty,ct=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_t=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&k(t,r,e[r]);if(K)for(var r of K(e))gt.call(e,r)&&k(t,r,e[r]);return t},Pt=(t,e)=>ct(t,dt(e));const mt=n.defineComponent({name:"UseOffsetPagination",props:["total","page","pageSize","onPageChange","onPageSizeChange","onPageCountChange"],emits:["page-change","page-size-change","page-count-change"],setup(t,{slots:e,emit:r}){const a=n.reactive(o.useOffsetPagination(Pt(_t({},t),{onPageChange(...s){var u;(u=t.onPageChange)==null||u.call(t,...s),r("page-change",...s)},onPageSizeChange(...s){var u;(u=t.onPageSizeChange)==null||u.call(t,...s),r("page-size-change",...s)},onPageCountChange(...s){var u;(u=t.onPageCountChange)==null||u.call(t,...s),r("page-count-change",...s)}})));return()=>{if(e.default)return e.default(a)}}}),vt=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:o.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Ot=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:o.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var yt=Object.defineProperty,ht=Object.defineProperties,Ut=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,G=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ct=(t,e)=>{for(var r in e||(e={}))wt.call(e,r)&&G(t,r,e[r]);if(J)for(var r of J(e))bt.call(e,r)&&G(t,r,e[r]);return t},St=(t,e)=>ht(t,Ut(e));const $t=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),a=n.reactive(o.usePointer(St(Ct({},t),{target:t.target==="self"?r:d})));return()=>{if(e.default)return e.default(a,{ref:r})}}}),Vt=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:o.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Et=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:o.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Lt=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:o.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function V(t,e,{window:r=d}={}){const a=n.ref(""),s=n.computed(()=>{var u;return p(e)||((u=r==null?void 0:r.document)==null?void 0:u.documentElement)});return n.watch([s,()=>n.unref(t)],([u,l])=>{u&&r&&(a.value=r.getComputedStyle(u).getPropertyValue(l))},{immediate:!0}),n.watch(a,u=>{var l;((l=s.value)==null?void 0:l.style)&&s.value.style.setProperty(n.unref(t),u)}),a}const q="--vueuse-safe-area-top",Q="--vueuse-safe-area-right",Y="--vueuse-safe-area-bottom",X="--vueuse-safe-area-left";function jt(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),a=n.ref("");if(c.isClient){const u=V(q),l=V(Q),P=V(Y),g=V(X);u.value="env(safe-area-inset-top, 0px)",l.value="env(safe-area-inset-right, 0px)",P.value="env(safe-area-inset-bottom, 0px)",g.value="env(safe-area-inset-left, 0px)",s(),U("resize",c.useDebounceFn(s))}function s(){t.value=E(q),e.value=E(Q),r.value=E(Y),a.value=E(X)}return{top:t,right:e,bottom:r,left:a,update:s}}function E(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Mt=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:a,bottom:s,left:u}=jt();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?a.value:"",paddingBottom:t.bottom?s.value:"",paddingLeft:t.left?u.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Nt=Object.defineProperty,At=Object.defineProperties,Tt=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,x=(t,e,r)=>e in t?Nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Bt=(t,e)=>{for(var r in e||(e={}))It.call(e,r)&&x(t,r,e[r]);if(Z)for(var r of Z(e))zt.call(e,r)&&x(t,r,e[r]);return t},Ft=(t,e)=>At(t,Tt(e));const Rt=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),a=n.reactive(o.useTimeAgo(r,Ft(Bt({},t),{controls:!0})));return()=>{if(e.default)return e.default(a)}}});var Wt=Object.defineProperty,Ht=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,ee=(t,e,r)=>e in t?Wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gt=(t,e)=>{for(var r in e||(e={}))kt.call(e,r)&&ee(t,r,e[r]);if(D)for(var r of D(e))Jt.call(e,r)&&ee(t,r,e[r]);return t},qt=(t,e)=>Ht(t,Kt(e));const Qt=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(o.useTimestamp(qt(Gt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Yt=Object.defineProperty,te=Object.getOwnPropertySymbols,Xt=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable,re=(t,e,r)=>e in t?Yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ne=(t,e)=>{for(var r in e||(e={}))Xt.call(e,r)&&re(t,r,e[r]);if(te)for(var r of te(e))Zt.call(e,r)&&re(t,r,e[r]);return t};const xt=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:a,containerProps:s,wrapperProps:u}=o.useVirtualList(r,t.options);return s.style.height=t.height||"300px",()=>n.h("div",ne({},s),[n.h("div",ne({},u.value),a.value.map(l=>n.h("div",{style:{overFlow:"hidden",height:l.height}},e.default?e.default(l):"Please set content!")))])}}),Dt=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:o.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),er=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(o.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});i.OnClickOutside=S,i.OnLongPress=ie,i.UseActiveElement=le,i.UseBattery=fe,i.UseBrowserLocation=ce,i.UseColorMode=we,i.UseDark=be,i.UseDeviceMotion=Ce,i.UseDeviceOrientation=Se,i.UseDevicePixelRatio=$e,i.UseDevicesList=Ve,i.UseDocumentVisibility=Ee,i.UseDraggable=ze,i.UseElementBounding=Be,i.UseElementSize=Fe,i.UseElementVisibility=Re,i.UseEyeDropper=We,i.UseFullscreen=He,i.UseGeolocation=Ke,i.UseIdle=ke,i.UseMouse=Je,i.UseMouseInElement=Ge,i.UseMousePressed=et,i.UseNetwork=tt,i.UseNow=lt,i.UseOffsetPagination=mt,i.UseOnline=vt,i.UsePageLeave=Ot,i.UsePointer=$t,i.UsePreferredColorScheme=Vt,i.UsePreferredDark=Et,i.UsePreferredLanguages=Lt,i.UseScreenSafeArea=Mt,i.UseTimeAgo=Rt,i.UseTimestamp=Qt,i.UseVirtualList=xt,i.UseWindowFocus=Dt,i.UseWindowSize=er,i.VOnClickOutside=oe,i.VOnLongPress=ue,Object.defineProperty(i,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent, ref, h, unref, watch, reactive, shallowRef, computed, toRef, toRefs } from 'vue-demi';
2
- import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark as usePreferredDark$1, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
1
+ import { defineComponent, ref, h, unref, watch, computed, reactive, shallowRef, toRef, toRefs } from 'vue-demi';
2
+ import { onClickOutside as onClickOutside$1, unrefElement as unrefElement$1, useEventListener as useEventListener$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOffsetPagination, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark as usePreferredDark$1, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
3
3
  import { isClient, isString, noop, tryOnScopeDispose, watchWithFilter, tryOnMounted, useToggle, useDebounceFn } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = defineComponent({
@@ -59,14 +59,22 @@ function useEventListener(...args) {
59
59
  }
60
60
 
61
61
  function onClickOutside(target, handler, options = {}) {
62
- const { window = defaultWindow } = options;
62
+ const { window = defaultWindow, ignore } = options;
63
63
  if (!window)
64
64
  return;
65
65
  const shouldListen = ref(true);
66
66
  const listener = (event) => {
67
67
  const el = unrefElement(target);
68
- if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
68
+ const composedPath = event.composedPath();
69
+ if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
69
70
  return;
71
+ if (ignore && ignore.length > 0) {
72
+ if (ignore.some((target2) => {
73
+ const el2 = unrefElement(target2);
74
+ return el2 && (event.target === el2 || composedPath.includes(el2));
75
+ }))
76
+ return;
77
+ }
70
78
  handler(event);
71
79
  };
72
80
  const cleanup = [
@@ -84,6 +92,49 @@ const VOnClickOutside = (el, binding) => {
84
92
  onClickOutside(el, binding.value);
85
93
  };
86
94
 
95
+ const DEFAULT_DELAY = 500;
96
+ function onLongPress(target, handler, options) {
97
+ const elementRef = computed(() => unrefElement$1(target));
98
+ let timeout = null;
99
+ function clear() {
100
+ if (timeout != null) {
101
+ clearTimeout(timeout);
102
+ timeout = null;
103
+ }
104
+ }
105
+ function onDown(ev) {
106
+ var _a;
107
+ clear();
108
+ timeout = setTimeout(() => handler(ev), (_a = options == null ? void 0 : options.delay) != null ? _a : DEFAULT_DELAY);
109
+ }
110
+ useEventListener$1(elementRef, "pointerdown", onDown);
111
+ useEventListener$1(elementRef, "pointerup", clear);
112
+ useEventListener$1(elementRef, "pointerleave", clear);
113
+ }
114
+
115
+ const OnLongPress = defineComponent({
116
+ name: "OnLongPress",
117
+ props: ["as", "options"],
118
+ emits: ["trigger"],
119
+ setup(props, { slots, emit }) {
120
+ const target = ref();
121
+ onLongPress(target, (e) => {
122
+ emit("trigger", e);
123
+ }, props.options);
124
+ return () => {
125
+ if (slots.default)
126
+ return h(props.as || "div", { ref: target }, slots.default());
127
+ };
128
+ }
129
+ });
130
+
131
+ const VOnLongPress = (el, binding) => {
132
+ if (typeof binding.value === "function")
133
+ onLongPress(el, binding.value);
134
+ else
135
+ onLongPress(el, binding.value.handler, binding.value.options);
136
+ };
137
+
87
138
  const UseActiveElement = defineComponent({
88
139
  name: "UseActiveElement",
89
140
  setup(props, { slots }) {
@@ -119,7 +170,7 @@ const UseBrowserLocation = defineComponent({
119
170
  }
120
171
  });
121
172
 
122
- const _global = globalThis || undefined;
173
+ const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
123
174
  const globalKey = "__vueuse_ssr_handlers__";
124
175
  _global[globalKey] = _global[globalKey] || {};
125
176
  const handlers = _global[globalKey];
@@ -262,19 +313,19 @@ function usePreferredDark(options) {
262
313
  return useMediaQuery("(prefers-color-scheme: dark)", options);
263
314
  }
264
315
 
265
- var __defProp$7 = Object.defineProperty;
266
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
267
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
268
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
269
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
270
- var __spreadValues$7 = (a, b) => {
316
+ var __defProp$8 = Object.defineProperty;
317
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
318
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
319
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
320
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
321
+ var __spreadValues$8 = (a, b) => {
271
322
  for (var prop in b || (b = {}))
272
- if (__hasOwnProp$7.call(b, prop))
273
- __defNormalProp$7(a, prop, b[prop]);
274
- if (__getOwnPropSymbols$7)
275
- for (var prop of __getOwnPropSymbols$7(b)) {
276
- if (__propIsEnum$7.call(b, prop))
277
- __defNormalProp$7(a, prop, b[prop]);
323
+ if (__hasOwnProp$8.call(b, prop))
324
+ __defNormalProp$8(a, prop, b[prop]);
325
+ if (__getOwnPropSymbols$8)
326
+ for (var prop of __getOwnPropSymbols$8(b)) {
327
+ if (__propIsEnum$8.call(b, prop))
328
+ __defNormalProp$8(a, prop, b[prop]);
278
329
  }
279
330
  return a;
280
331
  };
@@ -288,7 +339,7 @@ function useColorMode(options = {}) {
288
339
  listenToStorageChanges = true,
289
340
  storageRef
290
341
  } = options;
291
- const modes = __spreadValues$7({
342
+ const modes = __spreadValues$8({
292
343
  auto: "",
293
344
  light: "light",
294
345
  dark: "dark"
@@ -426,29 +477,30 @@ const UseDocumentVisibility = defineComponent({
426
477
  }
427
478
  });
428
479
 
429
- var __defProp$6 = Object.defineProperty;
430
- var __defProps$5 = Object.defineProperties;
431
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
432
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
433
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
434
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
435
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
436
- var __spreadValues$6 = (a, b) => {
480
+ var __defProp$7 = Object.defineProperty;
481
+ var __defProps$6 = Object.defineProperties;
482
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
483
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
484
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
485
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
486
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
487
+ var __spreadValues$7 = (a, b) => {
437
488
  for (var prop in b || (b = {}))
438
- if (__hasOwnProp$6.call(b, prop))
439
- __defNormalProp$6(a, prop, b[prop]);
440
- if (__getOwnPropSymbols$6)
441
- for (var prop of __getOwnPropSymbols$6(b)) {
442
- if (__propIsEnum$6.call(b, prop))
443
- __defNormalProp$6(a, prop, b[prop]);
489
+ if (__hasOwnProp$7.call(b, prop))
490
+ __defNormalProp$7(a, prop, b[prop]);
491
+ if (__getOwnPropSymbols$7)
492
+ for (var prop of __getOwnPropSymbols$7(b)) {
493
+ if (__propIsEnum$7.call(b, prop))
494
+ __defNormalProp$7(a, prop, b[prop]);
444
495
  }
445
496
  return a;
446
497
  };
447
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
498
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
448
499
  const UseDraggable = defineComponent({
449
500
  name: "UseDraggable",
450
501
  props: [
451
502
  "storageKey",
503
+ "storageType",
452
504
  "initialValue",
453
505
  "exact",
454
506
  "preventDefault",
@@ -458,7 +510,7 @@ const UseDraggable = defineComponent({
458
510
  setup(props, { slots }) {
459
511
  const target = ref();
460
512
  const initialValue = props.storageKey ? useStorage$1(props.storageKey, unref(props.initialValue) || { x: 0, y: 0 }, isClient$1 ? props.storageType === "session" ? sessionStorage : localStorage : void 0) : props.initialValue || { x: 0, y: 0 };
461
- const data = reactive(useDraggable(target, __spreadProps$5(__spreadValues$6({}, props), {
513
+ const data = reactive(useDraggable(target, __spreadProps$6(__spreadValues$7({}, props), {
462
514
  initialValue
463
515
  })));
464
516
  return () => {
@@ -585,31 +637,31 @@ const UseMouseInElement = defineComponent({
585
637
  }
586
638
  });
587
639
 
588
- var __defProp$5 = Object.defineProperty;
589
- var __defProps$4 = Object.defineProperties;
590
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
591
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
592
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
593
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
594
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
595
- var __spreadValues$5 = (a, b) => {
640
+ var __defProp$6 = Object.defineProperty;
641
+ var __defProps$5 = Object.defineProperties;
642
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
643
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
644
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
645
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
646
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
647
+ var __spreadValues$6 = (a, b) => {
596
648
  for (var prop in b || (b = {}))
597
- if (__hasOwnProp$5.call(b, prop))
598
- __defNormalProp$5(a, prop, b[prop]);
599
- if (__getOwnPropSymbols$5)
600
- for (var prop of __getOwnPropSymbols$5(b)) {
601
- if (__propIsEnum$5.call(b, prop))
602
- __defNormalProp$5(a, prop, b[prop]);
649
+ if (__hasOwnProp$6.call(b, prop))
650
+ __defNormalProp$6(a, prop, b[prop]);
651
+ if (__getOwnPropSymbols$6)
652
+ for (var prop of __getOwnPropSymbols$6(b)) {
653
+ if (__propIsEnum$6.call(b, prop))
654
+ __defNormalProp$6(a, prop, b[prop]);
603
655
  }
604
656
  return a;
605
657
  };
606
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
658
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
607
659
  const UseMousePressed = defineComponent({
608
660
  name: "UseMousePressed",
609
661
  props: ["touch", "initialValue", "as"],
610
662
  setup(props, { slots }) {
611
663
  const target = ref();
612
- const data = reactive(useMousePressed(__spreadProps$4(__spreadValues$5({}, props), { target })));
664
+ const data = reactive(useMousePressed(__spreadProps$5(__spreadValues$6({}, props), { target })));
613
665
  return () => {
614
666
  if (slots.default)
615
667
  return h(props.as || "div", { ref: target }, slots.default(data));
@@ -628,6 +680,37 @@ const UseNetwork = defineComponent({
628
680
  }
629
681
  });
630
682
 
683
+ var __defProp$5 = Object.defineProperty;
684
+ var __defProps$4 = Object.defineProperties;
685
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
686
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
687
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
688
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
689
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
690
+ var __spreadValues$5 = (a, b) => {
691
+ for (var prop in b || (b = {}))
692
+ if (__hasOwnProp$5.call(b, prop))
693
+ __defNormalProp$5(a, prop, b[prop]);
694
+ if (__getOwnPropSymbols$5)
695
+ for (var prop of __getOwnPropSymbols$5(b)) {
696
+ if (__propIsEnum$5.call(b, prop))
697
+ __defNormalProp$5(a, prop, b[prop]);
698
+ }
699
+ return a;
700
+ };
701
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
702
+ const UseNow = defineComponent({
703
+ name: "UseNow",
704
+ props: ["interval"],
705
+ setup(props, { slots }) {
706
+ const data = reactive(useNow(__spreadProps$4(__spreadValues$5({}, props), { controls: true })));
707
+ return () => {
708
+ if (slots.default)
709
+ return slots.default(data);
710
+ };
711
+ }
712
+ });
713
+
631
714
  var __defProp$4 = Object.defineProperty;
632
715
  var __defProps$3 = Object.defineProperties;
633
716
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
@@ -647,11 +730,39 @@ var __spreadValues$4 = (a, b) => {
647
730
  return a;
648
731
  };
649
732
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
650
- const UseNow = defineComponent({
651
- name: "UseNow",
652
- props: ["interval"],
653
- setup(props, { slots }) {
654
- const data = reactive(useNow(__spreadProps$3(__spreadValues$4({}, props), { controls: true })));
733
+ const UseOffsetPagination = defineComponent({
734
+ name: "UseOffsetPagination",
735
+ props: [
736
+ "total",
737
+ "page",
738
+ "pageSize",
739
+ "onPageChange",
740
+ "onPageSizeChange",
741
+ "onPageCountChange"
742
+ ],
743
+ emits: [
744
+ "page-change",
745
+ "page-size-change",
746
+ "page-count-change"
747
+ ],
748
+ setup(props, { slots, emit }) {
749
+ const data = reactive(useOffsetPagination(__spreadProps$3(__spreadValues$4({}, props), {
750
+ onPageChange(...args) {
751
+ var _a;
752
+ (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);
753
+ emit("page-change", ...args);
754
+ },
755
+ onPageSizeChange(...args) {
756
+ var _a;
757
+ (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);
758
+ emit("page-size-change", ...args);
759
+ },
760
+ onPageCountChange(...args) {
761
+ var _a;
762
+ (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);
763
+ emit("page-count-change", ...args);
764
+ }
765
+ })));
655
766
  return () => {
656
767
  if (slots.default)
657
768
  return slots.default(data);
@@ -768,14 +879,14 @@ function useCssVar(prop, target, { window = defaultWindow } = {}) {
768
879
  var _a;
769
880
  return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);
770
881
  });
771
- watch(elRef, (el) => {
882
+ watch([elRef, () => unref(prop)], ([el, prop2]) => {
772
883
  if (el && window)
773
- variable.value = window.getComputedStyle(el).getPropertyValue(prop);
884
+ variable.value = window.getComputedStyle(el).getPropertyValue(prop2);
774
885
  }, { immediate: true });
775
886
  watch(variable, (val) => {
776
887
  var _a;
777
888
  if ((_a = elRef.value) == null ? void 0 : _a.style)
778
- elRef.value.style.setProperty(prop, val);
889
+ elRef.value.style.setProperty(unref(prop), val);
779
890
  });
780
891
  return variable;
781
892
  }
@@ -974,4 +1085,4 @@ const UseWindowSize = defineComponent({
974
1085
  }
975
1086
  });
976
1087
 
977
- export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside };
1088
+ export { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/components",
3
- "version": "7.5.4",
3
+ "version": "7.6.2",
4
4
  "description": "Renderless components for VueUse",
5
5
  "keywords": [
6
6
  "vue",
@@ -33,8 +33,8 @@
33
33
  },
34
34
  "homepage": "https://github.com/vueuse/vueuse/tree/main/packages/components#readme",
35
35
  "dependencies": {
36
- "@vueuse/core": "7.5.4",
37
- "@vueuse/shared": "7.5.4",
36
+ "@vueuse/core": "7.6.2",
37
+ "@vueuse/shared": "7.6.2",
38
38
  "vue-demi": "*"
39
39
  }
40
40
  }