@vueuse/components 9.4.0 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +34 -19
- package/index.d.ts +6 -3
- package/index.iife.js +34 -19
- package/index.iife.min.js +1 -1
- package/index.mjs +34 -19
- package/package.json +3 -3
package/index.cjs
CHANGED
|
@@ -6,13 +6,13 @@ var shared = require('@vueuse/shared');
|
|
|
6
6
|
|
|
7
7
|
const OnClickOutside = vueDemi.defineComponent({
|
|
8
8
|
name: "OnClickOutside",
|
|
9
|
-
props: ["as"],
|
|
9
|
+
props: ["as", "options"],
|
|
10
10
|
emits: ["trigger"],
|
|
11
11
|
setup(props, { slots, emit }) {
|
|
12
12
|
const target = vueDemi.ref();
|
|
13
13
|
core.onClickOutside(target, (e) => {
|
|
14
14
|
emit("trigger", e);
|
|
15
|
-
});
|
|
15
|
+
}, props.options);
|
|
16
16
|
return () => {
|
|
17
17
|
if (slots.default)
|
|
18
18
|
return vueDemi.h(props.as || "div", { ref: target }, slots.default());
|
|
@@ -30,27 +30,37 @@ const defaultWindow = shared.isClient ? window : void 0;
|
|
|
30
30
|
|
|
31
31
|
function useEventListener(...args) {
|
|
32
32
|
let target;
|
|
33
|
-
let
|
|
34
|
-
let
|
|
33
|
+
let events;
|
|
34
|
+
let listeners;
|
|
35
35
|
let options;
|
|
36
|
-
if (shared.isString(args[0])) {
|
|
37
|
-
[
|
|
36
|
+
if (shared.isString(args[0]) || Array.isArray(args[0])) {
|
|
37
|
+
[events, listeners, options] = args;
|
|
38
38
|
target = defaultWindow;
|
|
39
39
|
} else {
|
|
40
|
-
[target,
|
|
40
|
+
[target, events, listeners, options] = args;
|
|
41
41
|
}
|
|
42
42
|
if (!target)
|
|
43
43
|
return shared.noop;
|
|
44
|
-
|
|
44
|
+
if (!Array.isArray(events))
|
|
45
|
+
events = [events];
|
|
46
|
+
if (!Array.isArray(listeners))
|
|
47
|
+
listeners = [listeners];
|
|
48
|
+
const cleanups = [];
|
|
49
|
+
const cleanup = () => {
|
|
50
|
+
cleanups.forEach((fn) => fn());
|
|
51
|
+
cleanups.length = 0;
|
|
52
|
+
};
|
|
53
|
+
const register = (el, event, listener) => {
|
|
54
|
+
el.addEventListener(event, listener, options);
|
|
55
|
+
return () => el.removeEventListener(event, listener, options);
|
|
56
|
+
};
|
|
45
57
|
const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
|
|
46
58
|
cleanup();
|
|
47
59
|
if (!el)
|
|
48
60
|
return;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
cleanup = shared.noop;
|
|
53
|
-
};
|
|
61
|
+
cleanups.push(...events.flatMap((event) => {
|
|
62
|
+
return listeners.map((listener) => register(el, event, listener));
|
|
63
|
+
}));
|
|
54
64
|
}, { immediate: true, flush: "post" });
|
|
55
65
|
const stop = () => {
|
|
56
66
|
stopWatch();
|
|
@@ -64,13 +74,17 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
64
74
|
const { window = defaultWindow, ignore, capture = true, detectIframe = false } = options;
|
|
65
75
|
if (!window)
|
|
66
76
|
return;
|
|
67
|
-
|
|
77
|
+
let shouldListen = true;
|
|
68
78
|
let fallback;
|
|
69
79
|
const listener = (event) => {
|
|
70
80
|
window.clearTimeout(fallback);
|
|
71
81
|
const el = unrefElement(target);
|
|
72
|
-
if (!el || el === event.target || event.composedPath().includes(el)
|
|
82
|
+
if (!el || el === event.target || event.composedPath().includes(el))
|
|
83
|
+
return;
|
|
84
|
+
if (!shouldListen) {
|
|
85
|
+
shouldListen = true;
|
|
73
86
|
return;
|
|
87
|
+
}
|
|
74
88
|
handler(event);
|
|
75
89
|
};
|
|
76
90
|
const shouldIgnore = (event) => {
|
|
@@ -83,7 +97,8 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
83
97
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
84
98
|
useEventListener(window, "pointerdown", (e) => {
|
|
85
99
|
const el = unrefElement(target);
|
|
86
|
-
|
|
100
|
+
if (el)
|
|
101
|
+
shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
87
102
|
}, { passive: true }),
|
|
88
103
|
useEventListener(window, "pointerup", (e) => {
|
|
89
104
|
if (e.button === 0) {
|
|
@@ -95,7 +110,7 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
95
110
|
detectIframe && useEventListener(window, "blur", (event) => {
|
|
96
111
|
var _a;
|
|
97
112
|
const el = unrefElement(target);
|
|
98
|
-
if (((_a = document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(document.activeElement)))
|
|
113
|
+
if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
|
|
99
114
|
handler(event);
|
|
100
115
|
})
|
|
101
116
|
].filter(Boolean);
|
|
@@ -290,7 +305,7 @@ function getSSRHandler(key, fallback) {
|
|
|
290
305
|
}
|
|
291
306
|
|
|
292
307
|
function guessSerializerType(rawInit) {
|
|
293
|
-
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" :
|
|
308
|
+
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
|
|
294
309
|
}
|
|
295
310
|
|
|
296
311
|
var __defProp$c = Object.defineProperty;
|
|
@@ -1106,7 +1121,7 @@ function useScroll(element, options = {}) {
|
|
|
1106
1121
|
onScrollEnd(e);
|
|
1107
1122
|
onScroll(e);
|
|
1108
1123
|
};
|
|
1109
|
-
useEventListener(element, "scroll", throttle ? shared.useThrottleFn(onScrollHandler, throttle) : onScrollHandler, eventListenerOptions);
|
|
1124
|
+
useEventListener(element, "scroll", throttle ? shared.useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
|
|
1110
1125
|
return {
|
|
1111
1126
|
x,
|
|
1112
1127
|
y,
|
package/index.d.ts
CHANGED
|
@@ -16,8 +16,6 @@ interface RenderableComponent {
|
|
|
16
16
|
as?: Object | string;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
declare const OnClickOutside: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<RenderableComponent>, {}>;
|
|
20
|
-
|
|
21
19
|
declare type VueInstance = ComponentPublicInstance;
|
|
22
20
|
declare type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
|
|
23
21
|
declare type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeComputedRef<T>;
|
|
@@ -45,6 +43,11 @@ declare type OnClickOutsideHandler<T extends {
|
|
|
45
43
|
detectIframe: false;
|
|
46
44
|
}> = (evt: T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
|
|
47
45
|
|
|
46
|
+
interface OnClickOutsideProps extends RenderableComponent {
|
|
47
|
+
options?: OnClickOutsideOptions;
|
|
48
|
+
}
|
|
49
|
+
declare const OnClickOutside: vue_demi.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<OnClickOutsideProps>, {}>;
|
|
50
|
+
|
|
48
51
|
declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
|
|
49
52
|
|
|
50
53
|
declare type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
|
|
@@ -607,4 +610,4 @@ declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<
|
|
|
607
610
|
|
|
608
611
|
declare const UseWindowSize: vue_demi.DefineComponent<UseWindowSizeOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<UseWindowSizeOptions>, {}>;
|
|
609
612
|
|
|
610
|
-
export { OnClickOutside, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseObjectUrlProps, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
|
|
613
|
+
export { OnClickOutside, OnClickOutsideProps, OnLongPress, OnLongPressProps, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseObjectUrlProps, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };
|
package/index.iife.js
CHANGED
|
@@ -117,13 +117,13 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
117
117
|
|
|
118
118
|
const OnClickOutside = vueDemi.defineComponent({
|
|
119
119
|
name: "OnClickOutside",
|
|
120
|
-
props: ["as"],
|
|
120
|
+
props: ["as", "options"],
|
|
121
121
|
emits: ["trigger"],
|
|
122
122
|
setup(props, { slots, emit }) {
|
|
123
123
|
const target = vueDemi.ref();
|
|
124
124
|
core.onClickOutside(target, (e) => {
|
|
125
125
|
emit("trigger", e);
|
|
126
|
-
});
|
|
126
|
+
}, props.options);
|
|
127
127
|
return () => {
|
|
128
128
|
if (slots.default)
|
|
129
129
|
return vueDemi.h(props.as || "div", { ref: target }, slots.default());
|
|
@@ -141,27 +141,37 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
141
141
|
|
|
142
142
|
function useEventListener(...args) {
|
|
143
143
|
let target;
|
|
144
|
-
let
|
|
145
|
-
let
|
|
144
|
+
let events;
|
|
145
|
+
let listeners;
|
|
146
146
|
let options;
|
|
147
|
-
if (shared.isString(args[0])) {
|
|
148
|
-
[
|
|
147
|
+
if (shared.isString(args[0]) || Array.isArray(args[0])) {
|
|
148
|
+
[events, listeners, options] = args;
|
|
149
149
|
target = defaultWindow;
|
|
150
150
|
} else {
|
|
151
|
-
[target,
|
|
151
|
+
[target, events, listeners, options] = args;
|
|
152
152
|
}
|
|
153
153
|
if (!target)
|
|
154
154
|
return shared.noop;
|
|
155
|
-
|
|
155
|
+
if (!Array.isArray(events))
|
|
156
|
+
events = [events];
|
|
157
|
+
if (!Array.isArray(listeners))
|
|
158
|
+
listeners = [listeners];
|
|
159
|
+
const cleanups = [];
|
|
160
|
+
const cleanup = () => {
|
|
161
|
+
cleanups.forEach((fn) => fn());
|
|
162
|
+
cleanups.length = 0;
|
|
163
|
+
};
|
|
164
|
+
const register = (el, event, listener) => {
|
|
165
|
+
el.addEventListener(event, listener, options);
|
|
166
|
+
return () => el.removeEventListener(event, listener, options);
|
|
167
|
+
};
|
|
156
168
|
const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
|
|
157
169
|
cleanup();
|
|
158
170
|
if (!el)
|
|
159
171
|
return;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
cleanup = shared.noop;
|
|
164
|
-
};
|
|
172
|
+
cleanups.push(...events.flatMap((event) => {
|
|
173
|
+
return listeners.map((listener) => register(el, event, listener));
|
|
174
|
+
}));
|
|
165
175
|
}, { immediate: true, flush: "post" });
|
|
166
176
|
const stop = () => {
|
|
167
177
|
stopWatch();
|
|
@@ -175,13 +185,17 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
175
185
|
const { window = defaultWindow, ignore, capture = true, detectIframe = false } = options;
|
|
176
186
|
if (!window)
|
|
177
187
|
return;
|
|
178
|
-
|
|
188
|
+
let shouldListen = true;
|
|
179
189
|
let fallback;
|
|
180
190
|
const listener = (event) => {
|
|
181
191
|
window.clearTimeout(fallback);
|
|
182
192
|
const el = unrefElement(target);
|
|
183
|
-
if (!el || el === event.target || event.composedPath().includes(el)
|
|
193
|
+
if (!el || el === event.target || event.composedPath().includes(el))
|
|
194
|
+
return;
|
|
195
|
+
if (!shouldListen) {
|
|
196
|
+
shouldListen = true;
|
|
184
197
|
return;
|
|
198
|
+
}
|
|
185
199
|
handler(event);
|
|
186
200
|
};
|
|
187
201
|
const shouldIgnore = (event) => {
|
|
@@ -194,7 +208,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
194
208
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
195
209
|
useEventListener(window, "pointerdown", (e) => {
|
|
196
210
|
const el = unrefElement(target);
|
|
197
|
-
|
|
211
|
+
if (el)
|
|
212
|
+
shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
198
213
|
}, { passive: true }),
|
|
199
214
|
useEventListener(window, "pointerup", (e) => {
|
|
200
215
|
if (e.button === 0) {
|
|
@@ -206,7 +221,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
206
221
|
detectIframe && useEventListener(window, "blur", (event) => {
|
|
207
222
|
var _a;
|
|
208
223
|
const el = unrefElement(target);
|
|
209
|
-
if (((_a = document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(document.activeElement)))
|
|
224
|
+
if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
|
|
210
225
|
handler(event);
|
|
211
226
|
})
|
|
212
227
|
].filter(Boolean);
|
|
@@ -401,7 +416,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
401
416
|
}
|
|
402
417
|
|
|
403
418
|
function guessSerializerType(rawInit) {
|
|
404
|
-
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" :
|
|
419
|
+
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
|
|
405
420
|
}
|
|
406
421
|
|
|
407
422
|
var __defProp$c = Object.defineProperty;
|
|
@@ -1217,7 +1232,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1217
1232
|
onScrollEnd(e);
|
|
1218
1233
|
onScroll(e);
|
|
1219
1234
|
};
|
|
1220
|
-
useEventListener(element, "scroll", throttle ? shared.useThrottleFn(onScrollHandler, throttle) : onScrollHandler, eventListenerOptions);
|
|
1235
|
+
useEventListener(element, "scroll", throttle ? shared.useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
|
|
1221
1236
|
return {
|
|
1222
1237
|
x,
|
|
1223
1238
|
y,
|
package/index.iife.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var VueDemi=function(s,n,f){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 m=function(h,w){var A,N={},R={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(M,T){return N[M]=T,this},directive:function(M,T){return T?(n.directive(M,T),R):n.directive(M)},mount:function(M,T){return A||(A=new n(Object.assign({propsData:w},h,{provide:Object.assign(N,h.provide)})),A.$mount(M,T),A)},unmount:function(){A&&(A.$destroy(),A=void 0)}};return R};var Me=m;for(var c in n)s[c]=n[c];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version,s.warn=n.util.warn,s.createApp=m}else if(n.version.slice(0,2)==="2.")if(f){for(var c in f)s[c]=f[c];s.isVue2=!0,s.isVue3=!1,s.install=function(){},s.Vue=n,s.Vue2=n,s.version=n.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.");else if(n.version.slice(0,2)==="3."){for(var c in n)s[c]=n[c];s.isVue2=!1,s.isVue3=!0,s.install=function(){},s.Vue=n,s.Vue2=void 0,s.version=n.version,s.set=function(m,h,w){return Array.isArray(m)?(m.length=Math.max(m.length,h),m.splice(h,1,w),w):(m[h]=w,w)},s.del=function(m,h){if(Array.isArray(m)){m.splice(h,1);return}delete m[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,f,c){"use strict";const Me=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return f.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function m(t){var e;const r=c.resolveUnref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const h=c.isClient?window:void 0;function w(...t){let e,r,o,a;if(c.isString(t[0])?([r,o,a]=t,e=h):[e,r,o,a]=t,!e)return c.noop;let i=c.noop;const l=n.watch(()=>m(e),d=>{i(),!!d&&(d.addEventListener(r,o,a),i=()=>{d.removeEventListener(r,o,a),i=c.noop})},{immediate:!0,flush:"post"}),u=()=>{l(),i()};return c.tryOnScopeDispose(u),u}function A(t,e,r={}){const{window:o=h,ignore:a,capture:i=!0,detectIframe:l=!1}=r;if(!o)return;const u=n.ref(!0);let d;const p=v=>{o.clearTimeout(d);const g=m(t);!g||g===v.target||v.composedPath().includes(g)||!u.value||e(v)},_=v=>a&&a.some(g=>{const y=m(g);return y&&(v.target===y||v.composedPath().includes(y))}),P=[w(o,"click",p,{passive:!0,capture:i}),w(o,"pointerdown",v=>{const g=m(t);u.value=!!g&&!v.composedPath().includes(g)&&!_(v)},{passive:!0}),w(o,"pointerup",v=>{if(v.button===0){const g=v.composedPath();v.composedPath=()=>g,d=o.setTimeout(()=>p(v),50)}},{passive:!0}),l&&w(o,"blur",v=>{var g;const y=m(t);((g=document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(y==null?void 0:y.contains(document.activeElement))&&e(v)})].filter(Boolean);return()=>P.forEach(v=>v())}const N={[c.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=A(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=A(t,o,Object.assign({capture:r},a))}},[c.directiveHooks.unmounted](t){t.__onClickOutside_stop()}},R=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:i="keydown",passive:l=!1}=o,u=R(e);return w(a,i,p=>{u(p)&&r(p)},l)}var T=Object.defineProperty,J=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,G=(t,e,r)=>e in t?T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Re=(t,e)=>{for(var r in e||(e={}))Te.call(e,r)&&G(t,r,e[r]);if(J)for(var r of J(e))Ne.call(e,r)&&G(t,r,e[r]);return t};const He={[c.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:!0;if(typeof e.value=="function")M(a,e.value,{target:t});else{const[i,l]=e.value;M(a,i,Re({target:t},l))}}},ze=500;function k(t,e,r){var o,a;const i=n.computed(()=>m(t));let l;function u(){l&&(clearTimeout(l),l=void 0)}function d(_){var P,U,v,g;((P=r==null?void 0:r.modifiers)==null?void 0:P.self)&&_.target!==i.value||(u(),((U=r==null?void 0:r.modifiers)==null?void 0:U.prevent)&&_.preventDefault(),((v=r==null?void 0:r.modifiers)==null?void 0:v.stop)&&_.stopPropagation(),l=setTimeout(()=>e(_),(g=r==null?void 0:r.delay)!=null?g:ze))}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(i,"pointerdown",d,p),w(i,"pointerup",u,p),w(i,"pointerleave",u,p)}const Ve=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return k(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),q={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?k(t,e.value,{modifiers:e.modifiers}):k(t,...e.value)}},ke=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:f.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Be=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(f.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),We=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(f.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),B=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},W="__vueuse_ssr_handlers__";B[W]=B[W]||{};const Fe=B[W];function Q(t,e){return Fe[t]||e}function Ke(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"||Array.isArray(t)?"object":Number.isNaN(t)?"any":"number"}var Je=Object.defineProperty,X=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,Y=(t,e,r)=>e in t?Je(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Z=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&Y(t,r,e[r]);if(X)for(var r of X(e))qe.call(e,r)&&Y(t,r,e[r]);return t};const Qe={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()}};function Xe(t,e,r,o={}){var a;const{flush:i="pre",deep:l=!0,listenToStorageChanges:u=!0,writeDefaults:d=!0,mergeDefaults:p=!1,shallow:_,window:P=h,eventFilter:U,onError:v=O=>{console.error(O)}}=o,g=(_?n.shallowRef:n.ref)(e);if(!r)try{r=Q("getDefaultStorage",()=>{var O;return(O=h)==null?void 0:O.localStorage})()}catch(O){v(O)}if(!r)return g;const y=c.resolveUnref(e),S=Ke(y),C=(a=o.serializer)!=null?a:Qe[S],{pause:L,resume:b}=c.pausableWatch(g,()=>$(g.value),{flush:i,deep:l,eventFilter:U});return P&&u&&w(P,"storage",j),j(),g;function $(O){try{O==null?r.removeItem(t):r.setItem(t,C.write(O))}catch(I){v(I)}}function E(O){L();try{const I=O?O.newValue:r.getItem(t);if(I==null)return d&&y!==null&&r.setItem(t,C.write(y)),y;if(!O&&p){const V=C.read(I);return c.isFunction(p)?p(V,y):S==="object"&&!Array.isArray(V)?Z(Z({},y),V):V}else return typeof I!="string"?I:C.read(I)}catch(I){v(I)}finally{b()}}function j(O){if(!(O&&O.storageArea!==r)){if(O&&O.key===null){g.value=y;return}O&&O.key!==t||(g.value=E(O))}}}function F(t,e=!1){const r=n.ref(),o=()=>r.value=Boolean(t());return o(),c.tryOnMounted(o,e),r}function Ye(t,e={}){const{window:r=h}=e,o=F(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const i=n.ref(!1),l=()=>{!a||("removeEventListener"in a?a.removeEventListener("change",u):a.removeListener(u))},u=()=>{!o.value||(l(),a=r.matchMedia(c.resolveRef(t).value),i.value=a.matches,"addEventListener"in a?a.addEventListener("change",u):a.addListener(u))};return n.watchEffect(u),c.tryOnScopeDispose(()=>l()),i}function Ze(t){return Ye("(prefers-color-scheme: dark)",t)}var xe=Object.defineProperty,x=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tt=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))et.call(e,r)&&D(t,r,e[r]);return t};function rt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=h,storage:i,storageKey:l="vueuse-color-scheme",listenToStorageChanges:u=!0,storageRef:d,emitAuto:p}=t,_=tt({auto:"",light:"light",dark:"dark"},t.modes||{}),P=Ze({window:a}),U=n.computed(()=>P.value?"dark":"light"),v=d||(l==null?n.ref(o):Xe(l,o,i,{window:a,listenToStorageChanges:u})),g=n.computed({get(){return v.value==="auto"&&!p?U.value:v.value},set(L){v.value=L}}),y=Q("updateHTMLAttrs",(L,b,$)=>{const E=a==null?void 0:a.document.querySelector(L);if(!!E)if(b==="class"){const j=$.split(/\s/g);Object.values(_).flatMap(O=>(O||"").split(/\s/g)).filter(Boolean).forEach(O=>{j.includes(O)?E.classList.add(O):E.classList.remove(O)})}else E.setAttribute(b,$)});function S(L){var b;const $=L==="auto"?U.value:L;y(e,r,(b=_[$])!=null?b:$)}function C(L){t.onChanged?t.onChanged(L,S):S(L)}return n.watch(g,C,{flush:"post",immediate:!0}),p&&n.watch(U,()=>C(g.value),{flush:"post"}),c.tryOnMounted(()=>C(g.value)),g}const nt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=rt(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),ot=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=f.useDark(t),o=n.reactive({isDark:r,toggleDark:c.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),at=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(f.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),st=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(f.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),lt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:f.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),it=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(f.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),ct=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:f.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var ut=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,ee=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,te=(t,e,r)=>e in t?ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_t=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&te(t,r,e[r]);if(ee)for(var r of ee(e))vt.call(e,r)&&te(t,r,e[r]);return t},gt=(t,e)=>ft(t,dt(e));const Ot=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 l;return(l=t.handle)!=null?l:r.value}),a=t.storageKey?f.useStorage(t.storageKey,c.resolveUnref(t.initialValue)||{x:0,y:0},f.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},i=n.reactive(f.useDraggable(r,gt(_t({},t),{handle:o,initialValue:a})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${i.style}`},e.default(i))}}}),mt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function Pt(t){const e=n.ref(!1);return w(t,"mouseenter",()=>e.value=!0),w(t,"mouseleave",()=>e.value=!1),e}const yt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=Pt(t);n.watch(r,o=>e.value(o))}}},ht=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.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 re=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,Ut=(t,e)=>{var r={};for(var o in t)wt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&re)for(var o of re(t))e.indexOf(o)<0&&bt.call(t,o)&&(r[o]=t[o]);return r};function St(t,e,r={}){const o=r,{window:a=h}=o,i=Ut(o,["window"]);let l;const u=F(()=>a&&"ResizeObserver"in a),d=()=>{l&&(l.disconnect(),l=void 0)},p=n.watch(()=>m(t),P=>{d(),u.value&&a&&P&&(l=new ResizeObserver(e),l.observe(P,i))},{immediate:!0,flush:"post"}),_=()=>{d(),p()};return c.tryOnScopeDispose(_),{isSupported:u,stop:_}}function $t(t,e={width:0,height:0},r={}){const{box:o="content-box"}=r,a=n.ref(e.width),i=n.ref(e.height);return St(t,([l])=>{const u=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;u?(a.value=u.reduce((d,{inlineSize:p})=>d+p,0),i.value=u.reduce((d,{blockSize:p})=>d+p,0)):(a.value=l.contentRect.width,i.value=l.contentRect.height)},r),n.watch(()=>m(t),l=>{a.value=l?e.width:0,i.value=l?e.height:0}),{width:a,height:i}}const Ct={[c.directiveHooks.mounted](t,e){var r;const o=typeof e.value=="function"?e.value:(r=e.value)==null?void 0:r[0],a=typeof e.value=="function"?[]:e.value.slice(1),{width:i,height:l}=$t(t,...a);n.watch([i,l],([u,d])=>o({width:u,height:d}))}},Et=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:f.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function ne(t,{window:e=h,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const i=e.document,l=m(t);if(!l)o.value=!1;else{const u=l.getBoundingClientRect();o.value=u.top<=(e.innerHeight||i.documentElement.clientHeight)&&u.left<=(e.innerWidth||i.documentElement.clientWidth)&&u.bottom>=0&&u.right>=0}};return n.watch(()=>m(t),()=>a(),{immediate:!0,flush:"post"}),e&&w(r||e,"scroll",a,{capture:!1,passive:!0}),o}const jt={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=ne(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=ne(t,o);n.watch(a,i=>r(i),{immediate:!0})}}},Lt=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(f.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),It=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),At=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(f.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Mt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(f.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function Tt(t,e,r){const{immediate:o=!0,delay:a=0,onError:i=c.noop,resetOnExecute:l=!0,shallow:u=!0,throwError:d}=r??{},p=u?n.shallowRef(e):n.ref(e),_=n.ref(!1),P=n.ref(!1),U=n.ref(void 0);async function v(g=0,...y){l&&(p.value=e),U.value=void 0,_.value=!1,P.value=!0,g>0&&await c.promiseTimeout(g);const S=typeof t=="function"?t(...y):t;try{const C=await S;p.value=C,_.value=!0}catch(C){if(U.value=C,i(C),d)throw U}finally{P.value=!1}return p.value}return o&&v(a),{state:p,isReady:_,isLoading:P,error:U,execute:v}}var Nt=Object.defineProperty,oe=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?Nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zt=(t,e)=>{for(var r in e||(e={}))Rt.call(e,r)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Ht.call(e,r)&&ae(t,r,e[r]);return t};async function Vt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:i,sizes:l}=t;o.src=a,i&&(o.srcset=i),l&&(o.sizes=l),o.onload=()=>e(o),o.onerror=r})}const kt=(t,e={})=>{const r=Tt(()=>Vt(c.resolveUnref(t)),void 0,zt({resetOnExecute:!0},e));return n.watch(()=>c.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},Bt=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)}}),se=1;function K(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=c.noop,onScroll:i=c.noop,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:d="auto"}=e,p=n.ref(0),_=n.ref(0),P=n.computed({get(){return p.value},set(b){v(b,void 0)}}),U=n.computed({get(){return _.value},set(b){v(void 0,b)}});function v(b,$){var E,j,O;const I=c.resolveUnref(t);!I||(O=I instanceof Document?document.body:I)==null||O.scrollTo({top:(E=c.resolveUnref($))!=null?E:U.value,left:(j=c.resolveUnref(b))!=null?j:P.value,behavior:c.resolveUnref(d)})}const g=n.ref(!1),y=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),S=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),C=c.useDebounceFn(b=>{g.value=!1,S.left=!1,S.right=!1,S.top=!1,S.bottom=!1,a(b)},r+o),L=b=>{const $=b.target===document?b.target.documentElement:b.target,E=$.scrollLeft;S.left=E<p.value,S.right=E>_.value,y.left=E<=0+(l.left||0),y.right=E+$.clientWidth>=$.scrollWidth-(l.right||0)-se,p.value=E;let j=$.scrollTop;b.target===document&&!j&&(j=document.body.scrollTop),S.top=j<_.value,S.bottom=j>_.value,y.top=j<=0+(l.top||0),y.bottom=j+$.clientHeight>=$.scrollHeight-(l.bottom||0)-se,_.value=j,g.value=!0,C(b),i(b)};return w(t,"scroll",r?c.useThrottleFn(L,r):L,u),{x:P,y:U,isScrolling:g,arrivedState:y,directions:S}}var Wt=Object.defineProperty,Ft=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,ie=(t,e,r)=>e in t?Wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ce=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&ie(t,r,e[r]);if(le)for(var r of le(e))Gt.call(e,r)&&ie(t,r,e[r]);return t},qt=(t,e)=>Ft(t,Kt(e));function ue(t,e,r={}){var o,a;const i=(o=r.direction)!=null?o:"bottom",l=n.reactive(K(t,qt(ce({},r),{offset:ce({[i]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>l.arrivedState[i],async u=>{var d,p;if(u){const _=c.resolveUnref(t),P={height:(d=_==null?void 0:_.scrollHeight)!=null?d:0,width:(p=_==null?void 0:_.scrollWidth)!=null?p:0};await e(l),r.preserveScrollPosition&&_&&n.nextTick(()=>{_.scrollTo({top:_.scrollHeight-P.height,left:_.scrollWidth-P.width})})}})}const Qt={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?ue(t,e.value):ue(t,...e.value)}};function fe(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:l=h}=r,u=F(()=>l&&"IntersectionObserver"in l);let d=c.noop;const p=u.value?n.watch(()=>({el:m(t),root:m(o)}),({el:P,root:U})=>{if(d(),!P)return;const v=new IntersectionObserver(e,{root:U,rootMargin:a,threshold:i});v.observe(P),d=()=>{v.disconnect(),d=c.noop}},{immediate:!0,flush:"post"}):c.noop,_=()=>{d(),p()};return c.tryOnScopeDispose(_),{isSupported:u,stop:_}}const Xt={[c.directiveHooks.mounted](t,e){typeof e.value=="function"?fe(t,e.value):fe(t,...e.value)}},Yt=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(f.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Zt=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var xt=Object.defineProperty,Dt=Object.defineProperties,er=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable,pe=(t,e,r)=>e in t?xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nr=(t,e)=>{for(var r in e||(e={}))tr.call(e,r)&&pe(t,r,e[r]);if(de)for(var r of de(e))rr.call(e,r)&&pe(t,r,e[r]);return t},or=(t,e)=>Dt(t,er(e));const ar=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useMousePressed(or(nr({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),sr=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(f.useNetwork());return()=>{if(e.default)return e.default(r)}}});var lr=Object.defineProperty,ir=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))ur.call(e,r)&&_e(t,r,e[r]);if(ve)for(var r of ve(e))fr.call(e,r)&&_e(t,r,e[r]);return t},pr=(t,e)=>ir(t,cr(e));const vr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(f.useNow(pr(dr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),_r=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=n.toRef(t,"object"),o=f.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var gr=Object.defineProperty,Or=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?gr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,hr=(t,e)=>{for(var r in e||(e={}))Pr.call(e,r)&&Oe(t,r,e[r]);if(ge)for(var r of ge(e))yr.call(e,r)&&Oe(t,r,e[r]);return t},wr=(t,e)=>Or(t,mr(e));const br=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(f.useOffsetPagination(wr(hr({},t),{onPageChange(...a){var i;(i=t.onPageChange)==null||i.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var i;(i=t.onPageSizeChange)==null||i.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var i;(i=t.onPageCountChange)==null||i.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Ur=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:f.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Sr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:f.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var $r=Object.defineProperty,Cr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,Pe=(t,e,r)=>e in t?$r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ir=(t,e)=>{for(var r in e||(e={}))jr.call(e,r)&&Pe(t,r,e[r]);if(me)for(var r of me(e))Lr.call(e,r)&&Pe(t,r,e[r]);return t},Ar=(t,e)=>Cr(t,Er(e));const Mr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(f.usePointer(Ar(Ir({},t),{target:t.target==="self"?r:h})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Tr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:f.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:f.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Rr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:f.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Hr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:f.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),zr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:f.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function H(t,e,{window:r=h,initialValue:o=""}={}){const a=n.ref(o),i=n.computed(()=>{var l;return m(e)||((l=r==null?void 0:r.document)==null?void 0:l.documentElement)});return n.watch([i,()=>c.resolveUnref(t)],([l,u])=>{var d;if(l&&r){const p=(d=r.getComputedStyle(l).getPropertyValue(u))==null?void 0:d.trim();a.value=p||o}},{immediate:!0}),n.watch(a,l=>{var u;((u=i.value)==null?void 0:u.style)&&i.value.style.setProperty(c.resolveUnref(t),l)}),a}const ye="--vueuse-safe-area-top",he="--vueuse-safe-area-right",we="--vueuse-safe-area-bottom",be="--vueuse-safe-area-left";function Vr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(c.isClient){const i=H(ye),l=H(he),u=H(we),d=H(be);i.value="env(safe-area-inset-top, 0px)",l.value="env(safe-area-inset-right, 0px)",u.value="env(safe-area-inset-bottom, 0px)",d.value="env(safe-area-inset-left, 0px)",a(),w("resize",c.useDebounceFn(a))}function a(){t.value=z(ye),e.value=z(he),r.value=z(we),o.value=z(be)}return{top:t,right:e,bottom:r,left:o,update:a}}function z(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const kr=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:i}=Vr();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?o.value:"",paddingBottom:t.bottom?a.value:"",paddingLeft:t.left?i.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Br=Object.defineProperty,Wr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Se=(t,e,r)=>e in t?Br(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gr=(t,e)=>{for(var r in e||(e={}))Kr.call(e,r)&&Se(t,r,e[r]);if(Ue)for(var r of Ue(e))Jr.call(e,r)&&Se(t,r,e[r]);return t},qr=(t,e)=>Wr(t,Fr(e));const Qr={[c.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=K(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=K(t,qr(Gr({},o),{onScroll(i){var l;(l=o.onScroll)==null||l.call(o,i),r(a)},onStop(i){var l;(l=o.onStop)==null||l.call(o,i),r(a)}}))}}};function Xr(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Yr(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(c.resolveRef(t),u=>{if(u){const d=u;a=d.style.overflow,r.value&&(d.style.overflow="hidden")}},{immediate:!0});const i=()=>{const u=c.resolveUnref(t);!u||r.value||(c.isIOS&&(o=w(u,"touchmove",Xr,{passive:!1})),u.style.overflow="hidden",r.value=!0)},l=()=>{const u=c.resolveUnref(t);!u||!r.value||(c.isIOS&&(o==null||o()),u.style.overflow=a,r.value=!1)};return c.tryOnScopeDispose(l),n.computed({get(){return r.value},set(u){u?i():l()}})}const Zr=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Yr(r,o.value);n.watch(e,i=>a.value=i)}})();var xr=Object.defineProperty,Dr=Object.defineProperties,en=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,Ce=(t,e,r)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nn=(t,e)=>{for(var r in e||(e={}))tn.call(e,r)&&Ce(t,r,e[r]);if($e)for(var r of $e(e))rn.call(e,r)&&Ce(t,r,e[r]);return t},on=(t,e)=>Dr(t,en(e));const an=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.reactive(f.useTimeAgo(()=>t.time,on(nn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var sn=Object.defineProperty,ln=Object.defineProperties,cn=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,un=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,je=(t,e,r)=>e in t?sn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dn=(t,e)=>{for(var r in e||(e={}))un.call(e,r)&&je(t,r,e[r]);if(Ee)for(var r of Ee(e))fn.call(e,r)&&je(t,r,e[r]);return t},pn=(t,e)=>ln(t,cn(e));const vn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(f.useTimestamp(pn(dn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var _n=Object.defineProperty,Le=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,On=Object.prototype.propertyIsEnumerable,Ie=(t,e,r)=>e in t?_n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ae=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Ie(t,r,e[r]);if(Le)for(var r of Le(e))On.call(e,r)&&Ie(t,r,e[r]);return t};const mn=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:i}=f.useVirtualList(r,t.options);return typeof a.style=="object"&&!Array.isArray(a.style)&&(a.style.height=t.height||"300px"),()=>n.h("div",Ae({},a),[n.h("div",Ae({},i.value),o.value.map(l=>n.h("div",{style:{overFlow:"hidden",height:l.height}},e.default?e.default(l):"Please set content!")))])}}),Pn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:f.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),yn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(f.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Me,s.OnLongPress=Ve,s.UseActiveElement=ke,s.UseBattery=Be,s.UseBrowserLocation=We,s.UseColorMode=nt,s.UseDark=ot,s.UseDeviceMotion=at,s.UseDeviceOrientation=st,s.UseDevicePixelRatio=lt,s.UseDevicesList=it,s.UseDocumentVisibility=ct,s.UseDraggable=Ot,s.UseElementBounding=mt,s.UseElementSize=ht,s.UseElementVisibility=Et,s.UseEyeDropper=Lt,s.UseFullscreen=It,s.UseGeolocation=At,s.UseIdle=Mt,s.UseImage=Bt,s.UseMouse=Yt,s.UseMouseInElement=Zt,s.UseMousePressed=ar,s.UseNetwork=sr,s.UseNow=vr,s.UseObjectUrl=_r,s.UseOffsetPagination=br,s.UseOnline=Ur,s.UsePageLeave=Sr,s.UsePointer=Mr,s.UsePreferredColorScheme=Tr,s.UsePreferredContrast=Nr,s.UsePreferredDark=Rr,s.UsePreferredLanguages=Hr,s.UsePreferredReducedMotion=zr,s.UseScreenSafeArea=kr,s.UseTimeAgo=an,s.UseTimestamp=vn,s.UseVirtualList=mn,s.UseWindowFocus=Pn,s.UseWindowSize=yn,s.VOnClickOutside=N,s.VOnLongPress=q,s.vElementHover=yt,s.vElementSize=Ct,s.vElementVisibility=jt,s.vInfiniteScroll=Qt,s.vIntersectionObserver=Xt,s.vOnClickOutside=N,s.vOnKeyStroke=He,s.vOnLongPress=q,s.vScroll=Qr,s.vScrollLock=Zr})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
|
|
1
|
+
var VueDemi=function(s,n,f){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 y=function(w,b){var A,N={},R={config:n.config,use:n.use.bind(n),mixin:n.mixin.bind(n),component:n.component.bind(n),provide:function(M,T){return N[M]=T,this},directive:function(M,T){return T?(n.directive(M,T),R):n.directive(M)},mount:function(M,T){return A||(A=new n(Object.assign({propsData:b},w,{provide:Object.assign(N,w.provide)})),A.$mount(M,T),A)},unmount:function(){A&&(A.$destroy(),A=void 0)}};return R};var Me=y;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=y}else if(n.version.slice(0,2)==="2.")if(f){for(var u in f)s[u]=f[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(y,w,b){return Array.isArray(y)?(y.length=Math.max(y.length,w),y.splice(w,1,b),b):(y[w]=b,b)},s.del=function(y,w){if(Array.isArray(y)){y.splice(w,1);return}delete y[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,f,u){"use strict";const Me=n.defineComponent({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return f.onClickOutside(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function y(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 i=[],l=()=>{i.forEach(d=>d()),i.length=0},c=(d,O,P)=>(d.addEventListener(O,P,a),()=>d.removeEventListener(O,P,a)),v=n.watch(()=>y(e),d=>{l(),!!d&&i.push(...r.flatMap(O=>o.map(P=>c(d,O,P))))},{immediate:!0,flush:"post"}),p=()=>{v(),l()};return u.tryOnScopeDispose(p),p}function A(t,e,r={}){const{window:o=w,ignore:a,capture:i=!0,detectIframe:l=!1}=r;if(!o)return;let c=!0,v;const p=_=>{o.clearTimeout(v);const g=y(t);if(!(!g||g===_.target||_.composedPath().includes(g))){if(!c){c=!0;return}e(_)}},d=_=>a&&a.some(g=>{const h=y(g);return h&&(_.target===h||_.composedPath().includes(h))}),O=[b(o,"click",p,{passive:!0,capture:i}),b(o,"pointerdown",_=>{const g=y(t);g&&(c=!_.composedPath().includes(g)&&!d(_))},{passive:!0}),b(o,"pointerup",_=>{if(_.button===0){const g=_.composedPath();_.composedPath=()=>g,v=o.setTimeout(()=>p(_),50)}},{passive:!0}),l&&b(o,"blur",_=>{var g;const h=y(t);((g=o.document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(h==null?void 0:h.contains(o.document.activeElement))&&e(_)})].filter(Boolean);return()=>O.forEach(_=>_())}const N={[u.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=A(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=A(t,o,Object.assign({capture:r},a))}},[u.directiveHooks.unmounted](t){t.__onClickOutside_stop()}},R=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=w,eventName:i="keydown",passive:l=!1}=o,c=R(e);return b(a,i,p=>{c(p)&&r(p)},l)}var T=Object.defineProperty,J=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,G=(t,e,r)=>e in t?T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Re=(t,e)=>{for(var r in e||(e={}))Te.call(e,r)&&G(t,r,e[r]);if(J)for(var r of J(e))Ne.call(e,r)&&G(t,r,e[r]);return t};const He={[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[i,l]=e.value;M(a,i,Re({target:t},l))}}},ze=500;function k(t,e,r){var o,a;const i=n.computed(()=>y(t));let l;function c(){l&&(clearTimeout(l),l=void 0)}function v(d){var O,P,_,g;((O=r==null?void 0:r.modifiers)==null?void 0:O.self)&&d.target!==i.value||(c(),((P=r==null?void 0:r.modifiers)==null?void 0:P.prevent)&&d.preventDefault(),((_=r==null?void 0:r.modifiers)==null?void 0:_.stop)&&d.stopPropagation(),l=setTimeout(()=>e(d),(g=r==null?void 0:r.delay)!=null?g:ze))}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};b(i,"pointerdown",v,p),b(i,"pointerup",c,p),b(i,"pointerleave",c,p)}const Ve=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return k(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),q={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?k(t,e.value,{modifiers:e.modifiers}):k(t,...e.value)}},ke=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:f.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),Be=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(f.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),We=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(f.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),B=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},W="__vueuse_ssr_handlers__";B[W]=B[W]||{};const Fe=B[W];function Q(t,e){return Fe[t]||e}function Ke(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 Je=Object.defineProperty,X=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,Y=(t,e,r)=>e in t?Je(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Z=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&Y(t,r,e[r]);if(X)for(var r of X(e))qe.call(e,r)&&Y(t,r,e[r]);return t};const Qe={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()}};function Xe(t,e,r,o={}){var a;const{flush:i="pre",deep:l=!0,listenToStorageChanges:c=!0,writeDefaults:v=!0,mergeDefaults:p=!1,shallow:d,window:O=w,eventFilter:P,onError:_=m=>{console.error(m)}}=o,g=(d?n.shallowRef:n.ref)(e);if(!r)try{r=Q("getDefaultStorage",()=>{var m;return(m=w)==null?void 0:m.localStorage})()}catch(m){_(m)}if(!r)return g;const h=u.resolveUnref(e),S=Ke(h),C=(a=o.serializer)!=null?a:Qe[S],{pause:I,resume:U}=u.pausableWatch(g,()=>$(g.value),{flush:i,deep:l,eventFilter:P});return O&&c&&b(O,"storage",j),j(),g;function $(m){try{m==null?r.removeItem(t):r.setItem(t,C.write(m))}catch(L){_(L)}}function E(m){I();try{const L=m?m.newValue:r.getItem(t);if(L==null)return v&&h!==null&&r.setItem(t,C.write(h)),h;if(!m&&p){const V=C.read(L);return u.isFunction(p)?p(V,h):S==="object"&&!Array.isArray(V)?Z(Z({},h),V):V}else return typeof L!="string"?L:C.read(L)}catch(L){_(L)}finally{U()}}function j(m){if(!(m&&m.storageArea!==r)){if(m&&m.key===null){g.value=h;return}m&&m.key!==t||(g.value=E(m))}}}function F(t,e=!1){const r=n.ref(),o=()=>r.value=Boolean(t());return o(),u.tryOnMounted(o,e),r}function Ye(t,e={}){const{window:r=w}=e,o=F(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const i=n.ref(!1),l=()=>{!a||("removeEventListener"in a?a.removeEventListener("change",c):a.removeListener(c))},c=()=>{!o.value||(l(),a=r.matchMedia(u.resolveRef(t).value),i.value=a.matches,"addEventListener"in a?a.addEventListener("change",c):a.addListener(c))};return n.watchEffect(c),u.tryOnScopeDispose(()=>l()),i}function Ze(t){return Ye("(prefers-color-scheme: dark)",t)}var xe=Object.defineProperty,x=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,D=(t,e,r)=>e in t?xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tt=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&D(t,r,e[r]);if(x)for(var r of x(e))et.call(e,r)&&D(t,r,e[r]);return t};function rt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=w,storage:i,storageKey:l="vueuse-color-scheme",listenToStorageChanges:c=!0,storageRef:v,emitAuto:p}=t,d=tt({auto:"",light:"light",dark:"dark"},t.modes||{}),O=Ze({window:a}),P=n.computed(()=>O.value?"dark":"light"),_=v||(l==null?n.ref(o):Xe(l,o,i,{window:a,listenToStorageChanges:c})),g=n.computed({get(){return _.value==="auto"&&!p?P.value:_.value},set(I){_.value=I}}),h=Q("updateHTMLAttrs",(I,U,$)=>{const E=a==null?void 0:a.document.querySelector(I);if(!!E)if(U==="class"){const j=$.split(/\s/g);Object.values(d).flatMap(m=>(m||"").split(/\s/g)).filter(Boolean).forEach(m=>{j.includes(m)?E.classList.add(m):E.classList.remove(m)})}else E.setAttribute(U,$)});function S(I){var U;const $=I==="auto"?P.value:I;h(e,r,(U=d[$])!=null?U:$)}function C(I){t.onChanged?t.onChanged(I,S):S(I)}return n.watch(g,C,{flush:"post",immediate:!0}),p&&n.watch(P,()=>C(g.value),{flush:"post"}),u.tryOnMounted(()=>C(g.value)),g}const nt=n.defineComponent({name:"UseColorMode",props:["selector","attribute","modes","onChanged","storageKey","storage","emitAuto"],setup(t,{slots:e}){const r=rt(t),o=n.reactive({mode:r});return()=>{if(e.default)return e.default(o)}}}),ot=n.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(t,{slots:e}){const r=f.useDark(t),o=n.reactive({isDark:r,toggleDark:u.useToggle(r)});return()=>{if(e.default)return e.default(o)}}}),at=n.defineComponent({name:"UseDeviceMotion",setup(t,{slots:e}){const r=n.reactive(f.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),st=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(f.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),lt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:f.useDevicePixelRatio()});return()=>{if(e.default)return e.default(r)}}}),it=n.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions","constraints"],setup(t,{slots:e}){const r=n.reactive(f.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),ct=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:f.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var ut=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,ee=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,te=(t,e,r)=>e in t?ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_t=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&te(t,r,e[r]);if(ee)for(var r of ee(e))vt.call(e,r)&&te(t,r,e[r]);return t},gt=(t,e)=>ft(t,dt(e));const Ot=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 l;return(l=t.handle)!=null?l:r.value}),a=t.storageKey?f.useStorage(t.storageKey,u.resolveUnref(t.initialValue)||{x:0,y:0},f.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},i=n.reactive(f.useDraggable(r,gt(_t({},t),{handle:o,initialValue:a})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r,style:`touch-action:none;${i.style}`},e.default(i))}}}),mt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function yt(t){const e=n.ref(!1);return b(t,"mouseenter",()=>e.value=!0),b(t,"mouseleave",()=>e.value=!1),e}const Pt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=yt(t);n.watch(r,o=>e.value(o))}}},ht=n.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.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 re=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,Ut=(t,e)=>{var r={};for(var o in t)wt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&re)for(var o of re(t))e.indexOf(o)<0&&bt.call(t,o)&&(r[o]=t[o]);return r};function St(t,e,r={}){const o=r,{window:a=w}=o,i=Ut(o,["window"]);let l;const c=F(()=>a&&"ResizeObserver"in a),v=()=>{l&&(l.disconnect(),l=void 0)},p=n.watch(()=>y(t),O=>{v(),c.value&&a&&O&&(l=new ResizeObserver(e),l.observe(O,i))},{immediate:!0,flush:"post"}),d=()=>{v(),p()};return u.tryOnScopeDispose(d),{isSupported:c,stop:d}}function $t(t,e={width:0,height:0},r={}){const{box:o="content-box"}=r,a=n.ref(e.width),i=n.ref(e.height);return St(t,([l])=>{const c=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;c?(a.value=c.reduce((v,{inlineSize:p})=>v+p,0),i.value=c.reduce((v,{blockSize:p})=>v+p,0)):(a.value=l.contentRect.width,i.value=l.contentRect.height)},r),n.watch(()=>y(t),l=>{a.value=l?e.width:0,i.value=l?e.height:0}),{width:a,height:i}}const Ct={[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:i,height:l}=$t(t,...a);n.watch([i,l],([c,v])=>o({width:c,height:v}))}},Et=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:f.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function ne(t,{window:e=w,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const i=e.document,l=y(t);if(!l)o.value=!1;else{const c=l.getBoundingClientRect();o.value=c.top<=(e.innerHeight||i.documentElement.clientHeight)&&c.left<=(e.innerWidth||i.documentElement.clientWidth)&&c.bottom>=0&&c.right>=0}};return n.watch(()=>y(t),()=>a(),{immediate:!0,flush:"post"}),e&&b(r||e,"scroll",a,{capture:!1,passive:!0}),o}const jt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=ne(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=ne(t,o);n.watch(a,i=>r(i),{immediate:!0})}}},It=n.defineComponent({name:"UseEyeDropper",props:{sRGBHex:String},setup(t,{slots:e}){const r=n.reactive(f.useEyeDropper());return()=>{if(e.default)return e.default(r)}}}),Lt=n.defineComponent({name:"UseFullscreen",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),At=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(f.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Mt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(f.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function Tt(t,e,r){const{immediate:o=!0,delay:a=0,onError:i=u.noop,resetOnExecute:l=!0,shallow:c=!0,throwError:v}=r??{},p=c?n.shallowRef(e):n.ref(e),d=n.ref(!1),O=n.ref(!1),P=n.ref(void 0);async function _(g=0,...h){l&&(p.value=e),P.value=void 0,d.value=!1,O.value=!0,g>0&&await u.promiseTimeout(g);const S=typeof t=="function"?t(...h):t;try{const C=await S;p.value=C,d.value=!0}catch(C){if(P.value=C,i(C),v)throw P}finally{O.value=!1}return p.value}return o&&_(a),{state:p,isReady:d,isLoading:O,error:P,execute:_}}var Nt=Object.defineProperty,oe=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,ae=(t,e,r)=>e in t?Nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zt=(t,e)=>{for(var r in e||(e={}))Rt.call(e,r)&&ae(t,r,e[r]);if(oe)for(var r of oe(e))Ht.call(e,r)&&ae(t,r,e[r]);return t};async function Vt(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:i,sizes:l}=t;o.src=a,i&&(o.srcset=i),l&&(o.sizes=l),o.onload=()=>e(o),o.onerror=r})}const kt=(t,e={})=>{const r=Tt(()=>Vt(u.resolveUnref(t)),void 0,zt({resetOnExecute:!0},e));return n.watch(()=>u.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},Bt=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)}}),se=1;function K(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=u.noop,onScroll:i=u.noop,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0},behavior:v="auto"}=e,p=n.ref(0),d=n.ref(0),O=n.computed({get(){return p.value},set(U){_(U,void 0)}}),P=n.computed({get(){return d.value},set(U){_(void 0,U)}});function _(U,$){var E,j,m;const L=u.resolveUnref(t);!L||(m=L instanceof Document?document.body:L)==null||m.scrollTo({top:(E=u.resolveUnref($))!=null?E:P.value,left:(j=u.resolveUnref(U))!=null?j:O.value,behavior:u.resolveUnref(v)})}const g=n.ref(!1),h=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),S=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),C=u.useDebounceFn(U=>{g.value=!1,S.left=!1,S.right=!1,S.top=!1,S.bottom=!1,a(U)},r+o),I=U=>{const $=U.target===document?U.target.documentElement:U.target,E=$.scrollLeft;S.left=E<p.value,S.right=E>d.value,h.left=E<=0+(l.left||0),h.right=E+$.clientWidth>=$.scrollWidth-(l.right||0)-se,p.value=E;let j=$.scrollTop;U.target===document&&!j&&(j=document.body.scrollTop),S.top=j<d.value,S.bottom=j>d.value,h.top=j<=0+(l.top||0),h.bottom=j+$.clientHeight>=$.scrollHeight-(l.bottom||0)-se,d.value=j,g.value=!0,C(U),i(U)};return b(t,"scroll",r?u.useThrottleFn(I,r,!0,!1):I,c),{x:O,y:P,isScrolling:g,arrivedState:h,directions:S}}var Wt=Object.defineProperty,Ft=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,ie=(t,e,r)=>e in t?Wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ce=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&ie(t,r,e[r]);if(le)for(var r of le(e))Gt.call(e,r)&&ie(t,r,e[r]);return t},qt=(t,e)=>Ft(t,Kt(e));function ue(t,e,r={}){var o,a;const i=(o=r.direction)!=null?o:"bottom",l=n.reactive(K(t,qt(ce({},r),{offset:ce({[i]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>l.arrivedState[i],async c=>{var v,p;if(c){const d=u.resolveUnref(t),O={height:(v=d==null?void 0:d.scrollHeight)!=null?v:0,width:(p=d==null?void 0:d.scrollWidth)!=null?p:0};await e(l),r.preserveScrollPosition&&d&&n.nextTick(()=>{d.scrollTo({top:d.scrollHeight-O.height,left:d.scrollWidth-O.width})})}})}const Qt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ue(t,e.value):ue(t,...e.value)}};function fe(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:l=w}=r,c=F(()=>l&&"IntersectionObserver"in l);let v=u.noop;const p=c.value?n.watch(()=>({el:y(t),root:y(o)}),({el:O,root:P})=>{if(v(),!O)return;const _=new IntersectionObserver(e,{root:P,rootMargin:a,threshold:i});_.observe(O),v=()=>{_.disconnect(),v=u.noop}},{immediate:!0,flush:"post"}):u.noop,d=()=>{v(),p()};return u.tryOnScopeDispose(d),{isSupported:c,stop:d}}const Xt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?fe(t,e.value):fe(t,...e.value)}},Yt=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(f.useMouse(t));return()=>{if(e.default)return e.default(r)}}}),Zt=n.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useMouseInElement(r,t));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});var xt=Object.defineProperty,Dt=Object.defineProperties,er=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable,pe=(t,e,r)=>e in t?xt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nr=(t,e)=>{for(var r in e||(e={}))tr.call(e,r)&&pe(t,r,e[r]);if(de)for(var r of de(e))rr.call(e,r)&&pe(t,r,e[r]);return t},or=(t,e)=>Dt(t,er(e));const ar=n.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(f.useMousePressed(or(nr({},t),{target:r})));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),sr=n.defineComponent({name:"UseNetwork",setup(t,{slots:e}){const r=n.reactive(f.useNetwork());return()=>{if(e.default)return e.default(r)}}});var lr=Object.defineProperty,ir=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))ur.call(e,r)&&_e(t,r,e[r]);if(ve)for(var r of ve(e))fr.call(e,r)&&_e(t,r,e[r]);return t},pr=(t,e)=>ir(t,cr(e));const vr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(f.useNow(pr(dr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),_r=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=n.toRef(t,"object"),o=f.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var gr=Object.defineProperty,Or=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,yr=Object.prototype.hasOwnProperty,Pr=Object.prototype.propertyIsEnumerable,Oe=(t,e,r)=>e in t?gr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,hr=(t,e)=>{for(var r in e||(e={}))yr.call(e,r)&&Oe(t,r,e[r]);if(ge)for(var r of ge(e))Pr.call(e,r)&&Oe(t,r,e[r]);return t},wr=(t,e)=>Or(t,mr(e));const br=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(f.useOffsetPagination(wr(hr({},t),{onPageChange(...a){var i;(i=t.onPageChange)==null||i.call(t,...a),r("page-change",...a)},onPageSizeChange(...a){var i;(i=t.onPageSizeChange)==null||i.call(t,...a),r("page-size-change",...a)},onPageCountChange(...a){var i;(i=t.onPageCountChange)==null||i.call(t,...a),r("page-count-change",...a)}})));return()=>{if(e.default)return e.default(o)}}}),Ur=n.defineComponent({name:"UseOnline",setup(t,{slots:e}){const r=n.reactive({isOnline:f.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Sr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:f.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var $r=Object.defineProperty,Cr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable,ye=(t,e,r)=>e in t?$r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Lr=(t,e)=>{for(var r in e||(e={}))jr.call(e,r)&&ye(t,r,e[r]);if(me)for(var r of me(e))Ir.call(e,r)&&ye(t,r,e[r]);return t},Ar=(t,e)=>Cr(t,Er(e));const Mr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(f.usePointer(Ar(Lr({},t),{target:t.target==="self"?r:w})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Tr=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:f.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:f.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Rr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:f.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Hr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:f.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),zr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:f.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function H(t,e,{window:r=w,initialValue:o=""}={}){const a=n.ref(o),i=n.computed(()=>{var l;return y(e)||((l=r==null?void 0:r.document)==null?void 0:l.documentElement)});return n.watch([i,()=>u.resolveUnref(t)],([l,c])=>{var v;if(l&&r){const p=(v=r.getComputedStyle(l).getPropertyValue(c))==null?void 0:v.trim();a.value=p||o}},{immediate:!0}),n.watch(a,l=>{var c;((c=i.value)==null?void 0:c.style)&&i.value.style.setProperty(u.resolveUnref(t),l)}),a}const Pe="--vueuse-safe-area-top",he="--vueuse-safe-area-right",we="--vueuse-safe-area-bottom",be="--vueuse-safe-area-left";function Vr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const i=H(Pe),l=H(he),c=H(we),v=H(be);i.value="env(safe-area-inset-top, 0px)",l.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",v.value="env(safe-area-inset-left, 0px)",a(),b("resize",u.useDebounceFn(a))}function a(){t.value=z(Pe),e.value=z(he),r.value=z(we),o.value=z(be)}return{top:t,right:e,bottom:r,left:o,update:a}}function z(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const kr=n.defineComponent({name:"UseScreenSafeArea",props:{top:Boolean,right:Boolean,bottom:Boolean,left:Boolean},setup(t,{slots:e}){const{top:r,right:o,bottom:a,left:i}=Vr();return()=>{if(e.default)return n.h("div",{style:{paddingTop:t.top?r.value:"",paddingRight:t.right?o.value:"",paddingBottom:t.bottom?a.value:"",paddingLeft:t.left?i.value:"",boxSizing:"border-box",maxHeight:"100vh",maxWidth:"100vw",overflow:"auto"}},e.default())}}});var Br=Object.defineProperty,Wr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Se=(t,e,r)=>e in t?Br(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gr=(t,e)=>{for(var r in e||(e={}))Kr.call(e,r)&&Se(t,r,e[r]);if(Ue)for(var r of Ue(e))Jr.call(e,r)&&Se(t,r,e[r]);return t},qr=(t,e)=>Wr(t,Fr(e));const Qr={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=K(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=K(t,qr(Gr({},o),{onScroll(i){var l;(l=o.onScroll)==null||l.call(o,i),r(a)},onStop(i){var l;(l=o.onStop)==null||l.call(o,i),r(a)}}))}}};function Xr(t){const e=t||window.event;return e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Yr(t,e=!1){const r=n.ref(e);let o=null,a;n.watch(u.resolveRef(t),c=>{if(c){const v=c;a=v.style.overflow,r.value&&(v.style.overflow="hidden")}},{immediate:!0});const i=()=>{const c=u.resolveUnref(t);!c||r.value||(u.isIOS&&(o=b(c,"touchmove",Xr,{passive:!1})),c.style.overflow="hidden",r.value=!0)},l=()=>{const c=u.resolveUnref(t);!c||!r.value||(u.isIOS&&(o==null||o()),c.style.overflow=a,r.value=!1)};return u.tryOnScopeDispose(l),n.computed({get(){return r.value},set(c){c?i():l()}})}const Zr=(()=>{let t=!1;const e=n.ref(!1);return(r,o)=>{if(e.value=o.value,t)return;t=!0;const a=Yr(r,o.value);n.watch(e,i=>a.value=i)}})();var xr=Object.defineProperty,Dr=Object.defineProperties,en=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,Ce=(t,e,r)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,nn=(t,e)=>{for(var r in e||(e={}))tn.call(e,r)&&Ce(t,r,e[r]);if($e)for(var r of $e(e))rn.call(e,r)&&Ce(t,r,e[r]);return t},on=(t,e)=>Dr(t,en(e));const an=n.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(t,{slots:e}){const r=n.reactive(f.useTimeAgo(()=>t.time,on(nn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var sn=Object.defineProperty,ln=Object.defineProperties,cn=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,un=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,je=(t,e,r)=>e in t?sn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dn=(t,e)=>{for(var r in e||(e={}))un.call(e,r)&&je(t,r,e[r]);if(Ee)for(var r of Ee(e))fn.call(e,r)&&je(t,r,e[r]);return t},pn=(t,e)=>ln(t,cn(e));const vn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(f.useTimestamp(pn(dn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var _n=Object.defineProperty,Ie=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,On=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?_n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ae=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Le(t,r,e[r]);if(Ie)for(var r of Ie(e))On.call(e,r)&&Le(t,r,e[r]);return t};const mn=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:i}=f.useVirtualList(r,t.options);return typeof a.style=="object"&&!Array.isArray(a.style)&&(a.style.height=t.height||"300px"),()=>n.h("div",Ae({},a),[n.h("div",Ae({},i.value),o.value.map(l=>n.h("div",{style:{overFlow:"hidden",height:l.height}},e.default?e.default(l):"Please set content!")))])}}),yn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:f.useWindowFocus()});return()=>{if(e.default)return e.default(r)}}}),Pn=n.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(t,{slots:e}){const r=n.reactive(f.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});s.OnClickOutside=Me,s.OnLongPress=Ve,s.UseActiveElement=ke,s.UseBattery=Be,s.UseBrowserLocation=We,s.UseColorMode=nt,s.UseDark=ot,s.UseDeviceMotion=at,s.UseDeviceOrientation=st,s.UseDevicePixelRatio=lt,s.UseDevicesList=it,s.UseDocumentVisibility=ct,s.UseDraggable=Ot,s.UseElementBounding=mt,s.UseElementSize=ht,s.UseElementVisibility=Et,s.UseEyeDropper=It,s.UseFullscreen=Lt,s.UseGeolocation=At,s.UseIdle=Mt,s.UseImage=Bt,s.UseMouse=Yt,s.UseMouseInElement=Zt,s.UseMousePressed=ar,s.UseNetwork=sr,s.UseNow=vr,s.UseObjectUrl=_r,s.UseOffsetPagination=br,s.UseOnline=Ur,s.UsePageLeave=Sr,s.UsePointer=Mr,s.UsePreferredColorScheme=Tr,s.UsePreferredContrast=Nr,s.UsePreferredDark=Rr,s.UsePreferredLanguages=Hr,s.UsePreferredReducedMotion=zr,s.UseScreenSafeArea=kr,s.UseTimeAgo=an,s.UseTimestamp=vn,s.UseVirtualList=mn,s.UseWindowFocus=yn,s.UseWindowSize=Pn,s.VOnClickOutside=N,s.VOnLongPress=q,s.vElementHover=Pt,s.vElementSize=Ct,s.vElementVisibility=jt,s.vInfiniteScroll=Qt,s.vIntersectionObserver=Xt,s.vOnClickOutside=N,s.vOnKeyStroke=He,s.vOnLongPress=q,s.vScroll=Qr,s.vScrollLock=Zr})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
|
package/index.mjs
CHANGED
|
@@ -4,13 +4,13 @@ import { resolveUnref, isClient, isString, noop, tryOnScopeDispose, directiveHoo
|
|
|
4
4
|
|
|
5
5
|
const OnClickOutside = defineComponent({
|
|
6
6
|
name: "OnClickOutside",
|
|
7
|
-
props: ["as"],
|
|
7
|
+
props: ["as", "options"],
|
|
8
8
|
emits: ["trigger"],
|
|
9
9
|
setup(props, { slots, emit }) {
|
|
10
10
|
const target = ref();
|
|
11
11
|
onClickOutside$1(target, (e) => {
|
|
12
12
|
emit("trigger", e);
|
|
13
|
-
});
|
|
13
|
+
}, props.options);
|
|
14
14
|
return () => {
|
|
15
15
|
if (slots.default)
|
|
16
16
|
return h(props.as || "div", { ref: target }, slots.default());
|
|
@@ -28,27 +28,37 @@ const defaultWindow = isClient ? window : void 0;
|
|
|
28
28
|
|
|
29
29
|
function useEventListener(...args) {
|
|
30
30
|
let target;
|
|
31
|
-
let
|
|
32
|
-
let
|
|
31
|
+
let events;
|
|
32
|
+
let listeners;
|
|
33
33
|
let options;
|
|
34
|
-
if (isString(args[0])) {
|
|
35
|
-
[
|
|
34
|
+
if (isString(args[0]) || Array.isArray(args[0])) {
|
|
35
|
+
[events, listeners, options] = args;
|
|
36
36
|
target = defaultWindow;
|
|
37
37
|
} else {
|
|
38
|
-
[target,
|
|
38
|
+
[target, events, listeners, options] = args;
|
|
39
39
|
}
|
|
40
40
|
if (!target)
|
|
41
41
|
return noop;
|
|
42
|
-
|
|
42
|
+
if (!Array.isArray(events))
|
|
43
|
+
events = [events];
|
|
44
|
+
if (!Array.isArray(listeners))
|
|
45
|
+
listeners = [listeners];
|
|
46
|
+
const cleanups = [];
|
|
47
|
+
const cleanup = () => {
|
|
48
|
+
cleanups.forEach((fn) => fn());
|
|
49
|
+
cleanups.length = 0;
|
|
50
|
+
};
|
|
51
|
+
const register = (el, event, listener) => {
|
|
52
|
+
el.addEventListener(event, listener, options);
|
|
53
|
+
return () => el.removeEventListener(event, listener, options);
|
|
54
|
+
};
|
|
43
55
|
const stopWatch = watch(() => unrefElement(target), (el) => {
|
|
44
56
|
cleanup();
|
|
45
57
|
if (!el)
|
|
46
58
|
return;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
cleanup = noop;
|
|
51
|
-
};
|
|
59
|
+
cleanups.push(...events.flatMap((event) => {
|
|
60
|
+
return listeners.map((listener) => register(el, event, listener));
|
|
61
|
+
}));
|
|
52
62
|
}, { immediate: true, flush: "post" });
|
|
53
63
|
const stop = () => {
|
|
54
64
|
stopWatch();
|
|
@@ -62,13 +72,17 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
62
72
|
const { window = defaultWindow, ignore, capture = true, detectIframe = false } = options;
|
|
63
73
|
if (!window)
|
|
64
74
|
return;
|
|
65
|
-
|
|
75
|
+
let shouldListen = true;
|
|
66
76
|
let fallback;
|
|
67
77
|
const listener = (event) => {
|
|
68
78
|
window.clearTimeout(fallback);
|
|
69
79
|
const el = unrefElement(target);
|
|
70
|
-
if (!el || el === event.target || event.composedPath().includes(el)
|
|
80
|
+
if (!el || el === event.target || event.composedPath().includes(el))
|
|
81
|
+
return;
|
|
82
|
+
if (!shouldListen) {
|
|
83
|
+
shouldListen = true;
|
|
71
84
|
return;
|
|
85
|
+
}
|
|
72
86
|
handler(event);
|
|
73
87
|
};
|
|
74
88
|
const shouldIgnore = (event) => {
|
|
@@ -81,7 +95,8 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
81
95
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
82
96
|
useEventListener(window, "pointerdown", (e) => {
|
|
83
97
|
const el = unrefElement(target);
|
|
84
|
-
|
|
98
|
+
if (el)
|
|
99
|
+
shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
85
100
|
}, { passive: true }),
|
|
86
101
|
useEventListener(window, "pointerup", (e) => {
|
|
87
102
|
if (e.button === 0) {
|
|
@@ -93,7 +108,7 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
93
108
|
detectIframe && useEventListener(window, "blur", (event) => {
|
|
94
109
|
var _a;
|
|
95
110
|
const el = unrefElement(target);
|
|
96
|
-
if (((_a = document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(document.activeElement)))
|
|
111
|
+
if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement)))
|
|
97
112
|
handler(event);
|
|
98
113
|
})
|
|
99
114
|
].filter(Boolean);
|
|
@@ -288,7 +303,7 @@ function getSSRHandler(key, fallback) {
|
|
|
288
303
|
}
|
|
289
304
|
|
|
290
305
|
function guessSerializerType(rawInit) {
|
|
291
|
-
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" :
|
|
306
|
+
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
|
|
292
307
|
}
|
|
293
308
|
|
|
294
309
|
var __defProp$c = Object.defineProperty;
|
|
@@ -1104,7 +1119,7 @@ function useScroll(element, options = {}) {
|
|
|
1104
1119
|
onScrollEnd(e);
|
|
1105
1120
|
onScroll(e);
|
|
1106
1121
|
};
|
|
1107
|
-
useEventListener(element, "scroll", throttle ? useThrottleFn(onScrollHandler, throttle) : onScrollHandler, eventListenerOptions);
|
|
1122
|
+
useEventListener(element, "scroll", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
|
|
1108
1123
|
return {
|
|
1109
1124
|
x,
|
|
1110
1125
|
y,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vueuse/components",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.6.0",
|
|
4
4
|
"description": "Renderless components for VueUse",
|
|
5
5
|
"author": "Jacob Clevenger<https://github.com/wheatjs>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"jsdelivr": "./index.iife.min.js",
|
|
34
34
|
"types": "./index.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@vueuse/core": "9.
|
|
37
|
-
"@vueuse/shared": "9.
|
|
36
|
+
"@vueuse/core": "9.6.0",
|
|
37
|
+
"@vueuse/shared": "9.6.0",
|
|
38
38
|
"vue-demi": "*"
|
|
39
39
|
}
|
|
40
40
|
}
|