@vueuse/components 7.6.2 → 8.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, h, unref, watch, computed, reactive, shallowRef, toRef, toRefs } from 'vue-demi';
2
2
  import { onClickOutside as onClickOutside$1, unrefElement as unrefElement$1, useEventListener as useEventListener$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOffsetPagination, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark as usePreferredDark$1, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
3
- import { isClient, isString, noop, tryOnScopeDispose, watchWithFilter, tryOnMounted, useToggle, useDebounceFn } from '@vueuse/shared';
3
+ import { isClient, isString, noop, tryOnScopeDispose, watchWithFilter, tryOnMounted, useToggle, useDebounceFn, useThrottleFn } from '@vueuse/shared';
4
4
 
5
5
  const OnClickOutside = defineComponent({
6
6
  name: "OnClickOutside",
@@ -92,6 +92,59 @@ const VOnClickOutside = (el, binding) => {
92
92
  onClickOutside(el, binding.value);
93
93
  };
94
94
 
95
+ const createKeyPredicate = (keyFilter) => {
96
+ if (typeof keyFilter === "function")
97
+ return keyFilter;
98
+ else if (typeof keyFilter === "string")
99
+ return (event) => event.key === keyFilter;
100
+ else if (Array.isArray(keyFilter))
101
+ return (event) => keyFilter.includes(event.key);
102
+ else if (keyFilter)
103
+ return () => true;
104
+ else
105
+ return () => false;
106
+ };
107
+ function onKeyStroke(key, handler, options = {}) {
108
+ const { target = defaultWindow, eventName = "keydown", passive = false } = options;
109
+ const predicate = createKeyPredicate(key);
110
+ const listener = (e) => {
111
+ if (predicate(e))
112
+ handler(e);
113
+ };
114
+ return useEventListener(target, eventName, listener, passive);
115
+ }
116
+
117
+ var __defProp$b = Object.defineProperty;
118
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
119
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
120
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
121
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
122
+ var __spreadValues$b = (a, b) => {
123
+ for (var prop in b || (b = {}))
124
+ if (__hasOwnProp$b.call(b, prop))
125
+ __defNormalProp$b(a, prop, b[prop]);
126
+ if (__getOwnPropSymbols$b)
127
+ for (var prop of __getOwnPropSymbols$b(b)) {
128
+ if (__propIsEnum$b.call(b, prop))
129
+ __defNormalProp$b(a, prop, b[prop]);
130
+ }
131
+ return a;
132
+ };
133
+ const vOnKeyStroke = (el, binding) => {
134
+ var _a, _b;
135
+ const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : [];
136
+ if (typeof binding.value === "function") {
137
+ onKeyStroke(keys, binding.value, {
138
+ target: el
139
+ });
140
+ } else {
141
+ const [handler, options] = binding.value;
142
+ onKeyStroke(keys, handler, __spreadValues$b({
143
+ target: el
144
+ }, options));
145
+ }
146
+ };
147
+
95
148
  const DEFAULT_DELAY = 500;
96
149
  function onLongPress(target, handler, options) {
97
150
  const elementRef = computed(() => unrefElement$1(target));
@@ -132,7 +185,7 @@ const VOnLongPress = (el, binding) => {
132
185
  if (typeof binding.value === "function")
133
186
  onLongPress(el, binding.value);
134
187
  else
135
- onLongPress(el, binding.value.handler, binding.value.options);
188
+ onLongPress(el, ...binding.value);
136
189
  };
137
190
 
138
191
  const UseActiveElement = defineComponent({
@@ -313,19 +366,19 @@ function usePreferredDark(options) {
313
366
  return useMediaQuery("(prefers-color-scheme: dark)", options);
314
367
  }
315
368
 
316
- var __defProp$8 = Object.defineProperty;
317
- var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
318
- var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
319
- var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
320
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
321
- var __spreadValues$8 = (a, b) => {
369
+ var __defProp$a = Object.defineProperty;
370
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
371
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
372
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
373
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
374
+ var __spreadValues$a = (a, b) => {
322
375
  for (var prop in b || (b = {}))
323
- if (__hasOwnProp$8.call(b, prop))
324
- __defNormalProp$8(a, prop, b[prop]);
325
- if (__getOwnPropSymbols$8)
326
- for (var prop of __getOwnPropSymbols$8(b)) {
327
- if (__propIsEnum$8.call(b, prop))
328
- __defNormalProp$8(a, prop, b[prop]);
376
+ if (__hasOwnProp$a.call(b, prop))
377
+ __defNormalProp$a(a, prop, b[prop]);
378
+ if (__getOwnPropSymbols$a)
379
+ for (var prop of __getOwnPropSymbols$a(b)) {
380
+ if (__propIsEnum$a.call(b, prop))
381
+ __defNormalProp$a(a, prop, b[prop]);
329
382
  }
330
383
  return a;
331
384
  };
@@ -339,7 +392,7 @@ function useColorMode(options = {}) {
339
392
  listenToStorageChanges = true,
340
393
  storageRef
341
394
  } = options;
342
- const modes = __spreadValues$8({
395
+ const modes = __spreadValues$a({
343
396
  auto: "",
344
397
  light: "light",
345
398
  dark: "dark"
@@ -477,25 +530,25 @@ const UseDocumentVisibility = defineComponent({
477
530
  }
478
531
  });
479
532
 
480
- var __defProp$7 = Object.defineProperty;
481
- var __defProps$6 = Object.defineProperties;
482
- var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
483
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
484
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
485
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
486
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
487
- var __spreadValues$7 = (a, b) => {
533
+ var __defProp$9 = Object.defineProperty;
534
+ var __defProps$8 = Object.defineProperties;
535
+ var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
536
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
537
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
538
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
539
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
540
+ var __spreadValues$9 = (a, b) => {
488
541
  for (var prop in b || (b = {}))
489
- if (__hasOwnProp$7.call(b, prop))
490
- __defNormalProp$7(a, prop, b[prop]);
491
- if (__getOwnPropSymbols$7)
492
- for (var prop of __getOwnPropSymbols$7(b)) {
493
- if (__propIsEnum$7.call(b, prop))
494
- __defNormalProp$7(a, prop, b[prop]);
542
+ if (__hasOwnProp$9.call(b, prop))
543
+ __defNormalProp$9(a, prop, b[prop]);
544
+ if (__getOwnPropSymbols$9)
545
+ for (var prop of __getOwnPropSymbols$9(b)) {
546
+ if (__propIsEnum$9.call(b, prop))
547
+ __defNormalProp$9(a, prop, b[prop]);
495
548
  }
496
549
  return a;
497
550
  };
498
- var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
551
+ var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
499
552
  const UseDraggable = defineComponent({
500
553
  name: "UseDraggable",
501
554
  props: [
@@ -510,7 +563,7 @@ const UseDraggable = defineComponent({
510
563
  setup(props, { slots }) {
511
564
  const target = ref();
512
565
  const initialValue = props.storageKey ? useStorage$1(props.storageKey, unref(props.initialValue) || { x: 0, y: 0 }, isClient$1 ? props.storageType === "session" ? sessionStorage : localStorage : void 0) : props.initialValue || { x: 0, y: 0 };
513
- const data = reactive(useDraggable(target, __spreadProps$6(__spreadValues$7({}, props), {
566
+ const data = reactive(useDraggable(target, __spreadProps$8(__spreadValues$9({}, props), {
514
567
  initialValue
515
568
  })));
516
569
  return () => {
@@ -533,6 +586,20 @@ const UseElementBounding = defineComponent({
533
586
  }
534
587
  });
535
588
 
589
+ function useElementHover(el) {
590
+ const isHovered = ref(false);
591
+ useEventListener(el, "mouseenter", () => isHovered.value = true);
592
+ useEventListener(el, "mouseleave", () => isHovered.value = false);
593
+ return isHovered;
594
+ }
595
+
596
+ const vElementHover = (el, binding) => {
597
+ if (typeof binding.value === "function") {
598
+ const isHovered = useElementHover(el);
599
+ watch(isHovered, (v) => binding.value(v));
600
+ }
601
+ };
602
+
536
603
  const UseElementSize = defineComponent({
537
604
  name: "UseElementSize",
538
605
  props: ["width", "height", "box"],
@@ -612,6 +679,160 @@ const UseIdle = defineComponent({
612
679
  }
613
680
  });
614
681
 
682
+ function useScroll(element, options = {}) {
683
+ const {
684
+ throttle = 0,
685
+ idle = 200,
686
+ onStop = noop,
687
+ onScroll = noop,
688
+ offset = {
689
+ left: 0,
690
+ right: 0,
691
+ top: 0,
692
+ bottom: 0
693
+ },
694
+ eventListenerOptions = {
695
+ capture: false,
696
+ passive: true
697
+ }
698
+ } = options;
699
+ const x = ref(0);
700
+ const y = ref(0);
701
+ const isScrolling = ref(false);
702
+ const arrivedState = reactive({
703
+ left: true,
704
+ right: false,
705
+ top: true,
706
+ bottom: false
707
+ });
708
+ const directions = reactive({
709
+ left: false,
710
+ right: false,
711
+ top: false,
712
+ bottom: false
713
+ });
714
+ if (element) {
715
+ const onScrollEnd = useDebounceFn((e) => {
716
+ isScrolling.value = false;
717
+ directions.left = false;
718
+ directions.right = false;
719
+ directions.top = false;
720
+ directions.bottom = false;
721
+ onStop(e);
722
+ }, throttle + idle);
723
+ const onScrollHandler = (e) => {
724
+ const eventTarget = e.target === document ? e.target.documentElement : e.target;
725
+ const scrollLeft = eventTarget.scrollLeft;
726
+ directions.left = scrollLeft < x.value;
727
+ directions.right = scrollLeft > x.value;
728
+ arrivedState.left = scrollLeft <= 0 + (offset.left || 0);
729
+ arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0);
730
+ x.value = scrollLeft;
731
+ const scrollTop = eventTarget.scrollTop;
732
+ directions.top = scrollTop < y.value;
733
+ directions.bottom = scrollTop > y.value;
734
+ arrivedState.top = scrollTop <= 0 + (offset.top || 0);
735
+ arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0);
736
+ y.value = scrollTop;
737
+ isScrolling.value = true;
738
+ onScrollEnd(e);
739
+ onScroll(e);
740
+ };
741
+ useEventListener(element, "scroll", throttle ? useThrottleFn(onScrollHandler, throttle) : onScrollHandler, eventListenerOptions);
742
+ }
743
+ return {
744
+ x,
745
+ y,
746
+ isScrolling,
747
+ arrivedState,
748
+ directions
749
+ };
750
+ }
751
+
752
+ var __defProp$8 = Object.defineProperty;
753
+ var __defProps$7 = Object.defineProperties;
754
+ var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
755
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
756
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
757
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
758
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
759
+ var __spreadValues$8 = (a, b) => {
760
+ for (var prop in b || (b = {}))
761
+ if (__hasOwnProp$8.call(b, prop))
762
+ __defNormalProp$8(a, prop, b[prop]);
763
+ if (__getOwnPropSymbols$8)
764
+ for (var prop of __getOwnPropSymbols$8(b)) {
765
+ if (__propIsEnum$8.call(b, prop))
766
+ __defNormalProp$8(a, prop, b[prop]);
767
+ }
768
+ return a;
769
+ };
770
+ var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
771
+ function useInfiniteScroll(element, onLoadMore, options = {}) {
772
+ var _a;
773
+ const state = reactive(useScroll(element, __spreadProps$7(__spreadValues$8({}, options), {
774
+ offset: __spreadValues$8({
775
+ bottom: (_a = options.distance) != null ? _a : 0
776
+ }, options.offset)
777
+ })));
778
+ watch(() => state.arrivedState.bottom, (v) => {
779
+ if (v)
780
+ onLoadMore(state);
781
+ });
782
+ }
783
+
784
+ const vInfiniteScroll = (el, binding) => {
785
+ if (typeof binding.value === "function")
786
+ useInfiniteScroll(el, binding.value);
787
+ else
788
+ useInfiniteScroll(el, ...binding.value);
789
+ };
790
+
791
+ function useIntersectionObserver(target, callback, options = {}) {
792
+ const {
793
+ root,
794
+ rootMargin = "0px",
795
+ threshold = 0.1,
796
+ window = defaultWindow
797
+ } = options;
798
+ const isSupported = window && "IntersectionObserver" in window;
799
+ let cleanup = noop;
800
+ const stopWatch = isSupported ? watch(() => ({
801
+ el: unrefElement(target),
802
+ root: unrefElement(root)
803
+ }), ({ el, root: root2 }) => {
804
+ cleanup();
805
+ if (!el)
806
+ return;
807
+ const observer = new window.IntersectionObserver(callback, {
808
+ root: root2,
809
+ rootMargin,
810
+ threshold
811
+ });
812
+ observer.observe(el);
813
+ cleanup = () => {
814
+ observer.disconnect();
815
+ cleanup = noop;
816
+ };
817
+ }, { immediate: true, flush: "post" }) : noop;
818
+ const stop = () => {
819
+ cleanup();
820
+ stopWatch();
821
+ };
822
+ tryOnScopeDispose(stop);
823
+ return {
824
+ isSupported,
825
+ stop
826
+ };
827
+ }
828
+
829
+ const vIntersectionObserver = (el, binding) => {
830
+ if (typeof binding.value === "function")
831
+ useIntersectionObserver(el, binding.value);
832
+ else
833
+ useIntersectionObserver(el, ...binding.value);
834
+ };
835
+
615
836
  const UseMouse = defineComponent({
616
837
  name: "UseMouse",
617
838
  props: ["touch", "resetOnTouchEnds", "initialValue"],
@@ -637,31 +858,31 @@ const UseMouseInElement = defineComponent({
637
858
  }
638
859
  });
639
860
 
640
- var __defProp$6 = Object.defineProperty;
641
- var __defProps$5 = Object.defineProperties;
642
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
643
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
644
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
645
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
646
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
647
- var __spreadValues$6 = (a, b) => {
861
+ var __defProp$7 = Object.defineProperty;
862
+ var __defProps$6 = Object.defineProperties;
863
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
864
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
865
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
866
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
867
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
868
+ var __spreadValues$7 = (a, b) => {
648
869
  for (var prop in b || (b = {}))
649
- if (__hasOwnProp$6.call(b, prop))
650
- __defNormalProp$6(a, prop, b[prop]);
651
- if (__getOwnPropSymbols$6)
652
- for (var prop of __getOwnPropSymbols$6(b)) {
653
- if (__propIsEnum$6.call(b, prop))
654
- __defNormalProp$6(a, prop, b[prop]);
870
+ if (__hasOwnProp$7.call(b, prop))
871
+ __defNormalProp$7(a, prop, b[prop]);
872
+ if (__getOwnPropSymbols$7)
873
+ for (var prop of __getOwnPropSymbols$7(b)) {
874
+ if (__propIsEnum$7.call(b, prop))
875
+ __defNormalProp$7(a, prop, b[prop]);
655
876
  }
656
877
  return a;
657
878
  };
658
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
879
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
659
880
  const UseMousePressed = defineComponent({
660
881
  name: "UseMousePressed",
661
882
  props: ["touch", "initialValue", "as"],
662
883
  setup(props, { slots }) {
663
884
  const target = ref();
664
- const data = reactive(useMousePressed(__spreadProps$5(__spreadValues$6({}, props), { target })));
885
+ const data = reactive(useMousePressed(__spreadProps$6(__spreadValues$7({}, props), { target })));
665
886
  return () => {
666
887
  if (slots.default)
667
888
  return h(props.as || "div", { ref: target }, slots.default(data));
@@ -680,30 +901,30 @@ const UseNetwork = defineComponent({
680
901
  }
681
902
  });
682
903
 
683
- var __defProp$5 = Object.defineProperty;
684
- var __defProps$4 = Object.defineProperties;
685
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
686
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
687
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
688
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
689
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
690
- var __spreadValues$5 = (a, b) => {
904
+ var __defProp$6 = Object.defineProperty;
905
+ var __defProps$5 = Object.defineProperties;
906
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
907
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
908
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
909
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
910
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
911
+ var __spreadValues$6 = (a, b) => {
691
912
  for (var prop in b || (b = {}))
692
- if (__hasOwnProp$5.call(b, prop))
693
- __defNormalProp$5(a, prop, b[prop]);
694
- if (__getOwnPropSymbols$5)
695
- for (var prop of __getOwnPropSymbols$5(b)) {
696
- if (__propIsEnum$5.call(b, prop))
697
- __defNormalProp$5(a, prop, b[prop]);
913
+ if (__hasOwnProp$6.call(b, prop))
914
+ __defNormalProp$6(a, prop, b[prop]);
915
+ if (__getOwnPropSymbols$6)
916
+ for (var prop of __getOwnPropSymbols$6(b)) {
917
+ if (__propIsEnum$6.call(b, prop))
918
+ __defNormalProp$6(a, prop, b[prop]);
698
919
  }
699
920
  return a;
700
921
  };
701
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
922
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
702
923
  const UseNow = defineComponent({
703
924
  name: "UseNow",
704
925
  props: ["interval"],
705
926
  setup(props, { slots }) {
706
- const data = reactive(useNow(__spreadProps$4(__spreadValues$5({}, props), { controls: true })));
927
+ const data = reactive(useNow(__spreadProps$5(__spreadValues$6({}, props), { controls: true })));
707
928
  return () => {
708
929
  if (slots.default)
709
930
  return slots.default(data);
@@ -711,25 +932,25 @@ const UseNow = defineComponent({
711
932
  }
712
933
  });
713
934
 
714
- var __defProp$4 = Object.defineProperty;
715
- var __defProps$3 = Object.defineProperties;
716
- var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
717
- var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
718
- var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
719
- var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
720
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
721
- var __spreadValues$4 = (a, b) => {
935
+ var __defProp$5 = Object.defineProperty;
936
+ var __defProps$4 = Object.defineProperties;
937
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
938
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
939
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
940
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
941
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
942
+ var __spreadValues$5 = (a, b) => {
722
943
  for (var prop in b || (b = {}))
723
- if (__hasOwnProp$4.call(b, prop))
724
- __defNormalProp$4(a, prop, b[prop]);
725
- if (__getOwnPropSymbols$4)
726
- for (var prop of __getOwnPropSymbols$4(b)) {
727
- if (__propIsEnum$4.call(b, prop))
728
- __defNormalProp$4(a, prop, b[prop]);
944
+ if (__hasOwnProp$5.call(b, prop))
945
+ __defNormalProp$5(a, prop, b[prop]);
946
+ if (__getOwnPropSymbols$5)
947
+ for (var prop of __getOwnPropSymbols$5(b)) {
948
+ if (__propIsEnum$5.call(b, prop))
949
+ __defNormalProp$5(a, prop, b[prop]);
729
950
  }
730
951
  return a;
731
952
  };
732
- var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
953
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
733
954
  const UseOffsetPagination = defineComponent({
734
955
  name: "UseOffsetPagination",
735
956
  props: [
@@ -746,7 +967,7 @@ const UseOffsetPagination = defineComponent({
746
967
  "page-count-change"
747
968
  ],
748
969
  setup(props, { slots, emit }) {
749
- const data = reactive(useOffsetPagination(__spreadProps$3(__spreadValues$4({}, props), {
970
+ const data = reactive(useOffsetPagination(__spreadProps$4(__spreadValues$5({}, props), {
750
971
  onPageChange(...args) {
751
972
  var _a;
752
973
  (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);
@@ -796,25 +1017,25 @@ const UsePageLeave = defineComponent({
796
1017
  }
797
1018
  });
798
1019
 
799
- var __defProp$3 = Object.defineProperty;
800
- var __defProps$2 = Object.defineProperties;
801
- var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
802
- var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
803
- var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
804
- var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
805
- var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
806
- var __spreadValues$3 = (a, b) => {
1020
+ var __defProp$4 = Object.defineProperty;
1021
+ var __defProps$3 = Object.defineProperties;
1022
+ var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
1023
+ var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
1024
+ var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
1025
+ var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
1026
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1027
+ var __spreadValues$4 = (a, b) => {
807
1028
  for (var prop in b || (b = {}))
808
- if (__hasOwnProp$3.call(b, prop))
809
- __defNormalProp$3(a, prop, b[prop]);
810
- if (__getOwnPropSymbols$3)
811
- for (var prop of __getOwnPropSymbols$3(b)) {
812
- if (__propIsEnum$3.call(b, prop))
813
- __defNormalProp$3(a, prop, b[prop]);
1029
+ if (__hasOwnProp$4.call(b, prop))
1030
+ __defNormalProp$4(a, prop, b[prop]);
1031
+ if (__getOwnPropSymbols$4)
1032
+ for (var prop of __getOwnPropSymbols$4(b)) {
1033
+ if (__propIsEnum$4.call(b, prop))
1034
+ __defNormalProp$4(a, prop, b[prop]);
814
1035
  }
815
1036
  return a;
816
1037
  };
817
- var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
1038
+ var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
818
1039
  const UsePointer = defineComponent({
819
1040
  name: "UsePointer",
820
1041
  props: [
@@ -824,7 +1045,7 @@ const UsePointer = defineComponent({
824
1045
  ],
825
1046
  setup(props, { slots }) {
826
1047
  const el = ref(null);
827
- const data = reactive(usePointer(__spreadProps$2(__spreadValues$3({}, props), {
1048
+ const data = reactive(usePointer(__spreadProps$3(__spreadValues$4({}, props), {
828
1049
  target: props.target === "self" ? el : defaultWindow
829
1050
  })));
830
1051
  return () => {
@@ -964,6 +1185,122 @@ const UseScreenSafeArea = defineComponent({
964
1185
  }
965
1186
  });
966
1187
 
1188
+ var __defProp$3 = Object.defineProperty;
1189
+ var __defProps$2 = Object.defineProperties;
1190
+ var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
1191
+ var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
1192
+ var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
1193
+ var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
1194
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1195
+ var __spreadValues$3 = (a, b) => {
1196
+ for (var prop in b || (b = {}))
1197
+ if (__hasOwnProp$3.call(b, prop))
1198
+ __defNormalProp$3(a, prop, b[prop]);
1199
+ if (__getOwnPropSymbols$3)
1200
+ for (var prop of __getOwnPropSymbols$3(b)) {
1201
+ if (__propIsEnum$3.call(b, prop))
1202
+ __defNormalProp$3(a, prop, b[prop]);
1203
+ }
1204
+ return a;
1205
+ };
1206
+ var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
1207
+ const vScroll = (el, binding) => {
1208
+ if (typeof binding.value === "function") {
1209
+ const handler = binding.value;
1210
+ const state = useScroll(el, {
1211
+ onScroll() {
1212
+ handler(state);
1213
+ },
1214
+ onStop() {
1215
+ handler(state);
1216
+ }
1217
+ });
1218
+ } else {
1219
+ const [handler, options] = binding.value;
1220
+ const state = useScroll(el, __spreadProps$2(__spreadValues$3({}, options), {
1221
+ onScroll(e) {
1222
+ var _a;
1223
+ (_a = options.onScroll) == null ? void 0 : _a.call(options, e);
1224
+ handler(state);
1225
+ },
1226
+ onStop(e) {
1227
+ var _a;
1228
+ (_a = options.onStop) == null ? void 0 : _a.call(options, e);
1229
+ handler(state);
1230
+ }
1231
+ }));
1232
+ }
1233
+ };
1234
+
1235
+ var _a, _b;
1236
+ function preventDefault(rawEvent) {
1237
+ const e = rawEvent || window.event;
1238
+ if (e.touches.length > 1)
1239
+ return true;
1240
+ if (e.preventDefault)
1241
+ e.preventDefault();
1242
+ return false;
1243
+ }
1244
+ const isIOS = isClient && (window == null ? void 0 : window.navigator) && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.platform) && /iP(ad|hone|od)/.test((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.platform);
1245
+ function useScrollLock(element, initialState = false) {
1246
+ const isLocked = ref(initialState);
1247
+ let touchMoveListener = null;
1248
+ let initialOverflow;
1249
+ watch(() => unref(element), (el) => {
1250
+ if (el) {
1251
+ const ele = el;
1252
+ initialOverflow = ele.style.overflow;
1253
+ if (isLocked.value)
1254
+ ele.style.overflow = "hidden";
1255
+ }
1256
+ }, {
1257
+ immediate: true
1258
+ });
1259
+ const lock = () => {
1260
+ const ele = unref(element);
1261
+ if (!ele || isLocked.value)
1262
+ return;
1263
+ if (isIOS) {
1264
+ touchMoveListener = useEventListener(document, "touchmove", preventDefault, { passive: false });
1265
+ }
1266
+ ele.style.overflow = "hidden";
1267
+ isLocked.value = true;
1268
+ };
1269
+ const unlock = () => {
1270
+ const ele = unref(element);
1271
+ if (!ele || !isLocked.value)
1272
+ return;
1273
+ isIOS && (touchMoveListener == null ? void 0 : touchMoveListener());
1274
+ ele.style.overflow = initialOverflow;
1275
+ isLocked.value = false;
1276
+ };
1277
+ return computed({
1278
+ get() {
1279
+ return isLocked.value;
1280
+ },
1281
+ set(v) {
1282
+ if (v)
1283
+ lock();
1284
+ else
1285
+ unlock();
1286
+ }
1287
+ });
1288
+ }
1289
+
1290
+ const onScrollLock = () => {
1291
+ let isMounted = false;
1292
+ const state = ref(false);
1293
+ return (el, binding) => {
1294
+ state.value = binding.value;
1295
+ if (isMounted)
1296
+ return;
1297
+ isMounted = true;
1298
+ const isLocked = useScrollLock(el, binding.value);
1299
+ watch(state, (v) => isLocked.value = v);
1300
+ };
1301
+ };
1302
+ const vScrollLock = onScrollLock();
1303
+
967
1304
  var __defProp$2 = Object.defineProperty;
968
1305
  var __defProps$1 = Object.defineProperties;
969
1306
  var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
@@ -1085,4 +1422,4 @@ const UseWindowSize = defineComponent({
1085
1422
  }
1086
1423
  });
1087
1424
 
1088
- export { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress };
1425
+ export { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress, vElementHover, vInfiniteScroll, vIntersectionObserver, vOnKeyStroke, vScroll, vScrollLock };