@vueuse/components 9.12.0 → 10.0.0-beta.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 +124 -75
- package/index.d.ts +7 -0
- package/index.iife.js +124 -75
- package/index.iife.min.js +1 -1
- package/index.mjs +126 -77
- package/package.json +3 -3
package/index.iife.js
CHANGED
|
@@ -115,7 +115,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
115
115
|
;(function (exports, vueDemi, core, shared) {
|
|
116
116
|
'use strict';
|
|
117
117
|
|
|
118
|
-
const OnClickOutside = /* @__PURE__ */ vueDemi.defineComponent({
|
|
118
|
+
const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
119
119
|
name: "OnClickOutside",
|
|
120
120
|
props: ["as", "options"],
|
|
121
121
|
emits: ["trigger"],
|
|
@@ -161,16 +161,16 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
161
161
|
cleanups.forEach((fn) => fn());
|
|
162
162
|
cleanups.length = 0;
|
|
163
163
|
};
|
|
164
|
-
const register = (el, event, listener) => {
|
|
165
|
-
el.addEventListener(event, listener,
|
|
166
|
-
return () => el.removeEventListener(event, listener,
|
|
164
|
+
const register = (el, event, listener, options2) => {
|
|
165
|
+
el.addEventListener(event, listener, options2);
|
|
166
|
+
return () => el.removeEventListener(event, listener, options2);
|
|
167
167
|
};
|
|
168
|
-
const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
|
|
168
|
+
const stopWatch = vueDemi.watch(() => [unrefElement(target), shared.resolveUnref(options)], ([el, options2]) => {
|
|
169
169
|
cleanup();
|
|
170
170
|
if (!el)
|
|
171
171
|
return;
|
|
172
172
|
cleanups.push(...events.flatMap((event) => {
|
|
173
|
-
return listeners.map((listener) => register(el, event, listener));
|
|
173
|
+
return listeners.map((listener) => register(el, event, listener, options2));
|
|
174
174
|
}));
|
|
175
175
|
}, { immediate: true, flush: "post" });
|
|
176
176
|
const stop = () => {
|
|
@@ -181,12 +181,16 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
181
181
|
return stop;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
let _iOSWorkaround = false;
|
|
184
185
|
function onClickOutside(target, handler, options = {}) {
|
|
185
186
|
const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;
|
|
186
187
|
if (!window)
|
|
187
188
|
return;
|
|
189
|
+
if (shared.isIOS && !_iOSWorkaround) {
|
|
190
|
+
_iOSWorkaround = true;
|
|
191
|
+
Array.from(window.document.body.children).forEach((el) => el.addEventListener("click", shared.noop));
|
|
192
|
+
}
|
|
188
193
|
let shouldListen = true;
|
|
189
|
-
let fallback;
|
|
190
194
|
const shouldIgnore = (event) => {
|
|
191
195
|
return ignore.some((target2) => {
|
|
192
196
|
if (typeof target2 === "string") {
|
|
@@ -198,7 +202,6 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
198
202
|
});
|
|
199
203
|
};
|
|
200
204
|
const listener = (event) => {
|
|
201
|
-
window.clearTimeout(fallback);
|
|
202
205
|
const el = unrefElement(target);
|
|
203
206
|
if (!el || el === event.target || event.composedPath().includes(el))
|
|
204
207
|
return;
|
|
@@ -217,13 +220,6 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
217
220
|
if (el)
|
|
218
221
|
shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
|
|
219
222
|
}, { passive: true }),
|
|
220
|
-
useEventListener(window, "pointerup", (e) => {
|
|
221
|
-
if (e.button === 0) {
|
|
222
|
-
const path = e.composedPath();
|
|
223
|
-
e.composedPath = () => path;
|
|
224
|
-
fallback = window.setTimeout(() => listener(e), 50);
|
|
225
|
-
}
|
|
226
|
-
}, { passive: true }),
|
|
227
223
|
detectIframe && useEventListener(window, "blur", (event) => {
|
|
228
224
|
var _a;
|
|
229
225
|
const el = unrefElement(target);
|
|
@@ -353,7 +349,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
353
349
|
useEventListener(elementRef, "pointerleave", clear, listenerOptions);
|
|
354
350
|
}
|
|
355
351
|
|
|
356
|
-
const OnLongPress = /* @__PURE__ */ vueDemi.defineComponent({
|
|
352
|
+
const OnLongPress = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
357
353
|
name: "OnLongPress",
|
|
358
354
|
props: ["as", "options"],
|
|
359
355
|
emits: ["trigger"],
|
|
@@ -378,7 +374,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
378
374
|
}
|
|
379
375
|
};
|
|
380
376
|
|
|
381
|
-
const UseActiveElement = /* @__PURE__ */ vueDemi.defineComponent({
|
|
377
|
+
const UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
382
378
|
name: "UseActiveElement",
|
|
383
379
|
setup(props, { slots }) {
|
|
384
380
|
const data = vueDemi.reactive({
|
|
@@ -391,7 +387,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
391
387
|
}
|
|
392
388
|
});
|
|
393
389
|
|
|
394
|
-
const UseBattery = /* @__PURE__ */ vueDemi.defineComponent({
|
|
390
|
+
const UseBattery = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
395
391
|
name: "UseBattery",
|
|
396
392
|
setup(props, { slots }) {
|
|
397
393
|
const data = vueDemi.reactive(core.useBattery(props));
|
|
@@ -402,7 +398,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
402
398
|
}
|
|
403
399
|
});
|
|
404
400
|
|
|
405
|
-
const UseBrowserLocation = /* @__PURE__ */ vueDemi.defineComponent({
|
|
401
|
+
const UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
406
402
|
name: "UseBrowserLocation",
|
|
407
403
|
setup(props, { slots }) {
|
|
408
404
|
const data = vueDemi.reactive(core.useBrowserLocation());
|
|
@@ -475,6 +471,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
475
471
|
write: (v) => v.toISOString()
|
|
476
472
|
}
|
|
477
473
|
};
|
|
474
|
+
const customStorageEventName = "vueuse-storage";
|
|
478
475
|
function useStorage(key, defaults, storage, options = {}) {
|
|
479
476
|
var _a;
|
|
480
477
|
const {
|
|
@@ -507,8 +504,10 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
507
504
|
const type = guessSerializerType(rawInit);
|
|
508
505
|
const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];
|
|
509
506
|
const { pause: pauseWatch, resume: resumeWatch } = shared.pausableWatch(data, () => write(data.value), { flush, deep, eventFilter });
|
|
510
|
-
if (window && listenToStorageChanges)
|
|
507
|
+
if (window && listenToStorageChanges) {
|
|
511
508
|
useEventListener(window, "storage", update);
|
|
509
|
+
useEventListener(window, customStorageEventName, updateFromCustomEvent);
|
|
510
|
+
}
|
|
512
511
|
update();
|
|
513
512
|
return data;
|
|
514
513
|
function write(v) {
|
|
@@ -521,11 +520,13 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
521
520
|
if (oldValue !== serialized) {
|
|
522
521
|
storage.setItem(key, serialized);
|
|
523
522
|
if (window) {
|
|
524
|
-
window
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
523
|
+
window.dispatchEvent(new CustomEvent(customStorageEventName, {
|
|
524
|
+
detail: {
|
|
525
|
+
key,
|
|
526
|
+
oldValue,
|
|
527
|
+
newValue: serialized,
|
|
528
|
+
storageArea: storage
|
|
529
|
+
}
|
|
529
530
|
}));
|
|
530
531
|
}
|
|
531
532
|
}
|
|
@@ -553,6 +554,9 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
553
554
|
return serializer.read(rawValue);
|
|
554
555
|
}
|
|
555
556
|
}
|
|
557
|
+
function updateFromCustomEvent(event) {
|
|
558
|
+
update(event.detail);
|
|
559
|
+
}
|
|
556
560
|
function update(event) {
|
|
557
561
|
if (event && event.storageArea !== storage)
|
|
558
562
|
return;
|
|
@@ -643,7 +647,8 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
643
647
|
storageKey = "vueuse-color-scheme",
|
|
644
648
|
listenToStorageChanges = true,
|
|
645
649
|
storageRef,
|
|
646
|
-
emitAuto
|
|
650
|
+
emitAuto,
|
|
651
|
+
disableTransition = false
|
|
647
652
|
} = options;
|
|
648
653
|
const modes = __spreadValues$b({
|
|
649
654
|
auto: "",
|
|
@@ -665,6 +670,13 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
665
670
|
const el = window == null ? void 0 : window.document.querySelector(selector2);
|
|
666
671
|
if (!el)
|
|
667
672
|
return;
|
|
673
|
+
let style;
|
|
674
|
+
if (disableTransition) {
|
|
675
|
+
style = window.document.createElement("style");
|
|
676
|
+
style.type = "text/css";
|
|
677
|
+
style.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"));
|
|
678
|
+
window.document.head.appendChild(style);
|
|
679
|
+
}
|
|
668
680
|
if (attribute2 === "class") {
|
|
669
681
|
const current = value.split(/\s/g);
|
|
670
682
|
Object.values(modes).flatMap((i) => (i || "").split(/\s/g)).filter(Boolean).forEach((v) => {
|
|
@@ -676,6 +688,10 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
676
688
|
} else {
|
|
677
689
|
el.setAttribute(attribute2, value);
|
|
678
690
|
}
|
|
691
|
+
if (disableTransition) {
|
|
692
|
+
window.getComputedStyle(style).opacity;
|
|
693
|
+
document.head.removeChild(style);
|
|
694
|
+
}
|
|
679
695
|
});
|
|
680
696
|
function defaultOnChanged(mode) {
|
|
681
697
|
var _a;
|
|
@@ -695,7 +711,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
695
711
|
return state;
|
|
696
712
|
}
|
|
697
713
|
|
|
698
|
-
const UseColorMode = /* @__PURE__ */ vueDemi.defineComponent({
|
|
714
|
+
const UseColorMode = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
699
715
|
name: "UseColorMode",
|
|
700
716
|
props: ["selector", "attribute", "modes", "onChanged", "storageKey", "storage", "emitAuto"],
|
|
701
717
|
setup(props, { slots }) {
|
|
@@ -710,7 +726,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
710
726
|
}
|
|
711
727
|
});
|
|
712
728
|
|
|
713
|
-
const UseDark = /* @__PURE__ */ vueDemi.defineComponent({
|
|
729
|
+
const UseDark = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
714
730
|
name: "UseDark",
|
|
715
731
|
props: ["selector", "attribute", "valueDark", "valueLight", "onChanged", "storageKey", "storage"],
|
|
716
732
|
setup(props, { slots }) {
|
|
@@ -726,7 +742,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
726
742
|
}
|
|
727
743
|
});
|
|
728
744
|
|
|
729
|
-
const UseDeviceMotion = /* @__PURE__ */ vueDemi.defineComponent({
|
|
745
|
+
const UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
730
746
|
name: "UseDeviceMotion",
|
|
731
747
|
setup(props, { slots }) {
|
|
732
748
|
const data = vueDemi.reactive(core.useDeviceMotion());
|
|
@@ -737,7 +753,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
737
753
|
}
|
|
738
754
|
});
|
|
739
755
|
|
|
740
|
-
const UseDeviceOrientation = /* @__PURE__ */ vueDemi.defineComponent({
|
|
756
|
+
const UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
741
757
|
name: "UseDeviceOrientation",
|
|
742
758
|
setup(props, { slots }) {
|
|
743
759
|
const data = vueDemi.reactive(core.useDeviceOrientation());
|
|
@@ -748,7 +764,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
748
764
|
}
|
|
749
765
|
});
|
|
750
766
|
|
|
751
|
-
const UseDevicePixelRatio = /* @__PURE__ */ vueDemi.defineComponent({
|
|
767
|
+
const UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
752
768
|
name: "UseDevicePixelRatio",
|
|
753
769
|
setup(props, { slots }) {
|
|
754
770
|
const data = vueDemi.reactive({
|
|
@@ -761,7 +777,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
761
777
|
}
|
|
762
778
|
});
|
|
763
779
|
|
|
764
|
-
const UseDevicesList = /* @__PURE__ */ vueDemi.defineComponent({
|
|
780
|
+
const UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
765
781
|
name: "UseDevicesList",
|
|
766
782
|
props: ["onUpdated", "requestPermissions", "constraints"],
|
|
767
783
|
setup(props, { slots }) {
|
|
@@ -773,7 +789,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
773
789
|
}
|
|
774
790
|
});
|
|
775
791
|
|
|
776
|
-
const UseDocumentVisibility = /* @__PURE__ */ vueDemi.defineComponent({
|
|
792
|
+
const UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
777
793
|
name: "UseDocumentVisibility",
|
|
778
794
|
setup(props, { slots }) {
|
|
779
795
|
const data = vueDemi.reactive({
|
|
@@ -805,7 +821,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
805
821
|
return a;
|
|
806
822
|
};
|
|
807
823
|
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
808
|
-
const UseDraggable = /* @__PURE__ */ vueDemi.defineComponent({
|
|
824
|
+
const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
809
825
|
name: "UseDraggable",
|
|
810
826
|
props: [
|
|
811
827
|
"storageKey",
|
|
@@ -844,7 +860,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
844
860
|
}
|
|
845
861
|
});
|
|
846
862
|
|
|
847
|
-
const UseElementBounding = /* @__PURE__ */ vueDemi.defineComponent({
|
|
863
|
+
const UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
848
864
|
name: "UseElementBounding",
|
|
849
865
|
props: ["box", "as"],
|
|
850
866
|
setup(props, { slots }) {
|
|
@@ -857,10 +873,29 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
857
873
|
}
|
|
858
874
|
});
|
|
859
875
|
|
|
860
|
-
function useElementHover(el) {
|
|
876
|
+
function useElementHover(el, options = {}) {
|
|
877
|
+
const {
|
|
878
|
+
delayEnter = 0,
|
|
879
|
+
delayLeave = 0,
|
|
880
|
+
window = defaultWindow
|
|
881
|
+
} = options;
|
|
861
882
|
const isHovered = vueDemi.ref(false);
|
|
862
|
-
|
|
863
|
-
|
|
883
|
+
let timer;
|
|
884
|
+
const toggle = (entering) => {
|
|
885
|
+
const delay = entering ? delayEnter : delayLeave;
|
|
886
|
+
if (timer) {
|
|
887
|
+
clearTimeout(timer);
|
|
888
|
+
timer = void 0;
|
|
889
|
+
}
|
|
890
|
+
if (delay)
|
|
891
|
+
timer = setTimeout(() => isHovered.value = entering, delay);
|
|
892
|
+
else
|
|
893
|
+
isHovered.value = entering;
|
|
894
|
+
};
|
|
895
|
+
if (!window)
|
|
896
|
+
return isHovered;
|
|
897
|
+
useEventListener(el, "mouseenter", () => toggle(true), { passive: true });
|
|
898
|
+
useEventListener(el, "mouseleave", () => toggle(false), { passive: true });
|
|
864
899
|
return isHovered;
|
|
865
900
|
}
|
|
866
901
|
|
|
@@ -873,7 +908,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
873
908
|
}
|
|
874
909
|
};
|
|
875
910
|
|
|
876
|
-
const UseElementSize = /* @__PURE__ */ vueDemi.defineComponent({
|
|
911
|
+
const UseElementSize = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
877
912
|
name: "UseElementSize",
|
|
878
913
|
props: ["width", "height", "box"],
|
|
879
914
|
setup(props, { slots }) {
|
|
@@ -977,7 +1012,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
977
1012
|
}
|
|
978
1013
|
};
|
|
979
1014
|
|
|
980
|
-
const UseElementVisibility = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1015
|
+
const UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
981
1016
|
name: "UseElementVisibility",
|
|
982
1017
|
props: ["as"],
|
|
983
1018
|
setup(props, { slots }) {
|
|
@@ -1030,7 +1065,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1030
1065
|
}
|
|
1031
1066
|
};
|
|
1032
1067
|
|
|
1033
|
-
const UseEyeDropper = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1068
|
+
const UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1034
1069
|
name: "UseEyeDropper",
|
|
1035
1070
|
props: {
|
|
1036
1071
|
sRGBHex: String
|
|
@@ -1044,7 +1079,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1044
1079
|
}
|
|
1045
1080
|
});
|
|
1046
1081
|
|
|
1047
|
-
const UseFullscreen = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1082
|
+
const UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1048
1083
|
name: "UseFullscreen",
|
|
1049
1084
|
props: ["as"],
|
|
1050
1085
|
setup(props, { slots }) {
|
|
@@ -1057,7 +1092,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1057
1092
|
}
|
|
1058
1093
|
});
|
|
1059
1094
|
|
|
1060
|
-
const UseGeolocation = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1095
|
+
const UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1061
1096
|
name: "UseGeolocation",
|
|
1062
1097
|
props: ["enableHighAccuracy", "maximumAge", "timeout", "navigator"],
|
|
1063
1098
|
setup(props, { slots }) {
|
|
@@ -1069,7 +1104,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1069
1104
|
}
|
|
1070
1105
|
});
|
|
1071
1106
|
|
|
1072
|
-
const UseIdle = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1107
|
+
const UseIdle = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1073
1108
|
name: "UseIdle",
|
|
1074
1109
|
props: ["timeout", "events", "listenForVisibilityChange", "initialState"],
|
|
1075
1110
|
setup(props, { slots }) {
|
|
@@ -1167,7 +1202,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1167
1202
|
return state;
|
|
1168
1203
|
};
|
|
1169
1204
|
|
|
1170
|
-
const UseImage = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1205
|
+
const UseImage = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1171
1206
|
name: "UseImage",
|
|
1172
1207
|
props: [
|
|
1173
1208
|
"src",
|
|
@@ -1250,14 +1285,17 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1250
1285
|
top: false,
|
|
1251
1286
|
bottom: false
|
|
1252
1287
|
});
|
|
1253
|
-
const onScrollEnd =
|
|
1288
|
+
const onScrollEnd = (e) => {
|
|
1289
|
+
if (!isScrolling.value)
|
|
1290
|
+
return;
|
|
1254
1291
|
isScrolling.value = false;
|
|
1255
1292
|
directions.left = false;
|
|
1256
1293
|
directions.right = false;
|
|
1257
1294
|
directions.top = false;
|
|
1258
1295
|
directions.bottom = false;
|
|
1259
1296
|
onStop(e);
|
|
1260
|
-
}
|
|
1297
|
+
};
|
|
1298
|
+
const onScrollEndDebounced = shared.useDebounceFn(onScrollEnd, throttle + idle);
|
|
1261
1299
|
const onScrollHandler = (e) => {
|
|
1262
1300
|
const eventTarget = e.target === document ? e.target.documentElement : e.target;
|
|
1263
1301
|
const scrollLeft = eventTarget.scrollLeft;
|
|
@@ -1275,10 +1313,11 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1275
1313
|
arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1276
1314
|
internalY.value = scrollTop;
|
|
1277
1315
|
isScrolling.value = true;
|
|
1278
|
-
|
|
1316
|
+
onScrollEndDebounced(e);
|
|
1279
1317
|
onScroll(e);
|
|
1280
1318
|
};
|
|
1281
1319
|
useEventListener(element, "scroll", throttle ? shared.useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
|
|
1320
|
+
useEventListener(element, "scrollend", onScrollEnd, eventListenerOptions);
|
|
1282
1321
|
return {
|
|
1283
1322
|
x,
|
|
1284
1323
|
y,
|
|
@@ -1392,7 +1431,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1392
1431
|
}
|
|
1393
1432
|
};
|
|
1394
1433
|
|
|
1395
|
-
const UseMouse = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1434
|
+
const UseMouse = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1396
1435
|
name: "UseMouse",
|
|
1397
1436
|
props: ["touch", "resetOnTouchEnds", "initialValue"],
|
|
1398
1437
|
setup(props, { slots }) {
|
|
@@ -1404,7 +1443,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1404
1443
|
}
|
|
1405
1444
|
});
|
|
1406
1445
|
|
|
1407
|
-
const UseMouseInElement = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1446
|
+
const UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1408
1447
|
name: "UseMouseElement",
|
|
1409
1448
|
props: ["handleOutside", "as"],
|
|
1410
1449
|
setup(props, { slots }) {
|
|
@@ -1436,7 +1475,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1436
1475
|
return a;
|
|
1437
1476
|
};
|
|
1438
1477
|
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
1439
|
-
const UseMousePressed = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1478
|
+
const UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1440
1479
|
name: "UseMousePressed",
|
|
1441
1480
|
props: ["touch", "initialValue", "as"],
|
|
1442
1481
|
setup(props, { slots }) {
|
|
@@ -1449,7 +1488,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1449
1488
|
}
|
|
1450
1489
|
});
|
|
1451
1490
|
|
|
1452
|
-
const UseNetwork = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1491
|
+
const UseNetwork = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1453
1492
|
name: "UseNetwork",
|
|
1454
1493
|
setup(props, { slots }) {
|
|
1455
1494
|
const data = vueDemi.reactive(core.useNetwork());
|
|
@@ -1479,7 +1518,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1479
1518
|
return a;
|
|
1480
1519
|
};
|
|
1481
1520
|
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
1482
|
-
const UseNow = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1521
|
+
const UseNow = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1483
1522
|
name: "UseNow",
|
|
1484
1523
|
props: ["interval"],
|
|
1485
1524
|
setup(props, { slots }) {
|
|
@@ -1491,7 +1530,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1491
1530
|
}
|
|
1492
1531
|
});
|
|
1493
1532
|
|
|
1494
|
-
const UseObjectUrl = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1533
|
+
const UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1495
1534
|
name: "UseObjectUrl",
|
|
1496
1535
|
props: [
|
|
1497
1536
|
"object"
|
|
@@ -1525,7 +1564,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1525
1564
|
return a;
|
|
1526
1565
|
};
|
|
1527
1566
|
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
1528
|
-
const UseOffsetPagination = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1567
|
+
const UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1529
1568
|
name: "UseOffsetPagination",
|
|
1530
1569
|
props: [
|
|
1531
1570
|
"total",
|
|
@@ -1565,7 +1604,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1565
1604
|
}
|
|
1566
1605
|
});
|
|
1567
1606
|
|
|
1568
|
-
const UseOnline = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1607
|
+
const UseOnline = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1569
1608
|
name: "UseOnline",
|
|
1570
1609
|
setup(props, { slots }) {
|
|
1571
1610
|
const data = vueDemi.reactive({
|
|
@@ -1578,7 +1617,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1578
1617
|
}
|
|
1579
1618
|
});
|
|
1580
1619
|
|
|
1581
|
-
const UsePageLeave = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1620
|
+
const UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1582
1621
|
name: "UsePageLeave",
|
|
1583
1622
|
setup(props, { slots }) {
|
|
1584
1623
|
const data = vueDemi.reactive({
|
|
@@ -1610,7 +1649,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1610
1649
|
return a;
|
|
1611
1650
|
};
|
|
1612
1651
|
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
1613
|
-
const UsePointer = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1652
|
+
const UsePointer = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1614
1653
|
name: "UsePointer",
|
|
1615
1654
|
props: [
|
|
1616
1655
|
"pointerTypes",
|
|
@@ -1629,7 +1668,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1629
1668
|
}
|
|
1630
1669
|
});
|
|
1631
1670
|
|
|
1632
|
-
const UsePointerLock = vueDemi.defineComponent({
|
|
1671
|
+
const UsePointerLock = /* #__PURE__ */ vueDemi.defineComponent({
|
|
1633
1672
|
name: "UsePointerLock",
|
|
1634
1673
|
props: ["as"],
|
|
1635
1674
|
setup(props, { slots }) {
|
|
@@ -1642,7 +1681,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1642
1681
|
}
|
|
1643
1682
|
});
|
|
1644
1683
|
|
|
1645
|
-
const UsePreferredColorScheme = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1684
|
+
const UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1646
1685
|
name: "UsePreferredColorScheme",
|
|
1647
1686
|
setup(props, { slots }) {
|
|
1648
1687
|
const data = vueDemi.reactive({
|
|
@@ -1655,7 +1694,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1655
1694
|
}
|
|
1656
1695
|
});
|
|
1657
1696
|
|
|
1658
|
-
const UsePreferredContrast = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1697
|
+
const UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1659
1698
|
name: "UsePreferredContrast",
|
|
1660
1699
|
setup(props, { slots }) {
|
|
1661
1700
|
const data = vueDemi.reactive({
|
|
@@ -1668,7 +1707,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1668
1707
|
}
|
|
1669
1708
|
});
|
|
1670
1709
|
|
|
1671
|
-
const UsePreferredDark = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1710
|
+
const UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1672
1711
|
name: "UsePreferredDark",
|
|
1673
1712
|
setup(props, { slots }) {
|
|
1674
1713
|
const data = vueDemi.reactive({
|
|
@@ -1681,7 +1720,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1681
1720
|
}
|
|
1682
1721
|
});
|
|
1683
1722
|
|
|
1684
|
-
const UsePreferredLanguages = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1723
|
+
const UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1685
1724
|
name: "UsePreferredLanguages",
|
|
1686
1725
|
setup(props, { slots }) {
|
|
1687
1726
|
const data = vueDemi.reactive({
|
|
@@ -1694,7 +1733,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1694
1733
|
}
|
|
1695
1734
|
});
|
|
1696
1735
|
|
|
1697
|
-
const UsePreferredReducedMotion = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1736
|
+
const UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1698
1737
|
name: "UsePreferredReducedMotion",
|
|
1699
1738
|
setup(props, { slots }) {
|
|
1700
1739
|
const data = vueDemi.reactive({
|
|
@@ -1707,19 +1746,29 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1707
1746
|
}
|
|
1708
1747
|
});
|
|
1709
1748
|
|
|
1710
|
-
function useCssVar(prop, target,
|
|
1749
|
+
function useCssVar(prop, target, options = {}) {
|
|
1750
|
+
const { window = defaultWindow, initialValue = "", observe = false } = options;
|
|
1711
1751
|
const variable = vueDemi.ref(initialValue);
|
|
1712
1752
|
const elRef = vueDemi.computed(() => {
|
|
1713
1753
|
var _a;
|
|
1714
1754
|
return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);
|
|
1715
1755
|
});
|
|
1716
|
-
|
|
1756
|
+
function updateCssVar() {
|
|
1717
1757
|
var _a;
|
|
1758
|
+
const key = shared.resolveUnref(prop);
|
|
1759
|
+
const el = shared.resolveUnref(elRef);
|
|
1718
1760
|
if (el && window) {
|
|
1719
|
-
const value = (_a = window.getComputedStyle(el).getPropertyValue(
|
|
1761
|
+
const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();
|
|
1720
1762
|
variable.value = value || initialValue;
|
|
1721
1763
|
}
|
|
1722
|
-
}
|
|
1764
|
+
}
|
|
1765
|
+
if (observe) {
|
|
1766
|
+
core.useMutationObserver(elRef, updateCssVar, {
|
|
1767
|
+
attributes: true,
|
|
1768
|
+
window
|
|
1769
|
+
});
|
|
1770
|
+
}
|
|
1771
|
+
vueDemi.watch([elRef, () => shared.resolveUnref(prop)], updateCssVar, { immediate: true });
|
|
1723
1772
|
vueDemi.watch(variable, (val) => {
|
|
1724
1773
|
var _a;
|
|
1725
1774
|
if ((_a = elRef.value) == null ? void 0 : _a.style)
|
|
@@ -1767,7 +1816,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1767
1816
|
return getComputedStyle(document.documentElement).getPropertyValue(position);
|
|
1768
1817
|
}
|
|
1769
1818
|
|
|
1770
|
-
const UseScreenSafeArea = /* @__PURE__ */ vueDemi.defineComponent({
|
|
1819
|
+
const UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1771
1820
|
name: "UseScreenSafeArea",
|
|
1772
1821
|
props: {
|
|
1773
1822
|
top: Boolean,
|
|
@@ -1852,7 +1901,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1852
1901
|
|
|
1853
1902
|
function checkOverflowScroll(ele) {
|
|
1854
1903
|
const style = window.getComputedStyle(ele);
|
|
1855
|
-
if (style.overflowX === "scroll" || style.overflowY === "scroll") {
|
|
1904
|
+
if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientHeight < ele.scrollHeight || style.overflowY === "auto" && ele.clientWidth < ele.scrollWidth) {
|
|
1856
1905
|
return true;
|
|
1857
1906
|
} else {
|
|
1858
1907
|
const parent = ele.parentNode;
|
|
@@ -1953,7 +2002,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1953
2002
|
return a;
|
|
1954
2003
|
};
|
|
1955
2004
|
var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
|
|
1956
|
-
const UseTimeAgo = /* @__PURE__ */ vueDemi.defineComponent({
|
|
2005
|
+
const UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1957
2006
|
name: "UseTimeAgo",
|
|
1958
2007
|
props: ["time", "updateInterval", "max", "fullDateFormatter", "messages", "showSecond"],
|
|
1959
2008
|
setup(props, { slots }) {
|
|
@@ -1984,7 +2033,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
1984
2033
|
return a;
|
|
1985
2034
|
};
|
|
1986
2035
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1987
|
-
const UseTimestamp = /* @__PURE__ */ vueDemi.defineComponent({
|
|
2036
|
+
const UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
1988
2037
|
name: "UseTimestamp",
|
|
1989
2038
|
props: ["immediate", "interval", "offset"],
|
|
1990
2039
|
setup(props, { slots }) {
|
|
@@ -2012,7 +2061,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
2012
2061
|
}
|
|
2013
2062
|
return a;
|
|
2014
2063
|
};
|
|
2015
|
-
const UseVirtualList = /* @__PURE__ */ vueDemi.defineComponent({
|
|
2064
|
+
const UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
2016
2065
|
name: "UseVirtualList",
|
|
2017
2066
|
props: [
|
|
2018
2067
|
"list",
|
|
@@ -2030,7 +2079,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
2030
2079
|
}
|
|
2031
2080
|
});
|
|
2032
2081
|
|
|
2033
|
-
const UseWindowFocus = /* @__PURE__ */ vueDemi.defineComponent({
|
|
2082
|
+
const UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
2034
2083
|
name: "UseWindowFocus",
|
|
2035
2084
|
setup(props, { slots }) {
|
|
2036
2085
|
const data = vueDemi.reactive({
|
|
@@ -2043,7 +2092,7 @@ var VueDemi = (function (VueDemi, Vue, VueCompositionAPI) {
|
|
|
2043
2092
|
}
|
|
2044
2093
|
});
|
|
2045
2094
|
|
|
2046
|
-
const UseWindowSize = /* @__PURE__ */ vueDemi.defineComponent({
|
|
2095
|
+
const UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ vueDemi.defineComponent({
|
|
2047
2096
|
name: "UseWindowSize",
|
|
2048
2097
|
props: ["initialWidth", "initialHeight"],
|
|
2049
2098
|
setup(props, { slots }) {
|