@vueuse/components 10.0.0-beta.4 → 10.0.0-beta.5

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
@@ -33,7 +33,7 @@ function useEventListener(...args) {
33
33
  let events;
34
34
  let listeners;
35
35
  let options;
36
- if (shared.isString(args[0]) || Array.isArray(args[0])) {
36
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
37
37
  [events, listeners, options] = args;
38
38
  target = defaultWindow;
39
39
  } else {
@@ -320,8 +320,12 @@ const UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineCompone
320
320
 
321
321
  const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
322
322
  const globalKey = "__vueuse_ssr_handlers__";
323
- _global[globalKey] = _global[globalKey] || {};
324
- const handlers = _global[globalKey];
323
+ const handlers = /* @__PURE__ */ getHandlers();
324
+ function getHandlers() {
325
+ if (!(globalKey in _global))
326
+ _global[globalKey] = _global[globalKey] || {};
327
+ return _global[globalKey];
328
+ }
325
329
  function getSSRHandler(key, fallback) {
326
330
  return handlers[key] || fallback;
327
331
  }
@@ -456,7 +460,7 @@ function useStorage(key, defaults, storage, options = {}) {
456
460
  return rawInit;
457
461
  } else if (!event && mergeDefaults) {
458
462
  const value = serializer.read(rawValue);
459
- if (shared.isFunction(mergeDefaults))
463
+ if (typeof mergeDefaults === "function")
460
464
  return mergeDefaults(value, rawInit);
461
465
  else if (type === "object" && !Array.isArray(value))
462
466
  return __spreadValues$c(__spreadValues$c({}, rawInit), value);
@@ -1379,38 +1383,46 @@ var __spreadValues$8 = (a, b) => {
1379
1383
  };
1380
1384
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1381
1385
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1382
- var _a, _b;
1383
- const direction = (_a = options.direction) != null ? _a : "bottom";
1386
+ var _a;
1387
+ const {
1388
+ direction = "bottom",
1389
+ interval = 100
1390
+ } = options;
1384
1391
  const state = vueDemi.reactive(useScroll(
1385
1392
  element,
1386
1393
  __spreadProps$7(__spreadValues$8({}, options), {
1387
1394
  offset: __spreadValues$8({
1388
- [direction]: (_b = options.distance) != null ? _b : 0
1395
+ [direction]: (_a = options.distance) != null ? _a : 0
1389
1396
  }, options.offset)
1390
1397
  })
1391
1398
  ));
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
- }
1399
+ const promise = vueDemi.ref();
1400
+ const isLoading = vueDemi.computed(() => !!promise.value);
1401
+ function checkAndLoad() {
1402
+ const el = shared.toValue(element);
1403
+ if (!el)
1404
+ return;
1405
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1406
+ if (state.arrivedState[direction] || isNarrower) {
1407
+ if (!promise.value) {
1408
+ promise.value = Promise.all([
1409
+ onLoadMore(state),
1410
+ new Promise((resolve) => setTimeout(resolve, interval))
1411
+ ]).finally(() => {
1412
+ promise.value = null;
1413
+ vueDemi.nextTick(() => checkAndLoad());
1414
+ });
1411
1415
  }
1412
1416
  }
1417
+ }
1418
+ vueDemi.watch(
1419
+ () => [state.arrivedState[direction], shared.toValue(element)],
1420
+ checkAndLoad,
1421
+ { immediate: true }
1413
1422
  );
1423
+ return {
1424
+ isLoading
1425
+ };
1414
1426
  }
1415
1427
 
1416
1428
  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
@@ -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);
@@ -1490,38 +1494,46 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1490
1494
  };
1491
1495
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1492
1496
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1493
- var _a, _b;
1494
- const direction = (_a = options.direction) != null ? _a : "bottom";
1497
+ var _a;
1498
+ const {
1499
+ direction = "bottom",
1500
+ interval = 100
1501
+ } = options;
1495
1502
  const state = vueDemi.reactive(useScroll(
1496
1503
  element,
1497
1504
  __spreadProps$7(__spreadValues$8({}, options), {
1498
1505
  offset: __spreadValues$8({
1499
- [direction]: (_b = options.distance) != null ? _b : 0
1506
+ [direction]: (_a = options.distance) != null ? _a : 0
1500
1507
  }, options.offset)
1501
1508
  })
1502
1509
  ));
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
- }
1510
+ const promise = vueDemi.ref();
1511
+ const isLoading = vueDemi.computed(() => !!promise.value);
1512
+ function checkAndLoad() {
1513
+ const el = shared.toValue(element);
1514
+ if (!el)
1515
+ return;
1516
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1517
+ if (state.arrivedState[direction] || isNarrower) {
1518
+ if (!promise.value) {
1519
+ promise.value = Promise.all([
1520
+ onLoadMore(state),
1521
+ new Promise((resolve) => setTimeout(resolve, interval))
1522
+ ]).finally(() => {
1523
+ promise.value = null;
1524
+ vueDemi.nextTick(() => checkAndLoad());
1525
+ });
1522
1526
  }
1523
1527
  }
1528
+ }
1529
+ vueDemi.watch(
1530
+ () => [state.arrivedState[direction], shared.toValue(element)],
1531
+ checkAndLoad,
1532
+ { immediate: true }
1524
1533
  );
1534
+ return {
1535
+ isLoading
1536
+ };
1525
1537
  }
1526
1538
 
1527
1539
  const vInfiniteScroll = {
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 w=function(b,S){var V,k={},z={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(N,T){return k[N]=T,this},directive:function(N,T){return T?(n.directive(N,T),z):n.directive(N)},mount:function(N,T){return V||(V=new n(Object.assign({propsData:S},b,{provide:Object.assign(k,b.provide)})),V.$mount(N,T),V)},unmount:function(){V&&(V.$destroy(),V=void 0)}};return z};var ze=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.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}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,b,S){return Array.isArray(w)?(w.length=Math.max(w.length,b),w.splice(b,1,S),S):(w[b]=S,S)},s.del=function(w,b){if(Array.isArray(w)){w.splice(b,1);return}delete w[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 ze=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 b=c.isClient?window:void 0;function S(...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 i=[],l=()=>{i.forEach(d=>d()),i.length=0},u=(d,m,p,_)=>(d.addEventListener(m,p,_),()=>d.removeEventListener(m,p,_)),f=n.watch(()=>[w(e),c.toValue(a)],([d,m])=>{l(),d&&i.push(...r.flatMap(p=>o.map(_=>u(d,p,_,m))))},{immediate:!0,flush:"post"}),v=()=>{f(),l()};return c.tryOnScopeDispose(v),v}let V=!1;function k(t,e,r={}){const{window:o=b,ignore:a=[],capture:i=!0,detectIframe:l=!1}=r;if(!o)return;c.isIOS&&!V&&(V=!0,Array.from(o.document.body.children).forEach(p=>p.addEventListener("click",c.noop)));let u=!0;const f=p=>a.some(_=>{if(typeof _=="string")return Array.from(o.document.querySelectorAll(_)).some(O=>O===p.target||p.composedPath().includes(O));{const O=w(_);return O&&(p.target===O||p.composedPath().includes(O))}}),d=[S(o,"click",p=>{const _=w(t);if(!(!_||_===p.target||p.composedPath().includes(_))){if(p.detail===0&&(u=!f(p)),!u){u=!0;return}e(p)}},{passive:!0,capture:i}),S(o,"pointerdown",p=>{const _=w(t);_&&(u=!p.composedPath().includes(_)&&!f(p))},{passive:!0}),l&&S(o,"blur",p=>{var _;const O=w(t);((_=o.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!O?.contains(o.document.activeElement)&&e(p)})].filter(Boolean);return()=>d.forEach(p=>p())}const z={[c.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=k(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=k(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:i="keydown",passive:l=!1,dedupe:u=!1}=o,f=N(e);return S(a,i,d=>{d.repeat&&c.toValue(u)||f(d)&&r(d)},l)}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[i,l]=e.value;T(a,i,Fe({target:t},l))}}},Ge=500;function K(t,e,r){var o,a;const i=n.computed(()=>w(t));let l;function u(){l&&(clearTimeout(l),l=void 0)}function f(d){var m,p,_,O;(m=r?.modifiers)!=null&&m.self&&d.target!==i.value||(u(),(p=r?.modifiers)!=null&&p.prevent&&d.preventDefault(),(_=r?.modifiers)!=null&&_.stop&&d.stopPropagation(),l=setTimeout(()=>e(d),(O=r?.delay)!=null?O:Ge))}const v={capture:(o=r?.modifiers)==null?void 0:o.capture,once:(a=r?.modifiers)==null?void 0:a.once};S(i,"pointerdown",f,v),S(i,"pointerup",u,v),S(i,"pointerleave",u,v)}const Je=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())}}}),Q={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?K(t,e.value,{modifiers:e.modifiers}):K(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)}}}),H=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},B="__vueuse_ssr_handlers__",Qe=Ze();function Ze(){return B in H||(H[B]=H[B]||{}),H[B]}function Z(t,e){return Qe[t]||e}function xe(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 De=Object.defineProperty,x=Object.getOwnPropertySymbols,et=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?De(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))et.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))tt.call(e,r)&&D(t,r,e[r]);return t};const rt={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 nt(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:m=b,eventFilter:p,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=xe(P),I=(a=o.serializer)!=null?a:rt[E],{pause:L,resume:C}=c.pausableWatch(O,()=>U(O.value),{flush:i,deep:l,eventFilter:p});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 h=I.write(y),M=r.getItem(t);M!==h&&(r.setItem(t,h),m&&m.dispatchEvent(new CustomEvent(te,{detail:{key:t,oldValue:M,newValue:h,storageArea:r}})))}}catch(h){_(h)}}function $(y){const h=y?y.newValue:r.getItem(t);if(h==null)return f&&P!==null&&r.setItem(t,I.write(P)),P;if(!y&&v){const M=I.read(h);return typeof v=="function"?v(M,P):E==="object"&&!Array.isArray(M)?ee(ee({},P),M):M}else return typeof h!="string"?h:I.read(h)}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(h){_(h)}finally{y?n.nextTick(C):C()}}}}}function ot(){const t=n.ref(!1);return n.getCurrentInstance()&&n.onMounted(()=>{t.value=!0}),t}function G(t){const e=ot();return n.computed(()=>(e.value,!!t()))}function at(t,e={}){const{window:r=b}=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 st(t){return at("(prefers-color-scheme: dark)",t)}var lt=Object.defineProperty,re=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?lt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ct=(t,e)=>{for(var r in e||(e={}))it.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))ut.call(e,r)&&ne(t,r,e[r]);return t};function ft(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=b,storage:i,storageKey:l="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:f,emitAuto:v,disableTransition:d=!0}=t,m=ct({auto:"",light:"light",dark:"dark"},t.modes||{}),p=st({window:a}),_=n.computed(()=>p.value?"dark":"light"),O=f||(l==null?n.ref(o):nt(l,o,i,{window:a,listenToStorageChanges:u})),P=n.computed({get(){return O.value==="auto"&&!v?_.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(h=>(h||"").split(/\s/g)).filter(Boolean).forEach(h=>{y.includes(h)?A.classList.add(h):A.classList.remove(h)})}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}),v&&n.watch(_,()=>L(P.value),{flush:"post"}),c.tryOnMounted(()=>L(P.value));try{return Object.assign(P,{store:O,system:_})}catch{return P}}const dt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=ft(t),o=n.reactive({mode:r,system:r.system,store:r.store});return()=>{if(e.default)return e.default(o)}}}),pt=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)}}}),vt=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(g.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),gt=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(g.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),_t=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:g.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),mt=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)}}}),yt=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:g.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var Ot=Object.defineProperty,Pt=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?Ot(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,St=(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))bt.call(e,r)&&ae(t,r,e[r]);return t},Ut=(t,e)=>Pt(t,wt(e));const Ct=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,Ut(St({},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))}}}),$t=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 Et(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=b}=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&&(S(t,"mouseenter",()=>u(!0),{passive:!0}),S(t,"mouseleave",()=>u(!1),{passive:!0})),i}const jt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=Et(t);n.watch(r,o=>e.value(o))}}},Lt=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(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,It=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,Vt=(t,e)=>{var r={};for(var o in t)It.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&&At.call(t,o)&&(r[o]=t[o]);return r};function Mt(t,e,r={}){const o=r,{window:a=b}=o,i=Vt(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=>w(p)):[w(t)]),d=n.watch(v,p=>{if(f(),u.value&&a){l=new ResizeObserver(e);for(const _ of p)_&&l.observe(_,i)}},{immediate:!0,flush:"post",deep:!0}),m=()=>{f(),d()};return c.tryOnScopeDispose(m),{isSupported:u,stop:m}}function Tt(t,e={width:0,height:0},r={}){const{window:o=b,box:a="content-box"}=r,i=n.computed(()=>{var f,v;return(v=(f=w(t))==null?void 0:f.namespaceURI)==null?void 0:v.includes("svg")}),l=n.ref(e.width),u=n.ref(e.height);return Mt(t,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&i.value){const d=w(t);if(d){const m=o.getComputedStyle(d);l.value=parseFloat(m.width),u.value=parseFloat(m.height)}}else if(v){const d=Array.isArray(v)?v:[v];l.value=d.reduce((m,{inlineSize:p})=>m+p,0),u.value=d.reduce((m,{blockSize:p})=>m+p,0)}else l.value=f.contentRect.width,u.value=f.contentRect.height},r),n.watch(()=>w(t),f=>{l.value=f?e.width:0,u.value=f?e.height:0}),{width:l,height:u}}const Nt={[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}=Tt(t,...a);n.watch([i,l],([u,f])=>o({width:u,height:f}))}},Rt=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=b,immediate:u=!0}=r,f=G(()=>l&&"IntersectionObserver"in l);let v=c.noop;const d=n.ref(u),m=f.value?n.watch(()=>[w(t),w(o),d.value],([_,O])=>{if(v(),!d.value||!_)return;const P=new IntersectionObserver(e,{root:w(O),rootMargin:a,threshold:i});P.observe(_),v=()=>{P.disconnect(),v=c.noop}},{immediate:u,flush:"post"}):c.noop,p=()=>{v(),m(),d.value=!1};return c.tryOnScopeDispose(p),{isSupported:f,isActive:d,pause(){v(),d.value=!1},resume(){d.value=!0},stop:p}}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 kt={[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,i=>r(i),{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)}}}),Ht=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))}}}),Bt=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)}}}),Wt=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 Ft(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),m=n.ref(!1),p=n.ref(!1),_=n.shallowRef(void 0);async function O(P=0,...E){u&&(d.value=e),_.value=void 0,m.value=!1,p.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,l(L)}catch(L){if(_.value=L,i(L),v)throw L}finally{p.value=!1}return d.value}return o&&O(a),{state:d,isReady:m,isLoading:p,error:_,execute:O}}var Kt=Object.defineProperty,ie=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,ue=(t,e,r)=>e in t?Kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Yt=(t,e)=>{for(var r in e||(e={}))Gt.call(e,r)&&ue(t,r,e[r]);if(ie)for(var r of ie(e))Jt.call(e,r)&&ue(t,r,e[r]);return t};async function Xt(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=Ft(()=>Xt(c.toValue(t)),void 0,Yt({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(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)}}),ce=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),m=n.computed({get(){return v.value},set(U){_(U,void 0)}}),p=n.computed({get(){return d.value},set(U){_(void 0,U)}});function _(U,$){var A,j,y;const h=c.toValue(t);h&&((y=h instanceof Document?document.body:h)==null||y.scrollTo({top:(A=c.toValue($))!=null?A:p.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<v.value,E.right=y>v.value;const h=Math.abs(y)<=0+(l.left||0),M=Math.abs(y)+$.clientWidth>=$.scrollWidth-(l.right||0)-ce;A==="flex"&&j==="row-reverse"?(P.left=M,P.right=h):(P.left=h,P.right=M),v.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+(l.top||0),ke=Math.abs(R)+$.clientHeight>=$.scrollHeight-(l.bottom||0)-ce;A==="flex"&&j==="column-reverse"?(P.top=ke,P.bottom=Re):(P.top=Re,P.bottom=ke),d.value=R,O.value=!0,L(U),i(U)};return S(t,"scroll",r?c.useThrottleFn(C,r,!0,!1):C,u),S(t,"scrollend",I,u),{x:m,y:p,isScrolling:O,arrivedState:P,directions:E}}var Zt=Object.defineProperty,xt=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,er=Object.prototype.hasOwnProperty,tr=Object.prototype.propertyIsEnumerable,de=(t,e,r)=>e in t?Zt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,pe=(t,e)=>{for(var r in e||(e={}))er.call(e,r)&&de(t,r,e[r]);if(fe)for(var r of fe(e))tr.call(e,r)&&de(t,r,e[r]);return t},rr=(t,e)=>xt(t,Dt(e));function ve(t,e,r={}){var o;const{direction:a="bottom",interval:i=100}=r,l=n.reactive(Y(t,rr(pe({},r),{offset:pe({[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 m=a==="bottom"||a==="top"?d.scrollHeight<=d.clientHeight:d.scrollWidth<=d.clientWidth;(l.arrivedState[a]||m)&&(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 nr={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ve(t,e.value):ve(t,...e.value)}},or={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?J(t,e.value):J(t,...e.value)}},ar=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)}}}),sr=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 lr=Object.defineProperty,ir=Object.defineProperties,ur=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))cr.call(e,r)&&_e(t,r,e[r]);if(ge)for(var r of ge(e))fr.call(e,r)&&_e(t,r,e[r]);return t},pr=(t,e)=>ir(t,ur(e));const vr=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(g.useMousePressed(pr(dr({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),gr=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(g.useNetwork());return()=>{if(e.default)return e.default(r)}}});var _r=Object.defineProperty,mr=Object.defineProperties,yr=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,Pr=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?_r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,wr=(t,e)=>{for(var r in e||(e={}))Or.call(e,r)&&ye(t,r,e[r]);if(me)for(var r of me(e))Pr.call(e,r)&&ye(t,r,e[r]);return t},hr=(t,e)=>mr(t,yr(e));const br=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(g.useNow(hr(wr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Sr=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 Ur=Object.defineProperty,Cr=Object.defineProperties,$r=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?Ur(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Lr=(t,e)=>{for(var r in e||(e={}))Er.call(e,r)&&Pe(t,r,e[r]);if(Oe)for(var r of Oe(e))jr.call(e,r)&&Pe(t,r,e[r]);return t},Ir=(t,e)=>Cr(t,$r(e));const Ar=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(Ir(Lr({},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)}}}),Vr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:g.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Mr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:g.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Tr=Object.defineProperty,Nr=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,kr=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,he=(t,e,r)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Hr=(t,e)=>{for(var r in e||(e={}))kr.call(e,r)&&he(t,r,e[r]);if(we)for(var r of we(e))zr.call(e,r)&&he(t,r,e[r]);return t},Br=(t,e)=>Nr(t,Rr(e));const Wr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(g.usePointer(Br(Hr({},t),{target:t.target==="self"?r:b})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Fr=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))}}}),Kr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:g.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Gr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:g.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Jr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:g.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Yr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:g.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),Xr=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=b,initialValue:a="",observe:i=!1}=r,l=n.ref(a),u=n.computed(()=>{var v;return w(e)||((v=o?.document)==null?void 0:v.documentElement)});function f(){var v;const d=c.toValue(t),m=c.toValue(u);if(m&&o){const p=(v=o.getComputedStyle(m).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 be="--vueuse-safe-area-top",Se="--vueuse-safe-area-right",Ue="--vueuse-safe-area-bottom",Ce="--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(be),l=W(Se),u=W(Ue),f=W(Ce);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(),S("resize",c.useDebounceFn(a))}function a(){t.value=F(be),e.value=F(Se),r.value=F(Ue),o.value=F(Ce)}return{top:t,right:e,bottom:r,left:o,update:a}}function F(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: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 Zr=Object.defineProperty,xr=Object.defineProperties,Dr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,en=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable,Ee=(t,e,r)=>e in t?Zr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,rn=(t,e)=>{for(var r in e||(e={}))en.call(e,r)&&Ee(t,r,e[r]);if($e)for(var r of $e(e))tn.call(e,r)&&Ee(t,r,e[r]);return t},nn=(t,e)=>xr(t,Dr(e));const on={[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,nn(rn({},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 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 an(t){const e=t||window.event,r=e.target;return je(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function sn(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=S(u,"touchmove",f=>{an(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 ln(){let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=sn(r,o.value);n.watch(e,i=>a.value=i)}}const un=ln();var cn=Object.defineProperty,fn=Object.defineProperties,dn=Object.getOwnPropertyDescriptors,Le=Object.getOwnPropertySymbols,pn=Object.prototype.hasOwnProperty,vn=Object.prototype.propertyIsEnumerable,Ie=(t,e,r)=>e in t?cn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gn=(t,e)=>{for(var r in e||(e={}))pn.call(e,r)&&Ie(t,r,e[r]);if(Le)for(var r of Le(e))vn.call(e,r)&&Ie(t,r,e[r]);return t},_n=(t,e)=>fn(t,dn(e));const mn=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(g.useTimeAgo(()=>t.time,_n(gn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var yn=Object.defineProperty,On=Object.defineProperties,Pn=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,wn=Object.prototype.hasOwnProperty,hn=Object.prototype.propertyIsEnumerable,Ve=(t,e,r)=>e in t?yn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,bn=(t,e)=>{for(var r in e||(e={}))wn.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},Sn=(t,e)=>On(t,Pn(e));const Un=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(g.useTimestamp(Sn(bn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Cn=Object.defineProperty,Me=Object.getOwnPropertySymbols,$n=Object.prototype.hasOwnProperty,En=Object.prototype.propertyIsEnumerable,Te=(t,e,r)=>e in t?Cn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))$n.call(e,r)&&Te(t,r,e[r]);if(Me)for(var r of Me(e))En.call(e,r)&&Te(t,r,e[r]);return t};const jn=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",Ne({},i),[n.h("div",Ne({},l.value),a.value.map(f=>n.h("div",{style:{overFlow:"hidden",height:f.height}},e.default?e.default(f):"Please set content!")))])}}),Ln=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:g.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),In=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=ze,s.OnLongPress=Je,s.UseActiveElement=Ye,s.UseBattery=Xe,s.UseBrowserLocation=qe,s.UseColorMode=dt,s.UseDark=pt,s.UseDeviceMotion=vt,s.UseDeviceOrientation=gt,s.UseDevicePixelRatio=_t,s.UseDevicesList=mt,s.UseDocumentVisibility=yt,s.UseDraggable=Ct,s.UseElementBounding=$t,s.UseElementSize=Lt,s.UseElementVisibility=Rt,s.UseEyeDropper=zt,s.UseFullscreen=Ht,s.UseGeolocation=Bt,s.UseIdle=Wt,s.UseImage=Qt,s.UseMouse=ar,s.UseMouseInElement=sr,s.UseMousePressed=vr,s.UseNetwork=gr,s.UseNow=br,s.UseObjectUrl=Sr,s.UseOffsetPagination=Ar,s.UseOnline=Vr,s.UsePageLeave=Mr,s.UsePointer=Wr,s.UsePointerLock=Fr,s.UsePreferredColorScheme=Kr,s.UsePreferredContrast=Gr,s.UsePreferredDark=Jr,s.UsePreferredLanguages=Yr,s.UsePreferredReducedMotion=Xr,s.UseScreenSafeArea=Qr,s.UseTimeAgo=mn,s.UseTimestamp=Un,s.UseVirtualList=jn,s.UseWindowFocus=Ln,s.UseWindowSize=In,s.VOnClickOutside=z,s.VOnLongPress=Q,s.vElementHover=jt,s.vElementSize=Nt,s.vElementVisibility=kt,s.vInfiniteScroll=nr,s.vIntersectionObserver=or,s.vOnClickOutside=z,s.vOnKeyStroke=Ke,s.vOnLongPress=Q,s.vScroll=on,s.vScrollLock=un})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -1,6 +1,6 @@
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, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
6
6
  name: "OnClickOutside",
@@ -31,7 +31,7 @@ function useEventListener(...args) {
31
31
  let events;
32
32
  let listeners;
33
33
  let options;
34
- if (isString(args[0]) || Array.isArray(args[0])) {
34
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
35
35
  [events, listeners, options] = args;
36
36
  target = defaultWindow;
37
37
  } else {
@@ -318,8 +318,12 @@ const UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
318
318
 
319
319
  const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
320
320
  const globalKey = "__vueuse_ssr_handlers__";
321
- _global[globalKey] = _global[globalKey] || {};
322
- const handlers = _global[globalKey];
321
+ const handlers = /* @__PURE__ */ getHandlers();
322
+ function getHandlers() {
323
+ if (!(globalKey in _global))
324
+ _global[globalKey] = _global[globalKey] || {};
325
+ return _global[globalKey];
326
+ }
323
327
  function getSSRHandler(key, fallback) {
324
328
  return handlers[key] || fallback;
325
329
  }
@@ -454,7 +458,7 @@ function useStorage(key, defaults, storage, options = {}) {
454
458
  return rawInit;
455
459
  } else if (!event && mergeDefaults) {
456
460
  const value = serializer.read(rawValue);
457
- if (isFunction(mergeDefaults))
461
+ if (typeof mergeDefaults === "function")
458
462
  return mergeDefaults(value, rawInit);
459
463
  else if (type === "object" && !Array.isArray(value))
460
464
  return __spreadValues$c(__spreadValues$c({}, rawInit), value);
@@ -1377,38 +1381,46 @@ var __spreadValues$8 = (a, b) => {
1377
1381
  };
1378
1382
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1379
1383
  function useInfiniteScroll(element, onLoadMore, options = {}) {
1380
- var _a, _b;
1381
- const direction = (_a = options.direction) != null ? _a : "bottom";
1384
+ var _a;
1385
+ const {
1386
+ direction = "bottom",
1387
+ interval = 100
1388
+ } = options;
1382
1389
  const state = reactive(useScroll(
1383
1390
  element,
1384
1391
  __spreadProps$7(__spreadValues$8({}, options), {
1385
1392
  offset: __spreadValues$8({
1386
- [direction]: (_b = options.distance) != null ? _b : 0
1393
+ [direction]: (_a = options.distance) != null ? _a : 0
1387
1394
  }, options.offset)
1388
1395
  })
1389
1396
  ));
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
- }
1397
+ const promise = ref();
1398
+ const isLoading = computed(() => !!promise.value);
1399
+ function checkAndLoad() {
1400
+ const el = toValue(element);
1401
+ if (!el)
1402
+ return;
1403
+ const isNarrower = direction === "bottom" || direction === "top" ? el.scrollHeight <= el.clientHeight : el.scrollWidth <= el.clientWidth;
1404
+ if (state.arrivedState[direction] || isNarrower) {
1405
+ if (!promise.value) {
1406
+ promise.value = Promise.all([
1407
+ onLoadMore(state),
1408
+ new Promise((resolve) => setTimeout(resolve, interval))
1409
+ ]).finally(() => {
1410
+ promise.value = null;
1411
+ nextTick(() => checkAndLoad());
1412
+ });
1409
1413
  }
1410
1414
  }
1415
+ }
1416
+ watch(
1417
+ () => [state.arrivedState[direction], toValue(element)],
1418
+ checkAndLoad,
1419
+ { immediate: true }
1411
1420
  );
1421
+ return {
1422
+ isLoading
1423
+ };
1412
1424
  }
1413
1425
 
1414
1426
  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-beta.5",
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-beta.5",
37
+ "@vueuse/shared": "10.0.0-beta.5",
38
+ "vue-demi": ">=0.14.0"
39
39
  }
40
40
  }