@vueuse/components 10.0.2 → 10.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +139 -90
- package/index.d.ts +18 -6
- package/index.iife.js +139 -90
- package/index.iife.min.js +1 -1
- package/index.mjs +140 -91
- package/package.json +3 -3
package/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, getCurrentInstance, onMounted, watchEffect, toRefs } from 'vue-demi';
|
|
2
2
|
import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
|
|
3
|
-
import { toValue, isClient, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, toRef, tryOnMounted, useToggle, notNullish, promiseTimeout, useDebounceFn, useThrottleFn } from '@vueuse/shared';
|
|
3
|
+
import { toValue, isClient, noop, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, toRef, tryOnMounted, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn } from '@vueuse/shared';
|
|
4
4
|
|
|
5
5
|
const OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
6
6
|
name: "OnClickOutside",
|
|
@@ -185,19 +185,19 @@ function onKeyStroke(...args) {
|
|
|
185
185
|
return useEventListener(target, eventName, listener, passive);
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
var __defProp$
|
|
189
|
-
var __getOwnPropSymbols$
|
|
190
|
-
var __hasOwnProp$
|
|
191
|
-
var __propIsEnum$
|
|
192
|
-
var __defNormalProp$
|
|
193
|
-
var __spreadValues$
|
|
188
|
+
var __defProp$e = Object.defineProperty;
|
|
189
|
+
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
|
|
190
|
+
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
|
|
191
|
+
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
|
|
192
|
+
var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
193
|
+
var __spreadValues$e = (a, b) => {
|
|
194
194
|
for (var prop in b || (b = {}))
|
|
195
|
-
if (__hasOwnProp$
|
|
196
|
-
__defNormalProp$
|
|
197
|
-
if (__getOwnPropSymbols$
|
|
198
|
-
for (var prop of __getOwnPropSymbols$
|
|
199
|
-
if (__propIsEnum$
|
|
200
|
-
__defNormalProp$
|
|
195
|
+
if (__hasOwnProp$g.call(b, prop))
|
|
196
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
197
|
+
if (__getOwnPropSymbols$g)
|
|
198
|
+
for (var prop of __getOwnPropSymbols$g(b)) {
|
|
199
|
+
if (__propIsEnum$g.call(b, prop))
|
|
200
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
201
201
|
}
|
|
202
202
|
return a;
|
|
203
203
|
};
|
|
@@ -211,7 +211,7 @@ const vOnKeyStroke = {
|
|
|
211
211
|
});
|
|
212
212
|
} else {
|
|
213
213
|
const [handler, options] = binding.value;
|
|
214
|
-
onKeyStroke(keys, handler, __spreadValues$
|
|
214
|
+
onKeyStroke(keys, handler, __spreadValues$e({
|
|
215
215
|
target: el
|
|
216
216
|
}, options));
|
|
217
217
|
}
|
|
@@ -332,19 +332,19 @@ function guessSerializerType(rawInit) {
|
|
|
332
332
|
return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
var __defProp$
|
|
336
|
-
var __getOwnPropSymbols$
|
|
337
|
-
var __hasOwnProp$
|
|
338
|
-
var __propIsEnum$
|
|
339
|
-
var __defNormalProp$
|
|
340
|
-
var __spreadValues$
|
|
335
|
+
var __defProp$d = Object.defineProperty;
|
|
336
|
+
var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
|
|
337
|
+
var __hasOwnProp$f = Object.prototype.hasOwnProperty;
|
|
338
|
+
var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
|
|
339
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
340
|
+
var __spreadValues$d = (a, b) => {
|
|
341
341
|
for (var prop in b || (b = {}))
|
|
342
|
-
if (__hasOwnProp$
|
|
343
|
-
__defNormalProp$
|
|
344
|
-
if (__getOwnPropSymbols$
|
|
345
|
-
for (var prop of __getOwnPropSymbols$
|
|
346
|
-
if (__propIsEnum$
|
|
347
|
-
__defNormalProp$
|
|
342
|
+
if (__hasOwnProp$f.call(b, prop))
|
|
343
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
344
|
+
if (__getOwnPropSymbols$f)
|
|
345
|
+
for (var prop of __getOwnPropSymbols$f(b)) {
|
|
346
|
+
if (__propIsEnum$f.call(b, prop))
|
|
347
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
348
348
|
}
|
|
349
349
|
return a;
|
|
350
350
|
};
|
|
@@ -461,7 +461,7 @@ function useStorage(key, defaults, storage, options = {}) {
|
|
|
461
461
|
if (typeof mergeDefaults === "function")
|
|
462
462
|
return mergeDefaults(value, rawInit);
|
|
463
463
|
else if (type === "object" && !Array.isArray(value))
|
|
464
|
-
return __spreadValues$
|
|
464
|
+
return __spreadValues$d(__spreadValues$d({}, rawInit), value);
|
|
465
465
|
return value;
|
|
466
466
|
} else if (typeof rawValue !== "string") {
|
|
467
467
|
return rawValue;
|
|
@@ -548,19 +548,19 @@ function usePreferredDark(options) {
|
|
|
548
548
|
return useMediaQuery("(prefers-color-scheme: dark)", options);
|
|
549
549
|
}
|
|
550
550
|
|
|
551
|
-
var __defProp$
|
|
552
|
-
var __getOwnPropSymbols$
|
|
553
|
-
var __hasOwnProp$
|
|
554
|
-
var __propIsEnum$
|
|
555
|
-
var __defNormalProp$
|
|
556
|
-
var __spreadValues$
|
|
551
|
+
var __defProp$c = Object.defineProperty;
|
|
552
|
+
var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
|
|
553
|
+
var __hasOwnProp$e = Object.prototype.hasOwnProperty;
|
|
554
|
+
var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
|
|
555
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
556
|
+
var __spreadValues$c = (a, b) => {
|
|
557
557
|
for (var prop in b || (b = {}))
|
|
558
|
-
if (__hasOwnProp$
|
|
559
|
-
__defNormalProp$
|
|
560
|
-
if (__getOwnPropSymbols$
|
|
561
|
-
for (var prop of __getOwnPropSymbols$
|
|
562
|
-
if (__propIsEnum$
|
|
563
|
-
__defNormalProp$
|
|
558
|
+
if (__hasOwnProp$e.call(b, prop))
|
|
559
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
560
|
+
if (__getOwnPropSymbols$e)
|
|
561
|
+
for (var prop of __getOwnPropSymbols$e(b)) {
|
|
562
|
+
if (__propIsEnum$e.call(b, prop))
|
|
563
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
564
564
|
}
|
|
565
565
|
return a;
|
|
566
566
|
};
|
|
@@ -577,26 +577,21 @@ function useColorMode(options = {}) {
|
|
|
577
577
|
emitAuto,
|
|
578
578
|
disableTransition = true
|
|
579
579
|
} = options;
|
|
580
|
-
const modes = __spreadValues$
|
|
580
|
+
const modes = __spreadValues$c({
|
|
581
581
|
auto: "",
|
|
582
582
|
light: "light",
|
|
583
583
|
dark: "dark"
|
|
584
584
|
}, options.modes || {});
|
|
585
585
|
const preferredDark = usePreferredDark({ window });
|
|
586
586
|
const system = computed(() => preferredDark.value ? "dark" : "light");
|
|
587
|
-
const store = storageRef || (storageKey == null ?
|
|
588
|
-
const state = computed(
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
},
|
|
592
|
-
set(v) {
|
|
593
|
-
store.value = v;
|
|
594
|
-
}
|
|
595
|
-
});
|
|
587
|
+
const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));
|
|
588
|
+
const state = computed(
|
|
589
|
+
() => store.value === "auto" ? system.value : store.value
|
|
590
|
+
);
|
|
596
591
|
const updateHTMLAttrs = getSSRHandler(
|
|
597
592
|
"updateHTMLAttrs",
|
|
598
593
|
(selector2, attribute2, value) => {
|
|
599
|
-
const el = typeof selector2 === "string" ? window == null ? void 0 : window.document.querySelector(selector2) :
|
|
594
|
+
const el = typeof selector2 === "string" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);
|
|
600
595
|
if (!el)
|
|
601
596
|
return;
|
|
602
597
|
let style;
|
|
@@ -624,8 +619,7 @@ function useColorMode(options = {}) {
|
|
|
624
619
|
);
|
|
625
620
|
function defaultOnChanged(mode) {
|
|
626
621
|
var _a;
|
|
627
|
-
|
|
628
|
-
updateHTMLAttrs(selector, attribute, (_a = modes[resolvedMode]) != null ? _a : resolvedMode);
|
|
622
|
+
updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);
|
|
629
623
|
}
|
|
630
624
|
function onChanged(mode) {
|
|
631
625
|
if (options.onChanged)
|
|
@@ -634,13 +628,19 @@ function useColorMode(options = {}) {
|
|
|
634
628
|
defaultOnChanged(mode);
|
|
635
629
|
}
|
|
636
630
|
watch(state, onChanged, { flush: "post", immediate: true });
|
|
637
|
-
if (emitAuto)
|
|
638
|
-
watch(system, () => onChanged(state.value), { flush: "post" });
|
|
639
631
|
tryOnMounted(() => onChanged(state.value));
|
|
632
|
+
const auto = computed({
|
|
633
|
+
get() {
|
|
634
|
+
return emitAuto ? store.value : state.value;
|
|
635
|
+
},
|
|
636
|
+
set(v) {
|
|
637
|
+
store.value = v;
|
|
638
|
+
}
|
|
639
|
+
});
|
|
640
640
|
try {
|
|
641
|
-
return Object.assign(
|
|
641
|
+
return Object.assign(auto, { store, system, state });
|
|
642
642
|
} catch (e) {
|
|
643
|
-
return
|
|
643
|
+
return auto;
|
|
644
644
|
}
|
|
645
645
|
}
|
|
646
646
|
|
|
@@ -737,25 +737,25 @@ const UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
|
737
737
|
}
|
|
738
738
|
});
|
|
739
739
|
|
|
740
|
-
var __defProp$
|
|
741
|
-
var __defProps$
|
|
742
|
-
var __getOwnPropDescs$
|
|
743
|
-
var __getOwnPropSymbols$
|
|
744
|
-
var __hasOwnProp$
|
|
745
|
-
var __propIsEnum$
|
|
746
|
-
var __defNormalProp$
|
|
747
|
-
var __spreadValues$
|
|
740
|
+
var __defProp$b = Object.defineProperty;
|
|
741
|
+
var __defProps$9 = Object.defineProperties;
|
|
742
|
+
var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
|
|
743
|
+
var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
|
|
744
|
+
var __hasOwnProp$d = Object.prototype.hasOwnProperty;
|
|
745
|
+
var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
|
|
746
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
747
|
+
var __spreadValues$b = (a, b) => {
|
|
748
748
|
for (var prop in b || (b = {}))
|
|
749
|
-
if (__hasOwnProp$
|
|
750
|
-
__defNormalProp$
|
|
751
|
-
if (__getOwnPropSymbols$
|
|
752
|
-
for (var prop of __getOwnPropSymbols$
|
|
753
|
-
if (__propIsEnum$
|
|
754
|
-
__defNormalProp$
|
|
749
|
+
if (__hasOwnProp$d.call(b, prop))
|
|
750
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
751
|
+
if (__getOwnPropSymbols$d)
|
|
752
|
+
for (var prop of __getOwnPropSymbols$d(b)) {
|
|
753
|
+
if (__propIsEnum$d.call(b, prop))
|
|
754
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
755
755
|
}
|
|
756
756
|
return a;
|
|
757
757
|
};
|
|
758
|
-
var __spreadProps$
|
|
758
|
+
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
759
759
|
const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
760
760
|
name: "UseDraggable",
|
|
761
761
|
props: [
|
|
@@ -788,7 +788,7 @@ const UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
|
788
788
|
storageValue.value.x = position.x;
|
|
789
789
|
storageValue.value.y = position.y;
|
|
790
790
|
};
|
|
791
|
-
const data = reactive(useDraggable(target, __spreadProps$
|
|
791
|
+
const data = reactive(useDraggable(target, __spreadProps$9(__spreadValues$b({}, props), {
|
|
792
792
|
handle,
|
|
793
793
|
initialValue,
|
|
794
794
|
onEnd
|
|
@@ -861,17 +861,17 @@ const UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
|
861
861
|
}
|
|
862
862
|
});
|
|
863
863
|
|
|
864
|
-
var __getOwnPropSymbols$
|
|
865
|
-
var __hasOwnProp$
|
|
866
|
-
var __propIsEnum$
|
|
864
|
+
var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
|
|
865
|
+
var __hasOwnProp$c = Object.prototype.hasOwnProperty;
|
|
866
|
+
var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
|
|
867
867
|
var __objRest$1 = (source, exclude) => {
|
|
868
868
|
var target = {};
|
|
869
869
|
for (var prop in source)
|
|
870
|
-
if (__hasOwnProp$
|
|
870
|
+
if (__hasOwnProp$c.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
871
871
|
target[prop] = source[prop];
|
|
872
|
-
if (source != null && __getOwnPropSymbols$
|
|
873
|
-
for (var prop of __getOwnPropSymbols$
|
|
874
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
872
|
+
if (source != null && __getOwnPropSymbols$c)
|
|
873
|
+
for (var prop of __getOwnPropSymbols$c(source)) {
|
|
874
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$c.call(source, prop))
|
|
875
875
|
target[prop] = source[prop];
|
|
876
876
|
}
|
|
877
877
|
return target;
|
|
@@ -1121,6 +1121,25 @@ const UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
|
1121
1121
|
}
|
|
1122
1122
|
});
|
|
1123
1123
|
|
|
1124
|
+
var __defProp$a = Object.defineProperty;
|
|
1125
|
+
var __defProps$8 = Object.defineProperties;
|
|
1126
|
+
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
|
|
1127
|
+
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
|
|
1128
|
+
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
|
|
1129
|
+
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
|
|
1130
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1131
|
+
var __spreadValues$a = (a, b) => {
|
|
1132
|
+
for (var prop in b || (b = {}))
|
|
1133
|
+
if (__hasOwnProp$b.call(b, prop))
|
|
1134
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1135
|
+
if (__getOwnPropSymbols$b)
|
|
1136
|
+
for (var prop of __getOwnPropSymbols$b(b)) {
|
|
1137
|
+
if (__propIsEnum$b.call(b, prop))
|
|
1138
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1139
|
+
}
|
|
1140
|
+
return a;
|
|
1141
|
+
};
|
|
1142
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
1124
1143
|
function useAsyncState(promise, initialState, options) {
|
|
1125
1144
|
const {
|
|
1126
1145
|
immediate = true,
|
|
@@ -1161,13 +1180,23 @@ function useAsyncState(promise, initialState, options) {
|
|
|
1161
1180
|
}
|
|
1162
1181
|
if (immediate)
|
|
1163
1182
|
execute(delay);
|
|
1164
|
-
|
|
1183
|
+
const shell = {
|
|
1165
1184
|
state,
|
|
1166
1185
|
isReady,
|
|
1167
1186
|
isLoading,
|
|
1168
1187
|
error,
|
|
1169
1188
|
execute
|
|
1170
1189
|
};
|
|
1190
|
+
function waitUntilIsLoaded() {
|
|
1191
|
+
return new Promise((resolve, reject) => {
|
|
1192
|
+
until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);
|
|
1193
|
+
});
|
|
1194
|
+
}
|
|
1195
|
+
return __spreadProps$8(__spreadValues$a({}, shell), {
|
|
1196
|
+
then(onFulfilled, onRejected) {
|
|
1197
|
+
return waitUntilIsLoaded().then(onFulfilled, onRejected);
|
|
1198
|
+
}
|
|
1199
|
+
});
|
|
1171
1200
|
}
|
|
1172
1201
|
|
|
1173
1202
|
var __defProp$9 = Object.defineProperty;
|
|
@@ -1189,12 +1218,18 @@ var __spreadValues$9 = (a, b) => {
|
|
|
1189
1218
|
async function loadImage(options) {
|
|
1190
1219
|
return new Promise((resolve, reject) => {
|
|
1191
1220
|
const img = new Image();
|
|
1192
|
-
const { src, srcset, sizes } = options;
|
|
1221
|
+
const { src, srcset, sizes, class: clazz, loading, crossorigin } = options;
|
|
1193
1222
|
img.src = src;
|
|
1194
1223
|
if (srcset)
|
|
1195
1224
|
img.srcset = srcset;
|
|
1196
1225
|
if (sizes)
|
|
1197
1226
|
img.sizes = sizes;
|
|
1227
|
+
if (clazz)
|
|
1228
|
+
img.className = clazz;
|
|
1229
|
+
if (loading)
|
|
1230
|
+
img.loading = loading;
|
|
1231
|
+
if (crossorigin)
|
|
1232
|
+
img.crossOrigin = crossorigin;
|
|
1198
1233
|
img.onload = () => resolve(img);
|
|
1199
1234
|
img.onerror = reject;
|
|
1200
1235
|
});
|
|
@@ -1221,7 +1256,11 @@ const UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({
|
|
|
1221
1256
|
"src",
|
|
1222
1257
|
"srcset",
|
|
1223
1258
|
"sizes",
|
|
1224
|
-
"as"
|
|
1259
|
+
"as",
|
|
1260
|
+
"alt",
|
|
1261
|
+
"class",
|
|
1262
|
+
"loading",
|
|
1263
|
+
"crossorigin"
|
|
1225
1264
|
],
|
|
1226
1265
|
setup(props, { slots }) {
|
|
1227
1266
|
const data = reactive(useImage(props));
|
|
@@ -1309,14 +1348,14 @@ function useScroll(element, options = {}) {
|
|
|
1309
1348
|
onStop(e);
|
|
1310
1349
|
};
|
|
1311
1350
|
const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);
|
|
1312
|
-
const
|
|
1313
|
-
const
|
|
1314
|
-
const { display, flexDirection } = getComputedStyle(
|
|
1315
|
-
const scrollLeft =
|
|
1351
|
+
const setArrivedState = (target) => {
|
|
1352
|
+
const el = target === document ? target.documentElement : target;
|
|
1353
|
+
const { display, flexDirection } = getComputedStyle(el);
|
|
1354
|
+
const scrollLeft = el.scrollLeft;
|
|
1316
1355
|
directions.left = scrollLeft < internalX.value;
|
|
1317
1356
|
directions.right = scrollLeft > internalX.value;
|
|
1318
1357
|
const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);
|
|
1319
|
-
const right = Math.abs(scrollLeft) +
|
|
1358
|
+
const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1320
1359
|
if (display === "flex" && flexDirection === "row-reverse") {
|
|
1321
1360
|
arrivedState.left = right;
|
|
1322
1361
|
arrivedState.right = left;
|
|
@@ -1325,13 +1364,13 @@ function useScroll(element, options = {}) {
|
|
|
1325
1364
|
arrivedState.right = right;
|
|
1326
1365
|
}
|
|
1327
1366
|
internalX.value = scrollLeft;
|
|
1328
|
-
let scrollTop =
|
|
1329
|
-
if (
|
|
1367
|
+
let scrollTop = el.scrollTop;
|
|
1368
|
+
if (target === document && !scrollTop)
|
|
1330
1369
|
scrollTop = document.body.scrollTop;
|
|
1331
1370
|
directions.top = scrollTop < internalY.value;
|
|
1332
1371
|
directions.bottom = scrollTop > internalY.value;
|
|
1333
1372
|
const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);
|
|
1334
|
-
const bottom = Math.abs(scrollTop) +
|
|
1373
|
+
const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
|
1335
1374
|
if (display === "flex" && flexDirection === "column-reverse") {
|
|
1336
1375
|
arrivedState.top = bottom;
|
|
1337
1376
|
arrivedState.bottom = top;
|
|
@@ -1340,6 +1379,10 @@ function useScroll(element, options = {}) {
|
|
|
1340
1379
|
arrivedState.bottom = bottom;
|
|
1341
1380
|
}
|
|
1342
1381
|
internalY.value = scrollTop;
|
|
1382
|
+
};
|
|
1383
|
+
const onScrollHandler = (e) => {
|
|
1384
|
+
const eventTarget = e.target === document ? e.target.documentElement : e.target;
|
|
1385
|
+
setArrivedState(eventTarget);
|
|
1343
1386
|
isScrolling.value = true;
|
|
1344
1387
|
onScrollEndDebounced(e);
|
|
1345
1388
|
onScroll(e);
|
|
@@ -1361,7 +1404,12 @@ function useScroll(element, options = {}) {
|
|
|
1361
1404
|
y,
|
|
1362
1405
|
isScrolling,
|
|
1363
1406
|
arrivedState,
|
|
1364
|
-
directions
|
|
1407
|
+
directions,
|
|
1408
|
+
measure() {
|
|
1409
|
+
const _element = toValue(element);
|
|
1410
|
+
if (_element)
|
|
1411
|
+
setArrivedState(_element);
|
|
1412
|
+
}
|
|
1365
1413
|
};
|
|
1366
1414
|
}
|
|
1367
1415
|
|
|
@@ -1401,6 +1449,7 @@ function useInfiniteScroll(element, onLoadMore, options = {}) {
|
|
|
1401
1449
|
const promise = ref();
|
|
1402
1450
|
const isLoading = computed(() => !!promise.value);
|
|
1403
1451
|
function checkAndLoad() {
|
|
1452
|
+
state.measure();
|
|
1404
1453
|
const el = toValue(element);
|
|
1405
1454
|
if (!el)
|
|
1406
1455
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vueuse/components",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.1.2",
|
|
4
4
|
"description": "Renderless components for VueUse",
|
|
5
5
|
"author": "Jacob Clevenger<https://github.com/wheatjs>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"jsdelivr": "./index.iife.min.js",
|
|
34
34
|
"types": "./index.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@vueuse/core": "10.
|
|
37
|
-
"@vueuse/shared": "10.
|
|
36
|
+
"@vueuse/core": "10.1.2",
|
|
37
|
+
"@vueuse/shared": "10.1.2",
|
|
38
38
|
"vue-demi": ">=0.14.0"
|
|
39
39
|
}
|
|
40
40
|
}
|