@vueuse/components 8.0.0-beta.2 → 8.0.1

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
@@ -92,9 +92,18 @@ function onClickOutside(target, handler, options = {}) {
92
92
  return stop;
93
93
  }
94
94
 
95
- const VOnClickOutside = (el, binding) => {
96
- onClickOutside(el, binding.value);
95
+ const handler = () => {
96
+ let stop = null;
97
+ return (el, binding) => {
98
+ if (stop) {
99
+ stop();
100
+ stop = onClickOutside(el, binding.value);
101
+ return;
102
+ }
103
+ stop = onClickOutside(el, binding.value);
104
+ };
97
105
  };
106
+ const vOnClickOutside = handler();
98
107
 
99
108
  const createKeyPredicate = (keyFilter) => {
100
109
  if (typeof keyFilter === "function")
@@ -119,17 +128,17 @@ function onKeyStroke(key, handler, options = {}) {
119
128
  }
120
129
 
121
130
  var __defProp$b = Object.defineProperty;
122
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
123
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
124
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
131
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
132
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
133
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
125
134
  var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
126
135
  var __spreadValues$b = (a, b) => {
127
136
  for (var prop in b || (b = {}))
128
- if (__hasOwnProp$b.call(b, prop))
137
+ if (__hasOwnProp$c.call(b, prop))
129
138
  __defNormalProp$b(a, prop, b[prop]);
130
- if (__getOwnPropSymbols$b)
131
- for (var prop of __getOwnPropSymbols$b(b)) {
132
- if (__propIsEnum$b.call(b, prop))
139
+ if (__getOwnPropSymbols$c)
140
+ for (var prop of __getOwnPropSymbols$c(b)) {
141
+ if (__propIsEnum$c.call(b, prop))
133
142
  __defNormalProp$b(a, prop, b[prop]);
134
143
  }
135
144
  return a;
@@ -185,7 +194,7 @@ const OnLongPress = vueDemi.defineComponent({
185
194
  }
186
195
  });
187
196
 
188
- const VOnLongPress = (el, binding) => {
197
+ const vOnLongPress = (el, binding) => {
189
198
  if (typeof binding.value === "function")
190
199
  onLongPress(el, binding.value);
191
200
  else
@@ -357,7 +366,7 @@ function useMediaQuery(query, options = {}) {
357
366
  else
358
367
  mediaQuery.addListener(update);
359
368
  shared.tryOnScopeDispose(() => {
360
- if ("removeEventListener" in update)
369
+ if ("removeEventListener" in mediaQuery)
361
370
  mediaQuery.removeEventListener("change", update);
362
371
  else
363
372
  mediaQuery.removeListener(update);
@@ -371,17 +380,17 @@ function usePreferredDark(options) {
371
380
  }
372
381
 
373
382
  var __defProp$a = Object.defineProperty;
374
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
375
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
376
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
383
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
384
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
385
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
377
386
  var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
378
387
  var __spreadValues$a = (a, b) => {
379
388
  for (var prop in b || (b = {}))
380
- if (__hasOwnProp$a.call(b, prop))
389
+ if (__hasOwnProp$b.call(b, prop))
381
390
  __defNormalProp$a(a, prop, b[prop]);
382
- if (__getOwnPropSymbols$a)
383
- for (var prop of __getOwnPropSymbols$a(b)) {
384
- if (__propIsEnum$a.call(b, prop))
391
+ if (__getOwnPropSymbols$b)
392
+ for (var prop of __getOwnPropSymbols$b(b)) {
393
+ if (__propIsEnum$b.call(b, prop))
385
394
  __defNormalProp$a(a, prop, b[prop]);
386
395
  }
387
396
  return a;
@@ -537,17 +546,17 @@ const UseDocumentVisibility = vueDemi.defineComponent({
537
546
  var __defProp$9 = Object.defineProperty;
538
547
  var __defProps$8 = Object.defineProperties;
539
548
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
540
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
541
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
542
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
549
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
550
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
551
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
543
552
  var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
544
553
  var __spreadValues$9 = (a, b) => {
545
554
  for (var prop in b || (b = {}))
546
- if (__hasOwnProp$9.call(b, prop))
555
+ if (__hasOwnProp$a.call(b, prop))
547
556
  __defNormalProp$9(a, prop, b[prop]);
548
- if (__getOwnPropSymbols$9)
549
- for (var prop of __getOwnPropSymbols$9(b)) {
550
- if (__propIsEnum$9.call(b, prop))
557
+ if (__getOwnPropSymbols$a)
558
+ for (var prop of __getOwnPropSymbols$a(b)) {
559
+ if (__propIsEnum$a.call(b, prop))
551
560
  __defNormalProp$9(a, prop, b[prop]);
552
561
  }
553
562
  return a;
@@ -617,6 +626,74 @@ const UseElementSize = vueDemi.defineComponent({
617
626
  }
618
627
  });
619
628
 
629
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
630
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
631
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
632
+ var __objRest = (source, exclude) => {
633
+ var target = {};
634
+ for (var prop in source)
635
+ if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
636
+ target[prop] = source[prop];
637
+ if (source != null && __getOwnPropSymbols$9)
638
+ for (var prop of __getOwnPropSymbols$9(source)) {
639
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
640
+ target[prop] = source[prop];
641
+ }
642
+ return target;
643
+ };
644
+ function useResizeObserver(target, callback, options = {}) {
645
+ const _a = options, { window = defaultWindow } = _a, observerOptions = __objRest(_a, ["window"]);
646
+ let observer;
647
+ const isSupported = window && "ResizeObserver" in window;
648
+ const cleanup = () => {
649
+ if (observer) {
650
+ observer.disconnect();
651
+ observer = void 0;
652
+ }
653
+ };
654
+ const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
655
+ cleanup();
656
+ if (isSupported && window && el) {
657
+ observer = new ResizeObserver(callback);
658
+ observer.observe(el, observerOptions);
659
+ }
660
+ }, { immediate: true, flush: "post" });
661
+ const stop = () => {
662
+ cleanup();
663
+ stopWatch();
664
+ };
665
+ shared.tryOnScopeDispose(stop);
666
+ return {
667
+ isSupported,
668
+ stop
669
+ };
670
+ }
671
+
672
+ function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {
673
+ const width = vueDemi.ref(initialSize.width);
674
+ const height = vueDemi.ref(initialSize.height);
675
+ useResizeObserver(target, ([entry]) => {
676
+ width.value = entry.contentRect.width;
677
+ height.value = entry.contentRect.height;
678
+ }, options);
679
+ vueDemi.watch(() => unrefElement(target), (ele) => {
680
+ width.value = ele ? initialSize.width : 0;
681
+ height.value = ele ? initialSize.height : 0;
682
+ });
683
+ return {
684
+ width,
685
+ height
686
+ };
687
+ }
688
+
689
+ const vElementSize = (el, binding) => {
690
+ var _a;
691
+ const handler = typeof binding.value === "function" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];
692
+ const options = typeof binding.value === "function" ? [] : binding.value.slice(1);
693
+ const { width, height } = useElementSize(el, ...options);
694
+ vueDemi.watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));
695
+ };
696
+
620
697
  const UseElementVisibility = vueDemi.defineComponent({
621
698
  name: "UseElementVisibility",
622
699
  props: ["as"],
@@ -808,7 +885,7 @@ function useIntersectionObserver(target, callback, options = {}) {
808
885
  cleanup();
809
886
  if (!el)
810
887
  return;
811
- const observer = new window.IntersectionObserver(callback, {
888
+ const observer = new IntersectionObserver(callback, {
812
889
  root: root2,
813
890
  rootMargin,
814
891
  threshold
@@ -1464,11 +1541,14 @@ exports.UseTimestamp = UseTimestamp;
1464
1541
  exports.UseVirtualList = UseVirtualList;
1465
1542
  exports.UseWindowFocus = UseWindowFocus;
1466
1543
  exports.UseWindowSize = UseWindowSize;
1467
- exports.VOnClickOutside = VOnClickOutside;
1468
- exports.VOnLongPress = VOnLongPress;
1544
+ exports.VOnClickOutside = vOnClickOutside;
1545
+ exports.VOnLongPress = vOnLongPress;
1469
1546
  exports.vElementHover = vElementHover;
1547
+ exports.vElementSize = vElementSize;
1470
1548
  exports.vInfiniteScroll = vInfiniteScroll;
1471
1549
  exports.vIntersectionObserver = vIntersectionObserver;
1550
+ exports.vOnClickOutside = vOnClickOutside;
1472
1551
  exports.vOnKeyStroke = vOnKeyStroke;
1552
+ exports.vOnLongPress = vOnLongPress;
1473
1553
  exports.vScroll = vScroll;
1474
1554
  exports.vScrollLock = vScrollLock;
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as vue_demi from 'vue-demi';
2
2
  import { FunctionDirective, Ref, ComponentPublicInstance, UnwrapNestedRefs, ComputedRef } from 'vue-demi';
3
3
  import { MaybeRef, ConfigurableEventFilter, ConfigurableFlush } from '@vueuse/shared';
4
- import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, MaybeRef as MaybeRef$1, UsePointerOptions, UseTimeAgoOptions, TimestampOptions, UseVirtualListOptions, WindowSizeOptions } from '@vueuse/core';
4
+ import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize as ElementSize$1, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, MaybeRef as MaybeRef$1, UsePointerOptions, UseTimeAgoOptions, TimestampOptions, UseVirtualListOptions, WindowSizeOptions } from '@vueuse/core';
5
5
 
6
6
  interface ConfigurableWindow {
7
7
  window?: Window;
@@ -18,10 +18,7 @@ interface RenderableComponent {
18
18
 
19
19
  declare const OnClickOutside: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
20
20
 
21
- /**
22
- * TODO: Test that this actually works
23
- */
24
- declare const VOnClickOutside: FunctionDirective<any, (evt: PointerEvent) => void>;
21
+ declare const vOnClickOutside: FunctionDirective<any, (evt: PointerEvent) => void>;
25
22
 
26
23
  declare type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
27
24
  interface KeyStrokeOptions {
@@ -30,9 +27,9 @@ interface KeyStrokeOptions {
30
27
  passive?: boolean;
31
28
  }
32
29
 
33
- declare type BindingValueFunction$5 = (event: KeyboardEvent) => void;
34
- declare type BindingValueArray$4 = [BindingValueFunction$5, KeyStrokeOptions];
35
- declare const vOnKeyStroke: FunctionDirective<HTMLElement, BindingValueFunction$5 | BindingValueArray$4>;
30
+ declare type BindingValueFunction$6 = (event: KeyboardEvent) => void;
31
+ declare type BindingValueArray$5 = [BindingValueFunction$6, KeyStrokeOptions];
32
+ declare const vOnKeyStroke: FunctionDirective<HTMLElement, BindingValueFunction$6 | BindingValueArray$5>;
36
33
 
37
34
  interface OnLongPressOptions {
38
35
  /**
@@ -48,12 +45,12 @@ interface OnLongPressProps extends RenderableComponent {
48
45
  }
49
46
  declare const OnLongPress: vue_demi.DefineComponent<OnLongPressProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnLongPressProps>, {}>;
50
47
 
51
- declare type BindingValueFunction$4 = (evt: PointerEvent) => void;
52
- declare type BindingValueArray$3 = [
53
- BindingValueFunction$4,
48
+ declare type BindingValueFunction$5 = (evt: PointerEvent) => void;
49
+ declare type BindingValueArray$4 = [
50
+ BindingValueFunction$5,
54
51
  OnLongPressOptions
55
52
  ];
56
- declare const VOnLongPress: FunctionDirective<HTMLElement, BindingValueFunction$4 | BindingValueArray$3>;
53
+ declare const vOnLongPress: FunctionDirective<HTMLElement, BindingValueFunction$5 | BindingValueArray$4>;
57
54
 
58
55
  declare const UseActiveElement: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
59
56
  [key: string]: any;
@@ -212,10 +209,33 @@ interface ResizeObserverOptions extends ConfigurableWindow {
212
209
 
213
210
  declare const UseElementBounding: vue_demi.DefineComponent<ResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ResizeObserverOptions & RenderableComponent>, {}>;
214
211
 
215
- declare type BindingValueFunction$3 = (state: boolean) => void;
216
- declare const vElementHover: FunctionDirective<HTMLElement, BindingValueFunction$3>;
212
+ declare type BindingValueFunction$4 = (state: boolean) => void;
213
+ declare const vElementHover: FunctionDirective<HTMLElement, BindingValueFunction$4>;
214
+
215
+ declare const UseElementSize: vue_demi.DefineComponent<ElementSize$1 & ResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ElementSize$1 & ResizeObserverOptions & RenderableComponent>, {}>;
216
+
217
+ interface ElementSize {
218
+ width: number;
219
+ height: number;
220
+ }
221
+ /**
222
+ * Reactive size of an HTML element.
223
+ *
224
+ * @see https://vueuse.org/useElementSize
225
+ * @param target
226
+ * @param callback
227
+ * @param options
228
+ */
229
+ declare function useElementSize(target: MaybeElementRef, initialSize?: ElementSize, options?: ResizeObserverOptions): {
230
+ width: vue_demi.Ref<number>;
231
+ height: vue_demi.Ref<number>;
232
+ };
217
233
 
218
- declare const UseElementSize: vue_demi.DefineComponent<ElementSize & ResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ElementSize & ResizeObserverOptions & RenderableComponent>, {}>;
234
+ declare type RemoveFirstFromTuple<T extends any[]> = T['length'] extends 0 ? undefined : (((...b: T) => void) extends (a: any, ...b: infer I) => void ? I : []);
235
+ declare type BindingValueFunction$3 = (size: ElementSize) => void;
236
+ declare type VElementSizeOptions = RemoveFirstFromTuple<Parameters<typeof useElementSize>>;
237
+ declare type BindingValueArray$3 = [BindingValueFunction$3, ...VElementSizeOptions];
238
+ declare const vElementSize: FunctionDirective<HTMLElement, BindingValueFunction$3 | BindingValueArray$3>;
219
239
 
220
240
  declare const UseElementVisibility: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
221
241
 
@@ -480,4 +500,4 @@ declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<
480
500
 
481
501
  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>, {}>;
482
502
 
483
- export { OnClickOutside, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress, vElementHover, vInfiniteScroll, vIntersectionObserver, vOnKeyStroke, vScroll, vScrollLock };
503
+ 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, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
package/index.iife.js CHANGED
@@ -148,9 +148,18 @@
148
148
  return stop;
149
149
  }
150
150
 
151
- const VOnClickOutside = (el, binding) => {
152
- onClickOutside(el, binding.value);
151
+ const handler = () => {
152
+ let stop = null;
153
+ return (el, binding) => {
154
+ if (stop) {
155
+ stop();
156
+ stop = onClickOutside(el, binding.value);
157
+ return;
158
+ }
159
+ stop = onClickOutside(el, binding.value);
160
+ };
153
161
  };
162
+ const vOnClickOutside = handler();
154
163
 
155
164
  const createKeyPredicate = (keyFilter) => {
156
165
  if (typeof keyFilter === "function")
@@ -175,17 +184,17 @@
175
184
  }
176
185
 
177
186
  var __defProp$b = Object.defineProperty;
178
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
179
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
180
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
187
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
188
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
189
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
181
190
  var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
182
191
  var __spreadValues$b = (a, b) => {
183
192
  for (var prop in b || (b = {}))
184
- if (__hasOwnProp$b.call(b, prop))
193
+ if (__hasOwnProp$c.call(b, prop))
185
194
  __defNormalProp$b(a, prop, b[prop]);
186
- if (__getOwnPropSymbols$b)
187
- for (var prop of __getOwnPropSymbols$b(b)) {
188
- if (__propIsEnum$b.call(b, prop))
195
+ if (__getOwnPropSymbols$c)
196
+ for (var prop of __getOwnPropSymbols$c(b)) {
197
+ if (__propIsEnum$c.call(b, prop))
189
198
  __defNormalProp$b(a, prop, b[prop]);
190
199
  }
191
200
  return a;
@@ -241,7 +250,7 @@
241
250
  }
242
251
  });
243
252
 
244
- const VOnLongPress = (el, binding) => {
253
+ const vOnLongPress = (el, binding) => {
245
254
  if (typeof binding.value === "function")
246
255
  onLongPress(el, binding.value);
247
256
  else
@@ -413,7 +422,7 @@
413
422
  else
414
423
  mediaQuery.addListener(update);
415
424
  shared.tryOnScopeDispose(() => {
416
- if ("removeEventListener" in update)
425
+ if ("removeEventListener" in mediaQuery)
417
426
  mediaQuery.removeEventListener("change", update);
418
427
  else
419
428
  mediaQuery.removeListener(update);
@@ -427,17 +436,17 @@
427
436
  }
428
437
 
429
438
  var __defProp$a = Object.defineProperty;
430
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
431
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
432
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
439
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
440
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
441
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
433
442
  var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
434
443
  var __spreadValues$a = (a, b) => {
435
444
  for (var prop in b || (b = {}))
436
- if (__hasOwnProp$a.call(b, prop))
445
+ if (__hasOwnProp$b.call(b, prop))
437
446
  __defNormalProp$a(a, prop, b[prop]);
438
- if (__getOwnPropSymbols$a)
439
- for (var prop of __getOwnPropSymbols$a(b)) {
440
- if (__propIsEnum$a.call(b, prop))
447
+ if (__getOwnPropSymbols$b)
448
+ for (var prop of __getOwnPropSymbols$b(b)) {
449
+ if (__propIsEnum$b.call(b, prop))
441
450
  __defNormalProp$a(a, prop, b[prop]);
442
451
  }
443
452
  return a;
@@ -593,17 +602,17 @@
593
602
  var __defProp$9 = Object.defineProperty;
594
603
  var __defProps$8 = Object.defineProperties;
595
604
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
596
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
597
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
598
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
605
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
606
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
607
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
599
608
  var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
600
609
  var __spreadValues$9 = (a, b) => {
601
610
  for (var prop in b || (b = {}))
602
- if (__hasOwnProp$9.call(b, prop))
611
+ if (__hasOwnProp$a.call(b, prop))
603
612
  __defNormalProp$9(a, prop, b[prop]);
604
- if (__getOwnPropSymbols$9)
605
- for (var prop of __getOwnPropSymbols$9(b)) {
606
- if (__propIsEnum$9.call(b, prop))
613
+ if (__getOwnPropSymbols$a)
614
+ for (var prop of __getOwnPropSymbols$a(b)) {
615
+ if (__propIsEnum$a.call(b, prop))
607
616
  __defNormalProp$9(a, prop, b[prop]);
608
617
  }
609
618
  return a;
@@ -673,6 +682,74 @@
673
682
  }
674
683
  });
675
684
 
685
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
686
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
687
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
688
+ var __objRest = (source, exclude) => {
689
+ var target = {};
690
+ for (var prop in source)
691
+ if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
692
+ target[prop] = source[prop];
693
+ if (source != null && __getOwnPropSymbols$9)
694
+ for (var prop of __getOwnPropSymbols$9(source)) {
695
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
696
+ target[prop] = source[prop];
697
+ }
698
+ return target;
699
+ };
700
+ function useResizeObserver(target, callback, options = {}) {
701
+ const _a = options, { window = defaultWindow } = _a, observerOptions = __objRest(_a, ["window"]);
702
+ let observer;
703
+ const isSupported = window && "ResizeObserver" in window;
704
+ const cleanup = () => {
705
+ if (observer) {
706
+ observer.disconnect();
707
+ observer = void 0;
708
+ }
709
+ };
710
+ const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
711
+ cleanup();
712
+ if (isSupported && window && el) {
713
+ observer = new ResizeObserver(callback);
714
+ observer.observe(el, observerOptions);
715
+ }
716
+ }, { immediate: true, flush: "post" });
717
+ const stop = () => {
718
+ cleanup();
719
+ stopWatch();
720
+ };
721
+ shared.tryOnScopeDispose(stop);
722
+ return {
723
+ isSupported,
724
+ stop
725
+ };
726
+ }
727
+
728
+ function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {
729
+ const width = vueDemi.ref(initialSize.width);
730
+ const height = vueDemi.ref(initialSize.height);
731
+ useResizeObserver(target, ([entry]) => {
732
+ width.value = entry.contentRect.width;
733
+ height.value = entry.contentRect.height;
734
+ }, options);
735
+ vueDemi.watch(() => unrefElement(target), (ele) => {
736
+ width.value = ele ? initialSize.width : 0;
737
+ height.value = ele ? initialSize.height : 0;
738
+ });
739
+ return {
740
+ width,
741
+ height
742
+ };
743
+ }
744
+
745
+ const vElementSize = (el, binding) => {
746
+ var _a;
747
+ const handler = typeof binding.value === "function" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];
748
+ const options = typeof binding.value === "function" ? [] : binding.value.slice(1);
749
+ const { width, height } = useElementSize(el, ...options);
750
+ vueDemi.watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));
751
+ };
752
+
676
753
  const UseElementVisibility = vueDemi.defineComponent({
677
754
  name: "UseElementVisibility",
678
755
  props: ["as"],
@@ -864,7 +941,7 @@
864
941
  cleanup();
865
942
  if (!el)
866
943
  return;
867
- const observer = new window.IntersectionObserver(callback, {
944
+ const observer = new IntersectionObserver(callback, {
868
945
  root: root2,
869
946
  rootMargin,
870
947
  threshold
@@ -1520,12 +1597,15 @@
1520
1597
  exports.UseVirtualList = UseVirtualList;
1521
1598
  exports.UseWindowFocus = UseWindowFocus;
1522
1599
  exports.UseWindowSize = UseWindowSize;
1523
- exports.VOnClickOutside = VOnClickOutside;
1524
- exports.VOnLongPress = VOnLongPress;
1600
+ exports.VOnClickOutside = vOnClickOutside;
1601
+ exports.VOnLongPress = vOnLongPress;
1525
1602
  exports.vElementHover = vElementHover;
1603
+ exports.vElementSize = vElementSize;
1526
1604
  exports.vInfiniteScroll = vInfiniteScroll;
1527
1605
  exports.vIntersectionObserver = vIntersectionObserver;
1606
+ exports.vOnClickOutside = vOnClickOutside;
1528
1607
  exports.vOnKeyStroke = vOnKeyStroke;
1608
+ exports.vOnLongPress = vOnLongPress;
1529
1609
  exports.vScroll = vScroll;
1530
1610
  exports.vScrollLock = vScrollLock;
1531
1611
 
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- (function(i){if(!i.VueDemi){var n={},l=i.Vue;if(l)if(l.version.slice(0,2)==="2."){var p=i.VueCompositionAPI;if(p){for(var $ in p)n[$]=p[$];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=l,n.Vue2=l,n.version=l.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(l.version.slice(0,2)==="3."){for(var $ in l)n[$]=l[$];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=l,n.Vue2=void 0,n.version=l.version,n.set=function(h,m,U){return Array.isArray(h)?(h.length=Math.max(h.length,m),h.splice(m,1,U),U):(h[m]=U,U)},n.del=function(h,m){if(Array.isArray(h)){h.splice(m,1);return}delete h[m]}}else console.error("[vue-demi] Vue version "+l.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");i.VueDemi=n}})(window),function(i,n,l,p){"use strict";const $=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return l.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function h(t){var e;const r=n.unref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const m=p.isClient?window:void 0;function U(...t){let e,r,o,a;if(p.isString(t[0])?([r,o,a]=t,e=m):[e,r,o,a]=t,!e)return p.noop;let s=p.noop;const u=n.watch(()=>n.unref(e),f=>{s(),!!f&&(f.addEventListener(r,o,a),s=()=>{f.removeEventListener(r,o,a),s=p.noop})},{immediate:!0,flush:"post"}),c=()=>{u(),s()};return p.tryOnScopeDispose(c),c}function Oe(t,e,r={}){const{window:o=m,ignore:a}=r;if(!o)return;const s=n.ref(!0),c=[U(o,"click",_=>{const P=h(t),y=_.composedPath();!P||P===_.target||y.includes(P)||!s.value||a&&a.length>0&&a.some(v=>{const w=h(v);return w&&(_.target===w||y.includes(w))})||e(_)},{passive:!0,capture:!0}),U(o,"pointerdown",_=>{const P=h(t);s.value=!!P&&!_.composedPath().includes(P)},{passive:!0})];return()=>c.forEach(_=>_())}const me=(t,e)=>{Oe(t,e.value)},ye=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):t?()=>!0:()=>!1;function T(t,e,r={}){const{target:o=m,eventName:a="keydown",passive:s=!1}=r,u=ye(t);return U(o,a,f=>{u(f)&&e(f)},s)}var he=Object.defineProperty,A=Object.getOwnPropertySymbols,we=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,z=(t,e,r)=>e in t?he(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,be=(t,e)=>{for(var r in e||(e={}))we.call(e,r)&&z(t,r,e[r]);if(A)for(var r of A(e))Ue.call(e,r)&&z(t,r,e[r]);return t};const Se=(t,e)=>{var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:[];if(typeof e.value=="function")T(a,e.value,{target:t});else{const[s,u]=e.value;T(a,s,be({target:t},u))}},$e=500;function j(t,e,r){const o=n.computed(()=>l.unrefElement(t));let a=null;function s(){a!=null&&(clearTimeout(a),a=null)}function u(c){var f;s(),a=setTimeout(()=>e(c),(f=r==null?void 0:r.delay)!=null?f:$e)}l.useEventListener(o,"pointerdown",u),l.useEventListener(o,"pointerup",s),l.useEventListener(o,"pointerleave",s)}const Ce=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return j(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),Ee=(t,e)=>{typeof e.value=="function"?j(t,e.value):j(t,...e.value)},Ve=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:l.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Le=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(l.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),je=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(l.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),I=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},M="__vueuse_ssr_handlers__";I[M]=I[M]||{};const Ie=I[M];function B(t,e){return Ie[t]||e}function Me(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const Ne={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))}};function Te(t,e,r,o={}){var a;const{flush:s="pre",deep:u=!0,listenToStorageChanges:c=!0,writeDefaults:f=!0,shallow:_,window:P=m,eventFilter:y,onError:v=d=>{console.error(d)}}=o,w=n.unref(e),C=Me(w),O=(_?n.shallowRef:n.ref)(e),g=(a=o.serializer)!=null?a:Ne[C];if(!r)try{r=B("getDefaultStorage",()=>{var d;return(d=m)==null?void 0:d.localStorage})()}catch(d){v(d)}function b(d){if(!(!r||d&&d.key!==t))try{const S=d?d.newValue:r.getItem(t);S==null?(O.value=w,f&&w!==null&&r.setItem(t,g.write(w))):typeof S!="string"?O.value=S:O.value=g.read(S)}catch(S){v(S)}}return b(),P&&c&&U(P,"storage",d=>setTimeout(()=>b(d),0)),r&&p.watchWithFilter(O,()=>{try{O.value==null?r.removeItem(t):r.setItem(t,g.write(O.value))}catch(d){v(d)}},{flush:s,deep:u,eventFilter:y}),O}function Ae(t,e={}){const{window:r=m}=e;let o;const a=n.ref(!1),s=()=>{!r||(o||(o=r.matchMedia(t)),a.value=o.matches)};return p.tryOnMounted(()=>{s(),!!o&&("addEventListener"in o?o.addEventListener("change",s):o.addListener(s),p.tryOnScopeDispose(()=>{"removeEventListener"in s?o.removeEventListener("change",s):o.removeListener(s)}))}),a}function ze(t){return Ae("(prefers-color-scheme: dark)",t)}var Be=Object.defineProperty,W=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,H=(t,e,r)=>e in t?Be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Re=(t,e)=>{for(var r in e||(e={}))We.call(e,r)&&H(t,r,e[r]);if(W)for(var r of W(e))He.call(e,r)&&H(t,r,e[r]);return t};function Fe(t={}){const{selector:e="html",attribute:r="class",window:o=m,storage:a,storageKey:s="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:c}=t,f=Re({auto:"",light:"light",dark:"dark"},t.modes||{}),_=ze({window:o}),P=n.computed(()=>_.value?"dark":"light"),y=c||(s==null?n.ref("auto"):Te(s,"auto",a,{window:o,listenToStorageChanges:u})),v=n.computed({get(){return y.value==="auto"?P.value:y.value},set(g){y.value=g}}),w=B("updateHTMLAttrs",(g,b,d)=>{const S=o==null?void 0:o.document.querySelector(g);if(!!S)if(b==="class"){const Fr=d.split(/\s/g);Object.values(f).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{Fr.includes(E)?S.classList.add(E):S.classList.remove(E)})}else S.setAttribute(b,d)});function C(g){var b;w(e,r,(b=f[g])!=null?b:g)}function O(g){t.onChanged?t.onChanged(g,C):C(g)}return n.watch(v,O,{flush:"post",immediate:!0}),p.tryOnMounted(()=>O(v.value)),v}const Ke=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=Fe(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),ke=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=l.useDark(t),o=n.reactive({isDark:r,toggleDark:p.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),Je=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(l.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Ge=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(l.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),qe=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:l.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),Qe=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(l.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),Ye=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:l.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var Xe=Object.defineProperty,Ze=Object.defineProperties,xe=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,F=(t,e,r)=>e in t?Xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tt=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&F(t,r,e[r]);if(R)for(var r of R(e))et.call(e,r)&&F(t,r,e[r]);return t},rt=(t,e)=>Ze(t,xe(e));const nt=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),o=t.storageKey?l.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},l.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},a=n.reactive(l.useDraggable(r,rt(tt({},t),{initialValue:o})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${a.style}`},e.default(a))}}}),ot=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(l.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function at(t){const e=n.ref(!1);return U(t,"mouseenter",()=>e.value=!0),U(t,"mouseleave",()=>e.value=!1),e}const st=(t,e)=>{if(typeof e.value=="function"){const r=at(t);n.watch(r,o=>e.value(o))}},lt=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(l.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))}}}),it=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:l.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),ut=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(l.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),ft=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(l.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),ct=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(l.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),pt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(l.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function N(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=p.noop,onScroll:s=p.noop,offset:u={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0}}=e,f=n.ref(0),_=n.ref(0),P=n.ref(!1),y=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=p.useDebounceFn(O=>{P.value=!1,v.left=!1,v.right=!1,v.top=!1,v.bottom=!1,a(O)},r+o),C=O=>{const g=O.target===document?O.target.documentElement:O.target,b=g.scrollLeft;v.left=b<f.value,v.right=b>f.value,y.left=b<=0+(u.left||0),y.right=b+g.clientWidth>=g.scrollWidth-(u.right||0),f.value=b;const d=g.scrollTop;v.top=d<_.value,v.bottom=d>_.value,y.top=d<=0+(u.top||0),y.bottom=d+g.clientHeight>=g.scrollHeight-(u.bottom||0),_.value=d,P.value=!0,w(O),s(O)};U(t,"scroll",r?p.useThrottleFn(C,r):C,c)}return{x:f,y:_,isScrolling:P,arrivedState:y,directions:v}}var dt=Object.defineProperty,vt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?dt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,J=(t,e)=>{for(var r in e||(e={}))_t.call(e,r)&&k(t,r,e[r]);if(K)for(var r of K(e))Pt.call(e,r)&&k(t,r,e[r]);return t},Ot=(t,e)=>vt(t,gt(e));function G(t,e,r={}){var o;const a=n.reactive(N(t,Ot(J({},r),{offset:J({bottom:(o=r.distance)!=null?o:0},r.offset)})));n.watch(()=>a.arrivedState.bottom,s=>{s&&e(a)})}const mt=(t,e)=>{typeof e.value=="function"?G(t,e.value):G(t,...e.value)};function q(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:s=.1,window:u=m}=r,c=u&&"IntersectionObserver"in u;let f=p.noop;const _=c?n.watch(()=>({el:h(t),root:h(o)}),({el:y,root:v})=>{if(f(),!y)return;const w=new u.IntersectionObserver(e,{root:v,rootMargin:a,threshold:s});w.observe(y),f=()=>{w.disconnect(),f=p.noop}},{immediate:!0,flush:"post"}):p.noop,P=()=>{f(),_()};return p.tryOnScopeDispose(P),{isSupported:c,stop:P}}const yt=(t,e)=>{typeof e.value=="function"?q(t,e.value):q(t,...e.value)},ht=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(l.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(l.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var Ut=Object.defineProperty,bt=Object.defineProperties,St=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,Y=(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)&&Y(t,r,e[r]);if(Q)for(var r of Q(e))Ct.call(e,r)&&Y(t,r,e[r]);return t},Vt=(t,e)=>bt(t,St(e));const Lt=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(l.useMousePressed(Vt(Et({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),jt=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(l.useNetwork());return()=>{if(e.default)return e.default(r)}}});var It=Object.defineProperty,Mt=Object.defineProperties,Nt=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,Z=(t,e,r)=>e in t?It(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zt=(t,e)=>{for(var r in e||(e={}))Tt.call(e,r)&&Z(t,r,e[r]);if(X)for(var r of X(e))At.call(e,r)&&Z(t,r,e[r]);return t},Bt=(t,e)=>Mt(t,Nt(e));const Wt=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(l.useNow(Bt(zt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Ht=Object.defineProperty,Rt=Object.defineProperties,Ft=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?Ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Jt=(t,e)=>{for(var r in e||(e={}))Kt.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))kt.call(e,r)&&D(t,r,e[r]);return t},Gt=(t,e)=>Rt(t,Ft(e));const qt=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(l.useOffsetPagination(Gt(Jt({},t),{onPageChange(...a){var s;(s=t.onPageChange)==null||s.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var s;(s=t.onPageSizeChange)==null||s.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var s;(s=t.onPageCountChange)==null||s.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Qt=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:l.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Yt=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:l.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Xt=Object.defineProperty,Zt=Object.defineProperties,xt=Object.getOwnPropertyDescriptors,ee=Object.getOwnPropertySymbols,Dt=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,te=(t,e,r)=>e in t?Xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tr=(t,e)=>{for(var r in e||(e={}))Dt.call(e,r)&&te(t,r,e[r]);if(ee)for(var r of ee(e))er.call(e,r)&&te(t,r,e[r]);return t},rr=(t,e)=>Zt(t,xt(e));const nr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(l.usePointer(rr(tr({},t),{target:t.target==="self"?r:m})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),or=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:l.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),ar=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:l.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),sr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:l.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function V(t,e,{window:r=m}={}){const o=n.ref(""),a=n.computed(()=>{var s;return h(e)||((s=r==null?void 0:r.document)==null?void 0:s.documentElement)});return n.watch([a,()=>n.unref(t)],([s,u])=>{s&&r&&(o.value=r.getComputedStyle(s).getPropertyValue(u))},{immediate:!0}),n.watch(o,s=>{var u;((u=a.value)==null?void 0:u.style)&&a.value.style.setProperty(n.unref(t),s)}),o}const re="--vueuse-safe-area-top",ne="--vueuse-safe-area-right",oe="--vueuse-safe-area-bottom",ae="--vueuse-safe-area-left";function lr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(p.isClient){const s=V(re),u=V(ne),c=V(oe),f=V(ae);s.value="env(safe-area-inset-top, 0px)",u.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),U("resize",p.useDebounceFn(a))}function a(){t.value=L(re),e.value=L(ne),r.value=L(oe),o.value=L(ae)}return{top:t,right:e,bottom:r,left:o,update:a}}function L(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const ir=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:s}=lr();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?s.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var ur=Object.defineProperty,fr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?ur(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,vr=(t,e)=>{for(var r in e||(e={}))pr.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))dr.call(e,r)&&le(t,r,e[r]);return t},gr=(t,e)=>fr(t,cr(e));const _r=(t,e)=>{if(typeof e.value=="function"){const r=e.value,o=N(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=N(t,gr(vr({},o),{onScroll(s){var u;(u=o.onScroll)==null||u.call(o,s),r(a)},onStop(s){var u;(u=o.onStop)==null||u.call(o,s),r(a)}}))}};var ie,ue;function Pr(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}const fe=p.isClient&&(window==null?void 0:window.navigator)&&((ie=window==null?void 0:window.navigator)==null?void 0:ie.platform)&&/iP(ad|hone|od)/.test((ue=window==null?void 0:window.navigator)==null?void 0:ue.platform);function Or(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(()=>n.unref(t),c=>{if(c){const f=c;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const s=()=>{const c=n.unref(t);!c||r.value||(fe&&(o=U(document,"touchmove",Pr,{passive:!1})),c.style.overflow="hidden",r.value=!0)},u=()=>{const c=n.unref(t);!c||!r.value||(fe&&(o==null||o()),c.style.overflow=a,r.value=!1)};return n.computed({get(){return r.value},set(c){c?s():u()}})}const mr=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Or(r,o.value);n.watch(e,s=>a.value=s)}})();var yr=Object.defineProperty,hr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,ce=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,pe=(t,e,r)=>e in t?yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Sr=(t,e)=>{for(var r in e||(e={}))Ur.call(e,r)&&pe(t,r,e[r]);if(ce)for(var r of ce(e))br.call(e,r)&&pe(t,r,e[r]);return t},$r=(t,e)=>hr(t,wr(e));const Cr=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),o=n.reactive(l.useTimeAgo(r,$r(Sr({},t),{controls:!0})));return()=>{if(e.default)return e.default(o)}}});var Er=Object.defineProperty,Vr=Object.defineProperties,Lr=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable,ve=(t,e,r)=>e in t?Er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Mr=(t,e)=>{for(var r in e||(e={}))jr.call(e,r)&&ve(t,r,e[r]);if(de)for(var r of de(e))Ir.call(e,r)&&ve(t,r,e[r]);return t},Nr=(t,e)=>Vr(t,Lr(e));const Tr=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(l.useTimestamp(Nr(Mr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Ar=Object.defineProperty,ge=Object.getOwnPropertySymbols,zr=Object.prototype.hasOwnProperty,Br=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?Ar(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Pe=(t,e)=>{for(var r in e||(e={}))zr.call(e,r)&&_e(t,r,e[r]);if(ge)for(var r of ge(e))Br.call(e,r)&&_e(t,r,e[r]);return t};const Wr=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:s}=l.useVirtualList(r,t.options);return a.style.height=t.height||"300px",()=>n.h("div",Pe({},a),[n.h("div",Pe({},s.value),o.value.map(u=>n.h("div",{style:{overFlow:"hidden",height:u.height}},e.default?e.default(u):"Please set content!")))])}}),Hr=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:l.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Rr=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(l.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});i.OnClickOutside=$,i.OnLongPress=Ce,i.UseActiveElement=Ve,i.UseBattery=Le,i.UseBrowserLocation=je,i.UseColorMode=Ke,i.UseDark=ke,i.UseDeviceMotion=Je,i.UseDeviceOrientation=Ge,i.UseDevicePixelRatio=qe,i.UseDevicesList=Qe,i.UseDocumentVisibility=Ye,i.UseDraggable=nt,i.UseElementBounding=ot,i.UseElementSize=lt,i.UseElementVisibility=it,i.UseEyeDropper=ut,i.UseFullscreen=ft,i.UseGeolocation=ct,i.UseIdle=pt,i.UseMouse=ht,i.UseMouseInElement=wt,i.UseMousePressed=Lt,i.UseNetwork=jt,i.UseNow=Wt,i.UseOffsetPagination=qt,i.UseOnline=Qt,i.UsePageLeave=Yt,i.UsePointer=nr,i.UsePreferredColorScheme=or,i.UsePreferredDark=ar,i.UsePreferredLanguages=sr,i.UseScreenSafeArea=ir,i.UseTimeAgo=Cr,i.UseTimestamp=Tr,i.UseVirtualList=Wr,i.UseWindowFocus=Hr,i.UseWindowSize=Rr,i.VOnClickOutside=me,i.VOnLongPress=Ee,i.vElementHover=st,i.vInfiniteScroll=mt,i.vIntersectionObserver=yt,i.vOnKeyStroke=Se,i.vScroll=_r,i.vScrollLock=mr,Object.defineProperty(i,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
1
+ (function(l){if(!l.VueDemi){var n={},i=l.Vue;if(i)if(i.version.slice(0,2)==="2."){var p=l.VueCompositionAPI;if(p){for(var $ in p)n[$]=p[$];n.isVue2=!0,n.isVue3=!1,n.install=function(){},n.Vue=i,n.Vue2=i,n.version=i.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if(i.version.slice(0,2)==="3."){for(var $ in i)n[$]=i[$];n.isVue2=!1,n.isVue3=!0,n.install=function(){},n.Vue=i,n.Vue2=void 0,n.version=i.version,n.set=function(h,y,b){return Array.isArray(h)?(h.length=Math.max(h.length,y),h.splice(y,1,b),b):(h[y]=b,b)},n.del=function(h,y){if(Array.isArray(h)){h.splice(y,1);return}delete h[y]}}else console.error("[vue-demi] Vue version "+i.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");l.VueDemi=n}})(window),function(l,n,i,p){"use strict";const $=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return i.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function h(t){var e;const r=n.unref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const y=p.isClient?window:void 0;function b(...t){let e,r,o,a;if(p.isString(t[0])?([r,o,a]=t,e=y):[e,r,o,a]=t,!e)return p.noop;let s=p.noop;const u=n.watch(()=>n.unref(e),f=>{s(),!!f&&(f.addEventListener(r,o,a),s=()=>{f.removeEventListener(r,o,a),s=p.noop})},{immediate:!0,flush:"post"}),c=()=>{u(),s()};return p.tryOnScopeDispose(c),c}function T(t,e,r={}){const{window:o=y,ignore:a}=r;if(!o)return;const s=n.ref(!0),c=[b(o,"click",v=>{const g=h(t),O=v.composedPath();!g||g===v.target||O.includes(g)||!s.value||a&&a.length>0&&a.some(_=>{const w=h(_);return w&&(v.target===w||O.includes(w))})||e(v)},{passive:!0,capture:!0}),b(o,"pointerdown",v=>{const g=h(t);s.value=!!g&&!v.composedPath().includes(g)},{passive:!0})];return()=>c.forEach(v=>v())}const A=(()=>{let t=null;return(e,r)=>{if(t){t(),t=T(e,r.value);return}t=T(e,r.value)}})(),we=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):t?()=>!0:()=>!1;function z(t,e,r={}){const{target:o=y,eventName:a="keydown",passive:s=!1}=r,u=we(t);return b(o,a,f=>{u(f)&&e(f)},s)}var be=Object.defineProperty,R=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,B=(t,e,r)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,$e=(t,e)=>{for(var r in e||(e={}))Se.call(e,r)&&B(t,r,e[r]);if(R)for(var r of R(e))Ue.call(e,r)&&B(t,r,e[r]);return t};const Ce=(t,e)=>{var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:[];if(typeof e.value=="function")z(a,e.value,{target:t});else{const[s,u]=e.value;z(a,s,$e({target:t},u))}},Ee=500;function j(t,e,r){const o=n.computed(()=>i.unrefElement(t));let a=null;function s(){a!=null&&(clearTimeout(a),a=null)}function u(c){var f;s(),a=setTimeout(()=>e(c),(f=r==null?void 0:r.delay)!=null?f:Ee)}i.useEventListener(o,"pointerdown",u),i.useEventListener(o,"pointerup",s),i.useEventListener(o,"pointerleave",s)}const Ve=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return j(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),W=(t,e)=>{typeof e.value=="function"?j(t,e.value):j(t,...e.value)},Le=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:i.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),je=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(i.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Ie=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(i.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),I=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},M="__vueuse_ssr_handlers__";I[M]=I[M]||{};const Me=I[M];function H(t,e){return Me[t]||e}function Ne(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}const Te={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))}};function Ae(t,e,r,o={}){var a;const{flush:s="pre",deep:u=!0,listenToStorageChanges:c=!0,writeDefaults:f=!0,shallow:v,window:g=y,eventFilter:O,onError:_=d=>{console.error(d)}}=o,w=n.unref(e),C=Ne(w),m=(v?n.shallowRef:n.ref)(e),P=(a=o.serializer)!=null?a:Te[C];if(!r)try{r=H("getDefaultStorage",()=>{var d;return(d=y)==null?void 0:d.localStorage})()}catch(d){_(d)}function S(d){if(!(!r||d&&d.key!==t))try{const U=d?d.newValue:r.getItem(t);U==null?(m.value=w,f&&w!==null&&r.setItem(t,P.write(w))):typeof U!="string"?m.value=U:m.value=P.read(U)}catch(U){_(U)}}return S(),g&&c&&b(g,"storage",d=>setTimeout(()=>S(d),0)),r&&p.watchWithFilter(m,()=>{try{m.value==null?r.removeItem(t):r.setItem(t,P.write(m.value))}catch(d){_(d)}},{flush:s,deep:u,eventFilter:O}),m}function ze(t,e={}){const{window:r=y}=e;let o;const a=n.ref(!1),s=()=>{!r||(o||(o=r.matchMedia(t)),a.value=o.matches)};return p.tryOnMounted(()=>{s(),!!o&&("addEventListener"in o?o.addEventListener("change",s):o.addListener(s),p.tryOnScopeDispose(()=>{"removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s)}))}),a}function Re(t){return ze("(prefers-color-scheme: dark)",t)}var Be=Object.defineProperty,F=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?Be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Fe=(t,e)=>{for(var r in e||(e={}))We.call(e,r)&&k(t,r,e[r]);if(F)for(var r of F(e))He.call(e,r)&&k(t,r,e[r]);return t};function ke(t={}){const{selector:e="html",attribute:r="class",window:o=y,storage:a,storageKey:s="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:c}=t,f=Fe({auto:"",light:"light",dark:"dark"},t.modes||{}),v=Re({window:o}),g=n.computed(()=>v.value?"dark":"light"),O=c||(s==null?n.ref("auto"):Ae(s,"auto",a,{window:o,listenToStorageChanges:u})),_=n.computed({get(){return O.value==="auto"?g.value:O.value},set(P){O.value=P}}),w=H("updateHTMLAttrs",(P,S,d)=>{const U=o==null?void 0:o.document.querySelector(P);if(!!U)if(S==="class"){const Yr=d.split(/\s/g);Object.values(f).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{Yr.includes(E)?U.classList.add(E):U.classList.remove(E)})}else U.setAttribute(S,d)});function C(P){var S;w(e,r,(S=f[P])!=null?S:P)}function m(P){t.onChanged?t.onChanged(P,C):C(P)}return n.watch(_,m,{flush:"post",immediate:!0}),p.tryOnMounted(()=>m(_.value)),_}const Ke=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)}}}),Je=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=i.useDark(t),o=n.reactive({isDark:r,toggleDark:p.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),Ge=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(i.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),qe=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(i.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),Qe=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:i.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),Ye=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(i.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),Xe=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:i.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var Ze=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,et=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,J=(t,e,r)=>e in t?Ze(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,rt=(t,e)=>{for(var r in e||(e={}))et.call(e,r)&&J(t,r,e[r]);if(K)for(var r of K(e))tt.call(e,r)&&J(t,r,e[r]);return t},nt=(t,e)=>xe(t,De(e));const ot=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","pointerTypes","as"],setup(t,{slots:e}){const r=n.ref(),o=t.storageKey?i.useStorage(t.storageKey,n.unref(t.initialValue)||{x:0,y:0},i.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},a=n.reactive(i.useDraggable(r,nt(rt({},t),{initialValue:o})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${a.style}`},e.default(a))}}}),at=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(i.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function st(t){const e=n.ref(!1);return b(t,"mouseenter",()=>e.value=!0),b(t,"mouseleave",()=>e.value=!1),e}const lt=(t,e)=>{if(typeof e.value=="function"){const r=st(t);n.watch(r,o=>e.value(o))}},it=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(i.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 G=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,ct=(t,e)=>{var r={};for(var o in t)ut.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&G)for(var o of G(t))e.indexOf(o)<0&&ft.call(t,o)&&(r[o]=t[o]);return r};function pt(t,e,r={}){const o=r,{window:a=y}=o,s=ct(o,["window"]);let u;const c=a&&"ResizeObserver"in a,f=()=>{u&&(u.disconnect(),u=void 0)},v=n.watch(()=>h(t),O=>{f(),c&&a&&O&&(u=new ResizeObserver(e),u.observe(O,s))},{immediate:!0,flush:"post"}),g=()=>{f(),v()};return p.tryOnScopeDispose(g),{isSupported:c,stop:g}}function dt(t,e={width:0,height:0},r={}){const o=n.ref(e.width),a=n.ref(e.height);return pt(t,([s])=>{o.value=s.contentRect.width,a.value=s.contentRect.height},r),n.watch(()=>h(t),s=>{o.value=s?e.width:0,a.value=s?e.height:0}),{width:o,height:a}}const vt=(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:s,height:u}=dt(t,...a);n.watch([s,u],([c,f])=>o({width:c,height:f}))},gt=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:i.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),_t=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(i.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Ot=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(i.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Pt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(i.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),ht=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(i.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function N(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=p.noop,onScroll:s=p.noop,offset:u={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0}}=e,f=n.ref(0),v=n.ref(0),g=n.ref(!1),O=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),_=n.reactive({left:!1,right:!1,top:!1,bottom:!1});if(t){const w=p.useDebounceFn(m=>{g.value=!1,_.left=!1,_.right=!1,_.top=!1,_.bottom=!1,a(m)},r+o),C=m=>{const P=m.target===document?m.target.documentElement:m.target,S=P.scrollLeft;_.left=S<f.value,_.right=S>f.value,O.left=S<=0+(u.left||0),O.right=S+P.clientWidth>=P.scrollWidth-(u.right||0),f.value=S;const d=P.scrollTop;_.top=d<v.value,_.bottom=d>v.value,O.top=d<=0+(u.top||0),O.bottom=d+P.clientHeight>=P.scrollHeight-(u.bottom||0),v.value=d,g.value=!0,w(m),s(m)};b(t,"scroll",r?p.useThrottleFn(C,r):C,c)}return{x:f,y:v,isScrolling:g,arrivedState:O,directions:_}}var yt=Object.defineProperty,mt=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,Q=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Y=(t,e)=>{for(var r in e||(e={}))bt.call(e,r)&&Q(t,r,e[r]);if(q)for(var r of q(e))St.call(e,r)&&Q(t,r,e[r]);return t},Ut=(t,e)=>mt(t,wt(e));function X(t,e,r={}){var o;const a=n.reactive(N(t,Ut(Y({},r),{offset:Y({bottom:(o=r.distance)!=null?o:0},r.offset)})));n.watch(()=>a.arrivedState.bottom,s=>{s&&e(a)})}const $t=(t,e)=>{typeof e.value=="function"?X(t,e.value):X(t,...e.value)};function Z(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:s=.1,window:u=y}=r,c=u&&"IntersectionObserver"in u;let f=p.noop;const v=c?n.watch(()=>({el:h(t),root:h(o)}),({el:O,root:_})=>{if(f(),!O)return;const w=new IntersectionObserver(e,{root:_,rootMargin:a,threshold:s});w.observe(O),f=()=>{w.disconnect(),f=p.noop}},{immediate:!0,flush:"post"}):p.noop,g=()=>{f(),v()};return p.tryOnScopeDispose(g),{isSupported:c,stop:g}}const Ct=(t,e)=>{typeof e.value=="function"?Z(t,e.value):Z(t,...e.value)},Et=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(i.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Vt=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(i.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var Lt=Object.defineProperty,jt=Object.defineProperties,It=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?Lt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Tt=(t,e)=>{for(var r in e||(e={}))Mt.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))Nt.call(e,r)&&D(t,r,e[r]);return t},At=(t,e)=>jt(t,It(e));const zt=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(i.useMousePressed(At(Tt({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Rt=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(i.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Bt=Object.defineProperty,Wt=Object.defineProperties,Ht=Object.getOwnPropertyDescriptors,ee=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable,te=(t,e,r)=>e in t?Bt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Kt=(t,e)=>{for(var r in e||(e={}))Ft.call(e,r)&&te(t,r,e[r]);if(ee)for(var r of ee(e))kt.call(e,r)&&te(t,r,e[r]);return t},Jt=(t,e)=>Wt(t,Ht(e));const Gt=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(i.useNow(Jt(Kt({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var qt=Object.defineProperty,Qt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,Xt=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?qt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xt=(t,e)=>{for(var r in e||(e={}))Xt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))Zt.call(e,r)&&ne(t,r,e[r]);return t},Dt=(t,e)=>Qt(t,Yt(e));const er=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(i.useOffsetPagination(Dt(xt({},t),{onPageChange(...a){var s;(s=t.onPageChange)==null||s.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var s;(s=t.onPageSizeChange)==null||s.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var s;(s=t.onPageCountChange)==null||s.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),tr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:i.useOnline()});return()=>{if(e.default)return e.default(r)}}}),rr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:i.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var nr=Object.defineProperty,or=Object.defineProperties,ar=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,sr=Object.prototype.hasOwnProperty,lr=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e)=>{for(var r in e||(e={}))sr.call(e,r)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))lr.call(e,r)&&ae(t,r,e[r]);return t},ur=(t,e)=>or(t,ar(e));const fr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(i.usePointer(ur(ir({},t),{target:t.target==="self"?r:y})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),cr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:i.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),pr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:i.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),dr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:i.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}});function V(t,e,{window:r=y}={}){const o=n.ref(""),a=n.computed(()=>{var s;return h(e)||((s=r==null?void 0:r.document)==null?void 0:s.documentElement)});return n.watch([a,()=>n.unref(t)],([s,u])=>{s&&r&&(o.value=r.getComputedStyle(s).getPropertyValue(u))},{immediate:!0}),n.watch(o,s=>{var u;((u=a.value)==null?void 0:u.style)&&a.value.style.setProperty(n.unref(t),s)}),o}const se="--vueuse-safe-area-top",le="--vueuse-safe-area-right",ie="--vueuse-safe-area-bottom",ue="--vueuse-safe-area-left";function vr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(p.isClient){const s=V(se),u=V(le),c=V(ie),f=V(ue);s.value="env(safe-area-inset-top, 0px)",u.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),b("resize",p.useDebounceFn(a))}function a(){t.value=L(se),e.value=L(le),r.value=L(ie),o.value=L(ue)}return{top:t,right:e,bottom:r,left:o,update:a}}function L(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const gr=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:s}=vr();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?s.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var _r=Object.defineProperty,Or=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable,ce=(t,e,r)=>e in t?_r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,mr=(t,e)=>{for(var r in e||(e={}))hr.call(e,r)&&ce(t,r,e[r]);if(fe)for(var r of fe(e))yr.call(e,r)&&ce(t,r,e[r]);return t},wr=(t,e)=>Or(t,Pr(e));const br=(t,e)=>{if(typeof e.value=="function"){const r=e.value,o=N(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=N(t,wr(mr({},o),{onScroll(s){var u;(u=o.onScroll)==null||u.call(o,s),r(a)},onStop(s){var u;(u=o.onStop)==null||u.call(o,s),r(a)}}))}};var pe,de;function Sr(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}const ve=p.isClient&&(window==null?void 0:window.navigator)&&((pe=window==null?void 0:window.navigator)==null?void 0:pe.platform)&&/iP(ad|hone|od)/.test((de=window==null?void 0:window.navigator)==null?void 0:de.platform);function Ur(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(()=>n.unref(t),c=>{if(c){const f=c;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const s=()=>{const c=n.unref(t);!c||r.value||(ve&&(o=b(document,"touchmove",Sr,{passive:!1})),c.style.overflow="hidden",r.value=!0)},u=()=>{const c=n.unref(t);!c||!r.value||(ve&&(o==null||o()),c.style.overflow=a,r.value=!1)};return n.computed({get(){return r.value},set(c){c?s():u()}})}const $r=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Ur(r,o.value);n.watch(e,s=>a.value=s)}})();var Cr=Object.defineProperty,Er=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?Cr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ir=(t,e)=>{for(var r in e||(e={}))Lr.call(e,r)&&_e(t,r,e[r]);if(ge)for(var r of ge(e))jr.call(e,r)&&_e(t,r,e[r]);return t},Mr=(t,e)=>Er(t,Vr(e));const Nr=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.toRef(t,"time"),o=n.reactive(i.useTimeAgo(r,Mr(Ir({},t),{controls:!0})));return()=>{if(e.default)return e.default(o)}}});var Tr=Object.defineProperty,Ar=Object.defineProperties,zr=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Br=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Wr=(t,e)=>{for(var r in e||(e={}))Rr.call(e,r)&&Pe(t,r,e[r]);if(Oe)for(var r of Oe(e))Br.call(e,r)&&Pe(t,r,e[r]);return t},Hr=(t,e)=>Ar(t,zr(e));const Fr=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(i.useTimestamp(Hr(Wr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var kr=Object.defineProperty,he=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?kr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,me=(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))Jr.call(e,r)&&ye(t,r,e[r]);return t};const Gr=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:s}=i.useVirtualList(r,t.options);return a.style.height=t.height||"300px",()=>n.h("div",me({},a),[n.h("div",me({},s.value),o.value.map(u=>n.h("div",{style:{overFlow:"hidden",height:u.height}},e.default?e.default(u):"Please set content!")))])}}),qr=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:i.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Qr=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(i.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});l.OnClickOutside=$,l.OnLongPress=Ve,l.UseActiveElement=Le,l.UseBattery=je,l.UseBrowserLocation=Ie,l.UseColorMode=Ke,l.UseDark=Je,l.UseDeviceMotion=Ge,l.UseDeviceOrientation=qe,l.UseDevicePixelRatio=Qe,l.UseDevicesList=Ye,l.UseDocumentVisibility=Xe,l.UseDraggable=ot,l.UseElementBounding=at,l.UseElementSize=it,l.UseElementVisibility=gt,l.UseEyeDropper=_t,l.UseFullscreen=Ot,l.UseGeolocation=Pt,l.UseIdle=ht,l.UseMouse=Et,l.UseMouseInElement=Vt,l.UseMousePressed=zt,l.UseNetwork=Rt,l.UseNow=Gt,l.UseOffsetPagination=er,l.UseOnline=tr,l.UsePageLeave=rr,l.UsePointer=fr,l.UsePreferredColorScheme=cr,l.UsePreferredDark=pr,l.UsePreferredLanguages=dr,l.UseScreenSafeArea=gr,l.UseTimeAgo=Nr,l.UseTimestamp=Fr,l.UseVirtualList=Gr,l.UseWindowFocus=qr,l.UseWindowSize=Qr,l.VOnClickOutside=A,l.VOnLongPress=W,l.vElementHover=lt,l.vElementSize=vt,l.vInfiniteScroll=$t,l.vIntersectionObserver=Ct,l.vOnClickOutside=A,l.vOnKeyStroke=Ce,l.vOnLongPress=W,l.vScroll=br,l.vScrollLock=$r,Object.defineProperty(l,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, h, unref, watch, computed, reactive, shallowRef, toRef, toRefs } from 'vue-demi';
2
- import { onClickOutside as onClickOutside$1, unrefElement as unrefElement$1, useEventListener as useEventListener$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOffsetPagination, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark as usePreferredDark$1, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
2
+ import { onClickOutside as onClickOutside$1, unrefElement as unrefElement$1, useEventListener as useEventListener$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOffsetPagination, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark as usePreferredDark$1, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
3
3
  import { isClient, isString, noop, tryOnScopeDispose, watchWithFilter, tryOnMounted, useToggle, useDebounceFn, useThrottleFn } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = defineComponent({
@@ -88,9 +88,18 @@ function onClickOutside(target, handler, options = {}) {
88
88
  return stop;
89
89
  }
90
90
 
91
- const VOnClickOutside = (el, binding) => {
92
- onClickOutside(el, binding.value);
91
+ const handler = () => {
92
+ let stop = null;
93
+ return (el, binding) => {
94
+ if (stop) {
95
+ stop();
96
+ stop = onClickOutside(el, binding.value);
97
+ return;
98
+ }
99
+ stop = onClickOutside(el, binding.value);
100
+ };
93
101
  };
102
+ const vOnClickOutside = handler();
94
103
 
95
104
  const createKeyPredicate = (keyFilter) => {
96
105
  if (typeof keyFilter === "function")
@@ -115,17 +124,17 @@ function onKeyStroke(key, handler, options = {}) {
115
124
  }
116
125
 
117
126
  var __defProp$b = Object.defineProperty;
118
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
119
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
120
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
127
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
128
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
129
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
121
130
  var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
122
131
  var __spreadValues$b = (a, b) => {
123
132
  for (var prop in b || (b = {}))
124
- if (__hasOwnProp$b.call(b, prop))
133
+ if (__hasOwnProp$c.call(b, prop))
125
134
  __defNormalProp$b(a, prop, b[prop]);
126
- if (__getOwnPropSymbols$b)
127
- for (var prop of __getOwnPropSymbols$b(b)) {
128
- if (__propIsEnum$b.call(b, prop))
135
+ if (__getOwnPropSymbols$c)
136
+ for (var prop of __getOwnPropSymbols$c(b)) {
137
+ if (__propIsEnum$c.call(b, prop))
129
138
  __defNormalProp$b(a, prop, b[prop]);
130
139
  }
131
140
  return a;
@@ -181,7 +190,7 @@ const OnLongPress = defineComponent({
181
190
  }
182
191
  });
183
192
 
184
- const VOnLongPress = (el, binding) => {
193
+ const vOnLongPress = (el, binding) => {
185
194
  if (typeof binding.value === "function")
186
195
  onLongPress(el, binding.value);
187
196
  else
@@ -353,7 +362,7 @@ function useMediaQuery(query, options = {}) {
353
362
  else
354
363
  mediaQuery.addListener(update);
355
364
  tryOnScopeDispose(() => {
356
- if ("removeEventListener" in update)
365
+ if ("removeEventListener" in mediaQuery)
357
366
  mediaQuery.removeEventListener("change", update);
358
367
  else
359
368
  mediaQuery.removeListener(update);
@@ -367,17 +376,17 @@ function usePreferredDark(options) {
367
376
  }
368
377
 
369
378
  var __defProp$a = Object.defineProperty;
370
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
371
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
372
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
379
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
380
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
381
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
373
382
  var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
374
383
  var __spreadValues$a = (a, b) => {
375
384
  for (var prop in b || (b = {}))
376
- if (__hasOwnProp$a.call(b, prop))
385
+ if (__hasOwnProp$b.call(b, prop))
377
386
  __defNormalProp$a(a, prop, b[prop]);
378
- if (__getOwnPropSymbols$a)
379
- for (var prop of __getOwnPropSymbols$a(b)) {
380
- if (__propIsEnum$a.call(b, prop))
387
+ if (__getOwnPropSymbols$b)
388
+ for (var prop of __getOwnPropSymbols$b(b)) {
389
+ if (__propIsEnum$b.call(b, prop))
381
390
  __defNormalProp$a(a, prop, b[prop]);
382
391
  }
383
392
  return a;
@@ -533,17 +542,17 @@ const UseDocumentVisibility = defineComponent({
533
542
  var __defProp$9 = Object.defineProperty;
534
543
  var __defProps$8 = Object.defineProperties;
535
544
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
536
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
537
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
538
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
545
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
546
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
547
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
539
548
  var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
540
549
  var __spreadValues$9 = (a, b) => {
541
550
  for (var prop in b || (b = {}))
542
- if (__hasOwnProp$9.call(b, prop))
551
+ if (__hasOwnProp$a.call(b, prop))
543
552
  __defNormalProp$9(a, prop, b[prop]);
544
- if (__getOwnPropSymbols$9)
545
- for (var prop of __getOwnPropSymbols$9(b)) {
546
- if (__propIsEnum$9.call(b, prop))
553
+ if (__getOwnPropSymbols$a)
554
+ for (var prop of __getOwnPropSymbols$a(b)) {
555
+ if (__propIsEnum$a.call(b, prop))
547
556
  __defNormalProp$9(a, prop, b[prop]);
548
557
  }
549
558
  return a;
@@ -605,7 +614,7 @@ const UseElementSize = defineComponent({
605
614
  props: ["width", "height", "box"],
606
615
  setup(props, { slots }) {
607
616
  const target = ref();
608
- const data = reactive(useElementSize(target, { width: props.width, height: props.height }, { box: props.box }));
617
+ const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));
609
618
  return () => {
610
619
  if (slots.default)
611
620
  return h(props.as || "div", { ref: target }, slots.default(data));
@@ -613,6 +622,74 @@ const UseElementSize = defineComponent({
613
622
  }
614
623
  });
615
624
 
625
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
626
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
627
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
628
+ var __objRest = (source, exclude) => {
629
+ var target = {};
630
+ for (var prop in source)
631
+ if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
632
+ target[prop] = source[prop];
633
+ if (source != null && __getOwnPropSymbols$9)
634
+ for (var prop of __getOwnPropSymbols$9(source)) {
635
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
636
+ target[prop] = source[prop];
637
+ }
638
+ return target;
639
+ };
640
+ function useResizeObserver(target, callback, options = {}) {
641
+ const _a = options, { window = defaultWindow } = _a, observerOptions = __objRest(_a, ["window"]);
642
+ let observer;
643
+ const isSupported = window && "ResizeObserver" in window;
644
+ const cleanup = () => {
645
+ if (observer) {
646
+ observer.disconnect();
647
+ observer = void 0;
648
+ }
649
+ };
650
+ const stopWatch = watch(() => unrefElement(target), (el) => {
651
+ cleanup();
652
+ if (isSupported && window && el) {
653
+ observer = new ResizeObserver(callback);
654
+ observer.observe(el, observerOptions);
655
+ }
656
+ }, { immediate: true, flush: "post" });
657
+ const stop = () => {
658
+ cleanup();
659
+ stopWatch();
660
+ };
661
+ tryOnScopeDispose(stop);
662
+ return {
663
+ isSupported,
664
+ stop
665
+ };
666
+ }
667
+
668
+ function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {
669
+ const width = ref(initialSize.width);
670
+ const height = ref(initialSize.height);
671
+ useResizeObserver(target, ([entry]) => {
672
+ width.value = entry.contentRect.width;
673
+ height.value = entry.contentRect.height;
674
+ }, options);
675
+ watch(() => unrefElement(target), (ele) => {
676
+ width.value = ele ? initialSize.width : 0;
677
+ height.value = ele ? initialSize.height : 0;
678
+ });
679
+ return {
680
+ width,
681
+ height
682
+ };
683
+ }
684
+
685
+ const vElementSize = (el, binding) => {
686
+ var _a;
687
+ const handler = typeof binding.value === "function" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];
688
+ const options = typeof binding.value === "function" ? [] : binding.value.slice(1);
689
+ const { width, height } = useElementSize(el, ...options);
690
+ watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));
691
+ };
692
+
616
693
  const UseElementVisibility = defineComponent({
617
694
  name: "UseElementVisibility",
618
695
  props: ["as"],
@@ -804,7 +881,7 @@ function useIntersectionObserver(target, callback, options = {}) {
804
881
  cleanup();
805
882
  if (!el)
806
883
  return;
807
- const observer = new window.IntersectionObserver(callback, {
884
+ const observer = new IntersectionObserver(callback, {
808
885
  root: root2,
809
886
  rootMargin,
810
887
  threshold
@@ -1422,4 +1499,4 @@ const UseWindowSize = defineComponent({
1422
1499
  }
1423
1500
  });
1424
1501
 
1425
- export { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress, vElementHover, vInfiniteScroll, vIntersectionObserver, vOnKeyStroke, vScroll, vScrollLock };
1502
+ 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, 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.0.0-beta.2",
3
+ "version": "8.0.1",
4
4
  "description": "Renderless components for VueUse",
5
5
  "keywords": [
6
6
  "vue",
@@ -8,12 +8,17 @@
8
8
  "utils"
9
9
  ],
10
10
  "license": "MIT",
11
+ "author": "Jacob Clevenger<https://github.com/wheatjs>",
11
12
  "repository": {
12
13
  "type": "git",
13
14
  "url": "git+https://github.com/vueuse/vueuse.git",
14
15
  "directory": "packages/components"
15
16
  },
16
- "author": "Jacob Clevenger<https://github.com/wheatjs>",
17
+ "main": "./index.cjs",
18
+ "module": "./index.mjs",
19
+ "types": "./index.d.ts",
20
+ "unpkg": "./index.iife.min.js",
21
+ "jsdelivr": "./index.iife.min.js",
17
22
  "exports": {
18
23
  ".": {
19
24
  "import": "./index.mjs",
@@ -22,19 +27,14 @@
22
27
  },
23
28
  "./*": "./*"
24
29
  },
25
- "main": "./index.cjs",
26
- "types": "./index.d.ts",
27
- "module": "./index.mjs",
28
- "unpkg": "./index.iife.min.js",
29
- "jsdelivr": "./index.iife.min.js",
30
30
  "sideEffects": false,
31
31
  "bugs": {
32
32
  "url": "https://github.com/vueuse/vueuse/issues"
33
33
  },
34
34
  "homepage": "https://github.com/vueuse/vueuse/tree/main/packages/components#readme",
35
35
  "dependencies": {
36
- "@vueuse/core": "8.0.0-beta.2",
37
- "@vueuse/shared": "8.0.0-beta.2",
36
+ "@vueuse/core": "8.0.1",
37
+ "@vueuse/shared": "8.0.1",
38
38
  "vue-demi": "*"
39
39
  }
40
40
  }