vue-data-ui 3.8.1 → 3.8.3
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/{PackageVersion-Dc4fCiDF.js → PackageVersion-C8V4NAR4.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/style.css +1 -1
- package/dist/{vue-data-ui-DqfM8Vz8.js → vue-data-ui-D9A7BQhW.js} +56 -56
- package/dist/vue-data-ui.js +57 -57
- package/dist/{vue-ui-3d-bar-CVgWSxvV.js → vue-ui-3d-bar-T2poQw5J.js} +1 -1
- package/dist/{vue-ui-age-pyramid-7CfFjz5B.js → vue-ui-age-pyramid-Bg81jLU-.js} +1 -1
- package/dist/{vue-ui-bullet-CkBYg2ju.js → vue-ui-bullet-Dc9_2igK.js} +1 -1
- package/dist/{vue-ui-candlestick-CoNGZeIc.js → vue-ui-candlestick-MBTM2NMl.js} +1 -1
- package/dist/{vue-ui-carousel-table-DFAWxemP.js → vue-ui-carousel-table-8vsED4Wq.js} +1 -1
- package/dist/{vue-ui-chestnut-CWxFxnja.js → vue-ui-chestnut-BZXP9GIq.js} +1 -1
- package/dist/{vue-ui-chord-p2h6IONa.js → vue-ui-chord-BNXIEwN9.js} +1 -1
- package/dist/{vue-ui-circle-pack-Dei0aswf.js → vue-ui-circle-pack-CoCeCgAp.js} +1 -1
- package/dist/{vue-ui-cursor-oaIVMRWP.js → vue-ui-cursor-CJ3Dk0cm.js} +1 -1
- package/dist/{vue-ui-dag-D0ImsCHg.js → vue-ui-dag-Dx5iUljS.js} +940 -920
- package/dist/{vue-ui-dashboard-DpotsaP2.js → vue-ui-dashboard-4XKLCy93.js} +54 -54
- package/dist/{vue-ui-donut-DsCBPM7k.js → vue-ui-donut-CoG8zI-8.js} +1 -1
- package/dist/{vue-ui-donut-evolution-mSDD8tt9.js → vue-ui-donut-evolution-DMe4W1Q1.js} +1 -1
- package/dist/{vue-ui-dumbbell-CU9Bqy_T.js → vue-ui-dumbbell-w_aw2ieo.js} +1 -1
- package/dist/{vue-ui-flow-BxjQr6zQ.js → vue-ui-flow-Cv9rVhMM.js} +1 -1
- package/dist/{vue-ui-funnel-Cs2_wFOA.js → vue-ui-funnel-EB2hktyr.js} +1 -1
- package/dist/{vue-ui-galaxy-CFbE4FoS.js → vue-ui-galaxy-3wmzP-tW.js} +1 -1
- package/dist/{vue-ui-gauge-6g1fkJjW.js → vue-ui-gauge-CsXxg1Vv.js} +1 -1
- package/dist/{vue-ui-gizmo-BzUlvG3U.js → vue-ui-gizmo-Dslss4KX.js} +1 -1
- package/dist/{vue-ui-heatmap-B9Sc1Qym.js → vue-ui-heatmap-BXTwWTJE.js} +1 -1
- package/dist/{vue-ui-history-plot-CpskzQg2.js → vue-ui-history-plot-ChCZQJ-N.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-DMByg_zj.js → vue-ui-horizontal-bar-cQwDfZmn.js} +1 -1
- package/dist/{vue-ui-molecule-y8AOUQvZ.js → vue-ui-molecule-XKapMUGW.js} +1 -1
- package/dist/{vue-ui-mood-radar--XevYXsy.js → vue-ui-mood-radar-D7Aqu1nJ.js} +1 -1
- package/dist/{vue-ui-nested-donuts-A-J72aa_.js → vue-ui-nested-donuts-Cs-eiA--.js} +1 -1
- package/dist/{vue-ui-onion-CZH1uzU_.js → vue-ui-onion-tu3ZEuXB.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-px6mudIa.js → vue-ui-parallel-coordinate-plot-CmNq-rJX.js} +1 -1
- package/dist/{vue-ui-quadrant-Cnh6vISS.js → vue-ui-quadrant-Dv-6oPYq.js} +1 -1
- package/dist/{vue-ui-quick-chart-CA1Yns69.js → vue-ui-quick-chart-CqBEE-YA.js} +1 -1
- package/dist/{vue-ui-radar-CwL0pqRH.js → vue-ui-radar-BNhzFURc.js} +1 -1
- package/dist/{vue-ui-relation-circle-B-sm1VFO.js → vue-ui-relation-circle-Z8i-RR0i.js} +1 -1
- package/dist/{vue-ui-ridgeline-DC2uKfbu.js → vue-ui-ridgeline-l6Xx3jn0.js} +1 -1
- package/dist/{vue-ui-rings-CKOzGb8B.js → vue-ui-rings-BRcNv-ei.js} +1 -1
- package/dist/{vue-ui-scatter-C1ajpkcR.js → vue-ui-scatter-Dk2qhJtm.js} +1 -1
- package/dist/{vue-ui-skeleton-D6MjtTX_.js → vue-ui-skeleton-CqWtSpp9.js} +1 -1
- package/dist/{vue-ui-spark-trend-BsVhD00l.js → vue-ui-spark-trend-a2qK1MY1.js} +1 -1
- package/dist/{vue-ui-sparkbar-Drazbrah.js → vue-ui-sparkbar-JGI9eOfS.js} +1 -1
- package/dist/{vue-ui-sparkgauge-CRbo19gz.js → vue-ui-sparkgauge-BeSdViZo.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-C41IySqq.js → vue-ui-sparkhistogram-CWFeGs-k.js} +1 -1
- package/dist/{vue-ui-sparkline-DhMJlZAj.js → vue-ui-sparkline-n1ZYLiG9.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-DfyfDxF-.js → vue-ui-sparkstackbar-ueFrYh65.js} +1 -1
- package/dist/{vue-ui-stackbar-DnDjTmzg.js → vue-ui-stackbar-B8YeQsru.js} +1 -1
- package/dist/{vue-ui-stackline-DYVq55D8.js → vue-ui-stackline-CHEKZZVr.js} +1 -1
- package/dist/{vue-ui-strip-plot-DDEm7mMm.js → vue-ui-strip-plot-DdiVa06h.js} +1 -1
- package/dist/{vue-ui-table-RCYr7_oK.js → vue-ui-table-cj1I--kU.js} +2 -2
- package/dist/{vue-ui-table-sparkline-cheUhGm3.js → vue-ui-table-sparkline-BL4kE9rz.js} +1 -1
- package/dist/{vue-ui-thermometer-BheFELBN.js → vue-ui-thermometer-DwCL1CXe.js} +1 -1
- package/dist/{vue-ui-timer-DUaqMYu9.js → vue-ui-timer-C3f6kBOP.js} +1 -1
- package/dist/{vue-ui-tiremarks-CzEPq7Qm.js → vue-ui-tiremarks-cJDOMLRT.js} +1 -1
- package/dist/{vue-ui-treemap-JmxDMTGO.js → vue-ui-treemap-DwEAnLMk.js} +1 -1
- package/dist/{vue-ui-waffle-Bd_MQwxV.js → vue-ui-waffle-2pywAYQD.js} +1 -1
- package/dist/{vue-ui-wheel-BfR7YioI.js → vue-ui-wheel-B3Ej8kWP.js} +1 -1
- package/dist/{vue-ui-word-cloud-CI2APc9f.js → vue-ui-word-cloud-CzExwlyQ.js} +1 -1
- package/dist/{vue-ui-world-3Oy8hJ6R.js → vue-ui-world-Cq36qyqc.js} +1 -1
- package/dist/{vue-ui-xy-BWzZbqJo.js → vue-ui-xy-K_z37RNu.js} +1 -1
- package/package.json +1 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { c as
|
|
3
|
-
import { t as
|
|
4
|
-
import { u as
|
|
5
|
-
import { u as
|
|
6
|
-
import { u as
|
|
7
|
-
import { u as
|
|
8
|
-
import { u as
|
|
9
|
-
import { u as
|
|
10
|
-
import { u as
|
|
11
|
-
import { u as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import { _ as
|
|
15
|
-
import
|
|
16
|
-
const
|
|
17
|
-
class
|
|
1
|
+
import { ref as k, watchEffect as Qo, unref as v, createElementBlock as _, openBlock as y, normalizeStyle as q, normalizeClass as it, createElementVNode as G, createCommentVNode as S, createVNode as ce, toDisplayString as ae, defineAsyncComponent as qe, toRefs as en, computed as W, onMounted as Vt, nextTick as De, watch as Fe, onBeforeUnmount as tn, createBlock as X, withCtx as M, renderSlot as A, normalizeProps as B, guardReactiveProps as V, createSlots as on, Fragment as le, renderList as Pe, withModifiers as nn, mergeProps as Ke, createTextVNode as sn, Transition as It, Teleport as Gt } from "vue";
|
|
2
|
+
import { c as lt, ay as rn, l as xe, n as ln, r as an, h as cn, t as ro, o as un, g as jt, X as dn, a8 as fn } from "./lib-qMPkcvmh.js";
|
|
3
|
+
import { t as hn, u as mn } from "./useResponsive-DfdjqQps.js";
|
|
4
|
+
import { u as gn } from "./usePanZoom-DMfuOfaC.js";
|
|
5
|
+
import { u as vn, a as Je } from "./useNestedProp-DH2Pjkde.js";
|
|
6
|
+
import { u as bn, B as pn } from "./BaseScanner-BgWxam9d.js";
|
|
7
|
+
import { u as wn } from "./usePrinter-CjGh4mFJ.js";
|
|
8
|
+
import { u as yn } from "./useSvgExport-DrjCWun4.js";
|
|
9
|
+
import { u as kn } from "./useThemeCheck-DGJ31Vi5.js";
|
|
10
|
+
import { u as En } from "./useUserOptionState-BIvW1Kz7.js";
|
|
11
|
+
import { u as Cn } from "./useChartAccessibility-9icAAmYg.js";
|
|
12
|
+
import xn from "./Title-CWX8otQg.js";
|
|
13
|
+
import Qe from "./BaseIcon-CALhpING.js";
|
|
14
|
+
import { _ as io } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
15
|
+
import _n from "./img-CwrkWkkl.js";
|
|
16
|
+
const Nn = "\0", oe = "\0", Wt = "";
|
|
17
|
+
class K {
|
|
18
18
|
_isDirected = !0;
|
|
19
19
|
_isMultigraph = !1;
|
|
20
20
|
_isCompound = !1;
|
|
@@ -47,7 +47,7 @@ class q {
|
|
|
47
47
|
_parent;
|
|
48
48
|
_children;
|
|
49
49
|
constructor(t) {
|
|
50
|
-
t && (this._isDirected = Object.hasOwn(t, "directed") ? t.directed : !0, this._isMultigraph = Object.hasOwn(t, "multigraph") ? t.multigraph : !1, this._isCompound = Object.hasOwn(t, "compound") ? t.compound : !1), this._isCompound && (this._parent = {}, this._children = {}, this._children[
|
|
50
|
+
t && (this._isDirected = Object.hasOwn(t, "directed") ? t.directed : !0, this._isMultigraph = Object.hasOwn(t, "multigraph") ? t.multigraph : !1, this._isCompound = Object.hasOwn(t, "compound") ? t.compound : !1), this._isCompound && (this._parent = {}, this._children = {}, this._children[oe] = {});
|
|
51
51
|
}
|
|
52
52
|
/* === Graph functions ========= */
|
|
53
53
|
/**
|
|
@@ -128,8 +128,8 @@ class q {
|
|
|
128
128
|
*/
|
|
129
129
|
setNodes(t, o) {
|
|
130
130
|
const n = arguments, s = this;
|
|
131
|
-
return t.forEach((
|
|
132
|
-
n.length > 1 ? s.setNode(
|
|
131
|
+
return t.forEach((i) => {
|
|
132
|
+
n.length > 1 ? s.setNode(i, o) : s.setNode(i);
|
|
133
133
|
}), this;
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
@@ -139,7 +139,7 @@ class q {
|
|
|
139
139
|
* Complexity: O(1).
|
|
140
140
|
*/
|
|
141
141
|
setNode(t, o) {
|
|
142
|
-
return Object.hasOwn(this._nodes, t) ? (arguments.length > 1 && (this._nodes[t] = o), this) : (this._nodes[t] = arguments.length > 1 ? o : this._defaultNodeLabelFn(t), this._isCompound && (this._parent[t] =
|
|
142
|
+
return Object.hasOwn(this._nodes, t) ? (arguments.length > 1 && (this._nodes[t] = o), this) : (this._nodes[t] = arguments.length > 1 ? o : this._defaultNodeLabelFn(t), this._isCompound && (this._parent[t] = oe, this._children[t] = {}, this._children[oe][t] = !0), this._in[t] = {}, this._preds[t] = {}, this._out[t] = {}, this._sucs[t] = {}, ++this._nodeCount, this);
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
145
|
* Gets the label of node with specified name.
|
|
@@ -180,7 +180,7 @@ class q {
|
|
|
180
180
|
if (!this._isCompound)
|
|
181
181
|
throw new Error("Cannot set parent in a non-compound graph");
|
|
182
182
|
if (o === void 0)
|
|
183
|
-
o =
|
|
183
|
+
o = oe;
|
|
184
184
|
else {
|
|
185
185
|
o += "";
|
|
186
186
|
for (let n = o; n !== void 0; n = this.parent(n))
|
|
@@ -202,7 +202,7 @@ class q {
|
|
|
202
202
|
parent(t) {
|
|
203
203
|
if (this._isCompound) {
|
|
204
204
|
const o = this._parent[t];
|
|
205
|
-
if (o !==
|
|
205
|
+
if (o !== oe)
|
|
206
206
|
return o;
|
|
207
207
|
}
|
|
208
208
|
}
|
|
@@ -210,13 +210,13 @@ class q {
|
|
|
210
210
|
* Gets list of direct children of node nodeId.
|
|
211
211
|
* Complexity: O(1).
|
|
212
212
|
*/
|
|
213
|
-
children(t =
|
|
213
|
+
children(t = oe) {
|
|
214
214
|
if (this._isCompound) {
|
|
215
215
|
const o = this._children[t];
|
|
216
216
|
if (o)
|
|
217
217
|
return Object.keys(o);
|
|
218
218
|
} else {
|
|
219
|
-
if (t ===
|
|
219
|
+
if (t === oe)
|
|
220
220
|
return this.nodes();
|
|
221
221
|
if (this.hasNode(t))
|
|
222
222
|
return [];
|
|
@@ -274,17 +274,17 @@ class q {
|
|
|
274
274
|
});
|
|
275
275
|
o.setGraph(this.graph());
|
|
276
276
|
const n = this;
|
|
277
|
-
Object.entries(this._nodes).forEach(([
|
|
278
|
-
t(
|
|
279
|
-
}), Object.values(this._edgeObjs).forEach((
|
|
280
|
-
o.hasNode(
|
|
277
|
+
Object.entries(this._nodes).forEach(([r, l]) => {
|
|
278
|
+
t(r) && o.setNode(r, l);
|
|
279
|
+
}), Object.values(this._edgeObjs).forEach((r) => {
|
|
280
|
+
o.hasNode(r.v) && o.hasNode(r.w) && o.setEdge(r, n.edge(r));
|
|
281
281
|
});
|
|
282
282
|
const s = {};
|
|
283
|
-
function r
|
|
284
|
-
const l = n.parent(
|
|
285
|
-
return l === void 0 || o.hasNode(l) ? (s[
|
|
283
|
+
function i(r) {
|
|
284
|
+
const l = n.parent(r);
|
|
285
|
+
return l === void 0 || o.hasNode(l) ? (s[r] = l, l) : l in s ? s[l] : i(l);
|
|
286
286
|
}
|
|
287
|
-
return this._isCompound && o.nodes().forEach((
|
|
287
|
+
return this._isCompound && o.nodes().forEach((r) => o.setParent(r, i(r))), o;
|
|
288
288
|
}
|
|
289
289
|
/* === Edge functions ========== */
|
|
290
290
|
/**
|
|
@@ -319,7 +319,7 @@ class q {
|
|
|
319
319
|
*/
|
|
320
320
|
setPath(t, o) {
|
|
321
321
|
const n = this, s = arguments;
|
|
322
|
-
return t.reduce((
|
|
322
|
+
return t.reduce((i, r) => (s.length > 1 ? n.setEdge(i, r, o) : n.setEdge(i, r), r)), this;
|
|
323
323
|
}
|
|
324
324
|
/**
|
|
325
325
|
* Creates or updates the label for the edge (v, w) with the optionally supplied
|
|
@@ -328,16 +328,16 @@ class q {
|
|
|
328
328
|
* be assigned. The name parameter is only useful with multigraphs.
|
|
329
329
|
*/
|
|
330
330
|
setEdge() {
|
|
331
|
-
let t, o, n, s,
|
|
332
|
-
const
|
|
333
|
-
typeof
|
|
334
|
-
let l =
|
|
331
|
+
let t, o, n, s, i = !1;
|
|
332
|
+
const r = arguments[0];
|
|
333
|
+
typeof r == "object" && r !== null && "v" in r ? (t = r.v, o = r.w, n = r.name, arguments.length === 2 && (s = arguments[1], i = !0)) : (t = r, o = arguments[1], n = arguments[3], arguments.length > 2 && (s = arguments[2], i = !0)), t = "" + t, o = "" + o, n !== void 0 && (n = "" + n);
|
|
334
|
+
let l = Ce(this._isDirected, t, o, n);
|
|
335
335
|
if (Object.hasOwn(this._edgeLabels, l))
|
|
336
|
-
return
|
|
336
|
+
return i && (this._edgeLabels[l] = s), this;
|
|
337
337
|
if (n !== void 0 && !this._isMultigraph)
|
|
338
338
|
throw new Error("Cannot set a named edge when isMultigraph = false");
|
|
339
|
-
this.setNode(t), this.setNode(o), this._edgeLabels[l] =
|
|
340
|
-
const a =
|
|
339
|
+
this.setNode(t), this.setNode(o), this._edgeLabels[l] = i ? s : this._defaultEdgeLabelFn(t, o, n);
|
|
340
|
+
const a = An(this._isDirected, t, o, n);
|
|
341
341
|
return t = a.v, o = a.w, Object.freeze(a), this._edgeObjs[l] = a, Yt(this._preds[o], t), Yt(this._sucs[t], o), this._in[o][l] = a, this._out[t][l] = a, this._edgeCount++, this;
|
|
342
342
|
}
|
|
343
343
|
/**
|
|
@@ -345,7 +345,7 @@ class q {
|
|
|
345
345
|
* Complexity: O(1).
|
|
346
346
|
*/
|
|
347
347
|
edge(t, o, n) {
|
|
348
|
-
const s = arguments.length === 1 ?
|
|
348
|
+
const s = arguments.length === 1 ? et(this._isDirected, arguments[0]) : Ce(this._isDirected, t, o, n);
|
|
349
349
|
return this._edgeLabels[s];
|
|
350
350
|
}
|
|
351
351
|
/**
|
|
@@ -361,7 +361,7 @@ class q {
|
|
|
361
361
|
* Complexity: O(1).
|
|
362
362
|
*/
|
|
363
363
|
hasEdge(t, o, n) {
|
|
364
|
-
const s = arguments.length === 1 ?
|
|
364
|
+
const s = arguments.length === 1 ? et(this._isDirected, arguments[0]) : Ce(this._isDirected, t, o, n);
|
|
365
365
|
return Object.hasOwn(this._edgeLabels, s);
|
|
366
366
|
}
|
|
367
367
|
/**
|
|
@@ -369,8 +369,8 @@ class q {
|
|
|
369
369
|
* Complexity: O(1).
|
|
370
370
|
*/
|
|
371
371
|
removeEdge(t, o, n) {
|
|
372
|
-
const s = arguments.length === 1 ?
|
|
373
|
-
return
|
|
372
|
+
const s = arguments.length === 1 ? et(this._isDirected, arguments[0]) : Ce(this._isDirected, t, o, n), i = this._edgeObjs[s];
|
|
373
|
+
return i && (t = i.v, o = i.w, delete this._edgeLabels[s], delete this._edgeObjs[s], Ht(this._preds[o], t), Ht(this._sucs[t], o), delete this._in[o][s], delete this._out[t][s], this._edgeCount--), this;
|
|
374
374
|
}
|
|
375
375
|
/**
|
|
376
376
|
* Return all edges that point to the node v. Optionally filters those edges down to just those
|
|
@@ -381,7 +381,7 @@ class q {
|
|
|
381
381
|
const n = this._in[t];
|
|
382
382
|
if (n) {
|
|
383
383
|
const s = Object.values(n);
|
|
384
|
-
return o ? s.filter((
|
|
384
|
+
return o ? s.filter((i) => i.v === o) : s;
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
/**
|
|
@@ -393,7 +393,7 @@ class q {
|
|
|
393
393
|
const n = this._out[t];
|
|
394
394
|
if (n) {
|
|
395
395
|
const s = Object.values(n);
|
|
396
|
-
return o ? s.filter((
|
|
396
|
+
return o ? s.filter((i) => i.w === o) : s;
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
399
|
/**
|
|
@@ -413,27 +413,27 @@ function Yt(e, t) {
|
|
|
413
413
|
function Ht(e, t) {
|
|
414
414
|
--e[t] || delete e[t];
|
|
415
415
|
}
|
|
416
|
-
function
|
|
417
|
-
let s = "" + t,
|
|
418
|
-
if (!e && s >
|
|
419
|
-
const
|
|
420
|
-
s =
|
|
416
|
+
function Ce(e, t, o, n) {
|
|
417
|
+
let s = "" + t, i = "" + o;
|
|
418
|
+
if (!e && s > i) {
|
|
419
|
+
const r = s;
|
|
420
|
+
s = i, i = r;
|
|
421
421
|
}
|
|
422
|
-
return s + Wt +
|
|
422
|
+
return s + Wt + i + Wt + (n === void 0 ? Nn : n);
|
|
423
423
|
}
|
|
424
|
-
function
|
|
425
|
-
let s = "" + t,
|
|
426
|
-
if (!e && s >
|
|
424
|
+
function An(e, t, o, n) {
|
|
425
|
+
let s = "" + t, i = "" + o;
|
|
426
|
+
if (!e && s > i) {
|
|
427
427
|
const l = s;
|
|
428
|
-
s =
|
|
428
|
+
s = i, i = l;
|
|
429
429
|
}
|
|
430
|
-
const
|
|
431
|
-
return n && (
|
|
430
|
+
const r = { v: s, w: i };
|
|
431
|
+
return n && (r.name = n), r;
|
|
432
432
|
}
|
|
433
|
-
function
|
|
434
|
-
return
|
|
433
|
+
function et(e, t) {
|
|
434
|
+
return Ce(e, t.v, t.w, t.name);
|
|
435
435
|
}
|
|
436
|
-
class
|
|
436
|
+
class Sn {
|
|
437
437
|
constructor() {
|
|
438
438
|
const t = {};
|
|
439
439
|
t._next = t._prev = t, this._sentinel = t;
|
|
@@ -451,55 +451,55 @@ class An {
|
|
|
451
451
|
const t = [], o = this._sentinel;
|
|
452
452
|
let n = o._prev;
|
|
453
453
|
for (; n !== o; )
|
|
454
|
-
t.push(JSON.stringify(n,
|
|
454
|
+
t.push(JSON.stringify(n, Ln)), n = n._prev;
|
|
455
455
|
return "[" + t.join(", ") + "]";
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
function Zt(e) {
|
|
459
459
|
e._prev._next = e._next, e._next._prev = e._prev, delete e._next, delete e._prev;
|
|
460
460
|
}
|
|
461
|
-
function
|
|
461
|
+
function Ln(e, t) {
|
|
462
462
|
if (e !== "_next" && e !== "_prev")
|
|
463
463
|
return t;
|
|
464
464
|
}
|
|
465
|
-
const
|
|
466
|
-
function
|
|
465
|
+
const On = () => 1;
|
|
466
|
+
function Tn(e, t) {
|
|
467
467
|
if (e.nodeCount() <= 1)
|
|
468
468
|
return [];
|
|
469
|
-
const o =
|
|
469
|
+
const o = Mn(e, t || On);
|
|
470
470
|
return Rn(o.graph, o.buckets, o.zeroIndex).flatMap((s) => e.outEdges(s.v, s.w));
|
|
471
471
|
}
|
|
472
472
|
function Rn(e, t, o) {
|
|
473
473
|
let n = [];
|
|
474
|
-
const s = t[t.length - 1],
|
|
475
|
-
let
|
|
474
|
+
const s = t[t.length - 1], i = t[0];
|
|
475
|
+
let r;
|
|
476
476
|
for (; e.nodeCount(); ) {
|
|
477
|
-
for (;
|
|
478
|
-
|
|
479
|
-
for (;
|
|
480
|
-
|
|
477
|
+
for (; r = i.dequeue(); )
|
|
478
|
+
tt(e, t, o, r);
|
|
479
|
+
for (; r = s.dequeue(); )
|
|
480
|
+
tt(e, t, o, r);
|
|
481
481
|
if (e.nodeCount()) {
|
|
482
482
|
for (let l = t.length - 2; l > 0; --l)
|
|
483
|
-
if (
|
|
484
|
-
n = n.concat(
|
|
483
|
+
if (r = t[l].dequeue(), r) {
|
|
484
|
+
n = n.concat(tt(e, t, o, r, !0));
|
|
485
485
|
break;
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
}
|
|
489
489
|
return n;
|
|
490
490
|
}
|
|
491
|
-
function
|
|
492
|
-
const
|
|
493
|
-
return e.inEdges(n.v).forEach((
|
|
494
|
-
const l = e.edge(
|
|
495
|
-
s &&
|
|
496
|
-
}), e.outEdges(n.v).forEach((
|
|
497
|
-
const l = e.edge(
|
|
498
|
-
a.in -= l,
|
|
499
|
-
}), e.removeNode(n.v),
|
|
500
|
-
}
|
|
501
|
-
function
|
|
502
|
-
const o = new
|
|
491
|
+
function tt(e, t, o, n, s) {
|
|
492
|
+
const i = s ? [] : void 0;
|
|
493
|
+
return e.inEdges(n.v).forEach((r) => {
|
|
494
|
+
const l = e.edge(r), a = e.node(r.v);
|
|
495
|
+
s && i.push({ v: r.v, w: r.w }), a.out -= l, at(t, o, a);
|
|
496
|
+
}), e.outEdges(n.v).forEach((r) => {
|
|
497
|
+
const l = e.edge(r), a = e.node(r.w);
|
|
498
|
+
a.in -= l, at(t, o, a);
|
|
499
|
+
}), e.removeNode(n.v), i;
|
|
500
|
+
}
|
|
501
|
+
function Mn(e, t) {
|
|
502
|
+
const o = new K();
|
|
503
503
|
let n = 0, s = 0;
|
|
504
504
|
e.nodes().forEach((l) => {
|
|
505
505
|
o.setNode(l, { v: l, in: 0, out: 0 });
|
|
@@ -507,32 +507,32 @@ function Tn(e, t) {
|
|
|
507
507
|
const a = o.edge(l.v, l.w) || 0, c = t(l), d = a + c;
|
|
508
508
|
o.setEdge(l.v, l.w, d), s = Math.max(s, o.node(l.v).out += c), n = Math.max(n, o.node(l.w).in += c);
|
|
509
509
|
});
|
|
510
|
-
const
|
|
510
|
+
const i = $n(s + n + 3).map(() => new Sn()), r = n + 1;
|
|
511
511
|
return o.nodes().forEach((l) => {
|
|
512
|
-
|
|
512
|
+
at(i, r, o.node(l));
|
|
513
513
|
}), {
|
|
514
514
|
graph: o,
|
|
515
|
-
buckets:
|
|
516
|
-
zeroIndex:
|
|
515
|
+
buckets: i,
|
|
516
|
+
zeroIndex: r
|
|
517
517
|
};
|
|
518
518
|
}
|
|
519
|
-
function
|
|
519
|
+
function at(e, t, o) {
|
|
520
520
|
o.out ? o.in ? e[o.out - o.in + t].enqueue(o) : e[e.length - 1].enqueue(o) : e[0].enqueue(o);
|
|
521
521
|
}
|
|
522
|
-
function
|
|
522
|
+
function $n(e) {
|
|
523
523
|
const t = [];
|
|
524
524
|
for (let o = 0; o < e; o++)
|
|
525
525
|
t.push(o);
|
|
526
526
|
return t;
|
|
527
527
|
}
|
|
528
|
-
function
|
|
528
|
+
function de(e, t, o, n) {
|
|
529
529
|
let s = n;
|
|
530
530
|
for (; e.hasNode(s); )
|
|
531
|
-
s =
|
|
531
|
+
s = Be(n);
|
|
532
532
|
return o.dummy = t, e.setNode(s, o), s;
|
|
533
533
|
}
|
|
534
|
-
function
|
|
535
|
-
const t = new
|
|
534
|
+
function lo(e) {
|
|
535
|
+
const t = new K().setGraph(e.graph());
|
|
536
536
|
return e.nodes().forEach((o) => {
|
|
537
537
|
t.setNode(o, e.node(o));
|
|
538
538
|
}), e.edges().forEach((o) => {
|
|
@@ -543,49 +543,49 @@ function io(e) {
|
|
|
543
543
|
});
|
|
544
544
|
}), t;
|
|
545
545
|
}
|
|
546
|
-
function
|
|
547
|
-
const t = new
|
|
546
|
+
function ut(e) {
|
|
547
|
+
const t = new K({ multigraph: e.isMultigraph() }).setGraph(e.graph());
|
|
548
548
|
return e.nodes().forEach((o) => {
|
|
549
549
|
e.children(o).length || t.setNode(o, e.node(o));
|
|
550
550
|
}), e.edges().forEach((o) => {
|
|
551
551
|
t.setEdge(o, e.edge(o));
|
|
552
552
|
}), t;
|
|
553
553
|
}
|
|
554
|
-
function
|
|
554
|
+
function Dn(e) {
|
|
555
555
|
const t = e.nodes().map((o) => {
|
|
556
556
|
const n = {};
|
|
557
557
|
return e.outEdges(o).forEach((s) => {
|
|
558
558
|
n[s.w] = (n[s.w] || 0) + e.edge(s).weight;
|
|
559
559
|
}), n;
|
|
560
560
|
});
|
|
561
|
-
return
|
|
561
|
+
return Ve(e.nodes(), t);
|
|
562
562
|
}
|
|
563
|
-
function
|
|
563
|
+
function Fn(e) {
|
|
564
564
|
const t = e.nodes().map((o) => {
|
|
565
565
|
const n = {};
|
|
566
566
|
return e.inEdges(o).forEach((s) => {
|
|
567
567
|
n[s.v] = (n[s.v] || 0) + e.edge(s).weight;
|
|
568
568
|
}), n;
|
|
569
569
|
});
|
|
570
|
-
return
|
|
570
|
+
return Ve(e.nodes(), t);
|
|
571
571
|
}
|
|
572
|
-
function
|
|
572
|
+
function ct(e, t) {
|
|
573
573
|
let o = e.x, n = e.y;
|
|
574
|
-
const s = t.x - o,
|
|
575
|
-
let
|
|
576
|
-
if (!s && !
|
|
574
|
+
const s = t.x - o, i = t.y - n;
|
|
575
|
+
let r = e.width / 2, l = e.height / 2;
|
|
576
|
+
if (!s && !i)
|
|
577
577
|
throw new Error("Not possible to find intersection inside of the rectangle");
|
|
578
578
|
let a, c;
|
|
579
|
-
return Math.abs(
|
|
579
|
+
return Math.abs(i) * r > Math.abs(s) * l ? (i < 0 && (l = -l), a = l * s / i, c = l) : (s < 0 && (r = -r), a = r, c = r * i / s), { x: o + a, y: n + c };
|
|
580
580
|
}
|
|
581
|
-
function
|
|
582
|
-
const t =
|
|
581
|
+
function Ne(e) {
|
|
582
|
+
const t = ue(dt(e) + 1).map(() => []);
|
|
583
583
|
return e.nodes().forEach((o) => {
|
|
584
584
|
const n = e.node(o), s = n.rank;
|
|
585
585
|
s !== void 0 && (t[s][n.order] = o);
|
|
586
586
|
}), t;
|
|
587
587
|
}
|
|
588
|
-
function
|
|
588
|
+
function ao(e) {
|
|
589
589
|
const t = e.nodes().map((n) => {
|
|
590
590
|
const s = e.node(n).rank;
|
|
591
591
|
return s === void 0 ? Number.MAX_VALUE : s;
|
|
@@ -595,29 +595,29 @@ function lo(e) {
|
|
|
595
595
|
Object.hasOwn(s, "rank") && (s.rank -= o);
|
|
596
596
|
});
|
|
597
597
|
}
|
|
598
|
-
function
|
|
599
|
-
const t = e.nodes().map((
|
|
600
|
-
e.nodes().forEach((
|
|
601
|
-
const l = e.node(
|
|
602
|
-
n[l] || (n[l] = []), n[l].push(
|
|
598
|
+
function co(e) {
|
|
599
|
+
const t = e.nodes().map((r) => e.node(r).rank).filter((r) => r !== void 0), o = j(Math.min, t), n = [];
|
|
600
|
+
e.nodes().forEach((r) => {
|
|
601
|
+
const l = e.node(r).rank - o;
|
|
602
|
+
n[l] || (n[l] = []), n[l].push(r);
|
|
603
603
|
});
|
|
604
604
|
let s = 0;
|
|
605
|
-
const
|
|
606
|
-
Array.from(n).forEach((
|
|
607
|
-
|
|
605
|
+
const i = e.graph().nodeRankFactor;
|
|
606
|
+
Array.from(n).forEach((r, l) => {
|
|
607
|
+
r === void 0 && l % i !== 0 ? --s : r !== void 0 && s && r.forEach((a) => {
|
|
608
608
|
e.node(a).rank += s;
|
|
609
609
|
});
|
|
610
610
|
});
|
|
611
611
|
}
|
|
612
|
-
function
|
|
612
|
+
function Pn(e, t, o, n) {
|
|
613
613
|
const s = {
|
|
614
614
|
width: 0,
|
|
615
615
|
height: 0
|
|
616
616
|
};
|
|
617
|
-
return arguments.length >= 4 && (s.rank = o, s.order = n),
|
|
617
|
+
return arguments.length >= 4 && (s.rank = o, s.order = n), de(e, "border", s, t);
|
|
618
618
|
}
|
|
619
|
-
const
|
|
620
|
-
function
|
|
619
|
+
const uo = 65535;
|
|
620
|
+
function zn(e, t = uo) {
|
|
621
621
|
const o = [];
|
|
622
622
|
for (let n = 0; n < e.length; n += t) {
|
|
623
623
|
const s = e.slice(n, n + t);
|
|
@@ -626,8 +626,8 @@ function Pn(e, t = co) {
|
|
|
626
626
|
return o;
|
|
627
627
|
}
|
|
628
628
|
function j(e, t) {
|
|
629
|
-
if (t.length >
|
|
630
|
-
const o =
|
|
629
|
+
if (t.length > uo) {
|
|
630
|
+
const o = zn(t);
|
|
631
631
|
return e.apply(
|
|
632
632
|
null,
|
|
633
633
|
o.map((n) => e.apply(null, n))
|
|
@@ -635,20 +635,20 @@ function j(e, t) {
|
|
|
635
635
|
} else
|
|
636
636
|
return e.apply(null, t);
|
|
637
637
|
}
|
|
638
|
-
function
|
|
638
|
+
function dt(e) {
|
|
639
639
|
const o = e.nodes().map((n) => {
|
|
640
640
|
const s = e.node(n).rank;
|
|
641
641
|
return s === void 0 ? Number.MIN_VALUE : s;
|
|
642
642
|
});
|
|
643
643
|
return j(Math.max, o);
|
|
644
644
|
}
|
|
645
|
-
function
|
|
645
|
+
function fo(e, t) {
|
|
646
646
|
const o = { lhs: [], rhs: [] };
|
|
647
647
|
return e.forEach((n) => {
|
|
648
648
|
t(n) ? o.lhs.push(n) : o.rhs.push(n);
|
|
649
649
|
}), o;
|
|
650
650
|
}
|
|
651
|
-
function
|
|
651
|
+
function ho(e, t) {
|
|
652
652
|
const o = Date.now();
|
|
653
653
|
try {
|
|
654
654
|
return t();
|
|
@@ -656,72 +656,72 @@ function fo(e, t) {
|
|
|
656
656
|
console.log(e + " time: " + (Date.now() - o) + "ms");
|
|
657
657
|
}
|
|
658
658
|
}
|
|
659
|
-
function
|
|
659
|
+
function mo(e, t) {
|
|
660
660
|
return t();
|
|
661
661
|
}
|
|
662
|
-
let
|
|
663
|
-
function
|
|
664
|
-
const t = ++
|
|
662
|
+
let Bn = 0;
|
|
663
|
+
function Be(e) {
|
|
664
|
+
const t = ++Bn;
|
|
665
665
|
return e + String(t);
|
|
666
666
|
}
|
|
667
|
-
function
|
|
667
|
+
function ue(e, t, o = 1) {
|
|
668
668
|
t == null && (t = e, e = 0);
|
|
669
|
-
let n = (
|
|
670
|
-
o < 0 && (n = (
|
|
669
|
+
let n = (i) => i < t;
|
|
670
|
+
o < 0 && (n = (i) => t < i);
|
|
671
671
|
const s = [];
|
|
672
|
-
for (let
|
|
673
|
-
s.push(
|
|
672
|
+
for (let i = e; n(i); i += o)
|
|
673
|
+
s.push(i);
|
|
674
674
|
return s;
|
|
675
675
|
}
|
|
676
|
-
function
|
|
676
|
+
function _e(e, t) {
|
|
677
677
|
const o = {};
|
|
678
678
|
for (const n of t)
|
|
679
679
|
e[n] !== void 0 && (o[n] = e[n]);
|
|
680
680
|
return o;
|
|
681
681
|
}
|
|
682
|
-
function
|
|
682
|
+
function Ae(e, t) {
|
|
683
683
|
let o = t;
|
|
684
684
|
if (typeof t == "string") {
|
|
685
685
|
const n = t;
|
|
686
686
|
o = (s) => s[n];
|
|
687
687
|
}
|
|
688
|
-
return Object.entries(e).reduce((n, [s,
|
|
688
|
+
return Object.entries(e).reduce((n, [s, i]) => (n[s] = o(i, s), n), {});
|
|
689
689
|
}
|
|
690
|
-
function
|
|
690
|
+
function Ve(e, t) {
|
|
691
691
|
return e.reduce((o, n, s) => (o[n] = t[s], o), {});
|
|
692
692
|
}
|
|
693
|
-
const
|
|
694
|
-
addBorderNode:
|
|
695
|
-
addDummyNode:
|
|
693
|
+
const ze = {
|
|
694
|
+
addBorderNode: Pn,
|
|
695
|
+
addDummyNode: de,
|
|
696
696
|
applyWithChunking: j,
|
|
697
|
-
asNonCompoundGraph:
|
|
698
|
-
buildLayerMatrix:
|
|
699
|
-
intersectRect:
|
|
700
|
-
mapValues:
|
|
701
|
-
maxRank:
|
|
702
|
-
normalizeRanks:
|
|
703
|
-
notime:
|
|
704
|
-
partition:
|
|
705
|
-
pick:
|
|
706
|
-
predecessorWeights:
|
|
707
|
-
range:
|
|
708
|
-
removeEmptyRanks:
|
|
709
|
-
simplify:
|
|
710
|
-
successorWeights:
|
|
711
|
-
time:
|
|
712
|
-
uniqueId:
|
|
713
|
-
zipObject:
|
|
697
|
+
asNonCompoundGraph: ut,
|
|
698
|
+
buildLayerMatrix: Ne,
|
|
699
|
+
intersectRect: ct,
|
|
700
|
+
mapValues: Ae,
|
|
701
|
+
maxRank: dt,
|
|
702
|
+
normalizeRanks: ao,
|
|
703
|
+
notime: mo,
|
|
704
|
+
partition: fo,
|
|
705
|
+
pick: _e,
|
|
706
|
+
predecessorWeights: Fn,
|
|
707
|
+
range: ue,
|
|
708
|
+
removeEmptyRanks: co,
|
|
709
|
+
simplify: lo,
|
|
710
|
+
successorWeights: Dn,
|
|
711
|
+
time: ho,
|
|
712
|
+
uniqueId: Be,
|
|
713
|
+
zipObject: Ve
|
|
714
714
|
};
|
|
715
|
-
function
|
|
716
|
-
(e.graph().acyclicer === "greedy" ?
|
|
715
|
+
function Vn(e) {
|
|
716
|
+
(e.graph().acyclicer === "greedy" ? Tn(e, o(e)) : Gn(e)).forEach((n) => {
|
|
717
717
|
const s = e.edge(n);
|
|
718
|
-
e.removeEdge(n), s.forwardName = n.name, s.reversed = !0, e.setEdge(n.w, n.v, s,
|
|
718
|
+
e.removeEdge(n), s.forwardName = n.name, s.reversed = !0, e.setEdge(n.w, n.v, s, Be("rev"));
|
|
719
719
|
});
|
|
720
720
|
function o(n) {
|
|
721
721
|
return (s) => n.edge(s).weight;
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
|
-
function
|
|
724
|
+
function In(e) {
|
|
725
725
|
e.edges().forEach((t) => {
|
|
726
726
|
const o = e.edge(t);
|
|
727
727
|
if (o.reversed) {
|
|
@@ -731,36 +731,36 @@ function Vn(e) {
|
|
|
731
731
|
}
|
|
732
732
|
});
|
|
733
733
|
}
|
|
734
|
-
function
|
|
734
|
+
function Gn(e) {
|
|
735
735
|
const t = [], o = {}, n = {};
|
|
736
|
-
function s(
|
|
737
|
-
Object.hasOwn(n,
|
|
738
|
-
Object.hasOwn(o,
|
|
739
|
-
}), delete o[
|
|
736
|
+
function s(i) {
|
|
737
|
+
Object.hasOwn(n, i) || (n[i] = !0, o[i] = !0, e.outEdges(i).forEach((r) => {
|
|
738
|
+
Object.hasOwn(o, r.w) ? t.push(r) : s(r.w);
|
|
739
|
+
}), delete o[i]);
|
|
740
740
|
}
|
|
741
741
|
return e.nodes().forEach(s), t;
|
|
742
742
|
}
|
|
743
|
-
function
|
|
744
|
-
e.graph().dummyChains = [], e.edges().forEach((t) =>
|
|
743
|
+
function jn(e) {
|
|
744
|
+
e.graph().dummyChains = [], e.edges().forEach((t) => Wn(e, t));
|
|
745
745
|
}
|
|
746
|
-
function
|
|
746
|
+
function Wn(e, t) {
|
|
747
747
|
let o = t.v, n = e.node(o).rank;
|
|
748
|
-
const s = t.w,
|
|
749
|
-
if (
|
|
748
|
+
const s = t.w, i = e.node(s).rank, r = t.name, l = e.edge(t), a = l.labelRank;
|
|
749
|
+
if (i === n + 1)
|
|
750
750
|
return;
|
|
751
751
|
e.removeEdge(t);
|
|
752
752
|
let c, d, f;
|
|
753
|
-
for (f = 0, ++n; n <
|
|
753
|
+
for (f = 0, ++n; n < i; ++f, ++n)
|
|
754
754
|
l.points = [], d = {
|
|
755
755
|
width: 0,
|
|
756
756
|
height: 0,
|
|
757
757
|
edgeLabel: l,
|
|
758
758
|
edgeObj: t,
|
|
759
759
|
rank: n
|
|
760
|
-
}, c =
|
|
761
|
-
e.setEdge(o, s, { weight: l.weight },
|
|
760
|
+
}, c = de(e, "edge", d, "_d"), n === a && (d.width = l.width, d.height = l.height, d.dummy = "edge-label", d.labelpos = l.labelpos), e.setEdge(o, c, { weight: l.weight }, r), f === 0 && e.graph().dummyChains.push(c), o = c;
|
|
761
|
+
e.setEdge(o, s, { weight: l.weight }, r);
|
|
762
762
|
}
|
|
763
|
-
function
|
|
763
|
+
function Yn(e) {
|
|
764
764
|
e.graph().dummyChains.forEach((t) => {
|
|
765
765
|
let o = e.node(t);
|
|
766
766
|
const n = o.edgeLabel;
|
|
@@ -770,7 +770,7 @@ function Wn(e) {
|
|
|
770
770
|
s = e.successors(t)[0], e.removeNode(t), n.points.push({ x: o.x, y: o.y }), o.dummy === "edge-label" && (n.x = o.x, n.y = o.y, n.width = o.width, n.height = o.height), t = s, o = e.node(t);
|
|
771
771
|
});
|
|
772
772
|
}
|
|
773
|
-
function
|
|
773
|
+
function go(e) {
|
|
774
774
|
function t(o) {
|
|
775
775
|
const n = e.node(o);
|
|
776
776
|
if (n && Object.prototype.hasOwnProperty.call(n, "rank"))
|
|
@@ -778,57 +778,57 @@ function mo(e) {
|
|
|
778
778
|
const s = e.outEdges(o) || [];
|
|
779
779
|
if (!s.length)
|
|
780
780
|
return n && (n.rank = 0), 0;
|
|
781
|
-
const
|
|
781
|
+
const i = s.map((l) => {
|
|
782
782
|
if (!e.node(l.w))
|
|
783
783
|
return Number.POSITIVE_INFINITY;
|
|
784
784
|
const c = t(l.w), d = e.edge(l).minlen;
|
|
785
785
|
return c - d;
|
|
786
786
|
});
|
|
787
|
-
let
|
|
788
|
-
return
|
|
787
|
+
let r = j(Math.min, i);
|
|
788
|
+
return r === Number.POSITIVE_INFINITY && (r = 0), n && (n.rank = r), r;
|
|
789
789
|
}
|
|
790
790
|
(e.sources() || []).forEach(t);
|
|
791
791
|
}
|
|
792
|
-
function
|
|
792
|
+
function Hn(e, t) {
|
|
793
793
|
return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen;
|
|
794
794
|
}
|
|
795
|
-
function
|
|
796
|
-
|
|
797
|
-
const t = new
|
|
798
|
-
e.nodes().forEach((
|
|
799
|
-
t.setNode(
|
|
795
|
+
function Zn(e) {
|
|
796
|
+
Un(e);
|
|
797
|
+
const t = new K();
|
|
798
|
+
e.nodes().forEach((i) => {
|
|
799
|
+
t.setNode(i, {});
|
|
800
800
|
});
|
|
801
801
|
const o = e.nodes();
|
|
802
802
|
if (!o.length)
|
|
803
803
|
return t;
|
|
804
804
|
const n = o[0], s = /* @__PURE__ */ new Set([n]);
|
|
805
805
|
for (; s.size < o.length; ) {
|
|
806
|
-
const
|
|
807
|
-
if (!
|
|
806
|
+
const i = Xn(e, s);
|
|
807
|
+
if (!i) {
|
|
808
808
|
const d = o.find((f) => !s.has(f));
|
|
809
809
|
s.add(d), t.setNode(d, {});
|
|
810
810
|
continue;
|
|
811
811
|
}
|
|
812
|
-
const { edgeObject:
|
|
813
|
-
|
|
812
|
+
const { edgeObject: r, delta: l, attachFrom: a, attachTo: c } = i;
|
|
813
|
+
qn(e, s, a, l), t.setEdge(r.v, r.w, {}), s.add(c);
|
|
814
814
|
}
|
|
815
815
|
return t;
|
|
816
816
|
}
|
|
817
|
-
function
|
|
817
|
+
function Un(e) {
|
|
818
818
|
e.nodes().forEach((t) => {
|
|
819
819
|
const o = e.node(t) || {};
|
|
820
820
|
Object.prototype.hasOwnProperty.call(o, "rank") || (o.rank = 0, e.setNode(t, o));
|
|
821
821
|
});
|
|
822
822
|
}
|
|
823
|
-
function
|
|
823
|
+
function Xn(e, t) {
|
|
824
824
|
let o = null;
|
|
825
825
|
return e.edges().forEach((n) => {
|
|
826
|
-
const s = t.has(n.v),
|
|
827
|
-
if (s ===
|
|
826
|
+
const s = t.has(n.v), i = t.has(n.w);
|
|
827
|
+
if (s === i)
|
|
828
828
|
return;
|
|
829
|
-
const
|
|
829
|
+
const r = Hn(e, n), l = Math.abs(r);
|
|
830
830
|
if (!o || l < o.absoluteSlack) {
|
|
831
|
-
const a = s ? n.v : n.w, c = s ? n.w : n.v, d = s ?
|
|
831
|
+
const a = s ? n.v : n.w, c = s ? n.w : n.v, d = s ? r : -r;
|
|
832
832
|
o = {
|
|
833
833
|
edgeObject: n,
|
|
834
834
|
delta: d,
|
|
@@ -839,41 +839,41 @@ function Un(e, t) {
|
|
|
839
839
|
}
|
|
840
840
|
}), o;
|
|
841
841
|
}
|
|
842
|
-
function
|
|
842
|
+
function qn(e, t, o, n) {
|
|
843
843
|
n && e.nodes().forEach((s) => {
|
|
844
844
|
if (!t.has(s)) {
|
|
845
|
-
const
|
|
846
|
-
|
|
845
|
+
const i = e.node(s);
|
|
846
|
+
i.rank += n;
|
|
847
847
|
}
|
|
848
848
|
});
|
|
849
849
|
}
|
|
850
|
-
function
|
|
851
|
-
const t =
|
|
852
|
-
return
|
|
850
|
+
function fe(e) {
|
|
851
|
+
const t = lo(e);
|
|
852
|
+
return go(t), t.nodes().forEach((o) => {
|
|
853
853
|
const n = t.node(o), s = e.node(o) || {};
|
|
854
854
|
s.rank = n.rank, e.setNode(o, s);
|
|
855
855
|
}), e;
|
|
856
856
|
}
|
|
857
|
-
function qn(e, t) {
|
|
858
|
-
}
|
|
859
857
|
function Kn(e, t) {
|
|
860
858
|
}
|
|
861
|
-
function Jn(e, t
|
|
859
|
+
function Jn(e, t) {
|
|
860
|
+
}
|
|
861
|
+
function Qn(e, t, o) {
|
|
862
862
|
return 0;
|
|
863
863
|
}
|
|
864
|
-
function
|
|
864
|
+
function es(e) {
|
|
865
865
|
return null;
|
|
866
866
|
}
|
|
867
|
-
function
|
|
867
|
+
function ts(e, t) {
|
|
868
868
|
return null;
|
|
869
869
|
}
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
const
|
|
876
|
-
function
|
|
870
|
+
fe.initLowLimValues = Kn;
|
|
871
|
+
fe.initCutValues = Jn;
|
|
872
|
+
fe.calcCutValue = Qn;
|
|
873
|
+
fe.leaveEdge = es;
|
|
874
|
+
fe.enterEdge = ts;
|
|
875
|
+
const vo = go;
|
|
876
|
+
function os(e) {
|
|
877
877
|
const t = e.graph().ranker;
|
|
878
878
|
if (t instanceof Function)
|
|
879
879
|
return t(e);
|
|
@@ -882,10 +882,10 @@ function ts(e) {
|
|
|
882
882
|
Ut(e);
|
|
883
883
|
break;
|
|
884
884
|
case "tight-tree":
|
|
885
|
-
|
|
885
|
+
ss(e);
|
|
886
886
|
break;
|
|
887
887
|
case "longest-path":
|
|
888
|
-
|
|
888
|
+
ns(e);
|
|
889
889
|
break;
|
|
890
890
|
case "none":
|
|
891
891
|
break;
|
|
@@ -893,137 +893,137 @@ function ts(e) {
|
|
|
893
893
|
Ut(e);
|
|
894
894
|
}
|
|
895
895
|
}
|
|
896
|
-
const
|
|
897
|
-
function
|
|
898
|
-
|
|
896
|
+
const ns = vo;
|
|
897
|
+
function ss(e) {
|
|
898
|
+
vo(e), Zn(e);
|
|
899
899
|
}
|
|
900
900
|
function Ut(e) {
|
|
901
|
-
|
|
901
|
+
fe(e);
|
|
902
902
|
}
|
|
903
|
-
function
|
|
904
|
-
const t =
|
|
903
|
+
function rs(e) {
|
|
904
|
+
const t = ls(e);
|
|
905
905
|
e.graph().dummyChains.forEach((o) => {
|
|
906
906
|
let n = e.node(o);
|
|
907
|
-
const s = n.edgeObj,
|
|
908
|
-
let a = 0, c =
|
|
907
|
+
const s = n.edgeObj, i = is(e, t, s.v, s.w), r = i.path, l = i.lca;
|
|
908
|
+
let a = 0, c = r[a], d = !0, f = o;
|
|
909
909
|
for (; f !== s.w; ) {
|
|
910
910
|
if (n = e.node(f), d) {
|
|
911
|
-
for (; (c =
|
|
911
|
+
for (; (c = r[a]) !== l && e.node(c).maxRank < n.rank; )
|
|
912
912
|
a++;
|
|
913
913
|
c === l && (d = !1);
|
|
914
914
|
}
|
|
915
915
|
if (!d) {
|
|
916
|
-
for (; a <
|
|
916
|
+
for (; a < r.length - 1 && e.node(c = r[a + 1]).minRank <= n.rank; )
|
|
917
917
|
a++;
|
|
918
|
-
c =
|
|
918
|
+
c = r[a];
|
|
919
919
|
}
|
|
920
920
|
e.setParent(f, c), f = e.successors(f)[0];
|
|
921
921
|
}
|
|
922
922
|
});
|
|
923
923
|
}
|
|
924
|
-
function
|
|
925
|
-
const s = [],
|
|
924
|
+
function is(e, t, o, n) {
|
|
925
|
+
const s = [], i = [], r = Math.min(t[o].low, t[n].low), l = Math.max(t[o].lim, t[n].lim);
|
|
926
926
|
let a, c;
|
|
927
927
|
a = o;
|
|
928
928
|
do
|
|
929
929
|
a = e.parent(a), s.push(a);
|
|
930
|
-
while (a && (t[a].low >
|
|
930
|
+
while (a && (t[a].low > r || l > t[a].lim));
|
|
931
931
|
for (c = a, a = n; (a = e.parent(a)) !== c; )
|
|
932
|
-
|
|
932
|
+
i.push(a);
|
|
933
933
|
return {
|
|
934
|
-
path: s.concat(
|
|
934
|
+
path: s.concat(i.reverse()),
|
|
935
935
|
lca: c
|
|
936
936
|
};
|
|
937
937
|
}
|
|
938
|
-
function
|
|
938
|
+
function ls(e) {
|
|
939
939
|
const t = {};
|
|
940
940
|
let o = 0;
|
|
941
941
|
function n(s) {
|
|
942
|
-
const
|
|
943
|
-
e.children(s).forEach(n), t[s] = { low:
|
|
942
|
+
const i = o;
|
|
943
|
+
e.children(s).forEach(n), t[s] = { low: i, lim: o++ };
|
|
944
944
|
}
|
|
945
945
|
return e.children().forEach(n), t;
|
|
946
946
|
}
|
|
947
|
-
function
|
|
948
|
-
const t =
|
|
947
|
+
function as(e) {
|
|
948
|
+
const t = ze.addDummyNode(e, "root", {}, "_root"), o = cs(e), n = Object.values(o), s = ze.applyWithChunking(Math.max, n) - 1, i = 2 * s + 1;
|
|
949
949
|
e.graph().nestingRoot = t, e.edges().forEach((l) => {
|
|
950
|
-
e.edge(l).minlen *=
|
|
950
|
+
e.edge(l).minlen *= i;
|
|
951
951
|
});
|
|
952
|
-
const
|
|
952
|
+
const r = us(e) + 1;
|
|
953
953
|
e.children().forEach((l) => {
|
|
954
|
-
|
|
955
|
-
}), e.graph().nodeRankFactor =
|
|
954
|
+
bo(e, t, i, r, s, o, l);
|
|
955
|
+
}), e.graph().nodeRankFactor = i;
|
|
956
956
|
}
|
|
957
|
-
function
|
|
958
|
-
const l = e.children(
|
|
957
|
+
function bo(e, t, o, n, s, i, r) {
|
|
958
|
+
const l = e.children(r);
|
|
959
959
|
if (!l.length) {
|
|
960
|
-
|
|
960
|
+
r !== t && e.setEdge(t, r, { weight: 0, minlen: o });
|
|
961
961
|
return;
|
|
962
962
|
}
|
|
963
|
-
const a =
|
|
964
|
-
e.setParent(a,
|
|
965
|
-
|
|
966
|
-
const g = e.node(f), b = g.borderTop ? g.borderTop : f, N = g.borderBottom ? g.borderBottom : f,
|
|
963
|
+
const a = ze.addBorderNode(e, "_bt"), c = ze.addBorderNode(e, "_bb"), d = e.node(r);
|
|
964
|
+
e.setParent(a, r), d.borderTop = a, e.setParent(c, r), d.borderBottom = c, l.forEach((f) => {
|
|
965
|
+
bo(e, t, o, n, s, i, f);
|
|
966
|
+
const g = e.node(f), b = g.borderTop ? g.borderTop : f, N = g.borderBottom ? g.borderBottom : f, x = g.borderTop ? n : 2 * n, T = b !== N ? 1 : s - i[r] + 1;
|
|
967
967
|
e.setEdge(a, b, {
|
|
968
|
-
weight:
|
|
969
|
-
minlen:
|
|
968
|
+
weight: x,
|
|
969
|
+
minlen: T,
|
|
970
970
|
nestingEdge: !0
|
|
971
971
|
}), e.setEdge(N, c, {
|
|
972
|
-
weight:
|
|
973
|
-
minlen:
|
|
972
|
+
weight: x,
|
|
973
|
+
minlen: T,
|
|
974
974
|
nestingEdge: !0
|
|
975
975
|
});
|
|
976
|
-
}), e.parent(
|
|
976
|
+
}), e.parent(r) || e.setEdge(t, a, {
|
|
977
977
|
weight: 0,
|
|
978
|
-
minlen: s + r
|
|
978
|
+
minlen: s + i[r]
|
|
979
979
|
});
|
|
980
980
|
}
|
|
981
|
-
function
|
|
981
|
+
function cs(e) {
|
|
982
982
|
const t = {};
|
|
983
983
|
function o(n, s) {
|
|
984
|
-
const
|
|
985
|
-
|
|
984
|
+
const i = e.children(n);
|
|
985
|
+
i && i.length && i.forEach((r) => o(r, s + 1)), t[n] = s;
|
|
986
986
|
}
|
|
987
987
|
return e.children().forEach((n) => o(n, 1)), t;
|
|
988
988
|
}
|
|
989
|
-
function
|
|
989
|
+
function us(e) {
|
|
990
990
|
return e.edges().reduce((t, o) => t + e.edge(o).weight, 0);
|
|
991
991
|
}
|
|
992
|
-
function
|
|
992
|
+
function ds(e) {
|
|
993
993
|
const t = e.graph();
|
|
994
994
|
e.removeNode(t.nestingRoot), delete t.nestingRoot, e.edges().forEach((o) => {
|
|
995
995
|
e.edge(o).nestingEdge && e.removeEdge(o);
|
|
996
996
|
});
|
|
997
997
|
}
|
|
998
|
-
function
|
|
998
|
+
function fs(e) {
|
|
999
999
|
function t(o) {
|
|
1000
1000
|
const n = e.children(o), s = e.node(o);
|
|
1001
1001
|
if (n.length && n.forEach(t), Object.hasOwn(s, "minRank")) {
|
|
1002
1002
|
s.borderLeft = [], s.borderRight = [];
|
|
1003
|
-
for (let
|
|
1004
|
-
Xt(e, "borderLeft", "_bl", o, s,
|
|
1003
|
+
for (let i = s.minRank, r = s.maxRank + 1; i < r; ++i)
|
|
1004
|
+
Xt(e, "borderLeft", "_bl", o, s, i), Xt(e, "borderRight", "_br", o, s, i);
|
|
1005
1005
|
}
|
|
1006
1006
|
}
|
|
1007
1007
|
e.children().forEach(t);
|
|
1008
1008
|
}
|
|
1009
|
-
function Xt(e, t, o, n, s,
|
|
1010
|
-
const
|
|
1009
|
+
function Xt(e, t, o, n, s, i) {
|
|
1010
|
+
const r = {
|
|
1011
1011
|
width: 0,
|
|
1012
1012
|
height: 0,
|
|
1013
|
-
rank:
|
|
1013
|
+
rank: i,
|
|
1014
1014
|
borderType: t
|
|
1015
|
-
}, l = s[t][
|
|
1016
|
-
s[t][
|
|
1015
|
+
}, l = s[t][i - 1], a = de(e, "border", r, o);
|
|
1016
|
+
s[t][i] = a, e.setParent(a, n), l && e.setEdge(l, a, { weight: 1 });
|
|
1017
1017
|
}
|
|
1018
|
-
function
|
|
1018
|
+
function hs(e) {
|
|
1019
1019
|
const t = e.graph().rankdir.toLowerCase();
|
|
1020
|
-
(t === "lr" || t === "rl") &&
|
|
1020
|
+
(t === "lr" || t === "rl") && po(e);
|
|
1021
1021
|
}
|
|
1022
|
-
function
|
|
1022
|
+
function ms(e) {
|
|
1023
1023
|
const t = e.graph().rankdir.toLowerCase();
|
|
1024
|
-
(t === "bt" || t === "rl") &&
|
|
1024
|
+
(t === "bt" || t === "rl") && gs(e), (t === "lr" || t === "rl") && (vs(e), po(e));
|
|
1025
1025
|
}
|
|
1026
|
-
function
|
|
1026
|
+
function po(e) {
|
|
1027
1027
|
e.nodes().forEach((t) => {
|
|
1028
1028
|
qt(e.node(t));
|
|
1029
1029
|
}), e.edges().forEach((t) => {
|
|
@@ -1034,67 +1034,67 @@ function qt(e) {
|
|
|
1034
1034
|
const t = e.width;
|
|
1035
1035
|
e.width = e.height, e.height = t;
|
|
1036
1036
|
}
|
|
1037
|
-
function
|
|
1037
|
+
function gs(e) {
|
|
1038
1038
|
e.nodes().forEach((t) => {
|
|
1039
|
-
|
|
1039
|
+
ot(e.node(t));
|
|
1040
1040
|
}), e.edges().forEach((t) => {
|
|
1041
1041
|
const o = e.edge(t);
|
|
1042
|
-
o.points.forEach(
|
|
1042
|
+
o.points.forEach(ot), Object.hasOwn(o, "y") && ot(o);
|
|
1043
1043
|
});
|
|
1044
1044
|
}
|
|
1045
|
-
function
|
|
1045
|
+
function ot(e) {
|
|
1046
1046
|
e.y = -e.y;
|
|
1047
1047
|
}
|
|
1048
|
-
function
|
|
1048
|
+
function vs(e) {
|
|
1049
1049
|
e.nodes().forEach((t) => {
|
|
1050
|
-
|
|
1050
|
+
nt(e.node(t));
|
|
1051
1051
|
}), e.edges().forEach((t) => {
|
|
1052
1052
|
const o = e.edge(t);
|
|
1053
|
-
o.points.forEach(
|
|
1053
|
+
o.points.forEach(nt), Object.hasOwn(o, "x") && nt(o);
|
|
1054
1054
|
});
|
|
1055
1055
|
}
|
|
1056
|
-
function
|
|
1056
|
+
function nt(e) {
|
|
1057
1057
|
const t = e.x;
|
|
1058
1058
|
e.x = e.y, e.y = t;
|
|
1059
1059
|
}
|
|
1060
1060
|
const Kt = {
|
|
1061
|
-
adjust:
|
|
1062
|
-
undo:
|
|
1061
|
+
adjust: hs,
|
|
1062
|
+
undo: ms
|
|
1063
1063
|
};
|
|
1064
|
-
function
|
|
1065
|
-
const t = {}, o = e.nodes().filter((a) => e.children(a).length === 0), n = o.map((a) => e.node(a).rank), s = j(Math.max, n),
|
|
1066
|
-
function
|
|
1064
|
+
function bs(e) {
|
|
1065
|
+
const t = {}, o = e.nodes().filter((a) => e.children(a).length === 0), n = o.map((a) => e.node(a).rank), s = j(Math.max, n), i = ue(s + 1).map(() => []);
|
|
1066
|
+
function r(a) {
|
|
1067
1067
|
if (t[a]) return;
|
|
1068
1068
|
t[a] = !0;
|
|
1069
1069
|
const c = e.node(a);
|
|
1070
|
-
|
|
1070
|
+
i[c.rank].push(a), e.successors(a).forEach(r);
|
|
1071
1071
|
}
|
|
1072
1072
|
return o.sort(
|
|
1073
1073
|
(a, c) => e.node(a).rank - e.node(c).rank
|
|
1074
|
-
).forEach(
|
|
1074
|
+
).forEach(r), i;
|
|
1075
1075
|
}
|
|
1076
|
-
function
|
|
1076
|
+
function ps(e, t) {
|
|
1077
1077
|
let o = 0;
|
|
1078
1078
|
for (let n = 1; n < t.length; ++n)
|
|
1079
|
-
o +=
|
|
1079
|
+
o += ws(e, t[n - 1], t[n]);
|
|
1080
1080
|
return o;
|
|
1081
1081
|
}
|
|
1082
|
-
function
|
|
1083
|
-
const n =
|
|
1082
|
+
function ws(e, t, o) {
|
|
1083
|
+
const n = Ve(
|
|
1084
1084
|
o,
|
|
1085
1085
|
o.map((c, d) => d)
|
|
1086
1086
|
), s = t.flatMap((c) => e.outEdges(c).map((d) => ({
|
|
1087
1087
|
pos: n[d.w],
|
|
1088
1088
|
weight: e.edge(d).weight
|
|
1089
1089
|
})).sort((d, f) => d.pos - f.pos));
|
|
1090
|
-
let
|
|
1091
|
-
for (;
|
|
1092
|
-
const
|
|
1093
|
-
|
|
1094
|
-
const l = new Array(
|
|
1090
|
+
let i = 1;
|
|
1091
|
+
for (; i < o.length; ) i <<= 1;
|
|
1092
|
+
const r = 2 * i - 1;
|
|
1093
|
+
i -= 1;
|
|
1094
|
+
const l = new Array(r).fill(0);
|
|
1095
1095
|
let a = 0;
|
|
1096
1096
|
return s.forEach((c) => {
|
|
1097
|
-
let d = c.pos +
|
|
1097
|
+
let d = c.pos + i;
|
|
1098
1098
|
l[d] += c.weight;
|
|
1099
1099
|
let f = 0;
|
|
1100
1100
|
for (; d > 0; )
|
|
@@ -1102,17 +1102,17 @@ function ps(e, t, o) {
|
|
|
1102
1102
|
a += c.weight * f;
|
|
1103
1103
|
}), a;
|
|
1104
1104
|
}
|
|
1105
|
-
function
|
|
1105
|
+
function ys(e, t = []) {
|
|
1106
1106
|
return t.map((o) => {
|
|
1107
1107
|
const n = e.inEdges(o);
|
|
1108
1108
|
if (!n.length)
|
|
1109
1109
|
return { v: o };
|
|
1110
1110
|
const s = n.reduce(
|
|
1111
|
-
(
|
|
1112
|
-
const l = e.edge(
|
|
1111
|
+
(i, r) => {
|
|
1112
|
+
const l = e.edge(r), a = e.node(r.v);
|
|
1113
1113
|
return {
|
|
1114
|
-
sum:
|
|
1115
|
-
weight:
|
|
1114
|
+
sum: i.sum + l.weight * a.order,
|
|
1115
|
+
weight: i.weight + l.weight
|
|
1116
1116
|
};
|
|
1117
1117
|
},
|
|
1118
1118
|
{ sum: 0, weight: 0 }
|
|
@@ -1124,54 +1124,54 @@ function ws(e, t = []) {
|
|
|
1124
1124
|
};
|
|
1125
1125
|
});
|
|
1126
1126
|
}
|
|
1127
|
-
function
|
|
1127
|
+
function ks(e, t) {
|
|
1128
1128
|
const o = {};
|
|
1129
|
-
e.forEach((s,
|
|
1130
|
-
const
|
|
1129
|
+
e.forEach((s, i) => {
|
|
1130
|
+
const r = o[s.v] = {
|
|
1131
1131
|
indegree: 0,
|
|
1132
1132
|
in: [],
|
|
1133
1133
|
out: [],
|
|
1134
1134
|
vs: [s.v],
|
|
1135
|
-
i
|
|
1135
|
+
i
|
|
1136
1136
|
};
|
|
1137
|
-
s.barycenter !== void 0 && (
|
|
1137
|
+
s.barycenter !== void 0 && (r.barycenter = s.barycenter, r.weight = s.weight);
|
|
1138
1138
|
}), t.edges().forEach((s) => {
|
|
1139
|
-
const
|
|
1140
|
-
|
|
1139
|
+
const i = o[s.v], r = o[s.w];
|
|
1140
|
+
i !== void 0 && r !== void 0 && (r.indegree++, i.out.push(r));
|
|
1141
1141
|
});
|
|
1142
1142
|
const n = Object.values(o).filter((s) => !s.indegree);
|
|
1143
|
-
return
|
|
1143
|
+
return Es(n);
|
|
1144
1144
|
}
|
|
1145
|
-
function
|
|
1145
|
+
function Es(e) {
|
|
1146
1146
|
const t = [];
|
|
1147
1147
|
function o(s) {
|
|
1148
|
-
return (
|
|
1149
|
-
|
|
1148
|
+
return (i) => {
|
|
1149
|
+
i.merged || (i.barycenter === void 0 || s.barycenter === void 0 || i.barycenter >= s.barycenter) && Cs(s, i);
|
|
1150
1150
|
};
|
|
1151
1151
|
}
|
|
1152
1152
|
function n(s) {
|
|
1153
|
-
return (
|
|
1154
|
-
|
|
1153
|
+
return (i) => {
|
|
1154
|
+
i.in.push(s), --i.indegree === 0 && e.push(i);
|
|
1155
1155
|
};
|
|
1156
1156
|
}
|
|
1157
1157
|
for (; e.length; ) {
|
|
1158
1158
|
const s = e.pop();
|
|
1159
1159
|
t.push(s), s.in.reverse().forEach(o(s)), s.out.forEach(n(s));
|
|
1160
1160
|
}
|
|
1161
|
-
return t.filter((s) => !s.merged).map((s) =>
|
|
1161
|
+
return t.filter((s) => !s.merged).map((s) => _e(s, ["vs", "i", "barycenter", "weight"]));
|
|
1162
1162
|
}
|
|
1163
|
-
function
|
|
1163
|
+
function Cs(e, t) {
|
|
1164
1164
|
let o = 0, n = 0;
|
|
1165
1165
|
e.weight && (o += e.barycenter * e.weight, n += e.weight), t.weight && (o += t.barycenter * t.weight, n += t.weight), e.vs = t.vs.concat(e.vs), e.barycenter = o / n, e.weight = n, e.i = Math.min(t.i, e.i), t.merged = !0;
|
|
1166
1166
|
}
|
|
1167
|
-
function
|
|
1168
|
-
const o =
|
|
1169
|
-
let
|
|
1170
|
-
n.sort(
|
|
1171
|
-
a += d.vs.length,
|
|
1167
|
+
function xs(e, t) {
|
|
1168
|
+
const o = fo(e, (d) => Object.hasOwn(d, "barycenter")), n = o.lhs, s = o.rhs.sort((d, f) => f.i - d.i), i = [];
|
|
1169
|
+
let r = 0, l = 0, a = 0;
|
|
1170
|
+
n.sort(_s(!!t)), a = Jt(i, s, a), n.forEach((d) => {
|
|
1171
|
+
a += d.vs.length, i.push(d.vs), r += d.barycenter * d.weight, l += d.weight, a = Jt(i, s, a);
|
|
1172
1172
|
});
|
|
1173
|
-
const c = { vs:
|
|
1174
|
-
return l && (c.barycenter =
|
|
1173
|
+
const c = { vs: i.flat(!0) };
|
|
1174
|
+
return l && (c.barycenter = r / l, c.weight = l), c;
|
|
1175
1175
|
}
|
|
1176
1176
|
function Jt(e, t, o) {
|
|
1177
1177
|
let n;
|
|
@@ -1179,126 +1179,126 @@ function Jt(e, t, o) {
|
|
|
1179
1179
|
t.pop(), e.push(n.vs), o++;
|
|
1180
1180
|
return o;
|
|
1181
1181
|
}
|
|
1182
|
-
function
|
|
1182
|
+
function _s(e) {
|
|
1183
1183
|
return (t, o) => t.barycenter < o.barycenter ? -1 : t.barycenter > o.barycenter ? 1 : e ? o.i - t.i : t.i - o.i;
|
|
1184
1184
|
}
|
|
1185
|
-
function
|
|
1185
|
+
function wo(e, t, o, n) {
|
|
1186
1186
|
let s = e.children(t);
|
|
1187
|
-
const
|
|
1188
|
-
|
|
1189
|
-
const c =
|
|
1187
|
+
const i = e.node(t), r = i ? i.borderLeft : void 0, l = i ? i.borderRight : void 0, a = {};
|
|
1188
|
+
r && (s = s.filter((g) => g !== r && g !== l));
|
|
1189
|
+
const c = ys(e, s);
|
|
1190
1190
|
c.forEach((g) => {
|
|
1191
1191
|
if (e.children(g.v).length) {
|
|
1192
|
-
const b =
|
|
1193
|
-
a[g.v] = b, Object.hasOwn(b, "barycenter") &&
|
|
1192
|
+
const b = wo(e, g.v, o, n);
|
|
1193
|
+
a[g.v] = b, Object.hasOwn(b, "barycenter") && As(g, b);
|
|
1194
1194
|
}
|
|
1195
1195
|
});
|
|
1196
|
-
let d =
|
|
1197
|
-
|
|
1198
|
-
const f =
|
|
1199
|
-
if (
|
|
1200
|
-
const g = e.node(e.predecessors(
|
|
1196
|
+
let d = ks(c, o);
|
|
1197
|
+
Ns(d, a);
|
|
1198
|
+
const f = xs(d, n);
|
|
1199
|
+
if (r && (f.vs = [r, f.vs, l].flat(!0), e.predecessors(r).length)) {
|
|
1200
|
+
const g = e.node(e.predecessors(r)[0]), b = e.node(e.predecessors(l)[0]);
|
|
1201
1201
|
Object.hasOwn(f, "barycenter") || (f.barycenter = 0, f.weight = 0), f.barycenter = (f.barycenter * f.weight + g.order + b.order) / (f.weight + 2), f.weight += 2;
|
|
1202
1202
|
}
|
|
1203
1203
|
return f;
|
|
1204
1204
|
}
|
|
1205
|
-
function
|
|
1205
|
+
function Ns(e, t) {
|
|
1206
1206
|
e.forEach((o) => {
|
|
1207
1207
|
o.vs = o.vs.flatMap((n) => t[n] ? t[n].vs : n);
|
|
1208
1208
|
});
|
|
1209
1209
|
}
|
|
1210
|
-
function
|
|
1210
|
+
function As(e, t) {
|
|
1211
1211
|
e.barycenter !== void 0 ? (e.barycenter = (e.barycenter * e.weight + t.barycenter * t.weight) / (e.weight + t.weight), e.weight += t.weight) : (e.barycenter = t.barycenter, e.weight = t.weight);
|
|
1212
1212
|
}
|
|
1213
|
-
function
|
|
1213
|
+
function Ss(e, t, o, n) {
|
|
1214
1214
|
n || (n = e.nodes());
|
|
1215
|
-
const s =
|
|
1216
|
-
return n.forEach((
|
|
1217
|
-
const l = e.node(
|
|
1218
|
-
(l.rank === t || l.minRank <= t && t <= l.maxRank) && (
|
|
1219
|
-
const f = d.v ===
|
|
1220
|
-
|
|
1215
|
+
const s = Ls(e), i = new K({ compound: !0 }).setGraph({ root: s }).setDefaultNodeLabel((r) => e.node(r));
|
|
1216
|
+
return n.forEach((r) => {
|
|
1217
|
+
const l = e.node(r), a = e.parent(r);
|
|
1218
|
+
(l.rank === t || l.minRank <= t && t <= l.maxRank) && (i.setNode(r), i.setParent(r, a || s), e[o](r).forEach((d) => {
|
|
1219
|
+
const f = d.v === r ? d.w : d.v, g = i.edge(f, r), b = g ? g.weight : 0;
|
|
1220
|
+
i.setEdge(f, r, {
|
|
1221
1221
|
weight: e.edge(d).weight + b
|
|
1222
1222
|
});
|
|
1223
|
-
}), Object.hasOwn(l, "minRank") &&
|
|
1223
|
+
}), Object.hasOwn(l, "minRank") && i.setNode(r, {
|
|
1224
1224
|
borderLeft: l.borderLeft[t],
|
|
1225
1225
|
borderRight: l.borderRight[t]
|
|
1226
1226
|
}));
|
|
1227
|
-
}),
|
|
1227
|
+
}), i;
|
|
1228
1228
|
}
|
|
1229
|
-
function
|
|
1229
|
+
function Ls(e) {
|
|
1230
1230
|
let t;
|
|
1231
|
-
for (; e.hasNode(t =
|
|
1231
|
+
for (; e.hasNode(t = Be("_root")); ) ;
|
|
1232
1232
|
return t;
|
|
1233
1233
|
}
|
|
1234
|
-
function
|
|
1234
|
+
function Os(e, t, o) {
|
|
1235
1235
|
let n = {}, s;
|
|
1236
|
-
o.forEach((
|
|
1237
|
-
let
|
|
1238
|
-
for (;
|
|
1239
|
-
if (l = e.parent(
|
|
1240
|
-
t.setEdge(a,
|
|
1236
|
+
o.forEach((i) => {
|
|
1237
|
+
let r = e.parent(i), l, a;
|
|
1238
|
+
for (; r; ) {
|
|
1239
|
+
if (l = e.parent(r), l ? (a = n[l], n[l] = r) : (a = s, s = r), a && a !== r) {
|
|
1240
|
+
t.setEdge(a, r);
|
|
1241
1241
|
return;
|
|
1242
1242
|
}
|
|
1243
|
-
|
|
1243
|
+
r = l;
|
|
1244
1244
|
}
|
|
1245
1245
|
});
|
|
1246
1246
|
}
|
|
1247
|
-
function
|
|
1247
|
+
function yo(e, t = {}) {
|
|
1248
1248
|
if (typeof t.customOrder == "function") {
|
|
1249
|
-
t.customOrder(e,
|
|
1249
|
+
t.customOrder(e, yo);
|
|
1250
1250
|
return;
|
|
1251
1251
|
}
|
|
1252
|
-
const o =
|
|
1252
|
+
const o = dt(e), n = Qt(
|
|
1253
1253
|
e,
|
|
1254
|
-
|
|
1254
|
+
ue(1, o + 1),
|
|
1255
1255
|
"inEdges"
|
|
1256
1256
|
), s = Qt(
|
|
1257
1257
|
e,
|
|
1258
|
-
|
|
1258
|
+
ue(o - 1, -1, -1),
|
|
1259
1259
|
"outEdges"
|
|
1260
1260
|
);
|
|
1261
|
-
let
|
|
1262
|
-
if (eo(e,
|
|
1261
|
+
let i = bs(e);
|
|
1262
|
+
if (eo(e, i), t.disableOptimalOrderHeuristic)
|
|
1263
1263
|
return;
|
|
1264
|
-
let
|
|
1264
|
+
let r = Number.POSITIVE_INFINITY, l;
|
|
1265
1265
|
const a = t.constraints || [];
|
|
1266
1266
|
for (let c = 0, d = 0; d < 4; ++c, ++d) {
|
|
1267
1267
|
const f = c % 2 === 0 ? n : s, g = c % 4 >= 2;
|
|
1268
|
-
|
|
1269
|
-
const b =
|
|
1270
|
-
b <
|
|
1268
|
+
Ts(f, g, a), i = Ne(e);
|
|
1269
|
+
const b = ps(e, i);
|
|
1270
|
+
b < r ? (r = b, d = 0, l = structuredClone(i)) : b === r && (l = structuredClone(i));
|
|
1271
1271
|
}
|
|
1272
1272
|
eo(e, l);
|
|
1273
1273
|
}
|
|
1274
1274
|
function Qt(e, t, o) {
|
|
1275
1275
|
const n = /* @__PURE__ */ new Map();
|
|
1276
|
-
function s(
|
|
1277
|
-
n.has(
|
|
1276
|
+
function s(i, r) {
|
|
1277
|
+
n.has(i) || n.set(i, []), n.get(i).push(r);
|
|
1278
1278
|
}
|
|
1279
|
-
for (const
|
|
1280
|
-
const
|
|
1281
|
-
if (typeof
|
|
1282
|
-
for (let l =
|
|
1283
|
-
l !==
|
|
1279
|
+
for (const i of e.nodes()) {
|
|
1280
|
+
const r = e.node(i);
|
|
1281
|
+
if (typeof r.rank == "number" && s(r.rank, i), typeof r.minRank == "number" && typeof r.maxRank == "number")
|
|
1282
|
+
for (let l = r.minRank; l <= r.maxRank; l++)
|
|
1283
|
+
l !== r.rank && s(l, i);
|
|
1284
1284
|
}
|
|
1285
1285
|
return t.map(
|
|
1286
|
-
(
|
|
1286
|
+
(i) => Ss(
|
|
1287
1287
|
e,
|
|
1288
|
-
|
|
1288
|
+
i,
|
|
1289
1289
|
o,
|
|
1290
|
-
n.get(
|
|
1290
|
+
n.get(i) || []
|
|
1291
1291
|
)
|
|
1292
1292
|
);
|
|
1293
1293
|
}
|
|
1294
|
-
function
|
|
1295
|
-
const n = new
|
|
1294
|
+
function Ts(e, t, o) {
|
|
1295
|
+
const n = new K();
|
|
1296
1296
|
e.forEach((s) => {
|
|
1297
1297
|
o.forEach((l) => n.setEdge(l.left, l.right));
|
|
1298
|
-
const
|
|
1299
|
-
|
|
1298
|
+
const i = s.graph().root, r = wo(s, i, n, t);
|
|
1299
|
+
r.vs.forEach((l, a) => {
|
|
1300
1300
|
s.node(l).order = a;
|
|
1301
|
-
}),
|
|
1301
|
+
}), Os(s, n, r.vs);
|
|
1302
1302
|
});
|
|
1303
1303
|
}
|
|
1304
1304
|
function eo(e, t) {
|
|
@@ -1310,49 +1310,49 @@ function eo(e, t) {
|
|
|
1310
1310
|
}
|
|
1311
1311
|
function Rs(e, t) {
|
|
1312
1312
|
const o = {};
|
|
1313
|
-
function n(s,
|
|
1314
|
-
let
|
|
1315
|
-
const a = s.length, c =
|
|
1316
|
-
return
|
|
1317
|
-
const g =
|
|
1318
|
-
(g || d === c) && (
|
|
1319
|
-
e.predecessors(N).forEach((
|
|
1320
|
-
const
|
|
1321
|
-
(Y <
|
|
1313
|
+
function n(s, i) {
|
|
1314
|
+
let r = 0, l = 0;
|
|
1315
|
+
const a = s.length, c = i[i.length - 1];
|
|
1316
|
+
return i.forEach((d, f) => {
|
|
1317
|
+
const g = $s(e, d), b = g ? e.node(g).order : a;
|
|
1318
|
+
(g || d === c) && (i.slice(l, f + 1).forEach((N) => {
|
|
1319
|
+
e.predecessors(N).forEach((x) => {
|
|
1320
|
+
const T = e.node(x), Y = T.order;
|
|
1321
|
+
(Y < r || b < Y) && !(T.dummy && e.node(N).dummy) && ko(o, x, N);
|
|
1322
1322
|
});
|
|
1323
|
-
}), l = f + 1,
|
|
1324
|
-
}),
|
|
1323
|
+
}), l = f + 1, r = b);
|
|
1324
|
+
}), i;
|
|
1325
1325
|
}
|
|
1326
1326
|
return t.length && t.reduce(n), o;
|
|
1327
1327
|
}
|
|
1328
|
-
function
|
|
1328
|
+
function Ms(e, t) {
|
|
1329
1329
|
const o = {};
|
|
1330
|
-
function n(
|
|
1330
|
+
function n(i, r, l, a, c) {
|
|
1331
1331
|
let d;
|
|
1332
|
-
|
|
1333
|
-
d =
|
|
1332
|
+
ue(r, l).forEach((f) => {
|
|
1333
|
+
d = i[f], e.node(d).dummy && e.predecessors(d).forEach((g) => {
|
|
1334
1334
|
const b = e.node(g);
|
|
1335
|
-
b.dummy && (b.order < a || b.order > c) &&
|
|
1335
|
+
b.dummy && (b.order < a || b.order > c) && ko(o, g, d);
|
|
1336
1336
|
});
|
|
1337
1337
|
});
|
|
1338
1338
|
}
|
|
1339
|
-
function s(
|
|
1339
|
+
function s(i, r) {
|
|
1340
1340
|
let l = -1, a, c = 0;
|
|
1341
|
-
return
|
|
1341
|
+
return r.forEach((d, f) => {
|
|
1342
1342
|
if (e.node(d).dummy === "border") {
|
|
1343
1343
|
const g = e.predecessors(d);
|
|
1344
|
-
g.length && (a = e.node(g[0]).order, n(
|
|
1344
|
+
g.length && (a = e.node(g[0]).order, n(r, c, f, l, a), c = f, l = a);
|
|
1345
1345
|
}
|
|
1346
|
-
n(
|
|
1347
|
-
}),
|
|
1346
|
+
n(r, c, r.length, a, i.length);
|
|
1347
|
+
}), r;
|
|
1348
1348
|
}
|
|
1349
1349
|
return t.length && t.reduce(s), o;
|
|
1350
1350
|
}
|
|
1351
|
-
function
|
|
1351
|
+
function $s(e, t) {
|
|
1352
1352
|
if (e.node(t).dummy)
|
|
1353
1353
|
return e.predecessors(t).find((o) => e.node(o).dummy);
|
|
1354
1354
|
}
|
|
1355
|
-
function
|
|
1355
|
+
function ko(e, t, o) {
|
|
1356
1356
|
if (t > o) {
|
|
1357
1357
|
const s = t;
|
|
1358
1358
|
t = o, o = s;
|
|
@@ -1360,63 +1360,63 @@ function yo(e, t, o) {
|
|
|
1360
1360
|
let n = e[t];
|
|
1361
1361
|
n || (e[t] = n = {}), n[o] = !0;
|
|
1362
1362
|
}
|
|
1363
|
-
function
|
|
1363
|
+
function Ds(e, t, o) {
|
|
1364
1364
|
if (t > o) {
|
|
1365
1365
|
const n = t;
|
|
1366
1366
|
t = o, o = n;
|
|
1367
1367
|
}
|
|
1368
1368
|
return !!e[t] && Object.hasOwn(e[t], o);
|
|
1369
1369
|
}
|
|
1370
|
-
function
|
|
1371
|
-
const s = {},
|
|
1370
|
+
function Fs(e, t, o, n) {
|
|
1371
|
+
const s = {}, i = {}, r = {};
|
|
1372
1372
|
return t.forEach((l) => {
|
|
1373
1373
|
l.forEach((a, c) => {
|
|
1374
|
-
s[a] = a,
|
|
1374
|
+
s[a] = a, i[a] = a, r[a] = c;
|
|
1375
1375
|
});
|
|
1376
1376
|
}), t.forEach((l) => {
|
|
1377
1377
|
let a = -1;
|
|
1378
1378
|
l.forEach((c) => {
|
|
1379
1379
|
let d = n(c);
|
|
1380
1380
|
if (d.length) {
|
|
1381
|
-
d = d.sort((g, b) =>
|
|
1381
|
+
d = d.sort((g, b) => r[g] - r[b]);
|
|
1382
1382
|
const f = (d.length - 1) / 2;
|
|
1383
1383
|
for (let g = Math.floor(f), b = Math.ceil(f); g <= b; ++g) {
|
|
1384
1384
|
const N = d[g];
|
|
1385
|
-
|
|
1385
|
+
i[c] === c && a < r[N] && !Ds(o, c, N) && (i[N] = c, i[c] = s[c] = s[N], a = r[N]);
|
|
1386
1386
|
}
|
|
1387
1387
|
}
|
|
1388
1388
|
});
|
|
1389
|
-
}), { root: s, align:
|
|
1389
|
+
}), { root: s, align: i };
|
|
1390
1390
|
}
|
|
1391
|
-
function
|
|
1392
|
-
const
|
|
1391
|
+
function Ps(e, t, o, n, s) {
|
|
1392
|
+
const i = {}, r = zs(e, t, o, s), l = s ? "borderLeft" : "borderRight";
|
|
1393
1393
|
function a(f, g) {
|
|
1394
|
-
const b =
|
|
1395
|
-
let
|
|
1396
|
-
for (;
|
|
1397
|
-
if (N[
|
|
1398
|
-
f(
|
|
1394
|
+
const b = r.nodes().slice(), N = {};
|
|
1395
|
+
let x = b.pop();
|
|
1396
|
+
for (; x; ) {
|
|
1397
|
+
if (N[x])
|
|
1398
|
+
f(x);
|
|
1399
1399
|
else {
|
|
1400
|
-
N[
|
|
1401
|
-
for (const
|
|
1402
|
-
b.push(
|
|
1400
|
+
N[x] = !0, b.push(x);
|
|
1401
|
+
for (const T of g(x))
|
|
1402
|
+
b.push(T);
|
|
1403
1403
|
}
|
|
1404
|
-
|
|
1404
|
+
x = b.pop();
|
|
1405
1405
|
}
|
|
1406
1406
|
}
|
|
1407
1407
|
function c(f) {
|
|
1408
|
-
|
|
1408
|
+
i[f] = r.inEdges(f).reduce((g, b) => Math.max(g, i[b.v] + r.edge(b)), 0);
|
|
1409
1409
|
}
|
|
1410
1410
|
function d(f) {
|
|
1411
|
-
const g =
|
|
1412
|
-
g !== Number.POSITIVE_INFINITY && b.borderType !== l && (
|
|
1411
|
+
const g = r.outEdges(f).reduce((N, x) => Math.min(N, i[x.w] - r.edge(x)), Number.POSITIVE_INFINITY), b = e.node(f);
|
|
1412
|
+
g !== Number.POSITIVE_INFINITY && b.borderType !== l && (i[f] = Math.max(i[f], g));
|
|
1413
1413
|
}
|
|
1414
|
-
return a(c,
|
|
1415
|
-
|
|
1416
|
-
}),
|
|
1414
|
+
return a(c, r.predecessors.bind(r)), a(d, r.successors.bind(r)), Object.keys(n).forEach((f) => {
|
|
1415
|
+
i[f] = i[o[f]];
|
|
1416
|
+
}), i;
|
|
1417
1417
|
}
|
|
1418
|
-
function
|
|
1419
|
-
const s = new e.constructor(),
|
|
1418
|
+
function zs(e, t, o, n) {
|
|
1419
|
+
const s = new e.constructor(), i = e.graph(), r = js(i.nodesep, i.edgesep, n);
|
|
1420
1420
|
return t.forEach((l) => {
|
|
1421
1421
|
let a;
|
|
1422
1422
|
l.forEach((c) => {
|
|
@@ -1426,93 +1426,93 @@ function Ps(e, t, o, n) {
|
|
|
1426
1426
|
s.setEdge(
|
|
1427
1427
|
f,
|
|
1428
1428
|
d,
|
|
1429
|
-
Math.max(
|
|
1429
|
+
Math.max(r(e, c, a), g || 0)
|
|
1430
1430
|
);
|
|
1431
1431
|
}
|
|
1432
1432
|
a = c;
|
|
1433
1433
|
});
|
|
1434
1434
|
}), s;
|
|
1435
1435
|
}
|
|
1436
|
-
function
|
|
1436
|
+
function Bs(e, t) {
|
|
1437
1437
|
return Object.values(t).reduce(
|
|
1438
1438
|
(o, n) => {
|
|
1439
|
-
let s = Number.NEGATIVE_INFINITY,
|
|
1439
|
+
let s = Number.NEGATIVE_INFINITY, i = Number.POSITIVE_INFINITY;
|
|
1440
1440
|
Object.entries(n).forEach(([l, a]) => {
|
|
1441
|
-
const c =
|
|
1442
|
-
s = Math.max(a + c, s),
|
|
1441
|
+
const c = Ws(e, l) / 2;
|
|
1442
|
+
s = Math.max(a + c, s), i = Math.min(a - c, i);
|
|
1443
1443
|
});
|
|
1444
|
-
const
|
|
1445
|
-
return
|
|
1444
|
+
const r = s - i;
|
|
1445
|
+
return r < o[0] && (o = [r, n]), o;
|
|
1446
1446
|
},
|
|
1447
1447
|
[Number.POSITIVE_INFINITY, null]
|
|
1448
1448
|
)[1];
|
|
1449
1449
|
}
|
|
1450
|
-
function
|
|
1450
|
+
function Vs(e, t) {
|
|
1451
1451
|
const o = Object.values(t), n = j(Math.min, o), s = j(Math.max, o);
|
|
1452
|
-
["u", "d"].forEach((
|
|
1453
|
-
["l", "r"].forEach((
|
|
1454
|
-
const l =
|
|
1452
|
+
["u", "d"].forEach((i) => {
|
|
1453
|
+
["l", "r"].forEach((r) => {
|
|
1454
|
+
const l = i + r;
|
|
1455
1455
|
let a = e[l];
|
|
1456
1456
|
if (a === t) return;
|
|
1457
1457
|
const c = Object.values(a);
|
|
1458
1458
|
let d = n - j(Math.min, c);
|
|
1459
|
-
|
|
1459
|
+
r !== "l" && (d = s - j(Math.max, c)), d && (a = Ae(a, (f) => f + d), e[l] = a);
|
|
1460
1460
|
});
|
|
1461
1461
|
});
|
|
1462
1462
|
}
|
|
1463
|
-
function
|
|
1464
|
-
return
|
|
1463
|
+
function Is(e, t) {
|
|
1464
|
+
return Ae(e.ul, (o, n) => {
|
|
1465
1465
|
if (t)
|
|
1466
1466
|
return e[t.toLowerCase()][n];
|
|
1467
|
-
const s = Object.values(e).map((
|
|
1467
|
+
const s = Object.values(e).map((i) => i[n]).sort((i, r) => i - r);
|
|
1468
1468
|
return (s[1] + s[2]) / 2;
|
|
1469
1469
|
});
|
|
1470
1470
|
}
|
|
1471
|
-
function
|
|
1472
|
-
const t =
|
|
1471
|
+
function Gs(e) {
|
|
1472
|
+
const t = Ne(e), o = Object.assign(
|
|
1473
1473
|
Rs(e, t),
|
|
1474
|
-
|
|
1474
|
+
Ms(e, t)
|
|
1475
1475
|
), n = {};
|
|
1476
1476
|
let s;
|
|
1477
|
-
["u", "d"].forEach((
|
|
1478
|
-
s =
|
|
1477
|
+
["u", "d"].forEach((r) => {
|
|
1478
|
+
s = r === "u" ? t : Object.values(t).reverse(), ["l", "r"].forEach((l) => {
|
|
1479
1479
|
let a = s;
|
|
1480
1480
|
l === "r" && (a = a.map(
|
|
1481
1481
|
(g) => Object.values(g).reverse()
|
|
1482
1482
|
));
|
|
1483
|
-
const c = (
|
|
1483
|
+
const c = (r === "u" ? e.predecessors : e.successors).bind(e), d = Fs(
|
|
1484
1484
|
e,
|
|
1485
1485
|
a,
|
|
1486
1486
|
o,
|
|
1487
1487
|
c
|
|
1488
1488
|
);
|
|
1489
|
-
let f =
|
|
1489
|
+
let f = Ps(
|
|
1490
1490
|
e,
|
|
1491
1491
|
a,
|
|
1492
1492
|
d.root,
|
|
1493
1493
|
d.align,
|
|
1494
1494
|
l === "r"
|
|
1495
1495
|
);
|
|
1496
|
-
l === "r" && (f =
|
|
1496
|
+
l === "r" && (f = Ae(f, (g) => -g)), n[r + l] = f;
|
|
1497
1497
|
});
|
|
1498
1498
|
});
|
|
1499
|
-
const
|
|
1500
|
-
return
|
|
1499
|
+
const i = Bs(e, n);
|
|
1500
|
+
return Vs(n, i), Is(n, e.graph().align);
|
|
1501
1501
|
}
|
|
1502
|
-
function
|
|
1503
|
-
return (n, s,
|
|
1504
|
-
const
|
|
1502
|
+
function js(e, t, o) {
|
|
1503
|
+
return (n, s, i) => {
|
|
1504
|
+
const r = n.node(s), l = n.node(i);
|
|
1505
1505
|
let a = 0, c;
|
|
1506
|
-
if (a +=
|
|
1507
|
-
switch (
|
|
1506
|
+
if (a += r.width / 2, Object.hasOwn(r, "labelpos"))
|
|
1507
|
+
switch (r.labelpos.toLowerCase()) {
|
|
1508
1508
|
case "l":
|
|
1509
|
-
c = -
|
|
1509
|
+
c = -r.width / 2;
|
|
1510
1510
|
break;
|
|
1511
1511
|
case "r":
|
|
1512
|
-
c =
|
|
1512
|
+
c = r.width / 2;
|
|
1513
1513
|
break;
|
|
1514
1514
|
}
|
|
1515
|
-
if (c && (a += o ? c : -c), c = 0, a += (
|
|
1515
|
+
if (c && (a += o ? c : -c), c = 0, a += (r.dummy ? t : e) / 2, a += (l.dummy ? t : e) / 2, a += l.width / 2, Object.hasOwn(l, "labelpos"))
|
|
1516
1516
|
switch (l.labelpos.toLowerCase()) {
|
|
1517
1517
|
case "l":
|
|
1518
1518
|
c = l.width / 2;
|
|
@@ -1524,114 +1524,114 @@ function Gs(e, t, o) {
|
|
|
1524
1524
|
return c && (a += o ? c : -c), c = 0, a;
|
|
1525
1525
|
};
|
|
1526
1526
|
}
|
|
1527
|
-
function
|
|
1527
|
+
function Ws(e, t) {
|
|
1528
1528
|
return e.node(t).width;
|
|
1529
1529
|
}
|
|
1530
|
-
function
|
|
1531
|
-
const t =
|
|
1532
|
-
|
|
1533
|
-
const o =
|
|
1530
|
+
function Ys(e) {
|
|
1531
|
+
const t = ut(e);
|
|
1532
|
+
Hs(t);
|
|
1533
|
+
const o = Gs(t);
|
|
1534
1534
|
Object.entries(o).forEach(([n, s]) => {
|
|
1535
1535
|
e.node(n).x = s;
|
|
1536
1536
|
});
|
|
1537
1537
|
}
|
|
1538
|
-
function
|
|
1539
|
-
const t =
|
|
1538
|
+
function Hs(e) {
|
|
1539
|
+
const t = Ne(e), o = e.graph().ranksep;
|
|
1540
1540
|
let n = 0;
|
|
1541
1541
|
t.forEach((s) => {
|
|
1542
|
-
const
|
|
1542
|
+
const i = s.reduce((r, l) => {
|
|
1543
1543
|
const a = e.node(l).height;
|
|
1544
|
-
return
|
|
1544
|
+
return r > a ? r : a;
|
|
1545
1545
|
}, 0);
|
|
1546
|
-
s.forEach((
|
|
1547
|
-
e.node(
|
|
1548
|
-
}), n +=
|
|
1546
|
+
s.forEach((r) => {
|
|
1547
|
+
e.node(r).y = n + i / 2;
|
|
1548
|
+
}), n += i + o;
|
|
1549
1549
|
});
|
|
1550
1550
|
}
|
|
1551
|
-
function
|
|
1552
|
-
const o = t.debugTiming ?
|
|
1551
|
+
function Zs(e, t = {}) {
|
|
1552
|
+
const o = t.debugTiming ? ho : mo;
|
|
1553
1553
|
return o("layout", () => {
|
|
1554
|
-
const n = o(" buildLayoutGraph", () =>
|
|
1555
|
-
return o(" runLayout", () =>
|
|
1554
|
+
const n = o(" buildLayoutGraph", () => nr(e));
|
|
1555
|
+
return o(" runLayout", () => Us(n, o, t)), o(" updateInputGraph", () => Xs(e, n)), n;
|
|
1556
1556
|
});
|
|
1557
1557
|
}
|
|
1558
|
-
function
|
|
1559
|
-
t(" makeSpaceForEdgeLabels", () =>
|
|
1558
|
+
function Us(e, t, o) {
|
|
1559
|
+
t(" makeSpaceForEdgeLabels", () => sr(e)), t(" removeSelfEdges", () => hr(e)), t(" acyclic", () => Vn(e)), t(" nestingGraph.run", () => as(e)), t(" rank", () => os(ut(e))), t(" injectEdgeLabelProxies", () => rr(e)), t(" removeEmptyRanks", () => co(e)), t(" nestingGraph.cleanup", () => ds(e)), t(" normalizeRanks", () => ao(e)), t(" assignRankMinMax", () => ir(e)), t(" removeEdgeLabelProxies", () => lr(e)), t(" normalize.run", () => jn(e)), t(" parentDummyChains", () => rs(e)), t(" addBorderSegments", () => fs(e)), t(" order", () => yo(e, o)), t(" insertSelfEdges", () => mr(e)), t(" adjustCoordinateSystem", () => Kt.adjust(e)), t(" position", () => Ys(e)), t(" positionSelfEdges", () => gr(e)), t(" removeBorderNodes", () => fr(e)), t(" normalize.undo", () => Yn(e)), t(" fixupEdgeLabelCoords", () => ur(e)), t(" undoCoordinateSystem", () => Kt.undo(e)), t(" translateGraph", () => ar(e)), t(" assignNodeIntersects", () => cr(e)), t(" reversePoints", () => dr(e)), t(" acyclic.undo", () => In(e));
|
|
1560
1560
|
}
|
|
1561
|
-
function
|
|
1561
|
+
function Xs(e, t) {
|
|
1562
1562
|
e.nodes().forEach((s) => {
|
|
1563
|
-
const
|
|
1564
|
-
|
|
1563
|
+
const i = e.node(s), r = t.node(s);
|
|
1564
|
+
i && (i.x = r.x, i.y = r.y, i.order = r.order, i.rank = r.rank, t.children(s).length && (i.width = r.width, i.height = r.height));
|
|
1565
1565
|
}), e.edges().forEach((s) => {
|
|
1566
|
-
const
|
|
1567
|
-
|
|
1566
|
+
const i = e.edge(s), r = t.edge(s);
|
|
1567
|
+
i.points = r.points, Object.hasOwn(r, "x") && (i.x = r.x, i.y = r.y);
|
|
1568
1568
|
});
|
|
1569
1569
|
const o = t.graph(), n = e.graph();
|
|
1570
1570
|
n.width = o.width, n.height = o.height;
|
|
1571
1571
|
}
|
|
1572
|
-
const
|
|
1572
|
+
const qs = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], Ks = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, Js = ["acyclicer", "ranker", "rankdir", "align"], Qs = ["width", "height", "rank"], to = { width: 0, height: 0 }, er = ["minlen", "weight", "width", "height", "labeloffset"], tr = {
|
|
1573
1573
|
minlen: 1,
|
|
1574
1574
|
weight: 1,
|
|
1575
1575
|
width: 0,
|
|
1576
1576
|
height: 0,
|
|
1577
1577
|
labeloffset: 10,
|
|
1578
1578
|
labelpos: "r"
|
|
1579
|
-
},
|
|
1580
|
-
function
|
|
1581
|
-
const t =
|
|
1582
|
-
...
|
|
1583
|
-
...
|
|
1584
|
-
...
|
|
1585
|
-
}, n = new
|
|
1579
|
+
}, or = ["labelpos", "arrowshape"];
|
|
1580
|
+
function nr(e) {
|
|
1581
|
+
const t = rt(e.graph()), o = {
|
|
1582
|
+
...Ks,
|
|
1583
|
+
...st(t, qs),
|
|
1584
|
+
..._e(t, Js)
|
|
1585
|
+
}, n = new K({ multigraph: !0, compound: !0 });
|
|
1586
1586
|
return n.setGraph(o), e.nodes().forEach((s) => {
|
|
1587
|
-
const
|
|
1587
|
+
const i = rt(e.node(s)), r = st(i, Qs);
|
|
1588
1588
|
Object.keys(to).forEach((l) => {
|
|
1589
|
-
|
|
1590
|
-
}), n.setNode(s,
|
|
1589
|
+
r[l] === void 0 && (r[l] = to[l]);
|
|
1590
|
+
}), n.setNode(s, r), n.setParent(s, e.parent(s));
|
|
1591
1591
|
}), e.edges().forEach((s) => {
|
|
1592
|
-
const
|
|
1592
|
+
const i = rt(e.edge(s));
|
|
1593
1593
|
n.setEdge(
|
|
1594
1594
|
s,
|
|
1595
1595
|
{
|
|
1596
|
-
...
|
|
1597
|
-
...
|
|
1598
|
-
...
|
|
1596
|
+
...tr,
|
|
1597
|
+
...st(i, er),
|
|
1598
|
+
..._e(i, or)
|
|
1599
1599
|
}
|
|
1600
1600
|
);
|
|
1601
1601
|
}), n;
|
|
1602
1602
|
}
|
|
1603
|
-
function
|
|
1603
|
+
function sr(e) {
|
|
1604
1604
|
const t = e.graph();
|
|
1605
1605
|
t.ranksep /= 2, e.edges().forEach((o) => {
|
|
1606
1606
|
const n = e.edge(o);
|
|
1607
1607
|
n.minlen *= 2, n.labelpos.toLowerCase() !== "c" && (t.rankdir === "TB" || t.rankdir === "BT" ? n.width += n.labeloffset : n.height += n.labeloffset);
|
|
1608
1608
|
});
|
|
1609
1609
|
}
|
|
1610
|
-
function
|
|
1610
|
+
function rr(e) {
|
|
1611
1611
|
e.edges().forEach((t) => {
|
|
1612
1612
|
const o = e.edge(t);
|
|
1613
1613
|
if (o.width && o.height) {
|
|
1614
|
-
const n = e.node(t.v),
|
|
1615
|
-
|
|
1614
|
+
const n = e.node(t.v), i = { rank: (e.node(t.w).rank - n.rank) / 2 + n.rank, e: t };
|
|
1615
|
+
de(e, "edge-proxy", i, "_ep");
|
|
1616
1616
|
}
|
|
1617
1617
|
});
|
|
1618
1618
|
}
|
|
1619
|
-
function
|
|
1619
|
+
function ir(e) {
|
|
1620
1620
|
let t = 0;
|
|
1621
1621
|
e.nodes().forEach((o) => {
|
|
1622
1622
|
const n = e.node(o);
|
|
1623
1623
|
n.borderTop && (n.minRank = e.node(n.borderTop).rank, n.maxRank = e.node(n.borderBottom).rank, t = Math.max(t, n.maxRank));
|
|
1624
1624
|
}), e.graph().maxRank = t;
|
|
1625
1625
|
}
|
|
1626
|
-
function
|
|
1626
|
+
function lr(e) {
|
|
1627
1627
|
e.nodes().forEach((t) => {
|
|
1628
1628
|
const o = e.node(t);
|
|
1629
1629
|
o.dummy === "edge-proxy" && (e.edge(o.e).labelRank = o.rank, e.removeNode(t));
|
|
1630
1630
|
});
|
|
1631
1631
|
}
|
|
1632
|
-
function
|
|
1632
|
+
function ar(e) {
|
|
1633
1633
|
let t = Number.POSITIVE_INFINITY, o = 0, n = Number.POSITIVE_INFINITY, s = 0;
|
|
1634
|
-
const
|
|
1634
|
+
const i = e.graph(), r = i.marginx || 0, l = i.marginy || 0;
|
|
1635
1635
|
function a(c) {
|
|
1636
1636
|
const d = c.x, f = c.y, g = c.width, b = c.height;
|
|
1637
1637
|
t = Math.min(t, d - g / 2), o = Math.max(o, d + g / 2), n = Math.min(n, f - b / 2), s = Math.max(s, f + b / 2);
|
|
@@ -1639,7 +1639,7 @@ function lr(e) {
|
|
|
1639
1639
|
e.nodes().forEach((c) => a(e.node(c))), e.edges().forEach((c) => {
|
|
1640
1640
|
const d = e.edge(c);
|
|
1641
1641
|
Object.hasOwn(d, "x") && a(d);
|
|
1642
|
-
}), t -=
|
|
1642
|
+
}), t -= r, n -= l, e.nodes().forEach((c) => {
|
|
1643
1643
|
const d = e.node(c);
|
|
1644
1644
|
d.x -= t, d.y -= n;
|
|
1645
1645
|
}), e.edges().forEach((c) => {
|
|
@@ -1647,16 +1647,31 @@ function lr(e) {
|
|
|
1647
1647
|
d.points.forEach((f) => {
|
|
1648
1648
|
f.x -= t, f.y -= n;
|
|
1649
1649
|
}), Object.hasOwn(d, "x") && (d.x -= t), Object.hasOwn(d, "y") && (d.y -= n);
|
|
1650
|
-
}),
|
|
1650
|
+
}), i.width = o - t + r, i.height = s - n + l;
|
|
1651
|
+
}
|
|
1652
|
+
function oo(e, t, o) {
|
|
1653
|
+
if (!t)
|
|
1654
|
+
return e;
|
|
1655
|
+
const n = t.x - e.x, s = t.y - e.y, i = Math.sqrt(n * n + s * s);
|
|
1656
|
+
if (!i || i <= o)
|
|
1657
|
+
return e;
|
|
1658
|
+
const r = o / i;
|
|
1659
|
+
return {
|
|
1660
|
+
x: e.x + n * r,
|
|
1661
|
+
y: e.y + s * r
|
|
1662
|
+
};
|
|
1651
1663
|
}
|
|
1652
|
-
function
|
|
1653
|
-
e.edges().forEach((
|
|
1654
|
-
const
|
|
1655
|
-
let r,
|
|
1656
|
-
!
|
|
1664
|
+
function cr(e) {
|
|
1665
|
+
e.edges().forEach((o) => {
|
|
1666
|
+
const n = e.edge(o), s = e.node(o.v), i = e.node(o.w);
|
|
1667
|
+
let r, l;
|
|
1668
|
+
!n.points || !n.points.length ? (n.points = [], r = i, l = s) : (r = n.points[0], l = n.points[n.points.length - 1]);
|
|
1669
|
+
const a = ct(s, r), c = ct(i, l), d = n.points.length ? n.points[0] : r, f = n.points.length ? n.points[n.points.length - 1] : l, g = n.arrowshape, b = g === "normal" || g === "vee", N = !!n.reversed;
|
|
1670
|
+
let x = a, T = c;
|
|
1671
|
+
b && (N ? x = oo(a, d, 4) : T = oo(c, f, 4)), n.points.unshift(x), n.points.push(T);
|
|
1657
1672
|
});
|
|
1658
1673
|
}
|
|
1659
|
-
function
|
|
1674
|
+
function ur(e) {
|
|
1660
1675
|
e.edges().forEach((t) => {
|
|
1661
1676
|
const o = e.edge(t);
|
|
1662
1677
|
if (Object.hasOwn(o, "x"))
|
|
@@ -1670,23 +1685,23 @@ function cr(e) {
|
|
|
1670
1685
|
}
|
|
1671
1686
|
});
|
|
1672
1687
|
}
|
|
1673
|
-
function
|
|
1688
|
+
function dr(e) {
|
|
1674
1689
|
e.edges().forEach((t) => {
|
|
1675
1690
|
const o = e.edge(t);
|
|
1676
1691
|
o.reversed && o.points.reverse();
|
|
1677
1692
|
});
|
|
1678
1693
|
}
|
|
1679
|
-
function
|
|
1694
|
+
function fr(e) {
|
|
1680
1695
|
e.nodes().forEach((t) => {
|
|
1681
1696
|
if (e.children(t).length) {
|
|
1682
|
-
const o = e.node(t), n = e.node(o.borderTop), s = e.node(o.borderBottom),
|
|
1683
|
-
o.width = Math.abs(
|
|
1697
|
+
const o = e.node(t), n = e.node(o.borderTop), s = e.node(o.borderBottom), i = e.node(o.borderLeft[o.borderLeft.length - 1]), r = e.node(o.borderRight[o.borderRight.length - 1]);
|
|
1698
|
+
o.width = Math.abs(r.x - i.x), o.height = Math.abs(s.y - n.y), o.x = i.x + o.width / 2, o.y = n.y + o.height / 2;
|
|
1684
1699
|
}
|
|
1685
1700
|
}), e.nodes().forEach((t) => {
|
|
1686
1701
|
e.node(t).dummy === "border" && e.removeNode(t);
|
|
1687
1702
|
});
|
|
1688
1703
|
}
|
|
1689
|
-
function
|
|
1704
|
+
function hr(e) {
|
|
1690
1705
|
e.edges().forEach((t) => {
|
|
1691
1706
|
if (t.v === t.w) {
|
|
1692
1707
|
const o = e.node(t.v);
|
|
@@ -1694,50 +1709,50 @@ function fr(e) {
|
|
|
1694
1709
|
}
|
|
1695
1710
|
});
|
|
1696
1711
|
}
|
|
1697
|
-
function
|
|
1698
|
-
|
|
1712
|
+
function mr(e) {
|
|
1713
|
+
Ne(e).forEach((o) => {
|
|
1699
1714
|
let n = 0;
|
|
1700
|
-
o.forEach((s,
|
|
1701
|
-
const
|
|
1702
|
-
|
|
1703
|
-
|
|
1715
|
+
o.forEach((s, i) => {
|
|
1716
|
+
const r = e.node(s);
|
|
1717
|
+
r.order = i + n, (r.selfEdges || []).forEach((l) => {
|
|
1718
|
+
de(e, "selfedge", {
|
|
1704
1719
|
width: l.label.width,
|
|
1705
1720
|
height: l.label.height,
|
|
1706
|
-
rank:
|
|
1707
|
-
order:
|
|
1721
|
+
rank: r.rank,
|
|
1722
|
+
order: i + ++n,
|
|
1708
1723
|
e: l.e,
|
|
1709
1724
|
label: l.label
|
|
1710
1725
|
}, "_se");
|
|
1711
|
-
}), delete
|
|
1726
|
+
}), delete r.selfEdges;
|
|
1712
1727
|
});
|
|
1713
1728
|
});
|
|
1714
1729
|
}
|
|
1715
|
-
function
|
|
1730
|
+
function gr(e) {
|
|
1716
1731
|
e.nodes().forEach((t) => {
|
|
1717
1732
|
const o = e.node(t);
|
|
1718
1733
|
if (o.dummy === "selfedge") {
|
|
1719
|
-
const n = e.node(o.e.v), s = n.x + n.width / 2,
|
|
1734
|
+
const n = e.node(o.e.v), s = n.x + n.width / 2, i = n.y, r = o.x - s, l = n.height / 2;
|
|
1720
1735
|
e.setEdge(o.e, o.label), e.removeNode(t), o.label.points = [
|
|
1721
|
-
{ x: s + 2 *
|
|
1722
|
-
{ x: s + 5 *
|
|
1723
|
-
{ x: s +
|
|
1724
|
-
{ x: s + 5 *
|
|
1725
|
-
{ x: s + 2 *
|
|
1736
|
+
{ x: s + 2 * r / 3, y: i - l },
|
|
1737
|
+
{ x: s + 5 * r / 6, y: i - l },
|
|
1738
|
+
{ x: s + r, y: i },
|
|
1739
|
+
{ x: s + 5 * r / 6, y: i + l },
|
|
1740
|
+
{ x: s + 2 * r / 3, y: i + l }
|
|
1726
1741
|
], o.label.x = o.x, o.label.y = o.y;
|
|
1727
1742
|
}
|
|
1728
1743
|
});
|
|
1729
1744
|
}
|
|
1730
|
-
function
|
|
1731
|
-
return
|
|
1745
|
+
function st(e, t) {
|
|
1746
|
+
return Ae(_e(e, t), Number);
|
|
1732
1747
|
}
|
|
1733
|
-
function
|
|
1748
|
+
function rt(e) {
|
|
1734
1749
|
const t = {};
|
|
1735
1750
|
return e && Object.entries(e).forEach(([o, n]) => {
|
|
1736
1751
|
let s = o;
|
|
1737
1752
|
typeof s == "string" && (s = s.toLowerCase()), t[s] = n;
|
|
1738
1753
|
}), t;
|
|
1739
1754
|
}
|
|
1740
|
-
const
|
|
1755
|
+
const vr = {
|
|
1741
1756
|
rankDirection: "TB",
|
|
1742
1757
|
// "TB", "BT", "LR", "RL"
|
|
1743
1758
|
nodeSeparation: 50,
|
|
@@ -1753,12 +1768,12 @@ const gr = {
|
|
|
1753
1768
|
arrowShape: "normal",
|
|
1754
1769
|
arrowSize: 10
|
|
1755
1770
|
};
|
|
1756
|
-
function
|
|
1771
|
+
function br(e) {
|
|
1757
1772
|
return e.length ? e.map(
|
|
1758
1773
|
(t, o) => `${o === 0 ? "M" : "L"} ${t.x} ${t.y}`
|
|
1759
1774
|
).join(" ") : "";
|
|
1760
1775
|
}
|
|
1761
|
-
function
|
|
1776
|
+
function pr(e) {
|
|
1762
1777
|
if (!e.length) return "";
|
|
1763
1778
|
if (e.length === 1) {
|
|
1764
1779
|
const s = e[0];
|
|
@@ -1770,20 +1785,20 @@ function br(e) {
|
|
|
1770
1785
|
let o = `M ${t.x} ${t.y}`;
|
|
1771
1786
|
for (let s = 1; s < e.length - 1; s += 1) {
|
|
1772
1787
|
e[s - 1];
|
|
1773
|
-
const
|
|
1788
|
+
const i = e[s], r = e[s + 1], l = i.x, a = i.y, c = (i.x + r.x) / 2, d = (i.y + r.y) / 2;
|
|
1774
1789
|
o += ` Q ${l} ${a} ${c} ${d}`;
|
|
1775
1790
|
}
|
|
1776
1791
|
const n = e[e.length - 1];
|
|
1777
1792
|
return o += ` L ${n.x} ${n.y}`, o;
|
|
1778
1793
|
}
|
|
1779
|
-
function
|
|
1780
|
-
const { nodes: t, edges: o, configuration: n } = e, s =
|
|
1794
|
+
function wr(e) {
|
|
1795
|
+
const { nodes: t, edges: o, configuration: n } = e, s = k(null), i = k(null), r = `dag-arrow-${lt()}`;
|
|
1781
1796
|
function l(a, c, d) {
|
|
1782
|
-
|
|
1797
|
+
i.value = null, s.value = null;
|
|
1783
1798
|
const f = {
|
|
1784
|
-
...
|
|
1799
|
+
...vr,
|
|
1785
1800
|
...d
|
|
1786
|
-
}, g = new
|
|
1801
|
+
}, g = new K({ multigraph: !0, compound: !0 });
|
|
1787
1802
|
g.setGraph({
|
|
1788
1803
|
rankdir: f.rankDirection,
|
|
1789
1804
|
nodesep: f.nodeSeparation,
|
|
@@ -1799,9 +1814,10 @@ function pr(e) {
|
|
|
1799
1814
|
}), c.forEach((u) => {
|
|
1800
1815
|
g.setEdge(u.from, u.to, {
|
|
1801
1816
|
weight: u.weight ?? 1,
|
|
1802
|
-
minlen: u.minLength ?? 1
|
|
1817
|
+
minlen: u.minLength ?? 1,
|
|
1818
|
+
arrowShape: f.arrowShape ?? "normal"
|
|
1803
1819
|
});
|
|
1804
|
-
}),
|
|
1820
|
+
}), Zs(g);
|
|
1805
1821
|
const b = a.map((u) => {
|
|
1806
1822
|
const I = g.node(u.id);
|
|
1807
1823
|
return {
|
|
@@ -1817,20 +1833,20 @@ function pr(e) {
|
|
|
1817
1833
|
const I = g.edge(u), H = I.points || [];
|
|
1818
1834
|
if (!H.length)
|
|
1819
1835
|
return null;
|
|
1820
|
-
const
|
|
1836
|
+
const Se = f.curvedEdges ? pr(H) : br(H), Le = f.arrowShape !== "undirected" ? `url(#${r})` : null, Oe = c.find((me) => me?.from === u.v && me?.to === u.w);
|
|
1821
1837
|
return {
|
|
1822
|
-
id: `${u.v}->${u.w}->${
|
|
1838
|
+
id: `${u.v}->${u.w}->${lt()}`,
|
|
1823
1839
|
from: u.v,
|
|
1824
1840
|
to: u.w,
|
|
1825
1841
|
points: H,
|
|
1826
|
-
pathData:
|
|
1827
|
-
markerEnd:
|
|
1842
|
+
pathData: Se,
|
|
1843
|
+
markerEnd: Le,
|
|
1828
1844
|
original: {
|
|
1829
|
-
...
|
|
1845
|
+
...Oe,
|
|
1830
1846
|
...I
|
|
1831
1847
|
}
|
|
1832
1848
|
};
|
|
1833
|
-
}).filter(Boolean),
|
|
1849
|
+
}).filter(Boolean), x = f.padding;
|
|
1834
1850
|
if (!b.length) {
|
|
1835
1851
|
s.value = {
|
|
1836
1852
|
nodes: [],
|
|
@@ -1841,75 +1857,75 @@ function pr(e) {
|
|
|
1841
1857
|
};
|
|
1842
1858
|
return;
|
|
1843
1859
|
}
|
|
1844
|
-
const
|
|
1860
|
+
const T = b.flatMap((u) => [
|
|
1845
1861
|
u.x - u.width / 2,
|
|
1846
1862
|
u.x + u.width / 2
|
|
1847
1863
|
]), Y = b.flatMap((u) => [
|
|
1848
1864
|
u.y - u.height / 2,
|
|
1849
1865
|
u.y + u.height / 2
|
|
1850
|
-
]),
|
|
1866
|
+
]), he = Math.min(...T) - x, ne = Math.max(...T) + x, R = Math.min(...Y) - x, P = Math.max(...Y) + x;
|
|
1851
1867
|
s.value = {
|
|
1852
1868
|
nodes: b,
|
|
1853
1869
|
edges: N.map((u) => ({
|
|
1854
1870
|
...u,
|
|
1855
|
-
midpoint: u.pathData ?
|
|
1871
|
+
midpoint: u.pathData ? rn(u.pathData) : { x: 0, y: 0 }
|
|
1856
1872
|
})),
|
|
1857
|
-
viewBox: `${
|
|
1873
|
+
viewBox: `${he} ${R} ${ne - he} ${P - R}`,
|
|
1858
1874
|
arrowShape: f.arrowShape,
|
|
1859
1875
|
arrowSize: f.arrowSize
|
|
1860
1876
|
};
|
|
1861
1877
|
}
|
|
1862
|
-
return
|
|
1878
|
+
return Qo(() => {
|
|
1863
1879
|
try {
|
|
1864
1880
|
const a = v(t) || [], c = v(o) || [], d = v(n) || {};
|
|
1865
1881
|
l(a, c, d);
|
|
1866
1882
|
} catch (a) {
|
|
1867
|
-
console.error("[useDag] layout error:", a),
|
|
1883
|
+
console.error("[useDag] layout error:", a), i.value = a, s.value = null;
|
|
1868
1884
|
}
|
|
1869
1885
|
}), {
|
|
1870
1886
|
layoutData: s,
|
|
1871
|
-
lastError:
|
|
1872
|
-
arrowMarkerIdentifier:
|
|
1887
|
+
lastError: i,
|
|
1888
|
+
arrowMarkerIdentifier: r,
|
|
1873
1889
|
recomputeLayout: () => {
|
|
1874
1890
|
const a = v(t) || [], c = v(o) || [], d = v(n) || {};
|
|
1875
1891
|
l(a, c, d);
|
|
1876
1892
|
}
|
|
1877
1893
|
};
|
|
1878
1894
|
}
|
|
1879
|
-
const
|
|
1895
|
+
const Eo = { style: { chart: { backgroundColor: "#1A1A1A", color: "#CCCCCC", nodes: { stroke: "#6A6A6A", backgroundColor: "#2A2A2A", labels: { color: "#CCCCCC" }, tooltip: { backgroundColor: "#3A3A3A", color: "#CCCCCC" } }, edges: { stroke: "#6A6A6A" }, midpoints: { stroke: "#6A6A6A", fill: "#1A1A1A", tooltip: { backgroundColor: "#3A3A3A", color: "#CCCCCC" } }, controls: { backgroundColor: "#2A2A2A", buttonColor: "#2A2A2A", color: "#CCCCCC", border: "1px solid #4A4A4A" }, title: { color: "#CCCCCC", subtitle: { color: "#757575" } } } } }, Co = { style: { chart: { backgroundColor: "#FFF8E1", color: "#424242", nodes: { stroke: "#5D4037", backgroundColor: "#fcf9f0", labels: { color: "#424242" }, tooltip: { backgroundColor: "#5D4037", color: "#FFF8E1" } }, edges: { stroke: "#5D4037" }, midpoints: { stroke: "#5D4037", fill: "#FFF8E1", tooltip: { backgroundColor: "#5D4037", color: "#FFF8E1" } }, controls: { backgroundColor: "#FFF8E1", buttonColor: "#FFF8E1", color: "#424242", border: "1px solid #d9bbb2" }, title: { color: "#424242", subtitle: { color: "#757575" } } } } }, xo = { style: { chart: { backgroundColor: "#1E1E1E", color: "#BDBDBD", nodes: { stroke: "#965039", backgroundColor: "#2A2A2A", labels: { color: "#BDBDBD" }, tooltip: { backgroundColor: "#3A3A3A", color: "#FFF8E1" } }, edges: { stroke: "#965039" }, midpoints: { stroke: "#965039", fill: "#1E1E1E", tooltip: { backgroundColor: "#3A3A3A", color: "#FFF8E1" } }, controls: { backgroundColor: "#1E1E1E", buttonColor: "#1E1E1E", color: "#BDBDBD", border: "1px solid #3A3A3A" }, title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } } } } }, _o = { style: { chart: { backgroundColor: "#1A1A1A", color: "#99AA99", nodes: { stroke: "#66CC66", backgroundColor: "#2A2A2A", labels: { color: "#99AA99" }, tooltip: { backgroundColor: "#3A3A3A", color: "#99AA99" } }, edges: { stroke: "#66CC66" }, midpoints: { stroke: "#66CC66", fill: "#1A1A1A", tooltip: { backgroundColor: "#3A3A3A", color: "#99AA99" } }, controls: { backgroundColor: "#1A1A1A", buttonColor: "#1A1A1A", color: "#99AA99", border: "1px solid #1e361e" }, title: { color: "#66CC66", subtitle: { color: "#99AA99" } } } } }, No = { style: { chart: { backgroundColor: "#fbfafa", color: "#8A9892", nodes: { stroke: "#8F837A", backgroundColor: "#ffffff", labels: { color: "#8A9892" }, tooltip: { backgroundColor: "#8F837A", color: "#fbfafa" } }, edges: { stroke: "#8F837A" }, midpoints: { stroke: "#8F837A", fill: "#fbfafa", tooltip: { backgroundColor: "#8F837A", color: "#fbfafa" } }, controls: { backgroundColor: "#fbfafa", buttonColor: "#fbfafa", color: "#99AA99", border: "1px solid #ebded3" }, title: { color: "#8A9892", subtitle: { color: "#99AA99" } } } } }, Ao = { style: { chart: { backgroundColor: "#f6f6fb", color: "#50606C", layout: { arrowShape: "normal", curvedEdges: !1 }, nodes: { stroke: "#50606C", backgroundColor: "#ffffff", borderRadius: 0, labels: { color: "#50606C" }, tooltip: { backgroundColor: "#50606C", color: "#f6f6fb" } }, edges: { stroke: "#50606C" }, midpoints: { stroke: "#50606C", fill: "#fbfafa", tooltip: { backgroundColor: "#50606C", color: "#f6f6fb" } }, controls: { backgroundColor: "#f6f6fb", buttonColor: "#f6f6fb", color: "#50606C", border: "1px solid #98aab8", borderRadius: "0" }, title: { color: "#50606C", subtitle: { color: "#718890" } } } } }, So = {
|
|
1880
1896
|
default: {},
|
|
1881
|
-
dark:
|
|
1882
|
-
celebration:
|
|
1883
|
-
celebrationNight:
|
|
1884
|
-
hack:
|
|
1885
|
-
zen:
|
|
1886
|
-
concrete:
|
|
1887
|
-
},
|
|
1897
|
+
dark: Eo,
|
|
1898
|
+
celebration: Co,
|
|
1899
|
+
celebrationNight: xo,
|
|
1900
|
+
hack: _o,
|
|
1901
|
+
zen: No,
|
|
1902
|
+
concrete: Ao
|
|
1903
|
+
}, ui = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1888
1904
|
__proto__: null,
|
|
1889
|
-
celebration:
|
|
1890
|
-
celebrationNight:
|
|
1891
|
-
concrete:
|
|
1892
|
-
dark:
|
|
1893
|
-
default:
|
|
1894
|
-
hack:
|
|
1895
|
-
zen:
|
|
1905
|
+
celebration: Co,
|
|
1906
|
+
celebrationNight: xo,
|
|
1907
|
+
concrete: Ao,
|
|
1908
|
+
dark: Eo,
|
|
1909
|
+
default: So,
|
|
1910
|
+
hack: _o,
|
|
1911
|
+
zen: No
|
|
1896
1912
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
1897
|
-
function
|
|
1898
|
-
const o =
|
|
1899
|
-
return rn(o, t);
|
|
1900
|
-
}
|
|
1901
|
-
function ci(e, t) {
|
|
1902
|
-
const o = Ce(e);
|
|
1913
|
+
function yr(e, t) {
|
|
1914
|
+
const o = xe(e);
|
|
1903
1915
|
return ln(o, t);
|
|
1904
1916
|
}
|
|
1905
|
-
function
|
|
1906
|
-
const o =
|
|
1917
|
+
function di(e, t) {
|
|
1918
|
+
const o = xe(e);
|
|
1907
1919
|
return an(o, t);
|
|
1908
1920
|
}
|
|
1909
|
-
function
|
|
1910
|
-
|
|
1921
|
+
function fi(e, t) {
|
|
1922
|
+
const o = xe(e);
|
|
1923
|
+
return cn(o, t);
|
|
1911
1924
|
}
|
|
1912
|
-
|
|
1925
|
+
function hi({ defaultConfig: e, userConfig: t }) {
|
|
1926
|
+
return ro({ defaultConfig: e, userConfig: t });
|
|
1927
|
+
}
|
|
1928
|
+
const kr = {
|
|
1913
1929
|
__name: "BaseZoomControls",
|
|
1914
1930
|
props: {
|
|
1915
1931
|
config: {
|
|
@@ -1934,24 +1950,24 @@ const yr = {
|
|
|
1934
1950
|
emits: ["zoomIn", "zoomOut", "resetZoom", "switchDirection"],
|
|
1935
1951
|
setup(e, { emit: t }) {
|
|
1936
1952
|
const o = t;
|
|
1937
|
-
return (n, s) => (
|
|
1938
|
-
class:
|
|
1953
|
+
return (n, s) => (y(), _("div", {
|
|
1954
|
+
class: it({ "vue-data-ui-zoom-controls": !0, "vue-data-ui-zoom-controls-fullscreen": e.isFullscreen }),
|
|
1939
1955
|
"data-dom-to-png-ignore": "",
|
|
1940
|
-
style:
|
|
1956
|
+
style: q({
|
|
1941
1957
|
border: e.config.style.chart.controls.border,
|
|
1942
1958
|
backgroundColor: e.config.style.chart.controls.backgroundColor,
|
|
1943
1959
|
padding: e.config.style.chart.controls.padding,
|
|
1944
1960
|
borderRadius: e.config.style.chart.controls.borderRadius,
|
|
1945
1961
|
"--vue-data-ui-zoom-control-button-color": e.config.style.chart.controls.buttonColor,
|
|
1946
|
-
"--vue-data-ui-zoom-control-button-color-hover": v(
|
|
1962
|
+
"--vue-data-ui-zoom-control-button-color-hover": v(yr)(e.config.style.chart.controls.buttonColor, 0.2)
|
|
1947
1963
|
})
|
|
1948
1964
|
}, [
|
|
1949
1965
|
G("button", {
|
|
1950
|
-
onClick: s[0] || (s[0] = (
|
|
1966
|
+
onClick: s[0] || (s[0] = (i) => o("zoomOut")),
|
|
1951
1967
|
class: "vue-data-ui-zoom-controls-button",
|
|
1952
1968
|
"data-cy-zoom-out": ""
|
|
1953
1969
|
}, [
|
|
1954
|
-
|
|
1970
|
+
ce(Qe, {
|
|
1955
1971
|
name: "zoomMinus",
|
|
1956
1972
|
stroke: e.config.style.chart.controls.color,
|
|
1957
1973
|
size: e.config.style.chart.controls.fontSize * 1.2
|
|
@@ -1959,46 +1975,46 @@ const yr = {
|
|
|
1959
1975
|
]),
|
|
1960
1976
|
G("button", {
|
|
1961
1977
|
class: "vue-data-ui-zoom-controls-button-zoom",
|
|
1962
|
-
onClick: s[1] || (s[1] = (
|
|
1978
|
+
onClick: s[1] || (s[1] = (i) => o("resetZoom")),
|
|
1963
1979
|
"data-cy-zoom-reset": "",
|
|
1964
|
-
style:
|
|
1980
|
+
style: q({
|
|
1965
1981
|
color: e.config.style.chart.controls.color,
|
|
1966
1982
|
width: e.config.style.chart.controls.fontSize * 4 + "px",
|
|
1967
1983
|
borderRadius: e.config.style.chart.controls.borderRadius,
|
|
1968
1984
|
fontSize: e.config.style.chart.controls.fontSize + "px"
|
|
1969
1985
|
})
|
|
1970
|
-
},
|
|
1986
|
+
}, ae(Math.round(e.scale * 100)) + "% ", 5),
|
|
1971
1987
|
G("button", {
|
|
1972
|
-
onClick: s[2] || (s[2] = (
|
|
1988
|
+
onClick: s[2] || (s[2] = (i) => o("zoomIn")),
|
|
1973
1989
|
class: "vue-data-ui-zoom-controls-button",
|
|
1974
1990
|
"data-cy-zoom-in": ""
|
|
1975
1991
|
}, [
|
|
1976
|
-
|
|
1992
|
+
ce(Qe, {
|
|
1977
1993
|
name: "zoomPlus",
|
|
1978
1994
|
stroke: e.config.style.chart.controls.color,
|
|
1979
1995
|
size: e.config.style.chart.controls.fontSize * 1.2
|
|
1980
1996
|
}, null, 8, ["stroke", "size"])
|
|
1981
1997
|
]),
|
|
1982
|
-
e.withDirection ? (
|
|
1998
|
+
e.withDirection ? (y(), _("button", {
|
|
1983
1999
|
key: 0,
|
|
1984
|
-
onClick: s[3] || (s[3] = (
|
|
2000
|
+
onClick: s[3] || (s[3] = (i) => o("switchDirection")),
|
|
1985
2001
|
class: "vue-data-ui-zoom-controls-button"
|
|
1986
2002
|
}, [
|
|
1987
|
-
|
|
2003
|
+
ce(Qe, {
|
|
1988
2004
|
name: "direction",
|
|
1989
2005
|
stroke: e.config.style.chart.controls.color,
|
|
1990
2006
|
size: e.config.style.chart.controls.fontSize * 1.2
|
|
1991
2007
|
}, null, 8, ["stroke", "size"])
|
|
1992
|
-
])) :
|
|
2008
|
+
])) : S("", !0)
|
|
1993
2009
|
], 6));
|
|
1994
2010
|
}
|
|
1995
|
-
},
|
|
2011
|
+
}, no = /* @__PURE__ */ io(kr, [["__scopeId", "data-v-e4479474"]]), Er = ["id"], Cr = {
|
|
1996
2012
|
key: 0,
|
|
1997
2013
|
class: "dag-chart-error"
|
|
1998
|
-
},
|
|
2014
|
+
}, xr = ["viewBox", "xmlns"], _r = { key: 0 }, Nr = ["id", "markerWidth", "markerHeight", "refX", "refY"], Ar = ["d", "fill", "stroke"], Sr = ["d", "fill", "stroke"], Lr = { class: "vue-ui-dag-edges" }, Or = ["d", "stroke", "stroke-width"], Tr = ["cx", "cy", "r", "fill", "stroke", "stroke-width", "onMouseenter"], Rr = { class: "vue-ui-dag-nodes" }, Mr = ["onClick", "onMouseenter"], $r = ["x", "y", "width", "height", "rx", "fill", "stroke", "stroke-width"], Dr = ["x", "y", "font-size", "fill", "font-weight"], Fr = ["x", "y", "font-size", "fill", "font-weight", "innerHTML"], Pr = { key: 1 }, zr = ["x", "y", "width", "height"], Br = { class: "vue-ui-dag-edges" }, Vr = ["d", "stroke-width", "marker-end"], Ir = {
|
|
1999
2015
|
key: 6,
|
|
2000
2016
|
class: "vue-data-ui-watermark"
|
|
2001
|
-
},
|
|
2017
|
+
}, Gr = ["data-position"], jr = { key: 0 }, Wr = ["data-position"], Yr = { key: 0 }, so = 1.5, Hr = {
|
|
2002
2018
|
__name: "vue-ui-dag",
|
|
2003
2019
|
props: {
|
|
2004
2020
|
dataset: {
|
|
@@ -2019,10 +2035,10 @@ const yr = {
|
|
|
2019
2035
|
},
|
|
2020
2036
|
emits: ["onNodeClick", "onMidpointEnter", "onMidpointLeave"],
|
|
2021
2037
|
setup(e, { expose: t, emit: o }) {
|
|
2022
|
-
const n =
|
|
2023
|
-
...
|
|
2038
|
+
const n = qe(() => import("./PenAndPaper-DscVdZ1u.js")), s = qe(() => import("./UserOptions-ChRXLqps.js")), i = qe(() => import("./PackageVersion-C8V4NAR4.js")), { vue_ui_dag: r } = vn(), { isThemeValid: l, warnInvalidTheme: a } = kn(), c = e, d = o, f = k(null), g = k(lt()), b = k(null), N = k(null), x = k(null), T = k(0), Y = k(0), he = k(!1), ne = k(!1), R = k(null), P = k(null), u = k(We()), I = k(u.value.style.chart.width), H = k(u.value.style.chart.height), Se = k({ x: 0, y: 0 }), z = k(null), Le = k(null), Oe = k({ left: "0px", top: "0px" }), me = k("top"), J = k(!1), ft = k({ x: 0, y: 0 }), ht = k({ x: 0, y: 0 }), ge = k(null), Ie = k(null), Ge = k({ left: "0px", top: "0px" }), mt = k("top"), Te = k(!1), ve = k(!1), { svgRef: Q } = Cn({ config: u.value.style.chart.title }), { userOptionsVisible: je, setUserOptionsVisibility: gt, keepUserOptionState: vt } = En({ config: u.value }), Z = k(u.value.style.chart.layout.rankDirection), { loading: be, FINAL_DATASET: bt, manualLoading: pt } = bn({
|
|
2039
|
+
...en(c),
|
|
2024
2040
|
FINAL_CONFIG: u,
|
|
2025
|
-
prepareConfig:
|
|
2041
|
+
prepareConfig: We,
|
|
2026
2042
|
skeletonDataset: {
|
|
2027
2043
|
nodes: [
|
|
2028
2044
|
{ id: "A", label: "" },
|
|
@@ -2034,7 +2050,7 @@ const yr = {
|
|
|
2034
2050
|
{ from: "A", to: "C" }
|
|
2035
2051
|
]
|
|
2036
2052
|
},
|
|
2037
|
-
skeletonConfig:
|
|
2053
|
+
skeletonConfig: ro({
|
|
2038
2054
|
defaultConfig: u.value,
|
|
2039
2055
|
userConfig: {
|
|
2040
2056
|
userOptions: { show: !1 },
|
|
@@ -2057,64 +2073,64 @@ const yr = {
|
|
|
2057
2073
|
}
|
|
2058
2074
|
})
|
|
2059
2075
|
});
|
|
2060
|
-
function
|
|
2061
|
-
const m =
|
|
2076
|
+
function We() {
|
|
2077
|
+
const m = Je({
|
|
2062
2078
|
userConfig: c.config,
|
|
2063
|
-
defaultConfig:
|
|
2079
|
+
defaultConfig: r
|
|
2064
2080
|
}), p = m.theme;
|
|
2065
2081
|
if (!p) return m;
|
|
2066
2082
|
if (!l.value(m))
|
|
2067
2083
|
return a(m), m;
|
|
2068
|
-
const h =
|
|
2069
|
-
userConfig:
|
|
2084
|
+
const h = Je({
|
|
2085
|
+
userConfig: So[p] || c.config,
|
|
2070
2086
|
defaultConfig: m
|
|
2071
2087
|
});
|
|
2072
|
-
return
|
|
2088
|
+
return Je({
|
|
2073
2089
|
userConfig: c.config,
|
|
2074
2090
|
defaultConfig: h
|
|
2075
2091
|
});
|
|
2076
2092
|
}
|
|
2077
|
-
const
|
|
2078
|
-
|
|
2079
|
-
|
|
2093
|
+
const wt = W(() => !!u.value.debug);
|
|
2094
|
+
Vt(async () => {
|
|
2095
|
+
un(c.dataset) && (jt({
|
|
2080
2096
|
componentName: "VueUiDag",
|
|
2081
2097
|
type: "dataset",
|
|
2082
|
-
debug:
|
|
2083
|
-
}),
|
|
2098
|
+
debug: wt.value
|
|
2099
|
+
}), ne.value = !1, pt.value = !0), c.dataset.nodes || (jt({
|
|
2084
2100
|
componentName: "VueUiDag",
|
|
2085
2101
|
type: "datasetAttributeEmpty",
|
|
2086
2102
|
property: "nodes",
|
|
2087
2103
|
index: 0,
|
|
2088
|
-
debug:
|
|
2089
|
-
}),
|
|
2090
|
-
}),
|
|
2091
|
-
|
|
2104
|
+
debug: wt.value
|
|
2105
|
+
}), ne.value = !1, pt.value = !0), ne.value = !0, await De(), zt();
|
|
2106
|
+
}), Fe(() => c.config, async (m) => {
|
|
2107
|
+
be.value || (u.value = We()), je.value = !u.value.userOptions.showOnChartHover, T.value += 1, Z.value = u.value.style.chart.layout.rankDirection, I.value = u.value.style.chart.width, H.value = u.value.style.chart.height, se.value = u.value.style.chart.zoom.active, await De(), zt();
|
|
2092
2108
|
}, { deep: !0 });
|
|
2093
|
-
const { isPrinting:
|
|
2109
|
+
const { isPrinting: yt, isImaging: kt, generatePdf: Et, generateImage: Ct } = wn({
|
|
2094
2110
|
elementId: `dag_${g.value}`,
|
|
2095
2111
|
fileName: u.value.style.chart.title.text || "vue-ui-dag",
|
|
2096
2112
|
options: u.value.userOptions.print
|
|
2097
|
-
}),
|
|
2098
|
-
svg:
|
|
2099
|
-
title:
|
|
2113
|
+
}), Lo = W(() => u.value.style.chart.backgroundColor), Oo = W(() => u.value.style.chart.title), { exportSvg: To, getSvg: Ro } = yn({
|
|
2114
|
+
svg: Q,
|
|
2115
|
+
title: Oo,
|
|
2100
2116
|
legend: void 0,
|
|
2101
2117
|
legendItems: void 0,
|
|
2102
|
-
backgroundColor:
|
|
2118
|
+
backgroundColor: Lo
|
|
2103
2119
|
});
|
|
2104
|
-
async function
|
|
2120
|
+
async function xt({ isCb: m }) {
|
|
2105
2121
|
if (m) {
|
|
2106
2122
|
const { blob: p, url: h, text: w, dataUrl: O } = await Ro();
|
|
2107
2123
|
u.value.userOptions.callbacks.svg({ blob: p, url: h, text: w, dataUrl: O });
|
|
2108
2124
|
} else
|
|
2109
|
-
|
|
2110
|
-
}
|
|
2111
|
-
function To() {
|
|
2112
|
-
fe.value = !0, ht(!0);
|
|
2125
|
+
To();
|
|
2113
2126
|
}
|
|
2114
2127
|
function Mo() {
|
|
2115
|
-
|
|
2128
|
+
he.value = !0, gt(!0);
|
|
2129
|
+
}
|
|
2130
|
+
function $o() {
|
|
2131
|
+
gt(!1), he.value = !1;
|
|
2116
2132
|
}
|
|
2117
|
-
function
|
|
2133
|
+
function _t({
|
|
2118
2134
|
tooltipRef: m,
|
|
2119
2135
|
isVisibleRef: p,
|
|
2120
2136
|
anchorRef: h,
|
|
@@ -2124,77 +2140,77 @@ const yr = {
|
|
|
2124
2140
|
margin: C = 24
|
|
2125
2141
|
}) {
|
|
2126
2142
|
return function() {
|
|
2127
|
-
const
|
|
2128
|
-
if (!
|
|
2129
|
-
const
|
|
2130
|
-
let F = Me -
|
|
2143
|
+
const te = m.value;
|
|
2144
|
+
if (!te || !p.value) return;
|
|
2145
|
+
const L = te.getBoundingClientRect(), D = window.innerWidth, we = window.innerHeight, ye = h.value.x, Me = h.value.y, $e = $?.value?.x ?? 0, Bt = $?.value?.y ?? 0;
|
|
2146
|
+
let F = Me - Bt - L.height - C, U = ye - L.width / 2, ke = "top";
|
|
2131
2147
|
if (F < C) {
|
|
2132
|
-
const
|
|
2133
|
-
|
|
2148
|
+
const ie = Me + Bt + C;
|
|
2149
|
+
ie + L.height <= we - C ? (F = ie, ke = "bottom") : (F = Me - L.height / 2, F < C && (F = C), F + L.height > we - C && (F = we - L.height - C), ke = "center");
|
|
2134
2150
|
}
|
|
2135
|
-
|
|
2136
|
-
const
|
|
2137
|
-
if ((
|
|
2138
|
-
let
|
|
2139
|
-
const
|
|
2140
|
-
D - (
|
|
2151
|
+
U < C && (U = C), U + L.width > D - C && (U = D - L.width - C);
|
|
2152
|
+
const qo = U <= C, Ko = U + L.width >= D - C;
|
|
2153
|
+
if ((qo || Ko) && ke !== "center") {
|
|
2154
|
+
let ie, Ee;
|
|
2155
|
+
const Jo = ye - $e - C;
|
|
2156
|
+
D - (ye + $e) - C >= Jo ? (ie = "right", Ee = ye + $e + C) : (ie = "left", Ee = ye - $e - C - L.width), Ee >= C && Ee + L.width <= D - C && (U = Ee, F = Me - L.height / 2, F < C && (F = C), F + L.height > we - C && (F = we - L.height - C), ke = ie);
|
|
2141
2157
|
}
|
|
2142
|
-
O.value =
|
|
2143
|
-
left: `${
|
|
2158
|
+
O.value = ke, w.value = {
|
|
2159
|
+
left: `${U}px`,
|
|
2144
2160
|
top: `${F}px`
|
|
2145
2161
|
};
|
|
2146
2162
|
};
|
|
2147
2163
|
}
|
|
2148
|
-
const
|
|
2164
|
+
const Do = W(() => bt.value.nodes.map((m) => ({
|
|
2149
2165
|
...m,
|
|
2150
|
-
backgroundColor: m.backgroundColor ?
|
|
2151
|
-
color: m.color ?
|
|
2152
|
-
}))),
|
|
2166
|
+
backgroundColor: m.backgroundColor ? xe(m.backgroundColor) : u.value.style.chart.nodes.backgroundColor,
|
|
2167
|
+
color: m.color ? xe(m.color) : u.value.style.chart.nodes.labels.color
|
|
2168
|
+
}))), Fo = W(() => bt.value.edges), Po = W(() => ({
|
|
2153
2169
|
...u.value.style.chart.layout,
|
|
2154
|
-
rankDirection:
|
|
2155
|
-
})), { layoutData: E, lastError:
|
|
2156
|
-
nodes:
|
|
2157
|
-
edges:
|
|
2158
|
-
configuration:
|
|
2170
|
+
rankDirection: Z.value
|
|
2171
|
+
})), { layoutData: E, lastError: Nt, arrowMarkerIdentifier: zo } = wr({
|
|
2172
|
+
nodes: Do,
|
|
2173
|
+
edges: Fo,
|
|
2174
|
+
configuration: Po
|
|
2159
2175
|
});
|
|
2160
|
-
function
|
|
2176
|
+
function At(m) {
|
|
2161
2177
|
return E.value ? E.value.nodes.find((p) => p.id === m) : null;
|
|
2162
2178
|
}
|
|
2163
|
-
const
|
|
2179
|
+
const Bo = W(() => {
|
|
2164
2180
|
if (!E.value) return [];
|
|
2165
2181
|
const m = u.value.style.chart.edges.stroke, p = /* @__PURE__ */ new Set();
|
|
2166
2182
|
return E.value.edges.forEach((h) => {
|
|
2167
2183
|
p.add(h.original?.color || m);
|
|
2168
2184
|
}), Array.from(p);
|
|
2169
2185
|
});
|
|
2170
|
-
function
|
|
2171
|
-
return `${
|
|
2186
|
+
function St(m) {
|
|
2187
|
+
return `${zo}-${String(m).replace(/[^a-zA-Z0-9_-]/g, "_")}`;
|
|
2172
2188
|
}
|
|
2173
|
-
const
|
|
2189
|
+
const Lt = W(() => {
|
|
2174
2190
|
const m = I.value, p = H.value, h = Number(m), w = Number(p), O = Number.isFinite(h) && h > 0, $ = Number.isFinite(w) && w > 0;
|
|
2175
2191
|
return !O && !$ ? null : {
|
|
2176
2192
|
width: O ? h : null,
|
|
2177
2193
|
height: $ ? w : null
|
|
2178
2194
|
};
|
|
2179
|
-
}),
|
|
2180
|
-
viewBox:
|
|
2181
|
-
resetZoom:
|
|
2182
|
-
setInitialViewBox:
|
|
2183
|
-
scale:
|
|
2184
|
-
zoomByFactor:
|
|
2185
|
-
} =
|
|
2186
|
-
|
|
2195
|
+
}), pe = k(null), se = k(u.value.style.chart.zoom.active), {
|
|
2196
|
+
viewBox: Ot,
|
|
2197
|
+
resetZoom: Re,
|
|
2198
|
+
setInitialViewBox: Vo,
|
|
2199
|
+
scale: Tt,
|
|
2200
|
+
zoomByFactor: Rt
|
|
2201
|
+
} = gn(
|
|
2202
|
+
Q,
|
|
2187
2203
|
{ x: 0, y: 0, width: 100, height: 100 },
|
|
2188
2204
|
1,
|
|
2189
|
-
|
|
2205
|
+
se,
|
|
2190
2206
|
() => {
|
|
2191
|
-
|
|
2207
|
+
J.value = !1;
|
|
2192
2208
|
}
|
|
2193
2209
|
);
|
|
2194
|
-
function
|
|
2195
|
-
|
|
2210
|
+
function Io() {
|
|
2211
|
+
se.value = !se.value;
|
|
2196
2212
|
}
|
|
2197
|
-
function
|
|
2213
|
+
function Mt() {
|
|
2198
2214
|
const m = E.value && E.value.viewBox;
|
|
2199
2215
|
if (!m) return;
|
|
2200
2216
|
const p = String(m).split(" ").map(Number);
|
|
@@ -2202,125 +2218,125 @@ const yr = {
|
|
|
2202
2218
|
const [h, w, O, $] = p;
|
|
2203
2219
|
if (!Number.isFinite(h) || !Number.isFinite(w) || !Number.isFinite(O) || !Number.isFinite($))
|
|
2204
2220
|
return;
|
|
2205
|
-
let C = O,
|
|
2206
|
-
const D =
|
|
2207
|
-
D && (D.width !== null && (C = D.width), D.height !== null && (
|
|
2208
|
-
{ x:
|
|
2221
|
+
let C = O, re = $, te = h, L = w;
|
|
2222
|
+
const D = Lt.value;
|
|
2223
|
+
D && (D.width !== null && (C = D.width), D.height !== null && (re = D.height), te = h - (C - O) / 2, L = w - (re - $) / 2), Vo(
|
|
2224
|
+
{ x: te, y: L, width: C, height: re },
|
|
2209
2225
|
{ overwriteCurrentIfNotZoomed: !0 }
|
|
2210
2226
|
);
|
|
2211
2227
|
}
|
|
2212
|
-
|
|
2228
|
+
Fe(
|
|
2213
2229
|
() => E.value && E.value.viewBox,
|
|
2214
2230
|
() => {
|
|
2215
|
-
|
|
2231
|
+
Mt();
|
|
2216
2232
|
},
|
|
2217
2233
|
{ immediate: !0 }
|
|
2218
|
-
),
|
|
2219
|
-
() =>
|
|
2234
|
+
), Fe(
|
|
2235
|
+
() => Lt.value,
|
|
2220
2236
|
() => {
|
|
2221
|
-
|
|
2237
|
+
Mt();
|
|
2222
2238
|
}
|
|
2223
|
-
),
|
|
2224
|
-
|
|
2239
|
+
), Fe(() => ve.value, (m) => {
|
|
2240
|
+
se.value = !m;
|
|
2225
2241
|
});
|
|
2226
|
-
const
|
|
2227
|
-
const m =
|
|
2242
|
+
const Go = W(() => {
|
|
2243
|
+
const m = Ot.value;
|
|
2228
2244
|
return m ? `${m.x} ${m.y} ${m.width} ${m.height}` : "0 0 0 0";
|
|
2229
|
-
}),
|
|
2230
|
-
function
|
|
2231
|
-
|
|
2232
|
-
}
|
|
2233
|
-
function We() {
|
|
2234
|
-
ge.value = !ge.value;
|
|
2245
|
+
}), ee = k(!1);
|
|
2246
|
+
function $t(m) {
|
|
2247
|
+
ee.value = m, Y.value += 1;
|
|
2235
2248
|
}
|
|
2236
2249
|
function Ye() {
|
|
2237
|
-
|
|
2250
|
+
ve.value = !ve.value;
|
|
2238
2251
|
}
|
|
2239
2252
|
function He() {
|
|
2240
|
-
|
|
2253
|
+
Rt(so, !0);
|
|
2241
2254
|
}
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
Re.value = Ze[(Ze.indexOf(Re.value) + 1) % Ze.length], Te();
|
|
2255
|
+
function Ze() {
|
|
2256
|
+
Rt(1 / so, !0);
|
|
2245
2257
|
}
|
|
2246
|
-
const
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2258
|
+
const Ue = ["TB", "RL", "BT", "LR"];
|
|
2259
|
+
function Xe() {
|
|
2260
|
+
Z.value = Ue[(Ue.indexOf(Z.value) + 1) % Ue.length], Re();
|
|
2261
|
+
}
|
|
2262
|
+
const jo = _t({
|
|
2263
|
+
tooltipRef: Le,
|
|
2264
|
+
isVisibleRef: Te,
|
|
2265
|
+
anchorRef: Se,
|
|
2266
|
+
styleRef: Oe,
|
|
2267
|
+
placementRef: me
|
|
2268
|
+
}), Wo = _t({
|
|
2269
|
+
tooltipRef: Ie,
|
|
2270
|
+
isVisibleRef: J,
|
|
2271
|
+
anchorRef: ft,
|
|
2272
|
+
styleRef: Ge,
|
|
2273
|
+
placementRef: mt,
|
|
2274
|
+
offsetRef: ht
|
|
2259
2275
|
});
|
|
2260
|
-
async function
|
|
2276
|
+
async function Yo(m) {
|
|
2261
2277
|
d("onMidpointEnter", m);
|
|
2262
|
-
const p =
|
|
2278
|
+
const p = Q.value;
|
|
2263
2279
|
if (!p || !m?.midpoint) return;
|
|
2264
2280
|
const h = p.createSVGPoint();
|
|
2265
2281
|
h.x = m.midpoint.x, h.y = m.midpoint.y;
|
|
2266
2282
|
const w = p.getScreenCTM();
|
|
2267
2283
|
if (!w) return;
|
|
2268
2284
|
const O = h.matrixTransform(w);
|
|
2269
|
-
|
|
2285
|
+
Se.value = {
|
|
2270
2286
|
x: O.x,
|
|
2271
2287
|
y: O.y
|
|
2272
|
-
}, z.value = m,
|
|
2288
|
+
}, z.value = m, Te.value = !0, await De(), jo();
|
|
2273
2289
|
}
|
|
2274
|
-
function
|
|
2275
|
-
|
|
2290
|
+
function Ho() {
|
|
2291
|
+
Te.value = !1, z.value = null, d("onMidpointLeave");
|
|
2276
2292
|
}
|
|
2277
|
-
async function
|
|
2293
|
+
async function Zo(m) {
|
|
2278
2294
|
if (d("onNodeClick", m), !u.value.style.chart.nodes.tooltip.showOnClick) return;
|
|
2279
|
-
const p =
|
|
2295
|
+
const p = Q.value;
|
|
2280
2296
|
if (!p) return;
|
|
2281
2297
|
const h = p.createSVGPoint();
|
|
2282
2298
|
h.x = m.x, h.y = m.y;
|
|
2283
2299
|
const w = p.getScreenCTM();
|
|
2284
2300
|
if (!w) return;
|
|
2285
|
-
const O = h.matrixTransform(w), $ = u.value.style.chart.layout.nodeWidth, C = u.value.style.chart.layout.nodeHeight,
|
|
2286
|
-
|
|
2287
|
-
x:
|
|
2301
|
+
const O = h.matrixTransform(w), $ = u.value.style.chart.layout.nodeWidth, C = u.value.style.chart.layout.nodeHeight, re = w.a, te = w.d, L = $ * re, D = C * te;
|
|
2302
|
+
ht.value = {
|
|
2303
|
+
x: L / 2,
|
|
2288
2304
|
y: D / 2
|
|
2289
|
-
},
|
|
2305
|
+
}, ft.value = {
|
|
2290
2306
|
x: O.x,
|
|
2291
2307
|
y: O.y
|
|
2292
|
-
},
|
|
2308
|
+
}, ge.value = m, J.value = !0, await De(), Wo();
|
|
2293
2309
|
}
|
|
2294
|
-
function
|
|
2295
|
-
|
|
2310
|
+
function Dt() {
|
|
2311
|
+
J.value = !1, ge.value = null;
|
|
2296
2312
|
}
|
|
2297
|
-
function
|
|
2298
|
-
if (!
|
|
2299
|
-
const p =
|
|
2313
|
+
function Ft(m) {
|
|
2314
|
+
if (!J.value) return;
|
|
2315
|
+
const p = Ie.value;
|
|
2300
2316
|
if (p && p.contains(m.target))
|
|
2301
2317
|
return;
|
|
2302
|
-
const h =
|
|
2303
|
-
h && h.contains(m.target) && m.target.closest(".vue-ui-dag-node") ||
|
|
2318
|
+
const h = Q.value;
|
|
2319
|
+
h && h.contains(m.target) && m.target.closest(".vue-ui-dag-node") || Dt();
|
|
2304
2320
|
}
|
|
2305
|
-
function
|
|
2306
|
-
m.key === "Escape" &&
|
|
2321
|
+
function Pt(m) {
|
|
2322
|
+
m.key === "Escape" && J.value && Dt();
|
|
2307
2323
|
}
|
|
2308
|
-
|
|
2309
|
-
document.addEventListener("mousedown",
|
|
2310
|
-
}),
|
|
2311
|
-
document.removeEventListener("mousedown",
|
|
2324
|
+
Vt(() => {
|
|
2325
|
+
document.addEventListener("mousedown", Ft), document.addEventListener("keydown", Pt);
|
|
2326
|
+
}), tn(() => {
|
|
2327
|
+
document.removeEventListener("mousedown", Ft), document.removeEventListener("keydown", Pt), R.value && (P.value && R.value.unobserve(P.value), R.value.disconnect());
|
|
2312
2328
|
});
|
|
2313
|
-
function
|
|
2329
|
+
function zt() {
|
|
2314
2330
|
if (!u.value.responsive) {
|
|
2315
2331
|
R.value && (P.value && R.value.unobserve(P.value), R.value.disconnect(), R.value = null, P.value = null);
|
|
2316
2332
|
return;
|
|
2317
2333
|
}
|
|
2318
|
-
const m =
|
|
2334
|
+
const m = hn(() => {
|
|
2319
2335
|
if (!f.value) return;
|
|
2320
|
-
const { width: p, height: h } =
|
|
2336
|
+
const { width: p, height: h } = mn({
|
|
2321
2337
|
chart: f.value,
|
|
2322
2338
|
title: u.value.style.chart.title.text ? b.value : null,
|
|
2323
|
-
legend: u.value.style.chart.controls.show ?
|
|
2339
|
+
legend: u.value.style.chart.controls.show ? x.value?.$el : null,
|
|
2324
2340
|
source: N.value
|
|
2325
2341
|
});
|
|
2326
2342
|
requestAnimationFrame(() => {
|
|
@@ -2329,9 +2345,9 @@ const yr = {
|
|
|
2329
2345
|
});
|
|
2330
2346
|
R.value && (P.value && R.value.unobserve(P.value), R.value.disconnect()), R.value = new ResizeObserver(m), P.value = f.value ? f.value.parentNode : null, P.value && R.value.observe(P.value), m();
|
|
2331
2347
|
}
|
|
2332
|
-
async function
|
|
2348
|
+
async function Uo({ scale: m = 2 } = {}) {
|
|
2333
2349
|
if (!f.value) return;
|
|
2334
|
-
const { width: p, height: h } = f.value.getBoundingClientRect(), w = p / h, { imageUri: O, base64: $ } = await
|
|
2350
|
+
const { width: p, height: h } = f.value.getBoundingClientRect(), w = p / h, { imageUri: O, base64: $ } = await _n({ domElement: f.value, base64: !0, img: !0, scale: m });
|
|
2335
2351
|
return {
|
|
2336
2352
|
imageUri: O,
|
|
2337
2353
|
base64: $,
|
|
@@ -2341,70 +2357,70 @@ const yr = {
|
|
|
2341
2357
|
aspectRatio: w
|
|
2342
2358
|
};
|
|
2343
2359
|
}
|
|
2344
|
-
function
|
|
2360
|
+
function Xo() {
|
|
2345
2361
|
return E.value;
|
|
2346
2362
|
}
|
|
2347
2363
|
return t({
|
|
2348
|
-
getData:
|
|
2349
|
-
getImage:
|
|
2350
|
-
generatePdf:
|
|
2351
|
-
generateSvg:
|
|
2352
|
-
generateImage:
|
|
2353
|
-
toggleAnnotator:
|
|
2354
|
-
toggleFullscreen:
|
|
2355
|
-
zoomIn:
|
|
2356
|
-
zoomOut:
|
|
2357
|
-
resetZoom:
|
|
2358
|
-
switchDirection:
|
|
2359
|
-
}), (m, p) => (
|
|
2360
|
-
class:
|
|
2364
|
+
getData: Xo,
|
|
2365
|
+
getImage: Uo,
|
|
2366
|
+
generatePdf: Et,
|
|
2367
|
+
generateSvg: xt,
|
|
2368
|
+
generateImage: Ct,
|
|
2369
|
+
toggleAnnotator: Ye,
|
|
2370
|
+
toggleFullscreen: $t,
|
|
2371
|
+
zoomIn: He,
|
|
2372
|
+
zoomOut: Ze,
|
|
2373
|
+
resetZoom: Re,
|
|
2374
|
+
switchDirection: Xe
|
|
2375
|
+
}), (m, p) => (y(), _("div", {
|
|
2376
|
+
class: it(`vue-data-ui-component vue-ui-dag ${ee.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${u.value.responsive ? "vue-ui-dag-responsive" : ""}`),
|
|
2361
2377
|
id: `dag_${g.value}`,
|
|
2362
2378
|
ref_key: "dagChart",
|
|
2363
2379
|
ref: f,
|
|
2364
|
-
style:
|
|
2380
|
+
style: q({
|
|
2365
2381
|
fontFamily: u.value.style.fontFamily,
|
|
2366
2382
|
backgroundColor: u.value.style.chart.backgroundColor,
|
|
2367
2383
|
padding: "0.5rem"
|
|
2368
2384
|
}),
|
|
2369
|
-
onMouseenter:
|
|
2370
|
-
onMouseleave:
|
|
2385
|
+
onMouseenter: Mo,
|
|
2386
|
+
onMouseleave: $o
|
|
2371
2387
|
}, [
|
|
2372
|
-
v(
|
|
2373
|
-
u.value.userOptions.buttons.annotator ? (
|
|
2388
|
+
v(Nt) ? (y(), _("div", Cr, ae(String(v(Nt))), 1)) : S("", !0),
|
|
2389
|
+
u.value.userOptions.buttons.annotator ? (y(), X(v(n), {
|
|
2374
2390
|
key: 1,
|
|
2375
|
-
svgRef: v(
|
|
2391
|
+
svgRef: v(Q),
|
|
2376
2392
|
backgroundColor: u.value.style.chart.backgroundColor,
|
|
2377
2393
|
color: u.value.style.chart.color,
|
|
2378
|
-
active:
|
|
2379
|
-
onClose:
|
|
2394
|
+
active: ve.value,
|
|
2395
|
+
onClose: Ye
|
|
2380
2396
|
}, {
|
|
2381
|
-
"annotator-action-close":
|
|
2397
|
+
"annotator-action-close": M(() => [
|
|
2382
2398
|
A(m.$slots, "annotator-action-close", {}, void 0, !0)
|
|
2383
2399
|
]),
|
|
2384
|
-
"annotator-action-color":
|
|
2400
|
+
"annotator-action-color": M(({ color: h }) => [
|
|
2385
2401
|
A(m.$slots, "annotator-action-color", B(V({ color: h })), void 0, !0)
|
|
2386
2402
|
]),
|
|
2387
|
-
"annotator-action-draw":
|
|
2403
|
+
"annotator-action-draw": M(({ mode: h }) => [
|
|
2388
2404
|
A(m.$slots, "annotator-action-draw", B(V({ mode: h })), void 0, !0)
|
|
2389
2405
|
]),
|
|
2390
|
-
"annotator-action-undo":
|
|
2406
|
+
"annotator-action-undo": M(({ disabled: h }) => [
|
|
2391
2407
|
A(m.$slots, "annotator-action-undo", B(V({ disabled: h })), void 0, !0)
|
|
2392
2408
|
]),
|
|
2393
|
-
"annotator-action-redo":
|
|
2409
|
+
"annotator-action-redo": M(({ disabled: h }) => [
|
|
2394
2410
|
A(m.$slots, "annotator-action-redo", B(V({ disabled: h })), void 0, !0)
|
|
2395
2411
|
]),
|
|
2396
|
-
"annotator-action-delete":
|
|
2412
|
+
"annotator-action-delete": M(({ disabled: h }) => [
|
|
2397
2413
|
A(m.$slots, "annotator-action-delete", B(V({ disabled: h })), void 0, !0)
|
|
2398
2414
|
]),
|
|
2399
2415
|
_: 3
|
|
2400
|
-
}, 8, ["svgRef", "backgroundColor", "color", "active"])) :
|
|
2401
|
-
u.value.userOptions.show &&
|
|
2416
|
+
}, 8, ["svgRef", "backgroundColor", "color", "active"])) : S("", !0),
|
|
2417
|
+
u.value.userOptions.show && ne.value && (v(vt) || v(je)) ? (y(), X(v(s), {
|
|
2402
2418
|
ref: "userOptionsRef",
|
|
2403
2419
|
key: `user_option_${Y.value}`,
|
|
2404
2420
|
backgroundColor: u.value.style.chart.backgroundColor,
|
|
2405
2421
|
color: u.value.style.chart.color,
|
|
2406
|
-
isPrinting: v(
|
|
2407
|
-
isImaging: v(
|
|
2422
|
+
isPrinting: v(yt),
|
|
2423
|
+
isImaging: v(kt),
|
|
2408
2424
|
uid: g.value,
|
|
2409
2425
|
hasTooltip: !1,
|
|
2410
2426
|
hasTable: !1,
|
|
@@ -2414,84 +2430,84 @@ const yr = {
|
|
|
2414
2430
|
hasImg: u.value.userOptions.buttons.img,
|
|
2415
2431
|
hasSvg: u.value.userOptions.buttons.svg,
|
|
2416
2432
|
hasFullscreen: u.value.userOptions.buttons.fullscreen,
|
|
2417
|
-
isFullscreen:
|
|
2433
|
+
isFullscreen: ee.value,
|
|
2418
2434
|
chartElement: f.value,
|
|
2419
2435
|
position: u.value.userOptions.position,
|
|
2420
2436
|
titles: { ...u.value.userOptions.buttonTitles },
|
|
2421
2437
|
hasAnnotator: u.value.userOptions.buttons.annotator,
|
|
2422
|
-
isAnnotation:
|
|
2438
|
+
isAnnotation: ve.value,
|
|
2423
2439
|
callbacks: u.value.userOptions.callbacks,
|
|
2424
2440
|
printScale: u.value.userOptions.print.scale,
|
|
2425
2441
|
hasZoom: u.value.userOptions.buttons.zoom,
|
|
2426
|
-
isZoom:
|
|
2427
|
-
onToggleFullscreen:
|
|
2428
|
-
onGeneratePdf: v(
|
|
2429
|
-
onGenerateImage: v(
|
|
2430
|
-
onGenerateSvg:
|
|
2431
|
-
onToggleAnnotator:
|
|
2432
|
-
onToggleZoom:
|
|
2433
|
-
style:
|
|
2434
|
-
visibility: v(
|
|
2442
|
+
isZoom: se.value,
|
|
2443
|
+
onToggleFullscreen: $t,
|
|
2444
|
+
onGeneratePdf: v(Et),
|
|
2445
|
+
onGenerateImage: v(Ct),
|
|
2446
|
+
onGenerateSvg: xt,
|
|
2447
|
+
onToggleAnnotator: Ye,
|
|
2448
|
+
onToggleZoom: Io,
|
|
2449
|
+
style: q({
|
|
2450
|
+
visibility: v(vt) ? v(je) ? "visible" : "hidden" : "visible"
|
|
2435
2451
|
})
|
|
2436
|
-
},
|
|
2452
|
+
}, on({ _: 2 }, [
|
|
2437
2453
|
m.$slots.menuIcon ? {
|
|
2438
2454
|
name: "menuIcon",
|
|
2439
|
-
fn:
|
|
2455
|
+
fn: M(({ isOpen: h, color: w }) => [
|
|
2440
2456
|
A(m.$slots, "menuIcon", B(V({ isOpen: h, color: w })), void 0, !0)
|
|
2441
2457
|
]),
|
|
2442
2458
|
key: "0"
|
|
2443
2459
|
} : void 0,
|
|
2444
2460
|
m.$slots.optionPdf ? {
|
|
2445
2461
|
name: "optionPdf",
|
|
2446
|
-
fn:
|
|
2462
|
+
fn: M(() => [
|
|
2447
2463
|
A(m.$slots, "optionPdf", {}, void 0, !0)
|
|
2448
2464
|
]),
|
|
2449
2465
|
key: "1"
|
|
2450
2466
|
} : void 0,
|
|
2451
2467
|
m.$slots.optionImg ? {
|
|
2452
2468
|
name: "optionImg",
|
|
2453
|
-
fn:
|
|
2469
|
+
fn: M(() => [
|
|
2454
2470
|
A(m.$slots, "optionImg", {}, void 0, !0)
|
|
2455
2471
|
]),
|
|
2456
2472
|
key: "2"
|
|
2457
2473
|
} : void 0,
|
|
2458
2474
|
m.$slots.optionSvg ? {
|
|
2459
2475
|
name: "optionSvg",
|
|
2460
|
-
fn:
|
|
2476
|
+
fn: M(() => [
|
|
2461
2477
|
A(m.$slots, "optionSvg", {}, void 0, !0)
|
|
2462
2478
|
]),
|
|
2463
2479
|
key: "3"
|
|
2464
2480
|
} : void 0,
|
|
2465
2481
|
m.$slots.optionFullscreen ? {
|
|
2466
2482
|
name: "optionFullscreen",
|
|
2467
|
-
fn:
|
|
2483
|
+
fn: M(({ toggleFullscreen: h, isFullscreen: w }) => [
|
|
2468
2484
|
A(m.$slots, "optionFullscreen", B(V({ toggleFullscreen: h, isFullscreen: w })), void 0, !0)
|
|
2469
2485
|
]),
|
|
2470
2486
|
key: "4"
|
|
2471
2487
|
} : void 0,
|
|
2472
2488
|
m.$slots.optionAnnotator ? {
|
|
2473
2489
|
name: "optionAnnotator",
|
|
2474
|
-
fn:
|
|
2490
|
+
fn: M(({ toggleAnnotator: h, isAnnotator: w }) => [
|
|
2475
2491
|
A(m.$slots, "optionAnnotator", B(V({ toggleAnnotator: h, isAnnotator: w })), void 0, !0)
|
|
2476
2492
|
]),
|
|
2477
2493
|
key: "5"
|
|
2478
2494
|
} : void 0,
|
|
2479
2495
|
m.$slots.optionZoom ? {
|
|
2480
2496
|
name: "optionZoom",
|
|
2481
|
-
fn:
|
|
2497
|
+
fn: M(({ toggleZoom: h, isZoomLocked: w }) => [
|
|
2482
2498
|
A(m.$slots, "optionZoom", B(V({ toggleZoom: h, isZoomLocked: w })), void 0, !0)
|
|
2483
2499
|
]),
|
|
2484
2500
|
key: "6"
|
|
2485
2501
|
} : void 0
|
|
2486
|
-
]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasSvg", "hasFullscreen", "isFullscreen", "chartElement", "position", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "hasZoom", "isZoom", "onGeneratePdf", "onGenerateImage", "style"])) :
|
|
2487
|
-
u.value.style.chart.title.text ? (
|
|
2502
|
+
]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasSvg", "hasFullscreen", "isFullscreen", "chartElement", "position", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "hasZoom", "isZoom", "onGeneratePdf", "onGenerateImage", "style"])) : S("", !0),
|
|
2503
|
+
u.value.style.chart.title.text ? (y(), _("div", {
|
|
2488
2504
|
key: 3,
|
|
2489
2505
|
ref_key: "chartTitle",
|
|
2490
2506
|
ref: b,
|
|
2491
2507
|
style: "width:100%;background:transparent;"
|
|
2492
2508
|
}, [
|
|
2493
|
-
(
|
|
2494
|
-
key: `title_${
|
|
2509
|
+
(y(), X(xn, {
|
|
2510
|
+
key: `title_${T.value}`,
|
|
2495
2511
|
config: {
|
|
2496
2512
|
title: {
|
|
2497
2513
|
cy: "dag-title",
|
|
@@ -2503,62 +2519,62 @@ const yr = {
|
|
|
2503
2519
|
}
|
|
2504
2520
|
}
|
|
2505
2521
|
}, null, 8, ["config"]))
|
|
2506
|
-
], 512)) :
|
|
2507
|
-
u.value.style.chart.controls.position === "top" && !v(
|
|
2522
|
+
], 512)) : S("", !0),
|
|
2523
|
+
u.value.style.chart.controls.position === "top" && !v(be) && u.value.style.chart.controls.show ? (y(), X(no, {
|
|
2508
2524
|
key: 4,
|
|
2509
2525
|
ref_key: "zoomControls",
|
|
2510
|
-
ref:
|
|
2526
|
+
ref: x,
|
|
2511
2527
|
config: u.value,
|
|
2512
|
-
scale: v(
|
|
2513
|
-
isFullscreen:
|
|
2528
|
+
scale: v(Tt),
|
|
2529
|
+
isFullscreen: ee.value,
|
|
2514
2530
|
withDirection: "",
|
|
2515
|
-
onZoomIn:
|
|
2516
|
-
onZoomOut:
|
|
2517
|
-
onResetZoom: p[0] || (p[0] = () => v(
|
|
2518
|
-
onSwitchDirection:
|
|
2519
|
-
}, null, 8, ["config", "scale", "isFullscreen"])) :
|
|
2520
|
-
v(E) ? (
|
|
2531
|
+
onZoomIn: He,
|
|
2532
|
+
onZoomOut: Ze,
|
|
2533
|
+
onResetZoom: p[0] || (p[0] = () => v(Re)(!0)),
|
|
2534
|
+
onSwitchDirection: Xe
|
|
2535
|
+
}, null, 8, ["config", "scale", "isFullscreen"])) : S("", !0),
|
|
2536
|
+
v(E) ? (y(), _("svg", {
|
|
2521
2537
|
key: 5,
|
|
2522
2538
|
ref_key: "svgRef",
|
|
2523
|
-
ref:
|
|
2524
|
-
class:
|
|
2525
|
-
viewBox:
|
|
2526
|
-
xmlns: v(
|
|
2527
|
-
style:
|
|
2539
|
+
ref: Q,
|
|
2540
|
+
class: it({ "vue-ui-dag-svg": !0, "vue-data-ui-loading": v(be) }),
|
|
2541
|
+
viewBox: Go.value,
|
|
2542
|
+
xmlns: v(dn),
|
|
2543
|
+
style: q({
|
|
2528
2544
|
backgroundColor: u.value.style.chart.backgroundColor,
|
|
2529
2545
|
height: "100%",
|
|
2530
2546
|
width: "100%"
|
|
2531
2547
|
})
|
|
2532
2548
|
}, [
|
|
2533
|
-
|
|
2534
|
-
v(E).arrowShape !== "undirected" ? (
|
|
2535
|
-
(
|
|
2549
|
+
ce(v(i)),
|
|
2550
|
+
v(E).arrowShape !== "undirected" ? (y(), _("defs", _r, [
|
|
2551
|
+
(y(!0), _(le, null, Pe(Bo.value, (h) => (y(), _("marker", {
|
|
2536
2552
|
key: h,
|
|
2537
|
-
id:
|
|
2553
|
+
id: St(h),
|
|
2538
2554
|
markerWidth: v(E).arrowSize,
|
|
2539
2555
|
markerHeight: v(E).arrowSize,
|
|
2540
|
-
refX: v(E).arrowSize -
|
|
2556
|
+
refX: v(E).arrowSize - 3,
|
|
2541
2557
|
refY: v(E).arrowSize / 2,
|
|
2542
2558
|
orient: "auto",
|
|
2543
2559
|
markerUnits: "strokeWidth"
|
|
2544
2560
|
}, [
|
|
2545
|
-
v(E).arrowShape === "normal" ? (
|
|
2561
|
+
v(E).arrowShape === "normal" ? (y(), _("path", {
|
|
2546
2562
|
key: 0,
|
|
2547
2563
|
d: `M 0 0 L ${v(E).arrowSize} ${v(E).arrowSize / 2} L 0 ${v(E).arrowSize} Z`,
|
|
2548
2564
|
fill: h,
|
|
2549
2565
|
stroke: h,
|
|
2550
2566
|
"stroke-width": "0"
|
|
2551
|
-
}, null, 8,
|
|
2567
|
+
}, null, 8, Ar)) : (y(), _("path", {
|
|
2552
2568
|
key: 1,
|
|
2553
2569
|
d: `M 0 0 L ${v(E).arrowSize} ${v(E).arrowSize / 2} L 0 ${v(E).arrowSize} L ${v(E).arrowSize / 3} ${v(E).arrowSize / 2} Z`,
|
|
2554
2570
|
fill: h,
|
|
2555
2571
|
stroke: h,
|
|
2556
2572
|
"stroke-width": "0"
|
|
2557
|
-
}, null, 8,
|
|
2558
|
-
], 8,
|
|
2559
|
-
])) :
|
|
2560
|
-
G("g",
|
|
2561
|
-
(
|
|
2573
|
+
}, null, 8, Sr))
|
|
2574
|
+
], 8, Nr))), 128))
|
|
2575
|
+
])) : S("", !0),
|
|
2576
|
+
G("g", Lr, [
|
|
2577
|
+
(y(!0), _(le, null, Pe(v(E).edges, (h) => (y(), _(le, {
|
|
2562
2578
|
key: h.id
|
|
2563
2579
|
}, [
|
|
2564
2580
|
G("path", {
|
|
@@ -2566,12 +2582,12 @@ const yr = {
|
|
|
2566
2582
|
d: h.pathData,
|
|
2567
2583
|
fill: "none",
|
|
2568
2584
|
stroke: h.original.color ?? u.value.style.chart.edges.stroke,
|
|
2569
|
-
"stroke-width": u.value.style.chart.edges.strokeWidth * (h.from ===
|
|
2585
|
+
"stroke-width": u.value.style.chart.edges.strokeWidth * (h.from === pe.value || h.id === z.value?.id ? 2 : 1),
|
|
2570
2586
|
"stroke-linecap": "round",
|
|
2571
2587
|
"stroke-linejoin": "round",
|
|
2572
2588
|
style: { "pointer-events": "none", transition: "stroke-width 0.2s ease-in-out" }
|
|
2573
|
-
}, null, 8,
|
|
2574
|
-
u.value.style.chart.midpoints.show ? (
|
|
2589
|
+
}, null, 8, Or),
|
|
2590
|
+
u.value.style.chart.midpoints.show ? (y(), _("circle", {
|
|
2575
2591
|
key: 0,
|
|
2576
2592
|
"data-cy-midpoint": "",
|
|
2577
2593
|
class: "vue-ui-dag-edge-midpoint",
|
|
@@ -2580,22 +2596,22 @@ const yr = {
|
|
|
2580
2596
|
r: u.value.style.chart.midpoints.radius,
|
|
2581
2597
|
fill: u.value.style.chart.midpoints.fill,
|
|
2582
2598
|
stroke: h.original.color ?? u.value.style.chart.midpoints.stroke,
|
|
2583
|
-
"stroke-width": u.value.style.chart.midpoints.strokeWidth * (h.from ===
|
|
2599
|
+
"stroke-width": u.value.style.chart.midpoints.strokeWidth * (h.from === pe.value || h.id === z.value?.id ? 2 : 1),
|
|
2584
2600
|
style: { transition: "stroke-width 0.2s ease-in-out" },
|
|
2585
|
-
onMouseenter: (w) =>
|
|
2586
|
-
onMouseleave:
|
|
2587
|
-
}, null, 40,
|
|
2601
|
+
onMouseenter: (w) => Yo(h),
|
|
2602
|
+
onMouseleave: Ho
|
|
2603
|
+
}, null, 40, Tr)) : S("", !0)
|
|
2588
2604
|
], 64))), 128))
|
|
2589
2605
|
]),
|
|
2590
2606
|
G("g", Rr, [
|
|
2591
|
-
(
|
|
2607
|
+
(y(!0), _(le, null, Pe(v(E).nodes, (h) => (y(), _("g", {
|
|
2592
2608
|
key: h.id,
|
|
2593
2609
|
class: "vue-ui-dag-node",
|
|
2594
|
-
onClick:
|
|
2595
|
-
onMouseenter: (w) =>
|
|
2596
|
-
onMouseleave: p[1] || (p[1] = (w) =>
|
|
2610
|
+
onClick: nn((w) => u.value.style.chart.nodes.tooltip.showOnClick && Zo(h), ["stop"]),
|
|
2611
|
+
onMouseenter: (w) => pe.value = h.id,
|
|
2612
|
+
onMouseleave: p[1] || (p[1] = (w) => pe.value = null)
|
|
2597
2613
|
}, [
|
|
2598
|
-
m.$slots.node ?
|
|
2614
|
+
m.$slots.node ? S("", !0) : (y(), _(le, { key: 0 }, [
|
|
2599
2615
|
G("rect", {
|
|
2600
2616
|
"data-cy-node": "",
|
|
2601
2617
|
x: h.x - h.width / 2,
|
|
@@ -2606,11 +2622,11 @@ const yr = {
|
|
|
2606
2622
|
fill: h.original.backgroundColor,
|
|
2607
2623
|
stroke: u.value.style.chart.nodes.stroke,
|
|
2608
2624
|
"stroke-width": u.value.style.chart.nodes.strokeWidth,
|
|
2609
|
-
style:
|
|
2625
|
+
style: q({
|
|
2610
2626
|
cursor: u.value.style.chart.nodes.tooltip.showOnClick ? "pointer" : "default"
|
|
2611
2627
|
})
|
|
2612
|
-
}, null, 12,
|
|
2613
|
-
m.$slots["node-label"] ? (
|
|
2628
|
+
}, null, 12, $r),
|
|
2629
|
+
m.$slots["node-label"] ? (y(), _("text", {
|
|
2614
2630
|
key: 0,
|
|
2615
2631
|
x: h.x,
|
|
2616
2632
|
y: h.y + u.value.style.chart.nodes.labels.fontSize / 3,
|
|
@@ -2619,10 +2635,10 @@ const yr = {
|
|
|
2619
2635
|
fill: h.original.color,
|
|
2620
2636
|
"font-weight": u.value.style.chart.nodes.labels.bold ? "bold" : "normal"
|
|
2621
2637
|
}, [
|
|
2622
|
-
A(m.$slots, "node-label",
|
|
2623
|
-
|
|
2638
|
+
A(m.$slots, "node-label", Ke({ ref_for: !0 }, { node: h, orientation: Z.value }), () => [
|
|
2639
|
+
sn(ae(h.label), 1)
|
|
2624
2640
|
], !0)
|
|
2625
|
-
], 8,
|
|
2641
|
+
], 8, Dr)) : m.$slots["free-node-label"] ? S("", !0) : (y(), _("text", {
|
|
2626
2642
|
key: 1,
|
|
2627
2643
|
"data-cy-node-label": "",
|
|
2628
2644
|
x: h.x,
|
|
@@ -2631,7 +2647,7 @@ const yr = {
|
|
|
2631
2647
|
"font-size": u.value.style.chart.nodes.labels.fontSize,
|
|
2632
2648
|
fill: h.original.color,
|
|
2633
2649
|
"font-weight": u.value.style.chart.nodes.labels.bold ? "bold" : "normal",
|
|
2634
|
-
innerHTML: v(
|
|
2650
|
+
innerHTML: v(fn)({
|
|
2635
2651
|
content: h.label,
|
|
2636
2652
|
fontSize: u.value.style.chart.nodes.labels.fontSize,
|
|
2637
2653
|
fontWeight: u.value.style.chart.nodes.labels.bold ? "bold" : "normal",
|
|
@@ -2640,131 +2656,135 @@ const yr = {
|
|
|
2640
2656
|
y: h.y,
|
|
2641
2657
|
autoOffset: !0
|
|
2642
2658
|
})
|
|
2643
|
-
}, null, 8,
|
|
2659
|
+
}, null, 8, Fr))
|
|
2644
2660
|
], 64)),
|
|
2645
|
-
m.$slots
|
|
2646
|
-
|
|
2661
|
+
m.$slots["free-node-label"] ? (y(), _("g", Pr, [
|
|
2662
|
+
A(m.$slots, "free-node-label", Ke({ ref_for: !0 }, { node: h, layoutData: v(E), orientation: Z.value }), void 0, !0)
|
|
2663
|
+
])) : S("", !0),
|
|
2664
|
+
m.$slots.node ? (y(), _("foreignObject", {
|
|
2665
|
+
key: 2,
|
|
2647
2666
|
x: h.x - h.width / 2,
|
|
2648
2667
|
y: h.y - h.height / 2,
|
|
2649
2668
|
width: h.width,
|
|
2650
2669
|
height: h.height
|
|
2651
2670
|
}, [
|
|
2652
|
-
A(m.$slots, "node",
|
|
2653
|
-
], 8,
|
|
2654
|
-
], 40,
|
|
2671
|
+
A(m.$slots, "node", Ke({ ref_for: !0 }, { node: h, orientation: Z.value }), void 0, !0)
|
|
2672
|
+
], 8, zr)) : S("", !0)
|
|
2673
|
+
], 40, Mr))), 128))
|
|
2655
2674
|
]),
|
|
2656
|
-
G("g",
|
|
2657
|
-
(
|
|
2675
|
+
G("g", Br, [
|
|
2676
|
+
(y(!0), _(le, null, Pe(v(E).edges, (h) => (y(), _("path", {
|
|
2658
2677
|
key: h.id,
|
|
2659
2678
|
d: h.pathData,
|
|
2660
2679
|
fill: "none",
|
|
2661
2680
|
stroke: "transparent",
|
|
2662
|
-
"stroke-width": u.value.style.chart.edges.strokeWidth * (h.from ===
|
|
2681
|
+
"stroke-width": u.value.style.chart.edges.strokeWidth * (h.from === pe.value || h.id === z.value?.id ? 1.3 : 1),
|
|
2663
2682
|
"stroke-linecap": "round",
|
|
2664
2683
|
"stroke-linejoin": "round",
|
|
2665
|
-
"marker-end": v(E).arrowShape === "undirected" ? null : `url(#${
|
|
2684
|
+
"marker-end": v(E).arrowShape === "undirected" ? null : `url(#${St(h.original?.color || u.value.style.chart.edges.stroke)})`,
|
|
2666
2685
|
style: { "pointer-events": "none", transition: "stroke-width 0.2s ease-in-out" }
|
|
2667
|
-
}, null, 8,
|
|
2686
|
+
}, null, 8, Vr))), 128))
|
|
2668
2687
|
]),
|
|
2669
2688
|
A(m.$slots, "svg", {
|
|
2670
2689
|
svg: {
|
|
2671
|
-
drawingArea: v(
|
|
2672
|
-
data: v(E)
|
|
2690
|
+
drawingArea: v(Ot),
|
|
2691
|
+
data: v(E),
|
|
2692
|
+
orientation: Z.value
|
|
2673
2693
|
}
|
|
2674
2694
|
}, void 0, !0)
|
|
2675
|
-
], 14,
|
|
2676
|
-
m.$slots.watermark ? (
|
|
2677
|
-
A(m.$slots, "watermark", B(V({ isPrinting: v(
|
|
2678
|
-
])) :
|
|
2679
|
-
|
|
2680
|
-
default:
|
|
2681
|
-
|
|
2695
|
+
], 14, xr)) : S("", !0),
|
|
2696
|
+
m.$slots.watermark ? (y(), _("div", Ir, [
|
|
2697
|
+
A(m.$slots, "watermark", B(V({ isPrinting: v(yt) || v(kt) })), void 0, !0)
|
|
2698
|
+
])) : S("", !0),
|
|
2699
|
+
ce(It, { name: "fade" }, {
|
|
2700
|
+
default: M(() => [
|
|
2701
|
+
Te.value ? (y(), X(Gt, {
|
|
2682
2702
|
key: 0,
|
|
2683
|
-
to:
|
|
2703
|
+
to: ee.value ? f.value : "body"
|
|
2684
2704
|
}, [
|
|
2685
2705
|
G("div", {
|
|
2686
2706
|
"data-cy-tooltip-midpoint": "",
|
|
2687
2707
|
ref_key: "tooltipRef",
|
|
2688
|
-
ref:
|
|
2708
|
+
ref: Le,
|
|
2689
2709
|
class: "vue-ui-dag-tooltip",
|
|
2690
|
-
style:
|
|
2691
|
-
...
|
|
2710
|
+
style: q({
|
|
2711
|
+
...Oe.value,
|
|
2692
2712
|
maxWidth: u.value.style.chart.midpoints.tooltip.maxWidth,
|
|
2693
2713
|
"--vue-data-ui-dag-tooltip-background": u.value.style.chart.midpoints.tooltip.backgroundColor,
|
|
2694
2714
|
"--vue-data-ui-dag-tooltip-color": u.value.style.chart.midpoints.tooltip.color
|
|
2695
2715
|
}),
|
|
2696
|
-
"data-position":
|
|
2716
|
+
"data-position": me.value
|
|
2697
2717
|
}, [
|
|
2698
2718
|
A(m.$slots, "tooltip-midpoint", B(V({ edge: z.value, layoutData: v(E) })), () => [
|
|
2699
|
-
z.value ? (
|
|
2719
|
+
z.value ? (y(), _("div", jr, ae(At(z.value.from)?.label ?? z.value.from) + " → " + ae(At(z.value.to)?.label ?? z.value.to), 1)) : S("", !0)
|
|
2700
2720
|
], !0)
|
|
2701
|
-
], 12,
|
|
2702
|
-
], 8, ["to"])) :
|
|
2721
|
+
], 12, Gr)
|
|
2722
|
+
], 8, ["to"])) : S("", !0)
|
|
2703
2723
|
]),
|
|
2704
2724
|
_: 3
|
|
2705
2725
|
}),
|
|
2706
|
-
|
|
2707
|
-
default:
|
|
2708
|
-
|
|
2726
|
+
ce(It, { name: "fade" }, {
|
|
2727
|
+
default: M(() => [
|
|
2728
|
+
J.value ? (y(), X(Gt, {
|
|
2709
2729
|
key: 0,
|
|
2710
|
-
to:
|
|
2730
|
+
to: ee.value ? f.value : "body"
|
|
2711
2731
|
}, [
|
|
2712
2732
|
G("div", {
|
|
2713
2733
|
"data-cy-tooltip-node": "",
|
|
2714
2734
|
ref_key: "nodeTooltipRef",
|
|
2715
|
-
ref:
|
|
2735
|
+
ref: Ie,
|
|
2716
2736
|
class: "vue-ui-dag-node-tooltip",
|
|
2717
|
-
style:
|
|
2737
|
+
style: q({
|
|
2718
2738
|
maxWidth: u.value.style.chart.nodes.tooltip.maxWidth,
|
|
2719
|
-
left:
|
|
2720
|
-
top:
|
|
2739
|
+
left: Ge.value.left,
|
|
2740
|
+
top: Ge.value.top,
|
|
2721
2741
|
"--vue-data-ui-dag-node-tooltip-background": u.value.style.chart.nodes.tooltip.backgroundColor,
|
|
2722
2742
|
"--vue-data-ui-dag-node-tooltip-color": u.value.style.chart.nodes.tooltip.color
|
|
2723
2743
|
}),
|
|
2724
|
-
"data-position":
|
|
2744
|
+
"data-position": mt.value
|
|
2725
2745
|
}, [
|
|
2726
|
-
A(m.$slots, "tooltip-node", B(V({ node:
|
|
2727
|
-
|
|
2746
|
+
A(m.$slots, "tooltip-node", B(V({ node: ge.value, layoutData: v(E) })), () => [
|
|
2747
|
+
ge.value ? (y(), _("div", Yr, ae(ge.value.label), 1)) : S("", !0)
|
|
2728
2748
|
], !0)
|
|
2729
|
-
], 12,
|
|
2730
|
-
], 8, ["to"])) :
|
|
2749
|
+
], 12, Wr)
|
|
2750
|
+
], 8, ["to"])) : S("", !0)
|
|
2731
2751
|
]),
|
|
2732
2752
|
_: 3
|
|
2733
2753
|
}),
|
|
2734
|
-
u.value.style.chart.controls.position === "bottom" && !v(
|
|
2754
|
+
u.value.style.chart.controls.position === "bottom" && !v(be) && u.value.style.chart.controls.show ? (y(), X(no, {
|
|
2735
2755
|
key: 7,
|
|
2736
2756
|
ref_key: "zoomControls",
|
|
2737
|
-
ref:
|
|
2757
|
+
ref: x,
|
|
2738
2758
|
config: u.value,
|
|
2739
|
-
scale: v(
|
|
2740
|
-
isFullscreen:
|
|
2759
|
+
scale: v(Tt),
|
|
2760
|
+
isFullscreen: ee.value,
|
|
2741
2761
|
withDirection: "",
|
|
2742
|
-
onZoomIn:
|
|
2743
|
-
onZoomOut:
|
|
2744
|
-
onResetZoom: p[2] || (p[2] = () => v(
|
|
2745
|
-
onSwitchDirection:
|
|
2746
|
-
}, null, 8, ["config", "scale", "isFullscreen"])) :
|
|
2747
|
-
m.$slots.source ? (
|
|
2762
|
+
onZoomIn: He,
|
|
2763
|
+
onZoomOut: Ze,
|
|
2764
|
+
onResetZoom: p[2] || (p[2] = () => v(Re)(!0)),
|
|
2765
|
+
onSwitchDirection: Xe
|
|
2766
|
+
}, null, 8, ["config", "scale", "isFullscreen"])) : S("", !0),
|
|
2767
|
+
m.$slots.source ? (y(), _("div", {
|
|
2748
2768
|
key: 8,
|
|
2749
2769
|
ref_key: "source",
|
|
2750
2770
|
ref: N,
|
|
2751
2771
|
dir: "auto"
|
|
2752
2772
|
}, [
|
|
2753
2773
|
A(m.$slots, "source", {}, void 0, !0)
|
|
2754
|
-
], 512)) :
|
|
2755
|
-
v(
|
|
2756
|
-
], 46,
|
|
2774
|
+
], 512)) : S("", !0),
|
|
2775
|
+
v(be) ? (y(), X(pn, { key: 9 })) : S("", !0)
|
|
2776
|
+
], 46, Er));
|
|
2757
2777
|
}
|
|
2758
|
-
},
|
|
2778
|
+
}, Zr = /* @__PURE__ */ io(Hr, [["__scopeId", "data-v-93884fd9"]]), mi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2759
2779
|
__proto__: null,
|
|
2760
|
-
default:
|
|
2780
|
+
default: Zr
|
|
2761
2781
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2762
2782
|
export {
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2783
|
+
ui as a,
|
|
2784
|
+
mi as b,
|
|
2785
|
+
di as d,
|
|
2786
|
+
yr as l,
|
|
2787
|
+
hi as m,
|
|
2788
|
+
fi as s,
|
|
2789
|
+
Zr as v
|
|
2770
2790
|
};
|