@vueuse/components 9.2.0 → 9.3.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 +93 -49
- package/index.d.ts +40 -11
- package/index.iife.js +93 -49
- package/index.iife.min.js +1 -1
- package/index.mjs +95 -51
- package/package.json +3 -3
package/index.cjs
CHANGED
|
@@ -71,23 +71,21 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
71
71
|
const listener = (event) => {
|
|
72
72
|
window.clearTimeout(fallback);
|
|
73
73
|
const el = unrefElement(target);
|
|
74
|
-
|
|
75
|
-
if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
|
|
74
|
+
if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
|
|
76
75
|
return;
|
|
77
|
-
if (ignore && ignore.length > 0) {
|
|
78
|
-
if (ignore.some((target2) => {
|
|
79
|
-
const el2 = unrefElement(target2);
|
|
80
|
-
return el2 && (event.target === el2 || composedPath.includes(el2));
|
|
81
|
-
}))
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
76
|
handler(event);
|
|
85
77
|
};
|
|
78
|
+
const shouldIgnore = (event) => {
|
|
79
|
+
return ignore && ignore.some((target2) => {
|
|
80
|
+
const el = unrefElement(target2);
|
|
81
|
+
return el && (event.target === el || event.composedPath().includes(el));
|
|
82
|
+
});
|
|
83
|
+
};
|
|
86
84
|
const cleanup = [
|
|
87
85
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
88
86
|
useEventListener(window, "pointerdown", (e) => {
|
|
89
87
|
const el = unrefElement(target);
|
|
90
|
-
shouldListen.value = !!el && !e.composedPath().includes(el);
|
|
88
|
+
shouldListen.value = !!el && !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
91
89
|
}, { passive: true }),
|
|
92
90
|
useEventListener(window, "pointerup", (e) => {
|
|
93
91
|
if (e.button === 0) {
|
|
@@ -107,18 +105,20 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
107
105
|
return stop;
|
|
108
106
|
}
|
|
109
107
|
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
108
|
+
const vOnClickOutside = {
|
|
109
|
+
[shared.directiveHooks.mounted](el, binding) {
|
|
110
|
+
const capture = !binding.modifiers.bubble;
|
|
111
|
+
if (typeof binding.value === "function") {
|
|
112
|
+
el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });
|
|
113
|
+
} else {
|
|
114
|
+
const [handler, options] = binding.value;
|
|
115
|
+
el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));
|
|
117
116
|
}
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
},
|
|
118
|
+
[shared.directiveHooks.unmounted](el) {
|
|
119
|
+
el.__onClickOutside_stop();
|
|
120
|
+
}
|
|
120
121
|
};
|
|
121
|
-
const vOnClickOutside = handler();
|
|
122
122
|
|
|
123
123
|
const createKeyPredicate = (keyFilter) => {
|
|
124
124
|
if (typeof keyFilter === "function")
|
|
@@ -127,12 +127,29 @@ const createKeyPredicate = (keyFilter) => {
|
|
|
127
127
|
return (event) => event.key === keyFilter;
|
|
128
128
|
else if (Array.isArray(keyFilter))
|
|
129
129
|
return (event) => keyFilter.includes(event.key);
|
|
130
|
-
|
|
131
|
-
return () => true;
|
|
132
|
-
else
|
|
133
|
-
return () => false;
|
|
130
|
+
return () => true;
|
|
134
131
|
};
|
|
135
|
-
function onKeyStroke(
|
|
132
|
+
function onKeyStroke(...args) {
|
|
133
|
+
let key;
|
|
134
|
+
let handler;
|
|
135
|
+
let options = {};
|
|
136
|
+
if (args.length === 3) {
|
|
137
|
+
key = args[0];
|
|
138
|
+
handler = args[1];
|
|
139
|
+
options = args[2];
|
|
140
|
+
} else if (args.length === 2) {
|
|
141
|
+
if (typeof args[1] === "object") {
|
|
142
|
+
key = true;
|
|
143
|
+
handler = args[0];
|
|
144
|
+
options = args[1];
|
|
145
|
+
} else {
|
|
146
|
+
key = args[0];
|
|
147
|
+
handler = args[1];
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
key = true;
|
|
151
|
+
handler = args[0];
|
|
152
|
+
}
|
|
136
153
|
const { target = defaultWindow, eventName = "keydown", passive = false } = options;
|
|
137
154
|
const predicate = createKeyPredicate(key);
|
|
138
155
|
const listener = (e) => {
|
|
@@ -161,7 +178,7 @@ var __spreadValues$d = (a, b) => {
|
|
|
161
178
|
const vOnKeyStroke = {
|
|
162
179
|
[shared.directiveHooks.mounted](el, binding) {
|
|
163
180
|
var _a, _b;
|
|
164
|
-
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b :
|
|
181
|
+
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : true;
|
|
165
182
|
if (typeof binding.value === "function") {
|
|
166
183
|
onKeyStroke(keys, binding.value, {
|
|
167
184
|
target: el
|
|
@@ -422,28 +439,27 @@ function useMediaQuery(query, options = {}) {
|
|
|
422
439
|
const isSupported = useSupported(() => window && "matchMedia" in window && typeof window.matchMedia === "function");
|
|
423
440
|
let mediaQuery;
|
|
424
441
|
const matches = vueDemi.ref(false);
|
|
442
|
+
const cleanup = () => {
|
|
443
|
+
if (!mediaQuery)
|
|
444
|
+
return;
|
|
445
|
+
if ("removeEventListener" in mediaQuery)
|
|
446
|
+
mediaQuery.removeEventListener("change", update);
|
|
447
|
+
else
|
|
448
|
+
mediaQuery.removeListener(update);
|
|
449
|
+
};
|
|
425
450
|
const update = () => {
|
|
426
451
|
if (!isSupported.value)
|
|
427
452
|
return;
|
|
428
|
-
|
|
429
|
-
|
|
453
|
+
cleanup();
|
|
454
|
+
mediaQuery = window.matchMedia(shared.resolveRef(query).value);
|
|
430
455
|
matches.value = mediaQuery.matches;
|
|
431
|
-
};
|
|
432
|
-
shared.tryOnBeforeMount(() => {
|
|
433
|
-
update();
|
|
434
|
-
if (!mediaQuery)
|
|
435
|
-
return;
|
|
436
456
|
if ("addEventListener" in mediaQuery)
|
|
437
457
|
mediaQuery.addEventListener("change", update);
|
|
438
458
|
else
|
|
439
459
|
mediaQuery.addListener(update);
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
else
|
|
444
|
-
mediaQuery.removeListener(update);
|
|
445
|
-
});
|
|
446
|
-
});
|
|
460
|
+
};
|
|
461
|
+
vueDemi.watchEffect(update);
|
|
462
|
+
shared.tryOnScopeDispose(() => cleanup());
|
|
447
463
|
return matches;
|
|
448
464
|
}
|
|
449
465
|
|
|
@@ -1015,10 +1031,38 @@ function useScroll(element, options = {}) {
|
|
|
1015
1031
|
eventListenerOptions = {
|
|
1016
1032
|
capture: false,
|
|
1017
1033
|
passive: true
|
|
1018
|
-
}
|
|
1034
|
+
},
|
|
1035
|
+
behavior = "auto"
|
|
1019
1036
|
} = options;
|
|
1020
|
-
const
|
|
1021
|
-
const
|
|
1037
|
+
const internalX = vueDemi.ref(0);
|
|
1038
|
+
const internalY = vueDemi.ref(0);
|
|
1039
|
+
const x = vueDemi.computed({
|
|
1040
|
+
get() {
|
|
1041
|
+
return internalX.value;
|
|
1042
|
+
},
|
|
1043
|
+
set(x2) {
|
|
1044
|
+
scrollTo(x2, void 0);
|
|
1045
|
+
}
|
|
1046
|
+
});
|
|
1047
|
+
const y = vueDemi.computed({
|
|
1048
|
+
get() {
|
|
1049
|
+
return internalY.value;
|
|
1050
|
+
},
|
|
1051
|
+
set(y2) {
|
|
1052
|
+
scrollTo(void 0, y2);
|
|
1053
|
+
}
|
|
1054
|
+
});
|
|
1055
|
+
function scrollTo(_x, _y) {
|
|
1056
|
+
var _a, _b, _c;
|
|
1057
|
+
const _element = shared.resolveUnref(element);
|
|
1058
|
+
if (!_element)
|
|
1059
|
+
return;
|
|
1060
|
+
(_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({
|
|
1061
|
+
top: (_a = shared.resolveUnref(_y)) != null ? _a : y.value,
|
|
1062
|
+
left: (_b = shared.resolveUnref(_x)) != null ? _b : x.value,
|
|
1063
|
+
behavior: shared.resolveUnref(behavior)
|
|
1064
|
+
});
|
|
1065
|
+
}
|
|
1022
1066
|
const isScrolling = vueDemi.ref(false);
|
|
1023
1067
|
const arrivedState = vueDemi.reactive({
|
|
1024
1068
|
left: true,
|
|
@@ -1043,19 +1087,19 @@ function useScroll(element, options = {}) {
|
|
|
1043
1087
|
const onScrollHandler = (e) => {
|
|
1044
1088
|
const eventTarget = e.target === document ? e.target.documentElement : e.target;
|
|
1045
1089
|
const scrollLeft = eventTarget.scrollLeft;
|
|
1046
|
-
directions.left = scrollLeft <
|
|
1047
|
-
directions.right = scrollLeft >
|
|
1090
|
+
directions.left = scrollLeft < internalX.value;
|
|
1091
|
+
directions.right = scrollLeft > internalY.value;
|
|
1048
1092
|
arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
|
|
1049
1093
|
arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1050
|
-
|
|
1094
|
+
internalX.value = scrollLeft;
|
|
1051
1095
|
let scrollTop = eventTarget.scrollTop;
|
|
1052
1096
|
if (e.target === document && !scrollTop)
|
|
1053
1097
|
scrollTop = document.body.scrollTop;
|
|
1054
|
-
directions.top = scrollTop <
|
|
1055
|
-
directions.bottom = scrollTop >
|
|
1098
|
+
directions.top = scrollTop < internalY.value;
|
|
1099
|
+
directions.bottom = scrollTop > internalY.value;
|
|
1056
1100
|
arrivedState.top = scrollTop <= 0 + (offset.top || 0);
|
|
1057
1101
|
arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1058
|
-
|
|
1102
|
+
internalY.value = scrollTop;
|
|
1059
1103
|
isScrolling.value = true;
|
|
1060
1104
|
onScrollEnd(e);
|
|
1061
1105
|
onScroll(e);
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as vue_demi from 'vue-demi';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ComponentPublicInstance, ObjectDirective, Ref, UnwrapNestedRefs, ComputedRef, FunctionDirective } from 'vue-demi';
|
|
3
|
+
import { MaybeRef, MaybeComputedRef, ConfigurableEventFilter, ConfigurableFlush } from '@vueuse/shared';
|
|
4
4
|
import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize as ElementSize$1, UseGeolocationOptions, UseIdleOptions, UseMouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, UseTimeAgoOptions, UseTimestampOptions, UseVirtualListOptions, UseWindowSizeOptions } from '@vueuse/core';
|
|
5
5
|
|
|
6
6
|
interface ConfigurableWindow {
|
|
@@ -18,7 +18,34 @@ interface RenderableComponent {
|
|
|
18
18
|
|
|
19
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
20
|
|
|
21
|
-
declare
|
|
21
|
+
declare type VueInstance = ComponentPublicInstance;
|
|
22
|
+
declare type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
|
|
23
|
+
declare type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeComputedRef<T>;
|
|
24
|
+
declare type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
|
|
25
|
+
|
|
26
|
+
interface OnClickOutsideOptions extends ConfigurableWindow {
|
|
27
|
+
/**
|
|
28
|
+
* List of elements that should not trigger the event.
|
|
29
|
+
*/
|
|
30
|
+
ignore?: MaybeElementRef[];
|
|
31
|
+
/**
|
|
32
|
+
* Use capturing phase for internal event listener.
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
capture?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Run handler function if focus moves to an iframe.
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
detectIframe?: boolean;
|
|
41
|
+
}
|
|
42
|
+
declare type OnClickOutsideHandler<T extends {
|
|
43
|
+
detectIframe: OnClickOutsideOptions['detectIframe'];
|
|
44
|
+
} = {
|
|
45
|
+
detectIframe: false;
|
|
46
|
+
}> = (evt: T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
|
|
47
|
+
|
|
48
|
+
declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
|
|
22
49
|
|
|
23
50
|
declare type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
|
|
24
51
|
interface OnKeyStrokeOptions {
|
|
@@ -31,11 +58,6 @@ declare type BindingValueFunction$7 = (event: KeyboardEvent) => void;
|
|
|
31
58
|
declare type BindingValueArray$6 = [BindingValueFunction$7, OnKeyStrokeOptions];
|
|
32
59
|
declare const vOnKeyStroke: ObjectDirective<HTMLElement, BindingValueFunction$7 | BindingValueArray$6>;
|
|
33
60
|
|
|
34
|
-
declare type VueInstance = ComponentPublicInstance;
|
|
35
|
-
declare type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
|
|
36
|
-
declare type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeComputedRef<T>;
|
|
37
|
-
declare type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
|
|
38
|
-
|
|
39
61
|
interface OnLongPressOptions {
|
|
40
62
|
/**
|
|
41
63
|
* Time in ms till `longpress` gets called
|
|
@@ -159,7 +181,7 @@ interface UseColorModeOptions<T extends string = BasicColorSchema> extends UseSt
|
|
|
159
181
|
modes?: Partial<Record<T | BasicColorSchema, string>>;
|
|
160
182
|
/**
|
|
161
183
|
* A custom handler for handle the updates.
|
|
162
|
-
* When specified, the default behavior will be
|
|
184
|
+
* When specified, the default behavior will be overridden.
|
|
163
185
|
*
|
|
164
186
|
* @default undefined
|
|
165
187
|
*/
|
|
@@ -350,6 +372,13 @@ interface UseScrollOptions {
|
|
|
350
372
|
* @default {capture: false, passive: true}
|
|
351
373
|
*/
|
|
352
374
|
eventListenerOptions?: boolean | AddEventListenerOptions;
|
|
375
|
+
/**
|
|
376
|
+
* Optionally specify a scroll behavior of `auto` (default, not smooth scrolling) or
|
|
377
|
+
* `smooth` (for smooth scrolling) which takes effect when changing the `x` or `y` refs.
|
|
378
|
+
*
|
|
379
|
+
* @default 'auto'
|
|
380
|
+
*/
|
|
381
|
+
behavior?: MaybeComputedRef<ScrollBehavior>;
|
|
353
382
|
}
|
|
354
383
|
/**
|
|
355
384
|
* Reactive scroll.
|
|
@@ -359,8 +388,8 @@ interface UseScrollOptions {
|
|
|
359
388
|
* @param options
|
|
360
389
|
*/
|
|
361
390
|
declare function useScroll(element: MaybeComputedRef<HTMLElement | SVGElement | Window | Document | null | undefined>, options?: UseScrollOptions): {
|
|
362
|
-
x: vue_demi.
|
|
363
|
-
y: vue_demi.
|
|
391
|
+
x: vue_demi.WritableComputedRef<number>;
|
|
392
|
+
y: vue_demi.WritableComputedRef<number>;
|
|
364
393
|
isScrolling: vue_demi.Ref<boolean>;
|
|
365
394
|
arrivedState: {
|
|
366
395
|
left: boolean;
|
package/index.iife.js
CHANGED
|
@@ -139,23 +139,21 @@
|
|
|
139
139
|
const listener = (event) => {
|
|
140
140
|
window.clearTimeout(fallback);
|
|
141
141
|
const el = unrefElement(target);
|
|
142
|
-
|
|
143
|
-
if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
|
|
142
|
+
if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
|
|
144
143
|
return;
|
|
145
|
-
if (ignore && ignore.length > 0) {
|
|
146
|
-
if (ignore.some((target2) => {
|
|
147
|
-
const el2 = unrefElement(target2);
|
|
148
|
-
return el2 && (event.target === el2 || composedPath.includes(el2));
|
|
149
|
-
}))
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
144
|
handler(event);
|
|
153
145
|
};
|
|
146
|
+
const shouldIgnore = (event) => {
|
|
147
|
+
return ignore && ignore.some((target2) => {
|
|
148
|
+
const el = unrefElement(target2);
|
|
149
|
+
return el && (event.target === el || event.composedPath().includes(el));
|
|
150
|
+
});
|
|
151
|
+
};
|
|
154
152
|
const cleanup = [
|
|
155
153
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
156
154
|
useEventListener(window, "pointerdown", (e) => {
|
|
157
155
|
const el = unrefElement(target);
|
|
158
|
-
shouldListen.value = !!el && !e.composedPath().includes(el);
|
|
156
|
+
shouldListen.value = !!el && !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
159
157
|
}, { passive: true }),
|
|
160
158
|
useEventListener(window, "pointerup", (e) => {
|
|
161
159
|
if (e.button === 0) {
|
|
@@ -175,18 +173,20 @@
|
|
|
175
173
|
return stop;
|
|
176
174
|
}
|
|
177
175
|
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
if (
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
176
|
+
const vOnClickOutside = {
|
|
177
|
+
[shared.directiveHooks.mounted](el, binding) {
|
|
178
|
+
const capture = !binding.modifiers.bubble;
|
|
179
|
+
if (typeof binding.value === "function") {
|
|
180
|
+
el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });
|
|
181
|
+
} else {
|
|
182
|
+
const [handler, options] = binding.value;
|
|
183
|
+
el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));
|
|
185
184
|
}
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
},
|
|
186
|
+
[shared.directiveHooks.unmounted](el) {
|
|
187
|
+
el.__onClickOutside_stop();
|
|
188
|
+
}
|
|
188
189
|
};
|
|
189
|
-
const vOnClickOutside = handler();
|
|
190
190
|
|
|
191
191
|
const createKeyPredicate = (keyFilter) => {
|
|
192
192
|
if (typeof keyFilter === "function")
|
|
@@ -195,12 +195,29 @@
|
|
|
195
195
|
return (event) => event.key === keyFilter;
|
|
196
196
|
else if (Array.isArray(keyFilter))
|
|
197
197
|
return (event) => keyFilter.includes(event.key);
|
|
198
|
-
|
|
199
|
-
return () => true;
|
|
200
|
-
else
|
|
201
|
-
return () => false;
|
|
198
|
+
return () => true;
|
|
202
199
|
};
|
|
203
|
-
function onKeyStroke(
|
|
200
|
+
function onKeyStroke(...args) {
|
|
201
|
+
let key;
|
|
202
|
+
let handler;
|
|
203
|
+
let options = {};
|
|
204
|
+
if (args.length === 3) {
|
|
205
|
+
key = args[0];
|
|
206
|
+
handler = args[1];
|
|
207
|
+
options = args[2];
|
|
208
|
+
} else if (args.length === 2) {
|
|
209
|
+
if (typeof args[1] === "object") {
|
|
210
|
+
key = true;
|
|
211
|
+
handler = args[0];
|
|
212
|
+
options = args[1];
|
|
213
|
+
} else {
|
|
214
|
+
key = args[0];
|
|
215
|
+
handler = args[1];
|
|
216
|
+
}
|
|
217
|
+
} else {
|
|
218
|
+
key = true;
|
|
219
|
+
handler = args[0];
|
|
220
|
+
}
|
|
204
221
|
const { target = defaultWindow, eventName = "keydown", passive = false } = options;
|
|
205
222
|
const predicate = createKeyPredicate(key);
|
|
206
223
|
const listener = (e) => {
|
|
@@ -229,7 +246,7 @@
|
|
|
229
246
|
const vOnKeyStroke = {
|
|
230
247
|
[shared.directiveHooks.mounted](el, binding) {
|
|
231
248
|
var _a, _b;
|
|
232
|
-
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b :
|
|
249
|
+
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : true;
|
|
233
250
|
if (typeof binding.value === "function") {
|
|
234
251
|
onKeyStroke(keys, binding.value, {
|
|
235
252
|
target: el
|
|
@@ -490,28 +507,27 @@
|
|
|
490
507
|
const isSupported = useSupported(() => window && "matchMedia" in window && typeof window.matchMedia === "function");
|
|
491
508
|
let mediaQuery;
|
|
492
509
|
const matches = vueDemi.ref(false);
|
|
510
|
+
const cleanup = () => {
|
|
511
|
+
if (!mediaQuery)
|
|
512
|
+
return;
|
|
513
|
+
if ("removeEventListener" in mediaQuery)
|
|
514
|
+
mediaQuery.removeEventListener("change", update);
|
|
515
|
+
else
|
|
516
|
+
mediaQuery.removeListener(update);
|
|
517
|
+
};
|
|
493
518
|
const update = () => {
|
|
494
519
|
if (!isSupported.value)
|
|
495
520
|
return;
|
|
496
|
-
|
|
497
|
-
|
|
521
|
+
cleanup();
|
|
522
|
+
mediaQuery = window.matchMedia(shared.resolveRef(query).value);
|
|
498
523
|
matches.value = mediaQuery.matches;
|
|
499
|
-
};
|
|
500
|
-
shared.tryOnBeforeMount(() => {
|
|
501
|
-
update();
|
|
502
|
-
if (!mediaQuery)
|
|
503
|
-
return;
|
|
504
524
|
if ("addEventListener" in mediaQuery)
|
|
505
525
|
mediaQuery.addEventListener("change", update);
|
|
506
526
|
else
|
|
507
527
|
mediaQuery.addListener(update);
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
else
|
|
512
|
-
mediaQuery.removeListener(update);
|
|
513
|
-
});
|
|
514
|
-
});
|
|
528
|
+
};
|
|
529
|
+
vueDemi.watchEffect(update);
|
|
530
|
+
shared.tryOnScopeDispose(() => cleanup());
|
|
515
531
|
return matches;
|
|
516
532
|
}
|
|
517
533
|
|
|
@@ -1083,10 +1099,38 @@
|
|
|
1083
1099
|
eventListenerOptions = {
|
|
1084
1100
|
capture: false,
|
|
1085
1101
|
passive: true
|
|
1086
|
-
}
|
|
1102
|
+
},
|
|
1103
|
+
behavior = "auto"
|
|
1087
1104
|
} = options;
|
|
1088
|
-
const
|
|
1089
|
-
const
|
|
1105
|
+
const internalX = vueDemi.ref(0);
|
|
1106
|
+
const internalY = vueDemi.ref(0);
|
|
1107
|
+
const x = vueDemi.computed({
|
|
1108
|
+
get() {
|
|
1109
|
+
return internalX.value;
|
|
1110
|
+
},
|
|
1111
|
+
set(x2) {
|
|
1112
|
+
scrollTo(x2, void 0);
|
|
1113
|
+
}
|
|
1114
|
+
});
|
|
1115
|
+
const y = vueDemi.computed({
|
|
1116
|
+
get() {
|
|
1117
|
+
return internalY.value;
|
|
1118
|
+
},
|
|
1119
|
+
set(y2) {
|
|
1120
|
+
scrollTo(void 0, y2);
|
|
1121
|
+
}
|
|
1122
|
+
});
|
|
1123
|
+
function scrollTo(_x, _y) {
|
|
1124
|
+
var _a, _b, _c;
|
|
1125
|
+
const _element = shared.resolveUnref(element);
|
|
1126
|
+
if (!_element)
|
|
1127
|
+
return;
|
|
1128
|
+
(_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({
|
|
1129
|
+
top: (_a = shared.resolveUnref(_y)) != null ? _a : y.value,
|
|
1130
|
+
left: (_b = shared.resolveUnref(_x)) != null ? _b : x.value,
|
|
1131
|
+
behavior: shared.resolveUnref(behavior)
|
|
1132
|
+
});
|
|
1133
|
+
}
|
|
1090
1134
|
const isScrolling = vueDemi.ref(false);
|
|
1091
1135
|
const arrivedState = vueDemi.reactive({
|
|
1092
1136
|
left: true,
|
|
@@ -1111,19 +1155,19 @@
|
|
|
1111
1155
|
const onScrollHandler = (e) => {
|
|
1112
1156
|
const eventTarget = e.target === document ? e.target.documentElement : e.target;
|
|
1113
1157
|
const scrollLeft = eventTarget.scrollLeft;
|
|
1114
|
-
directions.left = scrollLeft <
|
|
1115
|
-
directions.right = scrollLeft >
|
|
1158
|
+
directions.left = scrollLeft < internalX.value;
|
|
1159
|
+
directions.right = scrollLeft > internalY.value;
|
|
1116
1160
|
arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
|
|
1117
1161
|
arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1118
|
-
|
|
1162
|
+
internalX.value = scrollLeft;
|
|
1119
1163
|
let scrollTop = eventTarget.scrollTop;
|
|
1120
1164
|
if (e.target === document && !scrollTop)
|
|
1121
1165
|
scrollTop = document.body.scrollTop;
|
|
1122
|
-
directions.top = scrollTop <
|
|
1123
|
-
directions.bottom = scrollTop >
|
|
1166
|
+
directions.top = scrollTop < internalY.value;
|
|
1167
|
+
directions.bottom = scrollTop > internalY.value;
|
|
1124
1168
|
arrivedState.top = scrollTop <= 0 + (offset.top || 0);
|
|
1125
1169
|
arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1126
|
-
|
|
1170
|
+
internalY.value = scrollTop;
|
|
1127
1171
|
isScrolling.value = true;
|
|
1128
1172
|
onScrollEnd(e);
|
|
1129
1173
|
onScroll(e);
|
package/index.iife.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var VueDemi=function(l,n,d){if(l.install)return l;if(n)if(n.version.slice(0,4)==="2.7."){for(var u in n)l[u]=n[u];l.isVue2=!0,l.isVue3=!1,l.install=function(){},l.Vue=n,l.Vue2=n,l.version=n.version}else if(n.version.slice(0,2)==="2.")if(d){for(var u in d)l[u]=d[u];l.isVue2=!0,l.isVue3=!1,l.install=function(){},l.Vue=n,l.Vue2=n,l.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)l[u]=n[u];l.isVue2=!1,l.isVue3=!0,l.install=function(){},l.Vue=n,l.Vue2=void 0,l.version=n.version,l.set=function(C,h,S){return Array.isArray(C)?(C.length=Math.max(C.length,h),C.splice(h,1,S),S):(C[h]=S,S)},l.del=function(C,h){if(Array.isArray(C)){C.splice(h,1);return}delete C[h]}}else console.error("[vue-demi] Vue version "+n.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");return l}(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(l,n,d,u){"use strict";const C=n.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return d.onClickOutside(o,a=>{r("trigger",a)}),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}});function h(t){var e;const r=u.resolveUnref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const S=u.isClient?window:void 0;function $(...t){let e,r,o,a;if(u.isString(t[0])?([r,o,a]=t,e=S):[e,r,o,a]=t,!e)return u.noop;let i=u.noop;const s=n.watch(()=>h(e),f=>{i(),!!f&&(f.addEventListener(r,o,a),i=()=>{f.removeEventListener(r,o,a),i=u.noop})},{immediate:!0,flush:"post"}),c=()=>{s(),i()};return u.tryOnScopeDispose(c),c}function W(t,e,r={}){const{window:o=S,ignore:a,capture:i=!0,detectIframe:s=!1}=r;if(!o)return;const c=n.ref(!0);let f;const v=p=>{o.clearTimeout(f);const _=h(t),P=p.composedPath();!_||_===p.target||P.includes(_)||!c.value||a&&a.length>0&&a.some(y=>{const U=h(y);return U&&(p.target===U||P.includes(U))})||e(p)},g=[$(o,"click",v,{passive:!0,capture:i}),$(o,"pointerdown",p=>{const _=h(t);c.value=!!_&&!p.composedPath().includes(_)},{passive:!0}),$(o,"pointerup",p=>{if(p.button===0){const _=p.composedPath();p.composedPath=()=>_,f=o.setTimeout(()=>v(p),50)}},{passive:!0}),s&&$(o,"blur",p=>{var _;const P=h(t);((_=document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(P==null?void 0:P.contains(document.activeElement))&&e(p)})].filter(Boolean);return()=>g.forEach(p=>p())}const k=(()=>{let t=null;return(e,r)=>{if(t){t(),t=W(e,r.value);return}t=W(e,r.value)}})(),Me=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):t?()=>!0:()=>!1;function F(t,e,r={}){const{target:o=S,eventName:a="keydown",passive:i=!1}=r,s=Me(t);return $(o,a,f=>{s(f)&&e(f)},i)}var Ve=Object.defineProperty,K=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,J=(t,e,r)=>e in t?Ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))Ae.call(e,r)&&J(t,r,e[r]);if(K)for(var r of K(e))Te.call(e,r)&&J(t,r,e[r]);return t};const Re={[u.directiveHooks.mounted](t,e){var r,o;const a=(o=(r=e.arg)==null?void 0:r.split(","))!=null?o:[];if(typeof e.value=="function")F(a,e.value,{target:t});else{const[i,s]=e.value;F(a,i,Ne({target:t},s))}}},ze=500;function N(t,e,r){var o,a;const i=n.computed(()=>h(t));let s;function c(){s&&(clearTimeout(s),s=void 0)}function f(g){var O,p,_,P;((O=r==null?void 0:r.modifiers)==null?void 0:O.self)&&g.target!==i.value||(c(),((p=r==null?void 0:r.modifiers)==null?void 0:p.prevent)&&g.preventDefault(),((_=r==null?void 0:r.modifiers)==null?void 0:_.stop)&&g.stopPropagation(),s=setTimeout(()=>e(g),(P=r==null?void 0:r.delay)!=null?P:ze))}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};$(i,"pointerdown",f,v),$(i,"pointerup",c,v),$(i,"pointerleave",c,v)}const He=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return N(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),G={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?N(t,e.value,{modifiers:e.modifiers}):N(t,...e.value)}},Be=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:d.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),We=n.defineComponent({name:"UseBattery",setup(t,{slots:e}){const r=n.reactive(d.useBattery(t));return()=>{if(e.default)return e.default(r)}}}),ke=n.defineComponent({name:"UseBrowserLocation",setup(t,{slots:e}){const r=n.reactive(d.useBrowserLocation());return()=>{if(e.default)return e.default(r)}}}),R=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},z="__vueuse_ssr_handlers__";R[z]=R[z]||{};const Fe=R[z];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,Q=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,X=(t,e,r)=>e in t?Je(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Y=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&X(t,r,e[r]);if(Q)for(var r of Q(e))qe.call(e,r)&&X(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:s=!0,listenToStorageChanges:c=!0,writeDefaults:f=!0,mergeDefaults:v=!1,shallow:g,window:O=S,eventFilter:p,onError:_=m=>{console.error(m)}}=o,P=(g?n.shallowRef:n.ref)(e);if(!r)try{r=q("getDefaultStorage",()=>{var m;return(m=S)==null?void 0:m.localStorage})()}catch(m){_(m)}if(!r)return P;const y=u.resolveUnref(e),U=Ke(y),w=(a=o.serializer)!=null?a:Qe[U],{pause:b,resume:j}=u.pausableWatch(P,()=>L(P.value),{flush:i,deep:s,eventFilter:p});return O&&c&&$(O,"storage",A),A(),P;function L(m){try{m==null?r.removeItem(t):r.setItem(t,w.write(m))}catch(E){_(E)}}function I(m){if(!(m&&m.key!==t)){b();try{const E=m?m.newValue:r.getItem(t);if(E==null)return f&&y!==null&&r.setItem(t,w.write(y)),y;if(!m&&v){const T=w.read(E);return u.isFunction(v)?v(T,y):U==="object"&&!Array.isArray(T)?Y(Y({},y),T):T}else return typeof E!="string"?E:w.read(E)}catch(E){_(E)}finally{j()}}}function A(m){m&&m.key!==t||(P.value=I(m))}}function H(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=S}=e,o=H(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let a;const i=n.ref(!1),s=()=>{!o.value||(a||(a=r.matchMedia(t)),i.value=a.matches)};return u.tryOnBeforeMount(()=>{s(),!!a&&("addEventListener"in a?a.addEventListener("change",s):a.addListener(s),u.tryOnScopeDispose(()=>{"removeEventListener"in a?a.removeEventListener("change",s):a.removeListener(s)}))}),i}function Ze(t){return Ye("(prefers-color-scheme: dark)",t)}var xe=Object.defineProperty,Z=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,x=(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)&&x(t,r,e[r]);if(Z)for(var r of Z(e))et.call(e,r)&&x(t,r,e[r]);return t};function rt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=S,storage:i,storageKey:s="vueuse-color-scheme",listenToStorageChanges:c=!0,storageRef:f,emitAuto:v}=t,g=tt({auto:"",light:"light",dark:"dark"},t.modes||{}),O=Ze({window:a}),p=n.computed(()=>O.value?"dark":"light"),_=f||(s==null?n.ref(o):Xe(s,o,i,{window:a,listenToStorageChanges:c})),P=n.computed({get(){return _.value==="auto"&&!v?p.value:_.value},set(b){_.value=b}}),y=q("updateHTMLAttrs",(b,j,L)=>{const I=a==null?void 0:a.document.querySelector(b);if(!!I)if(j==="class"){const A=L.split(/\s/g);Object.values(g).flatMap(m=>(m||"").split(/\s/g)).filter(Boolean).forEach(m=>{A.includes(m)?I.classList.add(m):I.classList.remove(m)})}else I.setAttribute(j,L)});function U(b){var j;const L=b==="auto"?p.value:b;y(e,r,(j=g[L])!=null?j:L)}function w(b){t.onChanged?t.onChanged(b,U):U(b)}return n.watch(P,w,{flush:"post",immediate:!0}),v&&n.watch(p,()=>w(P.value),{flush:"post"}),u.tryOnMounted(()=>w(P.value)),P}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=d.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(d.useDeviceMotion());return()=>{if(e.default)return e.default(r)}}}),st=n.defineComponent({name:"UseDeviceOrientation",setup(t,{slots:e}){const r=n.reactive(d.useDeviceOrientation());return()=>{if(e.default)return e.default(r)}}}),lt=n.defineComponent({name:"UseDevicePixelRatio",setup(t,{slots:e}){const r=n.reactive({pixelRatio:d.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(d.useDevicesList(t));return()=>{if(e.default)return e.default(r)}}}),ut=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:d.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var ct=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ee=(t,e,r)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gt=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&ee(t,r,e[r]);if(D)for(var r of D(e))vt.call(e,r)&&ee(t,r,e[r]);return t},_t=(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 s;return(s=t.handle)!=null?s:r.value}),a=t.storageKey?d.useStorage(t.storageKey,u.resolveUnref(t.initialValue)||{x:0,y:0},d.isClient?t.storageType==="session"?sessionStorage:localStorage:void 0):t.initialValue||{x:0,y:0},i=n.reactive(d.useDraggable(r,_t(gt({},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))}}}),Pt=n.defineComponent({name:"UseElementBounding",props:["box","as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive(d.useElementBounding(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function mt(t){const e=n.ref(!1);return $(t,"mouseenter",()=>e.value=!0),$(t,"mouseleave",()=>e.value=!1),e}const yt={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=mt(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(d.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 te=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&&te)for(var o of te(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=S}=o,i=Ut(o,["window"]);let s;const c=H(()=>a&&"ResizeObserver"in a),f=()=>{s&&(s.disconnect(),s=void 0)},v=n.watch(()=>h(t),O=>{f(),c.value&&a&&O&&(s=new ResizeObserver(e),s.observe(O,i))},{immediate:!0,flush:"post"}),g=()=>{f(),v()};return u.tryOnScopeDispose(g),{isSupported:c,stop:g}}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,([s])=>{const c=o==="border-box"?s.borderBoxSize:o==="content-box"?s.contentBoxSize:s.devicePixelContentBoxSize;c?(a.value=c.reduce((f,{inlineSize:v})=>f+v,0),i.value=c.reduce((f,{blockSize:v})=>f+v,0)):(a.value=s.contentRect.width,i.value=s.contentRect.height)},r),n.watch(()=>h(t),s=>{a.value=s?e.width:0,i.value=s?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:s}=$t(t,...a);n.watch([i,s],([c,f])=>o({width:c,height:f}))}},Et=n.defineComponent({name:"UseElementVisibility",props:["as"],setup(t,{slots:e}){const r=n.ref(),o=n.reactive({isVisible:d.useElementVisibility(r)});return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}});function re(t,{window:e=S,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const i=e.document,s=h(t);if(!s)o.value=!1;else{const c=s.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(()=>h(t),()=>a(),{immediate:!0,flush:"post"}),e&&$(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=re(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=re(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(d.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(d.useFullscreen(r));return()=>{if(e.default)return n.h(t.as||"div",{ref:r},e.default(o))}}}),Mt=n.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(t,{slots:e}){const r=n.reactive(d.useGeolocation(t));return()=>{if(e.default)return e.default(r)}}}),Vt=n.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(t,{slots:e}){const r=n.reactive(d.useIdle(t.timeout,t));return()=>{if(e.default)return e.default(r)}}});function At(t,e,r){const{immediate:o=!0,delay:a=0,onError:i=u.noop,resetOnExecute:s=!0,shallow:c=!0,throwError:f}=r??{},v=c?n.shallowRef(e):n.ref(e),g=n.ref(!1),O=n.ref(!1),p=n.ref(void 0);async function _(P=0,...y){s&&(v.value=e),p.value=void 0,g.value=!1,O.value=!0,P>0&&await u.promiseTimeout(P);const U=typeof t=="function"?t(...y):t;try{const w=await U;v.value=w,g.value=!0}catch(w){if(p.value=w,i(w),f)throw p}finally{O.value=!1}return v.value}return o&&_(a),{state:v,isReady:g,isLoading:O,error:p,execute:_}}var Tt=Object.defineProperty,ne=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,oe=(t,e,r)=>e in t?Tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zt=(t,e)=>{for(var r in e||(e={}))Nt.call(e,r)&&oe(t,r,e[r]);if(ne)for(var r of ne(e))Rt.call(e,r)&&oe(t,r,e[r]);return t};async function Ht(t){return new Promise((e,r)=>{const o=new Image,{src:a,srcset:i,sizes:s}=t;o.src=a,i&&(o.srcset=i),s&&(o.sizes=s),o.onload=()=>e(o),o.onerror=r})}const Bt=(t,e={})=>{const r=At(()=>Ht(u.resolveUnref(t)),void 0,zt({resetOnExecute:!0},e));return n.watch(()=>u.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},Wt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Bt(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)}}),ae=1;function B(t,e={}){const{throttle:r=0,idle:o=200,onStop:a=u.noop,onScroll:i=u.noop,offset:s={left:0,right:0,top:0,bottom:0},eventListenerOptions:c={capture:!1,passive:!0}}=e,f=n.ref(0),v=n.ref(0),g=n.ref(!1),O=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),p=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),_=u.useDebounceFn(y=>{g.value=!1,p.left=!1,p.right=!1,p.top=!1,p.bottom=!1,a(y)},r+o),P=y=>{const U=y.target===document?y.target.documentElement:y.target,w=U.scrollLeft;p.left=w<f.value,p.right=w>f.value,O.left=w<=0+(s.left||0),O.right=w+U.clientWidth>=U.scrollWidth-(s.right||0)-ae,f.value=w;let b=U.scrollTop;y.target===document&&!b&&(b=document.body.scrollTop),p.top=b<v.value,p.bottom=b>v.value,O.top=b<=0+(s.top||0),O.bottom=b+U.clientHeight>=U.scrollHeight-(s.bottom||0)-ae,v.value=b,g.value=!0,_(y),i(y)};return $(t,"scroll",r?u.useThrottleFn(P,r):P,c),{x:f,y:v,isScrolling:g,arrivedState:O,directions:p}}var kt=Object.defineProperty,Ft=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ie=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))Gt.call(e,r)&&le(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",s=n.reactive(B(t,qt(ie({},r),{offset:ie({[i]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>s.arrivedState[i],async c=>{var f,v;if(c){const g=u.resolveUnref(t),O={height:(f=g==null?void 0:g.scrollHeight)!=null?f:0,width:(v=g==null?void 0:g.scrollWidth)!=null?v:0};await e(s),r.preserveScrollPosition&&g&&n.nextTick(()=>{g.scrollTo({top:g.scrollHeight-O.height,left:g.scrollWidth-O.width})})}})}const Qt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ue(t,e.value):ue(t,...e.value)}};function ce(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:s=S}=r,c=H(()=>s&&"IntersectionObserver"in s);let f=u.noop;const v=c.value?n.watch(()=>({el:h(t),root:h(o)}),({el:O,root:p})=>{if(f(),!O)return;const _=new IntersectionObserver(e,{root:p,rootMargin:a,threshold:i});_.observe(O),f=()=>{_.disconnect(),f=u.noop}},{immediate:!0,flush:"post"}):u.noop,g=()=>{f(),v()};return u.tryOnScopeDispose(g),{isSupported:c,stop:g}}const Xt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ce(t,e.value):ce(t,...e.value)}},Yt=n.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(t,{slots:e}){const r=n.reactive(d.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(d.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,fe=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable,de=(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)&&de(t,r,e[r]);if(fe)for(var r of fe(e))rr.call(e,r)&&de(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(d.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(d.useNetwork());return()=>{if(e.default)return e.default(r)}}});var lr=Object.defineProperty,ir=Object.defineProperties,ur=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,ve=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))cr.call(e,r)&&ve(t,r,e[r]);if(pe)for(var r of pe(e))fr.call(e,r)&&ve(t,r,e[r]);return t},pr=(t,e)=>ir(t,ur(e));const vr=n.defineComponent({name:"UseNow",props:["interval"],setup(t,{slots:e}){const r=n.reactive(d.useNow(pr(dr({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}}),gr=n.defineComponent({name:"UseObjectUrl",props:["object"],setup(t,{slots:e}){const r=n.toRef(t,"object"),o=d.useObjectUrl(r);return()=>{if(e.default&&o.value)return e.default(o)}}});var _r=Object.defineProperty,Or=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable,_e=(t,e,r)=>e in t?_r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,hr=(t,e)=>{for(var r in e||(e={}))mr.call(e,r)&&_e(t,r,e[r]);if(ge)for(var r of ge(e))yr.call(e,r)&&_e(t,r,e[r]);return t},wr=(t,e)=>Or(t,Pr(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(d.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:d.useOnline()});return()=>{if(e.default)return e.default(r)}}}),Sr=n.defineComponent({name:"UsePageLeave",setup(t,{slots:e}){const r=n.reactive({isLeft:d.usePageLeave()});return()=>{if(e.default)return e.default(r)}}});var $r=Object.defineProperty,Cr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Oe=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(Oe)for(var r of Oe(e))Lr.call(e,r)&&Pe(t,r,e[r]);return t},Mr=(t,e)=>Cr(t,Er(e));const Vr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(d.usePointer(Mr(Ir({},t),{target:t.target==="self"?r:S})));return()=>{if(e.default)return e.default(o,{ref:r})}}}),Ar=n.defineComponent({name:"UsePreferredColorScheme",setup(t,{slots:e}){const r=n.reactive({colorScheme:d.usePreferredColorScheme()});return()=>{if(e.default)return e.default(r)}}}),Tr=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:d.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:d.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Rr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:d.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),zr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:d.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function M(t,e,{window:r=S,initialValue:o=""}={}){const a=n.ref(o),i=n.computed(()=>{var s;return h(e)||((s=r==null?void 0:r.document)==null?void 0:s.documentElement)});return n.watch([i,()=>u.resolveUnref(t)],([s,c])=>{var f;if(s&&r){const v=(f=r.getComputedStyle(s).getPropertyValue(c))==null?void 0:f.trim();a.value=v||o}},{immediate:!0}),n.watch(a,s=>{var c;((c=i.value)==null?void 0:c.style)&&i.value.style.setProperty(u.resolveUnref(t),s)}),a}const me="--vueuse-safe-area-top",ye="--vueuse-safe-area-right",he="--vueuse-safe-area-bottom",we="--vueuse-safe-area-left";function Hr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const i=M(me),s=M(ye),c=M(he),f=M(we);i.value="env(safe-area-inset-top, 0px)",s.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",f.value="env(safe-area-inset-left, 0px)",a(),$("resize",u.useDebounceFn(a))}function a(){t.value=V(me),e.value=V(ye),r.value=V(he),o.value=V(we)}return{top:t,right:e,bottom:r,left:o,update:a}}function V(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Br=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}=Hr();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 Wr=Object.defineProperty,kr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Ue=(t,e,r)=>e in t?Wr(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)&&Ue(t,r,e[r]);if(be)for(var r of be(e))Jr.call(e,r)&&Ue(t,r,e[r]);return t},qr=(t,e)=>kr(t,Fr(e));const Qr={[u.directiveHooks.mounted](t,e){if(typeof e.value=="function"){const r=e.value,o=B(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=B(t,qr(Gr({},o),{onScroll(i){var s;(s=o.onScroll)==null||s.call(o,i),r(a)},onStop(i){var s;(s=o.onStop)==null||s.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 f=c;a=f.style.overflow,r.value&&(f.style.overflow="hidden")}},{immediate:!0});const i=()=>{const c=u.resolveUnref(t);!c||r.value||(u.isIOS&&(o=$(c,"touchmove",Xr,{passive:!1})),c.style.overflow="hidden",r.value=!0)},s=()=>{const c=u.resolveUnref(t);!c||!r.value||(u.isIOS&&(o==null||o()),c.style.overflow=a,r.value=!1)};return u.tryOnScopeDispose(s),n.computed({get(){return r.value},set(c){c?i():s()}})}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,Se=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,$e=(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)&&$e(t,r,e[r]);if(Se)for(var r of Se(e))rn.call(e,r)&&$e(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(d.useTimeAgo(()=>t.time,on(nn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var sn=Object.defineProperty,ln=Object.defineProperties,un=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,Ee=(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={}))cn.call(e,r)&&Ee(t,r,e[r]);if(Ce)for(var r of Ce(e))fn.call(e,r)&&Ee(t,r,e[r]);return t},pn=(t,e)=>ln(t,un(e));const vn=n.defineComponent({name:"UseTimestamp",props:["immediate","interval","offset"],setup(t,{slots:e}){const r=n.reactive(d.useTimestamp(pn(dn({},t),{controls:!0})));return()=>{if(e.default)return e.default(r)}}});var gn=Object.defineProperty,je=Object.getOwnPropertySymbols,_n=Object.prototype.hasOwnProperty,On=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?gn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ie=(t,e)=>{for(var r in e||(e={}))_n.call(e,r)&&Le(t,r,e[r]);if(je)for(var r of je(e))On.call(e,r)&&Le(t,r,e[r]);return t};const Pn=n.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(t,{slots:e}){const{list:r}=n.toRefs(t),{list:o,containerProps:a,wrapperProps:i}=d.useVirtualList(r,t.options);return a.style.height=t.height||"300px",()=>n.h("div",Ie({},a),[n.h("div",Ie({},i.value),o.value.map(s=>n.h("div",{style:{overFlow:"hidden",height:s.height}},e.default?e.default(s):"Please set content!")))])}}),mn=n.defineComponent({name:"UseWindowFocus",setup(t,{slots:e}){const r=n.reactive({focused:d.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(d.useWindowSize(t));return()=>{if(e.default)return e.default(r)}}});l.OnClickOutside=C,l.OnLongPress=He,l.UseActiveElement=Be,l.UseBattery=We,l.UseBrowserLocation=ke,l.UseColorMode=nt,l.UseDark=ot,l.UseDeviceMotion=at,l.UseDeviceOrientation=st,l.UseDevicePixelRatio=lt,l.UseDevicesList=it,l.UseDocumentVisibility=ut,l.UseDraggable=Ot,l.UseElementBounding=Pt,l.UseElementSize=ht,l.UseElementVisibility=Et,l.UseEyeDropper=Lt,l.UseFullscreen=It,l.UseGeolocation=Mt,l.UseIdle=Vt,l.UseImage=Wt,l.UseMouse=Yt,l.UseMouseInElement=Zt,l.UseMousePressed=ar,l.UseNetwork=sr,l.UseNow=vr,l.UseObjectUrl=gr,l.UseOffsetPagination=br,l.UseOnline=Ur,l.UsePageLeave=Sr,l.UsePointer=Vr,l.UsePreferredColorScheme=Ar,l.UsePreferredContrast=Tr,l.UsePreferredDark=Nr,l.UsePreferredLanguages=Rr,l.UsePreferredReducedMotion=zr,l.UseScreenSafeArea=Br,l.UseTimeAgo=an,l.UseTimestamp=vn,l.UseVirtualList=Pn,l.UseWindowFocus=mn,l.UseWindowSize=yn,l.VOnClickOutside=k,l.VOnLongPress=G,l.vElementHover=yt,l.vElementSize=Ct,l.vElementVisibility=jt,l.vInfiniteScroll=Qt,l.vIntersectionObserver=Xt,l.vOnClickOutside=k,l.vOnKeyStroke=Re,l.vOnLongPress=G,l.vScroll=Qr,l.vScrollLock=Zr,Object.defineProperty(l,"__esModule",{value:!0})})(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
|
|
1
|
+
var VueDemi=function(s,n,f){if(s.install)return s;if(n)if(n.version.slice(0,4)==="2.7."){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}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(M,h,b){return Array.isArray(M)?(M.length=Math.max(M.length,h),M.splice(h,1,b),b):(M[h]=b,b)},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.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");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 M=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 h(t){var e;const r=u.resolveUnref(t);return(e=r==null?void 0:r.$el)!=null?e:r}const b=u.isClient?window:void 0;function $(...t){let e,r,o,a;if(u.isString(t[0])?([r,o,a]=t,e=b):[e,r,o,a]=t,!e)return u.noop;let i=u.noop;const l=n.watch(()=>h(e),d=>{i(),!!d&&(d.addEventListener(r,o,a),i=()=>{d.removeEventListener(r,o,a),i=u.noop})},{immediate:!0,flush:"post"}),c=()=>{l(),i()};return u.tryOnScopeDispose(c),c}function k(t,e,r={}){const{window:o=b,ignore:a,capture:i=!0,detectIframe:l=!1}=r;if(!o)return;const c=n.ref(!0);let d;const p=v=>{o.clearTimeout(d);const g=h(t);!g||g===v.target||v.composedPath().includes(g)||!c.value||e(v)},_=v=>a&&a.some(g=>{const P=h(g);return P&&(v.target===P||v.composedPath().includes(P))}),m=[$(o,"click",p,{passive:!0,capture:i}),$(o,"pointerdown",v=>{const g=h(t);c.value=!!g&&!v.composedPath().includes(g)&&!_(v)},{passive:!0}),$(o,"pointerup",v=>{if(v.button===0){const g=v.composedPath();v.composedPath=()=>g,d=o.setTimeout(()=>p(v),50)}},{passive:!0}),l&&$(o,"blur",v=>{var g;const P=h(t);((g=document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(P==null?void 0:P.contains(document.activeElement))&&e(v)})].filter(Boolean);return()=>m.forEach(v=>v())}const W={[u.directiveHooks.mounted](t,e){const r=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=k(t,e.value,{capture:r});else{const[o,a]=e.value;t.__onClickOutside_stop=k(t,o,Object.assign({capture:r},a))}},[u.directiveHooks.unmounted](t){t.__onClickOutside_stop()}},Me=t=>typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0;function F(...t){let e,r,o={};t.length===3?(e=t[0],r=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,r=t[0],o=t[1]):(e=t[0],r=t[1]):(e=!0,r=t[0]);const{target:a=b,eventName:i="keydown",passive:l=!1}=o,c=Me(e);return $(a,i,p=>{c(p)&&r(p)},l)}var Ve=Object.defineProperty,K=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,J=(t,e,r)=>e in t?Ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ne=(t,e)=>{for(var r in e||(e={}))Te.call(e,r)&&J(t,r,e[r]);if(K)for(var r of K(e))Ae.call(e,r)&&J(t,r,e[r]);return t};const Re={[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")F(a,e.value,{target:t});else{const[i,l]=e.value;F(a,i,Ne({target:t},l))}}},He=500;function N(t,e,r){var o,a;const i=n.computed(()=>h(t));let l;function c(){l&&(clearTimeout(l),l=void 0)}function d(_){var m,w,v,g;((m=r==null?void 0:r.modifiers)==null?void 0:m.self)&&_.target!==i.value||(c(),((w=r==null?void 0:r.modifiers)==null?void 0:w.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:He))}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};$(i,"pointerdown",d,p),$(i,"pointerup",c,p),$(i,"pointerleave",c,p)}const ze=n.defineComponent({name:"OnLongPress",props:["as","options"],emits:["trigger"],setup(t,{slots:e,emit:r}){const o=n.ref();return N(o,a=>{r("trigger",a)},t.options),()=>{if(e.default)return n.h(t.as||"div",{ref:o},e.default())}}}),G={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?N(t,e.value,{modifiers:e.modifiers}):N(t,...e.value)}},Be=n.defineComponent({name:"UseActiveElement",setup(t,{slots:e}){const r=n.reactive({element:f.useActiveElement()});return()=>{if(e.default)return e.default(r)}}}),ke=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)}}}),R=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},H="__vueuse_ssr_handlers__";R[H]=R[H]||{};const Fe=R[H];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,Q=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,X=(t,e,r)=>e in t?Je(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Y=(t,e)=>{for(var r in e||(e={}))Ge.call(e,r)&&X(t,r,e[r]);if(Q)for(var r of Q(e))qe.call(e,r)&&X(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:d=!0,mergeDefaults:p=!1,shallow:_,window:m=b,eventFilter:w,onError:v=O=>{console.error(O)}}=o,g=(_?n.shallowRef:n.ref)(e);if(!r)try{r=q("getDefaultStorage",()=>{var O;return(O=b)==null?void 0:O.localStorage})()}catch(O){v(O)}if(!r)return g;const P=u.resolveUnref(e),U=Ke(P),C=(a=o.serializer)!=null?a:Qe[U],{pause:L,resume:y}=u.pausableWatch(g,()=>S(g.value),{flush:i,deep:l,eventFilter:w});return m&&c&&$(m,"storage",j),j(),g;function S(O){try{O==null?r.removeItem(t):r.setItem(t,C.write(O))}catch(I){v(I)}}function E(O){if(!(O&&O.key!==t)){L();try{const I=O?O.newValue:r.getItem(t);if(I==null)return d&&P!==null&&r.setItem(t,C.write(P)),P;if(!O&&p){const A=C.read(I);return u.isFunction(p)?p(A,P):U==="object"&&!Array.isArray(A)?Y(Y({},P),A):A}else return typeof I!="string"?I:C.read(I)}catch(I){v(I)}finally{y()}}}function j(O){O&&O.key!==t||(g.value=E(O))}}function z(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=b}=e,o=z(()=>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,Z=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,x=(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)&&x(t,r,e[r]);if(Z)for(var r of Z(e))et.call(e,r)&&x(t,r,e[r]);return t};function rt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:a=b,storage:i,storageKey:l="vueuse-color-scheme",listenToStorageChanges:c=!0,storageRef:d,emitAuto:p}=t,_=tt({auto:"",light:"light",dark:"dark"},t.modes||{}),m=Ze({window:a}),w=n.computed(()=>m.value?"dark":"light"),v=d||(l==null?n.ref(o):Xe(l,o,i,{window:a,listenToStorageChanges:c})),g=n.computed({get(){return v.value==="auto"&&!p?w.value:v.value},set(L){v.value=L}}),P=q("updateHTMLAttrs",(L,y,S)=>{const E=a==null?void 0:a.document.querySelector(L);if(!!E)if(y==="class"){const j=S.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(y,S)});function U(L){var y;const S=L==="auto"?w.value:L;P(e,r,(y=_[S])!=null?y:S)}function C(L){t.onChanged?t.onChanged(L,U):U(L)}return n.watch(g,C,{flush:"post",immediate:!0}),p&&n.watch(w,()=>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)}}}),ut=n.defineComponent({name:"UseDocumentVisibility",setup(t,{slots:e}){const r=n.reactive({visibility:f.useDocumentVisibility()});return()=>{if(e.default)return e.default(r)}}});var ct=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ee=(t,e,r)=>e in t?ct(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)&&ee(t,r,e[r]);if(D)for(var r of D(e))vt.call(e,r)&&ee(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 Pt(t){const e=n.ref(!1);return $(t,"mouseenter",()=>e.value=!0),$(t,"mouseleave",()=>e.value=!1),e}const yt={[u.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 te=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&&te)for(var o of te(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=b}=o,i=Ut(o,["window"]);let l;const c=z(()=>a&&"ResizeObserver"in a),d=()=>{l&&(l.disconnect(),l=void 0)},p=n.watch(()=>h(t),m=>{d(),c.value&&a&&m&&(l=new ResizeObserver(e),l.observe(m,i))},{immediate:!0,flush:"post"}),_=()=>{d(),p()};return u.tryOnScopeDispose(_),{isSupported:c,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 c=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;c?(a.value=c.reduce((d,{inlineSize:p})=>d+p,0),i.value=c.reduce((d,{blockSize:p})=>d+p,0)):(a.value=l.contentRect.width,i.value=l.contentRect.height)},r),n.watch(()=>h(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,d])=>o({width:c,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 re(t,{window:e=b,scrollTarget:r}={}){const o=n.ref(!1),a=()=>{if(!e)return;const i=e.document,l=h(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(()=>h(t),()=>a(),{immediate:!0,flush:"post"}),e&&$(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=re(t);n.watch(o,a=>r(a),{immediate:!0})}else{const[r,o]=e.value,a=re(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))}}}),Mt=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)}}}),Vt=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:d}=r??{},p=c?n.shallowRef(e):n.ref(e),_=n.ref(!1),m=n.ref(!1),w=n.ref(void 0);async function v(g=0,...P){l&&(p.value=e),w.value=void 0,_.value=!1,m.value=!0,g>0&&await u.promiseTimeout(g);const U=typeof t=="function"?t(...P):t;try{const C=await U;p.value=C,_.value=!0}catch(C){if(w.value=C,i(C),d)throw w}finally{m.value=!1}return p.value}return o&&v(a),{state:p,isReady:_,isLoading:m,error:w,execute:v}}var At=Object.defineProperty,ne=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,oe=(t,e,r)=>e in t?At(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ht=(t,e)=>{for(var r in e||(e={}))Nt.call(e,r)&&oe(t,r,e[r]);if(ne)for(var r of ne(e))Rt.call(e,r)&&oe(t,r,e[r]);return t};async function zt(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 Bt=(t,e={})=>{const r=Tt(()=>zt(u.resolveUnref(t)),void 0,Ht({resetOnExecute:!0},e));return n.watch(()=>u.resolveUnref(t),()=>r.execute(e.delay),{deep:!0}),r},kt=n.defineComponent({name:"UseImage",props:["src","srcset","sizes","as"],setup(t,{slots:e}){const r=n.reactive(Bt(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)}}),ae=1;function B(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:d="auto"}=e,p=n.ref(0),_=n.ref(0),m=n.computed({get(){return p.value},set(y){v(y,void 0)}}),w=n.computed({get(){return _.value},set(y){v(void 0,y)}});function v(y,S){var E,j,O;const I=u.resolveUnref(t);!I||(O=I instanceof Document?document.body:I)==null||O.scrollTo({top:(E=u.resolveUnref(S))!=null?E:w.value,left:(j=u.resolveUnref(y))!=null?j:m.value,behavior:u.resolveUnref(d)})}const g=n.ref(!1),P=n.reactive({left:!0,right:!1,top:!0,bottom:!1}),U=n.reactive({left:!1,right:!1,top:!1,bottom:!1}),C=u.useDebounceFn(y=>{g.value=!1,U.left=!1,U.right=!1,U.top=!1,U.bottom=!1,a(y)},r+o),L=y=>{const S=y.target===document?y.target.documentElement:y.target,E=S.scrollLeft;U.left=E<p.value,U.right=E>_.value,P.left=E<=0+(l.left||0),P.right=E+S.clientWidth>=S.scrollWidth-(l.right||0)-ae,p.value=E;let j=S.scrollTop;y.target===document&&!j&&(j=document.body.scrollTop),U.top=j<_.value,U.bottom=j>_.value,P.top=j<=0+(l.top||0),P.bottom=j+S.clientHeight>=S.scrollHeight-(l.bottom||0)-ae,_.value=j,g.value=!0,C(y),i(y)};return $(t,"scroll",r?u.useThrottleFn(L,r):L,c),{x:m,y:w,isScrolling:g,arrivedState:P,directions:U}}var Wt=Object.defineProperty,Ft=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,le=(t,e,r)=>e in t?Wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ie=(t,e)=>{for(var r in e||(e={}))Jt.call(e,r)&&le(t,r,e[r]);if(se)for(var r of se(e))Gt.call(e,r)&&le(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(B(t,qt(ie({},r),{offset:ie({[i]:(a=r.distance)!=null?a:0},r.offset)})));n.watch(()=>l.arrivedState[i],async c=>{var d,p;if(c){const _=u.resolveUnref(t),m={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-m.height,left:_.scrollWidth-m.width})})}})}const Qt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ue(t,e.value):ue(t,...e.value)}};function ce(t,e,r={}){const{root:o,rootMargin:a="0px",threshold:i=.1,window:l=b}=r,c=z(()=>l&&"IntersectionObserver"in l);let d=u.noop;const p=c.value?n.watch(()=>({el:h(t),root:h(o)}),({el:m,root:w})=>{if(d(),!m)return;const v=new IntersectionObserver(e,{root:w,rootMargin:a,threshold:i});v.observe(m),d=()=>{v.disconnect(),d=u.noop}},{immediate:!0,flush:"post"}):u.noop,_=()=>{d(),p()};return u.tryOnScopeDispose(_),{isSupported:c,stop:_}}const Xt={[u.directiveHooks.mounted](t,e){typeof e.value=="function"?ce(t,e.value):ce(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,fe=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable,de=(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)&&de(t,r,e[r]);if(fe)for(var r of fe(e))rr.call(e,r)&&de(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,ur=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,ve=(t,e,r)=>e in t?lr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dr=(t,e)=>{for(var r in e||(e={}))cr.call(e,r)&&ve(t,r,e[r]);if(pe)for(var r of pe(e))fr.call(e,r)&&ve(t,r,e[r]);return t},pr=(t,e)=>ir(t,ur(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,_e=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,yr=Object.prototype.propertyIsEnumerable,ge=(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)&&ge(t,r,e[r]);if(_e)for(var r of _e(e))yr.call(e,r)&&ge(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,Oe=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,me=(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)&&me(t,r,e[r]);if(Oe)for(var r of Oe(e))Lr.call(e,r)&&me(t,r,e[r]);return t},Mr=(t,e)=>Cr(t,Er(e));const Vr=n.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(t,{slots:e}){const r=n.ref(null),o=n.reactive(f.usePointer(Mr(Ir({},t),{target:t.target==="self"?r:b})));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)}}}),Ar=n.defineComponent({name:"UsePreferredContrast",setup(t,{slots:e}){const r=n.reactive({contrast:f.usePreferredContrast()});return()=>{if(e.default)return e.default(r)}}}),Nr=n.defineComponent({name:"UsePreferredDark",setup(t,{slots:e}){const r=n.reactive({prefersDark:f.usePreferredDark()});return()=>{if(e.default)return e.default(r)}}}),Rr=n.defineComponent({name:"UsePreferredLanguages",setup(t,{slots:e}){const r=n.reactive({languages:f.usePreferredLanguages()});return()=>{if(e.default)return e.default(r)}}}),Hr=n.defineComponent({name:"UsePreferredReducedMotion",setup(t,{slots:e}){const r=n.reactive({motion:f.usePreferredReducedMotion()});return()=>{if(e.default)return e.default(r)}}});function V(t,e,{window:r=b,initialValue:o=""}={}){const a=n.ref(o),i=n.computed(()=>{var l;return h(e)||((l=r==null?void 0:r.document)==null?void 0:l.documentElement)});return n.watch([i,()=>u.resolveUnref(t)],([l,c])=>{var d;if(l&&r){const p=(d=r.getComputedStyle(l).getPropertyValue(c))==null?void 0:d.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",ye="--vueuse-safe-area-right",he="--vueuse-safe-area-bottom",we="--vueuse-safe-area-left";function zr(){const t=n.ref(""),e=n.ref(""),r=n.ref(""),o=n.ref("");if(u.isClient){const i=V(Pe),l=V(ye),c=V(he),d=V(we);i.value="env(safe-area-inset-top, 0px)",l.value="env(safe-area-inset-right, 0px)",c.value="env(safe-area-inset-bottom, 0px)",d.value="env(safe-area-inset-left, 0px)",a(),$("resize",u.useDebounceFn(a))}function a(){t.value=T(Pe),e.value=T(ye),r.value=T(he),o.value=T(we)}return{top:t,right:e,bottom:r,left:o,update:a}}function T(t){return getComputedStyle(document.documentElement).getPropertyValue(t)}const Br=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}=zr();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 kr=Object.defineProperty,Wr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Ue=(t,e,r)=>e in t?kr(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)&&Ue(t,r,e[r]);if(be)for(var r of be(e))Jr.call(e,r)&&Ue(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=B(t,{onScroll(){r(o)},onStop(){r(o)}})}else{const[r,o]=e.value,a=B(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 d=c;a=d.style.overflow,r.value&&(d.style.overflow="hidden")}},{immediate:!0});const i=()=>{const c=u.resolveUnref(t);!c||r.value||(u.isIOS&&(o=$(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,Se=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,$e=(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)&&$e(t,r,e[r]);if(Se)for(var r of Se(e))rn.call(e,r)&&$e(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,un=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,Ee=(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={}))cn.call(e,r)&&Ee(t,r,e[r]);if(Ce)for(var r of Ce(e))fn.call(e,r)&&Ee(t,r,e[r]);return t},pn=(t,e)=>ln(t,un(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,je=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,Ie=(t,e)=>{for(var r in e||(e={}))gn.call(e,r)&&Le(t,r,e[r]);if(je)for(var r of je(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 a.style.height=t.height||"300px",()=>n.h("div",Ie({},a),[n.h("div",Ie({},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=M,s.OnLongPress=ze,s.UseActiveElement=Be,s.UseBattery=ke,s.UseBrowserLocation=We,s.UseColorMode=nt,s.UseDark=ot,s.UseDeviceMotion=at,s.UseDeviceOrientation=st,s.UseDevicePixelRatio=lt,s.UseDevicesList=it,s.UseDocumentVisibility=ut,s.UseDraggable=Ot,s.UseElementBounding=mt,s.UseElementSize=ht,s.UseElementVisibility=Et,s.UseEyeDropper=Lt,s.UseFullscreen=It,s.UseGeolocation=Mt,s.UseIdle=Vt,s.UseImage=kt,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=Vr,s.UsePreferredColorScheme=Tr,s.UsePreferredContrast=Ar,s.UsePreferredDark=Nr,s.UsePreferredLanguages=Rr,s.UsePreferredReducedMotion=Hr,s.UseScreenSafeArea=Br,s.UseTimeAgo=an,s.UseTimestamp=vn,s.UseVirtualList=mn,s.UseWindowFocus=Pn,s.UseWindowSize=yn,s.VOnClickOutside=W,s.VOnLongPress=G,s.vElementHover=yt,s.vElementSize=Ct,s.vElementVisibility=jt,s.vInfiniteScroll=Qt,s.vIntersectionObserver=Xt,s.vOnClickOutside=W,s.vOnKeyStroke=Re,s.vOnLongPress=G,s.vScroll=Qr,s.vScrollLock=Zr,Object.defineProperty(s,"__esModule",{value:!0})})(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, toRef, toRefs } from 'vue-demi';
|
|
1
|
+
import { defineComponent, ref, h, watch, computed, reactive, shallowRef, watchEffect, nextTick, 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, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
|
|
3
|
-
import { resolveUnref, isClient, isString, noop, tryOnScopeDispose, directiveHooks, pausableWatch, isFunction, tryOnMounted,
|
|
3
|
+
import { resolveUnref, isClient, isString, noop, tryOnScopeDispose, directiveHooks, pausableWatch, isFunction, tryOnMounted, resolveRef, useToggle, promiseTimeout, useDebounceFn, useThrottleFn, isIOS } from '@vueuse/shared';
|
|
4
4
|
|
|
5
5
|
const OnClickOutside = defineComponent({
|
|
6
6
|
name: "OnClickOutside",
|
|
@@ -67,23 +67,21 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
67
67
|
const listener = (event) => {
|
|
68
68
|
window.clearTimeout(fallback);
|
|
69
69
|
const el = unrefElement(target);
|
|
70
|
-
|
|
71
|
-
if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
|
|
70
|
+
if (!el || el === event.target || event.composedPath().includes(el) || !shouldListen.value)
|
|
72
71
|
return;
|
|
73
|
-
if (ignore && ignore.length > 0) {
|
|
74
|
-
if (ignore.some((target2) => {
|
|
75
|
-
const el2 = unrefElement(target2);
|
|
76
|
-
return el2 && (event.target === el2 || composedPath.includes(el2));
|
|
77
|
-
}))
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
72
|
handler(event);
|
|
81
73
|
};
|
|
74
|
+
const shouldIgnore = (event) => {
|
|
75
|
+
return ignore && ignore.some((target2) => {
|
|
76
|
+
const el = unrefElement(target2);
|
|
77
|
+
return el && (event.target === el || event.composedPath().includes(el));
|
|
78
|
+
});
|
|
79
|
+
};
|
|
82
80
|
const cleanup = [
|
|
83
81
|
useEventListener(window, "click", listener, { passive: true, capture }),
|
|
84
82
|
useEventListener(window, "pointerdown", (e) => {
|
|
85
83
|
const el = unrefElement(target);
|
|
86
|
-
shouldListen.value = !!el && !e.composedPath().includes(el);
|
|
84
|
+
shouldListen.value = !!el && !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
87
85
|
}, { passive: true }),
|
|
88
86
|
useEventListener(window, "pointerup", (e) => {
|
|
89
87
|
if (e.button === 0) {
|
|
@@ -103,18 +101,20 @@ function onClickOutside(target, handler, options = {}) {
|
|
|
103
101
|
return stop;
|
|
104
102
|
}
|
|
105
103
|
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
104
|
+
const vOnClickOutside = {
|
|
105
|
+
[directiveHooks.mounted](el, binding) {
|
|
106
|
+
const capture = !binding.modifiers.bubble;
|
|
107
|
+
if (typeof binding.value === "function") {
|
|
108
|
+
el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });
|
|
109
|
+
} else {
|
|
110
|
+
const [handler, options] = binding.value;
|
|
111
|
+
el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));
|
|
113
112
|
}
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
},
|
|
114
|
+
[directiveHooks.unmounted](el) {
|
|
115
|
+
el.__onClickOutside_stop();
|
|
116
|
+
}
|
|
116
117
|
};
|
|
117
|
-
const vOnClickOutside = handler();
|
|
118
118
|
|
|
119
119
|
const createKeyPredicate = (keyFilter) => {
|
|
120
120
|
if (typeof keyFilter === "function")
|
|
@@ -123,12 +123,29 @@ const createKeyPredicate = (keyFilter) => {
|
|
|
123
123
|
return (event) => event.key === keyFilter;
|
|
124
124
|
else if (Array.isArray(keyFilter))
|
|
125
125
|
return (event) => keyFilter.includes(event.key);
|
|
126
|
-
|
|
127
|
-
return () => true;
|
|
128
|
-
else
|
|
129
|
-
return () => false;
|
|
126
|
+
return () => true;
|
|
130
127
|
};
|
|
131
|
-
function onKeyStroke(
|
|
128
|
+
function onKeyStroke(...args) {
|
|
129
|
+
let key;
|
|
130
|
+
let handler;
|
|
131
|
+
let options = {};
|
|
132
|
+
if (args.length === 3) {
|
|
133
|
+
key = args[0];
|
|
134
|
+
handler = args[1];
|
|
135
|
+
options = args[2];
|
|
136
|
+
} else if (args.length === 2) {
|
|
137
|
+
if (typeof args[1] === "object") {
|
|
138
|
+
key = true;
|
|
139
|
+
handler = args[0];
|
|
140
|
+
options = args[1];
|
|
141
|
+
} else {
|
|
142
|
+
key = args[0];
|
|
143
|
+
handler = args[1];
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
key = true;
|
|
147
|
+
handler = args[0];
|
|
148
|
+
}
|
|
132
149
|
const { target = defaultWindow, eventName = "keydown", passive = false } = options;
|
|
133
150
|
const predicate = createKeyPredicate(key);
|
|
134
151
|
const listener = (e) => {
|
|
@@ -157,7 +174,7 @@ var __spreadValues$d = (a, b) => {
|
|
|
157
174
|
const vOnKeyStroke = {
|
|
158
175
|
[directiveHooks.mounted](el, binding) {
|
|
159
176
|
var _a, _b;
|
|
160
|
-
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b :
|
|
177
|
+
const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : true;
|
|
161
178
|
if (typeof binding.value === "function") {
|
|
162
179
|
onKeyStroke(keys, binding.value, {
|
|
163
180
|
target: el
|
|
@@ -418,28 +435,27 @@ function useMediaQuery(query, options = {}) {
|
|
|
418
435
|
const isSupported = useSupported(() => window && "matchMedia" in window && typeof window.matchMedia === "function");
|
|
419
436
|
let mediaQuery;
|
|
420
437
|
const matches = ref(false);
|
|
438
|
+
const cleanup = () => {
|
|
439
|
+
if (!mediaQuery)
|
|
440
|
+
return;
|
|
441
|
+
if ("removeEventListener" in mediaQuery)
|
|
442
|
+
mediaQuery.removeEventListener("change", update);
|
|
443
|
+
else
|
|
444
|
+
mediaQuery.removeListener(update);
|
|
445
|
+
};
|
|
421
446
|
const update = () => {
|
|
422
447
|
if (!isSupported.value)
|
|
423
448
|
return;
|
|
424
|
-
|
|
425
|
-
|
|
449
|
+
cleanup();
|
|
450
|
+
mediaQuery = window.matchMedia(resolveRef(query).value);
|
|
426
451
|
matches.value = mediaQuery.matches;
|
|
427
|
-
};
|
|
428
|
-
tryOnBeforeMount(() => {
|
|
429
|
-
update();
|
|
430
|
-
if (!mediaQuery)
|
|
431
|
-
return;
|
|
432
452
|
if ("addEventListener" in mediaQuery)
|
|
433
453
|
mediaQuery.addEventListener("change", update);
|
|
434
454
|
else
|
|
435
455
|
mediaQuery.addListener(update);
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
else
|
|
440
|
-
mediaQuery.removeListener(update);
|
|
441
|
-
});
|
|
442
|
-
});
|
|
456
|
+
};
|
|
457
|
+
watchEffect(update);
|
|
458
|
+
tryOnScopeDispose(() => cleanup());
|
|
443
459
|
return matches;
|
|
444
460
|
}
|
|
445
461
|
|
|
@@ -1011,10 +1027,38 @@ function useScroll(element, options = {}) {
|
|
|
1011
1027
|
eventListenerOptions = {
|
|
1012
1028
|
capture: false,
|
|
1013
1029
|
passive: true
|
|
1014
|
-
}
|
|
1030
|
+
},
|
|
1031
|
+
behavior = "auto"
|
|
1015
1032
|
} = options;
|
|
1016
|
-
const
|
|
1017
|
-
const
|
|
1033
|
+
const internalX = ref(0);
|
|
1034
|
+
const internalY = ref(0);
|
|
1035
|
+
const x = computed({
|
|
1036
|
+
get() {
|
|
1037
|
+
return internalX.value;
|
|
1038
|
+
},
|
|
1039
|
+
set(x2) {
|
|
1040
|
+
scrollTo(x2, void 0);
|
|
1041
|
+
}
|
|
1042
|
+
});
|
|
1043
|
+
const y = computed({
|
|
1044
|
+
get() {
|
|
1045
|
+
return internalY.value;
|
|
1046
|
+
},
|
|
1047
|
+
set(y2) {
|
|
1048
|
+
scrollTo(void 0, y2);
|
|
1049
|
+
}
|
|
1050
|
+
});
|
|
1051
|
+
function scrollTo(_x, _y) {
|
|
1052
|
+
var _a, _b, _c;
|
|
1053
|
+
const _element = resolveUnref(element);
|
|
1054
|
+
if (!_element)
|
|
1055
|
+
return;
|
|
1056
|
+
(_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({
|
|
1057
|
+
top: (_a = resolveUnref(_y)) != null ? _a : y.value,
|
|
1058
|
+
left: (_b = resolveUnref(_x)) != null ? _b : x.value,
|
|
1059
|
+
behavior: resolveUnref(behavior)
|
|
1060
|
+
});
|
|
1061
|
+
}
|
|
1018
1062
|
const isScrolling = ref(false);
|
|
1019
1063
|
const arrivedState = reactive({
|
|
1020
1064
|
left: true,
|
|
@@ -1039,19 +1083,19 @@ function useScroll(element, options = {}) {
|
|
|
1039
1083
|
const onScrollHandler = (e) => {
|
|
1040
1084
|
const eventTarget = e.target === document ? e.target.documentElement : e.target;
|
|
1041
1085
|
const scrollLeft = eventTarget.scrollLeft;
|
|
1042
|
-
directions.left = scrollLeft <
|
|
1043
|
-
directions.right = scrollLeft >
|
|
1086
|
+
directions.left = scrollLeft < internalX.value;
|
|
1087
|
+
directions.right = scrollLeft > internalY.value;
|
|
1044
1088
|
arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
|
|
1045
1089
|
arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1046
|
-
|
|
1090
|
+
internalX.value = scrollLeft;
|
|
1047
1091
|
let scrollTop = eventTarget.scrollTop;
|
|
1048
1092
|
if (e.target === document && !scrollTop)
|
|
1049
1093
|
scrollTop = document.body.scrollTop;
|
|
1050
|
-
directions.top = scrollTop <
|
|
1051
|
-
directions.bottom = scrollTop >
|
|
1094
|
+
directions.top = scrollTop < internalY.value;
|
|
1095
|
+
directions.bottom = scrollTop > internalY.value;
|
|
1052
1096
|
arrivedState.top = scrollTop <= 0 + (offset.top || 0);
|
|
1053
1097
|
arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1054
|
-
|
|
1098
|
+
internalY.value = scrollTop;
|
|
1055
1099
|
isScrolling.value = true;
|
|
1056
1100
|
onScrollEnd(e);
|
|
1057
1101
|
onScroll(e);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vueuse/components",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.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.3.0",
|
|
37
|
+
"@vueuse/shared": "9.3.0",
|
|
38
38
|
"vue-demi": "*"
|
|
39
39
|
}
|
|
40
40
|
}
|