leiting-bim 2.1.126 → 2.1.128

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.
@@ -6,26 +6,35 @@ declare const CxMarkerBubble: import('../../../../utils/with-install').SFCWithIn
6
6
  };
7
7
  readonly textStyle: {
8
8
  readonly type: ObjectConstructor;
9
- readonly default: () => void;
9
+ readonly default: () => {};
10
10
  };
11
11
  readonly lineStyle: {
12
12
  readonly type: ObjectConstructor;
13
- readonly default: () => void;
13
+ readonly default: () => {};
14
14
  };
15
15
  readonly isCanDraggable: {
16
16
  readonly type: BooleanConstructor;
17
17
  readonly default: false;
18
18
  };
19
19
  readonly onCanDraggable: {
20
- readonly type: FunctionConstructor;
20
+ readonly type: import('vue').PropType<() => boolean>;
21
21
  };
22
22
  readonly pixelOffset: {
23
- readonly type: ObjectConstructor;
24
- readonly default: () => void;
23
+ readonly type: import('vue').PropType<import('./src/markerBubble').OtherOffset>;
24
+ readonly default: () => {
25
+ x: number;
26
+ y: number;
27
+ };
25
28
  };
26
29
  readonly otherOffset: {
27
- readonly type: ObjectConstructor;
28
- readonly default: () => void;
30
+ readonly type: import('vue').PropType<import('./src/markerBubble').OtherOffset>;
31
+ readonly default: () => {
32
+ x: number;
33
+ y: number;
34
+ };
35
+ };
36
+ readonly onSetOtherOffset: {
37
+ readonly type: import('vue').PropType<(offset: import('./src/markerBubble').OtherOffset) => void>;
29
38
  };
30
39
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
40
  setOtherOffset: (...args: any[]) => void;
@@ -36,26 +45,35 @@ declare const CxMarkerBubble: import('../../../../utils/with-install').SFCWithIn
36
45
  };
37
46
  readonly textStyle: {
38
47
  readonly type: ObjectConstructor;
39
- readonly default: () => void;
48
+ readonly default: () => {};
40
49
  };
41
50
  readonly lineStyle: {
42
51
  readonly type: ObjectConstructor;
43
- readonly default: () => void;
52
+ readonly default: () => {};
44
53
  };
45
54
  readonly isCanDraggable: {
46
55
  readonly type: BooleanConstructor;
47
56
  readonly default: false;
48
57
  };
49
58
  readonly onCanDraggable: {
50
- readonly type: FunctionConstructor;
59
+ readonly type: import('vue').PropType<() => boolean>;
51
60
  };
52
61
  readonly pixelOffset: {
53
- readonly type: ObjectConstructor;
54
- readonly default: () => void;
62
+ readonly type: import('vue').PropType<import('./src/markerBubble').OtherOffset>;
63
+ readonly default: () => {
64
+ x: number;
65
+ y: number;
66
+ };
55
67
  };
56
68
  readonly otherOffset: {
57
- readonly type: ObjectConstructor;
58
- readonly default: () => void;
69
+ readonly type: import('vue').PropType<import('./src/markerBubble').OtherOffset>;
70
+ readonly default: () => {
71
+ x: number;
72
+ y: number;
73
+ };
74
+ };
75
+ readonly onSetOtherOffset: {
76
+ readonly type: import('vue').PropType<(offset: import('./src/markerBubble').OtherOffset) => void>;
59
77
  };
60
78
  }>> & Readonly<{
61
79
  onSetOtherOffset?: ((...args: any[]) => any) | undefined;
@@ -64,8 +82,8 @@ declare const CxMarkerBubble: import('../../../../utils/with-install').SFCWithIn
64
82
  readonly textStyle: Record<string, any>;
65
83
  readonly lineStyle: Record<string, any>;
66
84
  readonly isCanDraggable: boolean;
67
- readonly pixelOffset: Record<string, any>;
68
- readonly otherOffset: Record<string, any>;
85
+ readonly pixelOffset: import('./src/markerBubble').OtherOffset;
86
+ readonly otherOffset: import('./src/markerBubble').OtherOffset;
69
87
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
70
88
  el: HTMLDivElement;
71
89
  }, HTMLDivElement>>;
@@ -2,7 +2,7 @@ import { p as l, c as i, w as m } from "../create-DynflqE1.js";
2
2
  import { defineComponent as p, openBlock as s, createElementBlock as o, normalizeClass as n, unref as e, normalizeStyle as u, createElementVNode as r, createVNode as c, normalizeProps as f, guardReactiveProps as _, createCommentVNode as y } from "vue";
3
3
  import { CxBasicVideo as C } from "./basic-video.js";
4
4
  import { CxCarouselImg as b } from "./carousel-img.js";
5
- import { C as v } from "../index-Kdqw0FJN.js";
5
+ import { C as v } from "../index-McKGafjp.js";
6
6
  const h = {
7
7
  data: {
8
8
  type: Object,
@@ -1,5 +1,5 @@
1
1
  import "../create-DynflqE1.js";
2
- import { C as s, C as t, y as e } from "../index-Kdqw0FJN.js";
2
+ import { C as s, C as t, y as e } from "../index-McKGafjp.js";
3
3
  export {
4
4
  s as CxEchartsPro,
5
5
  t as default,
@@ -1,17 +1,15 @@
1
1
  import { p as fe, c as oe, w as ne } from "../create-DynflqE1.js";
2
2
  import { defineComponent as ue, ref as m, computed as K, openBlock as Q, createElementBlock as U, normalizeClass as H, unref as W, createElementVNode as Z, normalizeStyle as q, toDisplayString as ie, createCommentVNode as be } from "vue";
3
- import { u as me, a as ve, b as he } from "../index-CUs_hd1V.js";
4
- const pe = {
3
+ import { b as me, c as he, d as pe } from "../index-Kqi_S6KA.js";
4
+ const ve = {
5
5
  text: { type: String, default: "文字" },
6
6
  textStyle: {
7
7
  type: Object,
8
- default: () => {
9
- }
8
+ default: () => ({})
10
9
  },
11
10
  lineStyle: {
12
11
  type: Object,
13
- default: () => {
14
- }
12
+ default: () => ({})
15
13
  },
16
14
  isCanDraggable: {
17
15
  type: Boolean,
@@ -22,86 +20,94 @@ const pe = {
22
20
  },
23
21
  pixelOffset: {
24
22
  type: Object,
25
- default: () => {
26
- }
23
+ default: () => ({ x: 0, y: 0 })
27
24
  },
28
25
  otherOffset: {
29
26
  type: Object,
30
- default: () => {
31
- }
27
+ default: () => ({ x: 0, y: 0 })
28
+ },
29
+ onSetOtherOffset: {
30
+ type: Function
32
31
  }
33
- }, xe = /* @__PURE__ */ ue({
32
+ }, ce = /* @__PURE__ */ ue({
34
33
  name: `${fe}-marker`,
35
34
  __name: "MarkerBubble",
36
- props: pe,
35
+ props: ve,
37
36
  emits: ["setOtherOffset"],
38
37
  setup(ee, { emit: te }) {
39
- const e = ee, I = oe("marker"), le = te, S = m(), { width: k, height: P } = me(S), v = m(!1), ae = K(() => {
40
- let a = e.otherOffset?.x || 0, B = e.otherOffset?.y || 0;
41
- y.value && (e.isCanDraggable || v.value) && (a = x.value || 0, B = c.value || 0);
42
- let E = (e.pixelOffset?.x || 0) + a, _ = (e.pixelOffset?.y || 0) + B, l = 0, t = 0, d = l + E, F = l + E + k.value / 2, L = l + E + k.value, b = t + _, j = t + _ + P.value / 2, g = t + _ + P.value, r = 0, s = 0, u = 0, i = 0, z = 0, N = 0, R = 0, G = 0, T = 24, o = 4, V = 4, f = "", M = "", O = "";
43
- if (l < d && t >= b && t <= g) {
44
- r = d, u = d;
38
+ const e = ee, I = oe("marker"), le = te, S = m(), { width: w, height: k } = me(S), p = m(!1), ae = K(() => {
39
+ let a = e.otherOffset?.x || 0, h = e.otherOffset?.y || 0;
40
+ x.value && (e.isCanDraggable || p.value) && (a = P.value || 0, h = B.value || 0);
41
+ let E = (e.pixelOffset?.x || 0) + a, _ = (e.pixelOffset?.y || 0) + h, l = 0, t = 0, y = l + E, F = l + E + w.value / 2, L = l + E + w.value, b = t + _, j = t + _ + k.value / 2, d = t + _ + k.value, s = 0, r = 0, u = 0, i = 0, z = 0, N = 0, R = 0, G = 0, T = 24, o = 4, V = 4, f = "", g = "", M = "";
42
+ if (l < y && t >= b && t <= d) {
43
+ s = y, u = y;
45
44
  let n = t < j ? b : j;
46
- s = n + o, i = n + o + Math.min(T, P.value / 2 - o - V), f = "left";
47
- } else if (l > L && t >= b && t <= g) {
48
- r = L, u = L;
45
+ r = n + o, i = n + o + Math.min(T, k.value / 2 - o - V), f = "left";
46
+ } else if (l > L && t >= b && t <= d) {
47
+ s = L, u = L;
49
48
  let n = t < j ? b : j;
50
- s = n + o, i = n + o + Math.min(T, P.value / 2 - o - V), f = "right";
49
+ r = n + o, i = n + o + Math.min(T, k.value / 2 - o - V), f = "right";
51
50
  } else if (t < b) {
52
- s = b, i = b;
53
- let n = l < F ? d : F;
54
- r = n + o, u = n + o + Math.min(T, k.value / 2 - o - V), f = "top";
55
- } else if (t > g) {
56
- s = g, i = g;
57
- let n = l < F ? d : F;
58
- r = n + o, u = n + o + Math.min(T, k.value / 2 - o - V), f = "bottom";
51
+ r = b, i = b;
52
+ let n = l < F ? y : F;
53
+ s = n + o, u = n + o + Math.min(T, w.value / 2 - o - V), f = "top";
54
+ } else if (t > d) {
55
+ r = d, i = d;
56
+ let n = l < F ? y : F;
57
+ s = n + o, u = n + o + Math.min(T, w.value / 2 - o - V), f = "bottom";
59
58
  } else
60
- r = 0, u = 0, s = 0, i = 0;
61
- l >= r && l <= u ? (z = Math.abs(l - r) + Math.abs(l - u), R = -Math.abs(l - r), M = "mid") : (z = Math.max(Math.abs(l - r), Math.abs(l - u)), R = l < r ? 0 : -z, M = l < r ? "left" : "right"), t >= s && t <= i ? (N = Math.abs(t - s) + Math.abs(t - i), G = -Math.abs(t - s), O = "mid") : (N = Math.max(Math.abs(t - s), Math.abs(t - i)), G = t < s ? 0 : -N, O = t < s ? "top" : "bottom");
62
- let D = 0, X = 0, Y = 0, $ = 0, C = 0, w = 0;
63
- (f == "top" || f == "bottom") && (X = f == "top" ? 0 : "100%", $ = f == "top" ? "100%" : 0, w = f == "top" ? "100%" : 0, M == "left" ? (D = 0, Y = r + "px", C = "100%") : M == "right" ? (D = "100%", Y = 0, C = Math.abs(u - r) + "px") : M == "mid" && (D = Math.abs(l - r) + "px", Y = 0, C = "100%")), (f == "left" || f == "right") && (D = f == "left" ? 0 : "100%", Y = f == "left" ? "100%" : 0, C = f == "left" ? "100%" : 0, O == "top" ? (X = 0, $ = s + "px", w = "100%") : O == "bottom" ? (X = "100%", $ = 0, w = Math.abs(i - s) + "px") : O == "mid" && (X = Math.abs(t - s) + "px", $ = 0, w = "100%"));
64
- let se = `polygon(${D} ${X}, ${Y} ${$},${C} ${w})`;
59
+ s = 0, u = 0, r = 0, i = 0;
60
+ l >= s && l <= u ? (z = Math.abs(l - s) + Math.abs(l - u), R = -Math.abs(l - s), g = "mid") : (z = Math.max(Math.abs(l - s), Math.abs(l - u)), R = l < s ? 0 : -z, g = l < s ? "left" : "right"), t >= r && t <= i ? (N = Math.abs(t - r) + Math.abs(t - i), G = -Math.abs(t - r), M = "mid") : (N = Math.max(Math.abs(t - r), Math.abs(t - i)), G = t < r ? 0 : -N, M = t < r ? "top" : "bottom");
61
+ let O = 0, D = 0, X = 0, Y = 0, $ = 0, C = 0;
62
+ (f == "top" || f == "bottom") && (D = f == "top" ? 0 : "100%", Y = f == "top" ? "100%" : 0, C = f == "top" ? "100%" : 0, g == "left" ? (O = 0, X = s + "px", $ = "100%") : g == "right" ? (O = "100%", X = 0, $ = Math.abs(u - s) + "px") : g == "mid" && (O = Math.abs(l - s) + "px", X = 0, $ = "100%")), (f == "left" || f == "right") && (O = f == "left" ? 0 : "100%", X = f == "left" ? "100%" : 0, $ = f == "left" ? "100%" : 0, M == "top" ? (D = 0, Y = r + "px", C = "100%") : M == "bottom" ? (D = "100%", Y = 0, C = Math.abs(i - r) + "px") : M == "mid" && (D = Math.abs(t - r) + "px", Y = 0, C = "100%"));
63
+ let re = `polygon(${O} ${D}, ${X} ${Y},${$} ${C})`;
65
64
  return {
66
65
  ...e.lineStyle,
67
66
  width: z + "px",
68
67
  height: N + "px",
69
- clipPath: se,
70
- transform: `translate(${-E + R + a}px , ${-_ + G + B}px)`
68
+ clipPath: re,
69
+ position: "absolute",
70
+ top: 0,
71
+ left: 0,
72
+ transform: `translate(${-E + R + a}px , ${-_ + G + h}px)`
71
73
  };
72
- }), h = m(0), p = m(0), x = m(0), c = m(0), y = m(!1), re = K(() => y.value && (e.isCanDraggable || v.value) ? {
74
+ }), v = m(0), c = m(0), P = m(0), B = m(0), x = m(!1), se = K(() => x.value && (e.isCanDraggable || p.value) ? {
73
75
  width: "max-content",
74
- transform: `translate(${x.value}px, ${c.value}px)`
76
+ transform: `translate(${P.value}px, ${B.value}px)`
75
77
  } : {
76
78
  width: "max-content",
77
79
  transform: `translate(${e.otherOffset?.x || 0}px, ${e.otherOffset?.y || 0}px)`
78
- }), { elementPositionX: A, elementPositionY: J } = ve(S);
79
- return he(S, {
80
+ }), { elementPositionX: A, elementPositionY: J } = he(S);
81
+ return pe(S, {
80
82
  initialValue: { x: A.value, y: J.value },
81
83
  onStart: () => {
82
- h.value = A.value, p.value = J.value, setTimeout(() => {
83
- e.onCanDraggable && (v.value = e.onCanDraggable()), y.value = !0;
84
+ v.value = A.value, c.value = J.value, setTimeout(() => {
85
+ e.onCanDraggable && (p.value = e.onCanDraggable()), x.value = !0;
84
86
  });
85
87
  },
86
88
  onMove: (a) => {
87
- (e.isCanDraggable || v.value) && y.value && (x.value = a.x - h.value + (e.otherOffset?.x || 0), c.value = a.y - p.value + (e.otherOffset?.y || 0), console.log({
88
- x: x.value,
89
- y: c.value
90
- }));
89
+ (e.isCanDraggable || p.value) && x.value && (P.value = a.x - v.value + (e.otherOffset?.x || 0), B.value = a.y - c.value + (e.otherOffset?.y || 0));
91
90
  },
92
91
  onEnd: (a) => {
93
- a.x == 0 && a.y == 0 || a.x == h.value && a.y == p.value || ((e.isCanDraggable || v.value) && (x.value = a.x - h.value + (e.otherOffset?.x || 0), c.value = a.y - p.value + (e.otherOffset?.y || 0), le("setOtherOffset", {
94
- x: a.x - h.value + (e.otherOffset?.x || 0),
95
- y: a.y - p.value + (e.otherOffset?.y || 0)
96
- })), y.value = !1);
92
+ if (!(a.x == 0 && a.y == 0) && !(a.x == v.value && a.y == c.value)) {
93
+ if (e.isCanDraggable || p.value) {
94
+ P.value = a.x - v.value + (e.otherOffset?.x || 0), B.value = a.y - c.value + (e.otherOffset?.y || 0);
95
+ const h = {
96
+ x: a.x - v.value + (e.otherOffset?.x || 0),
97
+ y: a.y - c.value + (e.otherOffset?.y || 0)
98
+ };
99
+ le("setOtherOffset", h);
100
+ }
101
+ x.value = !1;
102
+ }
97
103
  }
98
- }), (a, B) => (Q(), U("div", {
104
+ }), (a, h) => (Q(), U("div", {
99
105
  class: H(W(I).b("bubble"))
100
106
  }, [
101
107
  Z("div", {
102
108
  ref_key: "el",
103
109
  ref: S,
104
- style: q(re.value)
110
+ style: q(se.value)
105
111
  }, [
106
112
  e.text ? (Q(), U("div", {
107
113
  key: 0,
@@ -115,10 +121,10 @@ const pe = {
115
121
  }, null, 6)
116
122
  ], 2));
117
123
  }
118
- }), ge = ne(xe);
124
+ }), ge = ne(ce);
119
125
  export {
120
126
  ge as CxMarkerBubble,
121
127
  ge as default,
122
- pe as markerBubbleProps
128
+ ve as markerBubbleProps
123
129
  };
124
130
  //# sourceMappingURL=marker-bubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marker-bubble.js","sources":["../../src/components/marker-bubble/src/markerBubble.ts","../../src/components/marker-bubble/src/MarkerBubble.vue","../../src/components/marker-bubble/index.ts"],"sourcesContent":["import { ExtractPropTypes } from 'vue';\r\nexport const markerBubbleProps = {\r\n text: { type: String, default: '文字' },\r\n textStyle: {\r\n type: Object,\r\n default: () => {},\r\n },\r\n lineStyle: {\r\n type: Object,\r\n default: () => {},\r\n },\r\n isCanDraggable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n onCanDraggable: {\r\n type: Function,\r\n },\r\n pixelOffset: {\r\n type: Object,\r\n default: () => {\r\n x: 0;\r\n y: 0;\r\n },\r\n },\r\n otherOffset: {\r\n type: Object,\r\n default: () => {\r\n x: 0;\r\n y: 0;\r\n },\r\n },\r\n} as const;\r\n\r\nexport type MarkerBubbleProps = ExtractPropTypes<typeof markerBubbleProps>;\r\n","<template>\r\n <div :class=\"bem.b('bubble')\">\r\n <div ref=\"el\" :style=\"nameTransform\">\r\n <div :class=\"bem.be('bubble', 'name')\" v-if=\"props.text\" :style=\"props.textStyle\">\r\n {{ props.text }}\r\n </div>\r\n </div>\r\n <div :class=\"bem.be('bubble', 'line')\" :style=\"lineStyle\"></div>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\n import { createNamespace, prefix } from '../../../../../utils/create';\r\n import { markerBubbleProps } from './markerBubble';\r\n import { computed, ref } from 'vue';\r\n import { useElementSize, useDraggable, useMouseInElement } from '@vueuse/core';\r\n defineOptions({ name: `${prefix}-marker` });\r\n const props = defineProps(markerBubbleProps);\r\n const bem = createNamespace('marker');\r\n\r\n const emit = defineEmits(['setOtherOffset']);\r\n const el = ref();\r\n const { width, height } = useElementSize(el);\r\n const draggable = ref(false);\r\n const lineStyle = computed(() => {\r\n let otherOffsetX = props.otherOffset?.x || 0;\r\n let otherOffsetY = props.otherOffset?.y || 0;\r\n if (isMove.value && (props.isCanDraggable || draggable.value)) {\r\n otherOffsetX = currX.value || 0;\r\n otherOffsetY = currY.value || 0;\r\n }\r\n\r\n let XF = (props.pixelOffset?.x || 0) + otherOffsetX;\r\n let YF = (props.pixelOffset?.y || 0) + otherOffsetY;\r\n let X = 0;\r\n let Y = 0;\r\n let XL = X + XF;\r\n let XM = X + XF + width.value / 2;\r\n let XR = X + XF + width.value;\r\n let YT = Y + YF;\r\n let YM = Y + YF + height.value / 2;\r\n let YB = Y + YF + height.value;\r\n let DX1 = 0;\r\n let DY1 = 0;\r\n let DX2 = 0;\r\n let DY2 = 0;\r\n let arrowW = 0;\r\n let arrowH = 0;\r\n let arrowXF = 0;\r\n let arrowYF = 0;\r\n let interval = 24;\r\n let PML = 4;\r\n let borderRadius = 4;\r\n let EDGE = '';\r\n let directionX = '';\r\n let directionY = '';\r\n //计算动态点位\r\n if (X < XL && Y >= YT && Y <= YB) {\r\n //点在矩形左边\r\n DX1 = XL;\r\n DX2 = XL;\r\n let PY = Y < YM ? YT : YM;\r\n DY1 = PY + PML;\r\n DY2 = PY + PML + Math.min(interval, height.value / 2 - PML - borderRadius);\r\n // DY1 = PY + PML;\r\n // DY2 = PY + PML + interval;\r\n EDGE = 'left';\r\n } else if (X > XR && Y >= YT && Y <= YB) {\r\n //点在矩形右边\r\n DX1 = XR;\r\n DX2 = XR;\r\n let PY = Y < YM ? YT : YM;\r\n DY1 = PY + PML;\r\n DY2 = PY + PML + Math.min(interval, height.value / 2 - PML - borderRadius);\r\n // DY1 = PY + PML;\r\n // DY2 = PY + PML + interval;\r\n EDGE = 'right';\r\n } else if (Y < YT) {\r\n //点在矩形上方\r\n DY1 = YT;\r\n DY2 = YT;\r\n let PX = X < XM ? XL : XM;\r\n DX1 = PX + PML;\r\n DX2 = PX + PML + Math.min(interval, width.value / 2 - PML - borderRadius);\r\n // DX1 = PX + PML;\r\n // DX2 = PX + PML + interval;\r\n EDGE = 'top';\r\n } else if (Y > YB) {\r\n //点在矩形下方\r\n DY1 = YB;\r\n DY2 = YB;\r\n let PX = X < XM ? XL : XM;\r\n DX1 = PX + PML;\r\n DX2 = PX + PML + Math.min(interval, width.value / 2 - PML - borderRadius);\r\n // DX1 = PX + PML;\r\n // DX2 = PX + PML + interval;\r\n EDGE = 'bottom';\r\n } else {\r\n DX1 = 0;\r\n DX2 = 0;\r\n DY1 = 0;\r\n DY2 = 0;\r\n }\r\n //计算箭头容器大小与偏移量\r\n if (X >= DX1 && X <= DX2) {\r\n arrowW = Math.abs(X - DX1) + Math.abs(X - DX2);\r\n arrowXF = -Math.abs(X - DX1);\r\n directionX = 'mid';\r\n } else {\r\n arrowW = Math.max(Math.abs(X - DX1), Math.abs(X - DX2));\r\n arrowXF = X < DX1 ? 0 : -arrowW;\r\n directionX = X < DX1 ? 'left' : 'right';\r\n }\r\n\r\n if (Y >= DY1 && Y <= DY2) {\r\n arrowH = Math.abs(Y - DY1) + Math.abs(Y - DY2);\r\n arrowYF = -Math.abs(Y - DY1);\r\n directionY = 'mid';\r\n } else {\r\n arrowH = Math.max(Math.abs(Y - DY1), Math.abs(Y - DY2));\r\n arrowYF = Y < DY1 ? 0 : -arrowH;\r\n directionY = Y < DY1 ? 'top' : 'bottom';\r\n }\r\n //计算剖切路径\r\n let p1x = 0 as Number | String;\r\n let p1y = 0 as Number | String;\r\n let p2x = 0 as Number | String;\r\n let p2y = 0 as Number | String;\r\n let p3x = 0 as Number | String;\r\n let p3y = 0 as Number | String;\r\n\r\n if (EDGE == 'top' || EDGE == 'bottom') {\r\n p1y = EDGE == 'top' ? 0 : '100%';\r\n p2y = EDGE == 'top' ? '100%' : 0;\r\n p3y = EDGE == 'top' ? '100%' : 0;\r\n if (directionX == 'left') {\r\n p1x = 0;\r\n p2x = DX1 + 'px';\r\n p3x = '100%';\r\n } else if (directionX == 'right') {\r\n p1x = '100%';\r\n p2x = 0;\r\n p3x = Math.abs(DX2 - DX1) + 'px';\r\n } else if (directionX == 'mid') {\r\n p1x = Math.abs(X - DX1) + 'px';\r\n p2x = 0;\r\n p3x = '100%';\r\n }\r\n }\r\n\r\n if (EDGE == 'left' || EDGE == 'right') {\r\n p1x = EDGE == 'left' ? 0 : '100%';\r\n p2x = EDGE == 'left' ? '100%' : 0;\r\n p3x = EDGE == 'left' ? '100%' : 0;\r\n if (directionY == 'top') {\r\n p1y = 0;\r\n p2y = DY1 + 'px';\r\n p3y = '100%';\r\n } else if (directionY == 'bottom') {\r\n p1y = '100%';\r\n p2y = 0;\r\n p3y = Math.abs(DY2 - DY1) + 'px';\r\n } else if (directionY == 'mid') {\r\n p1y = Math.abs(Y - DY1) + 'px';\r\n p2y = 0;\r\n p3y = '100%';\r\n }\r\n }\r\n let clipPath = `polygon(${p1x} ${p1y}, ${p2x} ${p2y},${p3x} ${p3y})`;\r\n return {\r\n ...props.lineStyle,\r\n width: arrowW + 'px',\r\n height: arrowH + 'px',\r\n clipPath: clipPath,\r\n transform: `translate(${-XF + arrowXF + otherOffsetX}px , ${\r\n -YF + arrowYF + otherOffsetY\r\n }px)`,\r\n };\r\n });\r\n let isMouseOver = false;\r\n const oldX = ref(0);\r\n const oldY = ref(0);\r\n const currX = ref(0);\r\n const currY = ref(0);\r\n const isMove = ref(false);\r\n const nameTransform = computed(() => {\r\n if (isMove.value && (props.isCanDraggable || draggable.value)) {\r\n return {\r\n width: `max-content`,\r\n transform: `translate(${currX.value}px, ${currY.value}px)`,\r\n };\r\n } else {\r\n return {\r\n width: `max-content`,\r\n transform: `translate(${props.otherOffset?.x || 0}px, ${props.otherOffset?.y || 0}px)`,\r\n };\r\n }\r\n });\r\n const { elementPositionX, elementPositionY } = useMouseInElement(el);\r\n useDraggable(el, {\r\n initialValue: { x: elementPositionX.value, y: elementPositionY.value },\r\n onStart: () => {\r\n oldX.value = elementPositionX.value;\r\n oldY.value = elementPositionY.value;\r\n setTimeout(() => {\r\n if (props.onCanDraggable) {\r\n draggable.value = props.onCanDraggable();\r\n }\r\n isMove.value = true;\r\n });\r\n },\r\n onMove: (position) => {\r\n if ((props.isCanDraggable || draggable.value) && isMove.value) {\r\n currX.value = position.x - oldX.value + (props.otherOffset?.x || 0);\r\n currY.value = position.y - oldY.value + (props.otherOffset?.y || 0);\r\n console.log({\r\n x: currX.value,\r\n y: currY.value,\r\n });\r\n }\r\n },\r\n onEnd: (position) => {\r\n if (position.x == 0 && position.y == 0) return;\r\n if (position.x == oldX.value && position.y == oldY.value) return;\r\n if (props.isCanDraggable || draggable.value) {\r\n currX.value = position.x - oldX.value + (props.otherOffset?.x || 0);\r\n currY.value = position.y - oldY.value + (props.otherOffset?.y || 0);\r\n emit('setOtherOffset', {\r\n x: position.x - oldX.value + (props.otherOffset?.x || 0),\r\n y: position.y - oldY.value + (props.otherOffset?.y || 0),\r\n });\r\n }\r\n isMove.value = false;\r\n },\r\n });\r\n</script>\r\n","import { withInstall } from '../../../../utils/with-install';\r\nimport _MarkerBubble from './src/MarkerBubble.vue';\r\nexport * from './src/markerBubble';\r\n\r\nconst CxMarkerBubble = withInstall(_MarkerBubble);\r\nexport { CxMarkerBubble };\r\nexport default CxMarkerBubble;\r\n"],"names":["markerBubbleProps","props","__props","bem","createNamespace","emit","__emit","el","ref","width","height","useElementSize","draggable","lineStyle","computed","otherOffsetX","otherOffsetY","isMove","currX","currY","XF","YF","X","Y","XL","XM","XR","YT","YM","YB","DX1","DY1","DX2","DY2","arrowW","arrowH","arrowXF","arrowYF","interval","PML","borderRadius","EDGE","directionX","directionY","PY","PX","p1x","p1y","p2x","p2y","p3x","p3y","clipPath","oldX","oldY","nameTransform","elementPositionX","elementPositionY","useMouseInElement","useDraggable","position","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_toDisplayString","CxMarkerBubble","withInstall","_MarkerBubble"],"mappings":"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"}
1
+ {"version":3,"file":"marker-bubble.js","sources":["../../src/components/marker-bubble/src/markerBubble.ts","../../src/components/marker-bubble/src/MarkerBubble.vue","../../src/components/marker-bubble/index.ts"],"sourcesContent":["import { ExtractPropTypes, PropType } from 'vue';\r\n\r\nexport type OtherOffset = { x: number; y: number };\r\n\r\nexport const markerBubbleProps = {\r\n text: { type: String, default: '文字' },\r\n textStyle: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n lineStyle: {\r\n type: Object,\r\n default: () => ({}),\r\n },\r\n isCanDraggable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n onCanDraggable: {\r\n type: Function as PropType<() => boolean>,\r\n },\r\n pixelOffset: {\r\n type: Object as PropType<OtherOffset>,\r\n default: () => ({ x: 0, y: 0 }),\r\n },\r\n otherOffset: {\r\n type: Object as PropType<OtherOffset>,\r\n default: () => ({ x: 0, y: 0 }),\r\n },\r\n onSetOtherOffset: {\r\n type: Function as PropType<(offset: OtherOffset) => void>,\r\n },\r\n\r\n} as const;\r\n\r\nexport type MarkerBubbleProps = ExtractPropTypes<typeof markerBubbleProps>;\r\n","<template>\r\n <div :class=\"bem.b('bubble')\">\r\n <div ref=\"el\" :style=\"nameTransform\">\r\n <div :class=\"bem.be('bubble', 'name')\" v-if=\"props.text\" :style=\"props.textStyle\">\r\n {{ props.text }}\r\n </div>\r\n </div>\r\n <div :class=\"bem.be('bubble', 'line')\" :style=\"lineStyle\"></div>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\n import { createNamespace, prefix } from '../../../../../utils/create';\r\n import { markerBubbleProps } from './markerBubble';\r\n import { computed, ref } from 'vue';\r\n import { useElementSize, useDraggable, useMouseInElement } from '@vueuse/core';\r\n defineOptions({ name: `${prefix}-marker` });\r\n const props = defineProps(markerBubbleProps);\r\n const bem = createNamespace('marker');\r\n\r\n const emit = defineEmits(['setOtherOffset']);\r\n const el = ref();\r\n const { width, height } = useElementSize(el);\r\n const draggable = ref(false);\r\n const lineStyle = computed(() => {\r\n let otherOffsetX = props.otherOffset?.x || 0;\r\n let otherOffsetY = props.otherOffset?.y || 0;\r\n if (isMove.value && (props.isCanDraggable || draggable.value)) {\r\n otherOffsetX = currX.value || 0;\r\n otherOffsetY = currY.value || 0;\r\n }\r\n\r\n let XF = (props.pixelOffset?.x || 0) + otherOffsetX;\r\n let YF = (props.pixelOffset?.y || 0) + otherOffsetY;\r\n let X = 0;\r\n let Y = 0;\r\n let XL = X + XF;\r\n let XM = X + XF + width.value / 2;\r\n let XR = X + XF + width.value;\r\n let YT = Y + YF;\r\n let YM = Y + YF + height.value / 2;\r\n let YB = Y + YF + height.value;\r\n let DX1 = 0;\r\n let DY1 = 0;\r\n let DX2 = 0;\r\n let DY2 = 0;\r\n let arrowW = 0;\r\n let arrowH = 0;\r\n let arrowXF = 0;\r\n let arrowYF = 0;\r\n let interval = 24;\r\n let PML = 4;\r\n let borderRadius = 4;\r\n let EDGE = '';\r\n let directionX = '';\r\n let directionY = '';\r\n //计算动态点位\r\n if (X < XL && Y >= YT && Y <= YB) {\r\n //点在矩形左边\r\n DX1 = XL;\r\n DX2 = XL;\r\n let PY = Y < YM ? YT : YM;\r\n DY1 = PY + PML;\r\n DY2 = PY + PML + Math.min(interval, height.value / 2 - PML - borderRadius);\r\n // DY1 = PY + PML;\r\n // DY2 = PY + PML + interval;\r\n EDGE = 'left';\r\n } else if (X > XR && Y >= YT && Y <= YB) {\r\n //点在矩形右边\r\n DX1 = XR;\r\n DX2 = XR;\r\n let PY = Y < YM ? YT : YM;\r\n DY1 = PY + PML;\r\n DY2 = PY + PML + Math.min(interval, height.value / 2 - PML - borderRadius);\r\n // DY1 = PY + PML;\r\n // DY2 = PY + PML + interval;\r\n EDGE = 'right';\r\n } else if (Y < YT) {\r\n //点在矩形上方\r\n DY1 = YT;\r\n DY2 = YT;\r\n let PX = X < XM ? XL : XM;\r\n DX1 = PX + PML;\r\n DX2 = PX + PML + Math.min(interval, width.value / 2 - PML - borderRadius);\r\n // DX1 = PX + PML;\r\n // DX2 = PX + PML + interval;\r\n EDGE = 'top';\r\n } else if (Y > YB) {\r\n //点在矩形下方\r\n DY1 = YB;\r\n DY2 = YB;\r\n let PX = X < XM ? XL : XM;\r\n DX1 = PX + PML;\r\n DX2 = PX + PML + Math.min(interval, width.value / 2 - PML - borderRadius);\r\n // DX1 = PX + PML;\r\n // DX2 = PX + PML + interval;\r\n EDGE = 'bottom';\r\n } else {\r\n DX1 = 0;\r\n DX2 = 0;\r\n DY1 = 0;\r\n DY2 = 0;\r\n }\r\n //计算箭头容器大小与偏移量\r\n if (X >= DX1 && X <= DX2) {\r\n arrowW = Math.abs(X - DX1) + Math.abs(X - DX2);\r\n arrowXF = -Math.abs(X - DX1);\r\n directionX = 'mid';\r\n } else {\r\n arrowW = Math.max(Math.abs(X - DX1), Math.abs(X - DX2));\r\n arrowXF = X < DX1 ? 0 : -arrowW;\r\n directionX = X < DX1 ? 'left' : 'right';\r\n }\r\n\r\n if (Y >= DY1 && Y <= DY2) {\r\n arrowH = Math.abs(Y - DY1) + Math.abs(Y - DY2);\r\n arrowYF = -Math.abs(Y - DY1);\r\n directionY = 'mid';\r\n } else {\r\n arrowH = Math.max(Math.abs(Y - DY1), Math.abs(Y - DY2));\r\n arrowYF = Y < DY1 ? 0 : -arrowH;\r\n directionY = Y < DY1 ? 'top' : 'bottom';\r\n }\r\n //计算剖切路径\r\n let p1x = 0 as Number | String;\r\n let p1y = 0 as Number | String;\r\n let p2x = 0 as Number | String;\r\n let p2y = 0 as Number | String;\r\n let p3x = 0 as Number | String;\r\n let p3y = 0 as Number | String;\r\n\r\n if (EDGE == 'top' || EDGE == 'bottom') {\r\n p1y = EDGE == 'top' ? 0 : '100%';\r\n p2y = EDGE == 'top' ? '100%' : 0;\r\n p3y = EDGE == 'top' ? '100%' : 0;\r\n if (directionX == 'left') {\r\n p1x = 0;\r\n p2x = DX1 + 'px';\r\n p3x = '100%';\r\n } else if (directionX == 'right') {\r\n p1x = '100%';\r\n p2x = 0;\r\n p3x = Math.abs(DX2 - DX1) + 'px';\r\n } else if (directionX == 'mid') {\r\n p1x = Math.abs(X - DX1) + 'px';\r\n p2x = 0;\r\n p3x = '100%';\r\n }\r\n }\r\n\r\n if (EDGE == 'left' || EDGE == 'right') {\r\n p1x = EDGE == 'left' ? 0 : '100%';\r\n p2x = EDGE == 'left' ? '100%' : 0;\r\n p3x = EDGE == 'left' ? '100%' : 0;\r\n if (directionY == 'top') {\r\n p1y = 0;\r\n p2y = DY1 + 'px';\r\n p3y = '100%';\r\n } else if (directionY == 'bottom') {\r\n p1y = '100%';\r\n p2y = 0;\r\n p3y = Math.abs(DY2 - DY1) + 'px';\r\n } else if (directionY == 'mid') {\r\n p1y = Math.abs(Y - DY1) + 'px';\r\n p2y = 0;\r\n p3y = '100%';\r\n }\r\n }\r\n let clipPath = `polygon(${p1x} ${p1y}, ${p2x} ${p2y},${p3x} ${p3y})`;\r\n return {\r\n ...props.lineStyle,\r\n width: arrowW + 'px',\r\n height: arrowH + 'px',\r\n clipPath: clipPath,\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n transform: `translate(${-XF + arrowXF + otherOffsetX}px , ${\r\n -YF + arrowYF + otherOffsetY\r\n }px)`,\r\n };\r\n });\r\n let isMouseOver = false;\r\n const oldX = ref(0);\r\n const oldY = ref(0);\r\n const currX = ref(0);\r\n const currY = ref(0);\r\n const isMove = ref(false);\r\n const nameTransform = computed(() => {\r\n if (isMove.value && (props.isCanDraggable || draggable.value)) {\r\n return {\r\n width: `max-content`,\r\n transform: `translate(${currX.value}px, ${currY.value}px)`,\r\n };\r\n } else {\r\n return {\r\n width: `max-content`,\r\n transform: `translate(${props.otherOffset?.x || 0}px, ${props.otherOffset?.y || 0}px)`,\r\n };\r\n }\r\n });\r\n const { elementPositionX, elementPositionY } = useMouseInElement(el);\r\n useDraggable(el, {\r\n initialValue: { x: elementPositionX.value, y: elementPositionY.value },\r\n onStart: () => {\r\n oldX.value = elementPositionX.value;\r\n oldY.value = elementPositionY.value;\r\n setTimeout(() => {\r\n if (props.onCanDraggable) {\r\n draggable.value = props.onCanDraggable();\r\n }\r\n isMove.value = true;\r\n });\r\n },\r\n onMove: (position) => {\r\n if ((props.isCanDraggable || draggable.value) && isMove.value) {\r\n currX.value = position.x - oldX.value + (props.otherOffset?.x || 0);\r\n currY.value = position.y - oldY.value + (props.otherOffset?.y || 0);\r\n }\r\n },\r\n onEnd: (position) => {\r\n if (position.x == 0 && position.y == 0) return;\r\n if (position.x == oldX.value && position.y == oldY.value) return;\r\n if (props.isCanDraggable || draggable.value) {\r\n currX.value = position.x - oldX.value + (props.otherOffset?.x || 0);\r\n currY.value = position.y - oldY.value + (props.otherOffset?.y || 0);\r\n const offset = {\r\n x: position.x - oldX.value + (props.otherOffset?.x || 0),\r\n y: position.y - oldY.value + (props.otherOffset?.y || 0),\r\n };\r\n emit('setOtherOffset', offset);\r\n }\r\n isMove.value = false;\r\n },\r\n });\r\n</script>\r\n","import { withInstall } from '../../../../utils/with-install';\r\nimport _MarkerBubble from './src/MarkerBubble.vue';\r\nexport * from './src/markerBubble';\r\n\r\nconst CxMarkerBubble = withInstall(_MarkerBubble);\r\nexport { CxMarkerBubble };\r\nexport default CxMarkerBubble;\r\n"],"names":["markerBubbleProps","props","__props","bem","createNamespace","emit","__emit","el","ref","width","height","useElementSize","draggable","lineStyle","computed","otherOffsetX","otherOffsetY","isMove","currX","currY","XF","YF","X","Y","XL","XM","XR","YT","YM","YB","DX1","DY1","DX2","DY2","arrowW","arrowH","arrowXF","arrowYF","interval","PML","borderRadius","EDGE","directionX","directionY","PY","PX","p1x","p1y","p2x","p2y","p3x","p3y","clipPath","oldX","oldY","nameTransform","elementPositionX","elementPositionY","useMouseInElement","useDraggable","position","offset","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_normalizeStyle","_toDisplayString","CxMarkerBubble","withInstall","_MarkerBubble"],"mappings":"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"}