@vueuse/components 10.1.2 → 10.2.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
@@ -116,10 +116,12 @@ function onClickOutside(target, handler, options = {}) {
116
116
  shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
117
117
  }, { passive: true }),
118
118
  detectIframe && useEventListener(window, "blur", (event) => {
119
- var _a;
120
- const el = unrefElement(target);
121
- if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
122
- handler(event);
119
+ setTimeout(() => {
120
+ var _a;
121
+ const el = unrefElement(target);
122
+ if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
123
+ handler(event);
124
+ }, 0);
123
125
  })
124
126
  ].filter(Boolean);
125
127
  const stop = () => cleanup.forEach((fn) => fn());
@@ -599,7 +601,8 @@ function useColorMode(options = {}) {
599
601
  let style;
600
602
  if (disableTransition) {
601
603
  style = window.document.createElement("style");
602
- style.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"));
604
+ const styleString = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";
605
+ style.appendChild(document.createTextNode(styleString));
603
606
  window.document.head.appendChild(style);
604
607
  }
605
608
  if (attribute2 === "class") {
@@ -770,7 +773,10 @@ const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
770
773
  "pointerTypes",
771
774
  "as",
772
775
  "handle",
773
- "axis"
776
+ "axis",
777
+ "onStart",
778
+ "onMove",
779
+ "onEnd"
774
780
  ],
775
781
  setup(props, { slots }) {
776
782
  const target = vueDemi.ref();
@@ -784,7 +790,9 @@ const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
784
790
  core.isClient ? props.storageType === "session" ? sessionStorage : localStorage : void 0
785
791
  );
786
792
  const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };
787
- const onEnd = (position) => {
793
+ const onEnd = (position, event) => {
794
+ var _a;
795
+ (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);
788
796
  if (!storageValue)
789
797
  return;
790
798
  storageValue.value.x = position.x;
@@ -930,8 +938,8 @@ function useElementSize(target, initialSize = { width: 0, height: 0 }, options =
930
938
  const $elem = unrefElement(target);
931
939
  if ($elem) {
932
940
  const styles = window.getComputedStyle($elem);
933
- width.value = parseFloat(styles.width);
934
- height.value = parseFloat(styles.height);
941
+ width.value = Number.parseFloat(styles.width);
942
+ height.value = Number.parseFloat(styles.height);
935
943
  }
936
944
  } else {
937
945
  if (boxSize) {
@@ -1220,7 +1228,7 @@ var __spreadValues$9 = (a, b) => {
1220
1228
  async function loadImage(options) {
1221
1229
  return new Promise((resolve, reject) => {
1222
1230
  const img = new Image();
1223
- const { src, srcset, sizes, class: clazz, loading, crossorigin } = options;
1231
+ const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;
1224
1232
  img.src = src;
1225
1233
  if (srcset)
1226
1234
  img.srcset = srcset;
@@ -1232,6 +1240,8 @@ async function loadImage(options) {
1232
1240
  img.loading = loading;
1233
1241
  if (crossorigin)
1234
1242
  img.crossOrigin = crossorigin;
1243
+ if (referrerPolicy)
1244
+ img.referrerPolicy = referrerPolicy;
1235
1245
  img.onload = () => resolve(img);
1236
1246
  img.onerror = reject;
1237
1247
  });
@@ -1262,7 +1272,8 @@ const UseImage = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
1262
1272
  "alt",
1263
1273
  "class",
1264
1274
  "loading",
1265
- "crossorigin"
1275
+ "crossorigin",
1276
+ "referrerPolicy"
1266
1277
  ],
1267
1278
  setup(props, { slots }) {
1268
1279
  const data = vueDemi.reactive(useImage(props));
@@ -1351,7 +1362,7 @@ function useScroll(element, options = {}) {
1351
1362
  };
1352
1363
  const onScrollEndDebounced = shared.useDebounceFn(onScrollEnd, throttle + idle);
1353
1364
  const setArrivedState = (target) => {
1354
- const el = target === document ? target.documentElement : target;
1365
+ const el = target === window ? target.document.documentElement : target === document ? target.documentElement : target;
1355
1366
  const { display, flexDirection } = getComputedStyle(el);
1356
1367
  const scrollLeft = el.scrollLeft;
1357
1368
  directions.left = scrollLeft < internalX.value;
@@ -1876,7 +1887,7 @@ function useCssVar(prop, target, options = {}) {
1876
1887
  }
1877
1888
  if (observe) {
1878
1889
  useMutationObserver(elRef, updateCssVar, {
1879
- attributes: true,
1890
+ attributeFilter: ["style", "class"],
1880
1891
  window
1881
1892
  });
1882
1893
  }
@@ -2020,7 +2031,7 @@ const vScroll = {
2020
2031
 
2021
2032
  function checkOverflowScroll(ele) {
2022
2033
  const style = window.getComputedStyle(ele);
2023
- if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientHeight < ele.scrollHeight || style.overflowY === "auto" && ele.clientWidth < ele.scrollWidth) {
2034
+ if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) {
2024
2035
  return true;
2025
2036
  } else {
2026
2037
  const parent = ele.parentNode;
package/index.d.ts CHANGED
@@ -46,7 +46,7 @@ type OnClickOutsideHandler<T extends {
46
46
  interface OnClickOutsideProps extends RenderableComponent {
47
47
  options?: OnClickOutsideOptions;
48
48
  }
49
- declare const OnClickOutside: vue_demi.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnClickOutsideProps>, {}>;
49
+ declare const OnClickOutside: vue_demi.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnClickOutsideProps>, {}, {}>;
50
50
 
51
51
  declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
52
52
 
@@ -87,7 +87,7 @@ interface OnLongPressModifiers {
87
87
  interface OnLongPressProps extends RenderableComponent {
88
88
  options?: OnLongPressOptions;
89
89
  }
90
- declare const OnLongPress: vue_demi.DefineComponent<OnLongPressProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnLongPressProps>, {}>;
90
+ declare const OnLongPress: vue_demi.DefineComponent<OnLongPressProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnLongPressProps>, {}, {}>;
91
91
 
92
92
  type BindingValueFunction$6 = (evt: PointerEvent) => void;
93
93
  type BindingValueArray$5 = [
@@ -98,15 +98,15 @@ declare const vOnLongPress: ObjectDirective<HTMLElement, BindingValueFunction$6
98
98
 
99
99
  declare const UseActiveElement: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
100
100
  [key: string]: any;
101
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
101
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
102
102
 
103
103
  declare const UseBattery: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
104
104
  [key: string]: any;
105
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
105
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
106
106
 
107
107
  declare const UseBrowserLocation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
108
108
  [key: string]: any;
109
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
109
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
110
110
 
111
111
  interface StorageLike {
112
112
  getItem(key: string): string | null;
@@ -236,27 +236,27 @@ interface UseColorModeOptions<T extends string = BasicColorMode> extends UseStor
236
236
  disableTransition?: boolean;
237
237
  }
238
238
 
239
- declare const UseColorMode: vue_demi.DefineComponent<UseColorModeOptions<BasicColorMode>, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseColorModeOptions<BasicColorMode>>, {}>;
239
+ declare const UseColorMode: vue_demi.DefineComponent<UseColorModeOptions<BasicColorMode>, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseColorModeOptions<BasicColorMode>>, {}, {}>;
240
240
 
241
- declare const UseDark: vue_demi.DefineComponent<UseDarkOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDarkOptions>, {}>;
241
+ declare const UseDark: vue_demi.DefineComponent<UseDarkOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDarkOptions>, {}, {}>;
242
242
 
243
243
  declare const UseDeviceMotion: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
244
244
  [key: string]: any;
245
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
245
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
246
246
 
247
247
  declare const UseDeviceOrientation: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
248
248
  [key: string]: any;
249
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
249
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
250
250
 
251
251
  declare const UseDevicePixelRatio: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
252
252
  [key: string]: any;
253
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
253
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
254
254
 
255
- declare const UseDevicesList: vue_demi.DefineComponent<UseDevicesListOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDevicesListOptions>, {}>;
255
+ declare const UseDevicesList: vue_demi.DefineComponent<UseDevicesListOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDevicesListOptions>, {}, {}>;
256
256
 
257
257
  declare const UseDocumentVisibility: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
258
258
  [key: string]: any;
259
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
259
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
260
260
 
261
261
  interface UseDraggableProps extends UseDraggableOptions, RenderableComponent {
262
262
  /**
@@ -270,7 +270,7 @@ interface UseDraggableProps extends UseDraggableOptions, RenderableComponent {
270
270
  */
271
271
  storageType?: 'local' | 'session';
272
272
  }
273
- declare const UseDraggable: vue_demi.DefineComponent<UseDraggableProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDraggableProps>, {}>;
273
+ declare const UseDraggable: vue_demi.DefineComponent<UseDraggableProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseDraggableProps>, {}, {}>;
274
274
 
275
275
  interface UseResizeObserverOptions extends ConfigurableWindow {
276
276
  /**
@@ -282,12 +282,12 @@ interface UseResizeObserverOptions extends ConfigurableWindow {
282
282
  box?: ResizeObserverBoxOptions;
283
283
  }
284
284
 
285
- declare const UseElementBounding: vue_demi.DefineComponent<UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseResizeObserverOptions & RenderableComponent>, {}>;
285
+ declare const UseElementBounding: vue_demi.DefineComponent<UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseResizeObserverOptions & RenderableComponent>, {}, {}>;
286
286
 
287
287
  type BindingValueFunction$5 = (state: boolean) => void;
288
288
  declare const vElementHover: ObjectDirective<HTMLElement, BindingValueFunction$5>;
289
289
 
290
- declare const UseElementSize: vue_demi.DefineComponent<ElementSize$1 & UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ElementSize$1 & UseResizeObserverOptions & RenderableComponent>, {}>;
290
+ declare const UseElementSize: vue_demi.DefineComponent<ElementSize$1 & UseResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<ElementSize$1 & UseResizeObserverOptions & RenderableComponent>, {}, {}>;
291
291
 
292
292
  interface ElementSize {
293
293
  width: number;
@@ -312,7 +312,7 @@ type VElementSizeOptions = RemoveFirstFromTuple<Parameters<typeof useElementSize
312
312
  type BindingValueArray$4 = [BindingValueFunction$4, ...VElementSizeOptions];
313
313
  declare const vElementSize: ObjectDirective<HTMLElement, BindingValueFunction$4 | BindingValueArray$4>;
314
314
 
315
- declare const UseElementVisibility: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
315
+ declare const UseElementVisibility: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
316
316
 
317
317
  interface UseElementVisibilityOptions extends ConfigurableWindow {
318
318
  scrollTarget?: MaybeRefOrGetter<HTMLElement | undefined | null>;
@@ -328,17 +328,17 @@ declare const UseEyeDropper: vue_demi.DefineComponent<{
328
328
  [key: string]: any;
329
329
  }>[] | undefined, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
330
330
  sRGBHex: StringConstructor;
331
- }>>, {}>;
331
+ }>>, {}, {}>;
332
332
 
333
- declare const UseFullscreen: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
333
+ declare const UseFullscreen: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
334
334
 
335
- declare const UseGeolocation: vue_demi.DefineComponent<UseGeolocationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseGeolocationOptions>, {}>;
335
+ declare const UseGeolocation: vue_demi.DefineComponent<UseGeolocationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseGeolocationOptions>, {}, {}>;
336
336
 
337
337
  declare const UseIdle: vue_demi.DefineComponent<UseIdleOptions & {
338
338
  timeout: number;
339
339
  }, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseIdleOptions & {
340
340
  timeout: number;
341
- }>, {}>;
341
+ }>, {}, {}>;
342
342
 
343
343
  interface UseImageOptions {
344
344
  /** Address of the resource */
@@ -355,9 +355,11 @@ interface UseImageOptions {
355
355
  loading?: HTMLImageElement['loading'];
356
356
  /** Image CORS settings */
357
357
  crossorigin?: string;
358
+ /** Referrer policy for fetch https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy */
359
+ referrerPolicy?: HTMLImageElement['referrerPolicy'];
358
360
  }
359
361
 
360
- declare const UseImage: vue_demi.DefineComponent<UseImageOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseImageOptions & RenderableComponent>, {}>;
362
+ declare const UseImage: vue_demi.DefineComponent<UseImageOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseImageOptions & RenderableComponent>, {}, {}>;
361
363
 
362
364
  interface UseScrollOptions {
363
365
  /**
@@ -492,22 +494,22 @@ type BindingValueFunction$1 = IntersectionObserverCallback;
492
494
  type BindingValueArray$1 = [BindingValueFunction$1, UseIntersectionObserverOptions];
493
495
  declare const vIntersectionObserver: ObjectDirective<HTMLElement, BindingValueFunction$1 | BindingValueArray$1>;
494
496
 
495
- declare const UseMouse: vue_demi.DefineComponent<UseMouseOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseMouseOptions>, {}>;
497
+ declare const UseMouse: vue_demi.DefineComponent<UseMouseOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseMouseOptions>, {}, {}>;
496
498
 
497
- declare const UseMouseInElement: vue_demi.DefineComponent<MouseInElementOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<MouseInElementOptions & RenderableComponent>, {}>;
499
+ declare const UseMouseInElement: vue_demi.DefineComponent<MouseInElementOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<MouseInElementOptions & RenderableComponent>, {}, {}>;
498
500
 
499
- declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions, "target"> & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<MousePressedOptions, "target"> & RenderableComponent>, {}>;
501
+ declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions, "target"> & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<MousePressedOptions, "target"> & RenderableComponent>, {}, {}>;
500
502
 
501
503
  declare const UseNetwork: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
502
504
  [key: string]: any;
503
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
505
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
504
506
 
505
- declare const UseNow: vue_demi.DefineComponent<Omit<UseNowOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseNowOptions<true>, "controls">>, {}>;
507
+ declare const UseNow: vue_demi.DefineComponent<Omit<UseNowOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseNowOptions<true>, "controls">>, {}, {}>;
506
508
 
507
509
  interface UseObjectUrlProps {
508
510
  object: Blob | MediaSource | undefined;
509
511
  }
510
- declare const UseObjectUrl: vue_demi.DefineComponent<UseObjectUrlProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseObjectUrlProps>, {}>;
512
+ declare const UseObjectUrl: vue_demi.DefineComponent<UseObjectUrlProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseObjectUrlProps>, {}, {}>;
511
513
 
512
514
  interface UseOffsetPaginationOptions {
513
515
  /**
@@ -547,43 +549,43 @@ interface UseOffsetPaginationReturn {
547
549
  next: () => void;
548
550
  }
549
551
 
550
- declare const UseOffsetPagination: vue_demi.DefineComponent<UseOffsetPaginationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseOffsetPaginationOptions>, {}>;
552
+ declare const UseOffsetPagination: vue_demi.DefineComponent<UseOffsetPaginationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseOffsetPaginationOptions>, {}, {}>;
551
553
 
552
554
  declare const UseOnline: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
553
555
  [key: string]: any;
554
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
556
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
555
557
 
556
558
  declare const UsePageLeave: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
557
559
  [key: string]: any;
558
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
560
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
559
561
 
560
562
  declare const UsePointer: vue_demi.DefineComponent<Omit<UsePointerOptions, "target"> & {
561
563
  target: 'window' | 'self';
562
564
  }, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UsePointerOptions, "target"> & {
563
565
  target: 'window' | 'self';
564
- }>, {}>;
566
+ }>, {}, {}>;
565
567
 
566
- declare const UsePointerLock: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
568
+ declare const UsePointerLock: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}, {}>;
567
569
 
568
570
  declare const UsePreferredColorScheme: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
569
571
  [key: string]: any;
570
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
572
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
571
573
 
572
574
  declare const UsePreferredContrast: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
573
575
  [key: string]: any;
574
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
576
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
575
577
 
576
578
  declare const UsePreferredDark: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
577
579
  [key: string]: any;
578
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
580
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
579
581
 
580
582
  declare const UsePreferredLanguages: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
581
583
  [key: string]: any;
582
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
584
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
583
585
 
584
586
  declare const UsePreferredReducedMotion: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
585
587
  [key: string]: any;
586
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
588
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
587
589
 
588
590
  declare const UseScreenSafeArea: vue_demi.DefineComponent<{
589
591
  top: BooleanConstructor;
@@ -602,7 +604,7 @@ declare const UseScreenSafeArea: vue_demi.DefineComponent<{
602
604
  right: boolean;
603
605
  top: boolean;
604
606
  bottom: boolean;
605
- }>;
607
+ }, {}>;
606
608
 
607
609
  type BindingValueFunction = (state: UseScrollReturn) => void;
608
610
  type BindingValueArray = [BindingValueFunction, UseScrollOptions];
@@ -613,9 +615,9 @@ declare const vScrollLock: FunctionDirective<HTMLElement, boolean>;
613
615
  interface UseTimeAgoComponentOptions extends Omit<UseTimeAgoOptions<true>, 'controls'> {
614
616
  time: MaybeRef<Date | number | string>;
615
617
  }
616
- declare const UseTimeAgo: vue_demi.DefineComponent<UseTimeAgoComponentOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseTimeAgoComponentOptions>, {}>;
618
+ declare const UseTimeAgo: vue_demi.DefineComponent<UseTimeAgoComponentOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseTimeAgoComponentOptions>, {}, {}>;
617
619
 
618
- declare const UseTimestamp: vue_demi.DefineComponent<Omit<UseTimestampOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseTimestampOptions<true>, "controls">>, {}>;
620
+ declare const UseTimestamp: vue_demi.DefineComponent<Omit<UseTimestampOptions<true>, "controls">, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<Omit<UseTimestampOptions<true>, "controls">>, {}, {}>;
619
621
 
620
622
  interface UseVirtualListProps {
621
623
  /**
@@ -637,12 +639,12 @@ interface UseVirtualListProps {
637
639
  */
638
640
  height: string;
639
641
  }
640
- declare const UseVirtualList: vue_demi.DefineComponent<UseVirtualListProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseVirtualListProps>, {}>;
642
+ declare const UseVirtualList: vue_demi.DefineComponent<UseVirtualListProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseVirtualListProps>, {}, {}>;
641
643
 
642
644
  declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
643
645
  [key: string]: any;
644
- }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}>;
646
+ }>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{}>>, {}, {}>;
645
647
 
646
- declare const UseWindowSize: vue_demi.DefineComponent<UseWindowSizeOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseWindowSizeOptions>, {}>;
648
+ declare const UseWindowSize: vue_demi.DefineComponent<UseWindowSizeOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseWindowSizeOptions>, {}, {}>;
647
649
 
648
650
  export { OnClickOutside, OnClickOutsideProps, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseObjectUrlProps, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
package/index.iife.js CHANGED
@@ -19,6 +19,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
19
19
  VueDemi.Vue2 = Vue
20
20
  VueDemi.version = Vue.version
21
21
  VueDemi.warn = Vue.util.warn
22
+ VueDemi.hasInjectionContext = () => !!VueDemi.getCurrentInstance()
22
23
  function createApp(rootComponent, rootProps) {
23
24
  var vm
24
25
  var provide = {}
@@ -71,6 +72,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
71
72
  VueDemi.Vue = Vue
72
73
  VueDemi.Vue2 = Vue
73
74
  VueDemi.version = Vue.version
75
+ VueDemi.hasInjectionContext = () => !!VueDemi.getCurrentInstance()
74
76
  } else {
75
77
  console.error('[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.')
76
78
  }
@@ -227,10 +229,12 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
227
229
  shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
228
230
  }, { passive: true }),
229
231
  detectIframe && useEventListener(window, "blur", (event) => {
230
- var _a;
231
- const el = unrefElement(target);
232
- if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
233
- handler(event);
232
+ setTimeout(() => {
233
+ var _a;
234
+ const el = unrefElement(target);
235
+ if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
236
+ handler(event);
237
+ }, 0);
234
238
  })
235
239
  ].filter(Boolean);
236
240
  const stop = () => cleanup.forEach((fn) => fn());
@@ -710,7 +714,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
710
714
  let style;
711
715
  if (disableTransition) {
712
716
  style = window.document.createElement("style");
713
- style.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"));
717
+ const styleString = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";
718
+ style.appendChild(document.createTextNode(styleString));
714
719
  window.document.head.appendChild(style);
715
720
  }
716
721
  if (attribute2 === "class") {
@@ -881,7 +886,10 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
881
886
  "pointerTypes",
882
887
  "as",
883
888
  "handle",
884
- "axis"
889
+ "axis",
890
+ "onStart",
891
+ "onMove",
892
+ "onEnd"
885
893
  ],
886
894
  setup(props, { slots }) {
887
895
  const target = vueDemi.ref();
@@ -895,7 +903,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
895
903
  core.isClient ? props.storageType === "session" ? sessionStorage : localStorage : void 0
896
904
  );
897
905
  const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };
898
- const onEnd = (position) => {
906
+ const onEnd = (position, event) => {
907
+ var _a;
908
+ (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);
899
909
  if (!storageValue)
900
910
  return;
901
911
  storageValue.value.x = position.x;
@@ -1041,8 +1051,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1041
1051
  const $elem = unrefElement(target);
1042
1052
  if ($elem) {
1043
1053
  const styles = window.getComputedStyle($elem);
1044
- width.value = parseFloat(styles.width);
1045
- height.value = parseFloat(styles.height);
1054
+ width.value = Number.parseFloat(styles.width);
1055
+ height.value = Number.parseFloat(styles.height);
1046
1056
  }
1047
1057
  } else {
1048
1058
  if (boxSize) {
@@ -1331,7 +1341,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1331
1341
  async function loadImage(options) {
1332
1342
  return new Promise((resolve, reject) => {
1333
1343
  const img = new Image();
1334
- const { src, srcset, sizes, class: clazz, loading, crossorigin } = options;
1344
+ const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;
1335
1345
  img.src = src;
1336
1346
  if (srcset)
1337
1347
  img.srcset = srcset;
@@ -1343,6 +1353,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1343
1353
  img.loading = loading;
1344
1354
  if (crossorigin)
1345
1355
  img.crossOrigin = crossorigin;
1356
+ if (referrerPolicy)
1357
+ img.referrerPolicy = referrerPolicy;
1346
1358
  img.onload = () => resolve(img);
1347
1359
  img.onerror = reject;
1348
1360
  });
@@ -1373,7 +1385,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1373
1385
  "alt",
1374
1386
  "class",
1375
1387
  "loading",
1376
- "crossorigin"
1388
+ "crossorigin",
1389
+ "referrerPolicy"
1377
1390
  ],
1378
1391
  setup(props, { slots }) {
1379
1392
  const data = vueDemi.reactive(useImage(props));
@@ -1462,7 +1475,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1462
1475
  };
1463
1476
  const onScrollEndDebounced = shared.useDebounceFn(onScrollEnd, throttle + idle);
1464
1477
  const setArrivedState = (target) => {
1465
- const el = target === document ? target.documentElement : target;
1478
+ const el = target === window ? target.document.documentElement : target === document ? target.documentElement : target;
1466
1479
  const { display, flexDirection } = getComputedStyle(el);
1467
1480
  const scrollLeft = el.scrollLeft;
1468
1481
  directions.left = scrollLeft < internalX.value;
@@ -1987,7 +2000,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1987
2000
  }
1988
2001
  if (observe) {
1989
2002
  useMutationObserver(elRef, updateCssVar, {
1990
- attributes: true,
2003
+ attributeFilter: ["style", "class"],
1991
2004
  window
1992
2005
  });
1993
2006
  }
@@ -2131,7 +2144,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
2131
2144
 
2132
2145
  function checkOverflowScroll(ele) {
2133
2146
  const style = window.getComputedStyle(ele);
2134
- if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientHeight < ele.scrollHeight || style.overflowY === "auto" && ele.clientWidth < ele.scrollWidth) {
2147
+ if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) {
2135
2148
  return true;
2136
2149
  } else {
2137
2150
  const parent = ele.parentNode;
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- var VueDemi=function(s,n,g){if(s.install)return s;if(!n)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),s;if(n.version.slice(0,4)==="2.7."){let P=function(b,$){var V,z={},H={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(T,N){return z[T]=N,this},directive:function(T,N){return N?(n.directive(T,N),H):n.directive(T)},mount:function(T,N){return V||(V=new n(Object.assign({propsData:$},b,{provide:Object.assign(z,b.provide)})),V.$mount(T,N),V)},unmount:function(){V&&(V.$destroy(),V=void 0)}};return H};var Fe=P;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.warn=n.util.warn,s.createApp=P}else if(n.version.slice(0,2)==="2.")if(g){for(var c in g)s[c]=g[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(P,b,$){return Array.isArray(P)?(P.length=Math.max(P.length,b),P.splice(b,1,$),$):(P[b]=$,$)},s.del=function(P,b){if(Array.isArray(P)){P.splice(b,1);return}delete P[b]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(s,n,g,c){"use strict";const Fe=n.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return g.onClickOutside(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function P(t){var e;const r=c.toValue(t);return(e=r?.$el)!=null?e:r}const b=c.isClient?window:void 0;function $(...t){let e,r,o,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,o,a]=t,e=b):[e,r,o,a]=t,!e)return c.noop;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const u=[],i=()=>{u.forEach(d=>d()),u.length=0},l=(d,_,p,m)=>(d.addEventListener(_,p,m),()=>d.removeEventListener(_,p,m)),f=n.watch(()=>[P(e),c.toValue(a)],([d,_])=>{i(),d&&u.push(...r.flatMap(p=>o.map(m=>l(d,p,m,_))))},{immediate:!0,flush:"post"}),v=()=>{f(),i()};return c.tryOnScopeDispose(v),v}let V=!1;function z(t,e,r={}){const{window:o=b,ignore:a=[],capture:u=!0,detectIframe:i=!1}=r;if(!o)return;c.isIOS&&!V&&(V=!0,Array.from(o.document.body.children).forEach(p=>p.addEventListener("click",c.noop)));let l=!0;const f=p=>a.some(m=>{if(typeof m=="string")return Array.from(o.document.querySelectorAll(m)).some(y=>y===p.target||p.composedPath().includes(y));{const y=P(m);return y&&(p.target===y||p.composedPath().includes(y))}}),d=[$(o,"click",p=>{const m=P(t);if(!(!m||m===p.target||p.composedPath().includes(m))){if(p.detail===0&&(l=!f(p)),!l){l=!0;return}e(p)}},{passive:!0,capture:u}),$(o,"pointerdown",p=>{const m=P(t);m&&(l=!p.composedPath().includes(m)&&!f(p))},{passive:!0}),i&&$(o,"blur",p=>{var m;const y=P(t);((m=o.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!y?.contains(o.document.activeElement)&&e(p)})].filter(Boolean);return()=>d.forEach(p=>p())}const H={[c.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=z(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=z(t,o,Object.assign({capture:r},a))}},[c.directiveHooks.unmounted](t){t.__onClickOutside_stop()}};function T(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function N(...t){let e,r,o={};t.length===3?(e=t[0],r=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,r=t[0],o=t[1]):(e=t[0],r=t[1]):(e=!0,r=t[0]);const{target:a=b,eventName:u="keydown",passive:i=!1,dedupe:l=!1}=o,f=T(e);return $(a,u,d=>{d.repeat&&c.toValue(l)||f(d)&&r(d)},i)}var Ke=Object.defineProperty,X=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable,q=(t,e,r)=>e in t?Ke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ye=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&q(t,r,e[r]);if(X)for(var r of X(e))Je.call(e,r)&&q(t,r,e[r]);return t};const Xe={[c.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:!0;if(typeof e.value=="function")N(a,e.value,{target:t});else{const[u,i]=e.value;N(a,u,Ye({target:t},i))}}},qe=500;function G(t,e,r){var o,a;const u=n.computed(()=>P(t));let i;function l(){i&&(clearTimeout(i),i=void 0)}function f(d){var _,p,m,y;(_=r?.modifiers)!=null&&_.self&&d.target!==u.value||(l(),(p=r?.modifiers)!=null&&p.prevent&&d.preventDefault(),(m=r?.modifiers)!=null&&m.stop&&d.stopPropagation(),i=setTimeout(()=>e(d),(y=r?.delay)!=null?y:qe))}const v={capture:(o=r?.modifiers)==null?void 0:o.capture,once:(a=r?.modifiers)==null?void 0:a.once};$(u,"pointerdown",f,v),$(u,"pointerup",l,v),$(u,"pointerleave",l,v)}const Qe=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return G(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),Q={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?G(t,e.value,{modifiers:e.modifiers}):G(t,...e.value)}},xe=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:g.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Ze=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(g.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),De=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(g.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),k=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},B="__vueuse_ssr_handlers__",et=tt();function tt(){return B in k||(k[B]=k[B]||{}),k[B]}function x(t,e){return et[t]||e}function rt(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"?"object":Number.isNaN(t)?"any":"number"}var nt=Object.defineProperty,Z=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))ot.call(e,r)&&D(t,r,e[r]);if(Z)for(var r of Z(e))at.call(e,r)&&D(t,r,e[r]);return t};const st={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()}},te="vueuse-storage";function it(t,e,r,o={}){var a;const{flush:u="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:f=!0,mergeDefaults:v=!1,shallow:d,window:_=b,eventFilter:p,onError:m=O=>{console.error(O)}}=o,y=(d?n.shallowRef:n.ref)(e);if(!r)try{r=x("getDefaultStorage",()=>{var O;return(O=b)==null?void 0:O.localStorage})()}catch(O){m(O)}if(!r)return y;const h=c.toValue(e),j=rt(h),C=(a=o.serializer)!=null?a:st[j],{pause:A,resume:M}=c.pausableWatch(y,()=>S(y.value),{flush:u,deep:i,eventFilter:p});return _&&l&&($(_,"storage",L),$(_,te,I)),L(),y;function S(O){try{if(O==null)r.removeItem(t);else{const U=C.write(O),E=r.getItem(t);E!==U&&(r.setItem(t,U),_&&_.dispatchEvent(new CustomEvent(te,{detail:{key:t,oldValue:E,newValue:U,storageArea:r}})))}}catch(U){m(U)}}function w(O){const U=O?O.newValue:r.getItem(t);if(U==null)return f&&h!==null&&r.setItem(t,C.write(h)),h;if(!O&&v){const E=C.read(U);return typeof v=="function"?v(E,h):j==="object"&&!Array.isArray(E)?ee(ee({},h),E):E}else return typeof U!="string"?U:C.read(U)}function I(O){L(O.detail)}function L(O){if(!(O&&O.storageArea!==r)){if(O&&O.key==null){y.value=h;return}if(!(O&&O.key!==t)){A();try{y.value=w(O)}catch(U){m(U)}finally{O?n.nextTick(M):M()}}}}}function lt(){const t=n.ref(!1);return n.getCurrentInstance()&&n.onMounted(()=>{t.value=!0}),t}function W(t){const e=lt();return n.computed(()=>(e.value,!!t()))}function ut(t,e={}){const{window:r=b}=e,o=W(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const u=n.ref(!1),i=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",l):a.removeListener(l))},l=()=>{o.value&&(i(),a=r.matchMedia(c.toRef(t).value),u.value=!!a?.matches,a&&("addEventListener"in a?a.addEventListener("change",l):a.addListener(l)))};return n.watchEffect(l),c.tryOnScopeDispose(()=>i()),u}function ct(t){return ut("(prefers-color-scheme: dark)",t)}var ft=Object.defineProperty,re=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,vt=(t,e)=>{for(var r in e||(e={}))dt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))pt.call(e,r)&&ne(t,r,e[r]);return t};function _t(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=b,storage:u,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:f,emitAuto:v,disableTransition:d=!0}=t,_=vt({auto:"",light:"light",dark:"dark"},t.modes||{}),p=ct({window:a}),m=n.computed(()=>p.value?"dark":"light"),y=f||(i==null?c.toRef(o):it(i,o,u,{window:a,listenToStorageChanges:l})),h=n.computed(()=>y.value==="auto"?m.value:y.value),j=x("updateHTMLAttrs",(S,w,I)=>{const L=typeof S=="string"?a?.document.querySelector(S):P(S);if(!L)return;let O;if(d&&(O=a.document.createElement("style"),O.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),a.document.head.appendChild(O)),w==="class"){const U=I.split(/\s/g);Object.values(_).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{U.includes(E)?L.classList.add(E):L.classList.remove(E)})}else L.setAttribute(w,I);d&&(a.getComputedStyle(O).opacity,document.head.removeChild(O))});function C(S){var w;j(e,r,(w=_[S])!=null?w:S)}function A(S){t.onChanged?t.onChanged(S,C):C(S)}n.watch(h,A,{flush:"post",immediate:!0}),c.tryOnMounted(()=>A(h.value));const M=n.computed({get(){return v?y.value:h.value},set(S){y.value=S}});try{return Object.assign(M,{store:y,system:m,state:h})}catch{return M}}const gt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=_t(t),o=n.reactive({mode:r,system:r.system,store:r.store});return()=>{if(e.default)return e.default(o)}}}),mt=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=g.useDark(t),o=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),yt=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(g.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Ot=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(g.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),Pt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:g.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),wt=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(g.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),ht=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:g.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var bt=Object.defineProperty,St=Object.defineProperties,Ut=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?bt(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)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Ct.call(e,r)&&ae(t,r,e[r]);return t},jt=(t,e)=>St(t,Ut(e));const It=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as","handle","axis"],setup(t,{slots:e}){const r=n.ref(),o=n.computed(()=>{var f;return(f=t.handle)!=null?f:r.value}),a=t.storageKey&&g.useStorage(t.storageKey,c.toValue(t.initialValue)||{x:0,y:0},g.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0),u=a||t.initialValue||{x:0,y:0},i=f=>{a&&(a.value.x=f.x,a.value.y=f.y)},l=n.reactive(g.useDraggable(r,jt(Et({},t),{handle:o,initialValue:u,onEnd:i})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${l.style}`},e.default(l))}}}),Lt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function At(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=b}=e,u=n.ref(!1);let i;const l=f=>{const v=f?r:o;i&&(clearTimeout(i),i=void 0),v?i=setTimeout(()=>u.value=f,v):u.value=f};return a&&($(t,"mouseenter",()=>l(!0),{passive:!0}),$(t,"mouseleave",()=>l(!1),{passive:!0})),u}const Vt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=At(t);n.watch(r,o=>e.value(o))}}},Mt=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.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 se=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Rt=(t,e)=>{var r={};for(var o in t)Nt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&se)for(var o of se(t))e.indexOf(o)<0&&Tt.call(t,o)&&(r[o]=t[o]);return r};function zt(t,e,r={}){const o=r,{window:a=b}=o,u=Rt(o,["window"]);let i;const l=W(()=>a&&"ResizeObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},v=n.computed(()=>Array.isArray(t)?t.map(p=>P(p)):[P(t)]),d=n.watch(v,p=>{if(f(),l.value&&a){i=new ResizeObserver(e);for(const m of p)m&&i.observe(m,u)}},{immediate:!0,flush:"post",deep:!0}),_=()=>{f(),d()};return c.tryOnScopeDispose(_),{isSupported:l,stop:_}}function Ht(t,e={width:0,height:0},r={}){const{window:o=b,box:a="content-box"}=r,u=n.computed(()=>{var f,v;return(v=(f=P(t))==null?void 0:f.namespaceURI)==null?void 0:v.includes("svg")}),i=n.ref(e.width),l=n.ref(e.height);return zt(t,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&u.value){const d=P(t);if(d){const _=o.getComputedStyle(d);i.value=parseFloat(_.width),l.value=parseFloat(_.height)}}else if(v){const d=Array.isArray(v)?v:[v];i.value=d.reduce((_,{inlineSize:p})=>_+p,0),l.value=d.reduce((_,{blockSize:p})=>_+p,0)}else i.value=f.contentRect.width,l.value=f.contentRect.height},r),n.watch(()=>P(t),f=>{i.value=f?e.width:0,l.value=f?e.height:0}),{width:i,height:l}}const kt={[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:u,height:i}=Ht(t,...a);n.watch([u,i],([l,f])=>o({width:l,height:f}))}},Bt=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:g.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function J(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:u=.1,window:i=b,immediate:l=!0}=r,f=W(()=>i&&"IntersectionObserver"in i),v=n.computed(()=>{const y=c.toValue(t);return(Array.isArray(y)?y:[y]).map(P).filter(c.notNullish)});let d=c.noop;const _=n.ref(l),p=f.value?n.watch(()=>[v.value,P(o),_.value],([y,h])=>{if(d(),!_.value||!y.length)return;const j=new IntersectionObserver(e,{root:P(h),rootMargin:a,threshold:u});y.forEach(C=>C&&j.observe(C)),d=()=>{j.disconnect(),d=c.noop}},{immediate:l,flush:"post"}):c.noop,m=()=>{d(),p(),_.value=!1};return c.tryOnScopeDispose(m),{isSupported:f,isActive:_,pause(){d(),_.value=!1},resume(){_.value=!0},stop:m}}function ie(t,{window:e=b,scrollTarget:r}={}){const o=n.ref(!1);return J(t,([{isIntersecting:a}])=>{o.value=a},{root:r,window:e}),o}const Wt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=ie(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=ie(t,o);n.watch(a,u=>r(u),{immediate:!0})}}},Ft=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(g.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Kt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Gt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(g.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Jt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(g.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});var Yt=Object.defineProperty,Xt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,ue=(t,e,r)=>e in t?Yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Zt=(t,e)=>{for(var r in e||(e={}))Qt.call(e,r)&&ue(t,r,e[r]);if(le)for(var r of le(e))xt.call(e,r)&&ue(t,r,e[r]);return t},Dt=(t,e)=>Xt(t,qt(e));function er(t,e,r){const{immediate:o=!0,delay:a=0,onError:u=c.noop,onSuccess:i=c.noop,resetOnExecute:l=!0,shallow:f=!0,throwError:v}=r??{},d=f?n.shallowRef(e):n.ref(e),_=n.ref(!1),p=n.ref(!1),m=n.shallowRef(void 0);async function y(C=0,...A){l&&(d.value=e),m.value=void 0,_.value=!1,p.value=!0,C>0&&await c.promiseTimeout(C);const M=typeof t=="function"?t(...A):t;try{const S=await M;d.value=S,_.value=!0,i(S)}catch(S){if(m.value=S,u(S),v)throw S}finally{p.value=!1}return d.value}o&&y(a);const h={state:d,isReady:_,isLoading:p,error:m,execute:y};function j(){return new Promise((C,A)=>{c.until(p).toBe(!1).then(()=>C(h)).catch(A)})}return Dt(Zt({},h),{then(C,A){return j().then(C,A)}})}var tr=Object.defineProperty,ce=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,fe=(t,e,r)=>e in t?tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,or=(t,e)=>{for(var r in e||(e={}))rr.call(e,r)&&fe(t,r,e[r]);if(ce)for(var r of ce(e))nr.call(e,r)&&fe(t,r,e[r]);return t};async function ar(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:u,sizes:i,class:l,loading:f,crossorigin:v}=t;o.src=a,u&&(o.srcset=u),i&&(o.sizes=i),l&&(o.className=l),f&&(o.loading=f),v&&(o.crossOrigin=v),o.onload=()=>e(o),o.onerror=r})}function sr(t,e={}){const r=er(()=>ar(c.toValue(t)),void 0,or({resetOnExecute:!0},e));return n.watch(()=>c.toValue(t),()=>r.execute(e.delay),{deep:!0}),r}const ir=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as","alt","class","loading","crossorigin"],setup(t,{slots:e}){const r=n.reactive(sr(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)}}),de=1;function Y(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:u=c.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:f="auto"}=e,v=n.ref(0),d=n.ref(0),_=n.computed({get(){return v.value},set(w){m(w,void 0)}}),p=n.computed({get(){return d.value},set(w){m(void 0,w)}});function m(w,I){var L,O,U;const E=c.toValue(t);E&&((U=E instanceof Document?document.body:E)==null||U.scrollTo({top:(L=c.toValue(I))!=null?L:p.value,left:(O=c.toValue(w))!=null?O:_.value,behavior:c.toValue(f)}))}const y=n.ref(!1),h=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),j=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),C=w=>{y.value&&(y.value=!1,j.left=!1,j.right=!1,j.top=!1,j.bottom=!1,a(w))},A=c.useDebounceFn(C,r+o),M=w=>{const I=w===document?w.documentElement:w,{display:L,flexDirection:O}=getComputedStyle(I),U=I.scrollLeft;j.left=U<v.value,j.right=U>v.value;const E=Math.abs(U)<=0+(i.left||0),ke=Math.abs(U)+I.clientWidth>=I.scrollWidth-(i.right||0)-de;L==="flex"&&O==="row-reverse"?(h.left=ke,h.right=E):(h.left=E,h.right=ke),v.value=U;let R=I.scrollTop;w===document&&!R&&(R=document.body.scrollTop),j.top=R<d.value,j.bottom=R>d.value;const Be=Math.abs(R)<=0+(i.top||0),We=Math.abs(R)+I.clientHeight>=I.scrollHeight-(i.bottom||0)-de;L==="flex"&&O==="column-reverse"?(h.top=We,h.bottom=Be):(h.top=Be,h.bottom=We),d.value=R},S=w=>{const I=w.target===document?w.target.documentElement:w.target;M(I),y.value=!0,A(w),u(w)};return $(t,"scroll",r?c.useThrottleFn(S,r,!0,!1):S,l),$(t,"scrollend",C,l),{x:_,y:p,isScrolling:y,arrivedState:h,directions:j,measure(){const w=c.toValue(t);w&&M(w)}}}var lr=Object.defineProperty,ur=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,ve=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_e=(t,e)=>{for(var r in e||(e={}))fr.call(e,r)&&ve(t,r,e[r]);if(pe)for(var r of pe(e))dr.call(e,r)&&ve(t,r,e[r]);return t},pr=(t,e)=>ur(t,cr(e));function ge(t,e,r={}){var o;const{direction:a="bottom",interval:u=100}=r,i=n.reactive(Y(t,pr(_e({},r),{offset:_e({[a]:(o=r.distance)!=null?o:0},r.offset)}))),l=n.ref(),f=n.computed(()=>!!l.value);function v(){i.measure();const d=c.toValue(t);if(!d)return;const _=a==="bottom"||a==="top"?d.scrollHeight<=d.clientHeight:d.scrollWidth<=d.clientWidth;(i.arrivedState[a]||_)&&(l.value||(l.value=Promise.all([e(i),new Promise(p=>setTimeout(p,u))]).finally(()=>{l.value=null,n.nextTick(()=>v())})))}return n.watch(()=>[i.arrivedState[a],c.toValue(t)],v,{immediate:!0}),{isLoading:f}}const vr={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ge(t,e.value):ge(t,...e.value)}},_r={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?J(t,e.value):J(t,...e.value)}},gr=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(g.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),mr=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var yr=Object.defineProperty,Or=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,wr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,br=(t,e)=>{for(var r in e||(e={}))wr.call(e,r)&&ye(t,r,e[r]);if(me)for(var r of me(e))hr.call(e,r)&&ye(t,r,e[r]);return t},Sr=(t,e)=>Or(t,Pr(e));const Ur=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMousePressed(Sr(br({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),$r=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(g.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Cr=Object.defineProperty,Er=Object.defineProperties,jr=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Ir=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Cr(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)&&Pe(t,r,e[r]);if(Oe)for(var r of Oe(e))Lr.call(e,r)&&Pe(t,r,e[r]);return t},Vr=(t,e)=>Er(t,jr(e));const Mr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(g.useNow(Vr(Ar({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=c.toRef(t,"object"),o=g.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var Tr=Object.defineProperty,Rr=Object.defineProperties,zr=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Hr=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable,he=(t,e,r)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Br=(t,e)=>{for(var r in e||(e={}))Hr.call(e,r)&&he(t,r,e[r]);if(we)for(var r of we(e))kr.call(e,r)&&he(t,r,e[r]);return t},Wr=(t,e)=>Rr(t,zr(e));const Fr=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(g.useOffsetPagination(Wr(Br({},t),{onPageChange(...a){var u;(u=t.onPageChange)==null||u.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var u;(u=t.onPageSizeChange)==null||u.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var u;(u=t.onPageCountChange)==null||u.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Kr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:g.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Gr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:g.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Jr=Object.defineProperty,Yr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,Qr=Object.prototype.propertyIsEnumerable,Se=(t,e,r)=>e in t?Jr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xr=(t,e)=>{for(var r in e||(e={}))qr.call(e,r)&&Se(t,r,e[r]);if(be)for(var r of be(e))Qr.call(e,r)&&Se(t,r,e[r]);return t},Zr=(t,e)=>Yr(t,Xr(e));const Dr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(g.usePointer(Zr(xr({},t),{target:t.target==="self"?r:b})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),en=n.defineComponent({name:"UsePointerLock",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.usePointerLock(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),tn=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:g.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),rn=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:g.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),nn=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:g.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),on=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:g.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),an=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:g.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});var Ue=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(t,e)=>{var r={};for(var o in t)sn.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&Ue)for(var o of Ue(t))e.indexOf(o)<0&&ln.call(t,o)&&(r[o]=t[o]);return r};function cn(t,e,r={}){const o=r,{window:a=b}=o,u=un(o,["window"]);let i;const l=W(()=>a&&"MutationObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},v=n.watch(()=>P(t),_=>{f(),l.value&&a&&_&&(i=new MutationObserver(e),i.observe(_,u))},{immediate:!0}),d=()=>{f(),v()};return c.tryOnScopeDispose(d),{isSupported:l,stop:d}}function F(t,e,r={}){const{window:o=b,initialValue:a="",observe:u=!1}=r,i=n.ref(a),l=n.computed(()=>{var v;return P(e)||((v=o?.document)==null?void 0:v.documentElement)});function f(){var v;const d=c.toValue(t),_=c.toValue(l);if(_&&o){const p=(v=o.getComputedStyle(_).getPropertyValue(d))==null?void 0:v.trim();i.value=p||a}}return u&&cn(l,f,{attributes:!0,window:o}),n.watch([l,()=>c.toValue(t)],f,{immediate:!0}),n.watch(i,v=>{var d;(d=l.value)!=null&&d.style&&l.value.style.setProperty(c.toValue(t),v)}),i}const $e="--vueuse-safe-area-top",Ce="--vueuse-safe-area-right",Ee="--vueuse-safe-area-bottom",je="--vueuse-safe-area-left";function fn(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const u=F($e),i=F(Ce),l=F(Ee),f=F(je);u.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",l.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),$("resize",c.useDebounceFn(a))}function a(){t.value=K($e),e.value=K(Ce),r.value=K(Ee),o.value=K(je)}return{top:t,right:e,bottom:r,left:o,update:a}}function K(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const dn=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:u}=fn();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?u.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var pn=Object.defineProperty,vn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?pn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,yn=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Le(t,r,e[r]);if(Ie)for(var r of Ie(e))mn.call(e,r)&&Le(t,r,e[r]);return t},On=(t,e)=>vn(t,_n(e));const Pn={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=Y(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=Y(t,On(yn({},o),{onScroll(u){var i;(i=o.onScroll)==null||i.call(o,u),r(a)},onStop(u){var i;(i=o.onStop)==null||i.call(o,u),r(a)}}))}}};function Ae(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientHeight<t.scrollHeight||e.overflowY==="auto"&&t.clientWidth<t.scrollWidth)return!0;{const r=t.parentNode;return!r||r.tagName==="BODY"?!1:Ae(r)}}function wn(t){const e=t||window.event,r=e.target;return Ae(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function hn(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(c.toRef(t),l=>{if(l){const f=l;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const u=()=>{const l=c.toValue(t);!l||r.value||(c.isIOS&&(o=$(l,"touchmove",f=>{wn(f)},{passive:!1})),l.style.overflow="hidden",r.value=!0)},i=()=>{const l=c.toValue(t);!l||!r.value||(c.isIOS&&o?.(),l.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(i),n.computed({get(){return r.value},set(l){l?u():i()}})}function bn(){let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=hn(r,o.value);n.watch(e,u=>a.value=u)}}const Sn=bn();var Un=Object.defineProperty,$n=Object.defineProperties,Cn=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,En=Object.prototype.hasOwnProperty,jn=Object.prototype.propertyIsEnumerable,Me=(t,e,r)=>e in t?Un(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,In=(t,e)=>{for(var r in e||(e={}))En.call(e,r)&&Me(t,r,e[r]);if(Ve)for(var r of Ve(e))jn.call(e,r)&&Me(t,r,e[r]);return t},Ln=(t,e)=>$n(t,Cn(e));const An=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(g.useTimeAgo(()=>t.time,Ln(In({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Vn=Object.defineProperty,Mn=Object.defineProperties,Nn=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Tn=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable,Te=(t,e,r)=>e in t?Vn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zn=(t,e)=>{for(var r in e||(e={}))Tn.call(e,r)&&Te(t,r,e[r]);if(Ne)for(var r of Ne(e))Rn.call(e,r)&&Te(t,r,e[r]);return t},Hn=(t,e)=>Mn(t,Nn(e));const kn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(g.useTimestamp(Hn(zn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Bn=Object.defineProperty,Re=Object.getOwnPropertySymbols,Wn=Object.prototype.hasOwnProperty,Fn=Object.prototype.propertyIsEnumerable,ze=(t,e,r)=>e in t?Bn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,He=(t,e)=>{for(var r in e||(e={}))Wn.call(e,r)&&ze(t,r,e[r]);if(Re)for(var r of Re(e))Fn.call(e,r)&&ze(t,r,e[r]);return t};const Kn=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e,expose:r}){const{list:o}=n.toRefs(t),{list:a,containerProps:u,wrapperProps:i,scrollTo:l}=g.useVirtualList(o,t.options);return r({scrollTo:l}),typeof u.style=="object"&&!Array.isArray(u.style)&&(u.style.height=t.height||"300px"),()=>n.h("div",He({},u),[n.h("div",He({},i.value),a.value.map(f=>n.h("div",{style:{overFlow:"hidden",height:f.height}},e.default?e.default(f):"Please set content!")))])}}),Gn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:g.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Jn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(g.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Fe,s.OnLongPress=Qe,s.UseActiveElement=xe,s.UseBattery=Ze,s.UseBrowserLocation=De,s.UseColorMode=gt,s.UseDark=mt,s.UseDeviceMotion=yt,s.UseDeviceOrientation=Ot,s.UseDevicePixelRatio=Pt,s.UseDevicesList=wt,s.UseDocumentVisibility=ht,s.UseDraggable=It,s.UseElementBounding=Lt,s.UseElementSize=Mt,s.UseElementVisibility=Bt,s.UseEyeDropper=Ft,s.UseFullscreen=Kt,s.UseGeolocation=Gt,s.UseIdle=Jt,s.UseImage=ir,s.UseMouse=gr,s.UseMouseInElement=mr,s.UseMousePressed=Ur,s.UseNetwork=$r,s.UseNow=Mr,s.UseObjectUrl=Nr,s.UseOffsetPagination=Fr,s.UseOnline=Kr,s.UsePageLeave=Gr,s.UsePointer=Dr,s.UsePointerLock=en,s.UsePreferredColorScheme=tn,s.UsePreferredContrast=rn,s.UsePreferredDark=nn,s.UsePreferredLanguages=on,s.UsePreferredReducedMotion=an,s.UseScreenSafeArea=dn,s.UseTimeAgo=An,s.UseTimestamp=kn,s.UseVirtualList=Kn,s.UseWindowFocus=Gn,s.UseWindowSize=Jn,s.VOnClickOutside=H,s.VOnLongPress=Q,s.vElementHover=Vt,s.vElementSize=kt,s.vElementVisibility=Wt,s.vInfiniteScroll=vr,s.vIntersectionObserver=_r,s.vOnClickOutside=H,s.vOnKeyStroke=Xe,s.vOnLongPress=Q,s.vScroll=Pn,s.vScrollLock=Sn})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
1
+ var VueDemi=function(s,n,g){if(s.install)return s;if(!n)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),s;if(n.version.slice(0,4)==="2.7."){let w=function(S,$){var V,z={},H={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(T,N){return z[T]=N,this},directive:function(T,N){return N?(n.directive(T,N),H):n.directive(T)},mount:function(T,N){return V||(V=new n(Object.assign({propsData:$},S,{provide:Object.assign(z,S.provide)})),V.$mount(T,N),V)},unmount:function(){V&&(V.$destroy(),V=void 0)}};return H};var Fe=w;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.warn=n.util.warn,s.hasInjectionContext=()=>!!s.getCurrentInstance(),s.createApp=w}else if(n.version.slice(0,2)==="2.")if(g){for(var c in g)s[c]=g[c];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.hasInjectionContext=()=>!!s.getCurrentInstance()}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(w,S,$){return Array.isArray(w)?(w.length=Math.max(w.length,S),w.splice(S,1,$),$):(w[S]=$,$)},s.del=function(w,S){if(Array.isArray(w)){w.splice(S,1);return}delete w[S]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi<"u"?VueDemi:{}),this.Vue||(typeof Vue<"u"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI<"u"?VueCompositionAPI:void 0));(function(s,n,g,c){"use strict";const Fe=n.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return g.onClickOutside(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function w(t){var e;const r=c.toValue(t);return(e=r?.$el)!=null?e:r}const S=c.isClient?window:void 0;function $(...t){let e,r,o,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,o,a]=t,e=S):[e,r,o,a]=t,!e)return c.noop;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const u=[],i=()=>{u.forEach(d=>d()),u.length=0},l=(d,_,v,m)=>(d.addEventListener(_,v,m),()=>d.removeEventListener(_,v,m)),f=n.watch(()=>[w(e),c.toValue(a)],([d,_])=>{i(),d&&u.push(...r.flatMap(v=>o.map(m=>l(d,v,m,_))))},{immediate:!0,flush:"post"}),p=()=>{f(),i()};return c.tryOnScopeDispose(p),p}let V=!1;function z(t,e,r={}){const{window:o=S,ignore:a=[],capture:u=!0,detectIframe:i=!1}=r;if(!o)return;c.isIOS&&!V&&(V=!0,Array.from(o.document.body.children).forEach(v=>v.addEventListener("click",c.noop)));let l=!0;const f=v=>a.some(m=>{if(typeof m=="string")return Array.from(o.document.querySelectorAll(m)).some(y=>y===v.target||v.composedPath().includes(y));{const y=w(m);return y&&(v.target===y||v.composedPath().includes(y))}}),d=[$(o,"click",v=>{const m=w(t);if(!(!m||m===v.target||v.composedPath().includes(m))){if(v.detail===0&&(l=!f(v)),!l){l=!0;return}e(v)}},{passive:!0,capture:u}),$(o,"pointerdown",v=>{const m=w(t);m&&(l=!v.composedPath().includes(m)&&!f(v))},{passive:!0}),i&&$(o,"blur",v=>{setTimeout(()=>{var m;const y=w(t);((m=o.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!y?.contains(o.document.activeElement)&&e(v)},0)})].filter(Boolean);return()=>d.forEach(v=>v())}const H={[c.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=z(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=z(t,o,Object.assign({capture:r},a))}},[c.directiveHooks.unmounted](t){t.__onClickOutside_stop()}};function T(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function N(...t){let e,r,o={};t.length===3?(e=t[0],r=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,r=t[0],o=t[1]):(e=t[0],r=t[1]):(e=!0,r=t[0]);const{target:a=S,eventName:u="keydown",passive:i=!1,dedupe:l=!1}=o,f=T(e);return $(a,u,d=>{d.repeat&&c.toValue(l)||f(d)&&r(d)},i)}var Ke=Object.defineProperty,X=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable,q=(t,e,r)=>e in t?Ke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ye=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&q(t,r,e[r]);if(X)for(var r of X(e))Je.call(e,r)&&q(t,r,e[r]);return t};const Xe={[c.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:!0;if(typeof e.value=="function")N(a,e.value,{target:t});else{const[u,i]=e.value;N(a,u,Ye({target:t},i))}}},qe=500;function G(t,e,r){var o,a;const u=n.computed(()=>w(t));let i;function l(){i&&(clearTimeout(i),i=void 0)}function f(d){var _,v,m,y;(_=r?.modifiers)!=null&&_.self&&d.target!==u.value||(l(),(v=r?.modifiers)!=null&&v.prevent&&d.preventDefault(),(m=r?.modifiers)!=null&&m.stop&&d.stopPropagation(),i=setTimeout(()=>e(d),(y=r?.delay)!=null?y:qe))}const p={capture:(o=r?.modifiers)==null?void 0:o.capture,once:(a=r?.modifiers)==null?void 0:a.once};$(u,"pointerdown",f,p),$(u,"pointerup",l,p),$(u,"pointerleave",l,p)}const xe=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return G(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),x={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?G(t,e.value,{modifiers:e.modifiers}):G(t,...e.value)}},Qe=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:g.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Ze=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(g.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),De=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(g.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),k=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},B="__vueuse_ssr_handlers__",et=tt();function tt(){return B in k||(k[B]=k[B]||{}),k[B]}function Q(t,e){return et[t]||e}function rt(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"?"object":Number.isNaN(t)?"any":"number"}var nt=Object.defineProperty,Z=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))ot.call(e,r)&&D(t,r,e[r]);if(Z)for(var r of Z(e))at.call(e,r)&&D(t,r,e[r]);return t};const st={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()}},te="vueuse-storage";function it(t,e,r,o={}){var a;const{flush:u="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:f=!0,mergeDefaults:p=!1,shallow:d,window:_=S,eventFilter:v,onError:m=O=>{console.error(O)}}=o,y=(d?n.shallowRef:n.ref)(e);if(!r)try{r=Q("getDefaultStorage",()=>{var O;return(O=S)==null?void 0:O.localStorage})()}catch(O){m(O)}if(!r)return y;const h=c.toValue(e),j=rt(h),C=(a=o.serializer)!=null?a:st[j],{pause:A,resume:M}=c.pausableWatch(y,()=>U(y.value),{flush:u,deep:i,eventFilter:v});return _&&l&&($(_,"storage",L),$(_,te,I)),L(),y;function U(O){try{if(O==null)r.removeItem(t);else{const b=C.write(O),E=r.getItem(t);E!==b&&(r.setItem(t,b),_&&_.dispatchEvent(new CustomEvent(te,{detail:{key:t,oldValue:E,newValue:b,storageArea:r}})))}}catch(b){m(b)}}function P(O){const b=O?O.newValue:r.getItem(t);if(b==null)return f&&h!==null&&r.setItem(t,C.write(h)),h;if(!O&&p){const E=C.read(b);return typeof p=="function"?p(E,h):j==="object"&&!Array.isArray(E)?ee(ee({},h),E):E}else return typeof b!="string"?b:C.read(b)}function I(O){L(O.detail)}function L(O){if(!(O&&O.storageArea!==r)){if(O&&O.key==null){y.value=h;return}if(!(O&&O.key!==t)){A();try{y.value=P(O)}catch(b){m(b)}finally{O?n.nextTick(M):M()}}}}}function lt(){const t=n.ref(!1);return n.getCurrentInstance()&&n.onMounted(()=>{t.value=!0}),t}function W(t){const e=lt();return n.computed(()=>(e.value,!!t()))}function ut(t,e={}){const{window:r=S}=e,o=W(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const u=n.ref(!1),i=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",l):a.removeListener(l))},l=()=>{o.value&&(i(),a=r.matchMedia(c.toRef(t).value),u.value=!!a?.matches,a&&("addEventListener"in a?a.addEventListener("change",l):a.addListener(l)))};return n.watchEffect(l),c.tryOnScopeDispose(()=>i()),u}function ct(t){return ut("(prefers-color-scheme: dark)",t)}var ft=Object.defineProperty,re=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,vt=(t,e)=>{for(var r in e||(e={}))dt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))pt.call(e,r)&&ne(t,r,e[r]);return t};function _t(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=S,storage:u,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:f,emitAuto:p,disableTransition:d=!0}=t,_=vt({auto:"",light:"light",dark:"dark"},t.modes||{}),v=ct({window:a}),m=n.computed(()=>v.value?"dark":"light"),y=f||(i==null?c.toRef(o):it(i,o,u,{window:a,listenToStorageChanges:l})),h=n.computed(()=>y.value==="auto"?m.value:y.value),j=Q("updateHTMLAttrs",(U,P,I)=>{const L=typeof U=="string"?a?.document.querySelector(U):w(U);if(!L)return;let O;if(d){O=a.document.createElement("style");const b="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";O.appendChild(document.createTextNode(b)),a.document.head.appendChild(O)}if(P==="class"){const b=I.split(/\s/g);Object.values(_).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{b.includes(E)?L.classList.add(E):L.classList.remove(E)})}else L.setAttribute(P,I);d&&(a.getComputedStyle(O).opacity,document.head.removeChild(O))});function C(U){var P;j(e,r,(P=_[U])!=null?P:U)}function A(U){t.onChanged?t.onChanged(U,C):C(U)}n.watch(h,A,{flush:"post",immediate:!0}),c.tryOnMounted(()=>A(h.value));const M=n.computed({get(){return p?y.value:h.value},set(U){y.value=U}});try{return Object.assign(M,{store:y,system:m,state:h})}catch{return M}}const gt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=_t(t),o=n.reactive({mode:r,system:r.system,store:r.store});return()=>{if(e.default)return e.default(o)}}}),mt=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=g.useDark(t),o=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),yt=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(g.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),Ot=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(g.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),Pt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:g.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),wt=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(g.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),ht=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:g.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var bt=Object.defineProperty,St=Object.defineProperties,Ut=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?bt(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)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Ct.call(e,r)&&ae(t,r,e[r]);return t},jt=(t,e)=>St(t,Ut(e));const It=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as","handle","axis","onStart","onMove","onEnd"],setup(t,{slots:e}){const r=n.ref(),o=n.computed(()=>{var f;return(f=t.handle)!=null?f:r.value}),a=t.storageKey&&g.useStorage(t.storageKey,c.toValue(t.initialValue)||{x:0,y:0},g.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0),u=a||t.initialValue||{x:0,y:0},i=(f,p)=>{var d;(d=t.onEnd)==null||d.call(t,f,p),a&&(a.value.x=f.x,a.value.y=f.y)},l=n.reactive(g.useDraggable(r,jt(Et({},t),{handle:o,initialValue:u,onEnd:i})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${l.style}`},e.default(l))}}}),Lt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function At(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=S}=e,u=n.ref(!1);let i;const l=f=>{const p=f?r:o;i&&(clearTimeout(i),i=void 0),p?i=setTimeout(()=>u.value=f,p):u.value=f};return a&&($(t,"mouseenter",()=>l(!0),{passive:!0}),$(t,"mouseleave",()=>l(!1),{passive:!0})),u}const Vt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=At(t);n.watch(r,o=>e.value(o))}}},Mt=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.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 se=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Rt=(t,e)=>{var r={};for(var o in t)Nt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&se)for(var o of se(t))e.indexOf(o)<0&&Tt.call(t,o)&&(r[o]=t[o]);return r};function zt(t,e,r={}){const o=r,{window:a=S}=o,u=Rt(o,["window"]);let i;const l=W(()=>a&&"ResizeObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},p=n.computed(()=>Array.isArray(t)?t.map(v=>w(v)):[w(t)]),d=n.watch(p,v=>{if(f(),l.value&&a){i=new ResizeObserver(e);for(const m of v)m&&i.observe(m,u)}},{immediate:!0,flush:"post",deep:!0}),_=()=>{f(),d()};return c.tryOnScopeDispose(_),{isSupported:l,stop:_}}function Ht(t,e={width:0,height:0},r={}){const{window:o=S,box:a="content-box"}=r,u=n.computed(()=>{var f,p;return(p=(f=w(t))==null?void 0:f.namespaceURI)==null?void 0:p.includes("svg")}),i=n.ref(e.width),l=n.ref(e.height);return zt(t,([f])=>{const p=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&u.value){const d=w(t);if(d){const _=o.getComputedStyle(d);i.value=Number.parseFloat(_.width),l.value=Number.parseFloat(_.height)}}else if(p){const d=Array.isArray(p)?p:[p];i.value=d.reduce((_,{inlineSize:v})=>_+v,0),l.value=d.reduce((_,{blockSize:v})=>_+v,0)}else i.value=f.contentRect.width,l.value=f.contentRect.height},r),n.watch(()=>w(t),f=>{i.value=f?e.width:0,l.value=f?e.height:0}),{width:i,height:l}}const kt={[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:u,height:i}=Ht(t,...a);n.watch([u,i],([l,f])=>o({width:l,height:f}))}},Bt=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:g.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function J(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:u=.1,window:i=S,immediate:l=!0}=r,f=W(()=>i&&"IntersectionObserver"in i),p=n.computed(()=>{const y=c.toValue(t);return(Array.isArray(y)?y:[y]).map(w).filter(c.notNullish)});let d=c.noop;const _=n.ref(l),v=f.value?n.watch(()=>[p.value,w(o),_.value],([y,h])=>{if(d(),!_.value||!y.length)return;const j=new IntersectionObserver(e,{root:w(h),rootMargin:a,threshold:u});y.forEach(C=>C&&j.observe(C)),d=()=>{j.disconnect(),d=c.noop}},{immediate:l,flush:"post"}):c.noop,m=()=>{d(),v(),_.value=!1};return c.tryOnScopeDispose(m),{isSupported:f,isActive:_,pause(){d(),_.value=!1},resume(){_.value=!0},stop:m}}function ie(t,{window:e=S,scrollTarget:r}={}){const o=n.ref(!1);return J(t,([{isIntersecting:a}])=>{o.value=a},{root:r,window:e}),o}const Wt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=ie(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=ie(t,o);n.watch(a,u=>r(u),{immediate:!0})}}},Ft=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(g.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Kt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Gt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(g.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Jt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(g.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});var Yt=Object.defineProperty,Xt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,ue=(t,e,r)=>e in t?Yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Zt=(t,e)=>{for(var r in e||(e={}))xt.call(e,r)&&ue(t,r,e[r]);if(le)for(var r of le(e))Qt.call(e,r)&&ue(t,r,e[r]);return t},Dt=(t,e)=>Xt(t,qt(e));function er(t,e,r){const{immediate:o=!0,delay:a=0,onError:u=c.noop,onSuccess:i=c.noop,resetOnExecute:l=!0,shallow:f=!0,throwError:p}=r??{},d=f?n.shallowRef(e):n.ref(e),_=n.ref(!1),v=n.ref(!1),m=n.shallowRef(void 0);async function y(C=0,...A){l&&(d.value=e),m.value=void 0,_.value=!1,v.value=!0,C>0&&await c.promiseTimeout(C);const M=typeof t=="function"?t(...A):t;try{const U=await M;d.value=U,_.value=!0,i(U)}catch(U){if(m.value=U,u(U),p)throw U}finally{v.value=!1}return d.value}o&&y(a);const h={state:d,isReady:_,isLoading:v,error:m,execute:y};function j(){return new Promise((C,A)=>{c.until(v).toBe(!1).then(()=>C(h)).catch(A)})}return Dt(Zt({},h),{then(C,A){return j().then(C,A)}})}var tr=Object.defineProperty,ce=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,fe=(t,e,r)=>e in t?tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,or=(t,e)=>{for(var r in e||(e={}))rr.call(e,r)&&fe(t,r,e[r]);if(ce)for(var r of ce(e))nr.call(e,r)&&fe(t,r,e[r]);return t};async function ar(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:u,sizes:i,class:l,loading:f,crossorigin:p,referrerPolicy:d}=t;o.src=a,u&&(o.srcset=u),i&&(o.sizes=i),l&&(o.className=l),f&&(o.loading=f),p&&(o.crossOrigin=p),d&&(o.referrerPolicy=d),o.onload=()=>e(o),o.onerror=r})}function sr(t,e={}){const r=er(()=>ar(c.toValue(t)),void 0,or({resetOnExecute:!0},e));return n.watch(()=>c.toValue(t),()=>r.execute(e.delay),{deep:!0}),r}const ir=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as","alt","class","loading","crossorigin","referrerPolicy"],setup(t,{slots:e}){const r=n.reactive(sr(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)}}),de=1;function Y(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:u=c.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:f="auto"}=e,p=n.ref(0),d=n.ref(0),_=n.computed({get(){return p.value},set(P){m(P,void 0)}}),v=n.computed({get(){return d.value},set(P){m(void 0,P)}});function m(P,I){var L,O,b;const E=c.toValue(t);E&&((b=E instanceof Document?document.body:E)==null||b.scrollTo({top:(L=c.toValue(I))!=null?L:v.value,left:(O=c.toValue(P))!=null?O:_.value,behavior:c.toValue(f)}))}const y=n.ref(!1),h=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),j=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),C=P=>{y.value&&(y.value=!1,j.left=!1,j.right=!1,j.top=!1,j.bottom=!1,a(P))},A=c.useDebounceFn(C,r+o),M=P=>{const I=P===window?P.document.documentElement:P===document?P.documentElement:P,{display:L,flexDirection:O}=getComputedStyle(I),b=I.scrollLeft;j.left=b<p.value,j.right=b>p.value;const E=Math.abs(b)<=0+(i.left||0),ke=Math.abs(b)+I.clientWidth>=I.scrollWidth-(i.right||0)-de;L==="flex"&&O==="row-reverse"?(h.left=ke,h.right=E):(h.left=E,h.right=ke),p.value=b;let R=I.scrollTop;P===document&&!R&&(R=document.body.scrollTop),j.top=R<d.value,j.bottom=R>d.value;const Be=Math.abs(R)<=0+(i.top||0),We=Math.abs(R)+I.clientHeight>=I.scrollHeight-(i.bottom||0)-de;L==="flex"&&O==="column-reverse"?(h.top=We,h.bottom=Be):(h.top=Be,h.bottom=We),d.value=R},U=P=>{const I=P.target===document?P.target.documentElement:P.target;M(I),y.value=!0,A(P),u(P)};return $(t,"scroll",r?c.useThrottleFn(U,r,!0,!1):U,l),$(t,"scrollend",C,l),{x:_,y:v,isScrolling:y,arrivedState:h,directions:j,measure(){const P=c.toValue(t);P&&M(P)}}}var lr=Object.defineProperty,ur=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,ve=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_e=(t,e)=>{for(var r in e||(e={}))fr.call(e,r)&&ve(t,r,e[r]);if(pe)for(var r of pe(e))dr.call(e,r)&&ve(t,r,e[r]);return t},pr=(t,e)=>ur(t,cr(e));function ge(t,e,r={}){var o;const{direction:a="bottom",interval:u=100}=r,i=n.reactive(Y(t,pr(_e({},r),{offset:_e({[a]:(o=r.distance)!=null?o:0},r.offset)}))),l=n.ref(),f=n.computed(()=>!!l.value);function p(){i.measure();const d=c.toValue(t);if(!d)return;const _=a==="bottom"||a==="top"?d.scrollHeight<=d.clientHeight:d.scrollWidth<=d.clientWidth;(i.arrivedState[a]||_)&&(l.value||(l.value=Promise.all([e(i),new Promise(v=>setTimeout(v,u))]).finally(()=>{l.value=null,n.nextTick(()=>p())})))}return n.watch(()=>[i.arrivedState[a],c.toValue(t)],p,{immediate:!0}),{isLoading:f}}const vr={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ge(t,e.value):ge(t,...e.value)}},_r={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?J(t,e.value):J(t,...e.value)}},gr=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(g.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),mr=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var yr=Object.defineProperty,Or=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,wr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,br=(t,e)=>{for(var r in e||(e={}))wr.call(e,r)&&ye(t,r,e[r]);if(me)for(var r of me(e))hr.call(e,r)&&ye(t,r,e[r]);return t},Sr=(t,e)=>Or(t,Pr(e));const Ur=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMousePressed(Sr(br({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),$r=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(g.useNetwork());return()=>{if(e.default)return e.default(r)}}});var Cr=Object.defineProperty,Er=Object.defineProperties,jr=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Ir=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Cr(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)&&Pe(t,r,e[r]);if(Oe)for(var r of Oe(e))Lr.call(e,r)&&Pe(t,r,e[r]);return t},Vr=(t,e)=>Er(t,jr(e));const Mr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(g.useNow(Vr(Ar({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=c.toRef(t,"object"),o=g.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var Tr=Object.defineProperty,Rr=Object.defineProperties,zr=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Hr=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable,he=(t,e,r)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Br=(t,e)=>{for(var r in e||(e={}))Hr.call(e,r)&&he(t,r,e[r]);if(we)for(var r of we(e))kr.call(e,r)&&he(t,r,e[r]);return t},Wr=(t,e)=>Rr(t,zr(e));const Fr=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(g.useOffsetPagination(Wr(Br({},t),{onPageChange(...a){var u;(u=t.onPageChange)==null||u.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var u;(u=t.onPageSizeChange)==null||u.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var u;(u=t.onPageCountChange)==null||u.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Kr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:g.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Gr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:g.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Jr=Object.defineProperty,Yr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,Se=(t,e,r)=>e in t?Jr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Qr=(t,e)=>{for(var r in e||(e={}))qr.call(e,r)&&Se(t,r,e[r]);if(be)for(var r of be(e))xr.call(e,r)&&Se(t,r,e[r]);return t},Zr=(t,e)=>Yr(t,Xr(e));const Dr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(g.usePointer(Zr(Qr({},t),{target:t.target==="self"?r:S})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),en=n.defineComponent({name:"UsePointerLock",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.usePointerLock(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),tn=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:g.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),rn=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:g.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),nn=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:g.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),on=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:g.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),an=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:g.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});var Ue=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(t,e)=>{var r={};for(var o in t)sn.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&Ue)for(var o of Ue(t))e.indexOf(o)<0&&ln.call(t,o)&&(r[o]=t[o]);return r};function cn(t,e,r={}){const o=r,{window:a=S}=o,u=un(o,["window"]);let i;const l=W(()=>a&&"MutationObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},p=n.watch(()=>w(t),_=>{f(),l.value&&a&&_&&(i=new MutationObserver(e),i.observe(_,u))},{immediate:!0}),d=()=>{f(),p()};return c.tryOnScopeDispose(d),{isSupported:l,stop:d}}function F(t,e,r={}){const{window:o=S,initialValue:a="",observe:u=!1}=r,i=n.ref(a),l=n.computed(()=>{var p;return w(e)||((p=o?.document)==null?void 0:p.documentElement)});function f(){var p;const d=c.toValue(t),_=c.toValue(l);if(_&&o){const v=(p=o.getComputedStyle(_).getPropertyValue(d))==null?void 0:p.trim();i.value=v||a}}return u&&cn(l,f,{attributeFilter:["style","class"],window:o}),n.watch([l,()=>c.toValue(t)],f,{immediate:!0}),n.watch(i,p=>{var d;(d=l.value)!=null&&d.style&&l.value.style.setProperty(c.toValue(t),p)}),i}const $e="--vueuse-safe-area-top",Ce="--vueuse-safe-area-right",Ee="--vueuse-safe-area-bottom",je="--vueuse-safe-area-left";function fn(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const u=F($e),i=F(Ce),l=F(Ee),f=F(je);u.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",l.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),$("resize",c.useDebounceFn(a))}function a(){t.value=K($e),e.value=K(Ce),r.value=K(Ee),o.value=K(je)}return{top:t,right:e,bottom:r,left:o,update:a}}function K(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const dn=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:u}=fn();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?u.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var pn=Object.defineProperty,vn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?pn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,yn=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Le(t,r,e[r]);if(Ie)for(var r of Ie(e))mn.call(e,r)&&Le(t,r,e[r]);return t},On=(t,e)=>vn(t,_n(e));const Pn={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=Y(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=Y(t,On(yn({},o),{onScroll(u){var i;(i=o.onScroll)==null||i.call(o,u),r(a)},onStop(u){var i;(i=o.onStop)==null||i.call(o,u),r(a)}}))}}};function Ae(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth<t.scrollWidth||e.overflowY==="auto"&&t.clientHeight<t.scrollHeight)return!0;{const r=t.parentNode;return!r||r.tagName==="BODY"?!1:Ae(r)}}function wn(t){const e=t||window.event,r=e.target;return Ae(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function hn(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(c.toRef(t),l=>{if(l){const f=l;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const u=()=>{const l=c.toValue(t);!l||r.value||(c.isIOS&&(o=$(l,"touchmove",f=>{wn(f)},{passive:!1})),l.style.overflow="hidden",r.value=!0)},i=()=>{const l=c.toValue(t);!l||!r.value||(c.isIOS&&o?.(),l.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(i),n.computed({get(){return r.value},set(l){l?u():i()}})}function bn(){let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=hn(r,o.value);n.watch(e,u=>a.value=u)}}const Sn=bn();var Un=Object.defineProperty,$n=Object.defineProperties,Cn=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,En=Object.prototype.hasOwnProperty,jn=Object.prototype.propertyIsEnumerable,Me=(t,e,r)=>e in t?Un(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,In=(t,e)=>{for(var r in e||(e={}))En.call(e,r)&&Me(t,r,e[r]);if(Ve)for(var r of Ve(e))jn.call(e,r)&&Me(t,r,e[r]);return t},Ln=(t,e)=>$n(t,Cn(e));const An=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(g.useTimeAgo(()=>t.time,Ln(In({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Vn=Object.defineProperty,Mn=Object.defineProperties,Nn=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Tn=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable,Te=(t,e,r)=>e in t?Vn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zn=(t,e)=>{for(var r in e||(e={}))Tn.call(e,r)&&Te(t,r,e[r]);if(Ne)for(var r of Ne(e))Rn.call(e,r)&&Te(t,r,e[r]);return t},Hn=(t,e)=>Mn(t,Nn(e));const kn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(g.useTimestamp(Hn(zn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Bn=Object.defineProperty,Re=Object.getOwnPropertySymbols,Wn=Object.prototype.hasOwnProperty,Fn=Object.prototype.propertyIsEnumerable,ze=(t,e,r)=>e in t?Bn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,He=(t,e)=>{for(var r in e||(e={}))Wn.call(e,r)&&ze(t,r,e[r]);if(Re)for(var r of Re(e))Fn.call(e,r)&&ze(t,r,e[r]);return t};const Kn=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e,expose:r}){const{list:o}=n.toRefs(t),{list:a,containerProps:u,wrapperProps:i,scrollTo:l}=g.useVirtualList(o,t.options);return r({scrollTo:l}),typeof u.style=="object"&&!Array.isArray(u.style)&&(u.style.height=t.height||"300px"),()=>n.h("div",He({},u),[n.h("div",He({},i.value),a.value.map(f=>n.h("div",{style:{overFlow:"hidden",height:f.height}},e.default?e.default(f):"Please set content!")))])}}),Gn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:g.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Jn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(g.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Fe,s.OnLongPress=xe,s.UseActiveElement=Qe,s.UseBattery=Ze,s.UseBrowserLocation=De,s.UseColorMode=gt,s.UseDark=mt,s.UseDeviceMotion=yt,s.UseDeviceOrientation=Ot,s.UseDevicePixelRatio=Pt,s.UseDevicesList=wt,s.UseDocumentVisibility=ht,s.UseDraggable=It,s.UseElementBounding=Lt,s.UseElementSize=Mt,s.UseElementVisibility=Bt,s.UseEyeDropper=Ft,s.UseFullscreen=Kt,s.UseGeolocation=Gt,s.UseIdle=Jt,s.UseImage=ir,s.UseMouse=gr,s.UseMouseInElement=mr,s.UseMousePressed=Ur,s.UseNetwork=$r,s.UseNow=Mr,s.UseObjectUrl=Nr,s.UseOffsetPagination=Fr,s.UseOnline=Kr,s.UsePageLeave=Gr,s.UsePointer=Dr,s.UsePointerLock=en,s.UsePreferredColorScheme=tn,s.UsePreferredContrast=rn,s.UsePreferredDark=nn,s.UsePreferredLanguages=on,s.UsePreferredReducedMotion=an,s.UseScreenSafeArea=dn,s.UseTimeAgo=An,s.UseTimestamp=kn,s.UseVirtualList=Kn,s.UseWindowFocus=Gn,s.UseWindowSize=Jn,s.VOnClickOutside=H,s.VOnLongPress=x,s.vElementHover=Vt,s.vElementSize=kt,s.vElementVisibility=Wt,s.vInfiniteScroll=vr,s.vIntersectionObserver=_r,s.vOnClickOutside=H,s.vOnKeyStroke=Xe,s.vOnLongPress=x,s.vScroll=Pn,s.vScrollLock=Sn})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -114,10 +114,12 @@ function onClickOutside(target, handler, options = {}) {
114
114
  shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
115
115
  }, { passive: true }),
116
116
  detectIframe && useEventListener(window, "blur", (event) => {
117
- var _a;
118
- const el = unrefElement(target);
119
- if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
120
- handler(event);
117
+ setTimeout(() => {
118
+ var _a;
119
+ const el = unrefElement(target);
120
+ if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
121
+ handler(event);
122
+ }, 0);
121
123
  })
122
124
  ].filter(Boolean);
123
125
  const stop = () => cleanup.forEach((fn) => fn());
@@ -597,7 +599,8 @@ function useColorMode(options = {}) {
597
599
  let style;
598
600
  if (disableTransition) {
599
601
  style = window.document.createElement("style");
600
- style.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"));
602
+ const styleString = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";
603
+ style.appendChild(document.createTextNode(styleString));
601
604
  window.document.head.appendChild(style);
602
605
  }
603
606
  if (attribute2 === "class") {
@@ -768,7 +771,10 @@ const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
768
771
  "pointerTypes",
769
772
  "as",
770
773
  "handle",
771
- "axis"
774
+ "axis",
775
+ "onStart",
776
+ "onMove",
777
+ "onEnd"
772
778
  ],
773
779
  setup(props, { slots }) {
774
780
  const target = ref();
@@ -782,7 +788,9 @@ const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
782
788
  isClient$1 ? props.storageType === "session" ? sessionStorage : localStorage : void 0
783
789
  );
784
790
  const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };
785
- const onEnd = (position) => {
791
+ const onEnd = (position, event) => {
792
+ var _a;
793
+ (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);
786
794
  if (!storageValue)
787
795
  return;
788
796
  storageValue.value.x = position.x;
@@ -928,8 +936,8 @@ function useElementSize(target, initialSize = { width: 0, height: 0 }, options =
928
936
  const $elem = unrefElement(target);
929
937
  if ($elem) {
930
938
  const styles = window.getComputedStyle($elem);
931
- width.value = parseFloat(styles.width);
932
- height.value = parseFloat(styles.height);
939
+ width.value = Number.parseFloat(styles.width);
940
+ height.value = Number.parseFloat(styles.height);
933
941
  }
934
942
  } else {
935
943
  if (boxSize) {
@@ -1218,7 +1226,7 @@ var __spreadValues$9 = (a, b) => {
1218
1226
  async function loadImage(options) {
1219
1227
  return new Promise((resolve, reject) => {
1220
1228
  const img = new Image();
1221
- const { src, srcset, sizes, class: clazz, loading, crossorigin } = options;
1229
+ const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;
1222
1230
  img.src = src;
1223
1231
  if (srcset)
1224
1232
  img.srcset = srcset;
@@ -1230,6 +1238,8 @@ async function loadImage(options) {
1230
1238
  img.loading = loading;
1231
1239
  if (crossorigin)
1232
1240
  img.crossOrigin = crossorigin;
1241
+ if (referrerPolicy)
1242
+ img.referrerPolicy = referrerPolicy;
1233
1243
  img.onload = () => resolve(img);
1234
1244
  img.onerror = reject;
1235
1245
  });
@@ -1260,7 +1270,8 @@ const UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
1260
1270
  "alt",
1261
1271
  "class",
1262
1272
  "loading",
1263
- "crossorigin"
1273
+ "crossorigin",
1274
+ "referrerPolicy"
1264
1275
  ],
1265
1276
  setup(props, { slots }) {
1266
1277
  const data = reactive(useImage(props));
@@ -1349,7 +1360,7 @@ function useScroll(element, options = {}) {
1349
1360
  };
1350
1361
  const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);
1351
1362
  const setArrivedState = (target) => {
1352
- const el = target === document ? target.documentElement : target;
1363
+ const el = target === window ? target.document.documentElement : target === document ? target.documentElement : target;
1353
1364
  const { display, flexDirection } = getComputedStyle(el);
1354
1365
  const scrollLeft = el.scrollLeft;
1355
1366
  directions.left = scrollLeft < internalX.value;
@@ -1874,7 +1885,7 @@ function useCssVar(prop, target, options = {}) {
1874
1885
  }
1875
1886
  if (observe) {
1876
1887
  useMutationObserver(elRef, updateCssVar, {
1877
- attributes: true,
1888
+ attributeFilter: ["style", "class"],
1878
1889
  window
1879
1890
  });
1880
1891
  }
@@ -2018,7 +2029,7 @@ const vScroll = {
2018
2029
 
2019
2030
  function checkOverflowScroll(ele) {
2020
2031
  const style = window.getComputedStyle(ele);
2021
- if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientHeight < ele.scrollHeight || style.overflowY === "auto" && ele.clientWidth < ele.scrollWidth) {
2032
+ if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) {
2022
2033
  return true;
2023
2034
  } else {
2024
2035
  const parent = ele.parentNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/components",
3
- "version": "10.1.2",
3
+ "version": "10.2.0",
4
4
  "description": "Renderless components for VueUse",
5
5
  "author": "Jacob Clevenger<https://github.com/wheatjs>",
6
6
  "license": "MIT",
@@ -33,8 +33,8 @@
33
33
  "jsdelivr": "./index.iife.min.js",
34
34
  "types": "./index.d.ts",
35
35
  "dependencies": {
36
- "@vueuse/core": "10.1.2",
37
- "@vueuse/shared": "10.1.2",
38
- "vue-demi": ">=0.14.0"
36
+ "@vueuse/core": "10.2.0",
37
+ "@vueuse/shared": "10.2.0",
38
+ "vue-demi": ">=0.14.5"
39
39
  }
40
40
  }