@vueuse/components 10.0.0-beta.0 → 10.0.0-beta.2

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
@@ -165,9 +165,16 @@ function onKeyStroke(...args) {
165
165
  key = true;
166
166
  handler = args[0];
167
167
  }
168
- const { target = defaultWindow, eventName = "keydown", passive = false } = options;
168
+ const {
169
+ target = defaultWindow,
170
+ eventName = "keydown",
171
+ passive = false,
172
+ dedupe = false
173
+ } = options;
169
174
  const predicate = createKeyPredicate(key);
170
175
  const listener = (e) => {
176
+ if (e.repeat && shared.resolveUnref(dedupe))
177
+ return;
171
178
  if (predicate(e))
172
179
  handler(e);
173
180
  };
@@ -469,12 +476,20 @@ function useStorage(key, defaults, storage, options = {}) {
469
476
  }
470
477
  }
471
478
 
472
- function useSupported(callback, sync = false) {
473
- const isSupported = vueDemi.ref();
474
- const update = () => isSupported.value = Boolean(callback());
475
- update();
476
- shared.tryOnMounted(update, sync);
477
- return isSupported;
479
+ function useMounted() {
480
+ const isMounted = vueDemi.ref(false);
481
+ vueDemi.onMounted(() => {
482
+ isMounted.value = true;
483
+ });
484
+ return isMounted;
485
+ }
486
+
487
+ function useSupported(callback) {
488
+ const isMounted = useMounted();
489
+ return vueDemi.computed(() => {
490
+ isMounted.value;
491
+ return Boolean(callback());
492
+ });
478
493
  }
479
494
 
480
495
  function useMediaQuery(query, options = {}) {
@@ -835,13 +850,15 @@ function useResizeObserver(target, callback, options = {}) {
835
850
  observer = void 0;
836
851
  }
837
852
  };
838
- const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
853
+ const targets = vueDemi.computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);
854
+ const stopWatch = vueDemi.watch(targets, (els) => {
839
855
  cleanup();
840
- if (isSupported.value && window && el) {
856
+ if (isSupported.value && window) {
841
857
  observer = new ResizeObserver(callback);
842
- observer.observe(el, observerOptions);
858
+ for (const _el of els)
859
+ _el && observer.observe(_el, observerOptions);
843
860
  }
844
- }, { immediate: true, flush: "post" });
861
+ }, { immediate: true, flush: "post", deep: true });
845
862
  const stop = () => {
846
863
  cleanup();
847
864
  stopWatch();
@@ -916,27 +933,52 @@ const UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineCompo
916
933
  }
917
934
  });
918
935
 
919
- function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
920
- const elementIsVisible = vueDemi.ref(false);
921
- const testBounding = () => {
922
- if (!window)
936
+ function useIntersectionObserver(target, callback, options = {}) {
937
+ const {
938
+ root,
939
+ rootMargin = "0px",
940
+ threshold = 0.1,
941
+ window = defaultWindow
942
+ } = options;
943
+ const isSupported = useSupported(() => window && "IntersectionObserver" in window);
944
+ let cleanup = shared.noop;
945
+ const stopWatch = isSupported.value ? vueDemi.watch(() => ({
946
+ el: unrefElement(target),
947
+ root: unrefElement(root)
948
+ }), ({ el, root: root2 }) => {
949
+ cleanup();
950
+ if (!el)
923
951
  return;
924
- const document = window.document;
925
- const el = unrefElement(element);
926
- if (!el) {
927
- elementIsVisible.value = false;
928
- } else {
929
- const rect = el.getBoundingClientRect();
930
- elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;
931
- }
932
- };
933
- vueDemi.watch(() => unrefElement(element), () => testBounding(), { immediate: true, flush: "post" });
934
- if (window) {
935
- useEventListener(scrollTarget || window, "scroll", testBounding, {
936
- capture: false,
937
- passive: true
952
+ const observer = new IntersectionObserver(callback, {
953
+ root: root2,
954
+ rootMargin,
955
+ threshold
938
956
  });
939
- }
957
+ observer.observe(el);
958
+ cleanup = () => {
959
+ observer.disconnect();
960
+ cleanup = shared.noop;
961
+ };
962
+ }, { immediate: true, flush: "post" }) : shared.noop;
963
+ const stop = () => {
964
+ cleanup();
965
+ stopWatch();
966
+ };
967
+ shared.tryOnScopeDispose(stop);
968
+ return {
969
+ isSupported,
970
+ stop
971
+ };
972
+ }
973
+
974
+ function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
975
+ const elementIsVisible = vueDemi.ref(false);
976
+ useIntersectionObserver(element, ([{ isIntersecting }]) => {
977
+ elementIsVisible.value = isIntersecting;
978
+ }, {
979
+ root: scrollTarget,
980
+ window
981
+ });
940
982
  return elementIsVisible;
941
983
  }
942
984
 
@@ -1018,7 +1060,7 @@ function useAsyncState(promise, initialState, options) {
1018
1060
  const state = shallow ? vueDemi.shallowRef(initialState) : vueDemi.ref(initialState);
1019
1061
  const isReady = vueDemi.ref(false);
1020
1062
  const isLoading = vueDemi.ref(false);
1021
- const error = vueDemi.ref(void 0);
1063
+ const error = vueDemi.shallowRef(void 0);
1022
1064
  async function execute(delay2 = 0, ...args) {
1023
1065
  if (resetOnExecute)
1024
1066
  state.value = initialState;
@@ -1037,7 +1079,7 @@ function useAsyncState(promise, initialState, options) {
1037
1079
  error.value = e;
1038
1080
  onError(e);
1039
1081
  if (throwError)
1040
- throw error;
1082
+ throw e;
1041
1083
  } finally {
1042
1084
  isLoading.value = false;
1043
1085
  }
@@ -1273,44 +1315,6 @@ const vInfiniteScroll = {
1273
1315
  }
1274
1316
  };
1275
1317
 
1276
- function useIntersectionObserver(target, callback, options = {}) {
1277
- const {
1278
- root,
1279
- rootMargin = "0px",
1280
- threshold = 0.1,
1281
- window = defaultWindow
1282
- } = options;
1283
- const isSupported = useSupported(() => window && "IntersectionObserver" in window);
1284
- let cleanup = shared.noop;
1285
- const stopWatch = isSupported.value ? vueDemi.watch(() => ({
1286
- el: unrefElement(target),
1287
- root: unrefElement(root)
1288
- }), ({ el, root: root2 }) => {
1289
- cleanup();
1290
- if (!el)
1291
- return;
1292
- const observer = new IntersectionObserver(callback, {
1293
- root: root2,
1294
- rootMargin,
1295
- threshold
1296
- });
1297
- observer.observe(el);
1298
- cleanup = () => {
1299
- observer.disconnect();
1300
- cleanup = shared.noop;
1301
- };
1302
- }, { immediate: true, flush: "post" }) : shared.noop;
1303
- const stop = () => {
1304
- cleanup();
1305
- stopWatch();
1306
- };
1307
- shared.tryOnScopeDispose(stop);
1308
- return {
1309
- isSupported,
1310
- stop
1311
- };
1312
- }
1313
-
1314
1318
  const vIntersectionObserver = {
1315
1319
  [shared.directiveHooks.mounted](el, binding) {
1316
1320
  if (typeof binding.value === "function")
package/index.d.ts CHANGED
@@ -55,6 +55,12 @@ interface OnKeyStrokeOptions {
55
55
  eventName?: KeyStrokeEventName;
56
56
  target?: MaybeComputedRef<EventTarget | null | undefined>;
57
57
  passive?: boolean;
58
+ /**
59
+ * Set to `true` to ignore repeated events when the key is being held down.
60
+ *
61
+ * @default false
62
+ */
63
+ dedupe?: MaybeComputedRef<boolean>;
58
64
  }
59
65
 
60
66
  type BindingValueFunction$7 = (event: KeyboardEvent) => void;
@@ -451,7 +457,7 @@ interface UseIntersectionObserverOptions extends ConfigurableWindow {
451
457
  /**
452
458
  * The Element or Document whose bounds are used as the bounding box when testing for intersection.
453
459
  */
454
- root?: MaybeElementRef;
460
+ root?: MaybeComputedElementRef;
455
461
  /**
456
462
  * A string which specifies a set of offsets to add to the root's bounding_box when calculating intersections.
457
463
  */
package/index.iife.js CHANGED
@@ -276,9 +276,16 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
276
276
  key = true;
277
277
  handler = args[0];
278
278
  }
279
- const { target = defaultWindow, eventName = "keydown", passive = false } = options;
279
+ const {
280
+ target = defaultWindow,
281
+ eventName = "keydown",
282
+ passive = false,
283
+ dedupe = false
284
+ } = options;
280
285
  const predicate = createKeyPredicate(key);
281
286
  const listener = (e) => {
287
+ if (e.repeat && shared.resolveUnref(dedupe))
288
+ return;
282
289
  if (predicate(e))
283
290
  handler(e);
284
291
  };
@@ -580,12 +587,20 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
580
587
  }
581
588
  }
582
589
 
583
- function useSupported(callback, sync = false) {
584
- const isSupported = vueDemi.ref();
585
- const update = () => isSupported.value = Boolean(callback());
586
- update();
587
- shared.tryOnMounted(update, sync);
588
- return isSupported;
590
+ function useMounted() {
591
+ const isMounted = vueDemi.ref(false);
592
+ vueDemi.onMounted(() => {
593
+ isMounted.value = true;
594
+ });
595
+ return isMounted;
596
+ }
597
+
598
+ function useSupported(callback) {
599
+ const isMounted = useMounted();
600
+ return vueDemi.computed(() => {
601
+ isMounted.value;
602
+ return Boolean(callback());
603
+ });
589
604
  }
590
605
 
591
606
  function useMediaQuery(query, options = {}) {
@@ -946,13 +961,15 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
946
961
  observer = void 0;
947
962
  }
948
963
  };
949
- const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
964
+ const targets = vueDemi.computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);
965
+ const stopWatch = vueDemi.watch(targets, (els) => {
950
966
  cleanup();
951
- if (isSupported.value && window && el) {
967
+ if (isSupported.value && window) {
952
968
  observer = new ResizeObserver(callback);
953
- observer.observe(el, observerOptions);
969
+ for (const _el of els)
970
+ _el && observer.observe(_el, observerOptions);
954
971
  }
955
- }, { immediate: true, flush: "post" });
972
+ }, { immediate: true, flush: "post", deep: true });
956
973
  const stop = () => {
957
974
  cleanup();
958
975
  stopWatch();
@@ -1027,27 +1044,52 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1027
1044
  }
1028
1045
  });
1029
1046
 
1030
- function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
1031
- const elementIsVisible = vueDemi.ref(false);
1032
- const testBounding = () => {
1033
- if (!window)
1047
+ function useIntersectionObserver(target, callback, options = {}) {
1048
+ const {
1049
+ root,
1050
+ rootMargin = "0px",
1051
+ threshold = 0.1,
1052
+ window = defaultWindow
1053
+ } = options;
1054
+ const isSupported = useSupported(() => window && "IntersectionObserver" in window);
1055
+ let cleanup = shared.noop;
1056
+ const stopWatch = isSupported.value ? vueDemi.watch(() => ({
1057
+ el: unrefElement(target),
1058
+ root: unrefElement(root)
1059
+ }), ({ el, root: root2 }) => {
1060
+ cleanup();
1061
+ if (!el)
1034
1062
  return;
1035
- const document = window.document;
1036
- const el = unrefElement(element);
1037
- if (!el) {
1038
- elementIsVisible.value = false;
1039
- } else {
1040
- const rect = el.getBoundingClientRect();
1041
- elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;
1042
- }
1043
- };
1044
- vueDemi.watch(() => unrefElement(element), () => testBounding(), { immediate: true, flush: "post" });
1045
- if (window) {
1046
- useEventListener(scrollTarget || window, "scroll", testBounding, {
1047
- capture: false,
1048
- passive: true
1063
+ const observer = new IntersectionObserver(callback, {
1064
+ root: root2,
1065
+ rootMargin,
1066
+ threshold
1049
1067
  });
1050
- }
1068
+ observer.observe(el);
1069
+ cleanup = () => {
1070
+ observer.disconnect();
1071
+ cleanup = shared.noop;
1072
+ };
1073
+ }, { immediate: true, flush: "post" }) : shared.noop;
1074
+ const stop = () => {
1075
+ cleanup();
1076
+ stopWatch();
1077
+ };
1078
+ shared.tryOnScopeDispose(stop);
1079
+ return {
1080
+ isSupported,
1081
+ stop
1082
+ };
1083
+ }
1084
+
1085
+ function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
1086
+ const elementIsVisible = vueDemi.ref(false);
1087
+ useIntersectionObserver(element, ([{ isIntersecting }]) => {
1088
+ elementIsVisible.value = isIntersecting;
1089
+ }, {
1090
+ root: scrollTarget,
1091
+ window
1092
+ });
1051
1093
  return elementIsVisible;
1052
1094
  }
1053
1095
 
@@ -1129,7 +1171,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1129
1171
  const state = shallow ? vueDemi.shallowRef(initialState) : vueDemi.ref(initialState);
1130
1172
  const isReady = vueDemi.ref(false);
1131
1173
  const isLoading = vueDemi.ref(false);
1132
- const error = vueDemi.ref(void 0);
1174
+ const error = vueDemi.shallowRef(void 0);
1133
1175
  async function execute(delay2 = 0, ...args) {
1134
1176
  if (resetOnExecute)
1135
1177
  state.value = initialState;
@@ -1148,7 +1190,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1148
1190
  error.value = e;
1149
1191
  onError(e);
1150
1192
  if (throwError)
1151
- throw error;
1193
+ throw e;
1152
1194
  } finally {
1153
1195
  isLoading.value = false;
1154
1196
  }
@@ -1384,44 +1426,6 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
1384
1426
  }
1385
1427
  };
1386
1428
 
1387
- function useIntersectionObserver(target, callback, options = {}) {
1388
- const {
1389
- root,
1390
- rootMargin = "0px",
1391
- threshold = 0.1,
1392
- window = defaultWindow
1393
- } = options;
1394
- const isSupported = useSupported(() => window && "IntersectionObserver" in window);
1395
- let cleanup = shared.noop;
1396
- const stopWatch = isSupported.value ? vueDemi.watch(() => ({
1397
- el: unrefElement(target),
1398
- root: unrefElement(root)
1399
- }), ({ el, root: root2 }) => {
1400
- cleanup();
1401
- if (!el)
1402
- return;
1403
- const observer = new IntersectionObserver(callback, {
1404
- root: root2,
1405
- rootMargin,
1406
- threshold
1407
- });
1408
- observer.observe(el);
1409
- cleanup = () => {
1410
- observer.disconnect();
1411
- cleanup = shared.noop;
1412
- };
1413
- }, { immediate: true, flush: "post" }) : shared.noop;
1414
- const stop = () => {
1415
- cleanup();
1416
- stopWatch();
1417
- };
1418
- shared.tryOnScopeDispose(stop);
1419
- return {
1420
- isSupported,
1421
- stop
1422
- };
1423
- }
1424
-
1425
1429
  const vIntersectionObserver = {
1426
1430
  [shared.directiveHooks.mounted](el, binding) {
1427
1431
  if (typeof binding.value === "function")
package/index.iife.min.js CHANGED
@@ -1 +1 @@
1
- var VueDemi=function(s,n,v){if(s.install)return s;if(!n)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),s;if(n.version.slice(0,4)==="2.7."){let P=function(h,w){var T,R={},k={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(N,M){return R[N]=M,this},directive:function(N,M){return M?(n.directive(N,M),k):n.directive(N)},mount:function(N,M){return T||(T=new n(Object.assign({propsData:w},h,{provide:Object.assign(R,h.provide)})),T.$mount(N,M),T)},unmount:function(){T&&(T.$destroy(),T=void 0)}};return k};var Ve=P;for(var u in n)s[u]=n[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.warn=n.util.warn,s.createApp=P}else if(n.version.slice(0,2)==="2.")if(v){for(var u in v)s[u]=v[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var u in n)s[u]=n[u];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=n,s.Vue2=void 0,s.version=n.version,s.set=function(P,h,w){return Array.isArray(P)?(P.length=Math.max(P.length,h),P.splice(h,1,w),w):(P[h]=w,w)},s.del=function(P,h){if(Array.isArray(P)){P.splice(h,1);return}delete P[h]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(s,n,v,u){"use strict";const Ve=n.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return v.onClickOutside(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function P(t){var e;const r=u.resolveUnref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const h=u.isClient?window:void 0;function w(...t){let e,r,o,a;if(u.isString(t[0])||Array.isArray(t[0])?([r,o,a]=t,e=h):[e,r,o,a]=t,!e)return u.noop;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const l=[],i=()=>{l.forEach(d=>d()),l.length=0},c=(d,_,g,m)=>(d.addEventListener(_,g,m),()=>d.removeEventListener(_,g,m)),f=n.watch(()=>[P(e),u.resolveUnref(a)],([d,_])=>{i(),!!d&&l.push(...r.flatMap(g=>o.map(m=>c(d,g,m,_))))},{immediate:!0,flush:"post"}),p=()=>{f(),i()};return u.tryOnScopeDispose(p),p}let T=!1;function R(t,e,r={}){const{window:o=h,ignore:a=[],capture:l=!0,detectIframe:i=!1}=r;if(!o)return;u.isIOS&&!T&&(T=!0,Array.from(o.document.body.children).forEach(g=>g.addEventListener("click",u.noop)));let c=!0;const f=g=>a.some(m=>{if(typeof m=="string")return Array.from(o.document.querySelectorAll(m)).some(y=>y===g.target||g.composedPath().includes(y));{const y=P(m);return y&&(g.target===y||g.composedPath().includes(y))}}),d=[w(o,"click",g=>{const m=P(t);if(!(!m||m===g.target||g.composedPath().includes(m))){if(g.detail===0&&(c=!f(g)),!c){c=!0;return}e(g)}},{passive:!0,capture:l}),w(o,"pointerdown",g=>{const m=P(t);m&&(c=!g.composedPath().includes(m)&&!f(g))},{passive:!0}),i&&w(o,"blur",g=>{var m;const y=P(t);((m=o.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(y==null?void 0:y.contains(o.document.activeElement))&&e(g)})].filter(Boolean);return()=>d.forEach(g=>g())}const k={[u.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=R(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=R(t,o,Object.assign({capture:r},a))}},[u.directiveHooks.unmounted](t){t.__onClickOutside_stop()}},N=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0;function M(...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=h,eventName:l="keydown",passive:i=!1}=o,c=N(e);return w(a,l,p=>{c(p)&&r(p)},i)}var Re=Object.defineProperty,J=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,Y=(t,e,r)=>e in t?Re(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,He=(t,e)=>{for(var r in e||(e={}))ke.call(e,r)&&Y(t,r,e[r]);if(J)for(var r of J(e))ze.call(e,r)&&Y(t,r,e[r]);return t};const Be={[u.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")M(a,e.value,{target:t});else{const[l,i]=e.value;M(a,l,He({target:t},i))}}},We=500;function B(t,e,r){var o,a;const l=n.computed(()=>P(t));let i;function c(){i&&(clearTimeout(i),i=void 0)}function f(d){var _,g,m,y;((_=r==null?void 0:r.modifiers)==null?void 0:_.self)&&d.target!==l.value||(c(),((g=r==null?void 0:r.modifiers)==null?void 0:g.prevent)&&d.preventDefault(),((m=r==null?void 0:r.modifiers)==null?void 0:m.stop)&&d.stopPropagation(),i=setTimeout(()=>e(d),(y=r==null?void 0:r.delay)!=null?y:We))}const p={capture:(o=r==null?void 0:r.modifiers)==null?void 0:o.capture,once:(a=r==null?void 0:r.modifiers)==null?void 0:a.once};w(l,"pointerdown",f,p),w(l,"pointerup",c,p),w(l,"pointerleave",c,p)}const Fe=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return B(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),X={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?B(t,e.value,{modifiers:e.modifiers}):B(t,...e.value)}},Ke=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:v.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Ge=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(v.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Je=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(v.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),W=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},F="__vueuse_ssr_handlers__";W[F]=W[F]||{};const Ye=W[F];function q(t,e){return Ye[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 qe=Object.defineProperty,Q=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,Z=(t,e,r)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,x=(t,e)=>{for(var r in e||(e={}))Qe.call(e,r)&&Z(t,r,e[r]);if(Q)for(var r of Q(e))Ze.call(e,r)&&Z(t,r,e[r]);return t};const xe={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()}},D="vueuse-storage";function De(t,e,r,o={}){var a;const{flush:l="pre",deep:i=!0,listenToStorageChanges:c=!0,writeDefaults:f=!0,mergeDefaults:p=!1,shallow:d,window:_=h,eventFilter:g,onError:m=O=>{console.error(O)}}=o,y=(d?n.shallowRef:n.ref)(e);if(!r)try{r=q("getDefaultStorage",()=>{var O;return(O=h)==null?void 0:O.localStorage})()}catch(O){m(O)}if(!r)return y;const S=u.resolveUnref(e),C=Xe(S),A=(a=o.serializer)!=null?a:xe[C],{pause:I,resume:j}=u.pausableWatch(y,()=>U(y.value),{flush:l,deep:i,eventFilter:g});return _&&c&&(w(_,"storage",$),w(_,D,L)),$(),y;function U(O){try{if(O==null)r.removeItem(t);else{const b=A.write(O),V=r.getItem(t);V!==b&&(r.setItem(t,b),_&&_.dispatchEvent(new CustomEvent(D,{detail:{key:t,oldValue:V,newValue:b,storageArea:r}})))}}catch(b){m(b)}}function E(O){const b=O?O.newValue:r.getItem(t);if(b==null)return f&&S!==null&&r.setItem(t,A.write(S)),S;if(!O&&p){const V=A.read(b);return u.isFunction(p)?p(V,S):C==="object"&&!Array.isArray(V)?x(x({},S),V):V}else return typeof b!="string"?b:A.read(b)}function L(O){$(O.detail)}function $(O){if(!(O&&O.storageArea!==r)){if(O&&O.key==null){y.value=S;return}if(!(O&&O.key!==t)){I();try{y.value=E(O)}catch(b){m(b)}finally{O?n.nextTick(j):j()}}}}}function K(t,e=!1){const r=n.ref(),o=()=>r.value=Boolean(t());return o(),u.tryOnMounted(o,e),r}function et(t,e={}){const{window:r=h}=e,o=K(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const l=n.ref(!1),i=()=>{!a||("removeEventListener"in a?a.removeEventListener("change",c):a.removeListener(c))},c=()=>{!o.value||(i(),a=r.matchMedia(u.resolveRef(t).value),l.value=a.matches,"addEventListener"in a?a.addEventListener("change",c):a.addListener(c))};return n.watchEffect(c),u.tryOnScopeDispose(()=>i()),l}function tt(t){return et("(prefers-color-scheme: dark)",t)}var rt=Object.defineProperty,ee=Object.getOwnPropertySymbols,nt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,te=(t,e,r)=>e in t?rt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,at=(t,e)=>{for(var r in e||(e={}))nt.call(e,r)&&te(t,r,e[r]);if(ee)for(var r of ee(e))ot.call(e,r)&&te(t,r,e[r]);return t};function st(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=h,storage:l,storageKey:i="vueuse-color-scheme",listenToStorageChanges:c=!0,storageRef:f,emitAuto:p,disableTransition:d=!1}=t,_=at({auto:"",light:"light",dark:"dark"},t.modes||{}),g=tt({window:a}),m=n.computed(()=>g.value?"dark":"light"),y=f||(i==null?n.ref(o):De(i,o,l,{window:a,listenToStorageChanges:c})),S=n.computed({get(){return y.value==="auto"&&!p?m.value:y.value},set(j){y.value=j}}),C=q("updateHTMLAttrs",(j,U,E)=>{const L=a==null?void 0:a.document.querySelector(j);if(!L)return;let $;if(d&&($=a.document.createElement("style"),$.type="text/css",$.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($)),U==="class"){const O=E.split(/\s/g);Object.values(_).flatMap(b=>(b||"").split(/\s/g)).filter(Boolean).forEach(b=>{O.includes(b)?L.classList.add(b):L.classList.remove(b)})}else L.setAttribute(U,E);d&&(a.getComputedStyle($).opacity,document.head.removeChild($))});function A(j){var U;const E=j==="auto"?m.value:j;C(e,r,(U=_[E])!=null?U:E)}function I(j){t.onChanged?t.onChanged(j,A):A(j)}return n.watch(S,I,{flush:"post",immediate:!0}),p&&n.watch(m,()=>I(S.value),{flush:"post"}),u.tryOnMounted(()=>I(S.value)),S}const lt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=st(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),it=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=v.useDark(t),o=n.reactive({isDark:r,toggleDark:u.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),ct=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(v.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),ut=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(v.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),ft=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:v.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),dt=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(v.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),pt=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:v.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var vt=Object.defineProperty,gt=Object.defineProperties,_t=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,mt=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable,ne=(t,e,r)=>e in t?vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ot=(t,e)=>{for(var r in e||(e={}))mt.call(e,r)&&ne(t,r,e[r]);if(re)for(var r of re(e))yt.call(e,r)&&ne(t,r,e[r]);return t},Pt=(t,e)=>gt(t,_t(e));const ht=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as","handle"],setup(t,{slots:e}){const r=n.ref(),o=n.computed(()=>{var f;return(f=t.handle)!=null?f:r.value}),a=t.storageKey&&v.useStorage(t.storageKey,u.resolveUnref(t.initialValue)||{x:0,y:0},v.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)},c=n.reactive(v.useDraggable(r,Pt(Ot({},t),{handle:o,initialValue:l,onEnd:i})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${c.style}`},e.default(c))}}}),wt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(v.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function bt(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=h}=e,l=n.ref(!1);let i;const c=f=>{const p=f?r:o;i&&(clearTimeout(i),i=void 0),p?i=setTimeout(()=>l.value=f,p):l.value=f};return a&&(w(t,"mouseenter",()=>c(!0),{passive:!0}),w(t,"mouseleave",()=>c(!1),{passive:!0})),l}const Ut={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=bt(t);n.watch(r,o=>e.value(o))}}},St=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(v.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 oe=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,Et=(t,e)=>{var r={};for(var o in t)$t.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&oe)for(var o of oe(t))e.indexOf(o)<0&&Ct.call(t,o)&&(r[o]=t[o]);return r};function jt(t,e,r={}){const o=r,{window:a=h}=o,l=Et(o,["window"]);let i;const c=K(()=>a&&"ResizeObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},p=n.watch(()=>P(t),_=>{f(),c.value&&a&&_&&(i=new ResizeObserver(e),i.observe(_,l))},{immediate:!0,flush:"post"}),d=()=>{f(),p()};return u.tryOnScopeDispose(d),{isSupported:c,stop:d}}function Lt(t,e={width:0,height:0},r={}){const{window:o=h,box:a="content-box"}=r,l=n.computed(()=>{var f,p;return(p=(f=P(t))==null?void 0:f.namespaceURI)==null?void 0:p.includes("svg")}),i=n.ref(e.width),c=n.ref(e.height);return jt(t,([f])=>{const p=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&l.value){const d=P(t);if(d){const _=o.getComputedStyle(d);i.value=parseFloat(_.width),c.value=parseFloat(_.height)}}else if(p){const d=Array.isArray(p)?p:[p];i.value=d.reduce((_,{inlineSize:g})=>_+g,0),c.value=d.reduce((_,{blockSize:g})=>_+g,0)}else i.value=f.contentRect.width,c.value=f.contentRect.height},r),n.watch(()=>P(t),f=>{i.value=f?e.width:0,c.value=f?e.height:0}),{width:i,height:c}}const It={[u.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:l,height:i}=Lt(t,...a);n.watch([l,i],([c,f])=>o({width:c,height:f}))}},At=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:v.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function ae(t,{window:e=h,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const l=e.document,i=P(t);if(!i)o.value=!1;else{const c=i.getBoundingClientRect();o.value=c.top<=(e.innerHeight||l.documentElement.clientHeight)&&c.left<=(e.innerWidth||l.documentElement.clientWidth)&&c.bottom>=0&&c.right>=0}};return n.watch(()=>P(t),()=>a(),{immediate:!0,flush:"post"}),e&&w(r||e,"scroll",a,{capture:!1,passive:!0}),o}const Tt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=ae(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=ae(t,o);n.watch(a,l=>r(l),{immediate:!0})}}},Mt=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(v.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Nt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(v.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Vt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(v.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Rt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(v.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:l=u.noop,onSuccess:i=u.noop,resetOnExecute:c=!0,shallow:f=!0,throwError:p}=r??{},d=f?n.shallowRef(e):n.ref(e),_=n.ref(!1),g=n.ref(!1),m=n.ref(void 0);async function y(S=0,...C){c&&(d.value=e),m.value=void 0,_.value=!1,g.value=!0,S>0&&await u.promiseTimeout(S);const A=typeof t=="function"?t(...C):t;try{const I=await A;d.value=I,_.value=!0,i(I)}catch(I){if(m.value=I,l(I),p)throw m}finally{g.value=!1}return d.value}return o&&y(a),{state:d,isReady:_,isLoading:g,error:m,execute:y}}var zt=Object.defineProperty,se=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?zt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Wt=(t,e)=>{for(var r in e||(e={}))Ht.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))Bt.call(e,r)&&le(t,r,e[r]);return t};async function Ft(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:l,sizes:i}=t;o.src=a,l&&(o.srcset=l),i&&(o.sizes=i),o.onload=()=>e(o),o.onerror=r})}const Kt=(t,e={})=>{const r=kt(()=>Ft(u.resolveUnref(t)),void 0,Wt({resetOnExecute:!0},e));return n.watch(()=>u.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},Gt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Kt(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)}}),ie=1;function G(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=u.noop,onScroll:l=u.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0},behavior:f="auto"}=e,p=n.ref(0),d=n.ref(0),_=n.computed({get(){return p.value},set(U){m(U,void 0)}}),g=n.computed({get(){return d.value},set(U){m(void 0,U)}});function m(U,E){var L,$,O;const b=u.resolveUnref(t);!b||(O=b instanceof Document?document.body:b)==null||O.scrollTo({top:(L=u.resolveUnref(E))!=null?L:g.value,left:($=u.resolveUnref(U))!=null?$:_.value,behavior:u.resolveUnref(f)})}const y=n.ref(!1),S=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),C=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),A=U=>{!y.value||(y.value=!1,C.left=!1,C.right=!1,C.top=!1,C.bottom=!1,a(U))},I=u.useDebounceFn(A,r+o),j=U=>{const E=U.target===document?U.target.documentElement:U.target,L=E.scrollLeft;C.left=L<p.value,C.right=L>d.value,S.left=L<=0+(i.left||0),S.right=L+E.clientWidth>=E.scrollWidth-(i.right||0)-ie,p.value=L;let $=E.scrollTop;U.target===document&&!$&&($=document.body.scrollTop),C.top=$<d.value,C.bottom=$>d.value,S.top=$<=0+(i.top||0),S.bottom=$+E.clientHeight>=E.scrollHeight-(i.bottom||0)-ie,d.value=$,y.value=!0,I(U),l(U)};return w(t,"scroll",r?u.useThrottleFn(j,r,!0,!1):j,c),w(t,"scrollend",A,c),{x:_,y:g,isScrolling:y,arrivedState:S,directions:C}}var Jt=Object.defineProperty,Yt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,ce=Object.getOwnPropertySymbols,qt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,ue=(t,e,r)=>e in t?Jt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,fe=(t,e)=>{for(var r in e||(e={}))qt.call(e,r)&&ue(t,r,e[r]);if(ce)for(var r of ce(e))Qt.call(e,r)&&ue(t,r,e[r]);return t},Zt=(t,e)=>Yt(t,Xt(e));function de(t,e,r={}){var o,a;const l=(o=r.direction)!=null?o:"bottom",i=n.reactive(G(t,Zt(fe({},r),{offset:fe({[l]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>i.arrivedState[l],async c=>{var f,p;if(c){const d=u.resolveUnref(t),_={height:(f=d==null?void 0:d.scrollHeight)!=null?f:0,width:(p=d==null?void 0:d.scrollWidth)!=null?p:0};await e(i),r.preserveScrollPosition&&d&&n.nextTick(()=>{d.scrollTo({top:d.scrollHeight-_.height,left:d.scrollWidth-_.width})})}})}const xt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?de(t,e.value):de(t,...e.value)}};function pe(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:i=h}=r,c=K(()=>i&&"IntersectionObserver"in i);let f=u.noop;const p=c.value?n.watch(()=>({el:P(t),root:P(o)}),({el:_,root:g})=>{if(f(),!_)return;const m=new IntersectionObserver(e,{root:g,rootMargin:a,threshold:l});m.observe(_),f=()=>{m.disconnect(),f=u.noop}},{immediate:!0,flush:"post"}):u.noop,d=()=>{f(),p()};return u.tryOnScopeDispose(d),{isSupported:c,stop:d}}const Dt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?pe(t,e.value):pe(t,...e.value)}},er=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(v.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),tr=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(v.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,ge=(t,e,r)=>e in t?rr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,lr=(t,e)=>{for(var r in e||(e={}))ar.call(e,r)&&ge(t,r,e[r]);if(ve)for(var r of ve(e))sr.call(e,r)&&ge(t,r,e[r]);return t},ir=(t,e)=>nr(t,or(e));const cr=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(v.useMousePressed(ir(lr({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),ur=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(v.useNetwork());return()=>{if(e.default)return e.default(r)}}});var fr=Object.defineProperty,dr=Object.defineProperties,pr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,me=(t,e,r)=>e in t?fr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_r=(t,e)=>{for(var r in e||(e={}))vr.call(e,r)&&me(t,r,e[r]);if(_e)for(var r of _e(e))gr.call(e,r)&&me(t,r,e[r]);return t},mr=(t,e)=>dr(t,pr(e));const yr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(v.useNow(mr(_r({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Or=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=n.toRef(t,"object"),o=v.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var Pr=Object.defineProperty,hr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?Pr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Sr=(t,e)=>{for(var r in e||(e={}))br.call(e,r)&&Oe(t,r,e[r]);if(ye)for(var r of ye(e))Ur.call(e,r)&&Oe(t,r,e[r]);return t},$r=(t,e)=>hr(t,wr(e));const Cr=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(v.useOffsetPagination($r(Sr({},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)}}}),Er=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:v.useOnline()});return()=>{if(e.default)return e.default(r)}}}),jr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:v.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Lr=Object.defineProperty,Ir=Object.defineProperties,Ar=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,he=(t,e,r)=>e in t?Lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nr=(t,e)=>{for(var r in e||(e={}))Tr.call(e,r)&&he(t,r,e[r]);if(Pe)for(var r of Pe(e))Mr.call(e,r)&&he(t,r,e[r]);return t},Vr=(t,e)=>Ir(t,Ar(e));const Rr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(v.usePointer(Vr(Nr({},t),{target:t.target==="self"?r:h})));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(v.usePointerLock(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),zr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:v.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Hr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:v.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Br=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:v.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Wr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:v.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),Fr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:v.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function z(t,e,r={}){const{window:o=h,initialValue:a="",observe:l=!1}=r,i=n.ref(a),c=n.computed(()=>{var p;return P(e)||((p=o==null?void 0:o.document)==null?void 0:p.documentElement)});function f(){var p;const d=u.resolveUnref(t),_=u.resolveUnref(c);if(_&&o){const g=(p=o.getComputedStyle(_).getPropertyValue(d))==null?void 0:p.trim();i.value=g||a}}return l&&v.useMutationObserver(c,f,{attributes:!0,window:o}),n.watch([c,()=>u.resolveUnref(t)],f,{immediate:!0}),n.watch(i,p=>{var d;((d=c.value)==null?void 0:d.style)&&c.value.style.setProperty(u.resolveUnref(t),p)}),i}const we="--vueuse-safe-area-top",be="--vueuse-safe-area-right",Ue="--vueuse-safe-area-bottom",Se="--vueuse-safe-area-left";function Kr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const l=z(we),i=z(be),c=z(Ue),f=z(Se);l.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),w("resize",u.useDebounceFn(a))}function a(){t.value=H(we),e.value=H(be),r.value=H(Ue),o.value=H(Se)}return{top:t,right:e,bottom:r,left:o,update:a}}function H(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Gr=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:l}=Kr();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 Jr=Object.defineProperty,Yr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,Qr=Object.prototype.propertyIsEnumerable,Ce=(t,e,r)=>e in t?Jr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Zr=(t,e)=>{for(var r in e||(e={}))qr.call(e,r)&&Ce(t,r,e[r]);if($e)for(var r of $e(e))Qr.call(e,r)&&Ce(t,r,e[r]);return t},xr=(t,e)=>Yr(t,Xr(e));const Dr={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=G(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=G(t,xr(Zr({},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 Ee(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:Ee(r)}}function en(t){const e=t||window.event,r=e.target;return Ee(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function tn(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(u.resolveRef(t),c=>{if(c){const f=c;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const l=()=>{const c=u.resolveUnref(t);!c||r.value||(u.isIOS&&(o=w(c,"touchmove",f=>{en(f)},{passive:!1})),c.style.overflow="hidden",r.value=!0)},i=()=>{const c=u.resolveUnref(t);!c||!r.value||(u.isIOS&&(o==null||o()),c.style.overflow=a,r.value=!1)};return u.tryOnScopeDispose(i),n.computed({get(){return r.value},set(c){c?l():i()}})}const rn=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=tn(r,o.value);n.watch(e,l=>a.value=l)}})();var nn=Object.defineProperty,on=Object.defineProperties,an=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?nn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,cn=(t,e)=>{for(var r in e||(e={}))sn.call(e,r)&&Le(t,r,e[r]);if(je)for(var r of je(e))ln.call(e,r)&&Le(t,r,e[r]);return t},un=(t,e)=>on(t,an(e));const fn=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(v.useTimeAgo(()=>t.time,un(cn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var dn=Object.defineProperty,pn=Object.defineProperties,vn=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,_n=Object.prototype.propertyIsEnumerable,Ae=(t,e,r)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,mn=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Ae(t,r,e[r]);if(Ie)for(var r of Ie(e))_n.call(e,r)&&Ae(t,r,e[r]);return t},yn=(t,e)=>pn(t,vn(e));const On=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(v.useTimestamp(yn(mn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var Pn=Object.defineProperty,Te=Object.getOwnPropertySymbols,hn=Object.prototype.hasOwnProperty,wn=Object.prototype.propertyIsEnumerable,Me=(t,e,r)=>e in t?Pn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))hn.call(e,r)&&Me(t,r,e[r]);if(Te)for(var r of Te(e))wn.call(e,r)&&Me(t,r,e[r]);return t};const bn=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:c}=v.useVirtualList(o,t.options);return r({scrollTo:c}),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!")))])}}),Un=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:v.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Sn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(v.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Ve,s.OnLongPress=Fe,s.UseActiveElement=Ke,s.UseBattery=Ge,s.UseBrowserLocation=Je,s.UseColorMode=lt,s.UseDark=it,s.UseDeviceMotion=ct,s.UseDeviceOrientation=ut,s.UseDevicePixelRatio=ft,s.UseDevicesList=dt,s.UseDocumentVisibility=pt,s.UseDraggable=ht,s.UseElementBounding=wt,s.UseElementSize=St,s.UseElementVisibility=At,s.UseEyeDropper=Mt,s.UseFullscreen=Nt,s.UseGeolocation=Vt,s.UseIdle=Rt,s.UseImage=Gt,s.UseMouse=er,s.UseMouseInElement=tr,s.UseMousePressed=cr,s.UseNetwork=ur,s.UseNow=yr,s.UseObjectUrl=Or,s.UseOffsetPagination=Cr,s.UseOnline=Er,s.UsePageLeave=jr,s.UsePointer=Rr,s.UsePointerLock=kr,s.UsePreferredColorScheme=zr,s.UsePreferredContrast=Hr,s.UsePreferredDark=Br,s.UsePreferredLanguages=Wr,s.UsePreferredReducedMotion=Fr,s.UseScreenSafeArea=Gr,s.UseTimeAgo=fn,s.UseTimestamp=On,s.UseVirtualList=bn,s.UseWindowFocus=Un,s.UseWindowSize=Sn,s.VOnClickOutside=k,s.VOnLongPress=X,s.vElementHover=Ut,s.vElementSize=It,s.vElementVisibility=Tt,s.vInfiniteScroll=xt,s.vIntersectionObserver=Dt,s.vOnClickOutside=k,s.vOnKeyStroke=Be,s.vOnLongPress=X,s.vScroll=Dr,s.vScrollLock=rn})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
1
+ var VueDemi=function(s,n,_){if(s.install)return s;if(!n)return console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`."),s;if(n.version.slice(0,4)==="2.7."){let P=function(w,b){var M,R={},k={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(N,T){return R[N]=T,this},directive:function(N,T){return T?(n.directive(N,T),k):n.directive(N)},mount:function(N,T){return M||(M=new n(Object.assign({propsData:b},w,{provide:Object.assign(R,w.provide)})),M.$mount(N,T),M)},unmount:function(){M&&(M.$destroy(),M=void 0)}};return k};var Ve=P;for(var u in n)s[u]=n[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.warn=n.util.warn,s.createApp=P}else if(n.version.slice(0,2)==="2.")if(_){for(var u in _)s[u]=_[u];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var u in n)s[u]=n[u];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=n,s.Vue2=void 0,s.version=n.version,s.set=function(P,w,b){return Array.isArray(P)?(P.length=Math.max(P.length,w),P.splice(w,1,b),b):(P[w]=b,b)},s.del=function(P,w){if(Array.isArray(P)){P.splice(w,1);return}delete P[w]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");return s}(this.VueDemi=this.VueDemi||(typeof VueDemi!="undefined"?VueDemi:{}),this.Vue||(typeof Vue!="undefined"?Vue:void 0),this.VueCompositionAPI||(typeof VueCompositionAPI!="undefined"?VueCompositionAPI:void 0));(function(s,n,_,u){"use strict";const Ve=n.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return _.onClickOutside(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function P(t){var e;const r=u.resolveUnref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const w=u.isClient?window:void 0;function b(...t){let e,r,o,a;if(u.isString(t[0])||Array.isArray(t[0])?([r,o,a]=t,e=w):[e,r,o,a]=t,!e)return u.noop;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const l=[],i=()=>{l.forEach(d=>d()),l.length=0},c=(d,g,p,m)=>(d.addEventListener(g,p,m),()=>d.removeEventListener(g,p,m)),f=n.watch(()=>[P(e),u.resolveUnref(a)],([d,g])=>{i(),!!d&&l.push(...r.flatMap(p=>o.map(m=>c(d,p,m,g))))},{immediate:!0,flush:"post"}),v=()=>{f(),i()};return u.tryOnScopeDispose(v),v}let M=!1;function R(t,e,r={}){const{window:o=w,ignore:a=[],capture:l=!0,detectIframe:i=!1}=r;if(!o)return;u.isIOS&&!M&&(M=!0,Array.from(o.document.body.children).forEach(p=>p.addEventListener("click",u.noop)));let c=!0;const f=p=>a.some(m=>{if(typeof m=="string")return Array.from(o.document.querySelectorAll(m)).some(y=>y===p.target||p.composedPath().includes(y));{const y=P(m);return y&&(p.target===y||p.composedPath().includes(y))}}),d=[b(o,"click",p=>{const m=P(t);if(!(!m||m===p.target||p.composedPath().includes(m))){if(p.detail===0&&(c=!f(p)),!c){c=!0;return}e(p)}},{passive:!0,capture:l}),b(o,"pointerdown",p=>{const m=P(t);m&&(c=!p.composedPath().includes(m)&&!f(p))},{passive:!0}),i&&b(o,"blur",p=>{var m;const y=P(t);((m=o.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(y==null?void 0:y.contains(o.document.activeElement))&&e(p)})].filter(Boolean);return()=>d.forEach(p=>p())}const k={[u.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=R(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=R(t,o,Object.assign({capture:r},a))}},[u.directiveHooks.unmounted](t){t.__onClickOutside_stop()}},N=t=>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=w,eventName:l="keydown",passive:i=!1,dedupe:c=!1}=o,f=N(e);return b(a,l,d=>{d.repeat&&u.resolveUnref(c)||f(d)&&r(d)},i)}var Re=Object.defineProperty,Y=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,X=(t,e,r)=>e in t?Re(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,He=(t,e)=>{for(var r in e||(e={}))ke.call(e,r)&&X(t,r,e[r]);if(Y)for(var r of Y(e))ze.call(e,r)&&X(t,r,e[r]);return t};const Be={[u.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,He({target:t},i))}}},We=500;function B(t,e,r){var o,a;const l=n.computed(()=>P(t));let i;function c(){i&&(clearTimeout(i),i=void 0)}function f(d){var g,p,m,y;((g=r==null?void 0:r.modifiers)==null?void 0:g.self)&&d.target!==l.value||(c(),((p=r==null?void 0:r.modifiers)==null?void 0:p.prevent)&&d.preventDefault(),((m=r==null?void 0:r.modifiers)==null?void 0:m.stop)&&d.stopPropagation(),i=setTimeout(()=>e(d),(y=r==null?void 0:r.delay)!=null?y:We))}const v={capture:(o=r==null?void 0:r.modifiers)==null?void 0:o.capture,once:(a=r==null?void 0:r.modifiers)==null?void 0:a.once};b(l,"pointerdown",f,v),b(l,"pointerup",c,v),b(l,"pointerleave",c,v)}const Fe=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return B(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),q={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?B(t,e.value,{modifiers:e.modifiers}):B(t,...e.value)}},Ke=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:_.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Ge=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(_.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),Je=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(_.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),W=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},F="__vueuse_ssr_handlers__";W[F]=W[F]||{};const Ye=W[F];function Q(t,e){return Ye[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 qe=Object.defineProperty,Z=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,x=(t,e,r)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,D=(t,e)=>{for(var r in e||(e={}))Qe.call(e,r)&&x(t,r,e[r]);if(Z)for(var r of Z(e))Ze.call(e,r)&&x(t,r,e[r]);return t};const xe={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()}},ee="vueuse-storage";function De(t,e,r,o={}){var a;const{flush:l="pre",deep:i=!0,listenToStorageChanges:c=!0,writeDefaults:f=!0,mergeDefaults:v=!1,shallow:d,window:g=w,eventFilter:p,onError:m=O=>{console.error(O)}}=o,y=(d?n.shallowRef:n.ref)(e);if(!r)try{r=Q("getDefaultStorage",()=>{var O;return(O=w)==null?void 0:O.localStorage})()}catch(O){m(O)}if(!r)return y;const S=u.resolveUnref(e),C=Xe(S),A=(a=o.serializer)!=null?a:xe[C],{pause:I,resume:j}=u.pausableWatch(y,()=>U(y.value),{flush:l,deep:i,eventFilter:p});return g&&c&&(b(g,"storage",$),b(g,ee,L)),$(),y;function U(O){try{if(O==null)r.removeItem(t);else{const h=A.write(O),V=r.getItem(t);V!==h&&(r.setItem(t,h),g&&g.dispatchEvent(new CustomEvent(ee,{detail:{key:t,oldValue:V,newValue:h,storageArea:r}})))}}catch(h){m(h)}}function E(O){const h=O?O.newValue:r.getItem(t);if(h==null)return f&&S!==null&&r.setItem(t,A.write(S)),S;if(!O&&v){const V=A.read(h);return u.isFunction(v)?v(V,S):C==="object"&&!Array.isArray(V)?D(D({},S),V):V}else return typeof h!="string"?h:A.read(h)}function L(O){$(O.detail)}function $(O){if(!(O&&O.storageArea!==r)){if(O&&O.key==null){y.value=S;return}if(!(O&&O.key!==t)){I();try{y.value=E(O)}catch(h){m(h)}finally{O?n.nextTick(j):j()}}}}}function et(){const t=n.ref(!1);return n.onMounted(()=>{t.value=!0}),t}function K(t){const e=et();return n.computed(()=>(e.value,Boolean(t())))}function tt(t,e={}){const{window:r=w}=e,o=K(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const l=n.ref(!1),i=()=>{!a||("removeEventListener"in a?a.removeEventListener("change",c):a.removeListener(c))},c=()=>{!o.value||(i(),a=r.matchMedia(u.resolveRef(t).value),l.value=a.matches,"addEventListener"in a?a.addEventListener("change",c):a.addListener(c))};return n.watchEffect(c),u.tryOnScopeDispose(()=>i()),l}function rt(t){return tt("(prefers-color-scheme: dark)",t)}var nt=Object.defineProperty,te=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,re=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,st=(t,e)=>{for(var r in e||(e={}))ot.call(e,r)&&re(t,r,e[r]);if(te)for(var r of te(e))at.call(e,r)&&re(t,r,e[r]);return t};function lt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=w,storage:l,storageKey:i="vueuse-color-scheme",listenToStorageChanges:c=!0,storageRef:f,emitAuto:v,disableTransition:d=!1}=t,g=st({auto:"",light:"light",dark:"dark"},t.modes||{}),p=rt({window:a}),m=n.computed(()=>p.value?"dark":"light"),y=f||(i==null?n.ref(o):De(i,o,l,{window:a,listenToStorageChanges:c})),S=n.computed({get(){return y.value==="auto"&&!v?m.value:y.value},set(j){y.value=j}}),C=Q("updateHTMLAttrs",(j,U,E)=>{const L=a==null?void 0:a.document.querySelector(j);if(!L)return;let $;if(d&&($=a.document.createElement("style"),$.type="text/css",$.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($)),U==="class"){const O=E.split(/\s/g);Object.values(g).flatMap(h=>(h||"").split(/\s/g)).filter(Boolean).forEach(h=>{O.includes(h)?L.classList.add(h):L.classList.remove(h)})}else L.setAttribute(U,E);d&&(a.getComputedStyle($).opacity,document.head.removeChild($))});function A(j){var U;const E=j==="auto"?m.value:j;C(e,r,(U=g[E])!=null?U:E)}function I(j){t.onChanged?t.onChanged(j,A):A(j)}return n.watch(S,I,{flush:"post",immediate:!0}),v&&n.watch(m,()=>I(S.value),{flush:"post"}),u.tryOnMounted(()=>I(S.value)),S}const it=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=lt(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),ct=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=_.useDark(t),o=n.reactive({isDark:r,toggleDark:u.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),ut=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(_.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),ft=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(_.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),dt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:_.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),pt=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(_.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),vt=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:_.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var _t=Object.defineProperty,gt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,oe=(t,e,r)=>e in t?_t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Pt=(t,e)=>{for(var r in e||(e={}))yt.call(e,r)&&oe(t,r,e[r]);if(ne)for(var r of ne(e))Ot.call(e,r)&&oe(t,r,e[r]);return t},wt=(t,e)=>gt(t,mt(e));const ht=n.defineComponent({name:"UseDraggable",props:["storageKey","storageType","initialValue","exact","preventDefault","stopPropagation","pointerTypes","as","handle"],setup(t,{slots:e}){const r=n.ref(),o=n.computed(()=>{var f;return(f=t.handle)!=null?f:r.value}),a=t.storageKey&&_.useStorage(t.storageKey,u.resolveUnref(t.initialValue)||{x:0,y:0},_.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)},c=n.reactive(_.useDraggable(r,wt(Pt({},t),{handle:o,initialValue:l,onEnd:i})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${c.style}`},e.default(c))}}}),bt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function Ut(t,e={}){const{delayEnter:r=0,delayLeave:o=0,window:a=w}=e,l=n.ref(!1);let i;const c=f=>{const v=f?r:o;i&&(clearTimeout(i),i=void 0),v?i=setTimeout(()=>l.value=f,v):l.value=f};return a&&(b(t,"mouseenter",()=>c(!0),{passive:!0}),b(t,"mouseleave",()=>c(!1),{passive:!0})),l}const St={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=Ut(t);n.watch(r,o=>e.value(o))}}},$t=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.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 ae=Object.getOwnPropertySymbols,Ct=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,jt=(t,e)=>{var r={};for(var o in t)Ct.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&ae)for(var o of ae(t))e.indexOf(o)<0&&Et.call(t,o)&&(r[o]=t[o]);return r};function Lt(t,e,r={}){const o=r,{window:a=w}=o,l=jt(o,["window"]);let i;const c=K(()=>a&&"ResizeObserver"in a),f=()=>{i&&(i.disconnect(),i=void 0)},v=n.computed(()=>Array.isArray(t)?t.map(p=>P(p)):[P(t)]),d=n.watch(v,p=>{if(f(),c.value&&a){i=new ResizeObserver(e);for(const m of p)m&&i.observe(m,l)}},{immediate:!0,flush:"post",deep:!0}),g=()=>{f(),d()};return u.tryOnScopeDispose(g),{isSupported:c,stop:g}}function It(t,e={width:0,height:0},r={}){const{window:o=w,box:a="content-box"}=r,l=n.computed(()=>{var f,v;return(v=(f=P(t))==null?void 0:f.namespaceURI)==null?void 0:v.includes("svg")}),i=n.ref(e.width),c=n.ref(e.height);return Lt(t,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&l.value){const d=P(t);if(d){const g=o.getComputedStyle(d);i.value=parseFloat(g.width),c.value=parseFloat(g.height)}}else if(v){const d=Array.isArray(v)?v:[v];i.value=d.reduce((g,{inlineSize:p})=>g+p,0),c.value=d.reduce((g,{blockSize:p})=>g+p,0)}else i.value=f.contentRect.width,c.value=f.contentRect.height},r),n.watch(()=>P(t),f=>{i.value=f?e.width:0,c.value=f?e.height:0}),{width:i,height:c}}const At={[u.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:l,height:i}=It(t,...a);n.watch([l,i],([c,f])=>o({width:c,height:f}))}},Mt=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:_.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function G(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:i=w}=r,c=K(()=>i&&"IntersectionObserver"in i);let f=u.noop;const v=c.value?n.watch(()=>({el:P(t),root:P(o)}),({el:g,root:p})=>{if(f(),!g)return;const m=new IntersectionObserver(e,{root:p,rootMargin:a,threshold:l});m.observe(g),f=()=>{m.disconnect(),f=u.noop}},{immediate:!0,flush:"post"}):u.noop,d=()=>{f(),v()};return u.tryOnScopeDispose(d),{isSupported:c,stop:d}}function se(t,{window:e=w,scrollTarget:r}={}){const o=n.ref(!1);return G(t,([{isIntersecting:a}])=>{o.value=a},{root:r,window:e}),o}const Tt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=se(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=se(t,o);n.watch(a,l=>r(l),{immediate:!0})}}},Nt=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(_.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Vt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Rt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(_.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),kt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(_.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function zt(t,e,r){const{immediate:o=!0,delay:a=0,onError:l=u.noop,onSuccess:i=u.noop,resetOnExecute:c=!0,shallow:f=!0,throwError:v}=r??{},d=f?n.shallowRef(e):n.ref(e),g=n.ref(!1),p=n.ref(!1),m=n.shallowRef(void 0);async function y(S=0,...C){c&&(d.value=e),m.value=void 0,g.value=!1,p.value=!0,S>0&&await u.promiseTimeout(S);const A=typeof t=="function"?t(...C):t;try{const I=await A;d.value=I,g.value=!0,i(I)}catch(I){if(m.value=I,l(I),v)throw I}finally{p.value=!1}return d.value}return o&&y(a),{state:d,isReady:g,isLoading:p,error:m,execute:y}}var Ht=Object.defineProperty,le=Object.getOwnPropertySymbols,Bt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable,ie=(t,e,r)=>e in t?Ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ft=(t,e)=>{for(var r in e||(e={}))Bt.call(e,r)&&ie(t,r,e[r]);if(le)for(var r of le(e))Wt.call(e,r)&&ie(t,r,e[r]);return t};async function Kt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:l,sizes:i}=t;o.src=a,l&&(o.srcset=l),i&&(o.sizes=i),o.onload=()=>e(o),o.onerror=r})}const Gt=(t,e={})=>{const r=zt(()=>Kt(u.resolveUnref(t)),void 0,Ft({resetOnExecute:!0},e));return n.watch(()=>u.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},Jt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Gt(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 J(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=u.noop,onScroll:l=u.noop,offset:i={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0},behavior:f="auto"}=e,v=n.ref(0),d=n.ref(0),g=n.computed({get(){return v.value},set(U){m(U,void 0)}}),p=n.computed({get(){return d.value},set(U){m(void 0,U)}});function m(U,E){var L,$,O;const h=u.resolveUnref(t);!h||(O=h instanceof Document?document.body:h)==null||O.scrollTo({top:(L=u.resolveUnref(E))!=null?L:p.value,left:($=u.resolveUnref(U))!=null?$:g.value,behavior:u.resolveUnref(f)})}const y=n.ref(!1),S=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),C=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),A=U=>{!y.value||(y.value=!1,C.left=!1,C.right=!1,C.top=!1,C.bottom=!1,a(U))},I=u.useDebounceFn(A,r+o),j=U=>{const E=U.target===document?U.target.documentElement:U.target,L=E.scrollLeft;C.left=L<v.value,C.right=L>d.value,S.left=L<=0+(i.left||0),S.right=L+E.clientWidth>=E.scrollWidth-(i.right||0)-ce,v.value=L;let $=E.scrollTop;U.target===document&&!$&&($=document.body.scrollTop),C.top=$<d.value,C.bottom=$>d.value,S.top=$<=0+(i.top||0),S.bottom=$+E.clientHeight>=E.scrollHeight-(i.bottom||0)-ce,d.value=$,y.value=!0,I(U),l(U)};return b(t,"scroll",r?u.useThrottleFn(j,r,!0,!1):j,c),b(t,"scrollend",A,c),{x:g,y:p,isScrolling:y,arrivedState:S,directions:C}}var Yt=Object.defineProperty,Xt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable,fe=(t,e,r)=>e in t?Yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,de=(t,e)=>{for(var r in e||(e={}))Qt.call(e,r)&&fe(t,r,e[r]);if(ue)for(var r of ue(e))Zt.call(e,r)&&fe(t,r,e[r]);return t},xt=(t,e)=>Xt(t,qt(e));function pe(t,e,r={}){var o,a;const l=(o=r.direction)!=null?o:"bottom",i=n.reactive(J(t,xt(de({},r),{offset:de({[l]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>i.arrivedState[l],async c=>{var f,v;if(c){const d=u.resolveUnref(t),g={height:(f=d==null?void 0:d.scrollHeight)!=null?f:0,width:(v=d==null?void 0:d.scrollWidth)!=null?v:0};await e(i),r.preserveScrollPosition&&d&&n.nextTick(()=>{d.scrollTo({top:d.scrollHeight-g.height,left:d.scrollWidth-g.width})})}})}const Dt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?pe(t,e.value):pe(t,...e.value)}},er={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?G(t,e.value):G(t,...e.value)}},tr=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(_.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),rr=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var nr=Object.defineProperty,or=Object.defineProperties,ar=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,sr=Object.prototype.hasOwnProperty,lr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e)=>{for(var r in e||(e={}))sr.call(e,r)&&_e(t,r,e[r]);if(ve)for(var r of ve(e))lr.call(e,r)&&_e(t,r,e[r]);return t},cr=(t,e)=>or(t,ar(e));const ur=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.useMousePressed(cr(ir({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),fr=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(_.useNetwork());return()=>{if(e.default)return e.default(r)}}});var dr=Object.defineProperty,pr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,me=(t,e,r)=>e in t?dr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,mr=(t,e)=>{for(var r in e||(e={}))_r.call(e,r)&&me(t,r,e[r]);if(ge)for(var r of ge(e))gr.call(e,r)&&me(t,r,e[r]);return t},yr=(t,e)=>pr(t,vr(e));const Or=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(_.useNow(yr(mr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),Pr=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=n.toRef(t,"object"),o=_.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var wr=Object.defineProperty,hr=Object.defineProperties,br=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?wr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,$r=(t,e)=>{for(var r in e||(e={}))Ur.call(e,r)&&Oe(t,r,e[r]);if(ye)for(var r of ye(e))Sr.call(e,r)&&Oe(t,r,e[r]);return t},Cr=(t,e)=>hr(t,br(e));const Er=n.defineComponent({name:"UseOffsetPagination",props:["total","page","pageSize","onPageChange","onPageSizeChange","onPageCountChange"],emits:["page-change","page-size-change","page-count-change"],setup(t,{slots:e,emit:r}){const o=n.reactive(_.useOffsetPagination(Cr($r({},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)}}}),jr=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:_.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Lr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:_.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var Ir=Object.defineProperty,Ar=Object.defineProperties,Mr=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Tr=Object.prototype.hasOwnProperty,Nr=Object.prototype.propertyIsEnumerable,we=(t,e,r)=>e in t?Ir(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Vr=(t,e)=>{for(var r in e||(e={}))Tr.call(e,r)&&we(t,r,e[r]);if(Pe)for(var r of Pe(e))Nr.call(e,r)&&we(t,r,e[r]);return t},Rr=(t,e)=>Ar(t,Mr(e));const kr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(_.usePointer(Rr(Vr({},t),{target:t.target==="self"?r:w})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),zr=n.defineComponent({name:"UsePointerLock",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(_.usePointerLock(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Hr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:_.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Br=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:_.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Wr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:_.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Fr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:_.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),Kr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:_.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function z(t,e,r={}){const{window:o=w,initialValue:a="",observe:l=!1}=r,i=n.ref(a),c=n.computed(()=>{var v;return P(e)||((v=o==null?void 0:o.document)==null?void 0:v.documentElement)});function f(){var v;const d=u.resolveUnref(t),g=u.resolveUnref(c);if(g&&o){const p=(v=o.getComputedStyle(g).getPropertyValue(d))==null?void 0:v.trim();i.value=p||a}}return l&&_.useMutationObserver(c,f,{attributes:!0,window:o}),n.watch([c,()=>u.resolveUnref(t)],f,{immediate:!0}),n.watch(i,v=>{var d;((d=c.value)==null?void 0:d.style)&&c.value.style.setProperty(u.resolveUnref(t),v)}),i}const he="--vueuse-safe-area-top",be="--vueuse-safe-area-right",Ue="--vueuse-safe-area-bottom",Se="--vueuse-safe-area-left";function Gr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const l=z(he),i=z(be),c=z(Ue),f=z(Se);l.value="env(safe-area-inset-top, 0px)",i.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),b("resize",u.useDebounceFn(a))}function a(){t.value=H(he),e.value=H(be),r.value=H(Ue),o.value=H(Se)}return{top:t,right:e,bottom:r,left:o,update:a}}function H(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Jr=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}=Gr();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 Yr=Object.defineProperty,Xr=Object.defineProperties,qr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Qr=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,Ce=(t,e,r)=>e in t?Yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xr=(t,e)=>{for(var r in e||(e={}))Qr.call(e,r)&&Ce(t,r,e[r]);if($e)for(var r of $e(e))Zr.call(e,r)&&Ce(t,r,e[r]);return t},Dr=(t,e)=>Xr(t,qr(e));const en={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=J(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=J(t,Dr(xr({},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 Ee(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:Ee(r)}}function tn(t){const e=t||window.event,r=e.target;return Ee(r)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function rn(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(u.resolveRef(t),c=>{if(c){const f=c;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const l=()=>{const c=u.resolveUnref(t);!c||r.value||(u.isIOS&&(o=b(c,"touchmove",f=>{tn(f)},{passive:!1})),c.style.overflow="hidden",r.value=!0)},i=()=>{const c=u.resolveUnref(t);!c||!r.value||(u.isIOS&&(o==null||o()),c.style.overflow=a,r.value=!1)};return u.tryOnScopeDispose(i),n.computed({get(){return r.value},set(c){c?l():i()}})}const nn=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=rn(r,o.value);n.watch(e,l=>a.value=l)}})();var on=Object.defineProperty,an=Object.defineProperties,sn=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,ln=Object.prototype.hasOwnProperty,cn=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?on(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,un=(t,e)=>{for(var r in e||(e={}))ln.call(e,r)&&Le(t,r,e[r]);if(je)for(var r of je(e))cn.call(e,r)&&Le(t,r,e[r]);return t},fn=(t,e)=>an(t,sn(e));const dn=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages","showSecond"],setup(t,{slots:e}){const r=n.reactive(_.useTimeAgo(()=>t.time,fn(un({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var pn=Object.defineProperty,vn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable,Ae=(t,e,r)=>e in t?pn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,yn=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Ae(t,r,e[r]);if(Ie)for(var r of Ie(e))mn.call(e,r)&&Ae(t,r,e[r]);return t},On=(t,e)=>vn(t,_n(e));const Pn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(_.useTimestamp(On(yn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var wn=Object.defineProperty,Me=Object.getOwnPropertySymbols,hn=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable,Te=(t,e,r)=>e in t?wn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))hn.call(e,r)&&Te(t,r,e[r]);if(Me)for(var r of Me(e))bn.call(e,r)&&Te(t,r,e[r]);return t};const Un=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:c}=_.useVirtualList(o,t.options);return r({scrollTo:c}),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!")))])}}),Sn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:_.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),$n=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(_.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Ve,s.OnLongPress=Fe,s.UseActiveElement=Ke,s.UseBattery=Ge,s.UseBrowserLocation=Je,s.UseColorMode=it,s.UseDark=ct,s.UseDeviceMotion=ut,s.UseDeviceOrientation=ft,s.UseDevicePixelRatio=dt,s.UseDevicesList=pt,s.UseDocumentVisibility=vt,s.UseDraggable=ht,s.UseElementBounding=bt,s.UseElementSize=$t,s.UseElementVisibility=Mt,s.UseEyeDropper=Nt,s.UseFullscreen=Vt,s.UseGeolocation=Rt,s.UseIdle=kt,s.UseImage=Jt,s.UseMouse=tr,s.UseMouseInElement=rr,s.UseMousePressed=ur,s.UseNetwork=fr,s.UseNow=Or,s.UseObjectUrl=Pr,s.UseOffsetPagination=Er,s.UseOnline=jr,s.UsePageLeave=Lr,s.UsePointer=kr,s.UsePointerLock=zr,s.UsePreferredColorScheme=Hr,s.UsePreferredContrast=Br,s.UsePreferredDark=Wr,s.UsePreferredLanguages=Fr,s.UsePreferredReducedMotion=Kr,s.UseScreenSafeArea=Jr,s.UseTimeAgo=dn,s.UseTimestamp=Pn,s.UseVirtualList=Un,s.UseWindowFocus=Sn,s.UseWindowSize=$n,s.VOnClickOutside=k,s.VOnLongPress=q,s.vElementHover=St,s.vElementSize=At,s.vElementVisibility=Tt,s.vInfiniteScroll=Dt,s.vIntersectionObserver=er,s.vOnClickOutside=k,s.vOnKeyStroke=Be,s.vOnLongPress=q,s.vScroll=en,s.vScrollLock=nn})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
package/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, watchEffect, toRef, toRefs } from 'vue-demi';
1
+ import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, onMounted, watchEffect, toRef, toRefs } from 'vue-demi';
2
2
  import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, 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 { resolveUnref, isClient, isString, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, isFunction, tryOnMounted, resolveRef, useToggle, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
3
+ import { resolveUnref, isClient, isString, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, isFunction, resolveRef, tryOnMounted, useToggle, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
6
6
  name: "OnClickOutside",
@@ -163,9 +163,16 @@ function onKeyStroke(...args) {
163
163
  key = true;
164
164
  handler = args[0];
165
165
  }
166
- const { target = defaultWindow, eventName = "keydown", passive = false } = options;
166
+ const {
167
+ target = defaultWindow,
168
+ eventName = "keydown",
169
+ passive = false,
170
+ dedupe = false
171
+ } = options;
167
172
  const predicate = createKeyPredicate(key);
168
173
  const listener = (e) => {
174
+ if (e.repeat && resolveUnref(dedupe))
175
+ return;
169
176
  if (predicate(e))
170
177
  handler(e);
171
178
  };
@@ -467,12 +474,20 @@ function useStorage(key, defaults, storage, options = {}) {
467
474
  }
468
475
  }
469
476
 
470
- function useSupported(callback, sync = false) {
471
- const isSupported = ref();
472
- const update = () => isSupported.value = Boolean(callback());
473
- update();
474
- tryOnMounted(update, sync);
475
- return isSupported;
477
+ function useMounted() {
478
+ const isMounted = ref(false);
479
+ onMounted(() => {
480
+ isMounted.value = true;
481
+ });
482
+ return isMounted;
483
+ }
484
+
485
+ function useSupported(callback) {
486
+ const isMounted = useMounted();
487
+ return computed(() => {
488
+ isMounted.value;
489
+ return Boolean(callback());
490
+ });
476
491
  }
477
492
 
478
493
  function useMediaQuery(query, options = {}) {
@@ -833,13 +848,15 @@ function useResizeObserver(target, callback, options = {}) {
833
848
  observer = void 0;
834
849
  }
835
850
  };
836
- const stopWatch = watch(() => unrefElement(target), (el) => {
851
+ const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);
852
+ const stopWatch = watch(targets, (els) => {
837
853
  cleanup();
838
- if (isSupported.value && window && el) {
854
+ if (isSupported.value && window) {
839
855
  observer = new ResizeObserver(callback);
840
- observer.observe(el, observerOptions);
856
+ for (const _el of els)
857
+ _el && observer.observe(_el, observerOptions);
841
858
  }
842
- }, { immediate: true, flush: "post" });
859
+ }, { immediate: true, flush: "post", deep: true });
843
860
  const stop = () => {
844
861
  cleanup();
845
862
  stopWatch();
@@ -914,27 +931,52 @@ const UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
914
931
  }
915
932
  });
916
933
 
917
- function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
918
- const elementIsVisible = ref(false);
919
- const testBounding = () => {
920
- if (!window)
934
+ function useIntersectionObserver(target, callback, options = {}) {
935
+ const {
936
+ root,
937
+ rootMargin = "0px",
938
+ threshold = 0.1,
939
+ window = defaultWindow
940
+ } = options;
941
+ const isSupported = useSupported(() => window && "IntersectionObserver" in window);
942
+ let cleanup = noop;
943
+ const stopWatch = isSupported.value ? watch(() => ({
944
+ el: unrefElement(target),
945
+ root: unrefElement(root)
946
+ }), ({ el, root: root2 }) => {
947
+ cleanup();
948
+ if (!el)
921
949
  return;
922
- const document = window.document;
923
- const el = unrefElement(element);
924
- if (!el) {
925
- elementIsVisible.value = false;
926
- } else {
927
- const rect = el.getBoundingClientRect();
928
- elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;
929
- }
930
- };
931
- watch(() => unrefElement(element), () => testBounding(), { immediate: true, flush: "post" });
932
- if (window) {
933
- useEventListener(scrollTarget || window, "scroll", testBounding, {
934
- capture: false,
935
- passive: true
950
+ const observer = new IntersectionObserver(callback, {
951
+ root: root2,
952
+ rootMargin,
953
+ threshold
936
954
  });
937
- }
955
+ observer.observe(el);
956
+ cleanup = () => {
957
+ observer.disconnect();
958
+ cleanup = noop;
959
+ };
960
+ }, { immediate: true, flush: "post" }) : noop;
961
+ const stop = () => {
962
+ cleanup();
963
+ stopWatch();
964
+ };
965
+ tryOnScopeDispose(stop);
966
+ return {
967
+ isSupported,
968
+ stop
969
+ };
970
+ }
971
+
972
+ function useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {
973
+ const elementIsVisible = ref(false);
974
+ useIntersectionObserver(element, ([{ isIntersecting }]) => {
975
+ elementIsVisible.value = isIntersecting;
976
+ }, {
977
+ root: scrollTarget,
978
+ window
979
+ });
938
980
  return elementIsVisible;
939
981
  }
940
982
 
@@ -1016,7 +1058,7 @@ function useAsyncState(promise, initialState, options) {
1016
1058
  const state = shallow ? shallowRef(initialState) : ref(initialState);
1017
1059
  const isReady = ref(false);
1018
1060
  const isLoading = ref(false);
1019
- const error = ref(void 0);
1061
+ const error = shallowRef(void 0);
1020
1062
  async function execute(delay2 = 0, ...args) {
1021
1063
  if (resetOnExecute)
1022
1064
  state.value = initialState;
@@ -1035,7 +1077,7 @@ function useAsyncState(promise, initialState, options) {
1035
1077
  error.value = e;
1036
1078
  onError(e);
1037
1079
  if (throwError)
1038
- throw error;
1080
+ throw e;
1039
1081
  } finally {
1040
1082
  isLoading.value = false;
1041
1083
  }
@@ -1271,44 +1313,6 @@ const vInfiniteScroll = {
1271
1313
  }
1272
1314
  };
1273
1315
 
1274
- function useIntersectionObserver(target, callback, options = {}) {
1275
- const {
1276
- root,
1277
- rootMargin = "0px",
1278
- threshold = 0.1,
1279
- window = defaultWindow
1280
- } = options;
1281
- const isSupported = useSupported(() => window && "IntersectionObserver" in window);
1282
- let cleanup = noop;
1283
- const stopWatch = isSupported.value ? watch(() => ({
1284
- el: unrefElement(target),
1285
- root: unrefElement(root)
1286
- }), ({ el, root: root2 }) => {
1287
- cleanup();
1288
- if (!el)
1289
- return;
1290
- const observer = new IntersectionObserver(callback, {
1291
- root: root2,
1292
- rootMargin,
1293
- threshold
1294
- });
1295
- observer.observe(el);
1296
- cleanup = () => {
1297
- observer.disconnect();
1298
- cleanup = noop;
1299
- };
1300
- }, { immediate: true, flush: "post" }) : noop;
1301
- const stop = () => {
1302
- cleanup();
1303
- stopWatch();
1304
- };
1305
- tryOnScopeDispose(stop);
1306
- return {
1307
- isSupported,
1308
- stop
1309
- };
1310
- }
1311
-
1312
1316
  const vIntersectionObserver = {
1313
1317
  [directiveHooks.mounted](el, binding) {
1314
1318
  if (typeof binding.value === "function")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vueuse/components",
3
- "version": "10.0.0-beta.0",
3
+ "version": "10.0.0-beta.2",
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.0",
37
- "@vueuse/shared": "10.0.0-beta.0",
36
+ "@vueuse/core": "10.0.0-beta.2",
37
+ "@vueuse/shared": "10.0.0-beta.2",
38
38
  "vue-demi": "*"
39
39
  }
40
40
  }