@whitesev/pops 1.7.3 → 1.7.5

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.
Files changed (37) hide show
  1. package/dist/index.amd.js +138 -1498
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.cjs.js +138 -1498
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.js +138 -1498
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.iife.js +138 -1498
  8. package/dist/index.iife.js.map +1 -1
  9. package/dist/index.system.js +138 -1498
  10. package/dist/index.system.js.map +1 -1
  11. package/dist/index.umd.js +138 -1498
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/types/src/Pops.d.ts +2 -1
  14. package/dist/types/src/utils/PopsInstanceUtils.d.ts +1 -0
  15. package/dist/types/src/utils/PopsUtils.d.ts +2 -1
  16. package/package.json +2 -1
  17. package/src/Pops.ts +1 -1
  18. package/src/components/alert/index.css +13 -11
  19. package/src/components/confirm/index.css +13 -11
  20. package/src/components/drawer/config.ts +0 -4
  21. package/src/components/drawer/index.css +12 -7
  22. package/src/components/folder/index.css +20 -12
  23. package/src/components/iframe/config.ts +1 -1
  24. package/src/components/iframe/index.css +26 -11
  25. package/src/components/iframe/index.ts +93 -134
  26. package/src/components/loading/index.css +2 -1
  27. package/src/components/panel/PanelHandleContentDetails.ts +1 -1
  28. package/src/components/panel/index.css +33 -14
  29. package/src/components/prompt/index.css +13 -11
  30. package/src/components/rightClickMenu/index.css +2 -1
  31. package/src/css/button.css +1 -1
  32. package/src/css/common.css +15 -1
  33. package/src/css/index.css +15 -5
  34. package/src/utils/PopsInstanceUtils.ts +112 -118
  35. package/src/utils/PopsUtils.ts +5 -2
  36. package/dist/types/src/utils/AnyTouch.d.ts +0 -17
  37. package/src/utils/AnyTouch.js +0 -1394
@@ -489,6 +489,7 @@ export const PopsInstanceUtils = {
489
489
  options: {
490
490
  dragElement: HTMLElement;
491
491
  limit: boolean;
492
+ triggerClick?: boolean;
492
493
  extraDistance: number;
493
494
  container?: Window | typeof globalThis | HTMLElement;
494
495
  moveCallBack?: (
@@ -509,6 +510,7 @@ export const PopsInstanceUtils = {
509
510
  limit: true,
510
511
  extraDistance: 3,
511
512
  container: PopsCore.globalThis,
513
+ triggerClick: true,
512
514
  },
513
515
  options
514
516
  );
@@ -519,7 +521,7 @@ export const PopsInstanceUtils = {
519
521
  let clickElementTopOffset = 0;
520
522
  let AnyTouch = popsUtils.AnyTouch();
521
523
  let anyTouchElement = new AnyTouch(options.dragElement, {
522
- preventEvent(event: Event) {
524
+ preventDefault(event: Event) {
523
525
  if (typeof options.preventEvent === "function") {
524
526
  return options.preventEvent(event as any);
525
527
  } else {
@@ -606,133 +608,125 @@ export const PopsInstanceUtils = {
606
608
 
607
609
  let resumeMoveElementStyle: Function | null = null;
608
610
 
609
- anyTouchElement.on(
610
- "pan",
611
- function (
612
- event: PointerEvent & {
613
- phase: string;
614
- }
615
- ) {
616
- if (!isMove) {
617
- isMove = true;
618
- let rect = options.dragElement.getBoundingClientRect();
619
- clickElementLeftOffset = event.x - rect.left;
620
- clickElementTopOffset = event.y - rect.top;
621
- transformInfo = getTransform(moveElement);
622
- transformLeft = transformInfo.transformLeft;
623
- transformTop = transformInfo.transformTop;
624
- //if (event.nativeEvent.offsetX) {
625
- // clickElementLeftOffset = parseInt(event.nativeEvent.offsetX);
626
- //} else {
627
- // clickElementLeftOffset = parseInt(event.getOffset().x);
628
- //}
629
- //if (event.nativeEvent.offsetY) {
630
- // clickElementTopOffset = parseInt(event.nativeEvent.offsetY);
631
- //} else {
632
- // clickElementTopOffset = parseInt(event.getOffset().y);
633
- //}
634
- resumeMoveElementStyle = changeMoveElementStyle(moveElement);
635
- }
611
+ anyTouchElement.on("pan", function (event) {
612
+ if (!isMove) {
613
+ isMove = true;
614
+ let rect = options.dragElement.getBoundingClientRect();
615
+ clickElementLeftOffset = event.x - rect.left;
616
+ clickElementTopOffset = event.y - rect.top;
617
+ transformInfo = getTransform(moveElement);
618
+ transformLeft = transformInfo.transformLeft;
619
+ transformTop = transformInfo.transformTop;
620
+ //if (event.nativeEvent.offsetX) {
621
+ // clickElementLeftOffset = parseInt(event.nativeEvent.offsetX);
622
+ //} else {
623
+ // clickElementLeftOffset = parseInt(event.getOffset().x);
624
+ //}
625
+ //if (event.nativeEvent.offsetY) {
626
+ // clickElementTopOffset = parseInt(event.nativeEvent.offsetY);
627
+ //} else {
628
+ // clickElementTopOffset = parseInt(event.getOffset().y);
629
+ //}
630
+ resumeMoveElementStyle = changeMoveElementStyle(moveElement);
631
+ }
636
632
 
637
- /** 当前移动的left偏移 */
638
- let currentMoveLeftOffset =
639
- event.x - clickElementLeftOffset + transformLeft;
640
- /** 当前移动的top偏移 */
641
- let currentMoveTopOffset =
642
- event.y - clickElementTopOffset + transformTop;
643
- /* 拖拽移动 */
644
- if (event.phase === "move") {
645
- if (options.limit) {
646
- /* 限制在容器内移动 */
647
- /* left偏移最大值 */
648
- let maxLeftOffset =
649
- getContainerWidthOrHeight(options.container!).width -
650
- popsDOMUtils.width(moveElement) +
651
- transformLeft;
652
- let { left: minLeftOffset, top: minTopOffset } =
653
- getContainerTopOrLeft(options.container!);
654
- /* top偏移的最大值 */
655
- let maxTopOffset =
656
- getContainerWidthOrHeight(options.container!).height -
657
- popsDOMUtils.height(moveElement) +
658
- transformTop;
659
- if (currentMoveLeftOffset > maxLeftOffset) {
660
- /* 不允许超过容器的最大宽度 */
661
- currentMoveLeftOffset = maxLeftOffset;
662
- }
663
- if (currentMoveTopOffset > maxTopOffset) {
664
- /* 不允许超过容器的最大高度 */
665
- currentMoveTopOffset = maxTopOffset;
666
- }
667
- if (
668
- currentMoveLeftOffset - options.extraDistance * 2 <
669
- minLeftOffset + transformLeft
670
- ) {
671
- /* 不允许left偏移小于容器最小值 */
672
- currentMoveLeftOffset = minLeftOffset + transformLeft;
673
- /* 最左边 +额外距离 */
674
- currentMoveLeftOffset += options.extraDistance;
675
- } else {
676
- /* 最右边 -额外距离 */
677
- currentMoveLeftOffset -= options.extraDistance;
678
- }
679
- if (
680
- currentMoveTopOffset - options.extraDistance * 2 <
681
- minTopOffset + transformTop
682
- ) {
683
- /* 不允许top偏移小于容器最小值 */
684
- currentMoveTopOffset = minTopOffset + transformTop;
685
- /* 最上面 +额外距离 */
686
- currentMoveTopOffset += options.extraDistance;
687
- } else {
688
- /* 最下面 -额外距离 */
689
- currentMoveTopOffset -= options.extraDistance;
690
- }
633
+ /** 当前移动的left偏移 */
634
+ let currentMoveLeftOffset =
635
+ event.x - clickElementLeftOffset + transformLeft;
636
+ /** 当前移动的top偏移 */
637
+ let currentMoveTopOffset = event.y - clickElementTopOffset + transformTop;
638
+ /* 拖拽移动 */
639
+ if (event.phase === "move") {
640
+ if (options.limit) {
641
+ /* 限制在容器内移动 */
642
+ /* left偏移最大值 */
643
+ let maxLeftOffset =
644
+ getContainerWidthOrHeight(options.container!).width -
645
+ popsDOMUtils.width(moveElement) +
646
+ transformLeft;
647
+ let { left: minLeftOffset, top: minTopOffset } =
648
+ getContainerTopOrLeft(options.container!);
649
+ /* top偏移的最大值 */
650
+ let maxTopOffset =
651
+ getContainerWidthOrHeight(options.container!).height -
652
+ popsDOMUtils.height(moveElement) +
653
+ transformTop;
654
+ if (currentMoveLeftOffset > maxLeftOffset) {
655
+ /* 不允许超过容器的最大宽度 */
656
+ currentMoveLeftOffset = maxLeftOffset;
691
657
  }
692
- if (typeof options.moveCallBack === "function") {
693
- options.moveCallBack(
694
- moveElement,
695
- currentMoveLeftOffset,
696
- currentMoveTopOffset
697
- );
658
+ if (currentMoveTopOffset > maxTopOffset) {
659
+ /* 不允许超过容器的最大高度 */
660
+ currentMoveTopOffset = maxTopOffset;
698
661
  }
699
-
700
- popsDOMUtils.css(moveElement, {
701
- left: currentMoveLeftOffset + "px",
702
- top: currentMoveTopOffset + "px",
703
- });
704
- }
705
-
706
- /* 停止拖拽 */
707
- if (event.phase === "end") {
708
- isMove = false;
709
- if (typeof resumeMoveElementStyle === "function") {
710
- resumeMoveElementStyle();
711
- resumeMoveElementStyle = null;
662
+ if (
663
+ currentMoveLeftOffset - options.extraDistance * 2 <
664
+ minLeftOffset + transformLeft
665
+ ) {
666
+ /* 不允许left偏移小于容器最小值 */
667
+ currentMoveLeftOffset = minLeftOffset + transformLeft;
668
+ /* 最左边 +额外距离 */
669
+ currentMoveLeftOffset += options.extraDistance;
670
+ } else {
671
+ /* 最右边 -额外距离 */
672
+ currentMoveLeftOffset -= options.extraDistance;
712
673
  }
713
- if (typeof options.endCallBack === "function") {
714
- options.endCallBack(
715
- moveElement,
716
- currentMoveLeftOffset,
717
- currentMoveTopOffset
718
- );
674
+ if (
675
+ currentMoveTopOffset - options.extraDistance * 2 <
676
+ minTopOffset + transformTop
677
+ ) {
678
+ /* 不允许top偏移小于容器最小值 */
679
+ currentMoveTopOffset = minTopOffset + transformTop;
680
+ /* 最上面 +额外距离 */
681
+ currentMoveTopOffset += options.extraDistance;
682
+ } else {
683
+ /* 最下面 -额外距离 */
684
+ currentMoveTopOffset -= options.extraDistance;
719
685
  }
720
686
  }
687
+ if (typeof options.moveCallBack === "function") {
688
+ options.moveCallBack(
689
+ moveElement,
690
+ currentMoveLeftOffset,
691
+ currentMoveTopOffset
692
+ );
693
+ }
694
+
695
+ popsDOMUtils.css(moveElement, {
696
+ left: currentMoveLeftOffset + "px",
697
+ top: currentMoveTopOffset + "px",
698
+ });
721
699
  }
722
- );
723
- /* 因为会覆盖上面的点击事件,主动触发一下 */
724
- anyTouchElement.on(
725
- ["click", "tap"],
726
- function (
727
- event: PointerEvent & {
728
- changedPoints: any[];
700
+
701
+ /* 停止拖拽 */
702
+ if (event.phase === "end") {
703
+ isMove = false;
704
+ if (typeof resumeMoveElementStyle === "function") {
705
+ resumeMoveElementStyle();
706
+ resumeMoveElementStyle = null;
729
707
  }
730
- ) {
708
+ if (typeof options.endCallBack === "function") {
709
+ options.endCallBack(
710
+ moveElement,
711
+ currentMoveLeftOffset,
712
+ currentMoveTopOffset
713
+ );
714
+ }
715
+ }
716
+ });
717
+ if (options.triggerClick) {
718
+ /* 因为会覆盖上面的点击事件,主动触发一下 */
719
+ anyTouchElement.on(["tap"], function (event) {
731
720
  event.changedPoints.forEach((item) => {
732
- popsDOMUtils.trigger(item.target, "click", void 0, true);
721
+ popsDOMUtils.trigger(
722
+ item.target! as HTMLElement,
723
+ "click",
724
+ void 0,
725
+ true
726
+ );
733
727
  });
734
- }
735
- );
728
+ });
729
+ }
736
730
  },
737
731
  /**
738
732
  * 排序数组
@@ -1,7 +1,7 @@
1
1
  import { PopsCore } from "../Core";
2
2
  import type { PopsUtilsOwnObject } from "../types/main";
3
3
  import { popsDOMUtils } from "./PopsDOMUtils";
4
- import { AnyTouch } from "./AnyTouch";
4
+ import AnyTouch from "any-touch";
5
5
 
6
6
  class PopsUtils {
7
7
  /**
@@ -370,13 +370,16 @@ class PopsUtils {
370
370
  break;
371
371
  }
372
372
  }
373
+ new Date();
373
374
  result = result.toFixed(2) as any;
374
375
  result = addType
375
376
  ? result + resultType.toString()
376
377
  : (parseFloat(result.toString()) as any);
377
378
  return result;
378
379
  }
379
- AnyTouch: () => any = AnyTouch;
380
+ AnyTouch = () => {
381
+ return AnyTouch;
382
+ };
380
383
  }
381
384
 
382
385
  const popsUtils = new PopsUtils();
@@ -1,17 +0,0 @@
1
- export function AnyTouch(): {
2
- (el: any, options: any): this;
3
- STATE_POSSIBLE: number;
4
- STATE_START: number;
5
- STATE_MOVE: number;
6
- STATE_END: number;
7
- STATE_CANCELLED: number;
8
- STATE_FAILED: number;
9
- STATE_RECOGNIZED: number;
10
- tap: (at: any, options: any) => any;
11
- pan: (at: any, options: any) => any;
12
- swipe: (at: any, options: any) => any;
13
- press: (at: any, options: any) => any;
14
- rotate: (at: any, options: any) => any;
15
- pinch: (at: any, options: any) => any;
16
- doubletap: (at: any) => any;
17
- };