@vueuse/components 8.6.0 → 8.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -23,9 +23,8 @@ const OnClickOutside = vueDemi.defineComponent({
23
23
  });
24
24
 
25
25
  function unrefElement(elRef) {
26
- var _a;
27
26
  const plain = vueDemi.unref(elRef);
28
- return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
27
+ return plain != null && "$el" in plain ? plain.$el : plain;
29
28
  }
30
29
 
31
30
  const defaultWindow = shared.isClient ? window : void 0;
@@ -90,7 +89,11 @@ function onClickOutside(target, handler, options = {}) {
90
89
  shouldListen.value = !!el && !e.composedPath().includes(el);
91
90
  }, { passive: true }),
92
91
  useEventListener(window, "pointerup", (e) => {
93
- fallback = window.setTimeout(() => listener(e), 50);
92
+ if (e.button === 0) {
93
+ const path = e.composedPath();
94
+ e.composedPath = () => path;
95
+ fallback = window.setTimeout(() => listener(e), 50);
96
+ }
94
97
  }, { passive: true })
95
98
  ];
96
99
  const stop = () => cleanup.forEach((fn) => fn());
@@ -132,19 +135,19 @@ function onKeyStroke(key, handler, options = {}) {
132
135
  return useEventListener(target, eventName, listener, passive);
133
136
  }
134
137
 
135
- var __defProp$b = Object.defineProperty;
136
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
137
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
138
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
139
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
140
- var __spreadValues$b = (a, b) => {
138
+ var __defProp$c = Object.defineProperty;
139
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
140
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
141
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
142
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
143
+ var __spreadValues$c = (a, b) => {
141
144
  for (var prop in b || (b = {}))
142
- if (__hasOwnProp$c.call(b, prop))
143
- __defNormalProp$b(a, prop, b[prop]);
144
- if (__getOwnPropSymbols$c)
145
- for (var prop of __getOwnPropSymbols$c(b)) {
146
- if (__propIsEnum$c.call(b, prop))
147
- __defNormalProp$b(a, prop, b[prop]);
145
+ if (__hasOwnProp$d.call(b, prop))
146
+ __defNormalProp$c(a, prop, b[prop]);
147
+ if (__getOwnPropSymbols$d)
148
+ for (var prop of __getOwnPropSymbols$d(b)) {
149
+ if (__propIsEnum$d.call(b, prop))
150
+ __defNormalProp$c(a, prop, b[prop]);
148
151
  }
149
152
  return a;
150
153
  };
@@ -158,7 +161,7 @@ const vOnKeyStroke = {
158
161
  });
159
162
  } else {
160
163
  const [handler, options] = binding.value;
161
- onKeyStroke(keys, handler, __spreadValues$b({
164
+ onKeyStroke(keys, handler, __spreadValues$c({
162
165
  target: el
163
166
  }, options));
164
167
  }
@@ -398,19 +401,19 @@ function usePreferredDark(options) {
398
401
  return useMediaQuery("(prefers-color-scheme: dark)", options);
399
402
  }
400
403
 
401
- var __defProp$a = Object.defineProperty;
402
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
403
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
404
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
405
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
406
- var __spreadValues$a = (a, b) => {
404
+ var __defProp$b = Object.defineProperty;
405
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
406
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
407
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
408
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
409
+ var __spreadValues$b = (a, b) => {
407
410
  for (var prop in b || (b = {}))
408
- if (__hasOwnProp$b.call(b, prop))
409
- __defNormalProp$a(a, prop, b[prop]);
410
- if (__getOwnPropSymbols$b)
411
- for (var prop of __getOwnPropSymbols$b(b)) {
412
- if (__propIsEnum$b.call(b, prop))
413
- __defNormalProp$a(a, prop, b[prop]);
411
+ if (__hasOwnProp$c.call(b, prop))
412
+ __defNormalProp$b(a, prop, b[prop]);
413
+ if (__getOwnPropSymbols$c)
414
+ for (var prop of __getOwnPropSymbols$c(b)) {
415
+ if (__propIsEnum$c.call(b, prop))
416
+ __defNormalProp$b(a, prop, b[prop]);
414
417
  }
415
418
  return a;
416
419
  };
@@ -424,7 +427,7 @@ function useColorMode(options = {}) {
424
427
  listenToStorageChanges = true,
425
428
  storageRef
426
429
  } = options;
427
- const modes = __spreadValues$a({
430
+ const modes = __spreadValues$b({
428
431
  auto: "",
429
432
  light: "light",
430
433
  dark: "dark"
@@ -562,21 +565,21 @@ const UseDocumentVisibility = vueDemi.defineComponent({
562
565
  }
563
566
  });
564
567
 
565
- var __defProp$9 = Object.defineProperty;
568
+ var __defProp$a = Object.defineProperty;
566
569
  var __defProps$8 = Object.defineProperties;
567
570
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
568
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
569
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
570
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
571
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
572
- var __spreadValues$9 = (a, b) => {
571
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
572
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
573
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
574
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
575
+ var __spreadValues$a = (a, b) => {
573
576
  for (var prop in b || (b = {}))
574
- if (__hasOwnProp$a.call(b, prop))
575
- __defNormalProp$9(a, prop, b[prop]);
576
- if (__getOwnPropSymbols$a)
577
- for (var prop of __getOwnPropSymbols$a(b)) {
578
- if (__propIsEnum$a.call(b, prop))
579
- __defNormalProp$9(a, prop, b[prop]);
577
+ if (__hasOwnProp$b.call(b, prop))
578
+ __defNormalProp$a(a, prop, b[prop]);
579
+ if (__getOwnPropSymbols$b)
580
+ for (var prop of __getOwnPropSymbols$b(b)) {
581
+ if (__propIsEnum$b.call(b, prop))
582
+ __defNormalProp$a(a, prop, b[prop]);
580
583
  }
581
584
  return a;
582
585
  };
@@ -596,7 +599,7 @@ const UseDraggable = vueDemi.defineComponent({
596
599
  setup(props, { slots }) {
597
600
  const target = vueDemi.ref();
598
601
  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 };
599
- const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$8(__spreadValues$9({}, props), {
602
+ const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$8(__spreadValues$a({}, props), {
600
603
  initialValue
601
604
  })));
602
605
  return () => {
@@ -648,17 +651,17 @@ const UseElementSize = vueDemi.defineComponent({
648
651
  }
649
652
  });
650
653
 
651
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
652
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
653
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
654
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
655
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
656
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
654
657
  var __objRest = (source, exclude) => {
655
658
  var target = {};
656
659
  for (var prop in source)
657
- if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
660
+ if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
658
661
  target[prop] = source[prop];
659
- if (source != null && __getOwnPropSymbols$9)
660
- for (var prop of __getOwnPropSymbols$9(source)) {
661
- if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
662
+ if (source != null && __getOwnPropSymbols$a)
663
+ for (var prop of __getOwnPropSymbols$a(source)) {
664
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
662
665
  target[prop] = source[prop];
663
666
  }
664
667
  return target;
@@ -817,6 +820,109 @@ const UseIdle = vueDemi.defineComponent({
817
820
  }
818
821
  });
819
822
 
823
+ function useAsyncState(promise, initialState, options) {
824
+ const {
825
+ immediate = true,
826
+ delay = 0,
827
+ onError = shared.noop,
828
+ resetOnExecute = true,
829
+ shallow = true
830
+ } = options != null ? options : {};
831
+ const state = shallow ? vueDemi.shallowRef(initialState) : vueDemi.ref(initialState);
832
+ const isReady = vueDemi.ref(false);
833
+ const isLoading = vueDemi.ref(false);
834
+ const error = vueDemi.ref(void 0);
835
+ async function execute(delay2 = 0, ...args) {
836
+ if (resetOnExecute)
837
+ state.value = initialState;
838
+ error.value = void 0;
839
+ isReady.value = false;
840
+ isLoading.value = true;
841
+ if (delay2 > 0)
842
+ await shared.promiseTimeout(delay2);
843
+ const _promise = typeof promise === "function" ? promise(...args) : promise;
844
+ try {
845
+ const data = await _promise;
846
+ state.value = data;
847
+ isReady.value = true;
848
+ } catch (e) {
849
+ error.value = e;
850
+ onError(e);
851
+ } finally {
852
+ isLoading.value = false;
853
+ }
854
+ return state.value;
855
+ }
856
+ if (immediate)
857
+ execute(delay);
858
+ return {
859
+ state,
860
+ isReady,
861
+ isLoading,
862
+ error,
863
+ execute
864
+ };
865
+ }
866
+
867
+ var __defProp$9 = Object.defineProperty;
868
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
869
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
870
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
871
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
872
+ var __spreadValues$9 = (a, b) => {
873
+ for (var prop in b || (b = {}))
874
+ if (__hasOwnProp$9.call(b, prop))
875
+ __defNormalProp$9(a, prop, b[prop]);
876
+ if (__getOwnPropSymbols$9)
877
+ for (var prop of __getOwnPropSymbols$9(b)) {
878
+ if (__propIsEnum$9.call(b, prop))
879
+ __defNormalProp$9(a, prop, b[prop]);
880
+ }
881
+ return a;
882
+ };
883
+ async function loadImage(options) {
884
+ return new Promise((resolve, reject) => {
885
+ const img = new Image();
886
+ const { src, srcset, sizes } = options;
887
+ img.src = src;
888
+ if (srcset)
889
+ img.srcset = srcset;
890
+ if (sizes)
891
+ img.sizes = sizes;
892
+ img.onload = () => resolve(img);
893
+ img.onerror = reject;
894
+ });
895
+ }
896
+ const useImage = (options, asyncStateOptions = {}) => {
897
+ const state = useAsyncState(() => loadImage(vueDemi.unref(options)), void 0, __spreadValues$9({
898
+ resetOnExecute: true
899
+ }, asyncStateOptions));
900
+ vueDemi.watch(() => vueDemi.unref(options), () => state.execute(asyncStateOptions.delay), { deep: true });
901
+ return state;
902
+ };
903
+
904
+ const UseImage = vueDemi.defineComponent({
905
+ name: "UseImage",
906
+ props: [
907
+ "src",
908
+ "srcset",
909
+ "sizes",
910
+ "as"
911
+ ],
912
+ setup(props, { slots }) {
913
+ const data = vueDemi.reactive(useImage(props));
914
+ return () => {
915
+ if (data.isLoading && slots.loading)
916
+ return slots.loading(data);
917
+ else if (data.error && slots.error)
918
+ return slots.error(data.error);
919
+ if (slots.default)
920
+ return slots.default(data);
921
+ return vueDemi.h(props.as || "img", props);
922
+ };
923
+ }
924
+ });
925
+
820
926
  function useScroll(element, options = {}) {
821
927
  const {
822
928
  throttle = 0,
@@ -866,7 +972,9 @@ function useScroll(element, options = {}) {
866
972
  arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
867
973
  arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0);
868
974
  x.value = scrollLeft;
869
- const scrollTop = eventTarget.scrollTop;
975
+ let scrollTop = eventTarget.scrollTop;
976
+ if (e.target === document && !scrollTop)
977
+ scrollTop = document.body.scrollTop;
870
978
  directions.top = scrollTop < y.value;
871
979
  directions.bottom = scrollTop > y.value;
872
980
  arrivedState.top = scrollTop <= 0 + (offset.top || 0);
@@ -1603,6 +1711,7 @@ exports.UseEyeDropper = UseEyeDropper;
1603
1711
  exports.UseFullscreen = UseFullscreen;
1604
1712
  exports.UseGeolocation = UseGeolocation;
1605
1713
  exports.UseIdle = UseIdle;
1714
+ exports.UseImage = UseImage;
1606
1715
  exports.UseMouse = UseMouse;
1607
1716
  exports.UseMouseInElement = UseMouseInElement;
1608
1717
  exports.UseMousePressed = UseMousePressed;
package/index.d.ts CHANGED
@@ -266,6 +266,17 @@ declare const UseIdle: vue_demi.DefineComponent<IdleOptions & {
266
266
  timeout: number;
267
267
  }>, {}>;
268
268
 
269
+ interface UseImageOptions {
270
+ /** Address of the resource */
271
+ src: string;
272
+ /** Images to use in different situations, e.g., high-resolution displays, small monitors, etc. */
273
+ srcset?: string;
274
+ /** Image sizes for different page layouts */
275
+ sizes?: string;
276
+ }
277
+
278
+ declare const UseImage: vue_demi.DefineComponent<UseImageOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseImageOptions & RenderableComponent>, {}>;
279
+
269
280
  interface UseScrollOptions {
270
281
  /**
271
282
  * Throttle time for scroll event, it’s disabled by default.
@@ -521,4 +532,4 @@ declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<
521
532
 
522
533
  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>, {}>;
523
534
 
524
- 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 as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
535
+ export { OnClickOutside, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
package/index.iife.js CHANGED
@@ -107,9 +107,8 @@
107
107
  });
108
108
 
109
109
  function unrefElement(elRef) {
110
- var _a;
111
110
  const plain = vueDemi.unref(elRef);
112
- return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
111
+ return plain != null && "$el" in plain ? plain.$el : plain;
113
112
  }
114
113
 
115
114
  const defaultWindow = shared.isClient ? window : void 0;
@@ -174,7 +173,11 @@
174
173
  shouldListen.value = !!el && !e.composedPath().includes(el);
175
174
  }, { passive: true }),
176
175
  useEventListener(window, "pointerup", (e) => {
177
- fallback = window.setTimeout(() => listener(e), 50);
176
+ if (e.button === 0) {
177
+ const path = e.composedPath();
178
+ e.composedPath = () => path;
179
+ fallback = window.setTimeout(() => listener(e), 50);
180
+ }
178
181
  }, { passive: true })
179
182
  ];
180
183
  const stop = () => cleanup.forEach((fn) => fn());
@@ -216,19 +219,19 @@
216
219
  return useEventListener(target, eventName, listener, passive);
217
220
  }
218
221
 
219
- var __defProp$b = Object.defineProperty;
220
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
221
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
222
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
223
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
224
- var __spreadValues$b = (a, b) => {
222
+ var __defProp$c = Object.defineProperty;
223
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
224
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
225
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
226
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
227
+ var __spreadValues$c = (a, b) => {
225
228
  for (var prop in b || (b = {}))
226
- if (__hasOwnProp$c.call(b, prop))
227
- __defNormalProp$b(a, prop, b[prop]);
228
- if (__getOwnPropSymbols$c)
229
- for (var prop of __getOwnPropSymbols$c(b)) {
230
- if (__propIsEnum$c.call(b, prop))
231
- __defNormalProp$b(a, prop, b[prop]);
229
+ if (__hasOwnProp$d.call(b, prop))
230
+ __defNormalProp$c(a, prop, b[prop]);
231
+ if (__getOwnPropSymbols$d)
232
+ for (var prop of __getOwnPropSymbols$d(b)) {
233
+ if (__propIsEnum$d.call(b, prop))
234
+ __defNormalProp$c(a, prop, b[prop]);
232
235
  }
233
236
  return a;
234
237
  };
@@ -242,7 +245,7 @@
242
245
  });
243
246
  } else {
244
247
  const [handler, options] = binding.value;
245
- onKeyStroke(keys, handler, __spreadValues$b({
248
+ onKeyStroke(keys, handler, __spreadValues$c({
246
249
  target: el
247
250
  }, options));
248
251
  }
@@ -482,19 +485,19 @@
482
485
  return useMediaQuery("(prefers-color-scheme: dark)", options);
483
486
  }
484
487
 
485
- var __defProp$a = Object.defineProperty;
486
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
487
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
488
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
489
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
490
- var __spreadValues$a = (a, b) => {
488
+ var __defProp$b = Object.defineProperty;
489
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
490
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
491
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
492
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
493
+ var __spreadValues$b = (a, b) => {
491
494
  for (var prop in b || (b = {}))
492
- if (__hasOwnProp$b.call(b, prop))
493
- __defNormalProp$a(a, prop, b[prop]);
494
- if (__getOwnPropSymbols$b)
495
- for (var prop of __getOwnPropSymbols$b(b)) {
496
- if (__propIsEnum$b.call(b, prop))
497
- __defNormalProp$a(a, prop, b[prop]);
495
+ if (__hasOwnProp$c.call(b, prop))
496
+ __defNormalProp$b(a, prop, b[prop]);
497
+ if (__getOwnPropSymbols$c)
498
+ for (var prop of __getOwnPropSymbols$c(b)) {
499
+ if (__propIsEnum$c.call(b, prop))
500
+ __defNormalProp$b(a, prop, b[prop]);
498
501
  }
499
502
  return a;
500
503
  };
@@ -508,7 +511,7 @@
508
511
  listenToStorageChanges = true,
509
512
  storageRef
510
513
  } = options;
511
- const modes = __spreadValues$a({
514
+ const modes = __spreadValues$b({
512
515
  auto: "",
513
516
  light: "light",
514
517
  dark: "dark"
@@ -646,21 +649,21 @@
646
649
  }
647
650
  });
648
651
 
649
- var __defProp$9 = Object.defineProperty;
652
+ var __defProp$a = Object.defineProperty;
650
653
  var __defProps$8 = Object.defineProperties;
651
654
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
652
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
653
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
654
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
655
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
656
- var __spreadValues$9 = (a, b) => {
655
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
656
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
657
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
658
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
659
+ var __spreadValues$a = (a, b) => {
657
660
  for (var prop in b || (b = {}))
658
- if (__hasOwnProp$a.call(b, prop))
659
- __defNormalProp$9(a, prop, b[prop]);
660
- if (__getOwnPropSymbols$a)
661
- for (var prop of __getOwnPropSymbols$a(b)) {
662
- if (__propIsEnum$a.call(b, prop))
663
- __defNormalProp$9(a, prop, b[prop]);
661
+ if (__hasOwnProp$b.call(b, prop))
662
+ __defNormalProp$a(a, prop, b[prop]);
663
+ if (__getOwnPropSymbols$b)
664
+ for (var prop of __getOwnPropSymbols$b(b)) {
665
+ if (__propIsEnum$b.call(b, prop))
666
+ __defNormalProp$a(a, prop, b[prop]);
664
667
  }
665
668
  return a;
666
669
  };
@@ -680,7 +683,7 @@
680
683
  setup(props, { slots }) {
681
684
  const target = vueDemi.ref();
682
685
  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 };
683
- const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$8(__spreadValues$9({}, props), {
686
+ const data = vueDemi.reactive(core.useDraggable(target, __spreadProps$8(__spreadValues$a({}, props), {
684
687
  initialValue
685
688
  })));
686
689
  return () => {
@@ -732,17 +735,17 @@
732
735
  }
733
736
  });
734
737
 
735
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
736
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
737
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
738
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
739
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
740
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
738
741
  var __objRest = (source, exclude) => {
739
742
  var target = {};
740
743
  for (var prop in source)
741
- if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
744
+ if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
742
745
  target[prop] = source[prop];
743
- if (source != null && __getOwnPropSymbols$9)
744
- for (var prop of __getOwnPropSymbols$9(source)) {
745
- if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
746
+ if (source != null && __getOwnPropSymbols$a)
747
+ for (var prop of __getOwnPropSymbols$a(source)) {
748
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
746
749
  target[prop] = source[prop];
747
750
  }
748
751
  return target;
@@ -901,6 +904,109 @@
901
904
  }
902
905
  });
903
906
 
907
+ function useAsyncState(promise, initialState, options) {
908
+ const {
909
+ immediate = true,
910
+ delay = 0,
911
+ onError = shared.noop,
912
+ resetOnExecute = true,
913
+ shallow = true
914
+ } = options != null ? options : {};
915
+ const state = shallow ? vueDemi.shallowRef(initialState) : vueDemi.ref(initialState);
916
+ const isReady = vueDemi.ref(false);
917
+ const isLoading = vueDemi.ref(false);
918
+ const error = vueDemi.ref(void 0);
919
+ async function execute(delay2 = 0, ...args) {
920
+ if (resetOnExecute)
921
+ state.value = initialState;
922
+ error.value = void 0;
923
+ isReady.value = false;
924
+ isLoading.value = true;
925
+ if (delay2 > 0)
926
+ await shared.promiseTimeout(delay2);
927
+ const _promise = typeof promise === "function" ? promise(...args) : promise;
928
+ try {
929
+ const data = await _promise;
930
+ state.value = data;
931
+ isReady.value = true;
932
+ } catch (e) {
933
+ error.value = e;
934
+ onError(e);
935
+ } finally {
936
+ isLoading.value = false;
937
+ }
938
+ return state.value;
939
+ }
940
+ if (immediate)
941
+ execute(delay);
942
+ return {
943
+ state,
944
+ isReady,
945
+ isLoading,
946
+ error,
947
+ execute
948
+ };
949
+ }
950
+
951
+ var __defProp$9 = Object.defineProperty;
952
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
953
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
954
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
955
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
956
+ var __spreadValues$9 = (a, b) => {
957
+ for (var prop in b || (b = {}))
958
+ if (__hasOwnProp$9.call(b, prop))
959
+ __defNormalProp$9(a, prop, b[prop]);
960
+ if (__getOwnPropSymbols$9)
961
+ for (var prop of __getOwnPropSymbols$9(b)) {
962
+ if (__propIsEnum$9.call(b, prop))
963
+ __defNormalProp$9(a, prop, b[prop]);
964
+ }
965
+ return a;
966
+ };
967
+ async function loadImage(options) {
968
+ return new Promise((resolve, reject) => {
969
+ const img = new Image();
970
+ const { src, srcset, sizes } = options;
971
+ img.src = src;
972
+ if (srcset)
973
+ img.srcset = srcset;
974
+ if (sizes)
975
+ img.sizes = sizes;
976
+ img.onload = () => resolve(img);
977
+ img.onerror = reject;
978
+ });
979
+ }
980
+ const useImage = (options, asyncStateOptions = {}) => {
981
+ const state = useAsyncState(() => loadImage(vueDemi.unref(options)), void 0, __spreadValues$9({
982
+ resetOnExecute: true
983
+ }, asyncStateOptions));
984
+ vueDemi.watch(() => vueDemi.unref(options), () => state.execute(asyncStateOptions.delay), { deep: true });
985
+ return state;
986
+ };
987
+
988
+ const UseImage = vueDemi.defineComponent({
989
+ name: "UseImage",
990
+ props: [
991
+ "src",
992
+ "srcset",
993
+ "sizes",
994
+ "as"
995
+ ],
996
+ setup(props, { slots }) {
997
+ const data = vueDemi.reactive(useImage(props));
998
+ return () => {
999
+ if (data.isLoading && slots.loading)
1000
+ return slots.loading(data);
1001
+ else if (data.error && slots.error)
1002
+ return slots.error(data.error);
1003
+ if (slots.default)
1004
+ return slots.default(data);
1005
+ return vueDemi.h(props.as || "img", props);
1006
+ };
1007
+ }
1008
+ });
1009
+
904
1010
  function useScroll(element, options = {}) {
905
1011
  const {
906
1012
  throttle = 0,
@@ -950,7 +1056,9 @@
950
1056
  arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
951
1057
  arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0);
952
1058
  x.value = scrollLeft;
953
- const scrollTop = eventTarget.scrollTop;
1059
+ let scrollTop = eventTarget.scrollTop;
1060
+ if (e.target === document && !scrollTop)
1061
+ scrollTop = document.body.scrollTop;
954
1062
  directions.top = scrollTop < y.value;
955
1063
  directions.bottom = scrollTop > y.value;
956
1064
  arrivedState.top = scrollTop <= 0 + (offset.top || 0);
@@ -1687,6 +1795,7 @@
1687
1795
  exports.UseFullscreen = UseFullscreen;
1688
1796
  exports.UseGeolocation = UseGeolocation;
1689
1797
  exports.UseIdle = UseIdle;
1798
+ exports.UseImage = UseImage;
1690
1799
  exports.UseMouse = UseMouse;
1691
1800
  exports.UseMouseInElement = UseMouseInElement;
1692
1801
  exports.UseMousePressed = UseMousePressed;
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- var VueDemi=function(s,n,p){if(s.install)return s;if(n)if(n.version.slice(0,4)==="2.7."){for(var c in n)s[c]=n[c];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.set=function(h,g,O){return Array.isArray(h)?(h.length=Math.max(h.length,g),h.splice(g,1,O),O):(n.set(h,g,O),O)},s.del=function(h,g){if(Array.isArray(h)){h.splice(g,1);return}n.delete(h,g)}}else if(n.version.slice(0,2)==="2.")if(p){for(var c in p)s[c]=p[c];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var c in n)s[c]=n[c];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=n,s.Vue2=void 0,s.version=n.version,s.set=function(h,g,O){return Array.isArray(h)?(h.length=Math.max(h.length,g),h.splice(g,1,O),O):(h[g]=O,O)},s.del=function(h,g){if(Array.isArray(h)){h.splice(g,1);return}delete h[g]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(s,n,p,c){"use strict";const h=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return p.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function g(t){var e;const r=n.unref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const O=c.isClient?window:void 0;function S(...t){let e,r,o,a;if(c.isString(t[0])?([r,o,a]=t,e=O):[e,r,o,a]=t,!e)return c.noop;let l=c.noop;const i=n.watch(()=>g(e),f=>{l(),!!f&&(f.addEventListener(r,o,a),l=()=>{f.removeEventListener(r,o,a),l=c.noop})},{immediate:!0,flush:"post"}),u=()=>{i(),l()};return c.tryOnScopeDispose(u),u}function z(t,e,r={}){const{window:o=O,ignore:a,capture:l=!0}=r;if(!o)return;const i=n.ref(!0);let u;const f=d=>{o.clearTimeout(u);const v=g(t),b=d.composedPath();!v||v===d.target||b.includes(v)||!i.value||a&&a.length>0&&a.some($=>{const w=g($);return w&&(d.target===w||b.includes(w))})||e(d)},m=[S(o,"click",f,{passive:!0,capture:l}),S(o,"pointerdown",d=>{const v=g(t);i.value=!!v&&!d.composedPath().includes(v)},{passive:!0}),S(o,"pointerup",d=>{u=o.setTimeout(()=>f(d),50)},{passive:!0})];return()=>m.forEach(d=>d())}const B=(()=>{let t=null;return(e,r)=>{if(t){t(),t=z(e,r.value);return}t=z(e,r.value)}})(),be=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):t?()=>!0:()=>!1;function W(t,e,r={}){const{target:o=O,eventName:a="keydown",passive:l=!1}=r,i=be(t);return S(o,a,f=>{i(f)&&e(f)},l)}var Se=Object.defineProperty,R=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?Se(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ce=(t,e)=>{for(var r in e||(e={}))Ue.call(e,r)&&k(t,r,e[r]);if(R)for(var r of R(e))$e.call(e,r)&&k(t,r,e[r]);return t};const Ee={[c.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:[];if(typeof e.value=="function")W(a,e.value,{target:t});else{const[l,i]=e.value;W(a,l,Ce({target:t},i))}}},Le=500;function A(t,e,r){const o=n.computed(()=>g(t));let a=null;function l(){a!=null&&(clearTimeout(a),a=null)}function i(u){var f;l(),a=setTimeout(()=>e(u),(f=r==null?void 0:r.delay)!=null?f:Le)}S(o,"pointerdown",i),S(o,"pointerup",l),S(o,"pointerleave",l)}const je=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return A(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),F={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?A(t,e.value):A(t,...e.value)}},Ie=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:p.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Me=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(p.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Ae=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(p.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),N=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},T="__vueuse_ssr_handlers__";N[T]=N[T]||{};const Ne=N[T];function K(t,e){return Ne[t]||e}function Te(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const Ve={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))},date:{read:t=>new Date(t),write:t=>t.toISOString()}};function He(t,e,r,o={}){var a;const{flush:l="pre",deep:i=!0,listenToStorageChanges:u=!0,writeDefaults:f=!0,shallow:m,window:_=O,eventFilter:d,onError:v=y=>{console.error(y)}}=o,b=(m?n.shallowRef:n.ref)(e);if(!r)try{r=K("getDefaultStorage",()=>{var y;return(y=O)==null?void 0:y.localStorage})()}catch(y){v(y)}if(!r)return b;const $=n.unref(e),w=Te($),P=(a=o.serializer)!=null?a:Ve[w],{pause:U,resume:C}=c.pausableWatch(b,()=>j(b.value),{flush:l,deep:i,eventFilter:d});return _&&u&&S(_,"storage",E),E(),b;function j(y){try{y==null?r.removeItem(t):r.setItem(t,P.write(y))}catch(L){v(L)}}function H(y){if(!(y&&y.key!==t)){U();try{const L=y?y.newValue:r.getItem(t);return L==null?(f&&$!==null&&r.setItem(t,P.write($)),$):typeof L!="string"?L:P.read(L)}catch(L){v(L)}finally{C()}}}function E(y){y&&y.key!==t||(b.value=H(y))}}function ze(t,e={}){const{window:r=O}=e,o=Boolean(r&&"matchMedia"in r);let a;const l=n.ref(!1),i=()=>{!o||(a||(a=r.matchMedia(t)),l.value=a.matches)};return c.tryOnBeforeMount(()=>{i(),!!a&&("addEventListener"in a?a.addEventListener("change",i):a.addListener(i),c.tryOnScopeDispose(()=>{"removeEventListener"in a?a.removeEventListener("change",i):a.removeListener(i)}))}),l}function Be(t){return ze("(prefers-color-scheme: dark)",t)}var We=Object.defineProperty,J=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,G=(t,e,r)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Fe=(t,e)=>{for(var r in e||(e={}))Re.call(e,r)&&G(t,r,e[r]);if(J)for(var r of J(e))ke.call(e,r)&&G(t,r,e[r]);return t};function Ke(t={}){const{selector:e="html",attribute:r="class",window:o=O,storage:a,storageKey:l="vueuse-color-scheme",listenToStorageChanges:i=!0,storageRef:u}=t,f=Fe({auto:"",light:"light",dark:"dark"},t.modes||{}),m=Be({window:o}),_=n.computed(()=>m.value?"dark":"light"),d=u||(l==null?n.ref("auto"):He(l,"auto",a,{window:o,listenToStorageChanges:i})),v=n.computed({get(){return d.value==="auto"?_.value:d.value},set(P){d.value=P}}),b=K("updateHTMLAttrs",(P,U,C)=>{const j=o==null?void 0:o.document.querySelector(P);if(!!j)if(U==="class"){const H=C.split(/\s/g);Object.values(f).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{H.includes(E)?j.classList.add(E):j.classList.remove(E)})}else j.setAttribute(U,C)});function $(P){var U;b(e,r,(U=f[P])!=null?U:P)}function w(P){t.onChanged?t.onChanged(P,$):$(P)}return n.watch(v,w,{flush:"post",immediate:!0}),c.tryOnMounted(()=>w(v.value)),v}const Je=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=Ke(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),Ge=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=p.useDark(t),o=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),qe=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(p.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Qe=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(p.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),Ye=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:p.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),Xe=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(p.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),Ze=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:p.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var xe=Object.defineProperty,De=Object.defineProperties,et=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,Q=(t,e,r)=>e in t?xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nt=(t,e)=>{for(var r in e||(e={}))tt.call(e,r)&&Q(t,r,e[r]);if(q)for(var r of q(e))rt.call(e,r)&&Q(t,r,e[r]);return t},ot=(t,e)=>De(t,et(e));const at=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),o=t.storageKey?p.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},p.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},a=n.reactive(p.useDraggable(r,ot(nt({},t),{initialValue:o})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${a.style}`},e.default(a))}}}),st=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function lt(t){const e=n.ref(!1);return S(t,"mouseenter",()=>e.value=!0),S(t,"mouseleave",()=>e.value=!1),e}const it={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=lt(t);n.watch(r,o=>e.value(o))}}},ct=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.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(o))}}});var Y=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,pt=(t,e)=>{var r={};for(var o in t)ut.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&Y)for(var o of Y(t))e.indexOf(o)<0&&ft.call(t,o)&&(r[o]=t[o]);return r};function dt(t,e,r={}){const o=r,{window:a=O}=o,l=pt(o,["window"]);let i;const u=a&&"ResizeObserver"in a,f=()=>{i&&(i.disconnect(),i=void 0)},m=n.watch(()=>g(t),d=>{f(),u&&a&&d&&(i=new ResizeObserver(e),i.observe(d,l))},{immediate:!0,flush:"post"}),_=()=>{f(),m()};return c.tryOnScopeDispose(_),{isSupported:u,stop:_}}function vt(t,e={width:0,height:0},r={}){const o=n.ref(e.width),a=n.ref(e.height);return dt(t,([l])=>{o.value=l.contentRect.width,a.value=l.contentRect.height},r),n.watch(()=>g(t),l=>{o.value=l?e.width:0,a.value=l?e.height:0}),{width:o,height:a}}const gt={[c.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:l,height:i}=vt(t,...a);n.watch([l,i],([u,f])=>o({width:u,height:f}))}},_t=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:p.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function X(t,{window:e=O,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const l=e.document;if(!n.unref(t))o.value=!1;else{const i=n.unref(t).getBoundingClientRect();o.value=i.top<=(e.innerHeight||l.documentElement.clientHeight)&&i.left<=(e.innerWidth||l.documentElement.clientWidth)&&i.bottom>=0&&i.right>=0}};return c.tryOnMounted(a),e&&c.tryOnMounted(()=>S(n.unref(r)||e,"scroll",a,{capture:!1,passive:!0})),o}const Ot={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=X(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=X(t,o);n.watch(a,l=>r(l),{immediate:!0})}}},ht=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(p.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Pt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),yt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(p.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),mt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(p.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function V(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:l=c.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0}}=e,f=n.ref(0),m=n.ref(0),_=n.ref(!1),d=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),v=n.reactive({left:!1,right:!1,top:!1,bottom:!1});if(t){const b=c.useDebounceFn(w=>{_.value=!1,v.left=!1,v.right=!1,v.top=!1,v.bottom=!1,a(w)},r+o),$=w=>{const P=w.target===document?w.target.documentElement:w.target,U=P.scrollLeft;v.left=U<f.value,v.right=U>f.value,d.left=U<=0+(i.left||0),d.right=U+P.clientWidth>=P.scrollWidth-(i.right||0),f.value=U;const C=P.scrollTop;v.top=C<m.value,v.bottom=C>m.value,d.top=C<=0+(i.top||0),d.bottom=C+P.clientHeight>=P.scrollHeight-(i.bottom||0),m.value=C,_.value=!0,b(w),l(w)};S(t,"scroll",r?c.useThrottleFn($,r):$,u)}return{x:f,y:m,isScrolling:_,arrivedState:d,directions:v}}var wt=Object.defineProperty,bt=Object.defineProperties,St=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,$t=Object.prototype.propertyIsEnumerable,x=(t,e,r)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,D=(t,e)=>{for(var r in e||(e={}))Ut.call(e,r)&&x(t,r,e[r]);if(Z)for(var r of Z(e))$t.call(e,r)&&x(t,r,e[r]);return t},Ct=(t,e)=>bt(t,St(e));function ee(t,e,r={}){var o,a;const l=(o=r.direction)!=null?o:"bottom",i=n.reactive(V(t,Ct(D({},r),{offset:D({[l]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>i.arrivedState[l],async u=>{var f,m;if(u){const _=n.unref(t),d={height:(f=_==null?void 0:_.scrollHeight)!=null?f:0,width:(m=_==null?void 0:_.scrollWidth)!=null?m:0};await e(i),r.preserveScrollPosition&&_&&n.nextTick(()=>{_.scrollTo({top:_.scrollHeight-d.height,left:_.scrollWidth-d.width})})}})}const Et={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ee(t,e.value):ee(t,...e.value)}};function te(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:i=O}=r,u=i&&"IntersectionObserver"in i;let f=c.noop;const m=u?n.watch(()=>({el:g(t),root:g(o)}),({el:d,root:v})=>{if(f(),!d)return;const b=new IntersectionObserver(e,{root:v,rootMargin:a,threshold:l});b.observe(d),f=()=>{b.disconnect(),f=c.noop}},{immediate:!0,flush:"post"}):c.noop,_=()=>{f(),m()};return c.tryOnScopeDispose(_),{isSupported:u,stop:_}}const Lt={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?te(t,e.value):te(t,...e.value)}},jt=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(p.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),It=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var Mt=Object.defineProperty,At=Object.defineProperties,Nt=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?Mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ht=(t,e)=>{for(var r in e||(e={}))Tt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))Vt.call(e,r)&&ne(t,r,e[r]);return t},zt=(t,e)=>At(t,Nt(e));const Bt=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useMousePressed(zt(Ht({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Wt=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(p.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Rt=Object.defineProperty,kt=Object.defineProperties,Ft=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?Rt(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)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Jt.call(e,r)&&ae(t,r,e[r]);return t},qt=(t,e)=>kt(t,Ft(e));const Qt=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(p.useNow(qt(Gt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Yt=Object.defineProperty,Xt=Object.defineProperties,Zt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?Yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,er=(t,e)=>{for(var r in e||(e={}))xt.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))Dt.call(e,r)&&le(t,r,e[r]);return t},tr=(t,e)=>Xt(t,Zt(e));const rr=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 o=n.reactive(p.useOffsetPagination(tr(er({},t),{onPageChange(...a){var l;(l=t.onPageChange)==null||l.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var l;(l=t.onPageSizeChange)==null||l.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var l;(l=t.onPageCountChange)==null||l.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),nr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:p.useOnline()});return()=>{if(e.default)return e.default(r)}}}),or=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:p.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var ar=Object.defineProperty,sr=Object.defineProperties,lr=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,ir=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,ce=(t,e,r)=>e in t?ar(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ur=(t,e)=>{for(var r in e||(e={}))ir.call(e,r)&&ce(t,r,e[r]);if(ie)for(var r of ie(e))cr.call(e,r)&&ce(t,r,e[r]);return t},fr=(t,e)=>sr(t,lr(e));const pr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(p.usePointer(fr(ur({},t),{target:t.target==="self"?r:O})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),dr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:p.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),vr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:p.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),gr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:p.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function I(t,e,{window:r=O,initialValue:o=""}={}){const a=n.ref(o),l=n.computed(()=>{var i;return g(e)||((i=r==null?void 0:r.document)==null?void 0:i.documentElement)});return n.watch([l,()=>n.unref(t)],([i,u])=>{if(i&&r){const f=r.getComputedStyle(i).getPropertyValue(u);a.value=f||o}},{immediate:!0}),n.watch(a,i=>{var u;((u=l.value)==null?void 0:u.style)&&l.value.style.setProperty(n.unref(t),i)}),a}const ue="--vueuse-safe-area-top",fe="--vueuse-safe-area-right",pe="--vueuse-safe-area-bottom",de="--vueuse-safe-area-left";function _r(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const l=I(ue),i=I(fe),u=I(pe),f=I(de);l.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",u.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),S("resize",c.useDebounceFn(a))}function a(){t.value=M(ue),e.value=M(fe),r.value=M(pe),o.value=M(de)}return{top:t,right:e,bottom:r,left:o,update:a}}function M(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Or=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:l}=_r();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?o.value:"",paddingBottom:t.bottom?a.value:"",paddingLeft:t.left?l.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var hr=Object.defineProperty,Pr=Object.defineProperties,yr=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,wr=Object.prototype.propertyIsEnumerable,ge=(t,e,r)=>e in t?hr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,br=(t,e)=>{for(var r in e||(e={}))mr.call(e,r)&&ge(t,r,e[r]);if(ve)for(var r of ve(e))wr.call(e,r)&&ge(t,r,e[r]);return t},Sr=(t,e)=>Pr(t,yr(e));const Ur={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=V(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=V(t,Sr(br({},o),{onScroll(l){var i;(i=o.onScroll)==null||i.call(o,l),r(a)},onStop(l){var i;(i=o.onStop)==null||i.call(o,l),r(a)}}))}}};function $r(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Cr(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(()=>n.unref(t),u=>{if(u){const f=u;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const l=()=>{const u=n.unref(t);!u||r.value||(c.isIOS&&(o=S(u,"touchmove",$r,{passive:!1})),u.style.overflow="hidden",r.value=!0)},i=()=>{const u=n.unref(t);!u||!r.value||(c.isIOS&&(o==null||o()),u.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(i),n.computed({get(){return r.value},set(u){u?l():i()}})}const Er=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Cr(r,o.value);n.watch(e,l=>a.value=l)}})();var Lr=Object.defineProperty,jr=Object.defineProperties,Ir=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ar=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?Lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nr=(t,e)=>{for(var r in e||(e={}))Mr.call(e,r)&&Oe(t,r,e[r]);if(_e)for(var r of _e(e))Ar.call(e,r)&&Oe(t,r,e[r]);return t},Tr=(t,e)=>jr(t,Ir(e));const Vr=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),o=n.reactive(p.useTimeAgo(r,Tr(Nr({},t),{controls:!0})));return()=>{if(e.default)return e.default(o)}}});var Hr=Object.defineProperty,zr=Object.defineProperties,Br=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,Wr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Hr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,kr=(t,e)=>{for(var r in e||(e={}))Wr.call(e,r)&&Pe(t,r,e[r]);if(he)for(var r of he(e))Rr.call(e,r)&&Pe(t,r,e[r]);return t},Fr=(t,e)=>zr(t,Br(e));const Kr=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(p.useTimestamp(Fr(kr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Jr=Object.defineProperty,ye=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,qr=Object.prototype.propertyIsEnumerable,me=(t,e,r)=>e in t?Jr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,we=(t,e)=>{for(var r in e||(e={}))Gr.call(e,r)&&me(t,r,e[r]);if(ye)for(var r of ye(e))qr.call(e,r)&&me(t,r,e[r]);return t};const Qr=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:l}=p.useVirtualList(r,t.options);return a.style.height=t.height||"300px",()=>n.h("div",we({},a),[n.h("div",we({},l.value),o.value.map(i=>n.h("div",{style:{overFlow:"hidden",height:i.height}},e.default?e.default(i):"Please set content!")))])}}),Yr=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:p.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Xr=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(p.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=h,s.OnLongPress=je,s.UseActiveElement=Ie,s.UseBattery=Me,s.UseBrowserLocation=Ae,s.UseColorMode=Je,s.UseDark=Ge,s.UseDeviceMotion=qe,s.UseDeviceOrientation=Qe,s.UseDevicePixelRatio=Ye,s.UseDevicesList=Xe,s.UseDocumentVisibility=Ze,s.UseDraggable=at,s.UseElementBounding=st,s.UseElementSize=ct,s.UseElementVisibility=_t,s.UseEyeDropper=ht,s.UseFullscreen=Pt,s.UseGeolocation=yt,s.UseIdle=mt,s.UseMouse=jt,s.UseMouseInElement=It,s.UseMousePressed=Bt,s.UseNetwork=Wt,s.UseNow=Qt,s.UseOffsetPagination=rr,s.UseOnline=nr,s.UsePageLeave=or,s.UsePointer=pr,s.UsePreferredColorScheme=dr,s.UsePreferredDark=vr,s.UsePreferredLanguages=gr,s.UseScreenSafeArea=Or,s.UseTimeAgo=Vr,s.UseTimestamp=Kr,s.UseVirtualList=Qr,s.UseWindowFocus=Yr,s.UseWindowSize=Xr,s.VOnClickOutside=B,s.VOnLongPress=F,s.vElementHover=it,s.vElementSize=gt,s.vElementVisibility=Ot,s.vInfiniteScroll=Et,s.vIntersectionObserver=Lt,s.vOnClickOutside=B,s.vOnKeyStroke=Ee,s.vOnLongPress=F,s.vScroll=Ur,s.vScrollLock=Er,Object.defineProperty(s,"__esModule",{value:!0})})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
1
+ var VueDemi=function(s,n,p){if(s.install)return s;if(n)if(n.version.slice(0,4)==="2.7."){for(var u in n)s[u]=n[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.set=function(y,O,h){return Array.isArray(y)?(y.length=Math.max(y.length,O),y.splice(O,1,h),h):(n.set(y,O,h),h)},s.del=function(y,O){if(Array.isArray(y)){y.splice(O,1);return}n.delete(y,O)}}else if(n.version.slice(0,2)==="2.")if(p){for(var u in p)s[u]=p[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var u in n)s[u]=n[u];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=n,s.Vue2=void 0,s.version=n.version,s.set=function(y,O,h){return Array.isArray(y)?(y.length=Math.max(y.length,O),y.splice(O,1,h),h):(y[O]=h,h)},s.del=function(y,O){if(Array.isArray(y)){y.splice(O,1);return}delete y[O]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(s,n,p,u){"use strict";const y=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return p.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function O(t){const e=n.unref(t);return e!=null&&"$el"in e?e.$el:e}const h=u.isClient?window:void 0;function S(...t){let e,r,o,a;if(u.isString(t[0])?([r,o,a]=t,e=h):[e,r,o,a]=t,!e)return u.noop;let l=u.noop;const i=n.watch(()=>O(e),c=>{l(),!!c&&(c.addEventListener(r,o,a),l=()=>{c.removeEventListener(r,o,a),l=u.noop})},{immediate:!0,flush:"post"}),f=()=>{i(),l()};return u.tryOnScopeDispose(f),f}function z(t,e,r={}){const{window:o=h,ignore:a,capture:l=!0}=r;if(!o)return;const i=n.ref(!0);let f;const c=d=>{o.clearTimeout(f);const v=O(t),w=d.composedPath();!v||v===d.target||w.includes(v)||!i.value||a&&a.length>0&&a.some(U=>{const m=O(U);return m&&(d.target===m||w.includes(m))})||e(d)},P=[S(o,"click",c,{passive:!0,capture:l}),S(o,"pointerdown",d=>{const v=O(t);i.value=!!v&&!d.composedPath().includes(v)},{passive:!0}),S(o,"pointerup",d=>{if(d.button===0){const v=d.composedPath();d.composedPath=()=>v,f=o.setTimeout(()=>c(d),50)}},{passive:!0})];return()=>P.forEach(d=>d())}const R=(()=>{let t=null;return(e,r)=>{if(t){t(),t=z(e,r.value);return}t=z(e,r.value)}})(),Ue=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):t?()=>!0:()=>!1;function B(t,e,r={}){const{target:o=h,eventName:a="keydown",passive:l=!1}=r,i=Ue(t);return S(o,a,c=>{i(c)&&e(c)},l)}var $e=Object.defineProperty,W=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?$e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Le=(t,e)=>{for(var r in e||(e={}))Ce.call(e,r)&&k(t,r,e[r]);if(W)for(var r of W(e))Ee.call(e,r)&&k(t,r,e[r]);return t};const je={[u.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:[];if(typeof e.value=="function")B(a,e.value,{target:t});else{const[l,i]=e.value;B(a,l,Le({target:t},i))}}},Ie=500;function A(t,e,r){const o=n.computed(()=>O(t));let a=null;function l(){a!=null&&(clearTimeout(a),a=null)}function i(f){var c;l(),a=setTimeout(()=>e(f),(c=r==null?void 0:r.delay)!=null?c:Ie)}S(o,"pointerdown",i),S(o,"pointerup",l),S(o,"pointerleave",l)}const Me=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return A(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),F={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?A(t,e.value):A(t,...e.value)}},Ae=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:p.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Ne=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(p.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Te=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(p.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),N=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},T="__vueuse_ssr_handlers__";N[T]=N[T]||{};const Ve=N[T];function K(t,e){return Ve[t]||e}function He(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const ze={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))},date:{read:t=>new Date(t),write:t=>t.toISOString()}};function Re(t,e,r,o={}){var a;const{flush:l="pre",deep:i=!0,listenToStorageChanges:f=!0,writeDefaults:c=!0,shallow:P,window:g=h,eventFilter:d,onError:v=b=>{console.error(b)}}=o,w=(P?n.shallowRef:n.ref)(e);if(!r)try{r=K("getDefaultStorage",()=>{var b;return(b=h)==null?void 0:b.localStorage})()}catch(b){v(b)}if(!r)return w;const U=n.unref(e),m=He(U),_=(a=o.serializer)!=null?a:ze[m],{pause:$,resume:C}=u.pausableWatch(w,()=>j(w.value),{flush:l,deep:i,eventFilter:d});return g&&f&&S(g,"storage",E),E(),w;function j(b){try{b==null?r.removeItem(t):r.setItem(t,_.write(b))}catch(L){v(L)}}function H(b){if(!(b&&b.key!==t)){$();try{const L=b?b.newValue:r.getItem(t);return L==null?(c&&U!==null&&r.setItem(t,_.write(U)),U):typeof L!="string"?L:_.read(L)}catch(L){v(L)}finally{C()}}}function E(b){b&&b.key!==t||(w.value=H(b))}}function Be(t,e={}){const{window:r=h}=e,o=Boolean(r&&"matchMedia"in r);let a;const l=n.ref(!1),i=()=>{!o||(a||(a=r.matchMedia(t)),l.value=a.matches)};return u.tryOnBeforeMount(()=>{i(),!!a&&("addEventListener"in a?a.addEventListener("change",i):a.addListener(i),u.tryOnScopeDispose(()=>{"removeEventListener"in a?a.removeEventListener("change",i):a.removeListener(i)}))}),l}function We(t){return Be("(prefers-color-scheme: dark)",t)}var ke=Object.defineProperty,J=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable,G=(t,e,r)=>e in t?ke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Je=(t,e)=>{for(var r in e||(e={}))Fe.call(e,r)&&G(t,r,e[r]);if(J)for(var r of J(e))Ke.call(e,r)&&G(t,r,e[r]);return t};function Ge(t={}){const{selector:e="html",attribute:r="class",window:o=h,storage:a,storageKey:l="vueuse-color-scheme",listenToStorageChanges:i=!0,storageRef:f}=t,c=Je({auto:"",light:"light",dark:"dark"},t.modes||{}),P=We({window:o}),g=n.computed(()=>P.value?"dark":"light"),d=f||(l==null?n.ref("auto"):Re(l,"auto",a,{window:o,listenToStorageChanges:i})),v=n.computed({get(){return d.value==="auto"?g.value:d.value},set(_){d.value=_}}),w=K("updateHTMLAttrs",(_,$,C)=>{const j=o==null?void 0:o.document.querySelector(_);if(!!j)if($==="class"){const H=C.split(/\s/g);Object.values(c).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{H.includes(E)?j.classList.add(E):j.classList.remove(E)})}else j.setAttribute($,C)});function U(_){var $;w(e,r,($=c[_])!=null?$:_)}function m(_){t.onChanged?t.onChanged(_,U):U(_)}return n.watch(v,m,{flush:"post",immediate:!0}),u.tryOnMounted(()=>m(v.value)),v}const qe=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=Ge(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),Qe=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=p.useDark(t),o=n.reactive({isDark:r,toggleDark:u.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),Ye=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(p.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Xe=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(p.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),Ze=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:p.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),xe=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(p.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),De=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:p.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,nt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Q=(t,e,r)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,at=(t,e)=>{for(var r in e||(e={}))nt.call(e,r)&&Q(t,r,e[r]);if(q)for(var r of q(e))ot.call(e,r)&&Q(t,r,e[r]);return t},st=(t,e)=>tt(t,rt(e));const lt=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),o=t.storageKey?p.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},p.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},a=n.reactive(p.useDraggable(r,st(at({},t),{initialValue:o})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${a.style}`},e.default(a))}}}),it=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function ct(t){const e=n.ref(!1);return S(t,"mouseenter",()=>e.value=!0),S(t,"mouseleave",()=>e.value=!1),e}const ut={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=ct(t);n.watch(r,o=>e.value(o))}}},ft=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.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(o))}}});var Y=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,vt=(t,e)=>{var r={};for(var o in t)pt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&Y)for(var o of Y(t))e.indexOf(o)<0&&dt.call(t,o)&&(r[o]=t[o]);return r};function gt(t,e,r={}){const o=r,{window:a=h}=o,l=vt(o,["window"]);let i;const f=a&&"ResizeObserver"in a,c=()=>{i&&(i.disconnect(),i=void 0)},P=n.watch(()=>O(t),d=>{c(),f&&a&&d&&(i=new ResizeObserver(e),i.observe(d,l))},{immediate:!0,flush:"post"}),g=()=>{c(),P()};return u.tryOnScopeDispose(g),{isSupported:f,stop:g}}function _t(t,e={width:0,height:0},r={}){const o=n.ref(e.width),a=n.ref(e.height);return gt(t,([l])=>{o.value=l.contentRect.width,a.value=l.contentRect.height},r),n.watch(()=>O(t),l=>{o.value=l?e.width:0,a.value=l?e.height:0}),{width:o,height:a}}const Ot={[u.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:l,height:i}=_t(t,...a);n.watch([l,i],([f,c])=>o({width:f,height:c}))}},ht=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:p.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function X(t,{window:e=h,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const l=e.document;if(!n.unref(t))o.value=!1;else{const i=n.unref(t).getBoundingClientRect();o.value=i.top<=(e.innerHeight||l.documentElement.clientHeight)&&i.left<=(e.innerWidth||l.documentElement.clientWidth)&&i.bottom>=0&&i.right>=0}};return u.tryOnMounted(a),e&&u.tryOnMounted(()=>S(n.unref(r)||e,"scroll",a,{capture:!1,passive:!0})),o}const yt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=X(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=X(t,o);n.watch(a,l=>r(l),{immediate:!0})}}},Pt=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(p.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),mt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),wt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(p.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),bt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(p.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function St(t,e,r){const{immediate:o=!0,delay:a=0,onError:l=u.noop,resetOnExecute:i=!0,shallow:f=!0}=r??{},c=f?n.shallowRef(e):n.ref(e),P=n.ref(!1),g=n.ref(!1),d=n.ref(void 0);async function v(w=0,...U){i&&(c.value=e),d.value=void 0,P.value=!1,g.value=!0,w>0&&await u.promiseTimeout(w);const m=typeof t=="function"?t(...U):t;try{const _=await m;c.value=_,P.value=!0}catch(_){d.value=_,l(_)}finally{g.value=!1}return c.value}return o&&v(a),{state:c,isReady:P,isLoading:g,error:d,execute:v}}var Ut=Object.defineProperty,Z=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,x=(t,e,r)=>e in t?Ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Et=(t,e)=>{for(var r in e||(e={}))$t.call(e,r)&&x(t,r,e[r]);if(Z)for(var r of Z(e))Ct.call(e,r)&&x(t,r,e[r]);return t};async function Lt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:l,sizes:i}=t;o.src=a,l&&(o.srcset=l),i&&(o.sizes=i),o.onload=()=>e(o),o.onerror=r})}const jt=(t,e={})=>{const r=St(()=>Lt(n.unref(t)),void 0,Et({resetOnExecute:!0},e));return n.watch(()=>n.unref(t),()=>r.execute(e.delay),{deep:!0}),r},It=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(jt(t));return()=>r.isLoading&&e.loading?e.loading(r):r.error&&e.error?e.error(r.error):e.default?e.default(r):n.h(t.as||"img",t)}});function V(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=u.noop,onScroll:l=u.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:f={capture:!1,passive:!0}}=e,c=n.ref(0),P=n.ref(0),g=n.ref(!1),d=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),v=n.reactive({left:!1,right:!1,top:!1,bottom:!1});if(t){const w=u.useDebounceFn(m=>{g.value=!1,v.left=!1,v.right=!1,v.top=!1,v.bottom=!1,a(m)},r+o),U=m=>{const _=m.target===document?m.target.documentElement:m.target,$=_.scrollLeft;v.left=$<c.value,v.right=$>c.value,d.left=$<=0+(i.left||0),d.right=$+_.clientWidth>=_.scrollWidth-(i.right||0),c.value=$;let C=_.scrollTop;m.target===document&&!C&&(C=document.body.scrollTop),v.top=C<P.value,v.bottom=C>P.value,d.top=C<=0+(i.top||0),d.bottom=C+_.clientHeight>=_.scrollHeight-(i.bottom||0),P.value=C,g.value=!0,w(m),l(m)};S(t,"scroll",r?u.useThrottleFn(U,r):U,f)}return{x:c,y:P,isScrolling:g,arrivedState:d,directions:v}}var Mt=Object.defineProperty,At=Object.defineProperties,Nt=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,ee=(t,e,r)=>e in t?Mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,te=(t,e)=>{for(var r in e||(e={}))Tt.call(e,r)&&ee(t,r,e[r]);if(D)for(var r of D(e))Vt.call(e,r)&&ee(t,r,e[r]);return t},Ht=(t,e)=>At(t,Nt(e));function re(t,e,r={}){var o,a;const l=(o=r.direction)!=null?o:"bottom",i=n.reactive(V(t,Ht(te({},r),{offset:te({[l]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>i.arrivedState[l],async f=>{var c,P;if(f){const g=n.unref(t),d={height:(c=g==null?void 0:g.scrollHeight)!=null?c:0,width:(P=g==null?void 0:g.scrollWidth)!=null?P:0};await e(i),r.preserveScrollPosition&&g&&n.nextTick(()=>{g.scrollTo({top:g.scrollHeight-d.height,left:g.scrollWidth-d.width})})}})}const zt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?re(t,e.value):re(t,...e.value)}};function ne(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:i=h}=r,f=i&&"IntersectionObserver"in i;let c=u.noop;const P=f?n.watch(()=>({el:O(t),root:O(o)}),({el:d,root:v})=>{if(c(),!d)return;const w=new IntersectionObserver(e,{root:v,rootMargin:a,threshold:l});w.observe(d),c=()=>{w.disconnect(),c=u.noop}},{immediate:!0,flush:"post"}):u.noop,g=()=>{c(),P()};return u.tryOnScopeDispose(g),{isSupported:f,stop:g}}const Rt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ne(t,e.value):ne(t,...e.value)}},Bt=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(p.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Wt=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var kt=Object.defineProperty,Ft=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,qt=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Gt.call(e,r)&&ae(t,r,e[r]);return t},Qt=(t,e)=>Ft(t,Kt(e));const Yt=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(p.useMousePressed(Qt(qt({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Xt=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(p.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Zt=Object.defineProperty,xt=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,er=Object.prototype.hasOwnProperty,tr=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?Zt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,rr=(t,e)=>{for(var r in e||(e={}))er.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))tr.call(e,r)&&le(t,r,e[r]);return t},nr=(t,e)=>xt(t,Dt(e));const or=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(p.useNow(nr(rr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var ar=Object.defineProperty,sr=Object.defineProperties,lr=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,ir=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,ce=(t,e,r)=>e in t?ar(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ur=(t,e)=>{for(var r in e||(e={}))ir.call(e,r)&&ce(t,r,e[r]);if(ie)for(var r of ie(e))cr.call(e,r)&&ce(t,r,e[r]);return t},fr=(t,e)=>sr(t,lr(e));const pr=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 o=n.reactive(p.useOffsetPagination(fr(ur({},t),{onPageChange(...a){var l;(l=t.onPageChange)==null||l.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var l;(l=t.onPageSizeChange)==null||l.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var l;(l=t.onPageCountChange)==null||l.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),dr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:p.useOnline()});return()=>{if(e.default)return e.default(r)}}}),vr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:p.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var gr=Object.defineProperty,_r=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable,fe=(t,e,r)=>e in t?gr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Pr=(t,e)=>{for(var r in e||(e={}))hr.call(e,r)&&fe(t,r,e[r]);if(ue)for(var r of ue(e))yr.call(e,r)&&fe(t,r,e[r]);return t},mr=(t,e)=>_r(t,Or(e));const wr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(p.usePointer(mr(Pr({},t),{target:t.target==="self"?r:h})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),br=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:p.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Sr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:p.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Ur=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:p.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function I(t,e,{window:r=h,initialValue:o=""}={}){const a=n.ref(o),l=n.computed(()=>{var i;return O(e)||((i=r==null?void 0:r.document)==null?void 0:i.documentElement)});return n.watch([l,()=>n.unref(t)],([i,f])=>{if(i&&r){const c=r.getComputedStyle(i).getPropertyValue(f);a.value=c||o}},{immediate:!0}),n.watch(a,i=>{var f;((f=l.value)==null?void 0:f.style)&&l.value.style.setProperty(n.unref(t),i)}),a}const pe="--vueuse-safe-area-top",de="--vueuse-safe-area-right",ve="--vueuse-safe-area-bottom",ge="--vueuse-safe-area-left";function $r(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const l=I(pe),i=I(de),f=I(ve),c=I(ge);l.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",f.value="env(safe-area-inset-bottom, 0px)",c.value="env(safe-area-inset-left, 0px)",a(),S("resize",u.useDebounceFn(a))}function a(){t.value=M(pe),e.value=M(de),r.value=M(ve),o.value=M(ge)}return{top:t,right:e,bottom:r,left:o,update:a}}function M(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Cr=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:l}=$r();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?o.value:"",paddingBottom:t.bottom?a.value:"",paddingLeft:t.left?l.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Er=Object.defineProperty,Lr=Object.defineProperties,jr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Ir=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?Er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ar=(t,e)=>{for(var r in e||(e={}))Ir.call(e,r)&&Oe(t,r,e[r]);if(_e)for(var r of _e(e))Mr.call(e,r)&&Oe(t,r,e[r]);return t},Nr=(t,e)=>Lr(t,jr(e));const Tr={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=V(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=V(t,Nr(Ar({},o),{onScroll(l){var i;(i=o.onScroll)==null||i.call(o,l),r(a)},onStop(l){var i;(i=o.onStop)==null||i.call(o,l),r(a)}}))}}};function Vr(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Hr(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(()=>n.unref(t),f=>{if(f){const c=f;a=c.style.overflow,r.value&&(c.style.overflow="hidden")}},{immediate:!0});const l=()=>{const f=n.unref(t);!f||r.value||(u.isIOS&&(o=S(f,"touchmove",Vr,{passive:!1})),f.style.overflow="hidden",r.value=!0)},i=()=>{const f=n.unref(t);!f||!r.value||(u.isIOS&&(o==null||o()),f.style.overflow=a,r.value=!1)};return u.tryOnScopeDispose(i),n.computed({get(){return r.value},set(f){f?l():i()}})}const zr=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Hr(r,o.value);n.watch(e,l=>a.value=l)}})();var Rr=Object.defineProperty,Br=Object.defineProperties,Wr=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,kr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?Rr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Kr=(t,e)=>{for(var r in e||(e={}))kr.call(e,r)&&ye(t,r,e[r]);if(he)for(var r of he(e))Fr.call(e,r)&&ye(t,r,e[r]);return t},Jr=(t,e)=>Br(t,Wr(e));const Gr=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),o=n.reactive(p.useTimeAgo(r,Jr(Kr({},t),{controls:!0})));return()=>{if(e.default)return e.default(o)}}});var qr=Object.defineProperty,Qr=Object.defineProperties,Yr=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Xr=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,me=(t,e,r)=>e in t?qr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xr=(t,e)=>{for(var r in e||(e={}))Xr.call(e,r)&&me(t,r,e[r]);if(Pe)for(var r of Pe(e))Zr.call(e,r)&&me(t,r,e[r]);return t},Dr=(t,e)=>Qr(t,Yr(e));const en=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(p.useTimestamp(Dr(xr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var tn=Object.defineProperty,we=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable,be=(t,e,r)=>e in t?tn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Se=(t,e)=>{for(var r in e||(e={}))rn.call(e,r)&&be(t,r,e[r]);if(we)for(var r of we(e))nn.call(e,r)&&be(t,r,e[r]);return t};const on=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:l}=p.useVirtualList(r,t.options);return a.style.height=t.height||"300px",()=>n.h("div",Se({},a),[n.h("div",Se({},l.value),o.value.map(i=>n.h("div",{style:{overFlow:"hidden",height:i.height}},e.default?e.default(i):"Please set content!")))])}}),an=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:p.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),sn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(p.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=y,s.OnLongPress=Me,s.UseActiveElement=Ae,s.UseBattery=Ne,s.UseBrowserLocation=Te,s.UseColorMode=qe,s.UseDark=Qe,s.UseDeviceMotion=Ye,s.UseDeviceOrientation=Xe,s.UseDevicePixelRatio=Ze,s.UseDevicesList=xe,s.UseDocumentVisibility=De,s.UseDraggable=lt,s.UseElementBounding=it,s.UseElementSize=ft,s.UseElementVisibility=ht,s.UseEyeDropper=Pt,s.UseFullscreen=mt,s.UseGeolocation=wt,s.UseIdle=bt,s.UseImage=It,s.UseMouse=Bt,s.UseMouseInElement=Wt,s.UseMousePressed=Yt,s.UseNetwork=Xt,s.UseNow=or,s.UseOffsetPagination=pr,s.UseOnline=dr,s.UsePageLeave=vr,s.UsePointer=wr,s.UsePreferredColorScheme=br,s.UsePreferredDark=Sr,s.UsePreferredLanguages=Ur,s.UseScreenSafeArea=Cr,s.UseTimeAgo=Gr,s.UseTimestamp=en,s.UseVirtualList=on,s.UseWindowFocus=an,s.UseWindowSize=sn,s.VOnClickOutside=R,s.VOnLongPress=F,s.vElementHover=ut,s.vElementSize=Ot,s.vElementVisibility=yt,s.vInfiniteScroll=zt,s.vIntersectionObserver=Rt,s.vOnClickOutside=R,s.vOnKeyStroke=je,s.vOnLongPress=F,s.vScroll=Tr,s.vScrollLock=zr,Object.defineProperty(s,"__esModule",{value:!0})})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, h, unref, watch, computed, reactive, shallowRef, nextTick, toRef, toRefs } from 'vue-demi';
2
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 as useElementSize$1, useElementVisibility as useElementVisibility$1, 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
- import { isClient, isString, noop, tryOnScopeDispose, directiveHooks, pausableWatch, tryOnBeforeMount, tryOnMounted, useToggle, useDebounceFn, useThrottleFn, isIOS } from '@vueuse/shared';
3
+ import { isClient, isString, noop, tryOnScopeDispose, directiveHooks, pausableWatch, tryOnBeforeMount, tryOnMounted, useToggle, promiseTimeout, useDebounceFn, useThrottleFn, isIOS } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = defineComponent({
6
6
  name: "OnClickOutside",
@@ -19,9 +19,8 @@ const OnClickOutside = defineComponent({
19
19
  });
20
20
 
21
21
  function unrefElement(elRef) {
22
- var _a;
23
22
  const plain = unref(elRef);
24
- return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
23
+ return plain != null && "$el" in plain ? plain.$el : plain;
25
24
  }
26
25
 
27
26
  const defaultWindow = isClient ? window : void 0;
@@ -86,7 +85,11 @@ function onClickOutside(target, handler, options = {}) {
86
85
  shouldListen.value = !!el && !e.composedPath().includes(el);
87
86
  }, { passive: true }),
88
87
  useEventListener(window, "pointerup", (e) => {
89
- fallback = window.setTimeout(() => listener(e), 50);
88
+ if (e.button === 0) {
89
+ const path = e.composedPath();
90
+ e.composedPath = () => path;
91
+ fallback = window.setTimeout(() => listener(e), 50);
92
+ }
90
93
  }, { passive: true })
91
94
  ];
92
95
  const stop = () => cleanup.forEach((fn) => fn());
@@ -128,19 +131,19 @@ function onKeyStroke(key, handler, options = {}) {
128
131
  return useEventListener(target, eventName, listener, passive);
129
132
  }
130
133
 
131
- var __defProp$b = Object.defineProperty;
132
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
133
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
134
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
135
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
136
- var __spreadValues$b = (a, b) => {
134
+ var __defProp$c = Object.defineProperty;
135
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
136
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
137
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
138
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
139
+ var __spreadValues$c = (a, b) => {
137
140
  for (var prop in b || (b = {}))
138
- if (__hasOwnProp$c.call(b, prop))
139
- __defNormalProp$b(a, prop, b[prop]);
140
- if (__getOwnPropSymbols$c)
141
- for (var prop of __getOwnPropSymbols$c(b)) {
142
- if (__propIsEnum$c.call(b, prop))
143
- __defNormalProp$b(a, prop, b[prop]);
141
+ if (__hasOwnProp$d.call(b, prop))
142
+ __defNormalProp$c(a, prop, b[prop]);
143
+ if (__getOwnPropSymbols$d)
144
+ for (var prop of __getOwnPropSymbols$d(b)) {
145
+ if (__propIsEnum$d.call(b, prop))
146
+ __defNormalProp$c(a, prop, b[prop]);
144
147
  }
145
148
  return a;
146
149
  };
@@ -154,7 +157,7 @@ const vOnKeyStroke = {
154
157
  });
155
158
  } else {
156
159
  const [handler, options] = binding.value;
157
- onKeyStroke(keys, handler, __spreadValues$b({
160
+ onKeyStroke(keys, handler, __spreadValues$c({
158
161
  target: el
159
162
  }, options));
160
163
  }
@@ -394,19 +397,19 @@ function usePreferredDark(options) {
394
397
  return useMediaQuery("(prefers-color-scheme: dark)", options);
395
398
  }
396
399
 
397
- var __defProp$a = Object.defineProperty;
398
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
399
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
400
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
401
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
402
- var __spreadValues$a = (a, b) => {
400
+ var __defProp$b = Object.defineProperty;
401
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
402
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
403
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
404
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
405
+ var __spreadValues$b = (a, b) => {
403
406
  for (var prop in b || (b = {}))
404
- if (__hasOwnProp$b.call(b, prop))
405
- __defNormalProp$a(a, prop, b[prop]);
406
- if (__getOwnPropSymbols$b)
407
- for (var prop of __getOwnPropSymbols$b(b)) {
408
- if (__propIsEnum$b.call(b, prop))
409
- __defNormalProp$a(a, prop, b[prop]);
407
+ if (__hasOwnProp$c.call(b, prop))
408
+ __defNormalProp$b(a, prop, b[prop]);
409
+ if (__getOwnPropSymbols$c)
410
+ for (var prop of __getOwnPropSymbols$c(b)) {
411
+ if (__propIsEnum$c.call(b, prop))
412
+ __defNormalProp$b(a, prop, b[prop]);
410
413
  }
411
414
  return a;
412
415
  };
@@ -420,7 +423,7 @@ function useColorMode(options = {}) {
420
423
  listenToStorageChanges = true,
421
424
  storageRef
422
425
  } = options;
423
- const modes = __spreadValues$a({
426
+ const modes = __spreadValues$b({
424
427
  auto: "",
425
428
  light: "light",
426
429
  dark: "dark"
@@ -558,21 +561,21 @@ const UseDocumentVisibility = defineComponent({
558
561
  }
559
562
  });
560
563
 
561
- var __defProp$9 = Object.defineProperty;
564
+ var __defProp$a = Object.defineProperty;
562
565
  var __defProps$8 = Object.defineProperties;
563
566
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
564
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
565
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
566
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
567
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
568
- var __spreadValues$9 = (a, b) => {
567
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
568
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
569
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
570
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
571
+ var __spreadValues$a = (a, b) => {
569
572
  for (var prop in b || (b = {}))
570
- if (__hasOwnProp$a.call(b, prop))
571
- __defNormalProp$9(a, prop, b[prop]);
572
- if (__getOwnPropSymbols$a)
573
- for (var prop of __getOwnPropSymbols$a(b)) {
574
- if (__propIsEnum$a.call(b, prop))
575
- __defNormalProp$9(a, prop, b[prop]);
573
+ if (__hasOwnProp$b.call(b, prop))
574
+ __defNormalProp$a(a, prop, b[prop]);
575
+ if (__getOwnPropSymbols$b)
576
+ for (var prop of __getOwnPropSymbols$b(b)) {
577
+ if (__propIsEnum$b.call(b, prop))
578
+ __defNormalProp$a(a, prop, b[prop]);
576
579
  }
577
580
  return a;
578
581
  };
@@ -592,7 +595,7 @@ const UseDraggable = defineComponent({
592
595
  setup(props, { slots }) {
593
596
  const target = ref();
594
597
  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 };
595
- const data = reactive(useDraggable(target, __spreadProps$8(__spreadValues$9({}, props), {
598
+ const data = reactive(useDraggable(target, __spreadProps$8(__spreadValues$a({}, props), {
596
599
  initialValue
597
600
  })));
598
601
  return () => {
@@ -644,17 +647,17 @@ const UseElementSize = defineComponent({
644
647
  }
645
648
  });
646
649
 
647
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
648
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
649
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
650
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
651
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
652
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
650
653
  var __objRest = (source, exclude) => {
651
654
  var target = {};
652
655
  for (var prop in source)
653
- if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
656
+ if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
654
657
  target[prop] = source[prop];
655
- if (source != null && __getOwnPropSymbols$9)
656
- for (var prop of __getOwnPropSymbols$9(source)) {
657
- if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
658
+ if (source != null && __getOwnPropSymbols$a)
659
+ for (var prop of __getOwnPropSymbols$a(source)) {
660
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
658
661
  target[prop] = source[prop];
659
662
  }
660
663
  return target;
@@ -813,6 +816,109 @@ const UseIdle = defineComponent({
813
816
  }
814
817
  });
815
818
 
819
+ function useAsyncState(promise, initialState, options) {
820
+ const {
821
+ immediate = true,
822
+ delay = 0,
823
+ onError = noop,
824
+ resetOnExecute = true,
825
+ shallow = true
826
+ } = options != null ? options : {};
827
+ const state = shallow ? shallowRef(initialState) : ref(initialState);
828
+ const isReady = ref(false);
829
+ const isLoading = ref(false);
830
+ const error = ref(void 0);
831
+ async function execute(delay2 = 0, ...args) {
832
+ if (resetOnExecute)
833
+ state.value = initialState;
834
+ error.value = void 0;
835
+ isReady.value = false;
836
+ isLoading.value = true;
837
+ if (delay2 > 0)
838
+ await promiseTimeout(delay2);
839
+ const _promise = typeof promise === "function" ? promise(...args) : promise;
840
+ try {
841
+ const data = await _promise;
842
+ state.value = data;
843
+ isReady.value = true;
844
+ } catch (e) {
845
+ error.value = e;
846
+ onError(e);
847
+ } finally {
848
+ isLoading.value = false;
849
+ }
850
+ return state.value;
851
+ }
852
+ if (immediate)
853
+ execute(delay);
854
+ return {
855
+ state,
856
+ isReady,
857
+ isLoading,
858
+ error,
859
+ execute
860
+ };
861
+ }
862
+
863
+ var __defProp$9 = Object.defineProperty;
864
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
865
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
866
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
867
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
868
+ var __spreadValues$9 = (a, b) => {
869
+ for (var prop in b || (b = {}))
870
+ if (__hasOwnProp$9.call(b, prop))
871
+ __defNormalProp$9(a, prop, b[prop]);
872
+ if (__getOwnPropSymbols$9)
873
+ for (var prop of __getOwnPropSymbols$9(b)) {
874
+ if (__propIsEnum$9.call(b, prop))
875
+ __defNormalProp$9(a, prop, b[prop]);
876
+ }
877
+ return a;
878
+ };
879
+ async function loadImage(options) {
880
+ return new Promise((resolve, reject) => {
881
+ const img = new Image();
882
+ const { src, srcset, sizes } = options;
883
+ img.src = src;
884
+ if (srcset)
885
+ img.srcset = srcset;
886
+ if (sizes)
887
+ img.sizes = sizes;
888
+ img.onload = () => resolve(img);
889
+ img.onerror = reject;
890
+ });
891
+ }
892
+ const useImage = (options, asyncStateOptions = {}) => {
893
+ const state = useAsyncState(() => loadImage(unref(options)), void 0, __spreadValues$9({
894
+ resetOnExecute: true
895
+ }, asyncStateOptions));
896
+ watch(() => unref(options), () => state.execute(asyncStateOptions.delay), { deep: true });
897
+ return state;
898
+ };
899
+
900
+ const UseImage = defineComponent({
901
+ name: "UseImage",
902
+ props: [
903
+ "src",
904
+ "srcset",
905
+ "sizes",
906
+ "as"
907
+ ],
908
+ setup(props, { slots }) {
909
+ const data = reactive(useImage(props));
910
+ return () => {
911
+ if (data.isLoading && slots.loading)
912
+ return slots.loading(data);
913
+ else if (data.error && slots.error)
914
+ return slots.error(data.error);
915
+ if (slots.default)
916
+ return slots.default(data);
917
+ return h(props.as || "img", props);
918
+ };
919
+ }
920
+ });
921
+
816
922
  function useScroll(element, options = {}) {
817
923
  const {
818
924
  throttle = 0,
@@ -862,7 +968,9 @@ function useScroll(element, options = {}) {
862
968
  arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
863
969
  arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0);
864
970
  x.value = scrollLeft;
865
- const scrollTop = eventTarget.scrollTop;
971
+ let scrollTop = eventTarget.scrollTop;
972
+ if (e.target === document && !scrollTop)
973
+ scrollTop = document.body.scrollTop;
866
974
  directions.top = scrollTop < y.value;
867
975
  directions.bottom = scrollTop > y.value;
868
976
  arrivedState.top = scrollTop <= 0 + (offset.top || 0);
@@ -1579,4 +1687,4 @@ const UseWindowSize = defineComponent({
1579
1687
  }
1580
1688
  });
1581
1689
 
1582
- 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 as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
1690
+ export { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/components",
3
- "version": "8.6.0",
3
+ "version": "8.7.0",
4
4
  "description": "Renderless components for VueUse",
5
5
  "author": "Jacob Clevenger<https://github.com/wheatjs>",
6
6
  "license": "MIT",
@@ -22,8 +22,8 @@
22
22
  "exports": {
23
23
  ".": {
24
24
  "types": "./index.d.ts",
25
- "import": "./index.mjs",
26
- "require": "./index.cjs"
25
+ "require": "./index.cjs",
26
+ "import": "./index.mjs"
27
27
  },
28
28
  "./*": "./*"
29
29
  },
@@ -33,8 +33,8 @@
33
33
  "jsdelivr": "./index.iife.min.js",
34
34
  "types": "./index.d.ts",
35
35
  "dependencies": {
36
- "@vueuse/core": "8.6.0",
37
- "@vueuse/shared": "8.6.0",
36
+ "@vueuse/core": "8.7.0",
37
+ "@vueuse/shared": "8.7.0",
38
38
  "vue-demi": "*"
39
39
  }
40
40
  }