@miragon/wardley-renderer 0.4.0 → 0.5.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.js CHANGED
@@ -23,8 +23,26 @@ import _e from "diagram-js/lib/features/lasso-tool";
23
23
  import ve from "diagram-js/lib/features/rules/RuleProvider";
24
24
  import ye from "diagram-js/lib/features/connection-preview";
25
25
  import be from "diagram-js/lib/features/ordering/OrderingProvider";
26
- //#region src/draw/styles.ts
26
+ //#region src/theme/palette.ts
27
27
  var m = {
28
+ blau: "#335DE5",
29
+ blauLink: "#2B50D4",
30
+ blauHell: "#6B8AFF",
31
+ gruen: "#00E676",
32
+ grau: "#F9F7F7",
33
+ schwarz: "#1D1D1D",
34
+ weiss: "#FFFFFF",
35
+ success: "#0B7A55",
36
+ warning: "#92610A",
37
+ danger: "#C92A2A",
38
+ info: "#2B50D4",
39
+ navy: "#080A20",
40
+ gradientBrand: "linear-gradient(120deg, #335DE5 30%, #00E676)"
41
+ };
42
+ m.grau, m.schwarz, m.weiss, m.blau, m.gruen, m.danger, m.navy;
43
+ //#endregion
44
+ //#region src/draw/styles.ts
45
+ var h = {
28
46
  width: a.width,
29
47
  height: a.height,
30
48
  marginLeft: 66,
@@ -35,7 +53,7 @@ var m = {
35
53
  width: 480,
36
54
  height: 320
37
55
  }, Se = 8, Ce = 6, we = 7.5;
38
- function h(e) {
56
+ function g(e) {
39
57
  let t = (e && e.length ? e : "note").split("\n"), n = Math.max(1, ...t.map((e) => e.length));
40
58
  return {
41
59
  lines: t,
@@ -43,85 +61,85 @@ function h(e) {
43
61
  height: Math.max(34, t.length * 17 + Ce * 2)
44
62
  };
45
63
  }
46
- var g = {
47
- paper: "#fbfaf7",
48
- ink: "#1b1b1a",
49
- inkSoft: "#3a3a37",
50
- axis: "#cdc7bb",
51
- axisText: "#8c8475",
52
- grid: "#ebe7de",
53
- band: "rgba(27,27,26,0.022)",
54
- stroke: "#1b1b1a",
55
- componentFill: "#ffffff",
56
- anchorFill: "#1b1b1a",
57
- dependency: "#a9a296",
58
- accent: "#0e7c74",
59
- accentSoft: "rgba(14,124,116,0.12)",
60
- flow: "#0e7c74",
61
- movement: "#bf2f2a",
62
- inertia: "#1b1b1a",
63
- noteText: "#4a4640",
64
- pipeline: "#1b1b1a",
65
- annotationFill: "#fff8e6",
66
- plotBackground: "#ffffff",
67
- accelerator: "#0e7c74",
68
- deaccelerator: "#bf2f2a"
64
+ var _ = {
65
+ paper: m.grau,
66
+ ink: m.schwarz,
67
+ inkSoft: "#5B5B5B",
68
+ axis: "rgba(51,93,229,0.22)",
69
+ axisText: "#6E7797",
70
+ grid: "rgba(51,93,229,0.12)",
71
+ band: "rgba(51,93,229,0.04)",
72
+ stroke: m.schwarz,
73
+ componentFill: m.weiss,
74
+ anchorFill: m.schwarz,
75
+ dependency: "#9E9E9E",
76
+ accent: m.blau,
77
+ accentSoft: "rgba(51,93,229,0.12)",
78
+ flow: m.blau,
79
+ movement: m.danger,
80
+ inertia: m.schwarz,
81
+ noteText: "#5B5B5B",
82
+ pipeline: m.schwarz,
83
+ annotationFill: "#FBF3E0",
84
+ plotBackground: m.weiss,
85
+ accelerator: "#00C853",
86
+ deaccelerator: m.danger
69
87
  }, Te = [
70
88
  {
71
89
  id: "green",
72
90
  name: "Green · good",
73
- value: "#15803d"
91
+ value: "#0B7A55"
74
92
  },
75
93
  {
76
94
  id: "amber",
77
95
  name: "Amber · watch",
78
- value: "#b45309"
96
+ value: "#92610A"
79
97
  },
80
98
  {
81
99
  id: "red",
82
100
  name: "Red · problem",
83
- value: "#b91c1c"
101
+ value: "#C92A2A"
84
102
  },
85
103
  {
86
104
  id: "blue",
87
105
  name: "Blue · info",
88
- value: "#1d4ed8"
106
+ value: "#2B50D4"
89
107
  },
90
108
  {
91
109
  id: "teal",
92
110
  name: "Teal",
93
- value: "#0e7c74"
111
+ value: "#0E8181"
94
112
  },
95
113
  {
96
114
  id: "purple",
97
115
  name: "Purple · idea",
98
- value: "#7e22ce"
116
+ value: "#6A3DB8"
99
117
  },
100
118
  {
101
119
  id: "pink",
102
120
  name: "Pink",
103
- value: "#be185d"
121
+ value: "#C2185B"
104
122
  },
105
123
  {
106
124
  id: "slate",
107
125
  name: "Slate · neutral",
108
- value: "#475569"
126
+ value: "#4A4A4A"
109
127
  }
110
- ], _ = {
128
+ ], v = {
111
129
  pioneers: {
112
- fill: "rgba(14,124,116,0.07)",
113
- stroke: "#0e7c74"
130
+ fill: "rgba(51,93,229,0.07)",
131
+ stroke: "#335DE5"
114
132
  },
115
133
  settlers: {
116
- fill: "rgba(180,131,30,0.08)",
117
- stroke: "#b4831e"
134
+ fill: "rgba(146,97,10,0.10)",
135
+ stroke: "#92610A"
118
136
  },
119
137
  townplanners: {
120
- fill: "rgba(120,53,170,0.07)",
121
- stroke: "#7835aa"
138
+ fill: "rgba(0,200,83,0.08)",
139
+ stroke: "#00C853"
122
140
  }
123
- }, v = {
124
- family: "'Spline Sans Variable', 'Spline Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif",
141
+ }, y = {
142
+ family: "'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif",
125
143
  label: 13,
126
144
  axis: 12,
127
145
  stage: 12
@@ -134,8 +152,8 @@ function Ee(e, t) {
134
152
  let r = n.cloneNode(!0), i = t ?? {
135
153
  x: 0,
136
154
  y: 0,
137
- width: m.marginLeft + m.width + m.marginRight,
138
- height: m.marginTop + m.height + m.marginBottom
155
+ width: h.marginLeft + h.width + h.marginRight,
156
+ height: h.marginTop + h.height + h.marginBottom
139
157
  };
140
158
  r.setAttribute("xmlns", "http://www.w3.org/2000/svg"), r.setAttribute("viewBox", `${i.x} ${i.y} ${i.width} ${i.height}`), r.setAttribute("width", String(i.width)), r.setAttribute("height", String(i.height));
141
159
  let a = r.querySelector(".viewport");
@@ -146,10 +164,10 @@ function Ee(e, t) {
146
164
  var De = "wardley-root";
147
165
  //#endregion
148
166
  //#region src/WardleyBaseViewer.ts
149
- function Oe(e) {
167
+ function b(e) {
150
168
  return typeof e == "number" ? `${e}px` : e;
151
169
  }
152
- var ke = class {
170
+ var x = class {
153
171
  _diagram;
154
172
  _container;
155
173
  _options;
@@ -158,7 +176,7 @@ var ke = class {
158
176
  }
159
177
  _createContainer(e) {
160
178
  let t = e.container ?? document.createElement("div");
161
- return t.classList.add("wardley-container"), t.style.width = Oe(e.width ?? "100%"), t.style.height = Oe(e.height ?? (e.container ? "100%" : "600px")), t;
179
+ return t.classList.add("wardley-container"), t.style.width = b(e.width ?? "100%"), t.style.height = b(e.height ?? (e.container ? "100%" : "600px")), t;
162
180
  }
163
181
  _ensureDiagram() {
164
182
  if (!this._diagram) {
@@ -262,7 +280,7 @@ var ke = class {
262
280
  get container() {
263
281
  return this._container;
264
282
  }
265
- }, Ae = class {
283
+ }, S = class {
266
284
  elementFactory;
267
285
  grid;
268
286
  elementRegistry;
@@ -307,7 +325,7 @@ var ke = class {
307
325
  return this.node("anchor", e.id, e.label, e.position.visibility, e.position.evolution, e, { ...e.labelOffset ? { labelOffset: e.labelOffset } : {} });
308
326
  }
309
327
  createNote(e) {
310
- let { width: t, height: n } = h(e.label), r = this.grid.toCanvas(e.position);
328
+ let { width: t, height: n } = g(e.label), r = this.grid.toCanvas(e.position);
311
329
  return this.elementFactory.createShape({
312
330
  id: e.id,
313
331
  x: r.x - t / 2,
@@ -432,7 +450,7 @@ var ke = class {
432
450
  isFrame: !0
433
451
  });
434
452
  if (e === "note") {
435
- let { width: e, height: t } = h(r);
453
+ let { width: e, height: t } = g(r);
436
454
  return this.elementFactory.createShape({
437
455
  width: e,
438
456
  height: t,
@@ -488,7 +506,7 @@ var ke = class {
488
506
  id: t.id,
489
507
  source: n,
490
508
  target: r,
491
- waypoints: [je(n), je(r)],
509
+ waypoints: [C(n), C(r)],
492
510
  wardleyType: e,
493
511
  bidirectional: i,
494
512
  ...a ? { flowValue: a } : {},
@@ -497,7 +515,7 @@ var ke = class {
497
515
  });
498
516
  }
499
517
  };
500
- function je(e) {
518
+ function C(e) {
501
519
  return e.wardleyType === "pipeline" ? {
502
520
  x: e.x + e.width / 2,
503
521
  y: e.y
@@ -508,55 +526,55 @@ function je(e) {
508
526
  }
509
527
  //#endregion
510
528
  //#region src/model/di-types.ts
511
- function Me(e) {
529
+ function w(e) {
512
530
  return typeof e == "object" && !!e;
513
531
  }
514
- function y(e) {
515
- return Me(e) && typeof e.wardleyType == "string" && "evolution" in e;
532
+ function T(e) {
533
+ return w(e) && typeof e.wardleyType == "string" && "evolution" in e;
516
534
  }
517
- function b(e) {
518
- return Me(e) && typeof e.wardleyType == "string" && "waypoints" in e;
535
+ function E(e) {
536
+ return w(e) && typeof e.wardleyType == "string" && "waypoints" in e;
519
537
  }
520
- function Ne(e) {
521
- return y(e) && e.wardleyType === "component";
538
+ function D(e) {
539
+ return T(e) && e.wardleyType === "component";
522
540
  }
523
- function x(e) {
524
- return y(e) && e.wardleyType === "pipeline";
541
+ function O(e) {
542
+ return T(e) && e.wardleyType === "pipeline";
525
543
  }
526
- function Pe(e) {
527
- return y(e) && e.wardleyType === "attitude";
544
+ function Oe(e) {
545
+ return T(e) && e.wardleyType === "attitude";
528
546
  }
529
547
  //#endregion
530
548
  //#region src/model/index.ts
531
- var Fe = { wardleyElementFactory: ["type", Ae] }, Ie = "wardley-axes";
532
- function Le(e) {
549
+ var ke = { wardleyElementFactory: ["type", S] }, Ae = "wardley-axes";
550
+ function je(e) {
533
551
  return e < 0 ? 0 : e > 1 ? 1 : e;
534
552
  }
535
- var Re = class {
553
+ var Me = class {
536
554
  canvas;
537
555
  static $inject = ["canvas"];
538
556
  boundaries = o;
539
557
  labels = i;
540
558
  yAxisLabel = "Value Chain";
541
559
  yAxisEndLabels = ["invisible", "visible"];
542
- plotWidth = m.width;
543
- plotHeight = m.height;
560
+ plotWidth = h.width;
561
+ plotHeight = h.height;
544
562
  constructor(e) {
545
563
  this.canvas = e;
546
564
  }
547
565
  configure(e) {
548
- this.boundaries = e.stageBoundaries ?? o, this.labels = e.evolutionLabels ?? i, this.yAxisLabel = e.yAxisLabel ?? "Value Chain", this.yAxisEndLabels = e.yAxisEndLabels ?? ["invisible", "visible"], this.plotWidth = Math.max(e.size?.width ?? m.width, xe.width), this.plotHeight = Math.max(e.size?.height ?? m.height, xe.height);
566
+ this.boundaries = e.stageBoundaries ?? o, this.labels = e.evolutionLabels ?? i, this.yAxisLabel = e.yAxisLabel ?? "Value Chain", this.yAxisEndLabels = e.yAxisEndLabels ?? ["invisible", "visible"], this.plotWidth = Math.max(e.size?.width ?? h.width, xe.width), this.plotHeight = Math.max(e.size?.height ?? h.height, xe.height);
549
567
  }
550
568
  toCanvas(e) {
551
569
  return {
552
- x: m.marginLeft + e.evolution * this.plotWidth,
553
- y: m.marginTop + (1 - e.visibility) * this.plotHeight
570
+ x: h.marginLeft + e.evolution * this.plotWidth,
571
+ y: h.marginTop + (1 - e.visibility) * this.plotHeight
554
572
  };
555
573
  }
556
574
  fromCanvas(e) {
557
575
  return {
558
- evolution: Le((e.x - m.marginLeft) / this.plotWidth),
559
- visibility: Le(1 - (e.y - m.marginTop) / this.plotHeight)
576
+ evolution: je((e.x - h.marginLeft) / this.plotWidth),
577
+ visibility: je(1 - (e.y - h.marginTop) / this.plotHeight)
560
578
  };
561
579
  }
562
580
  stageOf(e) {
@@ -575,17 +593,17 @@ var Re = class {
575
593
  return {
576
594
  x: 0,
577
595
  y: 0,
578
- width: m.marginLeft + this.plotWidth + m.marginRight,
579
- height: m.marginTop + this.plotHeight + m.marginBottom
596
+ width: h.marginLeft + this.plotWidth + h.marginRight,
597
+ height: h.marginTop + this.plotHeight + h.marginBottom
580
598
  };
581
599
  }
582
600
  render() {
583
- let e = this.canvas.getLayer(Ie, -1);
601
+ let e = this.canvas.getLayer(Ae, -1);
584
602
  d(e);
585
- let t = m.marginLeft, n = m.marginTop, r = t + this.plotWidth, i = n + this.plotHeight;
586
- l(e, ze(t, n, this.plotWidth, this.plotHeight, {
587
- fill: g.plotBackground,
588
- stroke: g.grid
603
+ let t = h.marginLeft, n = h.marginTop, r = t + this.plotWidth, i = n + this.plotHeight;
604
+ l(e, Ne(t, n, this.plotWidth, this.plotHeight, {
605
+ fill: _.plotBackground,
606
+ stroke: _.grid
589
607
  }));
590
608
  let a = [
591
609
  0,
@@ -594,45 +612,45 @@ var Re = class {
594
612
  ];
595
613
  for (let r = 0; r < 4; r++) {
596
614
  let o = t + a[r] * this.plotWidth, s = t + a[r + 1] * this.plotWidth;
597
- r % 2 == 1 && l(e, ze(o, n, s - o, this.plotHeight, {
598
- fill: g.band,
615
+ r % 2 == 1 && l(e, Ne(o, n, s - o, this.plotHeight, {
616
+ fill: _.band,
599
617
  stroke: "none"
600
- })), r > 0 && l(e, S(o, n, o, i, {
601
- stroke: g.grid,
618
+ })), r > 0 && l(e, k(o, n, o, i, {
619
+ stroke: _.grid,
602
620
  "stroke-dasharray": "3 5"
603
621
  }));
604
622
  let c = (o + s) / 2;
605
- l(e, C(this.labels[r].toUpperCase(), c, i + 18, {
623
+ l(e, A(this.labels[r].toUpperCase(), c, i + 18, {
606
624
  "text-anchor": "middle",
607
- "font-size": v.stage,
625
+ "font-size": y.stage,
608
626
  "letter-spacing": "0.08em",
609
- fill: g.axisText
627
+ fill: _.axisText
610
628
  }));
611
629
  }
612
- l(e, S(t, i, r + 10, i, { stroke: g.axis })), l(e, Be(r + 10, i, "right")), l(e, C("Evolution", r + 6, i + 38, {
630
+ l(e, k(t, i, r + 10, i, { stroke: _.axis })), l(e, Pe(r + 10, i, "right")), l(e, A("Evolution", r + 6, i + 38, {
613
631
  "text-anchor": "end",
614
- "font-size": v.axis,
615
- fill: g.axisText,
632
+ "font-size": y.axis,
633
+ fill: _.axisText,
616
634
  "font-style": "italic"
617
- })), l(e, S(t, i, t, n - 10, { stroke: g.axis })), l(e, Be(t, n - 10, "up"));
618
- let o = C(this.yAxisLabel, 0, 0, {
635
+ })), l(e, k(t, i, t, n - 10, { stroke: _.axis })), l(e, Pe(t, n - 10, "up"));
636
+ let o = A(this.yAxisLabel, 0, 0, {
619
637
  "text-anchor": "middle",
620
- "font-size": v.axis,
621
- fill: g.axisText,
638
+ "font-size": y.axis,
639
+ fill: _.axisText,
622
640
  "font-style": "italic"
623
641
  });
624
- u(o, { transform: `translate(${t - 46}, ${(n + i) / 2}) rotate(-90)` }), l(e, o), l(e, C(this.yAxisEndLabels[1], t - 10, n + 11, {
642
+ u(o, { transform: `translate(${t - 46}, ${(n + i) / 2}) rotate(-90)` }), l(e, o), l(e, A(this.yAxisEndLabels[1], t - 10, n + 11, {
625
643
  "text-anchor": "end",
626
- "font-size": v.stage,
627
- fill: g.axisText
628
- })), l(e, C(this.yAxisEndLabels[0], t - 10, i - 2, {
644
+ "font-size": y.stage,
645
+ fill: _.axisText
646
+ })), l(e, A(this.yAxisEndLabels[0], t - 10, i - 2, {
629
647
  "text-anchor": "end",
630
- "font-size": v.stage,
631
- fill: g.axisText
648
+ "font-size": y.stage,
649
+ fill: _.axisText
632
650
  }));
633
651
  }
634
652
  };
635
- function ze(e, t, n, r, i) {
653
+ function Ne(e, t, n, r, i) {
636
654
  return u(f("rect"), {
637
655
  x: e,
638
656
  y: t,
@@ -642,7 +660,7 @@ function ze(e, t, n, r, i) {
642
660
  ...i
643
661
  });
644
662
  }
645
- function S(e, t, n, r, i) {
663
+ function k(e, t, n, r, i) {
646
664
  return u(f("line"), {
647
665
  x1: e,
648
666
  y1: t,
@@ -652,31 +670,31 @@ function S(e, t, n, r, i) {
652
670
  ...i
653
671
  });
654
672
  }
655
- function C(e, t, n, r) {
673
+ function A(e, t, n, r) {
656
674
  let i = u(f("text"), {
657
675
  x: t,
658
676
  y: n,
659
- "font-family": v.family,
677
+ "font-family": y.family,
660
678
  ...r
661
679
  });
662
680
  return i.textContent = e, i;
663
681
  }
664
- function Be(e, t, n) {
682
+ function Pe(e, t, n) {
665
683
  let r = n === "right" ? `${e - 5},${t - 5} ${e + 2},${t} ${e - 5},${t + 5}` : `${e - 5},${t + 5} ${e},${t - 2} ${e + 5},${t + 5}`;
666
684
  return u(f("polygon"), {
667
685
  points: r,
668
- fill: g.axis
686
+ fill: _.axis
669
687
  });
670
688
  }
671
689
  //#endregion
672
690
  //#region src/evolution-grid/EvolutionConstraintBehavior.ts
673
- var w = [
691
+ var Fe = [
674
692
  "shape.move",
675
693
  "shape.create",
676
694
  "shape.resize",
677
695
  "elements.move",
678
696
  "elements.create"
679
- ], Ve = class extends ee {
697
+ ], Ie = class extends ee {
680
698
  eventBus;
681
699
  grid;
682
700
  elementRegistry;
@@ -688,13 +706,13 @@ var w = [
688
706
  constructor(e, t, n) {
689
707
  super(e), this.eventBus = e, this.grid = t, this.elementRegistry = n;
690
708
  let r = (e) => this.syncAll(e.context);
691
- this.postExecuted(w, r), this.reverted(w, r);
709
+ this.postExecuted(Fe, r), this.reverted(Fe, r);
692
710
  let i = (e) => {
693
711
  if ([
694
712
  e.context?.shape,
695
713
  e.context?.element,
696
714
  ...e.context?.elements ?? []
697
- ].some((e) => y(e) && e.wardleyType === "component")) for (let e of this.elementRegistry.filter((e) => x(e))) this.eventBus.fire("element.changed", { element: e });
715
+ ].some((e) => T(e) && e.wardleyType === "component")) for (let e of this.elementRegistry.filter((e) => O(e))) this.eventBus.fire("element.changed", { element: e });
698
716
  };
699
717
  this.postExecuted([
700
718
  "shape.create",
@@ -713,7 +731,7 @@ var w = [
713
731
  ...e.shapes ?? [],
714
732
  ...e.elements ?? []
715
733
  ];
716
- for (let e of t) y(e) && this.syncFromGeometry(e);
734
+ for (let e of t) T(e) && this.syncFromGeometry(e);
717
735
  }
718
736
  syncFromGeometry(e) {
719
737
  let t = e.y + e.height / 2;
@@ -724,8 +742,8 @@ var w = [
724
742
  }), r = this.grid.fromCanvas({
725
743
  x: e.x + e.width,
726
744
  y: t
727
- }), [i, a] = We(n.evolution, r.evolution);
728
- e.evolutionStart = i, e.evolutionEnd = a, e.evolution = Ue((i + a) / 2), e.visibility = n.visibility;
745
+ }), [i, a] = ze(n.evolution, r.evolution);
746
+ e.evolutionStart = i, e.evolutionEnd = a, e.evolution = Re((i + a) / 2), e.visibility = n.visibility;
729
747
  let o = this.grid.toCanvas({
730
748
  visibility: e.visibility,
731
749
  evolution: i
@@ -761,14 +779,14 @@ var w = [
761
779
  (Math.abs(t - e.x) > .5 || Math.abs(n - e.y) > .5 || r !== void 0 && Math.abs(r - e.width) > .5 || i !== void 0 && Math.abs(i - e.height) > .5) && (e.x = t, e.y = n, r !== void 0 && (e.width = r), i !== void 0 && (e.height = i), this.fireChanged(e));
762
780
  }
763
781
  updateMembership(e) {
764
- let t = e.x + e.width / 2, n = e.y + e.height / 2, r = this.elementRegistry.filter((e) => x(e)).find((r) => r.wardleyLabel !== e.wardleyLabel && t >= r.x && t <= r.x + r.width && n >= r.y && n <= r.y + r.height);
782
+ let t = e.x + e.width / 2, n = e.y + e.height / 2, r = this.elementRegistry.filter((e) => O(e)).find((r) => r.wardleyLabel !== e.wardleyLabel && t >= r.x && t <= r.x + r.width && n >= r.y && n <= r.y + r.height);
765
783
  r ? (e.pipelineId = r.id, this.glueToPipeline(e, r)) : e.pipelineId && delete e.pipelineId;
766
784
  }
767
785
  glueToPipeline(e, t) {
768
786
  e.y = t.y + t.height / 2 - e.height / 2, e.visibility = t.visibility, this.fireChanged(e);
769
787
  }
770
788
  reconcileMembership(e) {
771
- let t = this.elementRegistry.filter((e) => y(e) && e.wardleyType === "component");
789
+ let t = this.elementRegistry.filter((e) => T(e) && e.wardleyType === "component");
772
790
  for (let n of t) {
773
791
  if (n.wardleyLabel === e.wardleyLabel) continue;
774
792
  let t = n.x + n.width / 2, r = n.y + n.height / 2, i = t >= e.x && t <= e.x + e.width && r >= e.y && r <= e.y + e.height;
@@ -787,22 +805,22 @@ var w = [
787
805
  this.eventBus.fire("element.changed", { element: e });
788
806
  for (let t of [...e.incoming ?? [], ...e.outgoing ?? []]) this.eventBus.fire("element.changed", { element: t });
789
807
  }
790
- }, He = .001;
791
- function Ue(e) {
808
+ }, Le = .001;
809
+ function Re(e) {
792
810
  return e < 0 ? 0 : e > 1 ? 1 : e;
793
811
  }
794
- function We(e, t) {
795
- let n = Ue(Math.max(t, e + He));
796
- return [Math.max(0, Math.min(e, n - He)), n];
812
+ function ze(e, t) {
813
+ let n = Re(Math.max(t, e + Le));
814
+ return [Math.max(0, Math.min(e, n - Le)), n];
797
815
  }
798
816
  //#endregion
799
817
  //#region src/evolution-grid/index.ts
800
- var T = { evolutionGrid: ["type", Re] }, Ge = {
818
+ var j = { evolutionGrid: ["type", Me] }, Be = {
801
819
  __init__: ["evolutionConstraintBehavior"],
802
- __depends__: [T],
803
- evolutionConstraintBehavior: ["type", Ve]
804
- }, E = "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z", Ke = "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z", qe = "M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z", Je = "M15.5 5H11l5 7-5 7h4.5l5-7zM8.5 5H4l5 7-5 7h4.5l5-7z", D = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z", O = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z", Ye = "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z", Xe = "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z", Ze = "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z", Qe = "M4 7v2c0 .55-.45 1-1 1H2v2h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h1v-2H7c-.55 0-1-.45-1-1v-2c0-.84-.35-1.61-.92-2.18L4.85 12l.23-.82C5.65 10.61 6 9.84 6 9V7c0-.55.45-1 1-1h1V4H7C5.35 4 4 5.35 4 7zm16 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-1v2h1c.55 0 1 .45 1 1v2c0 .84.35 1.61.92 2.18l.23.82-.23.82c-.57.57-.92 1.34-.92 2.18v2c0 .55-.45 1-1 1h-1v2h1c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-2h-1z", $e = "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z", et = "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z", tt = "M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z", nt = "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z", rt = "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z", it = "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z", at = "M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z", ot = "M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 8 6.5 8 8 8.67 8 9.5 7.33 11 6.5 11zm3-4C8.67 7 8 6.33 8 5.5S8.67 4 9.5 4s1.5.67 1.5 1.5S10.33 7 9.5 7zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 4 14.5 4s1.5.67 1.5 1.5S15.33 7 14.5 7zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 8 17.5 8s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z", k = "M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z", A = "M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z", st = "M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z", ct = "M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z", lt = "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z", ut = "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", dt = "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z";
805
- function j(e, t, n, r, i) {
820
+ __depends__: [j],
821
+ evolutionConstraintBehavior: ["type", Ie]
822
+ }, M = "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z", Ve = "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z", He = "M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z", Ue = "M15.5 5H11l5 7-5 7h4.5l5-7zM8.5 5H4l5 7-5 7h4.5l5-7z", N = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z", P = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z", We = "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z", Ge = "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z", Ke = "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z", qe = "M4 7v2c0 .55-.45 1-1 1H2v2h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h1v-2H7c-.55 0-1-.45-1-1v-2c0-.84-.35-1.61-.92-2.18L4.85 12l.23-.82C5.65 10.61 6 9.84 6 9V7c0-.55.45-1 1-1h1V4H7C5.35 4 4 5.35 4 7zm16 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-1v2h1c.55 0 1 .45 1 1v2c0 .84.35 1.61.92 2.18l.23.82-.23.82c-.57.57-.92 1.34-.92 2.18v2c0 .55-.45 1-1 1h-1v2h1c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-2h-1z", Je = "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z", Ye = "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z", Xe = "M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z", Ze = "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z", Qe = "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z", $e = "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z", et = "M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z", tt = "M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 8 6.5 8 8 8.67 8 9.5 7.33 11 6.5 11zm3-4C8.67 7 8 6.33 8 5.5S8.67 4 9.5 4s1.5.67 1.5 1.5S10.33 7 9.5 7zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 4 14.5 4s1.5.67 1.5 1.5S15.33 7 14.5 7zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 8 17.5 8s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z", nt = "M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z", rt = "M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z", it = "M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z", at = "M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z", ot = "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z", st = "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", ct = "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z";
823
+ function lt(e, t, n, r, i) {
806
824
  let a = f("g"), o = r / 24;
807
825
  return u(a, {
808
826
  transform: `translate(${t - r / 2}, ${n - r / 2}) scale(${o})`,
@@ -810,12 +828,12 @@ function j(e, t, n, r, i) {
810
828
  stroke: "none"
811
829
  }), l(a, u(f("path"), { d: e })), a;
812
830
  }
813
- function M(e, t = 18) {
831
+ function ut(e, t = 18) {
814
832
  return `<svg viewBox="0 0 24 24" width="${t}" height="${t}" fill="currentColor" aria-hidden="true"><path d="${e}"/></svg>`;
815
833
  }
816
834
  //#endregion
817
835
  //#region src/draw/WardleyRenderer.ts
818
- var ft = 1500, N = class extends te {
836
+ var dt = 1500, ft = class extends te {
819
837
  grid;
820
838
  elementRegistry;
821
839
  static $inject = [
@@ -824,10 +842,10 @@ var ft = 1500, N = class extends te {
824
842
  "elementRegistry"
825
843
  ];
826
844
  constructor(e, t, n) {
827
- super(e, ft), this.grid = t, this.elementRegistry = n;
845
+ super(e, dt), this.grid = t, this.elementRegistry = n;
828
846
  }
829
847
  canRender(e) {
830
- return y(e) || b(e);
848
+ return T(e) || E(e);
831
849
  }
832
850
  drawShape(e, t) {
833
851
  let n = t;
@@ -847,7 +865,7 @@ var ft = 1500, N = class extends te {
847
865
  let n = t.drawingPoints ?? [], r = t.strokeStyle === "dashed" ? "8 5" : t.strokeStyle === "dotted" ? "2 4" : void 0, i = u(f(t.closed ? "polygon" : "polyline"), {
848
866
  points: n.map((e) => `${e.x},${e.y}`).join(" "),
849
867
  fill: "none",
850
- stroke: t.color ?? g.ink,
868
+ stroke: t.color ?? _.ink,
851
869
  "stroke-width": 2,
852
870
  "stroke-linecap": "round",
853
871
  "stroke-linejoin": "round",
@@ -856,7 +874,7 @@ var ft = 1500, N = class extends te {
856
874
  return l(e, i), i;
857
875
  }
858
876
  drawConnection(e, t) {
859
- let n = t, r = n.wardleyType === "flow", i = r ? g.flow : g.dependency, [a, o] = ht(n), s = u(f("polyline"), {
877
+ let n = t, r = n.wardleyType === "flow", i = r ? _.flow : _.dependency, [a, o] = gt(n), s = u(f("polyline"), {
860
878
  points: `${a.x},${a.y} ${o.x},${o.y}`,
861
879
  fill: "none",
862
880
  stroke: i,
@@ -868,12 +886,12 @@ var ft = 1500, N = class extends te {
868
886
  return r && n.flowValue && l(e, I(n.flowValue, c, d - 5, {
869
887
  "text-anchor": "middle",
870
888
  "font-size": 11,
871
- fill: g.flow
889
+ fill: _.flow
872
890
  })), n.linkLabel && l(e, I(n.linkLabel, c, d + (n.flowValue ? 12 : -4), {
873
891
  "text-anchor": "middle",
874
892
  "font-size": 11,
875
893
  "font-style": "italic",
876
- fill: g.axisText
894
+ fill: _.axisText
877
895
  })), s;
878
896
  }
879
897
  getShapePath(e) {
@@ -894,8 +912,8 @@ var ft = 1500, N = class extends te {
894
912
  visibility: t.visibility,
895
913
  evolution: i.targetEvolution
896
914
  }).x - a.x, s = n + o, c = s - (Math.sign(o) || 1) * 17;
897
- l(e, F(n, r, c, r, {
898
- stroke: g.movement,
915
+ l(e, pt(n, r, c, r, {
916
+ stroke: _.movement,
899
917
  "stroke-width": 1.5,
900
918
  "stroke-dasharray": "6 4"
901
919
  })), l(e, L({
@@ -904,37 +922,37 @@ var ft = 1500, N = class extends te {
904
922
  }, {
905
923
  x: c,
906
924
  y: r
907
- }, g.movement)), l(e, P(s, r, 15, {
908
- fill: g.paper,
909
- stroke: g.movement,
925
+ }, _.movement)), l(e, F(s, r, 15, {
926
+ fill: _.paper,
927
+ stroke: _.movement,
910
928
  "stroke-width": 2,
911
929
  class: "wardley-evolve-handle"
912
930
  })), l(e, I(i.newLabel ?? t.wardleyLabel, s + 15 + 7, r - 4, {
913
931
  "font-weight": "500",
914
- fill: g.movement
932
+ fill: _.movement
915
933
  })), i.method && l(e, I(i.method, s + 15 + 7, r + 11, {
916
934
  "font-size": 10.5,
917
- fill: g.movement
935
+ fill: _.movement
918
936
  }));
919
937
  }
920
938
  if (a?.inertia) {
921
939
  let t = n + 15 + 3;
922
- l(e, F(t, r - 13, t, r + 13, {
923
- stroke: g.inertia,
940
+ l(e, pt(t, r - 13, t, r + 13, {
941
+ stroke: _.inertia,
924
942
  "stroke-width": 3,
925
943
  "stroke-linecap": "round"
926
944
  }));
927
945
  }
928
- let o = t.color ?? g.stroke, s = P(n, r, 15, {
929
- fill: g.componentFill,
946
+ let o = t.color ?? _.stroke, s = F(n, r, 15, {
947
+ fill: _.componentFill,
930
948
  stroke: o,
931
949
  "stroke-width": 2
932
950
  });
933
- if (l(e, s), i && l(e, P(n, r, 12, {
951
+ if (l(e, s), i && l(e, F(n, r, 12, {
934
952
  fill: "none",
935
953
  stroke: o,
936
954
  "stroke-width": 1.5
937
- })), a?.ecosystem && l(e, P(n, r, 18.5, {
955
+ })), a?.ecosystem && l(e, F(n, r, 18.5, {
938
956
  fill: "none",
939
957
  stroke: o,
940
958
  "stroke-width": 1.25,
@@ -944,18 +962,18 @@ var ft = 1500, N = class extends te {
944
962
  [0, -3.8],
945
963
  [-3.4, 2.4],
946
964
  [3.4, 2.4]
947
- ]) l(e, P(n + t, r + i, 1.7, { fill: o }));
965
+ ]) l(e, F(n + t, r + i, 1.7, { fill: o }));
948
966
  let c = n + 15 + 7 + (t.labelOffset?.dx ?? 0), u = r - 4 + (t.labelOffset?.dy ?? 0);
949
967
  return l(e, I(t.wardleyLabel, c, u, {
950
968
  "font-weight": "500",
951
969
  ...t.color ? { fill: t.color } : {}
952
970
  })), a?.method && l(e, I(a.method, c, u + 15, {
953
971
  "font-size": 10.5,
954
- fill: g.axisText
972
+ fill: _.axisText
955
973
  })), s;
956
974
  }
957
975
  drawAnchor(e, t) {
958
- let n = t.width / 2, r = t.height / 2, i = j(E, n, r, 26, t.color ?? g.ink);
976
+ let n = t.width / 2, r = t.height / 2, i = lt(M, n, r, 26, t.color ?? _.ink);
959
977
  return l(e, i), l(e, I(t.wardleyLabel, n + (t.labelOffset?.dx ?? 0), r - 26 / 2 - 4 + (t.labelOffset?.dy ?? 0), {
960
978
  "text-anchor": "middle",
961
979
  "font-weight": "700",
@@ -970,17 +988,17 @@ var ft = 1500, N = class extends te {
970
988
  height: Math.max(t.height, 1),
971
989
  rx: 4,
972
990
  fill: "none",
973
- stroke: r ?? g.pipeline,
991
+ stroke: r ?? _.pipeline,
974
992
  "stroke-width": 1.25,
975
993
  "stroke-dasharray": "6 3"
976
994
  });
977
- return l(e, i), !this.elementRegistry.filter((e) => y(e) && e.wardleyType === "component").some((e) => e.wardleyLabel === t.wardleyLabel) && (l(e, u(f("rect"), {
995
+ return l(e, i), !this.elementRegistry.filter((e) => T(e) && e.wardleyType === "component").some((e) => e.wardleyLabel === t.wardleyLabel) && (l(e, u(f("rect"), {
978
996
  x: n / 2 - 8,
979
997
  y: -8,
980
998
  width: 16,
981
999
  height: 16,
982
- fill: g.componentFill,
983
- stroke: r ?? g.stroke,
1000
+ fill: _.componentFill,
1001
+ stroke: r ?? _.stroke,
984
1002
  "stroke-width": 2
985
1003
  })), l(e, I(t.wardleyLabel, n / 2 + 8 + 6, -4, {
986
1004
  "font-weight": "500",
@@ -990,7 +1008,7 @@ var ft = 1500, N = class extends te {
990
1008
  drawNote(e, t) {
991
1009
  let n = t.color, r = (t.wardleyLabel ?? "").split("\n"), i = t.width / 2, a = t.height / 2 - (r.length - 1) * 17 / 2 + 4, o = {
992
1010
  "text-anchor": "middle",
993
- fill: n ?? g.noteText,
1011
+ fill: n ?? _.noteText,
994
1012
  "font-style": "italic",
995
1013
  ...n ? { "font-weight": "600" } : {}
996
1014
  }, s;
@@ -1000,7 +1018,7 @@ var ft = 1500, N = class extends te {
1000
1018
  }), s ?? f("text");
1001
1019
  }
1002
1020
  drawAttitude(e, t) {
1003
- let n = _[t.attitudeKind ?? "pioneers"] ?? _.pioneers, r = t.color ?? n.stroke, i = u(f("rect"), {
1021
+ let n = v[t.attitudeKind ?? "pioneers"] ?? v.pioneers, r = t.color ?? n.stroke, i = u(f("rect"), {
1004
1022
  x: 0,
1005
1023
  y: 0,
1006
1024
  width: Math.max(t.width, 1),
@@ -1011,16 +1029,16 @@ var ft = 1500, N = class extends te {
1011
1029
  "stroke-width": 1.25,
1012
1030
  "stroke-dasharray": "5 4"
1013
1031
  });
1014
- return l(e, i), l(e, I(t.wardleyLabel && t.wardleyLabel !== t.attitudeKind ? t.wardleyLabel : gt(t.attitudeKind ?? "pioneers"), 10, 18, {
1032
+ return l(e, i), l(e, I(t.wardleyLabel && t.wardleyLabel !== t.attitudeKind ? t.wardleyLabel : _t(t.attitudeKind ?? "pioneers"), 10, 18, {
1015
1033
  fill: r,
1016
1034
  "font-weight": "700",
1017
1035
  "letter-spacing": "0.04em"
1018
1036
  })), i;
1019
1037
  }
1020
1038
  drawAnnotation(e, t) {
1021
- let n = t.width / 2, r = t.height / 2, i = P(n, r, 10, {
1022
- fill: g.annotationFill,
1023
- stroke: t.color ?? g.stroke,
1039
+ let n = t.width / 2, r = t.height / 2, i = F(n, r, 10, {
1040
+ fill: _.annotationFill,
1041
+ stroke: t.color ?? _.stroke,
1024
1042
  "stroke-width": 1.25
1025
1043
  });
1026
1044
  return l(e, i), l(e, I(String(t.annotationNumber ?? ""), n, r + 4, {
@@ -1029,21 +1047,21 @@ var ft = 1500, N = class extends te {
1029
1047
  "font-weight": "700"
1030
1048
  }, !1)), t.wardleyLabel && l(e, I(t.wardleyLabel, n + 15, r + 4, {
1031
1049
  "font-size": 12,
1032
- fill: g.noteText
1050
+ fill: _.noteText
1033
1051
  })), i;
1034
1052
  }
1035
1053
  drawAccelerator(e, t) {
1036
- let n = t.width / 2, r = t.height / 2, i = t.acceleratorDirection !== "deaccelerate", a = j(i ? k : A, n, r, 24, t.color ?? (i ? g.accelerator : g.deaccelerator));
1054
+ let n = t.width / 2, r = t.height / 2, i = t.acceleratorDirection !== "deaccelerate", a = lt(i ? nt : rt, n, r, 24, t.color ?? (i ? _.accelerator : _.deaccelerator));
1037
1055
  return l(e, a), t.wardleyLabel && l(e, I(t.wardleyLabel, n + 15, r + 5, { "font-size": 12 })), a;
1038
1056
  }
1039
1057
  drawSubmap(e, t) {
1040
- let n = t.width / 2, r = t.height / 2, i = t.color ?? g.stroke, a = u(f("rect"), {
1058
+ let n = t.width / 2, r = t.height / 2, i = t.color ?? _.stroke, a = u(f("rect"), {
1041
1059
  x: n - 16,
1042
1060
  y: r - 16,
1043
1061
  width: 32,
1044
1062
  height: 32,
1045
1063
  rx: 3,
1046
- fill: g.componentFill,
1064
+ fill: _.componentFill,
1047
1065
  stroke: i,
1048
1066
  "stroke-width": 2
1049
1067
  });
@@ -1062,7 +1080,7 @@ var ft = 1500, N = class extends te {
1062
1080
  })), a;
1063
1081
  }
1064
1082
  };
1065
- function P(e, t, n, r) {
1083
+ function F(e, t, n, r) {
1066
1084
  return u(f("circle"), {
1067
1085
  cx: e,
1068
1086
  cy: t,
@@ -1071,7 +1089,7 @@ function P(e, t, n, r) {
1071
1089
  ...r
1072
1090
  });
1073
1091
  }
1074
- function F(e, t, n, r, i) {
1092
+ function pt(e, t, n, r, i) {
1075
1093
  return u(f("line"), {
1076
1094
  x1: e,
1077
1095
  y1: t,
@@ -1082,16 +1100,16 @@ function F(e, t, n, r, i) {
1082
1100
  }
1083
1101
  function I(e, t, n, r = {}, i = !0) {
1084
1102
  let a = i ? {
1085
- stroke: g.paper,
1103
+ stroke: _.paper,
1086
1104
  "stroke-width": 3.5,
1087
1105
  "paint-order": "stroke",
1088
1106
  "stroke-linejoin": "round"
1089
1107
  } : {}, o = u(f("text"), {
1090
1108
  x: t,
1091
1109
  y: n,
1092
- "font-family": v.family,
1093
- "font-size": v.label,
1094
- fill: g.ink,
1110
+ "font-family": y.family,
1111
+ "font-size": y.label,
1112
+ fill: _.ink,
1095
1113
  ...a,
1096
1114
  ...r
1097
1115
  });
@@ -1104,10 +1122,10 @@ function L(e, t, n, r = 10, i = 5) {
1104
1122
  fill: n
1105
1123
  });
1106
1124
  }
1107
- function pt(e) {
1125
+ function mt(e) {
1108
1126
  return e.wardleyType === "component" ? 17 : e.wardleyType === "anchor" ? 14 : e.wardleyType === "pipeline" ? 10 : Math.min(e.width, e.height) / 2;
1109
1127
  }
1110
- function mt(e) {
1128
+ function ht(e) {
1111
1129
  return e.wardleyType === "pipeline" ? {
1112
1130
  x: e.x + e.width / 2,
1113
1131
  y: e.y
@@ -1116,7 +1134,7 @@ function mt(e) {
1116
1134
  y: e.y + e.height / 2
1117
1135
  };
1118
1136
  }
1119
- function ht(e) {
1137
+ function gt(e) {
1120
1138
  let t = e.source, n = e.target, r = e.waypoints;
1121
1139
  if (!t || !n) {
1122
1140
  let e = r[0] ?? {
@@ -1125,7 +1143,7 @@ function ht(e) {
1125
1143
  };
1126
1144
  return [e, r[r.length - 1] ?? e];
1127
1145
  }
1128
- let i = mt(t), a = mt(n), o = a.x - i.x, s = a.y - i.y, c = Math.hypot(o, s) || 1, l = o / c, u = s / c, d = pt(t), f = pt(n);
1146
+ let i = ht(t), a = ht(n), o = a.x - i.x, s = a.y - i.y, c = Math.hypot(o, s) || 1, l = o / c, u = s / c, d = mt(t), f = mt(n);
1129
1147
  return c <= d + f + 2 ? [i, a] : [{
1130
1148
  x: i.x + l * d,
1131
1149
  y: i.y + u * d
@@ -1134,15 +1152,15 @@ function ht(e) {
1134
1152
  y: a.y - u * f
1135
1153
  }];
1136
1154
  }
1137
- function gt(e) {
1155
+ function _t(e) {
1138
1156
  return e && e.charAt(0).toUpperCase() + e.slice(1);
1139
1157
  }
1140
1158
  //#endregion
1141
1159
  //#region src/draw/index.ts
1142
- var _t = {
1160
+ var vt = {
1143
1161
  __init__: ["wardleyRenderer"],
1144
- wardleyRenderer: ["type", N]
1145
- }, vt = /* @__PURE__ */ new Set(["attitude", "pipeline"]), yt = {
1162
+ wardleyRenderer: ["type", ft]
1163
+ }, yt = /* @__PURE__ */ new Set(["attitude", "pipeline"]), bt = {
1146
1164
  attitude: 0,
1147
1165
  pipeline: 1,
1148
1166
  note: 2,
@@ -1151,7 +1169,7 @@ var _t = {
1151
1169
  annotation: 5,
1152
1170
  submap: 3,
1153
1171
  accelerator: 3
1154
- }, bt = class {
1172
+ }, xt = class {
1155
1173
  canvas;
1156
1174
  elementFactory;
1157
1175
  factory;
@@ -1183,7 +1201,7 @@ var _t = {
1183
1201
  }
1184
1202
  let i;
1185
1203
  r && r.id === "wardley-root" ? i = r : (i = this.elementFactory.createRoot({ id: De }), this.canvas.setRootElement(i)), i.businessObject = n, this.grid.render();
1186
- let a = /* @__PURE__ */ new Map(), o = [...e.elements].sort((e, t) => (yt[e.elementType] ?? 9) - (yt[t.elementType] ?? 9)), s = o.filter((e) => vt.has(e.elementType)), c = o.filter((e) => !vt.has(e.elementType)), l = 0;
1204
+ let a = /* @__PURE__ */ new Map(), o = [...e.elements].sort((e, t) => (bt[e.elementType] ?? 9) - (bt[t.elementType] ?? 9)), s = o.filter((e) => yt.has(e.elementType)), c = o.filter((e) => !yt.has(e.elementType)), l = 0;
1187
1205
  for (let e of s) {
1188
1206
  let t = this.createShape(e);
1189
1207
  t && (this.canvas.addShape(t, i), a.set(e.id, t), l++);
@@ -1240,7 +1258,7 @@ function R(e) {
1240
1258
  for (let [n, r] of Object.entries(e)) r !== void 0 && (t[n] = r);
1241
1259
  return t;
1242
1260
  }
1243
- var xt = class {
1261
+ var St = class {
1244
1262
  elementRegistry;
1245
1263
  canvas;
1246
1264
  grid;
@@ -1255,7 +1273,7 @@ var xt = class {
1255
1273
  export() {
1256
1274
  let e = this.canvas.getRootElement().businessObject, t = e?.config ?? { title: "Untitled Map" }, n = [], i = [];
1257
1275
  for (let e of this.elementRegistry.getAll()) if (e.id !== "wardley-root") {
1258
- if (b(e)) if (e.businessObject) i.push(e.businessObject);
1276
+ if (E(e)) if (e.businessObject) i.push(e.businessObject);
1259
1277
  else {
1260
1278
  let t = {
1261
1279
  id: e.id,
@@ -1271,7 +1289,7 @@ var xt = class {
1271
1289
  edgeType: "dependency"
1272
1290
  });
1273
1291
  }
1274
- else if (y(e)) {
1292
+ else if (T(e)) {
1275
1293
  let t = this.buildElement(e);
1276
1294
  t && n.push(t);
1277
1295
  }
@@ -1405,23 +1423,23 @@ var xt = class {
1405
1423
  } : void 0;
1406
1424
  }
1407
1425
  }
1408
- }, St = {
1409
- wardleyImporter: ["type", bt],
1410
- wardleyExporter: ["type", xt]
1411
- }, Ct = class extends ke {
1426
+ }, Ct = {
1427
+ wardleyImporter: ["type", xt],
1428
+ wardleyExporter: ["type", St]
1429
+ }, wt = class extends x {
1412
1430
  _getModules() {
1413
1431
  return [
1414
- Fe,
1415
- T,
1416
- _t,
1417
- St
1432
+ ke,
1433
+ j,
1434
+ vt,
1435
+ Ct
1418
1436
  ];
1419
1437
  }
1420
- }, wt = 180, Tt = 80, Et = 120, Dt = .5, Ot = (e, t, n) => e < t ? t : e > n ? n : e;
1421
- function kt(e, t, n, r) {
1422
- return t <= r ? Ot(e, n, n + r - t) : n + r / 2 - t / 2;
1438
+ }, Tt = 180, Et = 80, Dt = 120, Ot = .5, kt = (e, t, n) => e < t ? t : e > n ? n : e;
1439
+ function At(e, t, n, r) {
1440
+ return t <= r ? kt(e, n, n + r - t) : n + r / 2 - t / 2;
1423
1441
  }
1424
- var At = class {
1442
+ var jt = class {
1425
1443
  canvas;
1426
1444
  grid;
1427
1445
  static $inject = [
@@ -1438,8 +1456,8 @@ var At = class {
1438
1456
  constrain(e) {
1439
1457
  let t = e ?? this.canvas.viewbox(), n = this.grid.outerBounds();
1440
1458
  if (!(n.width > 0) || !(n.height > 0) || !(t.width > 0) || !(t.height > 0)) return;
1441
- let r = kt(t.x, t.width, n.x - Et, n.width + 2 * Et), i = kt(t.y, t.height, n.y - wt, n.height + wt + Tt);
1442
- if (!(Math.abs(r - t.x) < Dt && Math.abs(i - t.y) < Dt)) {
1459
+ let r = At(t.x, t.width, n.x - Dt, n.width + 2 * Dt), i = At(t.y, t.height, n.y - Tt, n.height + Tt + Et);
1460
+ if (!(Math.abs(r - t.x) < Ot && Math.abs(i - t.y) < Ot)) {
1443
1461
  this.applying = !0;
1444
1462
  try {
1445
1463
  this.canvas.viewbox({
@@ -1453,10 +1471,10 @@ var At = class {
1453
1471
  }
1454
1472
  }
1455
1473
  }
1456
- }, jt = {
1474
+ }, Mt = {
1457
1475
  __init__: ["panConstraint"],
1458
- panConstraint: ["type", At]
1459
- }, Mt = class extends Ct {
1476
+ panConstraint: ["type", jt]
1477
+ }, Nt = class extends wt {
1460
1478
  _getModules() {
1461
1479
  return [
1462
1480
  ...super._getModules(),
@@ -1464,47 +1482,47 @@ var At = class {
1464
1482
  re,
1465
1483
  ie,
1466
1484
  ae,
1467
- jt
1485
+ Mt
1468
1486
  ];
1469
1487
  }
1470
1488
  };
1471
1489
  //#endregion
1472
1490
  //#region src/modeling/cmd/UpdatePropertiesHandler.ts
1473
- function Nt(e, t, n) {
1491
+ function Pt(e, t, n) {
1474
1492
  n === void 0 ? delete e[t] : e[t] = n;
1475
1493
  }
1476
- var Pt = class {
1494
+ var Ft = class {
1477
1495
  execute(e) {
1478
1496
  let { element: t, properties: n } = e, r = t, i = {};
1479
- for (let e of Object.keys(n)) i[e] = r[e], Nt(r, e, n[e]);
1497
+ for (let e of Object.keys(n)) i[e] = r[e], Pt(r, e, n[e]);
1480
1498
  return e.oldProperties = i, [t];
1481
1499
  }
1482
1500
  revert(e) {
1483
1501
  let { element: t, oldProperties: n } = e, r = t;
1484
- if (n) for (let e of Object.keys(n)) Nt(r, e, n[e]);
1502
+ if (n) for (let e of Object.keys(n)) Pt(r, e, n[e]);
1485
1503
  return [t];
1486
1504
  }
1487
- }, Ft = "element.updateProperties";
1488
- function It(e) {
1505
+ }, It = "element.updateProperties";
1506
+ function Lt(e) {
1489
1507
  let t = {};
1490
1508
  for (let [n, r] of Object.entries(e)) r !== void 0 && (t[n] = r);
1491
1509
  return t;
1492
1510
  }
1493
- var z = class {
1511
+ var Rt = class {
1494
1512
  commandStack;
1495
1513
  static $inject = ["commandStack"];
1496
1514
  constructor(e) {
1497
- this.commandStack = e, e.registerHandler(Ft, Pt);
1515
+ this.commandStack = e, e.registerHandler(It, Ft);
1498
1516
  }
1499
1517
  updateProperties(e, t) {
1500
- this.commandStack.execute(Ft, {
1518
+ this.commandStack.execute(It, {
1501
1519
  element: e,
1502
1520
  properties: t
1503
1521
  });
1504
1522
  }
1505
1523
  updateLabel(e, t) {
1506
1524
  if (e.wardleyType === "note") {
1507
- let { width: n, height: r } = h(t), i = e.x + e.width / 2, a = e.y + e.height / 2;
1525
+ let { width: n, height: r } = g(t), i = e.x + e.width / 2, a = e.y + e.height / 2;
1508
1526
  this.updateProperties(e, {
1509
1527
  wardleyLabel: t,
1510
1528
  width: n,
@@ -1517,8 +1535,8 @@ var z = class {
1517
1535
  this.updateProperties(e, { wardleyLabel: t });
1518
1536
  }
1519
1537
  evolveComponent(e, t, n = {}) {
1520
- let r = Lt(t);
1521
- r <= e.evolution || this.updateProperties(e, { movement: It({
1538
+ let r = zt(t);
1539
+ r <= e.evolution || this.updateProperties(e, { movement: Lt({
1522
1540
  targetEvolution: r,
1523
1541
  newLabel: n.newLabel,
1524
1542
  method: n.method
@@ -1543,12 +1561,12 @@ var z = class {
1543
1561
  this.updateProperties(e, { color: t });
1544
1562
  }
1545
1563
  };
1546
- function Lt(e) {
1564
+ function zt(e) {
1547
1565
  return e < 0 ? 0 : e > 1 ? 1 : e;
1548
1566
  }
1549
1567
  //#endregion
1550
1568
  //#region src/modeling/WardleyCopyPaste.ts
1551
- var Rt = 24, zt = [
1569
+ var Bt = 24, Vt = [
1552
1570
  "wardleyType",
1553
1571
  "evolution",
1554
1572
  "visibility",
@@ -1565,13 +1583,13 @@ var Rt = 24, zt = [
1565
1583
  "drawingPoints",
1566
1584
  "closed",
1567
1585
  "strokeStyle"
1568
- ], Bt = [
1586
+ ], Ht = [
1569
1587
  "wardleyType",
1570
1588
  "bidirectional",
1571
1589
  "flowValue",
1572
1590
  "linkLabel"
1573
1591
  ];
1574
- function Vt(e, t) {
1592
+ function Ut(e, t) {
1575
1593
  let n = {};
1576
1594
  for (let r of t) {
1577
1595
  let t = e[r];
@@ -1579,7 +1597,7 @@ function Vt(e, t) {
1579
1597
  }
1580
1598
  return n;
1581
1599
  }
1582
- var Ht = class {
1600
+ var Wt = class {
1583
1601
  selection;
1584
1602
  modeling;
1585
1603
  elementFactory;
@@ -1602,21 +1620,21 @@ var Ht = class {
1602
1620
  this.selection = e, this.modeling = t, this.elementFactory = n, this.elementRegistry = r, this.canvas = i, this.create = a, this.mouse = o;
1603
1621
  }
1604
1622
  copy() {
1605
- let e = this.selection.get().filter((e) => y(e));
1623
+ let e = this.selection.get().filter((e) => T(e));
1606
1624
  if (!e.length) return !1;
1607
1625
  let t = new Map(e.map((e, t) => [e, t])), n = [], r = /* @__PURE__ */ new Set();
1608
1626
  for (let i of e) for (let e of [...i.incoming ?? [], ...i.outgoing ?? []]) {
1609
- if (!b(e) || r.has(e)) continue;
1627
+ if (!E(e) || r.has(e)) continue;
1610
1628
  let i = t.get(e.source), a = t.get(e.target);
1611
1629
  i === void 0 || a === void 0 || (r.add(e), n.push({
1612
1630
  sourceIdx: i,
1613
1631
  targetIdx: a,
1614
- props: Vt(e, Bt)
1632
+ props: Ut(e, Ht)
1615
1633
  }));
1616
1634
  }
1617
1635
  return this.clipboard = {
1618
1636
  shapes: e.map((e) => ({
1619
- props: Vt(e, zt),
1637
+ props: Ut(e, Vt),
1620
1638
  x: e.x,
1621
1639
  y: e.y,
1622
1640
  width: e.width,
@@ -1650,13 +1668,13 @@ var Ht = class {
1650
1668
  ...structuredClone(e.props),
1651
1669
  source: n[e.sourceIdx],
1652
1670
  target: n[e.targetIdx],
1653
- waypoints: [Ut(n[e.sourceIdx]), Ut(n[e.targetIdx])]
1671
+ waypoints: [Gt(n[e.sourceIdx]), Gt(n[e.targetIdx])]
1654
1672
  }))
1655
1673
  };
1656
1674
  }
1657
1675
  insertWithOffset(e) {
1658
1676
  this.pasteCount++;
1659
- let t = Rt * this.pasteCount, n = Wt(e.shapes), r = this.modeling.createElements([...e.shapes, ...e.connections], {
1677
+ let t = Bt * this.pasteCount, n = Kt(e.shapes), r = this.modeling.createElements([...e.shapes, ...e.connections], {
1660
1678
  x: n.cx + t,
1661
1679
  y: n.cy + t
1662
1680
  }, this.canvas.getRootElement());
@@ -1675,13 +1693,13 @@ var Ht = class {
1675
1693
  });
1676
1694
  }
1677
1695
  };
1678
- function Ut(e) {
1696
+ function Gt(e) {
1679
1697
  return {
1680
1698
  x: e.x + e.width / 2,
1681
1699
  y: e.y + e.height / 2
1682
1700
  };
1683
1701
  }
1684
- function Wt(e) {
1702
+ function Kt(e) {
1685
1703
  let t = Math.min(...e.map((e) => e.x)), n = Math.min(...e.map((e) => e.y)), r = Math.max(...e.map((e) => e.x + e.width)), i = Math.max(...e.map((e) => e.y + e.height));
1686
1704
  return {
1687
1705
  cx: (t + r) / 2,
@@ -1690,12 +1708,12 @@ function Wt(e) {
1690
1708
  }
1691
1709
  //#endregion
1692
1710
  //#region src/modeling/index.ts
1693
- var Gt = {
1711
+ var qt = {
1694
1712
  __depends__: [ge, ce],
1695
1713
  __init__: ["wardleyModeling"],
1696
- wardleyModeling: ["type", z],
1697
- wardleyCopyPaste: ["type", Ht]
1698
- }, Kt = {
1714
+ wardleyModeling: ["type", Rt],
1715
+ wardleyCopyPaste: ["type", Wt]
1716
+ }, Jt = {
1699
1717
  __depends__: [_e],
1700
1718
  __init__: ["wardleyLassoBehavior"],
1701
1719
  wardleyLassoBehavior: ["type", class {
@@ -1718,33 +1736,33 @@ var Gt = {
1718
1736
  });
1719
1737
  }
1720
1738
  }]
1721
- }, qt = /* @__PURE__ */ new Set([
1739
+ }, Yt = /* @__PURE__ */ new Set([
1722
1740
  "component",
1723
1741
  "anchor",
1724
1742
  "submap",
1725
1743
  "pipeline"
1726
1744
  ]);
1727
- function B(e) {
1728
- return y(e) && qt.has(e.wardleyType);
1745
+ function z(e) {
1746
+ return T(e) && Yt.has(e.wardleyType);
1729
1747
  }
1730
- function Jt(e, t) {
1748
+ function Xt(e, t) {
1731
1749
  return (e.outgoing ?? []).some((e) => e.target === t) || (e.incoming ?? []).some((e) => e.source === t);
1732
1750
  }
1733
- var Yt = class extends ve {
1751
+ var Zt = class extends ve {
1734
1752
  static $inject = ["eventBus"];
1735
1753
  constructor(e) {
1736
1754
  super(e);
1737
1755
  }
1738
1756
  init() {
1739
- this.addRule("connection.start", (e) => B(e.source)), this.addRule("connection.create", (e) => {
1757
+ this.addRule("connection.start", (e) => z(e.source)), this.addRule("connection.create", (e) => {
1740
1758
  let { source: t, target: n } = e;
1741
- return !B(t) || !B(n) || t === n || Jt(t, n) ? !1 : { wardleyType: "dependency" };
1742
- }), this.addRule(["shape.move", "elements.move"], () => !0), this.addRule("shape.create", () => !0), this.addRule("elements.create", () => !0), this.addRule("shape.resize", (e) => x(e.shape) || Pe(e.shape));
1759
+ return !z(t) || !z(n) || t === n || Xt(t, n) ? !1 : { wardleyType: "dependency" };
1760
+ }), this.addRule(["shape.move", "elements.move"], () => !0), this.addRule("shape.create", () => !0), this.addRule("elements.create", () => !0), this.addRule("shape.resize", (e) => O(e.shape) || Oe(e.shape));
1743
1761
  }
1744
- }, Xt = {
1762
+ }, Qt = {
1745
1763
  __init__: ["wardleyRules"],
1746
- wardleyRules: ["type", Yt]
1747
- }, Zt = 8, Qt = {
1764
+ wardleyRules: ["type", Zt]
1765
+ }, $t = 8, en = {
1748
1766
  __init__: ["stageSnapping"],
1749
1767
  stageSnapping: ["type", class {
1750
1768
  static $inject = ["eventBus", "evolutionGrid"];
@@ -1760,7 +1778,7 @@ var Yt = class extends ve {
1760
1778
  let t = e.context?.shape;
1761
1779
  if (!t) return;
1762
1780
  let r = t.x + t.width / 2 + e.dx;
1763
- for (let t of n()) if (Math.abs(r - t) <= Zt) {
1781
+ for (let t of n()) if (Math.abs(r - t) <= $t) {
1764
1782
  let n = t - r;
1765
1783
  e.dx += n, e.x += n;
1766
1784
  break;
@@ -1772,7 +1790,7 @@ var Yt = class extends ve {
1772
1790
  "resize.end"
1773
1791
  ], 1500, (e) => {
1774
1792
  if (!e.originalEvent?.shiftKey && typeof e.x == "number") {
1775
- for (let t of n()) if (Math.abs(e.x - t) <= Zt) {
1793
+ for (let t of n()) if (Math.abs(e.x - t) <= $t) {
1776
1794
  r(e, t);
1777
1795
  break;
1778
1796
  }
@@ -1780,45 +1798,45 @@ var Yt = class extends ve {
1780
1798
  });
1781
1799
  }
1782
1800
  }]
1783
- }, V = (e) => `<svg width="24" height="24" viewBox="0 0 24 24" class="wardley-palette-svg">${e}</svg>`, H = (e = "") => `<circle cx="12" cy="12" r="7" fill="${g.componentFill}" stroke="${g.stroke}" stroke-width="2"/>${e}`, U = {
1784
- draw: V(`<polyline points="3,18 8.5,7 14,14 21,4" fill="none" stroke="${g.ink}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="3" cy="18" r="2.2" fill="${g.componentFill}" stroke="${g.ink}" stroke-width="1.4"/>`),
1785
- lasso: V(`<rect x="3" y="3" width="13" height="13" rx="2" fill="none" stroke="${g.ink}" stroke-width="1.5" stroke-dasharray="3 2.5"/><path d="M13.5 13.5l7 2.7-3 1.3-1.3 3z" fill="${g.ink}"/>`),
1786
- component: V(H()),
1787
- market: V(H(`<circle cx="12" cy="10" r="1.4" fill="${g.stroke}"/><circle cx="10.2" cy="13.4" r="1.4" fill="${g.stroke}"/><circle cx="13.8" cy="13.4" r="1.4" fill="${g.stroke}"/>`)),
1788
- ecosystem: V(H(`<circle cx="12" cy="12" r="10" fill="none" stroke="${g.stroke}" stroke-width="1.25" stroke-dasharray="1.5 3" stroke-linecap="round"/>`)),
1789
- anchor: V(`<path d="${E}" fill="${g.ink}"/>`),
1790
- pipeline: V(`<rect x="9.5" y="2.5" width="5.5" height="5.5" fill="${g.componentFill}" stroke="${g.stroke}" stroke-width="1.5"/><rect x="2" y="10" width="20" height="9" rx="2" fill="none" stroke="${g.pipeline}" stroke-width="1.25" stroke-dasharray="3 2"/><circle cx="7" cy="14.5" r="2.2" fill="${g.componentFill}" stroke="${g.stroke}" stroke-width="1.2"/><circle cx="17" cy="14.5" r="2.2" fill="${g.componentFill}" stroke="${g.stroke}" stroke-width="1.2"/>`),
1791
- note: V(`<g stroke="${g.noteText}" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="8" x2="19" y2="8"/><line x1="5" y1="12" x2="19" y2="12"/><line x1="5" y1="16" x2="13" y2="16"/></g>`),
1792
- annotation: V(`<circle cx="12" cy="12" r="8" fill="${g.annotationFill}" stroke="${g.stroke}" stroke-width="1.25"/>` + ((e, t) => `<text x="12" text-anchor="middle" font-family="${v.family}" ${t}>${e}</text>`)("1", `y="16" font-size="11" font-weight="700" fill="${g.stroke}"`)),
1793
- accelerator: V(`<path d="${k}" fill="${g.accelerator}"/>`),
1794
- deaccelerator: V(`<path d="${A}" fill="${g.deaccelerator}"/>`),
1795
- submap: V(`<rect x="4" y="4" width="16" height="16" rx="3" fill="${g.componentFill}" stroke="${g.stroke}" stroke-width="2"/><rect x="7.5" y="7.5" width="9" height="9" rx="1.5" fill="none" stroke="${g.stroke}" stroke-width="1"/>`)
1801
+ }, B = (e) => `<svg width="24" height="24" viewBox="0 0 24 24" class="wardley-palette-svg">${e}</svg>`, V = (e = "") => `<circle cx="12" cy="12" r="7" fill="${_.componentFill}" stroke="${_.stroke}" stroke-width="2"/>${e}`, H = {
1802
+ draw: B(`<polyline points="3,18 8.5,7 14,14 21,4" fill="none" stroke="${_.ink}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="3" cy="18" r="2.2" fill="${_.componentFill}" stroke="${_.ink}" stroke-width="1.4"/>`),
1803
+ lasso: B(`<rect x="3" y="3" width="13" height="13" rx="2" fill="none" stroke="${_.ink}" stroke-width="1.5" stroke-dasharray="3 2.5"/><path d="M13.5 13.5l7 2.7-3 1.3-1.3 3z" fill="${_.ink}"/>`),
1804
+ component: B(V()),
1805
+ market: B(V(`<circle cx="12" cy="10" r="1.4" fill="${_.stroke}"/><circle cx="10.2" cy="13.4" r="1.4" fill="${_.stroke}"/><circle cx="13.8" cy="13.4" r="1.4" fill="${_.stroke}"/>`)),
1806
+ ecosystem: B(V(`<circle cx="12" cy="12" r="10" fill="none" stroke="${_.stroke}" stroke-width="1.25" stroke-dasharray="1.5 3" stroke-linecap="round"/>`)),
1807
+ anchor: B(`<path d="${M}" fill="${_.ink}"/>`),
1808
+ pipeline: B(`<rect x="9.5" y="2.5" width="5.5" height="5.5" fill="${_.componentFill}" stroke="${_.stroke}" stroke-width="1.5"/><rect x="2" y="10" width="20" height="9" rx="2" fill="none" stroke="${_.pipeline}" stroke-width="1.25" stroke-dasharray="3 2"/><circle cx="7" cy="14.5" r="2.2" fill="${_.componentFill}" stroke="${_.stroke}" stroke-width="1.2"/><circle cx="17" cy="14.5" r="2.2" fill="${_.componentFill}" stroke="${_.stroke}" stroke-width="1.2"/>`),
1809
+ note: B(`<g stroke="${_.noteText}" stroke-width="1.5" stroke-linecap="round"><line x1="5" y1="8" x2="19" y2="8"/><line x1="5" y1="12" x2="19" y2="12"/><line x1="5" y1="16" x2="13" y2="16"/></g>`),
1810
+ annotation: B(`<circle cx="12" cy="12" r="8" fill="${_.annotationFill}" stroke="${_.stroke}" stroke-width="1.25"/>` + ((e, t) => `<text x="12" text-anchor="middle" font-family="${y.family}" ${t}>${e}</text>`)("1", `y="16" font-size="11" font-weight="700" fill="${_.stroke}"`)),
1811
+ accelerator: B(`<path d="${nt}" fill="${_.accelerator}"/>`),
1812
+ deaccelerator: B(`<path d="${rt}" fill="${_.deaccelerator}"/>`),
1813
+ submap: B(`<rect x="4" y="4" width="16" height="16" rx="3" fill="${_.componentFill}" stroke="${_.stroke}" stroke-width="2"/><rect x="7.5" y="7.5" width="9" height="9" rx="1.5" fill="none" stroke="${_.stroke}" stroke-width="1"/>`)
1796
1814
  };
1797
- function W(e) {
1798
- let t = _[e] ?? {
1799
- fill: "rgba(0,0,0,0.05)",
1800
- stroke: "#666666"
1815
+ function U(e) {
1816
+ let t = v[e] ?? {
1817
+ fill: _.band,
1818
+ stroke: _.dependency
1801
1819
  };
1802
- return V(`<rect x="2" y="6" width="20" height="12" rx="3" fill="${t.fill}" stroke="${t.stroke}" stroke-width="1.5" stroke-dasharray="3 2"/>`);
1820
+ return B(`<rect x="2" y="6" width="20" height="12" rx="3" fill="${t.fill}" stroke="${t.stroke}" stroke-width="1.5" stroke-dasharray="3 2"/>`);
1803
1821
  }
1804
1822
  //#endregion
1805
1823
  //#region src/palette/WardleyPaletteProvider.ts
1806
- var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1824
+ var W = "wardley-1-blocks", G = "wardley-2-strategy", tn = [
1807
1825
  {
1808
1826
  key: "component",
1809
1827
  type: "component",
1810
1828
  label: "Component",
1811
1829
  title: "Component — C",
1812
- icon: U.component,
1813
- group: G
1830
+ icon: H.component,
1831
+ group: W
1814
1832
  },
1815
1833
  {
1816
1834
  key: "market",
1817
1835
  type: "component",
1818
1836
  label: "Market",
1819
1837
  title: "Market component",
1820
- icon: U.market,
1821
- group: G,
1838
+ icon: H.market,
1839
+ group: W,
1822
1840
  extra: { market: !0 }
1823
1841
  },
1824
1842
  {
@@ -1826,8 +1844,8 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1826
1844
  type: "component",
1827
1845
  label: "Ecosystem",
1828
1846
  title: "Ecosystem component",
1829
- icon: U.ecosystem,
1830
- group: G,
1847
+ icon: H.ecosystem,
1848
+ group: W,
1831
1849
  extra: { ecosystem: !0 }
1832
1850
  },
1833
1851
  {
@@ -1835,32 +1853,32 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1835
1853
  type: "anchor",
1836
1854
  label: "User",
1837
1855
  title: "Anchor / User — U",
1838
- icon: U.anchor,
1839
- group: G
1856
+ icon: H.anchor,
1857
+ group: W
1840
1858
  },
1841
1859
  {
1842
1860
  key: "pipeline",
1843
1861
  type: "pipeline",
1844
1862
  label: "Pipeline",
1845
1863
  title: "Pipeline",
1846
- icon: U.pipeline,
1847
- group: G
1864
+ icon: H.pipeline,
1865
+ group: W
1848
1866
  },
1849
1867
  {
1850
1868
  key: "submap",
1851
1869
  type: "submap",
1852
1870
  label: "Submap",
1853
1871
  title: "Submap",
1854
- icon: U.submap,
1855
- group: G
1872
+ icon: H.submap,
1873
+ group: W
1856
1874
  },
1857
1875
  {
1858
1876
  key: "pioneers",
1859
1877
  type: "attitude",
1860
1878
  label: "Pioneers",
1861
1879
  title: "Pioneers region",
1862
- icon: W("pioneers"),
1863
- group: K,
1880
+ icon: U("pioneers"),
1881
+ group: G,
1864
1882
  extra: { attitudeKind: "pioneers" }
1865
1883
  },
1866
1884
  {
@@ -1868,8 +1886,8 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1868
1886
  type: "attitude",
1869
1887
  label: "Settlers",
1870
1888
  title: "Settlers region",
1871
- icon: W("settlers"),
1872
- group: K,
1889
+ icon: U("settlers"),
1890
+ group: G,
1873
1891
  extra: { attitudeKind: "settlers" }
1874
1892
  },
1875
1893
  {
@@ -1877,8 +1895,8 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1877
1895
  type: "attitude",
1878
1896
  label: "Town Planners",
1879
1897
  title: "Town Planners region",
1880
- icon: W("townplanners"),
1881
- group: K,
1898
+ icon: U("townplanners"),
1899
+ group: G,
1882
1900
  extra: { attitudeKind: "townplanners" }
1883
1901
  },
1884
1902
  {
@@ -1886,8 +1904,8 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1886
1904
  type: "accelerator",
1887
1905
  label: "Accelerate",
1888
1906
  title: "Accelerator",
1889
- icon: U.accelerator,
1890
- group: K,
1907
+ icon: H.accelerator,
1908
+ group: G,
1891
1909
  extra: { acceleratorDirection: "accelerate" }
1892
1910
  },
1893
1911
  {
@@ -1895,8 +1913,8 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1895
1913
  type: "accelerator",
1896
1914
  label: "Deaccelerate",
1897
1915
  title: "Deaccelerator",
1898
- icon: U.deaccelerator,
1899
- group: K,
1916
+ icon: H.deaccelerator,
1917
+ group: G,
1900
1918
  extra: { acceleratorDirection: "deaccelerate" }
1901
1919
  },
1902
1920
  {
@@ -1904,10 +1922,10 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1904
1922
  type: "note",
1905
1923
  label: "Note",
1906
1924
  title: "Note",
1907
- icon: U.note,
1925
+ icon: H.note,
1908
1926
  group: "wardley-3-notes"
1909
1927
  }
1910
- ], en = {
1928
+ ], nn = {
1911
1929
  __init__: ["wardleyPaletteProvider"],
1912
1930
  wardleyPaletteProvider: ["type", class {
1913
1931
  create;
@@ -1929,15 +1947,15 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1929
1947
  e["lasso-tool"] = {
1930
1948
  group: "tools",
1931
1949
  title: "Selection tool — L (or Shift+drag)",
1932
- html: `<div class="entry wardley-palette-entry" title="Selection tool — L (or Shift+drag)">${U.lasso}</div>`,
1950
+ html: `<div class="entry wardley-palette-entry" title="Selection tool — L (or Shift+drag)">${H.lasso}</div>`,
1933
1951
  action: { click: (e) => this.lassoTool.activateSelection(e) }
1934
1952
  }, e["draw-tool"] = {
1935
1953
  group: "tools",
1936
1954
  title: "Draw — click point by point, double-click/Enter finishes, click the start point to close",
1937
- html: `<div class="entry wardley-palette-entry" title="Draw — click point by point, double-click/Enter finishes, click the start point to close">${U.draw}</div>`,
1955
+ html: `<div class="entry wardley-palette-entry" title="Draw — click point by point, double-click/Enter finishes, click the start point to close">${H.draw}</div>`,
1938
1956
  action: { click: () => this.drawTool.toggle() }
1939
1957
  };
1940
- for (let t of $t) {
1958
+ for (let t of tn) {
1941
1959
  let n = (e) => {
1942
1960
  let n = this.factory.createNew(t.type, t.label, t.extra ?? {});
1943
1961
  this.create.start(e, n);
@@ -1955,86 +1973,86 @@ var G = "wardley-1-blocks", K = "wardley-2-strategy", $t = [
1955
1973
  return e;
1956
1974
  }
1957
1975
  }]
1958
- }, q = "wardley-element-settings", J = {
1976
+ }, K = "wardley-element-settings", q = {
1959
1977
  id: "type",
1960
1978
  name: "Type"
1961
- }, Y = {
1979
+ }, J = {
1962
1980
  id: "method",
1963
1981
  name: "Sourcing"
1964
- }, tn = {
1982
+ }, rn = {
1965
1983
  id: "props",
1966
1984
  name: "Properties"
1967
1985
  };
1968
- function X(e, t) {
1986
+ function Y(e, t) {
1969
1987
  return e ? `✓ ${t}` : t;
1970
1988
  }
1971
- var nn = class {
1989
+ var an = class {
1972
1990
  modeling;
1973
1991
  static $inject = ["popupMenu", "wardleyModeling"];
1974
1992
  constructor(e, t) {
1975
- this.modeling = t, e.registerProvider(q, this);
1993
+ this.modeling = t, e.registerProvider(K, this);
1976
1994
  }
1977
1995
  getPopupMenuEntries(e) {
1978
1996
  let t = Array.isArray(e) ? e[0] : e;
1979
- return Ne(t) ? this.componentEntries(t) : {};
1997
+ return D(t) ? this.componentEntries(t) : {};
1980
1998
  }
1981
1999
  componentEntries(e) {
1982
2000
  let t = e.decorators ?? {}, n = t.ecosystem ? "ecosystem" : t.market ? "market" : "normal", r = t.method;
1983
2001
  return {
1984
2002
  "type-normal": {
1985
- label: X(n === "normal", "Normal"),
1986
- group: J,
2003
+ label: Y(n === "normal", "Normal"),
2004
+ group: q,
1987
2005
  action: () => this.modeling.setMarketEcosystem(e, void 0)
1988
2006
  },
1989
2007
  "type-market": {
1990
- label: X(n === "market", "Market"),
1991
- group: J,
2008
+ label: Y(n === "market", "Market"),
2009
+ group: q,
1992
2010
  action: () => this.modeling.setMarketEcosystem(e, "market")
1993
2011
  },
1994
2012
  "type-ecosystem": {
1995
- label: X(n === "ecosystem", "Ecosystem"),
1996
- group: J,
2013
+ label: Y(n === "ecosystem", "Ecosystem"),
2014
+ group: q,
1997
2015
  action: () => this.modeling.setMarketEcosystem(e, "ecosystem")
1998
2016
  },
1999
2017
  "method-none": {
2000
- label: X(!r, "None"),
2001
- group: Y,
2018
+ label: Y(!r, "None"),
2019
+ group: J,
2002
2020
  action: () => this.modeling.setMethod(e, void 0)
2003
2021
  },
2004
2022
  "method-build": {
2005
- label: X(r === "build", "Build"),
2006
- group: Y,
2023
+ label: Y(r === "build", "Build"),
2024
+ group: J,
2007
2025
  action: () => this.modeling.setMethod(e, "build")
2008
2026
  },
2009
2027
  "method-buy": {
2010
- label: X(r === "buy", "Buy"),
2011
- group: Y,
2028
+ label: Y(r === "buy", "Buy"),
2029
+ group: J,
2012
2030
  action: () => this.modeling.setMethod(e, "buy")
2013
2031
  },
2014
2032
  "method-outsource": {
2015
- label: X(r === "outsource", "Outsource"),
2016
- group: Y,
2033
+ label: Y(r === "outsource", "Outsource"),
2034
+ group: J,
2017
2035
  action: () => this.modeling.setMethod(e, "outsource")
2018
2036
  },
2019
2037
  "prop-inertia": {
2020
- label: X(!!t.inertia, "Inertia"),
2021
- group: tn,
2038
+ label: Y(!!t.inertia, "Inertia"),
2039
+ group: rn,
2022
2040
  action: () => this.modeling.toggleInertia(e)
2023
2041
  }
2024
2042
  };
2025
2043
  }
2026
- }, rn = {
2044
+ }, on = {
2027
2045
  __init__: ["wardleyElementSettings"],
2028
- wardleyElementSettings: ["type", nn]
2046
+ wardleyElementSettings: ["type", an]
2029
2047
  };
2030
2048
  //#endregion
2031
2049
  //#region src/context-pad/WardleyContextPadProvider.ts
2032
- function Z(e, t, n = !1) {
2033
- return `<div class="entry wardley-cp-entry"${n ? " draggable=\"true\"" : ""} title="${t}">${M(e)}</div>`;
2050
+ function X(e, t, n = !1) {
2051
+ return `<div class="entry wardley-cp-entry"${n ? " draggable=\"true\"" : ""} title="${t}">${ut(e)}</div>`;
2034
2052
  }
2035
2053
  //#endregion
2036
2054
  //#region src/context-pad/index.ts
2037
- var an = {
2055
+ var sn = {
2038
2056
  __init__: ["wardleyContextPadProvider"],
2039
2057
  wardleyContextPadProvider: ["type", class {
2040
2058
  modeling;
@@ -2062,24 +2080,24 @@ var an = {
2062
2080
  this.modeling = t, this.connect = n, this.create = r, this.popupMenu = i, this.wardleyModeling = a, this.labelEditing = o, this.evolveDragging = s, this.factory = c, this.colorPicker = l, e.registerProvider(this);
2063
2081
  }
2064
2082
  getContextPadEntries(e) {
2065
- if (b(e)) {
2083
+ if (E(e)) {
2066
2084
  let t = e, n = t.wardleyType === "flow";
2067
2085
  return {
2068
2086
  "edit-value": {
2069
2087
  group: "edit",
2070
2088
  title: n ? "Edit flow value" : "Edit link annotation",
2071
- html: Z(D, n ? "Edit flow value" : "Edit link annotation"),
2089
+ html: X(N, n ? "Edit flow value" : "Edit link annotation"),
2072
2090
  action: { click: () => this.labelEditing.activateConnection(t) }
2073
2091
  },
2074
2092
  delete: {
2075
2093
  group: "edit",
2076
2094
  title: "Delete connection",
2077
- html: Z(O, "Delete connection"),
2095
+ html: X(P, "Delete connection"),
2078
2096
  action: { click: () => this.modeling.removeElements([e]) }
2079
2097
  }
2080
2098
  };
2081
2099
  }
2082
- if (!y(e)) return {};
2100
+ if (!T(e)) return {};
2083
2101
  let t = e, n = {};
2084
2102
  if (t.wardleyType === "component" || t.wardleyType === "anchor" || t.wardleyType === "submap" || t.wardleyType === "pipeline") {
2085
2103
  let e = (e) => {
@@ -2089,7 +2107,7 @@ var an = {
2089
2107
  n.append = {
2090
2108
  group: "edit",
2091
2109
  title: "Append component (auto-connect)",
2092
- html: Z(Ke, "Append component", !0),
2110
+ html: X(Ve, "Append component", !0),
2093
2111
  action: {
2094
2112
  click: e,
2095
2113
  dragstart: e
@@ -2101,7 +2119,7 @@ var an = {
2101
2119
  n.connect = {
2102
2120
  group: "edit",
2103
2121
  title: "Connect to existing element",
2104
- html: Z(qe, "Connect to existing element", !0),
2122
+ html: X(He, "Connect to existing element", !0),
2105
2123
  action: {
2106
2124
  click: r,
2107
2125
  dragstart: r
@@ -2112,7 +2130,7 @@ var an = {
2112
2130
  if (t.movement) n["evolve-clear"] = {
2113
2131
  group: "wardley",
2114
2132
  title: "Remove evolve",
2115
- html: Z(Ye, "Remove evolve"),
2133
+ html: X(We, "Remove evolve"),
2116
2134
  action: { click: () => this.wardleyModeling.clearMovement(t) }
2117
2135
  };
2118
2136
  else if (t.evolution < .999) {
@@ -2120,7 +2138,7 @@ var an = {
2120
2138
  n.evolve = {
2121
2139
  group: "wardley",
2122
2140
  title: "Evolve: drag to set the target maturity",
2123
- html: Z(Je, "Evolve: drag to set the target maturity", !0),
2141
+ html: X(Ue, "Evolve: drag to set the target maturity", !0),
2124
2142
  action: {
2125
2143
  click: e,
2126
2144
  dragstart: e
@@ -2130,10 +2148,10 @@ var an = {
2130
2148
  n.settings = {
2131
2149
  group: "wardley",
2132
2150
  title: "Settings (type, sourcing, inertia)",
2133
- html: Z(at, "Settings"),
2151
+ html: X(et, "Settings"),
2134
2152
  action: { click: (e) => {
2135
2153
  let n = e;
2136
- this.popupMenu.open(t, q, {
2154
+ this.popupMenu.open(t, K, {
2137
2155
  x: n.clientX,
2138
2156
  y: n.clientY
2139
2157
  });
@@ -2145,14 +2163,14 @@ var an = {
2145
2163
  n["stroke-style"] = {
2146
2164
  group: "wardley",
2147
2165
  title: r,
2148
- html: Z(st, r),
2166
+ html: X(it, r),
2149
2167
  action: { click: () => this.wardleyModeling.updateProperties(t, { strokeStyle: e }) }
2150
2168
  };
2151
2169
  }
2152
2170
  n.color = {
2153
2171
  group: "wardley",
2154
2172
  title: "Color",
2155
- html: Z(ot, "Color"),
2173
+ html: X(tt, "Color"),
2156
2174
  action: { click: (e) => {
2157
2175
  let n = e;
2158
2176
  this.colorPicker.open(t, n.clientX, n.clientY);
@@ -2162,17 +2180,17 @@ var an = {
2162
2180
  return i && (n["open-link"] = {
2163
2181
  group: "wardley",
2164
2182
  title: `Open link (${i})`,
2165
- html: Z(qe, "Open link"),
2183
+ html: X(He, "Open link"),
2166
2184
  action: { click: () => window.open(i, "_blank", "noopener") }
2167
2185
  }), t.wardleyType !== "drawing" && (n["edit-label"] = {
2168
2186
  group: "edit",
2169
2187
  title: "Edit label",
2170
- html: Z(D, "Edit label"),
2188
+ html: X(N, "Edit label"),
2171
2189
  action: { click: () => this.labelEditing.activate(t) }
2172
2190
  }), n.delete = {
2173
2191
  group: "edit",
2174
2192
  title: "Delete",
2175
- html: Z(O, "Delete"),
2193
+ html: X(P, "Delete"),
2176
2194
  action: { click: () => this.modeling.removeElements([t]) }
2177
2195
  }, n;
2178
2196
  }
@@ -2180,10 +2198,10 @@ var an = {
2180
2198
  };
2181
2199
  //#endregion
2182
2200
  //#region src/label-editing/WardleyLabelEditing.ts
2183
- function on(e) {
2201
+ function cn(e) {
2184
2202
  return e.replace(/->/g, "→").replace(/;/g, ",").replace(/\[/g, "(").replace(/\]/g, ")").trim();
2185
2203
  }
2186
- var sn = class {
2204
+ var ln = class {
2187
2205
  canvas;
2188
2206
  modeling;
2189
2207
  factory;
@@ -2196,7 +2214,7 @@ var sn = class {
2196
2214
  active = null;
2197
2215
  constructor(e, t, n, r) {
2198
2216
  this.canvas = t, this.modeling = n, this.factory = r, e.on("element.dblclick", (e) => {
2199
- y(e.element) ? this.activate(e.element) : b(e.element) && this.activateConnection(e.element);
2217
+ T(e.element) ? this.activate(e.element) : E(e.element) && this.activateConnection(e.element);
2200
2218
  }), e.on([
2201
2219
  "element.mousedown",
2202
2220
  "drag.init",
@@ -2215,7 +2233,7 @@ var sn = class {
2215
2233
  c || (c = !0, s.removeEventListener("keydown", d), s.removeEventListener("blur", f), s.remove(), this.active = null);
2216
2234
  }, u = () => {
2217
2235
  if (c) return;
2218
- let t = on(s.value), n = t && t !== e.wardleyLabel;
2236
+ let t = cn(s.value), n = t && t !== e.wardleyLabel;
2219
2237
  if (l(), !n) return;
2220
2238
  let r = i ? t : this.factory.uniqueLabel(t, e.id);
2221
2239
  this.modeling.updateLabel(e, r);
@@ -2270,10 +2288,10 @@ var sn = class {
2270
2288
  cancel() {
2271
2289
  this.active?.cleanup();
2272
2290
  }
2273
- }, cn = {
2291
+ }, Z = {
2274
2292
  __init__: ["wardleyLabelEditing"],
2275
- wardleyLabelEditing: ["type", sn]
2276
- }, ln = 2, un = 10, dn = {
2293
+ wardleyLabelEditing: ["type", ln]
2294
+ }, un = 2, dn = 10, fn = {
2277
2295
  arrowleft: {
2278
2296
  x: -1,
2279
2297
  y: 0
@@ -2290,7 +2308,7 @@ var sn = class {
2290
2308
  x: 0,
2291
2309
  y: 1
2292
2310
  }
2293
- }, fn = class {
2311
+ }, pn = class {
2294
2312
  static $inject = [
2295
2313
  "canvas",
2296
2314
  "commandStack",
@@ -2307,7 +2325,7 @@ var sn = class {
2307
2325
  let u = e.getContainer();
2308
2326
  u.hasAttribute("tabindex") || u.setAttribute("tabindex", "0");
2309
2327
  let d = (e) => {
2310
- if (pn(e.target)) return;
2328
+ if (mn(e.target)) return;
2311
2329
  let l = e.ctrlKey || e.metaKey, u = e.key.toLowerCase();
2312
2330
  if (l && u === "z" && !e.shiftKey) e.preventDefault(), t.undo();
2313
2331
  else if (l && u === "z" && e.shiftKey || l && u === "y") e.preventDefault(), t.redo();
@@ -2328,11 +2346,11 @@ var sn = class {
2328
2346
  e.preventDefault();
2329
2347
  let t = s.getLastMoveEvent();
2330
2348
  c.activateSelection(t ?? e, !!t);
2331
- } else if (u in dn && !l) {
2349
+ } else if (u in fn && !l) {
2332
2350
  let t = n.get();
2333
2351
  if (t.length) {
2334
2352
  e.preventDefault();
2335
- let n = e.shiftKey ? un : ln, i = dn[u];
2353
+ let n = e.shiftKey ? dn : un, i = fn[u];
2336
2354
  r.moveElements(t, {
2337
2355
  x: i.x * n,
2338
2356
  y: i.y * n
@@ -2343,21 +2361,21 @@ var sn = class {
2343
2361
  document.addEventListener("keydown", d), l.on("diagram.destroy", () => document.removeEventListener("keydown", d));
2344
2362
  }
2345
2363
  };
2346
- function pn(e) {
2364
+ function mn(e) {
2347
2365
  if (!(e instanceof HTMLElement)) return !1;
2348
2366
  let t = e.tagName;
2349
2367
  return t === "INPUT" || t === "TEXTAREA" || e.isContentEditable;
2350
2368
  }
2351
2369
  //#endregion
2352
2370
  //#region src/keyboard/index.ts
2353
- var mn = {
2371
+ var hn = {
2354
2372
  __init__: ["wardleyKeyboard"],
2355
- wardleyKeyboard: ["type", fn]
2356
- }, Q = "wardley.evolve", hn = .005, gn = "wardley-evolve-handle";
2357
- function _n(e) {
2373
+ wardleyKeyboard: ["type", pn]
2374
+ }, Q = "wardley.evolve", gn = .005, _n = "wardley-evolve-handle";
2375
+ function vn(e) {
2358
2376
  return e < 0 ? 0 : e > 1 ? 1 : e;
2359
2377
  }
2360
- var vn = class {
2378
+ var yn = class {
2361
2379
  dragging;
2362
2380
  static $inject = [
2363
2381
  "eventBus",
@@ -2373,32 +2391,32 @@ var vn = class {
2373
2391
  n === void 0 ? delete t.movement : t.movement = n, e.fire("element.changed", { element: t });
2374
2392
  }, s = (e, t) => {
2375
2393
  let r = i.getContainer().getBoundingClientRect(), a = i.viewbox(), o = a.x + (e - r.left) * (a.width / r.width);
2376
- return _n(n.fromCanvas({
2394
+ return vn(n.fromCanvas({
2377
2395
  x: o,
2378
2396
  y: t
2379
2397
  }).evolution);
2380
2398
  };
2381
2399
  i.getContainer().addEventListener("mousedown", (e) => {
2382
2400
  let t = e.target;
2383
- if (!t?.closest(`.${gn}`)) return;
2401
+ if (!t?.closest(`.${_n}`)) return;
2384
2402
  let n = t.closest("[data-element-id]")?.getAttribute("data-element-id"), i = n ? a.get(n) : void 0;
2385
2403
  if (!i || i.wardleyType !== "component") return;
2386
2404
  e.stopPropagation(), e.preventDefault();
2387
2405
  let c = i.movement, l = i.y + i.height / 2, u, d = (e) => {
2388
2406
  u = s(e.clientX, l), o(i, { targetEvolution: u });
2389
2407
  }, f = () => {
2390
- document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", f), o(i, c), u !== void 0 && Math.abs(u - i.evolution) > hn && r.evolveComponent(i, u);
2408
+ document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", f), o(i, c), u !== void 0 && Math.abs(u - i.evolution) > gn && r.evolveComponent(i, u);
2391
2409
  };
2392
2410
  document.addEventListener("mousemove", d), document.addEventListener("mouseup", f);
2393
2411
  }, !0), e.on(`${Q}.move`, (e) => {
2394
- let { shape: t } = e.context, r = t.y + t.height / 2, i = _n(n.fromCanvas({
2412
+ let { shape: t } = e.context, r = t.y + t.height / 2, i = vn(n.fromCanvas({
2395
2413
  x: e.x,
2396
2414
  y: r
2397
2415
  }).evolution);
2398
2416
  e.context.target = i, o(t, { targetEvolution: i });
2399
2417
  }), e.on(`${Q}.end`, (e) => {
2400
2418
  let t = e.context, { shape: n, target: i } = t;
2401
- o(n, t.originalMovement), i !== void 0 && Math.abs(i - n.evolution) > hn && r.evolveComponent(n, i), t.committed = !0;
2419
+ o(n, t.originalMovement), i !== void 0 && Math.abs(i - n.evolution) > gn && r.evolveComponent(n, i), t.committed = !0;
2402
2420
  }), e.on(`${Q}.cleanup`, (e) => {
2403
2421
  let t = e.context;
2404
2422
  t && !t.committed && o(t.shape, t.originalMovement);
@@ -2414,10 +2432,10 @@ var vn = class {
2414
2432
  data: { context: n }
2415
2433
  });
2416
2434
  }
2417
- }, yn = {
2435
+ }, bn = {
2418
2436
  __init__: ["wardleyEvolveDragging"],
2419
- wardleyEvolveDragging: ["type", vn]
2420
- }, bn = 500, xn = class {
2437
+ wardleyEvolveDragging: ["type", yn]
2438
+ }, xn = 500, Sn = class {
2421
2439
  static $inject = ["injector", "eventBus"];
2422
2440
  constructor(e, t) {
2423
2441
  let n = e.get("connectionPreview", !1), r = e.get("wardleyLabelEditing", !1);
@@ -2442,18 +2460,18 @@ var vn = class {
2442
2460
  "create.cleanup"
2443
2461
  ], (e) => {
2444
2462
  n.cleanUp(e.context);
2445
- })), r && t.on("create.end", bn, (e) => {
2463
+ })), r && t.on("create.end", xn, (e) => {
2446
2464
  let { context: t } = e;
2447
2465
  if (!t.source || !t.canExecute || !t.shape) return;
2448
2466
  let n = t.shape;
2449
2467
  setTimeout(() => r.activate(n), 0);
2450
2468
  });
2451
2469
  }
2452
- }, Sn = {
2470
+ }, Cn = {
2453
2471
  __depends__: [ye],
2454
2472
  __init__: ["wardleyAppendBehavior"],
2455
- wardleyAppendBehavior: ["type", xn]
2456
- }, Cn = class {
2473
+ wardleyAppendBehavior: ["type", Sn]
2474
+ }, wn = class {
2457
2475
  canvas;
2458
2476
  modeling;
2459
2477
  static $inject = [
@@ -2503,18 +2521,18 @@ var vn = class {
2503
2521
  close() {
2504
2522
  this.popover && (this.popover.remove(), this.popover = void 0, document.removeEventListener("click", this.onDocPointer, !0), document.removeEventListener("keydown", this.onKey, !0));
2505
2523
  }
2506
- }, wn = {
2524
+ }, Tn = {
2507
2525
  __init__: ["wardleyColorPicker"],
2508
- wardleyColorPicker: ["type", Cn]
2526
+ wardleyColorPicker: ["type", wn]
2509
2527
  };
2510
2528
  //#endregion
2511
2529
  //#region src/ordering/WardleyOrderingProvider.ts
2512
2530
  function $(e) {
2513
- return y(e) && (e.wardleyType === "attitude" || e.wardleyType === "pipeline");
2531
+ return T(e) && (e.wardleyType === "attitude" || e.wardleyType === "pipeline");
2514
2532
  }
2515
2533
  //#endregion
2516
2534
  //#region src/ordering/index.ts
2517
- var Tn = {
2535
+ var En = {
2518
2536
  __init__: ["wardleyOrderingProvider"],
2519
2537
  wardleyOrderingProvider: ["type", class extends be {
2520
2538
  static $inject = ["eventBus"];
@@ -2523,16 +2541,16 @@ var Tn = {
2523
2541
  }
2524
2542
  getOrdering(e, t) {
2525
2543
  let n = t.children ?? [];
2526
- return b(e) ? {
2544
+ return E(e) ? {
2527
2545
  parent: t,
2528
- index: n.filter((t) => t !== e && ($(t) || b(t))).length
2546
+ index: n.filter((t) => t !== e && ($(t) || E(t))).length
2529
2547
  } : $(e) ? {
2530
2548
  parent: t,
2531
2549
  index: n.filter((t) => t !== e && $(t)).length
2532
2550
  } : { parent: t };
2533
2551
  }
2534
2552
  }]
2535
- }, En = 12, Dn = class {
2553
+ }, Dn = 12, On = class {
2536
2554
  canvas;
2537
2555
  eventBus;
2538
2556
  modeling;
@@ -2609,12 +2627,12 @@ var Tn = {
2609
2627
  if (e.button !== 0 || this.isChromeTarget(e)) return;
2610
2628
  e.preventDefault(), e.stopPropagation();
2611
2629
  let t = this.toCanvasPoint(e), n = this.points[0];
2612
- if (n && this.points.length >= 3 && On(t, n) <= En) {
2630
+ if (n && this.points.length >= 3 && kn(t, n) <= Dn) {
2613
2631
  this.finishClosed();
2614
2632
  return;
2615
2633
  }
2616
2634
  let r = this.points[this.points.length - 1];
2617
- if (r && On(t, r) <= En) {
2635
+ if (r && kn(t, r) <= Dn) {
2618
2636
  this.points.length >= 2 && this.finish();
2619
2637
  return;
2620
2638
  }
@@ -2635,7 +2653,7 @@ var Tn = {
2635
2653
  l(t, u(f("polyline"), {
2636
2654
  points: n.map((e) => `${e.x},${e.y}`).join(" "),
2637
2655
  fill: "none",
2638
- stroke: g.ink,
2656
+ stroke: _.ink,
2639
2657
  "stroke-width": 2,
2640
2658
  "stroke-linecap": "round",
2641
2659
  "stroke-linejoin": "round",
@@ -2646,8 +2664,8 @@ var Tn = {
2646
2664
  cx: r.x,
2647
2665
  cy: r.y,
2648
2666
  r: this.points.length >= 3 ? 5 : 3,
2649
- fill: g.paper,
2650
- stroke: g.ink,
2667
+ fill: _.paper,
2668
+ stroke: _.ink,
2651
2669
  "stroke-width": 1.5
2652
2670
  })), this.points.length >= 2) {
2653
2671
  let e = this.points[this.points.length - 1];
@@ -2655,8 +2673,8 @@ var Tn = {
2655
2673
  cx: e.x,
2656
2674
  cy: e.y,
2657
2675
  r: 5,
2658
- fill: g.paper,
2659
- stroke: g.ink,
2676
+ fill: _.paper,
2677
+ stroke: _.ink,
2660
2678
  "stroke-width": 1.5
2661
2679
  }));
2662
2680
  }
@@ -2666,12 +2684,12 @@ var Tn = {
2666
2684
  this.layer &&= (p(this.layer), null);
2667
2685
  }
2668
2686
  };
2669
- function On(e, t) {
2687
+ function kn(e, t) {
2670
2688
  return Math.hypot(e.x - t.x, e.y - t.y);
2671
2689
  }
2672
2690
  //#endregion
2673
2691
  //#region src/draw-tool/WardleyDrawingHandles.ts
2674
- var kn = class {
2692
+ var An = class {
2675
2693
  eventBus;
2676
2694
  canvas;
2677
2695
  modeling;
@@ -2688,7 +2706,7 @@ var kn = class {
2688
2706
  constructor(e, t, n, r) {
2689
2707
  this.eventBus = e, this.canvas = t, this.modeling = n, this.grid = r, e.on("selection.changed", (e) => {
2690
2708
  let t = e.newSelection ?? [], n = t.length === 1 ? t[0] : null;
2691
- this.attach(y(n) && n.wardleyType === "drawing" ? n : null);
2709
+ this.attach(T(n) && n.wardleyType === "drawing" ? n : null);
2692
2710
  }), e.on("element.changed", (e) => {
2693
2711
  this.shape && e.element === this.shape && this.render();
2694
2712
  }), e.on(["diagram.clear", "diagram.destroy"], () => this.attach(null));
@@ -2711,8 +2729,8 @@ var kn = class {
2711
2729
  cx: e.x,
2712
2730
  cy: e.y,
2713
2731
  r: 5,
2714
- fill: g.paper,
2715
- stroke: g.ink,
2732
+ fill: _.paper,
2733
+ stroke: _.ink,
2716
2734
  "stroke-width": 1.5,
2717
2735
  class: "wardley-drawing-handle"
2718
2736
  });
@@ -2749,7 +2767,7 @@ var kn = class {
2749
2767
  let n = this.canvas.getLayer("wardley-drawing-handles", 1100), r = u(f(t ? "polygon" : "polyline"), {
2750
2768
  points: e.map((e) => `${e.x},${e.y}`).join(" "),
2751
2769
  fill: "none",
2752
- stroke: g.ink,
2770
+ stroke: _.ink,
2753
2771
  "stroke-width": 1.5,
2754
2772
  "stroke-dasharray": "5 4",
2755
2773
  "pointer-events": "none"
@@ -2772,20 +2790,20 @@ var kn = class {
2772
2790
  };
2773
2791
  //#endregion
2774
2792
  //#region src/draw-tool/WardleyDrawingHitProvider.ts
2775
- function An(e) {
2776
- return y(e) && e.wardleyType === "drawing";
2793
+ function jn(e) {
2794
+ return T(e) && e.wardleyType === "drawing";
2777
2795
  }
2778
- var jn = class {
2796
+ var Mn = class {
2779
2797
  static $inject = ["eventBus", "interactionEvents"];
2780
2798
  constructor(e, t) {
2781
2799
  e.on("interactionEvents.createHit", (e) => {
2782
- if (!(!An(e.element) || !e.gfx)) return Mn(e.element, e.gfx), !1;
2800
+ if (!(!jn(e.element) || !e.gfx)) return Nn(e.element, e.gfx), !1;
2783
2801
  }), e.on("interactionEvents.updateHit", (e) => {
2784
- if (!(!An(e.element) || !e.gfx)) return t.removeHits(e.gfx), Mn(e.element, e.gfx), !1;
2802
+ if (!(!jn(e.element) || !e.gfx)) return t.removeHits(e.gfx), Nn(e.element, e.gfx), !1;
2785
2803
  });
2786
2804
  }
2787
2805
  };
2788
- function Mn(e, t) {
2806
+ function Nn(e, t) {
2789
2807
  let n = e.drawingPoints ?? [], r = f(e.closed ? "polygon" : "polyline");
2790
2808
  u(r, {
2791
2809
  points: n.map((e) => `${e.x},${e.y}`).join(" "),
@@ -2798,16 +2816,16 @@ function Mn(e, t) {
2798
2816
  }
2799
2817
  //#endregion
2800
2818
  //#region src/draw-tool/index.ts
2801
- var Nn = {
2819
+ var Pn = {
2802
2820
  __init__: [
2803
2821
  "wardleyDrawTool",
2804
2822
  "wardleyDrawingHandles",
2805
2823
  "wardleyDrawingHitProvider"
2806
2824
  ],
2807
- wardleyDrawTool: ["type", Dn],
2808
- wardleyDrawingHandles: ["type", kn],
2809
- wardleyDrawingHitProvider: ["type", jn]
2810
- }, Pn = class extends Mt {
2825
+ wardleyDrawTool: ["type", On],
2826
+ wardleyDrawingHandles: ["type", An],
2827
+ wardleyDrawingHitProvider: ["type", Mn]
2828
+ }, Fn = class extends Nt {
2811
2829
  _getModules() {
2812
2830
  return [
2813
2831
  ...super._getModules(),
@@ -2821,21 +2839,21 @@ var Nn = {
2821
2839
  pe,
2822
2840
  me,
2823
2841
  he,
2824
- Gt,
2825
- Xt,
2826
- Ge,
2842
+ qt,
2827
2843
  Qt,
2844
+ Be,
2828
2845
  en,
2829
- an,
2830
- cn,
2831
- mn,
2832
- yn,
2833
- rn,
2834
- Sn,
2835
- wn,
2836
- Kt,
2846
+ nn,
2847
+ sn,
2848
+ Z,
2849
+ hn,
2850
+ bn,
2851
+ on,
2852
+ Cn,
2837
2853
  Tn,
2838
- Nn
2854
+ Jt,
2855
+ En,
2856
+ Pn
2839
2857
  ];
2840
2858
  }
2841
2859
  undo() {
@@ -2852,6 +2870,6 @@ var Nn = {
2852
2870
  }
2853
2871
  };
2854
2872
  //#endregion
2855
- export { g as COLORS, Re as EvolutionGrid, ut as ICON_ADD, ct as ICON_ASPECT_RATIO, $e as ICON_CODE, Qe as ICON_DATA_OBJECT, O as ICON_DELETE, et as ICON_DOWNLOAD, D as ICON_EDIT, nt as ICON_FOLDER_OPEN, rt as ICON_IMAGE, lt as ICON_MENU, it as ICON_NEW, E as ICON_PERSON, Ze as ICON_REDO, tt as ICON_SHARE, Xe as ICON_UNDO, dt as ICON_VISIBILITY, Pn as Modeler, Te as NOTE_COLORS, Mt as NavigatedViewer, m as PLOT, q as POPUP_PROVIDER_ID, At as PanConstraint, jt as PanConstraintModule, De as ROOT_ID, Ct as Viewer, xn as WardleyAppendBehavior, ke as WardleyBaseViewer, Cn as WardleyColorPicker, Ae as WardleyElementFactory, nn as WardleyElementSettingsProvider, vn as WardleyEvolveDragging, xt as WardleyExporter, bt as WardleyImporter, sn as WardleyLabelEditing, z as WardleyModeling, N as WardleyRenderer, Yt as WardleyRules, Ge as evolutionConstraintModule, T as evolutionGridModule, M as iconMarkup, St as ioModule, Ne as isComponent, x as isPipeline, b as isWardleyConnection, y as isWardleyShape, cn as labelEditingModule, Ee as saveSVG, Qt as stageSnappingModule, Sn as wardleyAppendModule, wn as wardleyColorPickerModule, an as wardleyContextPadModule, _t as wardleyDrawModule, yn as wardleyEvolveModule, mn as wardleyKeyboardModule, Fe as wardleyModelModule, Gt as wardleyModelingModule, en as wardleyPaletteModule, rn as wardleyPopupModule, Xt as wardleyRulesModule };
2873
+ export { _ as COLORS, Me as EvolutionGrid, st as ICON_ADD, at as ICON_ASPECT_RATIO, Je as ICON_CODE, qe as ICON_DATA_OBJECT, P as ICON_DELETE, Ye as ICON_DOWNLOAD, N as ICON_EDIT, Ze as ICON_FOLDER_OPEN, Qe as ICON_IMAGE, ot as ICON_MENU, $e as ICON_NEW, M as ICON_PERSON, Ke as ICON_REDO, Xe as ICON_SHARE, Ge as ICON_UNDO, ct as ICON_VISIBILITY, m as MIRAGON, Fn as Modeler, Te as NOTE_COLORS, Nt as NavigatedViewer, h as PLOT, K as POPUP_PROVIDER_ID, jt as PanConstraint, Mt as PanConstraintModule, De as ROOT_ID, wt as Viewer, Sn as WardleyAppendBehavior, x as WardleyBaseViewer, wn as WardleyColorPicker, S as WardleyElementFactory, an as WardleyElementSettingsProvider, yn as WardleyEvolveDragging, St as WardleyExporter, xt as WardleyImporter, ln as WardleyLabelEditing, Rt as WardleyModeling, ft as WardleyRenderer, Zt as WardleyRules, Be as evolutionConstraintModule, j as evolutionGridModule, ut as iconMarkup, Ct as ioModule, D as isComponent, O as isPipeline, E as isWardleyConnection, T as isWardleyShape, Z as labelEditingModule, Ee as saveSVG, en as stageSnappingModule, Cn as wardleyAppendModule, Tn as wardleyColorPickerModule, sn as wardleyContextPadModule, vt as wardleyDrawModule, bn as wardleyEvolveModule, hn as wardleyKeyboardModule, ke as wardleyModelModule, qt as wardleyModelingModule, nn as wardleyPaletteModule, on as wardleyPopupModule, Qt as wardleyRulesModule };
2856
2874
 
2857
2875
  //# sourceMappingURL=index.js.map