@vueuse/components 10.0.0-beta.4 → 10.0.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
@@ -3,6 +3,7 @@
3
3
  var vueDemi = require('vue-demi');
4
4
  var core = require('@vueuse/core');
5
5
  var shared = require('@vueuse/shared');
6
+ var reactivity = require('@vue/reactivity');
6
7
 
7
8
  const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
8
9
  name: "OnClickOutside",
@@ -33,7 +34,7 @@ function useEventListener(...args) {
33
34
  let events;
34
35
  let listeners;
35
36
  let options;
36
- if (shared.isString(args[0]) || Array.isArray(args[0])) {
37
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
37
38
  [events, listeners, options] = args;
38
39
  target = defaultWindow;
39
40
  } else {
@@ -320,8 +321,12 @@ const UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineCompone
320
321
 
321
322
  const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
322
323
  const globalKey = "__vueuse_ssr_handlers__";
323
- _global[globalKey] = _global[globalKey] || {};
324
- const handlers = _global[globalKey];
324
+ const handlers = /* @__PURE__ */ getHandlers();
325
+ function getHandlers() {
326
+ if (!(globalKey in _global))
327
+ _global[globalKey] = _global[globalKey] || {};
328
+ return _global[globalKey];
329
+ }
325
330
  function getSSRHandler(key, fallback) {
326
331
  return handlers[key] || fallback;
327
332
  }
@@ -456,7 +461,7 @@ function useStorage(key, defaults, storage, options = {}) {
456
461
  return rawInit;
457
462
  } else if (!event && mergeDefaults) {
458
463
  const value = serializer.read(rawValue);
459
- if (shared.isFunction(mergeDefaults))
464
+ if (typeof mergeDefaults === "function")
460
465
  return mergeDefaults(value, rawInit);
461
466
  else if (type === "object" && !Array.isArray(value))
462
467
  return __spreadValues$c(__spreadValues$c({}, rawInit), value);
@@ -989,15 +994,19 @@ function useIntersectionObserver(target, callback, options = {}) {
989
994
  immediate = true
990
995
  } = options;
991
996
  const isSupported = useSupported(() => window && "IntersectionObserver" in window);
997
+ const targets = reactivity.computed(() => {
998
+ const _target = shared.toValue(target);
999
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(shared.notNullish);
1000
+ });
992
1001
  let cleanup = shared.noop;
993
1002
  const isActive = vueDemi.ref(immediate);
994
1003
  const stopWatch = isSupported.value ? vueDemi.watch(
995
- () => [unrefElement(target), unrefElement(root), isActive.value],
996
- ([el, root2]) => {
1004
+ () => [targets.value, unrefElement(root), isActive.value],
1005
+ ([targets2, root2]) => {
997
1006
  cleanup();
998
1007
  if (!isActive.value)
999
1008
  return;
1000
- if (!el)
1009
+ if (targets2.length)
1001
1010
  return;
1002
1011
  const observer = new IntersectionObserver(
1003
1012
  callback,
@@ -1007,7 +1016,7 @@ function useIntersectionObserver(target, callback, options = {}) {
1007
1016
  threshold
1008
1017
  }
1009
1018
  );
1010
- observer.observe(el);
1019
+ targets2.forEach((el) => el && observer.observe(el));
1011
1020
  cleanup = () => {
1012
1021
  observer.disconnect();
1013
1022
  cleanup = shared.noop;
@@ -1379,38 +1388,46 @@ var __spreadValues$8 = (a, b) => {
1379
1388
  };
1380
1389
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1381
1390
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1382
- var _a, _b;
1383
- const direction = (_a = options.direction) != null ? _a : "bottom";
1391
+ var _a;
1392
+ const {
1393
+ direction = "bottom",
1394
+ interval = 100
1395
+ } = options;
1384
1396
  const state = vueDemi.reactive(useScroll(
1385
1397
  element,
1386
1398
  __spreadProps$7(__spreadValues$8({}, options), {
1387
1399
  offset: __spreadValues$8({
1388
- [direction]: (_b = options.distance) != null ? _b : 0
1400
+ [direction]: (_a = options.distance) != null ? _a : 0
1389
1401
  }, options.offset)
1390
1402
  })
1391
1403
  ));
1392
- vueDemi.watch(
1393
- () => state.arrivedState[direction],
1394
- async (v) => {
1395
- var _a2, _b2;
1396
- if (v) {
1397
- const elem = shared.toValue(element);
1398
- const previous = {
1399
- height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,
1400
- width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0
1401
- };
1402
- await onLoadMore(state);
1403
- if (options.preserveScrollPosition && elem) {
1404
- vueDemi.nextTick(() => {
1405
- elem.scrollTo({
1406
- top: elem.scrollHeight - previous.height,
1407
- left: elem.scrollWidth - previous.width
1408
- });
1409
- });
1410
- }
1404
+ const promise = vueDemi.ref();
1405
+ const isLoading = vueDemi.computed(() => !!promise.value);
1406
+ function checkAndLoad() {
1407
+ const el = shared.toValue(element);
1408
+ if (!el)
1409
+ return;
1410
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1411
+ if (state.arrivedState[direction] || isNarrower) {
1412
+ if (!promise.value) {
1413
+ promise.value = Promise.all([
1414
+ onLoadMore(state),
1415
+ new Promise((resolve) => setTimeout(resolve, interval))
1416
+ ]).finally(() => {
1417
+ promise.value = null;
1418
+ vueDemi.nextTick(() => checkAndLoad());
1419
+ });
1411
1420
  }
1412
1421
  }
1422
+ }
1423
+ vueDemi.watch(
1424
+ () => [state.arrivedState[direction], shared.toValue(element)],
1425
+ checkAndLoad,
1426
+ { immediate: true }
1413
1427
  );
1428
+ return {
1429
+ isLoading
1430
+ };
1414
1431
  }
1415
1432
 
1416
1433
  const vInfiniteScroll = {
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as vue_demi from 'vue-demi';
2
2
  import { ComponentPublicInstance, ObjectDirective, Ref, UnwrapNestedRefs, ComputedRef, FunctionDirective } from 'vue-demi';
3
- import { MaybeRef, MaybeRefOrGetter, ConfigurableEventFilter, ConfigurableFlush } from '@vueuse/shared';
3
+ import { MaybeRef, MaybeRefOrGetter, ConfigurableEventFilter, ConfigurableFlush, Awaitable } from '@vueuse/shared';
4
4
  import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize as ElementSize$1, UseGeolocationOptions, UseIdleOptions, UseMouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, UseTimeAgoOptions, UseTimestampOptions, UseVirtualListOptions, UseWindowSizeOptions } from '@vueuse/core';
5
5
 
6
6
  interface ConfigurableWindow {
@@ -436,18 +436,20 @@ interface UseInfiniteScrollOptions extends UseScrollOptions {
436
436
  */
437
437
  direction?: 'top' | 'bottom' | 'left' | 'right';
438
438
  /**
439
- * Whether to preserve the current scroll position when loading more items.
439
+ * The interval time between two load more (to avoid too many invokes).
440
440
  *
441
- * @default false
441
+ * @default 100
442
442
  */
443
- preserveScrollPosition?: boolean;
443
+ interval?: number;
444
444
  }
445
445
  /**
446
446
  * Reactive infinite scroll.
447
447
  *
448
448
  * @see https://vueuse.org/useInfiniteScroll
449
449
  */
450
- declare function useInfiniteScroll(element: MaybeRefOrGetter<HTMLElement | SVGElement | Window | Document | null | undefined>, onLoadMore: (state: UnwrapNestedRefs<ReturnType<typeof useScroll>>) => void | Promise<void>, options?: UseInfiniteScrollOptions): void;
450
+ declare function useInfiniteScroll(element: MaybeRefOrGetter<HTMLElement | SVGElement | Window | Document | null | undefined>, onLoadMore: (state: UnwrapNestedRefs<ReturnType<typeof useScroll>>) => Awaitable<void>, options?: UseInfiniteScrollOptions): {
451
+ isLoading: vue_demi.ComputedRef<boolean>;
452
+ };
451
453
 
452
454
  type BindingValueFunction$2 = Parameters<typeof useInfiniteScroll>[1];
453
455
  type BindingValueArray$2 = [BindingValueFunction$2, UseInfiniteScrollOptions];
package/index.iife.js CHANGED
@@ -112,7 +112,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
112
112
  this.VueCompositionAPI || (typeof VueCompositionAPI !== 'undefined' ? VueCompositionAPI : undefined)
113
113
  );
114
114
  ;
115
- ;(function (exports, vueDemi, core, shared) {
115
+ ;(function (exports, vueDemi, core, shared, reactivity) {
116
116
  'use strict';
117
117
 
118
118
  const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
@@ -144,7 +144,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
144
144
  let events;
145
145
  let listeners;
146
146
  let options;
147
- if (shared.isString(args[0]) || Array.isArray(args[0])) {
147
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
148
148
  [events, listeners, options] = args;
149
149
  target = defaultWindow;
150
150
  } else {
@@ -431,8 +431,12 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
431
431
 
432
432
  const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
433
433
  const globalKey = "__vueuse_ssr_handlers__";
434
- _global[globalKey] = _global[globalKey] || {};
435
- const handlers = _global[globalKey];
434
+ const handlers = /* @__PURE__ */ getHandlers();
435
+ function getHandlers() {
436
+ if (!(globalKey in _global))
437
+ _global[globalKey] = _global[globalKey] || {};
438
+ return _global[globalKey];
439
+ }
436
440
  function getSSRHandler(key, fallback) {
437
441
  return handlers[key] || fallback;
438
442
  }
@@ -567,7 +571,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
567
571
  return rawInit;
568
572
  } else if (!event && mergeDefaults) {
569
573
  const value = serializer.read(rawValue);
570
- if (shared.isFunction(mergeDefaults))
574
+ if (typeof mergeDefaults === "function")
571
575
  return mergeDefaults(value, rawInit);
572
576
  else if (type === "object" && !Array.isArray(value))
573
577
  return __spreadValues$c(__spreadValues$c({}, rawInit), value);
@@ -1100,15 +1104,19 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1100
1104
  immediate = true
1101
1105
  } = options;
1102
1106
  const isSupported = useSupported(() => window && "IntersectionObserver" in window);
1107
+ const targets = reactivity.computed(() => {
1108
+ const _target = shared.toValue(target);
1109
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(shared.notNullish);
1110
+ });
1103
1111
  let cleanup = shared.noop;
1104
1112
  const isActive = vueDemi.ref(immediate);
1105
1113
  const stopWatch = isSupported.value ? vueDemi.watch(
1106
- () => [unrefElement(target), unrefElement(root), isActive.value],
1107
- ([el, root2]) => {
1114
+ () => [targets.value, unrefElement(root), isActive.value],
1115
+ ([targets2, root2]) => {
1108
1116
  cleanup();
1109
1117
  if (!isActive.value)
1110
1118
  return;
1111
- if (!el)
1119
+ if (targets2.length)
1112
1120
  return;
1113
1121
  const observer = new IntersectionObserver(
1114
1122
  callback,
@@ -1118,7 +1126,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1118
1126
  threshold
1119
1127
  }
1120
1128
  );
1121
- observer.observe(el);
1129
+ targets2.forEach((el) => el && observer.observe(el));
1122
1130
  cleanup = () => {
1123
1131
  observer.disconnect();
1124
1132
  cleanup = shared.noop;
@@ -1490,38 +1498,46 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1490
1498
  };
1491
1499
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1492
1500
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1493
- var _a, _b;
1494
- const direction = (_a = options.direction) != null ? _a : "bottom";
1501
+ var _a;
1502
+ const {
1503
+ direction = "bottom",
1504
+ interval = 100
1505
+ } = options;
1495
1506
  const state = vueDemi.reactive(useScroll(
1496
1507
  element,
1497
1508
  __spreadProps$7(__spreadValues$8({}, options), {
1498
1509
  offset: __spreadValues$8({
1499
- [direction]: (_b = options.distance) != null ? _b : 0
1510
+ [direction]: (_a = options.distance) != null ? _a : 0
1500
1511
  }, options.offset)
1501
1512
  })
1502
1513
  ));
1503
- vueDemi.watch(
1504
- () => state.arrivedState[direction],
1505
- async (v) => {
1506
- var _a2, _b2;
1507
- if (v) {
1508
- const elem = shared.toValue(element);
1509
- const previous = {
1510
- height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,
1511
- width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0
1512
- };
1513
- await onLoadMore(state);
1514
- if (options.preserveScrollPosition && elem) {
1515
- vueDemi.nextTick(() => {
1516
- elem.scrollTo({
1517
- top: elem.scrollHeight - previous.height,
1518
- left: elem.scrollWidth - previous.width
1519
- });
1520
- });
1521
- }
1514
+ const promise = vueDemi.ref();
1515
+ const isLoading = vueDemi.computed(() => !!promise.value);
1516
+ function checkAndLoad() {
1517
+ const el = shared.toValue(element);
1518
+ if (!el)
1519
+ return;
1520
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1521
+ if (state.arrivedState[direction] || isNarrower) {
1522
+ if (!promise.value) {
1523
+ promise.value = Promise.all([
1524
+ onLoadMore(state),
1525
+ new Promise((resolve) => setTimeout(resolve, interval))
1526
+ ]).finally(() => {
1527
+ promise.value = null;
1528
+ vueDemi.nextTick(() => checkAndLoad());
1529
+ });
1522
1530
  }
1523
1531
  }
1532
+ }
1533
+ vueDemi.watch(
1534
+ () => [state.arrivedState[direction], shared.toValue(element)],
1535
+ checkAndLoad,
1536
+ { immediate: true }
1524
1537
  );
1538
+ return {
1539
+ isLoading
1540
+ };
1525
1541
  }
1526
1542
 
1527
1543
  const vInfiniteScroll = {
@@ -2295,4 +2311,4 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
2295
2311
  exports.vScroll = vScroll;
2296
2312
  exports.vScrollLock = vScrollLock;
2297
2313
 
2298
- })(this.VueUse = this.VueUse || {}, VueDemi, VueUse, VueUse);
2314
+ })(this.VueUse = this.VueUse || {}, VueDemi, VueUse, VueUse, reactivity);
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 h=function(b,S){var V,z={},k={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(N,T){return z[N]=T,this},directive:function(N,T){return T?(n.directive(N,T),k):n.directive(N)},mount:function(N,T){return V||(V=new n(Object.assign({propsData:S},b,{provide:Object.assign(z,b.provide)})),V.$mount(N,T),V)},unmount:function(){V&&(V.$destroy(),V=void 0)}};return k};var ke=h;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=h}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(h,b,S){return Array.isArray(h)?(h.length=Math.max(h.length,b),h.splice(b,1,S),S):(h[b]=S,S)},s.del=function(h,b){if(Array.isArray(h)){h.splice(b,1);return}delete h[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 ke=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 h(t){var e;const r=c.toValue(t);return(e=r?.$el)!=null?e:r}const b=c.isClient?window:void 0;function S(...t){let e,r,o,a;if(c.isString(t[0])||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 l=[],i=()=>{l.forEach(d=>d()),l.length=0},u=(d,m,v,_)=>(d.addEventListener(m,v,_),()=>d.removeEventListener(m,v,_)),f=n.watch(()=>[h(e),c.toValue(a)],([d,m])=>{i(),d&&l.push(...r.flatMap(v=>o.map(_=>u(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=b,ignore:a=[],capture:l=!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 u=!0;const f=v=>a.some(_=>{if(typeof _=="string")return Array.from(o.document.querySelectorAll(_)).some(O=>O===v.target||v.composedPath().includes(O));{const O=h(_);return O&&(v.target===O||v.composedPath().includes(O))}}),d=[S(o,"click",v=>{const _=h(t);if(!(!_||_===v.target||v.composedPath().includes(_))){if(v.detail===0&&(u=!f(v)),!u){u=!0;return}e(v)}},{passive:!0,capture:l}),S(o,"pointerdown",v=>{const _=h(t);_&&(u=!v.composedPath().includes(_)&&!f(v))},{passive:!0}),i&&S(o,"blur",v=>{var _;const O=h(t);((_=o.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!O?.contains(o.document.activeElement)&&e(v)})].filter(Boolean);return()=>d.forEach(v=>v())}const k={[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 N(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function T(...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:l="keydown",passive:i=!1,dedupe:u=!1}=o,f=N(e);return S(a,l,d=>{d.repeat&&c.toValue(u)||f(d)&&r(d)},i)}var He=Object.defineProperty,X=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,q=(t,e,r)=>e in t?He(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Fe=(t,e)=>{for(var r in e||(e={}))Be.call(e,r)&&q(t,r,e[r]);if(X)for(var r of X(e))We.call(e,r)&&q(t,r,e[r]);return t};const Ke={[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")T(a,e.value,{target:t});else{const[l,i]=e.value;T(a,l,Fe({target:t},i))}}},Ge=500;function W(t,e,r){var o,a;const l=n.computed(()=>h(t));let i;function u(){i&&(clearTimeout(i),i=void 0)}function f(d){var m,v,_,O;(m=r?.modifiers)!=null&&m.self&&d.target!==l.value||(u(),(v=r?.modifiers)!=null&&v.prevent&&d.preventDefault(),(_=r?.modifiers)!=null&&_.stop&&d.stopPropagation(),i=setTimeout(()=>e(d),(O=r?.delay)!=null?O:Ge))}const p={capture:(o=r?.modifiers)==null?void 0:o.capture,once:(a=r?.modifiers)==null?void 0:a.once};S(l,"pointerdown",f,p),S(l,"pointerup",u,p),S(l,"pointerleave",u,p)}const Je=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return W(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"?W(t,e.value,{modifiers:e.modifiers}):W(t,...e.value)}},Ye=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:g.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Xe=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(g.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),qe=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(g.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},K="__vueuse_ssr_handlers__";F[K]=F[K]||{};const Qe=F[K];function Z(t,e){return Qe[t]||e}function Ze(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 xe=Object.defineProperty,x=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))et.call(e,r)&&D(t,r,e[r]);return t};const tt={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 rt(t,e,r,o={}){var a;const{flush:l="pre",deep:i=!0,listenToStorageChanges:u=!0,writeDefaults:f=!0,mergeDefaults:p=!1,shallow:d,window:m=b,eventFilter:v,onError:_=y=>{console.error(y)}}=o,O=(d?n.shallowRef:n.ref)(e);if(!r)try{r=Z("getDefaultStorage",()=>{var y;return(y=b)==null?void 0:y.localStorage})()}catch(y){_(y)}if(!r)return O;const P=c.toValue(e),E=Ze(P),I=(a=o.serializer)!=null?a:tt[E],{pause:L,resume:C}=c.pausableWatch(O,()=>U(O.value),{flush:l,deep:i,eventFilter:v});return m&&u&&(S(m,"storage",j),S(m,te,A)),j(),O;function U(y){try{if(y==null)r.removeItem(t);else{const w=I.write(y),M=r.getItem(t);M!==w&&(r.setItem(t,w),m&&m.dispatchEvent(new CustomEvent(te,{detail:{key:t,oldValue:M,newValue:w,storageArea:r}})))}}catch(w){_(w)}}function $(y){const w=y?y.newValue:r.getItem(t);if(w==null)return f&&P!==null&&r.setItem(t,I.write(P)),P;if(!y&&p){const M=I.read(w);return c.isFunction(p)?p(M,P):E==="object"&&!Array.isArray(M)?ee(ee({},P),M):M}else return typeof w!="string"?w:I.read(w)}function A(y){j(y.detail)}function j(y){if(!(y&&y.storageArea!==r)){if(y&&y.key==null){O.value=P;return}if(!(y&&y.key!==t)){L();try{O.value=$(y)}catch(w){_(w)}finally{y?n.nextTick(C):C()}}}}}function nt(){const t=n.ref(!1);return n.getCurrentInstance()&&n.onMounted(()=>{t.value=!0}),t}function G(t){const e=nt();return n.computed(()=>(e.value,!!t()))}function ot(t,e={}){const{window:r=b}=e,o=G(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const l=n.ref(!1),i=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",u):a.removeListener(u))},u=()=>{o.value&&(i(),a=r.matchMedia(c.toRef(t).value),l.value=!!a?.matches,a&&("addEventListener"in a?a.addEventListener("change",u):a.addListener(u)))};return n.watchEffect(u),c.tryOnScopeDispose(()=>i()),l}function at(t){return ot("(prefers-color-scheme: dark)",t)}var st=Object.defineProperty,re=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?st(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ut=(t,e)=>{for(var r in e||(e={}))lt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))it.call(e,r)&&ne(t,r,e[r]);return t};function ct(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=b,storage:l,storageKey:i="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:f,emitAuto:p,disableTransition:d=!0}=t,m=ut({auto:"",light:"light",dark:"dark"},t.modes||{}),v=at({window:a}),_=n.computed(()=>v.value?"dark":"light"),O=f||(i==null?n.ref(o):rt(i,o,l,{window:a,listenToStorageChanges:u})),P=n.computed({get(){return O.value==="auto"&&!p?_.value:O.value},set(C){O.value=C}}),E=Z("updateHTMLAttrs",(C,U,$)=>{const A=typeof C=="string"?a?.document.querySelector(C):c.toValue(C);if(!A)return;let j;if(d&&(j=a.document.createElement("style"),j.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(j)),U==="class"){const y=$.split(/\s/g);Object.values(m).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{y.includes(w)?A.classList.add(w):A.classList.remove(w)})}else A.setAttribute(U,$);d&&(a.getComputedStyle(j).opacity,document.head.removeChild(j))});function I(C){var U;const $=C==="auto"?_.value:C;E(e,r,(U=m[$])!=null?U:$)}function L(C){t.onChanged?t.onChanged(C,I):I(C)}n.watch(P,L,{flush:"post",immediate:!0}),p&&n.watch(_,()=>L(P.value),{flush:"post"}),c.tryOnMounted(()=>L(P.value));try{return Object.assign(P,{store:O,system:_})}catch{return P}}const ft=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=ct(t),o=n.reactive({mode:r,system:r.system,store:r.store});return()=>{if(e.default)return e.default(o)}}}),dt=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)}}}),pt=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(g.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),vt=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(g.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),gt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:g.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),_t=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)}}}),mt=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:g.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var yt=Object.defineProperty,Ot=Object.defineProperties,Pt=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,bt=(t,e)=>{for(var r in e||(e={}))ht.call(e,r)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))wt.call(e,r)&&ae(t,r,e[r]);return t},St=(t,e)=>Ot(t,Pt(e));const Ut=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),l=a||t.initialValue||{x:0,y:0},i=f=>{a&&(a.value.x=f.x,a.value.y=f.y)},u=n.reactive(g.useDraggable(r,St(bt({},t),{handle:o,initialValue:l,onEnd:i})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${u.style}`},e.default(u))}}}),Ct=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 $t(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=b}=e,l=n.ref(!1);let i;const u=f=>{const p=f?r:o;i&&(clearTimeout(i),i=void 0),p?i=setTimeout(()=>l.value=f,p):l.value=f};return a&&(S(t,"mouseenter",()=>u(!0),{passive:!0}),S(t,"mouseleave",()=>u(!1),{passive:!0})),l}const Et={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=$t(t);n.watch(r,o=>e.value(o))}}},jt=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,Lt=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,At=(t,e)=>{var r={};for(var o in t)Lt.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&&It.call(t,o)&&(r[o]=t[o]);return r};function Vt(t,e,r={}){const o=r,{window:a=b}=o,l=At(o,["window"]);let i;const u=G(()=>a&&"ResizeObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},p=n.computed(()=>Array.isArray(t)?t.map(v=>h(v)):[h(t)]),d=n.watch(p,v=>{if(f(),u.value&&a){i=new ResizeObserver(e);for(const _ of v)_&&i.observe(_,l)}},{immediate:!0,flush:"post",deep:!0}),m=()=>{f(),d()};return c.tryOnScopeDispose(m),{isSupported:u,stop:m}}function Mt(t,e={width:0,height:0},r={}){const{window:o=b,box:a="content-box"}=r,l=n.computed(()=>{var f,p;return(p=(f=h(t))==null?void 0:f.namespaceURI)==null?void 0:p.includes("svg")}),i=n.ref(e.width),u=n.ref(e.height);return Vt(t,([f])=>{const p=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&l.value){const d=h(t);if(d){const m=o.getComputedStyle(d);i.value=parseFloat(m.width),u.value=parseFloat(m.height)}}else if(p){const d=Array.isArray(p)?p:[p];i.value=d.reduce((m,{inlineSize:v})=>m+v,0),u.value=d.reduce((m,{blockSize:v})=>m+v,0)}else i.value=f.contentRect.width,u.value=f.contentRect.height},r),n.watch(()=>h(t),f=>{i.value=f?e.width:0,u.value=f?e.height:0}),{width:i,height:u}}const Tt={[c.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:l,height:i}=Mt(t,...a);n.watch([l,i],([u,f])=>o({width:u,height:f}))}},Nt=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:l=.1,window:i=b,immediate:u=!0}=r,f=G(()=>i&&"IntersectionObserver"in i);let p=c.noop;const d=n.ref(u),m=f.value?n.watch(()=>[h(t),h(o),d.value],([_,O])=>{if(p(),!d.value||!_)return;const P=new IntersectionObserver(e,{root:h(O),rootMargin:a,threshold:l});P.observe(_),p=()=>{P.disconnect(),p=c.noop}},{immediate:u,flush:"post"}):c.noop,v=()=>{p(),m(),d.value=!1};return c.tryOnScopeDispose(v),{isSupported:f,isActive:d,pause(){p(),d.value=!1},resume(){d.value=!0},stop:v}}function le(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 Rt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=le(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=le(t,o);n.watch(a,l=>r(l),{immediate:!0})}}},zt=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))}}}),Ht=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)}}}),Bt=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)}}});function Wt(t,e,r){const{immediate:o=!0,delay:a=0,onError:l=c.noop,onSuccess:i=c.noop,resetOnExecute:u=!0,shallow:f=!0,throwError:p}=r??{},d=f?n.shallowRef(e):n.ref(e),m=n.ref(!1),v=n.ref(!1),_=n.shallowRef(void 0);async function O(P=0,...E){u&&(d.value=e),_.value=void 0,m.value=!1,v.value=!0,P>0&&await c.promiseTimeout(P);const I=typeof t=="function"?t(...E):t;try{const L=await I;d.value=L,m.value=!0,i(L)}catch(L){if(_.value=L,l(L),p)throw L}finally{v.value=!1}return d.value}return o&&O(a),{state:d,isReady:m,isLoading:v,error:_,execute:O}}var Ft=Object.defineProperty,ie=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,ue=(t,e,r)=>e in t?Ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Jt=(t,e)=>{for(var r in e||(e={}))Kt.call(e,r)&&ue(t,r,e[r]);if(ie)for(var r of ie(e))Gt.call(e,r)&&ue(t,r,e[r]);return t};async function Yt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:l,sizes:i}=t;o.src=a,l&&(o.srcset=l),i&&(o.sizes=i),o.onload=()=>e(o),o.onerror=r})}function Xt(t,e={}){const r=Wt(()=>Yt(c.toValue(t)),void 0,Jt({resetOnExecute:!0},e));return n.watch(()=>c.toValue(t),()=>r.execute(e.delay),{deep:!0}),r}const qt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Xt(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)}}),ce=1;function Y(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:l=c.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:f="auto"}=e,p=n.ref(0),d=n.ref(0),m=n.computed({get(){return p.value},set(U){_(U,void 0)}}),v=n.computed({get(){return d.value},set(U){_(void 0,U)}});function _(U,$){var A,j,y;const w=c.toValue(t);w&&((y=w instanceof Document?document.body:w)==null||y.scrollTo({top:(A=c.toValue($))!=null?A:v.value,left:(j=c.toValue(U))!=null?j:m.value,behavior:c.toValue(f)}))}const O=n.ref(!1),P=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),E=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),I=U=>{O.value&&(O.value=!1,E.left=!1,E.right=!1,E.top=!1,E.bottom=!1,a(U))},L=c.useDebounceFn(I,r+o),C=U=>{const $=U.target===document?U.target.documentElement:U.target,{display:A,flexDirection:j}=getComputedStyle($),y=$.scrollLeft;E.left=y<p.value,E.right=y>p.value;const w=Math.abs(y)<=0+(i.left||0),M=Math.abs(y)+$.clientWidth>=$.scrollWidth-(i.right||0)-ce;A==="flex"&&j==="row-reverse"?(P.left=M,P.right=w):(P.left=w,P.right=M),p.value=y;let R=$.scrollTop;U.target===document&&!R&&(R=document.body.scrollTop),E.top=R<d.value,E.bottom=R>d.value;const Re=Math.abs(R)<=0+(i.top||0),ze=Math.abs(R)+$.clientHeight>=$.scrollHeight-(i.bottom||0)-ce;A==="flex"&&j==="column-reverse"?(P.top=ze,P.bottom=Re):(P.top=Re,P.bottom=ze),d.value=R,O.value=!0,L(U),l(U)};return S(t,"scroll",r?c.useThrottleFn(C,r,!0,!1):C,u),S(t,"scrollend",I,u),{x:m,y:v,isScrolling:O,arrivedState:P,directions:E}}var Qt=Object.defineProperty,Zt=Object.defineProperties,xt=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,Dt=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,de=(t,e,r)=>e in t?Qt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,pe=(t,e)=>{for(var r in e||(e={}))Dt.call(e,r)&&de(t,r,e[r]);if(fe)for(var r of fe(e))er.call(e,r)&&de(t,r,e[r]);return t},tr=(t,e)=>Zt(t,xt(e));function ve(t,e,r={}){var o,a;const l=(o=r.direction)!=null?o:"bottom",i=n.reactive(Y(t,tr(pe({},r),{offset:pe({[l]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>i.arrivedState[l],async u=>{var f,p;if(u){const d=c.toValue(t),m={height:(f=d?.scrollHeight)!=null?f:0,width:(p=d?.scrollWidth)!=null?p:0};await e(i),r.preserveScrollPosition&&d&&n.nextTick(()=>{d.scrollTo({top:d.scrollHeight-m.height,left:d.scrollWidth-m.width})})}})}const rr={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ve(t,e.value):ve(t,...e.value)}},nr={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?J(t,e.value):J(t,...e.value)}},or=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)}}}),ar=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 sr=Object.defineProperty,lr=Object.defineProperties,ir=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,fr=(t,e)=>{for(var r in e||(e={}))ur.call(e,r)&&_e(t,r,e[r]);if(ge)for(var r of ge(e))cr.call(e,r)&&_e(t,r,e[r]);return t},dr=(t,e)=>lr(t,ir(e));const pr=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMousePressed(dr(fr({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),vr=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(g.useNetwork());return()=>{if(e.default)return e.default(r)}}});var gr=Object.defineProperty,_r=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,yr=Object.prototype.hasOwnProperty,Or=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?gr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Pr=(t,e)=>{for(var r in e||(e={}))yr.call(e,r)&&ye(t,r,e[r]);if(me)for(var r of me(e))Or.call(e,r)&&ye(t,r,e[r]);return t},hr=(t,e)=>_r(t,mr(e));const wr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(g.useNow(hr(Pr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),br=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 Sr=Object.defineProperty,Ur=Object.defineProperties,Cr=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,$r=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,jr=(t,e)=>{for(var r in e||(e={}))$r.call(e,r)&&Pe(t,r,e[r]);if(Oe)for(var r of Oe(e))Er.call(e,r)&&Pe(t,r,e[r]);return t},Lr=(t,e)=>Ur(t,Cr(e));const Ir=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(Lr(jr({},t),{onPageChange(...a){var l;(l=t.onPageChange)==null||l.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var l;(l=t.onPageSizeChange)==null||l.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var l;(l=t.onPageCountChange)==null||l.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Ar=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:g.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Vr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:g.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Mr=Object.defineProperty,Tr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,we=(t,e,r)=>e in t?Mr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,kr=(t,e)=>{for(var r in e||(e={}))Rr.call(e,r)&&we(t,r,e[r]);if(he)for(var r of he(e))zr.call(e,r)&&we(t,r,e[r]);return t},Hr=(t,e)=>Tr(t,Nr(e));const Br=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(g.usePointer(Hr(kr({},t),{target:t.target==="self"?r:b})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Wr=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))}}}),Fr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:g.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Kr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:g.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Gr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:g.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Jr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:g.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),Yr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:g.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function H(t,e,r={}){const{window:o=b,initialValue:a="",observe:l=!1}=r,i=n.ref(a),u=n.computed(()=>{var p;return h(e)||((p=o?.document)==null?void 0:p.documentElement)});function f(){var p;const d=c.toValue(t),m=c.toValue(u);if(m&&o){const v=(p=o.getComputedStyle(m).getPropertyValue(d))==null?void 0:p.trim();i.value=v||a}}return l&&g.useMutationObserver(u,f,{attributes:!0,window:o}),n.watch([u,()=>c.toValue(t)],f,{immediate:!0}),n.watch(i,p=>{var d;(d=u.value)!=null&&d.style&&u.value.style.setProperty(c.toValue(t),p)}),i}const be="--vueuse-safe-area-top",Se="--vueuse-safe-area-right",Ue="--vueuse-safe-area-bottom",Ce="--vueuse-safe-area-left";function Xr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const l=H(be),i=H(Se),u=H(Ue),f=H(Ce);l.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",u.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),S("resize",c.useDebounceFn(a))}function a(){t.value=B(be),e.value=B(Se),r.value=B(Ue),o.value=B(Ce)}return{top:t,right:e,bottom:r,left:o,update:a}}function B(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const qr=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:l}=Xr();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?o.value:"",paddingBottom:t.bottom?a.value:"",paddingLeft:t.left?l.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Qr=Object.defineProperty,Zr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Dr=Object.prototype.hasOwnProperty,en=Object.prototype.propertyIsEnumerable,Ee=(t,e,r)=>e in t?Qr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tn=(t,e)=>{for(var r in e||(e={}))Dr.call(e,r)&&Ee(t,r,e[r]);if($e)for(var r of $e(e))en.call(e,r)&&Ee(t,r,e[r]);return t},rn=(t,e)=>Zr(t,xr(e));const nn={[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,rn(tn({},o),{onScroll(l){var i;(i=o.onScroll)==null||i.call(o,l),r(a)},onStop(l){var i;(i=o.onStop)==null||i.call(o,l),r(a)}}))}}};function je(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:je(r)}}function on(t){const e=t||window.event,r=e.target;return je(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function an(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(c.toRef(t),u=>{if(u){const f=u;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const l=()=>{const u=c.toValue(t);!u||r.value||(c.isIOS&&(o=S(u,"touchmove",f=>{on(f)},{passive:!1})),u.style.overflow="hidden",r.value=!0)},i=()=>{const u=c.toValue(t);!u||!r.value||(c.isIOS&&o?.(),u.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(i),n.computed({get(){return r.value},set(u){u?l():i()}})}function sn(){let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=an(r,o.value);n.watch(e,l=>a.value=l)}}const ln=sn();var un=Object.defineProperty,cn=Object.defineProperties,fn=Object.getOwnPropertyDescriptors,Le=Object.getOwnPropertySymbols,dn=Object.prototype.hasOwnProperty,pn=Object.prototype.propertyIsEnumerable,Ie=(t,e,r)=>e in t?un(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,vn=(t,e)=>{for(var r in e||(e={}))dn.call(e,r)&&Ie(t,r,e[r]);if(Le)for(var r of Le(e))pn.call(e,r)&&Ie(t,r,e[r]);return t},gn=(t,e)=>cn(t,fn(e));const _n=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(g.useTimeAgo(()=>t.time,gn(vn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var mn=Object.defineProperty,yn=Object.defineProperties,On=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,Pn=Object.prototype.hasOwnProperty,hn=Object.prototype.propertyIsEnumerable,Ve=(t,e,r)=>e in t?mn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,wn=(t,e)=>{for(var r in e||(e={}))Pn.call(e,r)&&Ve(t,r,e[r]);if(Ae)for(var r of Ae(e))hn.call(e,r)&&Ve(t,r,e[r]);return t},bn=(t,e)=>yn(t,On(e));const Sn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(g.useTimestamp(bn(wn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Un=Object.defineProperty,Me=Object.getOwnPropertySymbols,Cn=Object.prototype.hasOwnProperty,$n=Object.prototype.propertyIsEnumerable,Te=(t,e,r)=>e in t?Un(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))Cn.call(e,r)&&Te(t,r,e[r]);if(Me)for(var r of Me(e))$n.call(e,r)&&Te(t,r,e[r]);return t};const En=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e,expose:r}){const{list:o}=n.toRefs(t),{list:a,containerProps:l,wrapperProps:i,scrollTo:u}=g.useVirtualList(o,t.options);return r({scrollTo:u}),typeof l.style=="object"&&!Array.isArray(l.style)&&(l.style.height=t.height||"300px"),()=>n.h("div",Ne({},l),[n.h("div",Ne({},i.value),a.value.map(f=>n.h("div",{style:{overFlow:"hidden",height:f.height}},e.default?e.default(f):"Please set content!")))])}}),jn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:g.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Ln=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=ke,s.OnLongPress=Je,s.UseActiveElement=Ye,s.UseBattery=Xe,s.UseBrowserLocation=qe,s.UseColorMode=ft,s.UseDark=dt,s.UseDeviceMotion=pt,s.UseDeviceOrientation=vt,s.UseDevicePixelRatio=gt,s.UseDevicesList=_t,s.UseDocumentVisibility=mt,s.UseDraggable=Ut,s.UseElementBounding=Ct,s.UseElementSize=jt,s.UseElementVisibility=Nt,s.UseEyeDropper=zt,s.UseFullscreen=kt,s.UseGeolocation=Ht,s.UseIdle=Bt,s.UseImage=qt,s.UseMouse=or,s.UseMouseInElement=ar,s.UseMousePressed=pr,s.UseNetwork=vr,s.UseNow=wr,s.UseObjectUrl=br,s.UseOffsetPagination=Ir,s.UseOnline=Ar,s.UsePageLeave=Vr,s.UsePointer=Br,s.UsePointerLock=Wr,s.UsePreferredColorScheme=Fr,s.UsePreferredContrast=Kr,s.UsePreferredDark=Gr,s.UsePreferredLanguages=Jr,s.UsePreferredReducedMotion=Yr,s.UseScreenSafeArea=qr,s.UseTimeAgo=_n,s.UseTimestamp=Sn,s.UseVirtualList=En,s.UseWindowFocus=jn,s.UseWindowSize=Ln,s.VOnClickOutside=k,s.VOnLongPress=Q,s.vElementHover=Et,s.vElementSize=Tt,s.vElementVisibility=Rt,s.vInfiniteScroll=rr,s.vIntersectionObserver=nr,s.vOnClickOutside=k,s.vOnKeyStroke=Ke,s.vOnLongPress=Q,s.vScroll=nn,s.vScrollLock=ln})(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 I=function(h,U){var b,k={},z={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(T,N){return k[T]=N,this},directive:function(T,N){return N?(n.directive(T,N),z):n.directive(T)},mount:function(T,N){return b||(b=new n(Object.assign({propsData:U},h,{provide:Object.assign(k,h.provide)})),b.$mount(T,N),b)},unmount:function(){b&&(b.$destroy(),b=void 0)}};return z};var He=I;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=I}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(I,h,U){return Array.isArray(I)?(I.length=Math.max(I.length,h),I.splice(h,1,U),U):(I[h]=U,U)},s.del=function(I,h){if(Array.isArray(I)){I.splice(h,1);return}delete I[h]}}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,He){"use strict";const I=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 h(t){var e;const r=c.toValue(t);return(e=r?.$el)!=null?e:r}const U=c.isClient?window:void 0;function b(...t){let e,r,o,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,o,a]=t,e=U):[e,r,o,a]=t,!e)return c.noop;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const i=[],l=()=>{i.forEach(d=>d()),i.length=0},u=(d,_,p,m)=>(d.addEventListener(_,p,m),()=>d.removeEventListener(_,p,m)),f=n.watch(()=>[h(e),c.toValue(a)],([d,_])=>{l(),d&&i.push(...r.flatMap(p=>o.map(m=>u(d,p,m,_))))},{immediate:!0,flush:"post"}),v=()=>{f(),l()};return c.tryOnScopeDispose(v),v}let k=!1;function z(t,e,r={}){const{window:o=U,ignore:a=[],capture:i=!0,detectIframe:l=!1}=r;if(!o)return;c.isIOS&&!k&&(k=!0,Array.from(o.document.body.children).forEach(p=>p.addEventListener("click",c.noop)));let u=!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=h(m);return y&&(p.target===y||p.composedPath().includes(y))}}),d=[b(o,"click",p=>{const m=h(t);if(!(!m||m===p.target||p.composedPath().includes(m))){if(p.detail===0&&(u=!f(p)),!u){u=!0;return}e(p)}},{passive:!0,capture:i}),b(o,"pointerdown",p=>{const m=h(t);m&&(u=!p.composedPath().includes(m)&&!f(p))},{passive:!0}),l&&b(o,"blur",p=>{var m;const y=h(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 T={[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 N(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function X(...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=U,eventName:i="keydown",passive:l=!1,dedupe:u=!1}=o,f=N(e);return b(a,i,d=>{d.repeat&&c.toValue(u)||f(d)&&r(d)},l)}var Be=Object.defineProperty,q=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,Q=(t,e,r)=>e in t?Be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ke=(t,e)=>{for(var r in e||(e={}))We.call(e,r)&&Q(t,r,e[r]);if(q)for(var r of q(e))Fe.call(e,r)&&Q(t,r,e[r]);return t};const Ge={[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")X(a,e.value,{target:t});else{const[i,l]=e.value;X(a,i,Ke({target:t},l))}}},Je=500;function K(t,e,r){var o,a;const i=n.computed(()=>h(t));let l;function u(){l&&(clearTimeout(l),l=void 0)}function f(d){var _,p,m,y;(_=r?.modifiers)!=null&&_.self&&d.target!==i.value||(u(),(p=r?.modifiers)!=null&&p.prevent&&d.preventDefault(),(m=r?.modifiers)!=null&&m.stop&&d.stopPropagation(),l=setTimeout(()=>e(d),(y=r?.delay)!=null?y:Je))}const v={capture:(o=r?.modifiers)==null?void 0:o.capture,once:(a=r?.modifiers)==null?void 0:a.once};b(i,"pointerdown",f,v),b(i,"pointerup",u,v),b(i,"pointerleave",u,v)}const Ye=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return K(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),Z={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?K(t,e.value,{modifiers:e.modifiers}):K(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)}}}),qe=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(g.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Qe=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(g.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),H=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},B="__vueuse_ssr_handlers__",Ze=xe();function xe(){return B in H||(H[B]=H[B]||{}),H[B]}function x(t,e){return Ze[t]||e}function De(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 et=Object.defineProperty,D=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,ee=(t,e,r)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,te=(t,e)=>{for(var r in e||(e={}))tt.call(e,r)&&ee(t,r,e[r]);if(D)for(var r of D(e))rt.call(e,r)&&ee(t,r,e[r]);return t};const nt={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()}},re="vueuse-storage";function ot(t,e,r,o={}){var a;const{flush:i="pre",deep:l=!0,listenToStorageChanges:u=!0,writeDefaults:f=!0,mergeDefaults:v=!1,shallow:d,window:_=U,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=U)==null?void 0:O.localStorage})()}catch(O){m(O)}if(!r)return y;const P=c.toValue(e),C=De(P),j=(a=o.serializer)!=null?a:nt[C],{pause:A,resume:$}=c.pausableWatch(y,()=>S(y.value),{flush:i,deep:l,eventFilter:p});return _&&u&&(b(_,"storage",L),b(_,re,V)),L(),y;function S(O){try{if(O==null)r.removeItem(t);else{const w=j.write(O),M=r.getItem(t);M!==w&&(r.setItem(t,w),_&&_.dispatchEvent(new CustomEvent(re,{detail:{key:t,oldValue:M,newValue:w,storageArea:r}})))}}catch(w){m(w)}}function E(O){const w=O?O.newValue:r.getItem(t);if(w==null)return f&&P!==null&&r.setItem(t,j.write(P)),P;if(!O&&v){const M=j.read(w);return typeof v=="function"?v(M,P):C==="object"&&!Array.isArray(M)?te(te({},P),M):M}else return typeof w!="string"?w:j.read(w)}function V(O){L(O.detail)}function L(O){if(!(O&&O.storageArea!==r)){if(O&&O.key==null){y.value=P;return}if(!(O&&O.key!==t)){A();try{y.value=E(O)}catch(w){m(w)}finally{O?n.nextTick($):$()}}}}}function at(){const t=n.ref(!1);return n.getCurrentInstance()&&n.onMounted(()=>{t.value=!0}),t}function G(t){const e=at();return n.computed(()=>(e.value,!!t()))}function st(t,e={}){const{window:r=U}=e,o=G(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const i=n.ref(!1),l=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",u):a.removeListener(u))},u=()=>{o.value&&(l(),a=r.matchMedia(c.toRef(t).value),i.value=!!a?.matches,a&&("addEventListener"in a?a.addEventListener("change",u):a.addListener(u)))};return n.watchEffect(u),c.tryOnScopeDispose(()=>l()),i}function lt(t){return st("(prefers-color-scheme: dark)",t)}var it=Object.defineProperty,ne=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable,oe=(t,e,r)=>e in t?it(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ft=(t,e)=>{for(var r in e||(e={}))ut.call(e,r)&&oe(t,r,e[r]);if(ne)for(var r of ne(e))ct.call(e,r)&&oe(t,r,e[r]);return t};function dt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=U,storage:i,storageKey:l="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:f,emitAuto:v,disableTransition:d=!0}=t,_=ft({auto:"",light:"light",dark:"dark"},t.modes||{}),p=lt({window:a}),m=n.computed(()=>p.value?"dark":"light"),y=f||(l==null?n.ref(o):ot(l,o,i,{window:a,listenToStorageChanges:u})),P=n.computed({get(){return y.value==="auto"&&!v?m.value:y.value},set($){y.value=$}}),C=x("updateHTMLAttrs",($,S,E)=>{const V=typeof $=="string"?a?.document.querySelector($):c.toValue($);if(!V)return;let L;if(d&&(L=a.document.createElement("style"),L.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(L)),S==="class"){const O=E.split(/\s/g);Object.values(_).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{O.includes(w)?V.classList.add(w):V.classList.remove(w)})}else V.setAttribute(S,E);d&&(a.getComputedStyle(L).opacity,document.head.removeChild(L))});function j($){var S;const E=$==="auto"?m.value:$;C(e,r,(S=_[E])!=null?S:E)}function A($){t.onChanged?t.onChanged($,j):j($)}n.watch(P,A,{flush:"post",immediate:!0}),v&&n.watch(m,()=>A(P.value),{flush:"post"}),c.tryOnMounted(()=>A(P.value));try{return Object.assign(P,{store:y,system:m})}catch{return P}}const pt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=dt(t),o=n.reactive({mode:r,system:r.system,store:r.store});return()=>{if(e.default)return e.default(o)}}}),vt=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)}}}),gt=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(g.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),_t=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(g.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),mt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:g.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),yt=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)}}}),Ot=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:g.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var Pt=Object.defineProperty,wt=Object.defineProperties,ht=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,se=(t,e,r)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ut=(t,e)=>{for(var r in e||(e={}))bt.call(e,r)&&se(t,r,e[r]);if(ae)for(var r of ae(e))St.call(e,r)&&se(t,r,e[r]);return t},Ct=(t,e)=>wt(t,ht(e));const $t=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),i=a||t.initialValue||{x:0,y:0},l=f=>{a&&(a.value.x=f.x,a.value.y=f.y)},u=n.reactive(g.useDraggable(r,Ct(Ut({},t),{handle:o,initialValue:i,onEnd:l})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${u.style}`},e.default(u))}}}),Et=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 jt(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=U}=e,i=n.ref(!1);let l;const u=f=>{const v=f?r:o;l&&(clearTimeout(l),l=void 0),v?l=setTimeout(()=>i.value=f,v):i.value=f};return a&&(b(t,"mouseenter",()=>u(!0),{passive:!0}),b(t,"mouseleave",()=>u(!1),{passive:!0})),i}const Lt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=jt(t);n.watch(r,o=>e.value(o))}}},It=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(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 le=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Mt=(t,e)=>{var r={};for(var o in t)At.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&le)for(var o of le(t))e.indexOf(o)<0&&Vt.call(t,o)&&(r[o]=t[o]);return r};function Tt(t,e,r={}){const o=r,{window:a=U}=o,i=Mt(o,["window"]);let l;const u=G(()=>a&&"ResizeObserver"in a),f=()=>{l&&(l.disconnect(),l=void 0)},v=n.computed(()=>Array.isArray(t)?t.map(p=>h(p)):[h(t)]),d=n.watch(v,p=>{if(f(),u.value&&a){l=new ResizeObserver(e);for(const m of p)m&&l.observe(m,i)}},{immediate:!0,flush:"post",deep:!0}),_=()=>{f(),d()};return c.tryOnScopeDispose(_),{isSupported:u,stop:_}}function Nt(t,e={width:0,height:0},r={}){const{window:o=U,box:a="content-box"}=r,i=n.computed(()=>{var f,v;return(v=(f=h(t))==null?void 0:f.namespaceURI)==null?void 0:v.includes("svg")}),l=n.ref(e.width),u=n.ref(e.height);return Tt(t,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&i.value){const d=h(t);if(d){const _=o.getComputedStyle(d);l.value=parseFloat(_.width),u.value=parseFloat(_.height)}}else if(v){const d=Array.isArray(v)?v:[v];l.value=d.reduce((_,{inlineSize:p})=>_+p,0),u.value=d.reduce((_,{blockSize:p})=>_+p,0)}else l.value=f.contentRect.width,u.value=f.contentRect.height},r),n.watch(()=>h(t),f=>{l.value=f?e.width:0,u.value=f?e.height:0}),{width:l,height:u}}const Rt={[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:i,height:l}=Nt(t,...a);n.watch([i,l],([u,f])=>o({width:u,height:f}))}},kt=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:i=.1,window:l=U,immediate:u=!0}=r,f=G(()=>l&&"IntersectionObserver"in l),v=He.computed(()=>{const y=c.toValue(t);return(Array.isArray(y)?y:[y]).map(h).filter(c.notNullish)});let d=c.noop;const _=n.ref(u),p=f.value?n.watch(()=>[v.value,h(o),_.value],([y,P])=>{if(d(),!_.value||y.length)return;const C=new IntersectionObserver(e,{root:h(P),rootMargin:a,threshold:i});y.forEach(j=>j&&C.observe(j)),d=()=>{C.disconnect(),d=c.noop}},{immediate:u,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=U,scrollTarget:r}={}){const o=n.ref(!1);return J(t,([{isIntersecting:a}])=>{o.value=a},{root:r,window:e}),o}const zt={[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,i=>r(i),{immediate:!0})}}},Ht=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)}}}),Bt=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))}}}),Wt=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)}}}),Ft=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)}}});function Kt(t,e,r){const{immediate:o=!0,delay:a=0,onError:i=c.noop,onSuccess:l=c.noop,resetOnExecute:u=!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(P=0,...C){u&&(d.value=e),m.value=void 0,_.value=!1,p.value=!0,P>0&&await c.promiseTimeout(P);const j=typeof t=="function"?t(...C):t;try{const A=await j;d.value=A,_.value=!0,l(A)}catch(A){if(m.value=A,i(A),v)throw A}finally{p.value=!1}return d.value}return o&&y(a),{state:d,isReady:_,isLoading:p,error:m,execute:y}}var Gt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable,ce=(t,e,r)=>e in t?Gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Xt=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&ce(t,r,e[r]);if(ue)for(var r of ue(e))Yt.call(e,r)&&ce(t,r,e[r]);return t};async function qt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:i,sizes:l}=t;o.src=a,i&&(o.srcset=i),l&&(o.sizes=l),o.onload=()=>e(o),o.onerror=r})}function Qt(t,e={}){const r=Kt(()=>qt(c.toValue(t)),void 0,Xt({resetOnExecute:!0},e));return n.watch(()=>c.toValue(t),()=>r.execute(e.delay),{deep:!0}),r}const Zt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Qt(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)}}),fe=1;function Y(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:i=c.noop,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:f="auto"}=e,v=n.ref(0),d=n.ref(0),_=n.computed({get(){return v.value},set(S){m(S,void 0)}}),p=n.computed({get(){return d.value},set(S){m(void 0,S)}});function m(S,E){var V,L,O;const w=c.toValue(t);w&&((O=w instanceof Document?document.body:w)==null||O.scrollTo({top:(V=c.toValue(E))!=null?V:p.value,left:(L=c.toValue(S))!=null?L:_.value,behavior:c.toValue(f)}))}const y=n.ref(!1),P=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),C=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),j=S=>{y.value&&(y.value=!1,C.left=!1,C.right=!1,C.top=!1,C.bottom=!1,a(S))},A=c.useDebounceFn(j,r+o),$=S=>{const E=S.target===document?S.target.documentElement:S.target,{display:V,flexDirection:L}=getComputedStyle(E),O=E.scrollLeft;C.left=O<v.value,C.right=O>v.value;const w=Math.abs(O)<=0+(l.left||0),M=Math.abs(O)+E.clientWidth>=E.scrollWidth-(l.right||0)-fe;V==="flex"&&L==="row-reverse"?(P.left=M,P.right=w):(P.left=w,P.right=M),v.value=O;let R=E.scrollTop;S.target===document&&!R&&(R=document.body.scrollTop),C.top=R<d.value,C.bottom=R>d.value;const ke=Math.abs(R)<=0+(l.top||0),ze=Math.abs(R)+E.clientHeight>=E.scrollHeight-(l.bottom||0)-fe;V==="flex"&&L==="column-reverse"?(P.top=ze,P.bottom=ke):(P.top=ke,P.bottom=ze),d.value=R,y.value=!0,A(S),i(S)};return b(t,"scroll",r?c.useThrottleFn($,r,!0,!1):$,u),b(t,"scrollend",j,u),{x:_,y:p,isScrolling:y,arrivedState:P,directions:C}}var xt=Object.defineProperty,Dt=Object.defineProperties,er=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable,pe=(t,e,r)=>e in t?xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ve=(t,e)=>{for(var r in e||(e={}))tr.call(e,r)&&pe(t,r,e[r]);if(de)for(var r of de(e))rr.call(e,r)&&pe(t,r,e[r]);return t},nr=(t,e)=>Dt(t,er(e));function ge(t,e,r={}){var o;const{direction:a="bottom",interval:i=100}=r,l=n.reactive(Y(t,nr(ve({},r),{offset:ve({[a]:(o=r.distance)!=null?o:0},r.offset)}))),u=n.ref(),f=n.computed(()=>!!u.value);function v(){const d=c.toValue(t);if(!d)return;const _=a==="bottom"||a==="top"?d.scrollHeight<=d.clientHeight:d.scrollWidth<=d.clientWidth;(l.arrivedState[a]||_)&&(u.value||(u.value=Promise.all([e(l),new Promise(p=>setTimeout(p,i))]).finally(()=>{u.value=null,n.nextTick(()=>v())})))}return n.watch(()=>[l.arrivedState[a],c.toValue(t)],v,{immediate:!0}),{isLoading:f}}const or={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ge(t,e.value):ge(t,...e.value)}},ar={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?J(t,e.value):J(t,...e.value)}},sr=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)}}}),lr=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 ir=Object.defineProperty,ur=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,me=(t,e,r)=>e in t?ir(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,pr=(t,e)=>{for(var r in e||(e={}))fr.call(e,r)&&me(t,r,e[r]);if(_e)for(var r of _e(e))dr.call(e,r)&&me(t,r,e[r]);return t},vr=(t,e)=>ur(t,cr(e));const gr=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMousePressed(vr(pr({},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 mr=Object.defineProperty,yr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,wr=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?mr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,hr=(t,e)=>{for(var r in e||(e={}))Pr.call(e,r)&&Oe(t,r,e[r]);if(ye)for(var r of ye(e))wr.call(e,r)&&Oe(t,r,e[r]);return t},br=(t,e)=>yr(t,Or(e));const Sr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(g.useNow(br(hr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Ur=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 Cr=Object.defineProperty,$r=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,we=(t,e,r)=>e in t?Cr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ir=(t,e)=>{for(var r in e||(e={}))jr.call(e,r)&&we(t,r,e[r]);if(Pe)for(var r of Pe(e))Lr.call(e,r)&&we(t,r,e[r]);return t},Ar=(t,e)=>$r(t,Er(e));const Vr=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(Ar(Ir({},t),{onPageChange(...a){var i;(i=t.onPageChange)==null||i.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var i;(i=t.onPageSizeChange)==null||i.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var i;(i=t.onPageCountChange)==null||i.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Mr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:g.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Tr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:g.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Nr=Object.defineProperty,Rr=Object.defineProperties,kr=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,zr=Object.prototype.hasOwnProperty,Hr=Object.prototype.propertyIsEnumerable,be=(t,e,r)=>e in t?Nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Br=(t,e)=>{for(var r in e||(e={}))zr.call(e,r)&&be(t,r,e[r]);if(he)for(var r of he(e))Hr.call(e,r)&&be(t,r,e[r]);return t},Wr=(t,e)=>Rr(t,kr(e));const Fr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(g.usePointer(Wr(Br({},t),{target:t.target==="self"?r:U})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Kr=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))}}}),Gr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:g.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Jr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:g.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Yr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:g.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Xr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:g.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),qr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:g.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function W(t,e,r={}){const{window:o=U,initialValue:a="",observe:i=!1}=r,l=n.ref(a),u=n.computed(()=>{var v;return h(e)||((v=o?.document)==null?void 0:v.documentElement)});function f(){var v;const d=c.toValue(t),_=c.toValue(u);if(_&&o){const p=(v=o.getComputedStyle(_).getPropertyValue(d))==null?void 0:v.trim();l.value=p||a}}return i&&g.useMutationObserver(u,f,{attributes:!0,window:o}),n.watch([u,()=>c.toValue(t)],f,{immediate:!0}),n.watch(l,v=>{var d;(d=u.value)!=null&&d.style&&u.value.style.setProperty(c.toValue(t),v)}),l}const Se="--vueuse-safe-area-top",Ue="--vueuse-safe-area-right",Ce="--vueuse-safe-area-bottom",$e="--vueuse-safe-area-left";function Qr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const i=W(Se),l=W(Ue),u=W(Ce),f=W($e);i.value="env(safe-area-inset-top, 0px)",l.value="env(safe-area-inset-right, 0px)",u.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),b("resize",c.useDebounceFn(a))}function a(){t.value=F(Se),e.value=F(Ue),r.value=F(Ce),o.value=F($e)}return{top:t,right:e,bottom:r,left:o,update:a}}function F(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Zr=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:i}=Qr();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?i.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var xr=Object.defineProperty,Dr=Object.defineProperties,en=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,je=(t,e,r)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nn=(t,e)=>{for(var r in e||(e={}))tn.call(e,r)&&je(t,r,e[r]);if(Ee)for(var r of Ee(e))rn.call(e,r)&&je(t,r,e[r]);return t},on=(t,e)=>Dr(t,en(e));const an={[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(nn({},o),{onScroll(i){var l;(l=o.onScroll)==null||l.call(o,i),r(a)},onStop(i){var l;(l=o.onStop)==null||l.call(o,i),r(a)}}))}}};function Le(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:Le(r)}}function sn(t){const e=t||window.event,r=e.target;return Le(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function ln(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(c.toRef(t),u=>{if(u){const f=u;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const i=()=>{const u=c.toValue(t);!u||r.value||(c.isIOS&&(o=b(u,"touchmove",f=>{sn(f)},{passive:!1})),u.style.overflow="hidden",r.value=!0)},l=()=>{const u=c.toValue(t);!u||!r.value||(c.isIOS&&o?.(),u.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(l),n.computed({get(){return r.value},set(u){u?i():l()}})}function un(){let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=ln(r,o.value);n.watch(e,i=>a.value=i)}}const cn=un();var fn=Object.defineProperty,dn=Object.defineProperties,pn=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,vn=Object.prototype.hasOwnProperty,gn=Object.prototype.propertyIsEnumerable,Ae=(t,e,r)=>e in t?fn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_n=(t,e)=>{for(var r in e||(e={}))vn.call(e,r)&&Ae(t,r,e[r]);if(Ie)for(var r of Ie(e))gn.call(e,r)&&Ae(t,r,e[r]);return t},mn=(t,e)=>dn(t,pn(e));const yn=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(g.useTimeAgo(()=>t.time,mn(_n({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var On=Object.defineProperty,Pn=Object.defineProperties,wn=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,hn=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable,Me=(t,e,r)=>e in t?On(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Sn=(t,e)=>{for(var r in e||(e={}))hn.call(e,r)&&Me(t,r,e[r]);if(Ve)for(var r of Ve(e))bn.call(e,r)&&Me(t,r,e[r]);return t},Un=(t,e)=>Pn(t,wn(e));const Cn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(g.useTimestamp(Un(Sn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var $n=Object.defineProperty,Te=Object.getOwnPropertySymbols,En=Object.prototype.hasOwnProperty,jn=Object.prototype.propertyIsEnumerable,Ne=(t,e,r)=>e in t?$n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Re=(t,e)=>{for(var r in e||(e={}))En.call(e,r)&&Ne(t,r,e[r]);if(Te)for(var r of Te(e))jn.call(e,r)&&Ne(t,r,e[r]);return t};const Ln=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e,expose:r}){const{list:o}=n.toRefs(t),{list:a,containerProps:i,wrapperProps:l,scrollTo:u}=g.useVirtualList(o,t.options);return r({scrollTo:u}),typeof i.style=="object"&&!Array.isArray(i.style)&&(i.style.height=t.height||"300px"),()=>n.h("div",Re({},i),[n.h("div",Re({},l.value),a.value.map(f=>n.h("div",{style:{overFlow:"hidden",height:f.height}},e.default?e.default(f):"Please set content!")))])}}),In=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:g.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),An=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=I,s.OnLongPress=Ye,s.UseActiveElement=Xe,s.UseBattery=qe,s.UseBrowserLocation=Qe,s.UseColorMode=pt,s.UseDark=vt,s.UseDeviceMotion=gt,s.UseDeviceOrientation=_t,s.UseDevicePixelRatio=mt,s.UseDevicesList=yt,s.UseDocumentVisibility=Ot,s.UseDraggable=$t,s.UseElementBounding=Et,s.UseElementSize=It,s.UseElementVisibility=kt,s.UseEyeDropper=Ht,s.UseFullscreen=Bt,s.UseGeolocation=Wt,s.UseIdle=Ft,s.UseImage=Zt,s.UseMouse=sr,s.UseMouseInElement=lr,s.UseMousePressed=gr,s.UseNetwork=_r,s.UseNow=Sr,s.UseObjectUrl=Ur,s.UseOffsetPagination=Vr,s.UseOnline=Mr,s.UsePageLeave=Tr,s.UsePointer=Fr,s.UsePointerLock=Kr,s.UsePreferredColorScheme=Gr,s.UsePreferredContrast=Jr,s.UsePreferredDark=Yr,s.UsePreferredLanguages=Xr,s.UsePreferredReducedMotion=qr,s.UseScreenSafeArea=Zr,s.UseTimeAgo=yn,s.UseTimestamp=Cn,s.UseVirtualList=Ln,s.UseWindowFocus=In,s.UseWindowSize=An,s.VOnClickOutside=T,s.VOnLongPress=Z,s.vElementHover=Lt,s.vElementSize=Rt,s.vElementVisibility=zt,s.vInfiniteScroll=or,s.vIntersectionObserver=ar,s.vOnClickOutside=T,s.vOnKeyStroke=Ge,s.vOnLongPress=Z,s.vScroll=an,s.vScrollLock=cn})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse,reactivity);
package/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, getCurrentInstance, onMounted, watchEffect, toRefs } from 'vue-demi';
2
2
  import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useMutationObserver, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
3
- import { toValue, isClient, isString, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, isFunction, toRef, tryOnMounted, useToggle, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
3
+ import { toValue, isClient, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, toRef, tryOnMounted, useToggle, notNullish, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
4
+ import { computed as computed$1 } from '@vue/reactivity';
4
5
 
5
6
  const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
6
7
  name: "OnClickOutside",
@@ -31,7 +32,7 @@ function useEventListener(...args) {
31
32
  let events;
32
33
  let listeners;
33
34
  let options;
34
- if (isString(args[0]) || Array.isArray(args[0])) {
35
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
35
36
  [events, listeners, options] = args;
36
37
  target = defaultWindow;
37
38
  } else {
@@ -318,8 +319,12 @@ const UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
318
319
 
319
320
  const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
320
321
  const globalKey = "__vueuse_ssr_handlers__";
321
- _global[globalKey] = _global[globalKey] || {};
322
- const handlers = _global[globalKey];
322
+ const handlers = /* @__PURE__ */ getHandlers();
323
+ function getHandlers() {
324
+ if (!(globalKey in _global))
325
+ _global[globalKey] = _global[globalKey] || {};
326
+ return _global[globalKey];
327
+ }
323
328
  function getSSRHandler(key, fallback) {
324
329
  return handlers[key] || fallback;
325
330
  }
@@ -454,7 +459,7 @@ function useStorage(key, defaults, storage, options = {}) {
454
459
  return rawInit;
455
460
  } else if (!event && mergeDefaults) {
456
461
  const value = serializer.read(rawValue);
457
- if (isFunction(mergeDefaults))
462
+ if (typeof mergeDefaults === "function")
458
463
  return mergeDefaults(value, rawInit);
459
464
  else if (type === "object" && !Array.isArray(value))
460
465
  return __spreadValues$c(__spreadValues$c({}, rawInit), value);
@@ -987,15 +992,19 @@ function useIntersectionObserver(target, callback, options = {}) {
987
992
  immediate = true
988
993
  } = options;
989
994
  const isSupported = useSupported(() => window && "IntersectionObserver" in window);
995
+ const targets = computed$1(() => {
996
+ const _target = toValue(target);
997
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);
998
+ });
990
999
  let cleanup = noop;
991
1000
  const isActive = ref(immediate);
992
1001
  const stopWatch = isSupported.value ? watch(
993
- () => [unrefElement(target), unrefElement(root), isActive.value],
994
- ([el, root2]) => {
1002
+ () => [targets.value, unrefElement(root), isActive.value],
1003
+ ([targets2, root2]) => {
995
1004
  cleanup();
996
1005
  if (!isActive.value)
997
1006
  return;
998
- if (!el)
1007
+ if (targets2.length)
999
1008
  return;
1000
1009
  const observer = new IntersectionObserver(
1001
1010
  callback,
@@ -1005,7 +1014,7 @@ function useIntersectionObserver(target, callback, options = {}) {
1005
1014
  threshold
1006
1015
  }
1007
1016
  );
1008
- observer.observe(el);
1017
+ targets2.forEach((el) => el && observer.observe(el));
1009
1018
  cleanup = () => {
1010
1019
  observer.disconnect();
1011
1020
  cleanup = noop;
@@ -1377,38 +1386,46 @@ var __spreadValues$8 = (a, b) => {
1377
1386
  };
1378
1387
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1379
1388
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1380
- var _a, _b;
1381
- const direction = (_a = options.direction) != null ? _a : "bottom";
1389
+ var _a;
1390
+ const {
1391
+ direction = "bottom",
1392
+ interval = 100
1393
+ } = options;
1382
1394
  const state = reactive(useScroll(
1383
1395
  element,
1384
1396
  __spreadProps$7(__spreadValues$8({}, options), {
1385
1397
  offset: __spreadValues$8({
1386
- [direction]: (_b = options.distance) != null ? _b : 0
1398
+ [direction]: (_a = options.distance) != null ? _a : 0
1387
1399
  }, options.offset)
1388
1400
  })
1389
1401
  ));
1390
- watch(
1391
- () => state.arrivedState[direction],
1392
- async (v) => {
1393
- var _a2, _b2;
1394
- if (v) {
1395
- const elem = toValue(element);
1396
- const previous = {
1397
- height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,
1398
- width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0
1399
- };
1400
- await onLoadMore(state);
1401
- if (options.preserveScrollPosition && elem) {
1402
- nextTick(() => {
1403
- elem.scrollTo({
1404
- top: elem.scrollHeight - previous.height,
1405
- left: elem.scrollWidth - previous.width
1406
- });
1407
- });
1408
- }
1402
+ const promise = ref();
1403
+ const isLoading = computed(() => !!promise.value);
1404
+ function checkAndLoad() {
1405
+ const el = toValue(element);
1406
+ if (!el)
1407
+ return;
1408
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1409
+ if (state.arrivedState[direction] || isNarrower) {
1410
+ if (!promise.value) {
1411
+ promise.value = Promise.all([
1412
+ onLoadMore(state),
1413
+ new Promise((resolve) => setTimeout(resolve, interval))
1414
+ ]).finally(() => {
1415
+ promise.value = null;
1416
+ nextTick(() => checkAndLoad());
1417
+ });
1409
1418
  }
1410
1419
  }
1420
+ }
1421
+ watch(
1422
+ () => [state.arrivedState[direction], toValue(element)],
1423
+ checkAndLoad,
1424
+ { immediate: true }
1411
1425
  );
1426
+ return {
1427
+ isLoading
1428
+ };
1412
1429
  }
1413
1430
 
1414
1431
  const vInfiniteScroll = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/components",
3
- "version": "10.0.0-beta.4",
3
+ "version": "10.0.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.0.0-beta.4",
37
- "@vueuse/shared": "10.0.0-beta.4",
38
- "vue-demi": "*"
36
+ "@vueuse/core": "10.0.0",
37
+ "@vueuse/shared": "10.0.0",
38
+ "vue-demi": ">=0.14.0"
39
39
  }
40
40
  }