@mx-sose-front/mx-sose-graph 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -7596,12 +7596,8 @@ class EdgeUtils {
7596
7596
  static findNearestConnectPoint(mousePos, shape, diagramBounds) {
7597
7597
  if (!(shape == null ? void 0 : shape.bounds) || !diagramBounds)
7598
7598
  return null;
7599
- const canvas = document.querySelector(".diagram-content");
7600
- if (!canvas)
7601
- return null;
7602
- const canvasRect = canvas.getBoundingClientRect();
7603
- const mouseX = mousePos.x - canvasRect.left - diagramBounds.x;
7604
- const mouseY = mousePos.y - canvasRect.top - diagramBounds.y;
7599
+ const mouseX = mousePos.x;
7600
+ const mouseY = mousePos.y;
7605
7601
  const { x: x2 = 0, y = 0, width = 0, height = 0 } = shape.bounds;
7606
7602
  const left = x2;
7607
7603
  const right = x2 + width;
@@ -7753,13 +7749,7 @@ class EdgeUtils {
7753
7749
  */
7754
7750
  static checkHoverTarget(x2, y, shapes, diagramBounds, sourceId) {
7755
7751
  var _a2;
7756
- const canvas = document.querySelector(".diagram-content");
7757
- if (!canvas)
7758
- return null;
7759
- const canvasRect = canvas.getBoundingClientRect();
7760
- const clickX = x2 - canvasRect.left - ((diagramBounds == null ? void 0 : diagramBounds.x) || 0);
7761
- const clickY = y - canvasRect.top - ((diagramBounds == null ? void 0 : diagramBounds.y) || 0);
7762
- const hit = pickTarget(shapes, { x: clickX, y: clickY });
7752
+ const hit = pickTarget(shapes, { x: x2, y });
7763
7753
  if (["shape", "pin"].includes(hit.kind) && ((_a2 = hit.shape) == null ? void 0 : _a2.id) && sourceId && hit.shape.id !== sourceId) {
7764
7754
  return hit.shape;
7765
7755
  }
@@ -10609,9 +10599,9 @@ __publicField(IconLoader, "iconMaps", /* @__PURE__ */ new Map());
10609
10599
  const getIcon = (iconPath, iconName) => IconLoader.getIcon(iconPath, iconName);
10610
10600
  const _hoisted_1$g = { class: "flex items-center box-border border-b-[1px] border-solid border-[#DCDFE6]" };
10611
10601
  const _hoisted_2$f = ["src"];
10612
- const _hoisted_3$d = { class: "flex items-center" };
10613
- const _hoisted_4$d = ["src"];
10614
- const _hoisted_5$c = { class: "flex items-center box-border border-b-[1px] border-solid border-[#DCDFE6]" };
10602
+ const _hoisted_3$e = { class: "flex items-center" };
10603
+ const _hoisted_4$e = ["src"];
10604
+ const _hoisted_5$d = { class: "flex items-center box-border border-b-[1px] border-solid border-[#DCDFE6]" };
10615
10605
  const _hoisted_6$b = ["src"];
10616
10606
  const _hoisted_7$9 = { class: "flex items-center box-border border-b-[1px] border-solid border-[#DCDFE6]" };
10617
10607
  const _hoisted_8$9 = ["src"];
@@ -10805,12 +10795,12 @@ const _sfc_main$2M = /* @__PURE__ */ defineComponent({
10805
10795
  class: "menu-item",
10806
10796
  onClick: handleHighlight
10807
10797
  }, [
10808
- createElementVNode("div", _hoisted_3$d, [
10798
+ createElementVNode("div", _hoisted_3$e, [
10809
10799
  createElementVNode("img", {
10810
10800
  src: unref(getIcon)("createMenu", "delete"),
10811
10801
  class: "w-[18px] h-[18px] mr-[10px] ml-[2px]",
10812
10802
  alt: "树上高亮"
10813
- }, null, 8, _hoisted_4$d),
10803
+ }, null, 8, _hoisted_4$e),
10814
10804
  _cache[3] || (_cache[3] = createElementVNode("span", null, "树上高亮", -1))
10815
10805
  ])
10816
10806
  ]),
@@ -10818,7 +10808,7 @@ const _sfc_main$2M = /* @__PURE__ */ defineComponent({
10818
10808
  class: normalizeClass(["menu-item", { "menu-disabled": true }]),
10819
10809
  onClick: handleLocateChart
10820
10810
  }, [
10821
- createElementVNode("div", _hoisted_5$c, [
10811
+ createElementVNode("div", _hoisted_5$d, [
10822
10812
  createElementVNode("img", {
10823
10813
  src: unref(getIcon)("createMenu", "locateChart"),
10824
10814
  class: "w-[18px] h-[18px] mr-[10px] ml-[2px]",
@@ -10957,9 +10947,9 @@ const SPECIAL_END_POINT_SHAPES = [
10957
10947
  ];
10958
10948
  const _hoisted_1$f = { key: 0 };
10959
10949
  const _hoisted_2$e = ["id"];
10960
- const _hoisted_3$c = ["id"];
10961
- const _hoisted_4$c = ["id"];
10962
- const _hoisted_5$b = ["id"];
10950
+ const _hoisted_3$d = ["id"];
10951
+ const _hoisted_4$d = ["id"];
10952
+ const _hoisted_5$c = ["id"];
10963
10953
  const _hoisted_6$a = ["id"];
10964
10954
  const _hoisted_7$8 = ["id"];
10965
10955
  const _hoisted_8$8 = ["id"];
@@ -11007,7 +10997,7 @@ const _sfc_main$2L = /* @__PURE__ */ defineComponent({
11007
10997
  stroke: "#5E5E5E",
11008
10998
  "stroke-width": "1"
11009
10999
  }, null, -1)
11010
- ])], 8, _hoisted_3$c)
11000
+ ])], 8, _hoisted_3$d)
11011
11001
  ], 64)) : shapeKey.value === unref(EDGE_TYPE).AGGREGATION ? (openBlock(), createElementBlock("marker", {
11012
11002
  key: 1,
11013
11003
  id: `diamond-${shapeKey.value}`,
@@ -11024,7 +11014,7 @@ const _sfc_main$2L = /* @__PURE__ */ defineComponent({
11024
11014
  stroke: "#5E5E5E",
11025
11015
  "stroke-width": "1"
11026
11016
  }, null, -1)
11027
- ])], 8, _hoisted_4$c)) : shapeKey.value === unref(EDGE_TYPE).GENERALIZATION ? (openBlock(), createElementBlock("marker", {
11017
+ ])], 8, _hoisted_4$d)) : shapeKey.value === unref(EDGE_TYPE).GENERALIZATION ? (openBlock(), createElementBlock("marker", {
11028
11018
  key: 2,
11029
11019
  id: `diamond-${shapeKey.value}`,
11030
11020
  markerWidth: "10",
@@ -11039,7 +11029,7 @@ const _sfc_main$2L = /* @__PURE__ */ defineComponent({
11039
11029
  stroke: "#5E5E5E",
11040
11030
  "stroke-width": "1"
11041
11031
  }, null, -1)
11042
- ])], 8, _hoisted_5$b)) : shapeKey.value === unref(EDGE_TYPE).DIRECTED_COMPOSITION ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
11032
+ ])], 8, _hoisted_5$c)) : shapeKey.value === unref(EDGE_TYPE).DIRECTED_COMPOSITION ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
11043
11033
  createElementVNode("marker", {
11044
11034
  id: `arrowhead-${shapeKey.value}`,
11045
11035
  markerWidth: "7",
@@ -69851,12 +69841,12 @@ function snapPinPointerOnMove(pointer, parentShape, pinShape, dragOffset) {
69851
69841
  }
69852
69842
  const _hoisted_1$d = { class: "resize-handles" };
69853
69843
  const _hoisted_2$d = ["onMousedown"];
69854
- const _hoisted_3$b = {
69844
+ const _hoisted_3$c = {
69855
69845
  key: 0,
69856
69846
  class: "border-btn"
69857
69847
  };
69858
- const _hoisted_4$b = ["onMousedown"];
69859
- const _hoisted_5$a = ["onMousedown", "title"];
69848
+ const _hoisted_4$c = ["onMousedown"];
69849
+ const _hoisted_5$b = ["onMousedown", "title"];
69860
69850
  const _hoisted_6$9 = ["src"];
69861
69851
  const minW = 50, minH = 30;
69862
69852
  const DRAG_THRESHOLD = 4;
@@ -69887,7 +69877,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
69887
69877
  ],
69888
69878
  setup(__props, { expose: __expose, emit: __emit }) {
69889
69879
  useCssVars((_ctx) => ({
69890
- "672c44c5": unref(graphStore).currentScale
69880
+ "26f2f4ea": unref(graphStore).currentScale
69891
69881
  }));
69892
69882
  const emit = __emit;
69893
69883
  const props2 = __props;
@@ -70101,7 +70091,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70101
70091
  emit("propertyPanel", payload);
70102
70092
  };
70103
70093
  const onLayerClick = (evt) => {
70104
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
70094
+ var _a2, _b, _c, _d, _e, _f, _g;
70105
70095
  const target = evt.target;
70106
70096
  const contextMenu = document.querySelector(".context-menu");
70107
70097
  if (contextMenu && contextMenu.contains(target)) {
@@ -70127,7 +70117,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70127
70117
  handleConnectLayerClick(evt);
70128
70118
  return;
70129
70119
  }
70130
- recordClickPoint.value = { x: evt.clientX, y: evt.clientY };
70120
+ recordClickPoint.value = toLocalPoint(evt, layerRef.value);
70131
70121
  const foundSourceShape = graphStore.shapes.find(
70132
70122
  (shape) => {
70133
70123
  var _a3;
@@ -70140,27 +70130,27 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70140
70130
  }
70141
70131
  sourceShape.value = foundSourceShape;
70142
70132
  initializeConnectPoint();
70143
- const canvasRect = canvas.getBoundingClientRect();
70144
- const clickX = evt.clientX - canvasRect.left - (((_a2 = props2.diagramBounds) == null ? void 0 : _a2.x) || 0);
70145
- const clickY = evt.clientY - canvasRect.top - (((_b = props2.diagramBounds) == null ? void 0 : _b.y) || 0);
70133
+ const localPoint = toLocalPoint(evt, layerRef.value);
70134
+ const clickX = localPoint.x;
70135
+ const clickY = localPoint.y;
70146
70136
  const hasShapeAtPoint = EdgeUtils.isEndPointInShape(graphStore.shapes, { x: clickX, y: clickY });
70147
70137
  if (!hasShapeAtPoint) {
70148
70138
  console.log(props2.connectShapeData, "props.connectShapeData");
70149
70139
  console.log(props2.connectShapeData.scenarioMenus, "scenarioMenus");
70150
70140
  const newShape = _.cloneDeep(foundSourceShape);
70151
70141
  newShape.id = getUuid();
70152
- const currentMenu = (_d = (_c = props2.connectShapeData) == null ? void 0 : _c.scenarioMenus) == null ? void 0 : _d.find(
70142
+ const currentMenu = (_b = (_a2 = props2.connectShapeData) == null ? void 0 : _a2.scenarioMenus) == null ? void 0 : _b.find(
70153
70143
  (menu) => {
70154
70144
  var _a3;
70155
70145
  return menu.code === ((_a3 = props2.connectShapeData) == null ? void 0 : _a3.shapeKey);
70156
70146
  }
70157
70147
  );
70158
- const targetModels = ((_e = currentMenu == null ? void 0 : currentMenu.targetCreateModel) == null ? void 0 : _e.split(",")) || ((_g = (_f = props2.connectShapeData) == null ? void 0 : _f.targetCreateModel) == null ? void 0 : _g.split(","));
70148
+ const targetModels = ((_c = currentMenu == null ? void 0 : currentMenu.targetCreateModel) == null ? void 0 : _c.split(",")) || ((_e = (_d = props2.connectShapeData) == null ? void 0 : _d.targetCreateModel) == null ? void 0 : _e.split(","));
70159
70149
  if ((targetModels == null ? void 0 : targetModels.length) === 1) {
70160
70150
  newShape.shapeKey = targetModels[0];
70161
70151
  }
70162
- const defaultWidth = ((_h = foundSourceShape.bounds) == null ? void 0 : _h.width) || 100;
70163
- const defaultHeight = ((_i = foundSourceShape.bounds) == null ? void 0 : _i.height) || 50;
70152
+ const defaultWidth = ((_f = foundSourceShape.bounds) == null ? void 0 : _f.width) || 100;
70153
+ const defaultHeight = ((_g = foundSourceShape.bounds) == null ? void 0 : _g.height) || 50;
70164
70154
  const newShapeX = clickX;
70165
70155
  const newShapeY = clickY - defaultHeight / 2;
70166
70156
  const diagramId = newShape.diagramId;
@@ -70628,12 +70618,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70628
70618
  };
70629
70619
  const handleMouseMove = (event) => {
70630
70620
  const { clientX, clientY } = event;
70621
+ const localPoint = toLocalPoint(event, layerRef.value);
70631
70622
  if (EdgeUtils.isWithinCanvas(clientX, clientY)) {
70632
- mousePosition.value = { x: clientX, y: clientY };
70623
+ mousePosition.value = { x: localPoint.x, y: localPoint.y };
70633
70624
  if (isConnecting.value) {
70634
70625
  showLine.value = true;
70635
- updateConnectPointToNearest(clientX, clientY);
70636
- checkHoverTarget(clientX, clientY);
70626
+ updateConnectPointToNearest(localPoint.x, localPoint.y);
70627
+ checkHoverTarget(localPoint.x, localPoint.y);
70637
70628
  }
70638
70629
  } else {
70639
70630
  if (isConnecting.value) {
@@ -70643,13 +70634,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70643
70634
  }
70644
70635
  };
70645
70636
  let lastHoverShapeId = null;
70646
- const checkHoverTarget = (clientX, clientY) => {
70637
+ const checkHoverTarget = (x2, y) => {
70647
70638
  var _a2, _b, _c, _d, _e;
70648
70639
  if (!props2.diagramBounds)
70649
70640
  return;
70650
70641
  const hoverShape = EdgeUtils.checkHoverTarget(
70651
- clientX,
70652
- clientY,
70642
+ x2,
70643
+ y,
70653
70644
  graphStore.shapes,
70654
70645
  props2.diagramBounds,
70655
70646
  (_a2 = props2.connectShapeData) == null ? void 0 : _a2.sourceId
@@ -70732,18 +70723,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70732
70723
  }
70733
70724
  );
70734
70725
  const handleConnectLayerClick = (event) => {
70735
- var _a2, _b, _c;
70736
- const { clientX, clientY } = event;
70737
- const canvas = document.querySelector(".diagram-content");
70738
- if (!canvas || !props2.diagramBounds)
70739
- return;
70740
- const canvasRect = canvas.getBoundingClientRect();
70741
- const clickX = clientX - canvasRect.left - (((_a2 = props2.diagramBounds) == null ? void 0 : _a2.x) || 0);
70742
- const clickY = clientY - canvasRect.top - (((_b = props2.diagramBounds) == null ? void 0 : _b.y) || 0);
70743
- const hit = pickTarget(graphStore.shapes, { x: clickX, y: clickY });
70744
- if (hit.kind === "shape" && hit.shape.id && ((_c = props2.connectShapeData) == null ? void 0 : _c.sourceId) && hit.shape.id !== props2.connectShapeData.sourceId) {
70726
+ var _a2;
70727
+ const localPoint = toLocalPoint(event, layerRef.value);
70728
+ const hit = pickTarget(graphStore.shapes, localPoint);
70729
+ if (hit.kind === "shape" && hit.shape.id && ((_a2 = props2.connectShapeData) == null ? void 0 : _a2.sourceId) && hit.shape.id !== props2.connectShapeData.sourceId) {
70745
70730
  event.stopPropagation();
70746
- completeConnection(hit.shape, { x: clickX, y: clickY });
70731
+ completeConnection(hit.shape, localPoint);
70747
70732
  }
70748
70733
  };
70749
70734
  const completeConnection = (clickedShape, clickPoint) => {
@@ -70864,15 +70849,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
70864
70849
  currentConnectPoint.value.y === 0) {
70865
70850
  return "";
70866
70851
  }
70867
- const canvas = document.querySelector(".diagram-content");
70868
- if (!canvas)
70869
- return "";
70870
- const canvasRect = canvas.getBoundingClientRect();
70871
70852
  const { x: startX, y: startY } = currentConnectPoint.value;
70872
70853
  let endX, endY;
70873
70854
  if (isConnecting.value) {
70874
- endX = mousePosition.value.x - canvasRect.left - props2.diagramBounds.x;
70875
- endY = mousePosition.value.y - canvasRect.top - props2.diagramBounds.y;
70855
+ endX = mousePosition.value.x;
70856
+ endY = mousePosition.value.y;
70876
70857
  } else if (targetConnectPoint.value) {
70877
70858
  endX = targetConnectPoint.value.x;
70878
70859
  endY = targetConnectPoint.value.y;
@@ -71184,7 +71165,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
71184
71165
  ref_for: true,
71185
71166
  ref: (el) => setActionButtonsRef(el, s2.id)
71186
71167
  }, [
71187
- s2.modelTypePropertyId ? (openBlock(), createElementBlock("div", _hoisted_3$b, [
71168
+ s2.modelTypePropertyId ? (openBlock(), createElementBlock("div", _hoisted_3$c, [
71188
71169
  createElementVNode("button", {
71189
71170
  class: "action-btn edit-btn",
71190
71171
  onMousedown: withModifiers(($event) => clickModelTypePropertyIdButton(s2.modelTypePropertyId, s2), ["stop", "prevent"]),
@@ -71194,7 +71175,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
71194
71175
  src: _imports_0,
71195
71176
  alt: "设置类型"
71196
71177
  }, null, -1)
71197
- ])], 40, _hoisted_4$b)
71178
+ ])], 40, _hoisted_4$c)
71198
71179
  ])) : createCommentVNode("", true),
71199
71180
  (openBlock(true), createElementBlock(Fragment, null, renderList(s2.scenarioMenus, (value) => {
71200
71181
  return openBlock(), createElementBlock("button", {
@@ -71207,7 +71188,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
71207
71188
  createElementVNode("img", {
71208
71189
  src: unref(getIcon)("childIcons", value.icon || "")
71209
71190
  }, null, 8, _hoisted_6$9)
71210
- ], 40, _hoisted_5$a);
71191
+ ], 40, _hoisted_5$b);
71211
71192
  }), 256))
71212
71193
  ], 4), [
71213
71194
  [vShow, !isMultiSelected.value && s2.scenarioMenus && s2.scenarioMenus.length > 0 && s2.shapeType != unref(ShapeConfig).SHAPE_TYPE]
@@ -71305,8 +71286,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
71305
71286
  };
71306
71287
  }
71307
71288
  });
71308
- const InteractionLayer_vue_vue_type_style_index_0_scoped_914902a3_lang = "";
71309
- const InteractionLayer = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__scopeId", "data-v-914902a3"]]);
71289
+ const InteractionLayer_vue_vue_type_style_index_0_scoped_cf54d360_lang = "";
71290
+ const InteractionLayer = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__scopeId", "data-v-cf54d360"]]);
71310
71291
  const _hoisted_1$c = { class: "diagram-header" };
71311
71292
  const _hoisted_2$c = { class: "diagram-title" };
71312
71293
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
@@ -71382,8 +71363,8 @@ const StrategicTaxonomyDiagram_vue_vue_type_style_index_0_scoped_1f4cb409_lang =
71382
71363
  const StrategicTaxonomyDiagram = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__scopeId", "data-v-1f4cb409"]]);
71383
71364
  const _hoisted_1$b = ["width", "height", "viewBox"];
71384
71365
  const _hoisted_2$b = ["x", "y", "width", "height", "stroke", "stroke-width"];
71385
- const _hoisted_3$a = { key: 0 };
71386
- const _hoisted_4$a = ["x", "y", "width", "height", "href"];
71366
+ const _hoisted_3$b = { key: 0 };
71367
+ const _hoisted_4$b = ["x", "y", "width", "height", "href"];
71387
71368
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
71388
71369
  __name: "ConceptualRole",
71389
71370
  props: {
@@ -71541,7 +71522,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
71541
71522
  "stroke-alignment": "outer",
71542
71523
  rx: "2"
71543
71524
  }, null, 8, _hoisted_2$b),
71544
- !isGhost.value ? (openBlock(), createElementBlock("g", _hoisted_3$a, [
71525
+ !isGhost.value ? (openBlock(), createElementBlock("g", _hoisted_3$b, [
71545
71526
  showIcon.value ? (openBlock(), createElementBlock("g", {
71546
71527
  key: 0,
71547
71528
  onClick: onImageClick
@@ -71553,7 +71534,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
71553
71534
  height: imageHeight.value,
71554
71535
  href: unref(getIcon)("childIcons", _ctx.shape.icon || ""),
71555
71536
  style: { "cursor": "pointer" }
71556
- }, null, 8, _hoisted_4$a)
71537
+ }, null, 8, _hoisted_4$b)
71557
71538
  ])) : createCommentVNode("", true)
71558
71539
  ])) : createCommentVNode("", true)
71559
71540
  ], 8, _hoisted_1$b))
@@ -71655,9 +71636,9 @@ function hslToRgb(h2, s2, l2) {
71655
71636
  }
71656
71637
  const _hoisted_1$a = ["width", "height", "viewBox"];
71657
71638
  const _hoisted_2$a = ["id"];
71658
- const _hoisted_3$9 = ["stop-color"];
71659
- const _hoisted_4$9 = ["stop-color"];
71660
- const _hoisted_5$9 = ["stop-color"];
71639
+ const _hoisted_3$a = ["stop-color"];
71640
+ const _hoisted_4$a = ["stop-color"];
71641
+ const _hoisted_5$a = ["stop-color"];
71661
71642
  const _hoisted_6$8 = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"];
71662
71643
  const _hoisted_7$7 = { key: 0 };
71663
71644
  const _hoisted_8$7 = ["x", "y", "font-family", "font-size", "font-weight", "fill"];
@@ -71842,15 +71823,15 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
71842
71823
  createElementVNode("stop", {
71843
71824
  offset: "0%",
71844
71825
  "stop-color": gradientLeftColor.value
71845
- }, null, 8, _hoisted_3$9),
71826
+ }, null, 8, _hoisted_3$a),
71846
71827
  createElementVNode("stop", {
71847
71828
  offset: "75%",
71848
71829
  "stop-color": gradientMiddleColor.value
71849
- }, null, 8, _hoisted_4$9),
71830
+ }, null, 8, _hoisted_4$a),
71850
71831
  createElementVNode("stop", {
71851
71832
  offset: "100%",
71852
71833
  "stop-color": gradientRightColor.value
71853
- }, null, 8, _hoisted_5$9)
71834
+ }, null, 8, _hoisted_5$a)
71854
71835
  ], 8, _hoisted_2$a)
71855
71836
  ]),
71856
71837
  createElementVNode("rect", {
@@ -71911,9 +71892,9 @@ const Block_vue_vue_type_style_index_0_scoped_66d2551a_lang = "";
71911
71892
  const Block = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-66d2551a"]]);
71912
71893
  const _hoisted_1$9 = ["width", "height", "viewBox"];
71913
71894
  const _hoisted_2$9 = ["id"];
71914
- const _hoisted_3$8 = ["stop-color"];
71915
- const _hoisted_4$8 = ["stop-color"];
71916
- const _hoisted_5$8 = ["id"];
71895
+ const _hoisted_3$9 = ["stop-color"];
71896
+ const _hoisted_4$9 = ["stop-color"];
71897
+ const _hoisted_5$9 = ["id"];
71917
71898
  const _hoisted_6$7 = ["stop-color"];
71918
71899
  const _hoisted_7$6 = ["stop-color"];
71919
71900
  const _hoisted_8$6 = ["d", "fill", "stroke", "stroke-width"];
@@ -72062,11 +72043,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
72062
72043
  createElementVNode("stop", {
72063
72044
  offset: "0%",
72064
72045
  "stop-color": gradientLeftColor.value
72065
- }, null, 8, _hoisted_3$8),
72046
+ }, null, 8, _hoisted_3$9),
72066
72047
  createElementVNode("stop", {
72067
72048
  offset: "100%",
72068
72049
  "stop-color": gradientRightColor.value
72069
- }, null, 8, _hoisted_4$8)
72050
+ }, null, 8, _hoisted_4$9)
72070
72051
  ], 8, _hoisted_2$9),
72071
72052
  createElementVNode("linearGradient", {
72072
72053
  id: `foldGradient-${_ctx.shape.id}`,
@@ -72083,7 +72064,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
72083
72064
  offset: "100%",
72084
72065
  "stop-color": foldColor2.value
72085
72066
  }, null, 8, _hoisted_7$6)
72086
- ], 8, _hoisted_5$8)
72067
+ ], 8, _hoisted_5$9)
72087
72068
  ]),
72088
72069
  createElementVNode("path", {
72089
72070
  d: shapePath.value,
@@ -72136,9 +72117,9 @@ const DogEar_vue_vue_type_style_index_0_scoped_8e8054b6_lang = "";
72136
72117
  const DogEar = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__scopeId", "data-v-8e8054b6"]]);
72137
72118
  const _hoisted_1$8 = ["width", "height", "viewBox"];
72138
72119
  const _hoisted_2$8 = ["id"];
72139
- const _hoisted_3$7 = ["stop-color"];
72140
- const _hoisted_4$7 = ["stop-color"];
72141
- const _hoisted_5$7 = ["stop-color"];
72120
+ const _hoisted_3$8 = ["stop-color"];
72121
+ const _hoisted_4$8 = ["stop-color"];
72122
+ const _hoisted_5$8 = ["stop-color"];
72142
72123
  const _hoisted_6$6 = ["fill", "stroke", "stroke-width"];
72143
72124
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
72144
72125
  __name: "Action",
@@ -72221,15 +72202,15 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
72221
72202
  createElementVNode("stop", {
72222
72203
  offset: "0%",
72223
72204
  "stop-color": gradientLeftColor.value
72224
- }, null, 8, _hoisted_3$7),
72205
+ }, null, 8, _hoisted_3$8),
72225
72206
  createElementVNode("stop", {
72226
72207
  offset: "75%",
72227
72208
  "stop-color": gradientMiddleColor.value
72228
- }, null, 8, _hoisted_4$7),
72209
+ }, null, 8, _hoisted_4$8),
72229
72210
  createElementVNode("stop", {
72230
72211
  offset: "100%",
72231
72212
  "stop-color": gradientRightColor.value
72232
- }, null, 8, _hoisted_5$7)
72213
+ }, null, 8, _hoisted_5$8)
72233
72214
  ], 8, _hoisted_2$8)
72234
72215
  ]),
72235
72216
  createElementVNode("rect", {
@@ -72251,9 +72232,9 @@ const Action_vue_vue_type_style_index_0_scoped_27d34586_lang = "";
72251
72232
  const Action = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-27d34586"]]);
72252
72233
  const _hoisted_1$7 = ["width", "height", "viewBox"];
72253
72234
  const _hoisted_2$7 = ["id"];
72254
- const _hoisted_3$6 = ["stop-color"];
72255
- const _hoisted_4$6 = ["stop-color"];
72256
- const _hoisted_5$6 = ["stop-color"];
72235
+ const _hoisted_3$7 = ["stop-color"];
72236
+ const _hoisted_4$7 = ["stop-color"];
72237
+ const _hoisted_5$7 = ["stop-color"];
72257
72238
  const _hoisted_6$5 = ["id"];
72258
72239
  const _hoisted_7$5 = ["stop-color"];
72259
72240
  const _hoisted_8$5 = ["stop-color"];
@@ -72467,15 +72448,15 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
72467
72448
  createElementVNode("stop", {
72468
72449
  offset: "0%",
72469
72450
  "stop-color": gradientLeftColor.value
72470
- }, null, 8, _hoisted_3$6),
72451
+ }, null, 8, _hoisted_3$7),
72471
72452
  createElementVNode("stop", {
72472
72453
  offset: "75%",
72473
72454
  "stop-color": gradientMiddleColor.value
72474
- }, null, 8, _hoisted_4$6),
72455
+ }, null, 8, _hoisted_4$7),
72475
72456
  createElementVNode("stop", {
72476
72457
  offset: "100%",
72477
72458
  "stop-color": gradientRightColor.value
72478
- }, null, 8, _hoisted_5$6)
72459
+ }, null, 8, _hoisted_5$7)
72479
72460
  ], 8, _hoisted_2$7),
72480
72461
  createElementVNode("linearGradient", {
72481
72462
  id: `topGradient-${_ctx.shape.id}`,
@@ -72577,9 +72558,9 @@ const Package_vue_vue_type_style_index_0_scoped_5f0b14f5_lang = "";
72577
72558
  const Package = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__scopeId", "data-v-5f0b14f5"]]);
72578
72559
  const _hoisted_1$6 = ["width", "height"];
72579
72560
  const _hoisted_2$6 = ["id"];
72580
- const _hoisted_3$5 = ["stop-color"];
72581
- const _hoisted_4$5 = ["stop-color"];
72582
- const _hoisted_5$5 = ["stop-color"];
72561
+ const _hoisted_3$6 = ["stop-color"];
72562
+ const _hoisted_4$6 = ["stop-color"];
72563
+ const _hoisted_5$6 = ["stop-color"];
72583
72564
  const _hoisted_6$4 = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"];
72584
72565
  const _hoisted_7$4 = ["stroke"];
72585
72566
  const _hoisted_8$4 = ["width", "height"];
@@ -72943,15 +72924,15 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
72943
72924
  createElementVNode("stop", {
72944
72925
  offset: "0%",
72945
72926
  "stop-color": gradientLeftColor.value
72946
- }, null, 8, _hoisted_3$5),
72927
+ }, null, 8, _hoisted_3$6),
72947
72928
  createElementVNode("stop", {
72948
72929
  offset: "75%",
72949
72930
  "stop-color": gradientMiddleColor.value
72950
- }, null, 8, _hoisted_4$5),
72931
+ }, null, 8, _hoisted_4$6),
72951
72932
  createElementVNode("stop", {
72952
72933
  offset: "100%",
72953
72934
  "stop-color": gradientRightColor.value
72954
- }, null, 8, _hoisted_5$5)
72935
+ }, null, 8, _hoisted_5$6)
72955
72936
  ], 8, _hoisted_2$6)
72956
72937
  ]),
72957
72938
  createElementVNode("rect", {
@@ -73057,9 +73038,9 @@ const DividingLine_vue_vue_type_style_index_0_scoped_4f0bb734_lang = "";
73057
73038
  const DividingLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__scopeId", "data-v-4f0bb734"]]);
73058
73039
  const _hoisted_1$5 = ["viewBox", "width", "height"];
73059
73040
  const _hoisted_2$5 = ["points", "stroke", "stroke-width", "stroke-dasharray", "marker-start", "marker-end"];
73060
- const _hoisted_3$4 = { key: 0 };
73061
- const _hoisted_4$4 = ["cx", "cy"];
73062
- const _hoisted_5$4 = ["cx", "cy"];
73041
+ const _hoisted_3$5 = { key: 0 };
73042
+ const _hoisted_4$5 = ["cx", "cy"];
73043
+ const _hoisted_5$5 = ["cx", "cy"];
73063
73044
  const _hoisted_6$3 = ["x", "y"];
73064
73045
  const _hoisted_7$3 = ["x", "y"];
73065
73046
  const _hoisted_8$3 = ["x", "y"];
@@ -73275,7 +73256,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
73275
73256
  "marker-start": getMarkerStart(),
73276
73257
  "marker-end": getMarkerEnd()
73277
73258
  }, null, 8, _hoisted_2$5),
73278
- props2.isSelected ? (openBlock(), createElementBlock("g", _hoisted_3$4, [
73259
+ props2.isSelected ? (openBlock(), createElementBlock("g", _hoisted_3$5, [
73279
73260
  waypoints.value.length > 0 ? (openBlock(), createElementBlock("circle", {
73280
73261
  key: 0,
73281
73262
  cx: waypoints.value[0].x - bounds.value.minX + padding,
@@ -73284,7 +73265,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
73284
73265
  fill: "#000000",
73285
73266
  stroke: "#FFFFFF",
73286
73267
  "stroke-width": "1"
73287
- }, null, 8, _hoisted_4$4)) : createCommentVNode("", true),
73268
+ }, null, 8, _hoisted_4$5)) : createCommentVNode("", true),
73288
73269
  waypoints.value.length > 1 ? (openBlock(), createElementBlock("circle", {
73289
73270
  key: 1,
73290
73271
  cx: waypoints.value[waypoints.value.length - 1].x - bounds.value.minX + padding,
@@ -73293,7 +73274,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
73293
73274
  fill: "#000000",
73294
73275
  stroke: "#FFFFFF",
73295
73276
  "stroke-width": "1"
73296
- }, null, 8, _hoisted_5$4)) : createCommentVNode("", true)
73277
+ }, null, 8, _hoisted_5$5)) : createCommentVNode("", true)
73297
73278
  ])) : createCommentVNode("", true),
73298
73279
  lineName.value && lineName.value !== "" && unref(EDGES_WITH_KEYWORDS).includes(shapeKey.value) ? (openBlock(), createElementBlock("text", {
73299
73280
  key: 1,
@@ -73335,9 +73316,9 @@ const Edge_vue_vue_type_style_index_0_scoped_aa953435_lang = "";
73335
73316
  const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__scopeId", "data-v-aa953435"]]);
73336
73317
  const _hoisted_1$4 = ["width", "height", "viewBox"];
73337
73318
  const _hoisted_2$4 = ["x", "y", "width", "height", "stroke", "stroke-width"];
73338
- const _hoisted_3$3 = { key: 1 };
73339
- const _hoisted_4$3 = ["x", "y", "width", "height", "href"];
73340
- const _hoisted_5$3 = ["y", "font-family", "font-size", "font-weight", "fill"];
73319
+ const _hoisted_3$4 = { key: 1 };
73320
+ const _hoisted_4$4 = ["x", "y", "width", "height", "href"];
73321
+ const _hoisted_5$4 = ["y", "font-family", "font-size", "font-weight", "fill"];
73341
73322
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
73342
73323
  __name: "Diagram",
73343
73324
  props: {
@@ -73473,7 +73454,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
73473
73454
  "stroke-alignment": "outer",
73474
73455
  rx: "2"
73475
73456
  }, null, 8, _hoisted_2$4)) : createCommentVNode("", true),
73476
- !isGhost.value ? (openBlock(), createElementBlock("g", _hoisted_3$3, [
73457
+ !isGhost.value ? (openBlock(), createElementBlock("g", _hoisted_3$4, [
73477
73458
  showIcon.value ? (openBlock(), createElementBlock("g", {
73478
73459
  key: 0,
73479
73460
  onClick: onImageClick
@@ -73485,7 +73466,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
73485
73466
  height: imageHeight.value,
73486
73467
  href: unref(getIcon)("childIcons", _ctx.shape.icon || ""),
73487
73468
  style: { "cursor": "pointer" }
73488
- }, null, 8, _hoisted_4$3)
73469
+ }, null, 8, _hoisted_4$4)
73489
73470
  ])) : createCommentVNode("", true),
73490
73471
  createElementVNode("text", {
73491
73472
  x: "50%",
@@ -73497,7 +73478,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
73497
73478
  fill: nameStyle.value.color || "#000000",
73498
73479
  style: { "cursor": "pointer" },
73499
73480
  onClick: onNameClick
73500
- }, toDisplayString(_ctx.shape.name), 9, _hoisted_5$3)
73481
+ }, toDisplayString(_ctx.shape.name), 9, _hoisted_5$4)
73501
73482
  ])) : createCommentVNode("", true)
73502
73483
  ], 8, _hoisted_1$4))
73503
73484
  ], 4);
@@ -73508,9 +73489,9 @@ const Diagram_vue_vue_type_style_index_0_scoped_daf180ad_lang = "";
73508
73489
  const Diagram = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["__scopeId", "data-v-daf180ad"]]);
73509
73490
  const _hoisted_1$3 = ["width", "height", "viewBox"];
73510
73491
  const _hoisted_2$3 = ["id"];
73511
- const _hoisted_3$2 = ["stop-color"];
73512
- const _hoisted_4$2 = ["stop-color"];
73513
- const _hoisted_5$2 = ["stop-color"];
73492
+ const _hoisted_3$3 = ["stop-color"];
73493
+ const _hoisted_4$3 = ["stop-color"];
73494
+ const _hoisted_5$3 = ["stop-color"];
73514
73495
  const _hoisted_6$2 = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"];
73515
73496
  const _hoisted_7$2 = { key: 0 };
73516
73497
  const _hoisted_8$2 = ["x", "y", "font-family", "font-size", "font-weight", "fill"];
@@ -73607,15 +73588,15 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
73607
73588
  createElementVNode("stop", {
73608
73589
  offset: "0%",
73609
73590
  "stop-color": gradientLeftColor.value
73610
- }, null, 8, _hoisted_3$2),
73591
+ }, null, 8, _hoisted_3$3),
73611
73592
  createElementVNode("stop", {
73612
73593
  offset: "75%",
73613
73594
  "stop-color": gradientMiddleColor.value
73614
- }, null, 8, _hoisted_4$2),
73595
+ }, null, 8, _hoisted_4$3),
73615
73596
  createElementVNode("stop", {
73616
73597
  offset: "100%",
73617
73598
  "stop-color": gradientRightColor.value
73618
- }, null, 8, _hoisted_5$2)
73599
+ }, null, 8, _hoisted_5$3)
73619
73600
  ], 8, _hoisted_2$3)
73620
73601
  ]),
73621
73602
  createElementVNode("rect", {
@@ -73667,9 +73648,9 @@ const ActivityAction_vue_vue_type_style_index_0_scoped_ec8f07ea_lang = "";
73667
73648
  const ActivityAction = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__scopeId", "data-v-ec8f07ea"]]);
73668
73649
  const _hoisted_1$2 = ["width", "height", "viewBox"];
73669
73650
  const _hoisted_2$2 = ["id"];
73670
- const _hoisted_3$1 = ["stop-color"];
73671
- const _hoisted_4$1 = ["stop-color"];
73672
- const _hoisted_5$1 = ["stop-color"];
73651
+ const _hoisted_3$2 = ["stop-color"];
73652
+ const _hoisted_4$2 = ["stop-color"];
73653
+ const _hoisted_5$2 = ["stop-color"];
73673
73654
  const _hoisted_6$1 = ["width", "height", "fill", "stroke", "stroke-width", "rx"];
73674
73655
  const _hoisted_7$1 = { key: 0 };
73675
73656
  const _hoisted_8$1 = ["transform"];
@@ -73812,15 +73793,15 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
73812
73793
  createElementVNode("stop", {
73813
73794
  offset: "0%",
73814
73795
  "stop-color": gradientLeftColor.value
73815
- }, null, 8, _hoisted_3$1),
73796
+ }, null, 8, _hoisted_3$2),
73816
73797
  createElementVNode("stop", {
73817
73798
  offset: "75%",
73818
73799
  "stop-color": gradientMiddleColor.value
73819
- }, null, 8, _hoisted_4$1),
73800
+ }, null, 8, _hoisted_4$2),
73820
73801
  createElementVNode("stop", {
73821
73802
  offset: "100%",
73822
73803
  "stop-color": gradientRightColor.value
73823
- }, null, 8, _hoisted_5$1)
73804
+ }, null, 8, _hoisted_5$2)
73824
73805
  ], 8, _hoisted_2$2)
73825
73806
  ]),
73826
73807
  createElementVNode("rect", {
@@ -73870,9 +73851,9 @@ const Pin_vue_vue_type_style_index_0_scoped_2081b7c7_lang = "";
73870
73851
  const Pin = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-2081b7c7"]]);
73871
73852
  const _hoisted_1$1 = ["width", "height", "viewBox"];
73872
73853
  const _hoisted_2$1 = ["id"];
73873
- const _hoisted_3 = ["stop-color"];
73874
- const _hoisted_4 = ["stop-color"];
73875
- const _hoisted_5 = ["stop-color"];
73854
+ const _hoisted_3$1 = ["stop-color"];
73855
+ const _hoisted_4$1 = ["stop-color"];
73856
+ const _hoisted_5$1 = ["stop-color"];
73876
73857
  const _hoisted_6 = ["width", "height", "fill", "stroke", "stroke-width", "rx"];
73877
73858
  const _hoisted_7 = { key: 0 };
73878
73859
  const _hoisted_8 = ["x", "y", "text-anchor", "dominant-baseline", "font-family", "font-size", "font-weight", "fill"];
@@ -73993,15 +73974,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
73993
73974
  createElementVNode("stop", {
73994
73975
  offset: "0%",
73995
73976
  "stop-color": gradientLeftColor.value
73996
- }, null, 8, _hoisted_3),
73977
+ }, null, 8, _hoisted_3$1),
73997
73978
  createElementVNode("stop", {
73998
73979
  offset: "75%",
73999
73980
  "stop-color": gradientMiddleColor.value
74000
- }, null, 8, _hoisted_4),
73981
+ }, null, 8, _hoisted_4$1),
74001
73982
  createElementVNode("stop", {
74002
73983
  offset: "100%",
74003
73984
  "stop-color": gradientRightColor.value
74004
- }, null, 8, _hoisted_5)
73985
+ }, null, 8, _hoisted_5$1)
74005
73986
  ], 8, _hoisted_2$1)
74006
73987
  ]),
74007
73988
  createElementVNode("rect", {
@@ -74039,6 +74020,9 @@ const _hoisted_2 = {
74039
74020
  key: 0,
74040
74021
  class: "shapes-container"
74041
74022
  };
74023
+ const _hoisted_3 = { class: "zoom-bar" };
74024
+ const _hoisted_4 = { class: "zoom-slider" };
74025
+ const _hoisted_5 = { class: "zoom-level" };
74042
74026
  const _sfc_main = /* @__PURE__ */ defineComponent({
74043
74027
  __name: "graph",
74044
74028
  props: {
@@ -74057,6 +74041,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
74057
74041
  },
74058
74042
  emits: ["shapes-property", "shapes-edit-name", "connect-end", "action-button-click", "diagramDoubleClick", "model-type-property-id-button-click", "action-button-add", "scale-changed"],
74059
74043
  setup(__props, { expose: __expose, emit: __emit }) {
74044
+ useCssVars((_ctx) => ({
74045
+ "401af0dd": currentScale.value
74046
+ }));
74060
74047
  registerShapes({
74061
74048
  StrategicTaxonomyDiagram,
74062
74049
  ConceptualRole,
@@ -74083,6 +74070,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
74083
74070
  watch(currentScale, (newScale) => {
74084
74071
  zoomValue.value = newScale;
74085
74072
  });
74073
+ const handleZoomChange = () => {
74074
+ graphStore.setScale(zoomValue.value);
74075
+ emit("scale-changed", zoomValue.value);
74076
+ };
74077
+ const handleZoomIn = () => {
74078
+ const newScale = Math.min(currentScale.value + 0.1, 3);
74079
+ graphStore.setScale(newScale);
74080
+ emit("scale-changed", newScale);
74081
+ };
74082
+ const handleZoomOut = () => {
74083
+ const newScale = Math.max(currentScale.value - 0.1, 0.1);
74084
+ graphStore.setScale(newScale);
74085
+ emit("scale-changed", newScale);
74086
+ };
74086
74087
  const shapes = computed(
74087
74088
  () => (graphStore.visibleShapes || []).filter((s2) => {
74088
74089
  if (graphStore.externalCreatingId && s2.id === graphStore.externalCreatingId) {
@@ -74332,7 +74333,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
74332
74333
  resShape: resShape.value,
74333
74334
  edgeCheck: _ctx.edgeCheck,
74334
74335
  onPropertyPanel: handlePropertyPanel,
74335
- actionButtonShapeId: _ctx.actionButtonShapeId,
74336
+ actionButtonShapeDataId: _ctx.actionButtonShapeId,
74336
74337
  onEditName: handleEditName,
74337
74338
  onUpdateShape: handleUpdateConnectShape,
74338
74339
  onDiagramDoubleClick: handleDiagramDoubleClick,
@@ -74344,13 +74345,37 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
74344
74345
  diagram: props2.diagram,
74345
74346
  "tagged-value-labels": props2.taggedValueLabels,
74346
74347
  onActionButtonAdd: handleActionButtonAdd
74347
- }, null, 8, ["connect-shape-data", "diagram-bounds", "style", "resShape", "edgeCheck", "actionButtonShapeId", "lines", "packages", "diagram", "tagged-value-labels"])) : createCommentVNode("", true)
74348
- ], 544)
74348
+ }, null, 8, ["connect-shape-data", "diagram-bounds", "style", "resShape", "edgeCheck", "actionButtonShapeDataId", "lines", "packages", "diagram", "tagged-value-labels"])) : createCommentVNode("", true)
74349
+ ], 544),
74350
+ createElementVNode("div", _hoisted_3, [
74351
+ createElementVNode("button", {
74352
+ onClick: handleZoomOut,
74353
+ class: "zoom-button zoom-out"
74354
+ }, "-"),
74355
+ createElementVNode("div", _hoisted_4, [
74356
+ withDirectives(createElementVNode("input", {
74357
+ type: "range",
74358
+ min: "0.1",
74359
+ max: "3",
74360
+ step: "0.1",
74361
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => zoomValue.value = $event),
74362
+ onInput: handleZoomChange
74363
+ }, null, 544), [
74364
+ [vModelText, zoomValue.value]
74365
+ ])
74366
+ ]),
74367
+ createElementVNode("button", {
74368
+ onClick: handleZoomIn,
74369
+ class: "zoom-button zoom-in"
74370
+ }, "+"),
74371
+ createElementVNode("div", _hoisted_5, toDisplayString(Math.round(currentScale.value * 100)) + "%", 1)
74372
+ ])
74349
74373
  ]);
74350
74374
  };
74351
74375
  }
74352
74376
  });
74353
- const graph_vue_vue_type_style_index_0_lang = "";
74377
+ const graph_vue_vue_type_style_index_0_scoped_436bf5ea_lang = "";
74378
+ const GraphView = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-436bf5ea"]]);
74354
74379
  const MxSoseGraphPlugin = {
74355
74380
  install(app, options) {
74356
74381
  const externalPinia = (options == null ? void 0 : options.pinia) || // 优先使用显式传入的
@@ -74359,12 +74384,12 @@ const MxSoseGraphPlugin = {
74359
74384
  if (externalPinia) {
74360
74385
  setActivePinia(externalPinia);
74361
74386
  }
74362
- app.component("GraphView", _sfc_main);
74387
+ app.component("GraphView", GraphView);
74363
74388
  app.use(installer);
74364
74389
  }
74365
74390
  };
74366
74391
  export {
74367
- _sfc_main as GraphView,
74392
+ GraphView,
74368
74393
  MxSoseGraphPlugin,
74369
74394
  MxSoseGraphPlugin as default,
74370
74395
  eventBus,