@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 +74 -70
- package/index.d.ts +7 -1
- package/index.iife.js +74 -70
- package/index.iife.min.js +1 -1
- package/index.mjs +76 -72
- package/package.json +3 -3
package/index.cjs
CHANGED
|
@@ -165,9 +165,16 @@ function onKeyStroke(...args) {
|
|
|
165
165
|
key = true;
|
|
166
166
|
handler = args[0];
|
|
167
167
|
}
|
|
168
|
-
const {
|
|
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
|
|
473
|
-
const
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
return
|
|
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
|
|
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
|
|
856
|
+
if (isSupported.value && window) {
|
|
841
857
|
observer = new ResizeObserver(callback);
|
|
842
|
-
|
|
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
|
|
920
|
-
const
|
|
921
|
-
|
|
922
|
-
|
|
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
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
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.
|
|
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
|
|
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?:
|
|
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 {
|
|
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
|
|
584
|
-
const
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
return
|
|
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
|
|
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
|
|
967
|
+
if (isSupported.value && window) {
|
|
952
968
|
observer = new ResizeObserver(callback);
|
|
953
|
-
|
|
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
|
|
1031
|
-
const
|
|
1032
|
-
|
|
1033
|
-
|
|
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
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
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.
|
|
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
|
|
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,
|
|
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 {
|
|
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
|
|
471
|
-
const
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
return
|
|
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
|
|
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
|
|
854
|
+
if (isSupported.value && window) {
|
|
839
855
|
observer = new ResizeObserver(callback);
|
|
840
|
-
|
|
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
|
|
918
|
-
const
|
|
919
|
-
|
|
920
|
-
|
|
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
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
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 =
|
|
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
|
|
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.
|
|
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.
|
|
37
|
-
"@vueuse/shared": "10.0.0-beta.
|
|
36
|
+
"@vueuse/core": "10.0.0-beta.2",
|
|
37
|
+
"@vueuse/shared": "10.0.0-beta.2",
|
|
38
38
|
"vue-demi": "*"
|
|
39
39
|
}
|
|
40
40
|
}
|