@infinit-canvas/react 0.1.22 → 0.1.23

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.
@@ -89,73 +89,73 @@ function Jo(t) {
89
89
  const { width: e, height: n } = br(t);
90
90
  return { x: t.position.x, y: t.position.y, width: e, height: n };
91
91
  }
92
- const Mr = `var Pa = null, r = null, ir = 0, lr = 0, M = { x: 0, y: 0, zoom: 1 }, X = [], C = [], G = [], F = !1, Zt = 40, Ct = !1, Fr = "lines", ua = 1, Ze = null, oe = null, Mr = null, Ge = {}, ei = {}, ie = {}, Ie = {}, le = 0, L = 160, B = 60, qa = 8, Do = 5;
92
+ const Mr = `var qa = null, r = null, fr = 0, vr = 0, M = { x: 0, y: 0, zoom: 1 }, Y = [], W = [], C = [], F = !1, Ze = 40, We = !1, Nr = "lines", da = 1, Kt = null, lt = null, Tr = null, It = {}, tl = {}, it = {}, Zt = {}, Ia = 0, L = 160, B = 60, Ga = 8, Do = 5;
93
93
  function y(a) {
94
94
  return a._absolutePosition || a.position;
95
95
  }
96
- function ci(a, e, t, i, l) {
96
+ function cl(a, t, e, l, i) {
97
97
  if (a.x !== void 0 && a.y !== void 0)
98
- return { x: e + a.x, y: t + a.y };
98
+ return { x: t + a.x, y: e + a.y };
99
99
  var o = a.position || (a.type === "source" ? "right" : "left");
100
100
  switch (o) {
101
101
  case "top":
102
- return { x: e + i / 2, y: t };
102
+ return { x: t + l / 2, y: e };
103
103
  case "bottom":
104
- return { x: e + i / 2, y: t + l };
104
+ return { x: t + l / 2, y: e + i };
105
105
  case "left":
106
- return { x: e, y: t + l / 2 };
106
+ return { x: t, y: e + i / 2 };
107
107
  case "right":
108
- return { x: e + i, y: t + l / 2 };
108
+ return { x: t + l, y: e + i / 2 };
109
109
  default:
110
- return { x: e + i, y: t + l / 2 };
110
+ return { x: t + l, y: e + i / 2 };
111
111
  }
112
112
  }
113
- function ti(a) {
114
- var e = a.width || L, t = a.height || B;
113
+ function el(a) {
114
+ var t = a.width || L, e = a.height || B;
115
115
  if (a.handles && a.handles.length > 0)
116
- return a.handles.map(function(u) {
117
- var g = ci(u, y(a).x, y(a).y, e, t);
118
- return { id: u.id || null, type: u.type, x: g.x, y: g.y, position: u.position };
116
+ return a.handles.map(function(n) {
117
+ var g = cl(n, y(a).x, y(a).y, t, e);
118
+ return { id: n.id || null, type: n.type, x: g.x, y: g.y, position: n.position };
119
119
  });
120
- var i = a.targetPosition || "left", l = a.sourcePosition || "right", o = y(a);
121
- function f(u) {
122
- switch (u) {
120
+ var l = a.targetPosition || "left", i = a.sourcePosition || "right", o = y(a);
121
+ function f(n) {
122
+ switch (n) {
123
123
  case "top":
124
- return { x: o.x + e / 2, y: o.y };
124
+ return { x: o.x + t / 2, y: o.y };
125
125
  case "bottom":
126
- return { x: o.x + e / 2, y: o.y + t };
126
+ return { x: o.x + t / 2, y: o.y + e };
127
127
  case "left":
128
- return { x: o.x, y: o.y + t / 2 };
128
+ return { x: o.x, y: o.y + e / 2 };
129
129
  case "right":
130
- return { x: o.x + e, y: o.y + t / 2 };
130
+ return { x: o.x + t, y: o.y + e / 2 };
131
131
  default:
132
- return { x: o.x + e, y: o.y + t / 2 };
132
+ return { x: o.x + t, y: o.y + e / 2 };
133
133
  }
134
134
  }
135
- var h = f(i), x = f(l);
135
+ var h = f(l), x = f(i);
136
136
  return [
137
- { id: null, type: "target", x: h.x, y: h.y, position: i },
138
- { id: null, type: "source", x: x.x, y: x.y, position: l }
137
+ { id: null, type: "target", x: h.x, y: h.y, position: l },
138
+ { id: null, type: "source", x: x.x, y: x.y, position: i }
139
139
  ];
140
140
  }
141
- var Wt = {}, ne = !0;
142
- function Vi(a) {
143
- ne && (Wt = {}, ne = !1);
144
- var e = Wt[a.id];
145
- return e || (e = ti(a), Wt[a.id] = e, e);
146
- }
147
- function Ke(a, e, t) {
148
- for (var i = Vi(a), l = 0; l < i.length; l++)
149
- if (i[l].type === e)
150
- if (t) {
151
- if (i[l].id === t) return i[l];
141
+ var Pe = {}, nt = !0;
142
+ function Vl(a) {
143
+ nt && (Pe = {}, nt = !1);
144
+ var t = Pe[a.id];
145
+ return t || (t = el(a), Pe[a.id] = t, t);
146
+ }
147
+ function bt(a, t, e) {
148
+ for (var l = Vl(a), i = 0; i < l.length; i++)
149
+ if (l[i].type === t)
150
+ if (e) {
151
+ if (l[i].id === e) return l[i];
152
152
  } else
153
- return i[l];
153
+ return l[i];
154
154
  var o = a.width || L, f = a.height || B;
155
- return e === "source" ? { x: y(a).x + o, y: y(a).y + f / 2 } : { x: y(a).x, y: y(a).y + f / 2 };
155
+ return t === "source" ? { x: y(a).x + o, y: y(a).y + f / 2 } : { x: y(a).x, y: y(a).y + f / 2 };
156
156
  }
157
157
  var k = {};
158
- function Kt() {
158
+ function Ke() {
159
159
  k = {
160
160
  grid: F ? "rgba(255,255,255,0.07)" : "rgba(0,0,0,0.07)",
161
161
  origin: F ? "rgba(255,255,255,0.2)" : "rgba(0,0,0,0.15)",
@@ -176,855 +176,859 @@ function Kt() {
176
176
  handleFill: "#ffffff",
177
177
  handleBorder: "#3b82f6",
178
178
  connectionLine: "#3b82f6"
179
- }, Ia = !0;
180
- }
181
- Kt();
182
- var Ni = ["#534AB7", "#0F6E56", "#993C1D", "#185FA5"], te = 8, Di = "500 11px system-ui, sans-serif", Oi = "400 11px system-ui, sans-serif", ji = "10px monospace", Oo = "500 13px system-ui, sans-serif", Yi = "400 11px system-ui, sans-serif", Ur = 400, fe = {}, be = !0;
183
- function Xi() {
184
- fe = {};
185
- for (var a = 0; a < X.length; a++)
186
- for (var e = X[a], t = Math.floor(e.x / Ur), i = Math.floor(e.y / Ur), l = Math.floor((e.x + e.w) / Ur), o = Math.floor((e.y + e.h) / Ur), f = t; f <= l; f++)
187
- for (var h = i; h <= o; h++) {
179
+ }, Za = !0;
180
+ }
181
+ Ke();
182
+ var Nl = ["#534AB7", "#0F6E56", "#993C1D", "#185FA5"], ot = 8, Dl = "500 11px system-ui, sans-serif", Ol = "400 11px system-ui, sans-serif", jl = "10px monospace", Oo = "500 13px system-ui, sans-serif", Yl = "400 11px system-ui, sans-serif", Dr = 400, ft = {}, Jt = !0;
183
+ function Xl() {
184
+ ft = {};
185
+ for (var a = 0; a < Y.length; a++)
186
+ for (var t = Y[a], e = Math.floor(t.x / Dr), l = Math.floor(t.y / Dr), i = Math.floor((t.x + t.w) / Dr), o = Math.floor((t.y + t.h) / Dr), f = e; f <= i; f++)
187
+ for (var h = l; h <= o; h++) {
188
188
  var x = f + "," + h;
189
- fe[x] || (fe[x] = []), fe[x].push(a);
189
+ ft[x] || (ft[x] = []), ft[x].push(a);
190
190
  }
191
- be = !1;
192
- }
193
- function jo(a, e, t, i) {
194
- be && Xi();
195
- for (var l = {}, o = [], f = Math.floor(a / Ur), h = Math.floor(e / Ur), x = Math.floor(t / Ur), u = Math.floor(i / Ur), g = f; g <= x; g++)
196
- for (var v = h; v <= u; v++) {
197
- var s = g + "," + v, d = fe[s];
198
- if (d)
199
- for (var n = 0; n < d.length; n++) {
200
- var T = d[n];
201
- l[T] || (l[T] = !0, o.push(T));
191
+ Jt = !1;
192
+ }
193
+ function jo(a, t, e, l) {
194
+ Jt && Xl();
195
+ for (var i = {}, o = [], f = Math.floor(a / Dr), h = Math.floor(t / Dr), x = Math.floor(e / Dr), n = Math.floor(l / Dr), g = f; g <= x; g++)
196
+ for (var v = h; v <= n; v++) {
197
+ var u = g + "," + v, s = ft[u];
198
+ if (s)
199
+ for (var d = 0; d < s.length; d++) {
200
+ var T = s[d];
201
+ i[T] || (i[T] = !0, o.push(T));
202
202
  }
203
203
  }
204
204
  return o;
205
205
  }
206
- var cr = 500, ve = {}, sa = !0;
207
- function $t() {
208
- ve = {};
209
- for (var a = 0; a < C.length; a++) {
210
- var e = C[a];
211
- if (!e.hidden)
212
- for (var t = y(e), i = e.width || L, l = e.height || B, o = Math.floor(t.x / cr), f = Math.floor(t.y / cr), h = Math.floor((t.x + i) / cr), x = Math.floor((t.y + l) / cr), u = o; u <= h; u++)
206
+ var Or = 500, vt = {}, jr = !0;
207
+ function $e() {
208
+ vt = {};
209
+ for (var a = 0; a < W.length; a++) {
210
+ var t = W[a];
211
+ if (!t.hidden)
212
+ for (var e = y(t), l = t.width || L, i = t.height || B, o = Math.floor(e.x / Or), f = Math.floor(e.y / Or), h = Math.floor((e.x + l) / Or), x = Math.floor((e.y + i) / Or), n = o; n <= h; n++)
213
213
  for (var g = f; g <= x; g++) {
214
- var v = u + "," + g;
215
- ve[v] || (ve[v] = []), ve[v].push(a);
214
+ var v = n + "," + g;
215
+ vt[v] || (vt[v] = []), vt[v].push(a);
216
216
  }
217
217
  }
218
- sa = !1;
219
- }
220
- function oi(a, e, t, i) {
221
- sa && $t();
222
- for (var l = {}, o = [], f = Math.floor(a / cr), h = Math.floor(e / cr), x = Math.floor(t / cr), u = Math.floor(i / cr), g = f; g <= x; g++)
223
- for (var v = h; v <= u; v++) {
224
- var s = g + "," + v, d = ve[s];
225
- if (d)
226
- for (var n = 0; n < d.length; n++) {
227
- var T = d[n];
228
- l[T] || (l[T] = !0, o.push(T));
218
+ jr = !1;
219
+ }
220
+ function ol(a, t, e, l) {
221
+ jr && $e();
222
+ for (var i = {}, o = [], f = Math.floor(a / Or), h = Math.floor(t / Or), x = Math.floor(e / Or), n = Math.floor(l / Or), g = f; g <= x; g++)
223
+ for (var v = h; v <= n; v++) {
224
+ var u = g + "," + v, s = vt[u];
225
+ if (s)
226
+ for (var d = 0; d < s.length; d++) {
227
+ var T = s[d];
228
+ i[T] || (i[T] = !0, o.push(T));
229
229
  }
230
230
  }
231
231
  return o;
232
232
  }
233
- var da = {}, na = !0;
234
- function Je() {
235
- da = {};
236
- for (var a = 0; a < C.length; a++)
237
- da[C[a].id] = C[a];
238
- na = !1;
233
+ var ya = {}, sa = !0;
234
+ function Qt() {
235
+ ya = {};
236
+ for (var a = 0; a < W.length; a++)
237
+ ya[W[a].id] = W[a];
238
+ sa = !1;
239
239
  }
240
240
  function Yo(a) {
241
- return na && Je(), da[a];
242
- }
243
- var Br = {}, Qe = !0;
244
- function Hi() {
245
- Br = {};
246
- for (var a = 0; a < G.length; a++) {
247
- var e = G[a];
248
- Br[e.source] || (Br[e.source] = []), Br[e.source].push(a), e.source !== e.target && (Br[e.target] || (Br[e.target] = []), Br[e.target].push(a));
241
+ return sa && Qt(), ya[a];
242
+ }
243
+ var Er = {}, $t = !0;
244
+ function Hl() {
245
+ Er = {};
246
+ for (var a = 0; a < C.length; a++) {
247
+ var t = C[a];
248
+ Er[t.source] || (Er[t.source] = []), Er[t.source].push(a), t.source !== t.target && (Er[t.target] || (Er[t.target] = []), Er[t.target].push(a));
249
249
  }
250
- Qe = !1;
251
- }
252
- var ha = null, ii = 0, li = 0, fi = "", Ia = !0;
253
- function pi(a) {
254
- ha || (ha = new OffscreenCanvas(1, 1));
255
- var e = Math.ceil(a), t = Math.ceil(a);
256
- if (e < 2 || t < 2) return !1;
257
- e > 512 && (e = 512), t > 512 && (t = 512), ha.width = e, ha.height = t, ii = e, li = a, fi = Fr, Ia = !1;
258
- var i = ha.getContext("2d");
259
- i.clearRect(0, 0, e, t);
260
- var l = Ze || k.grid;
261
- if (Fr === "dots") {
262
- i.fillStyle = l;
263
- var o = ua * M.zoom;
264
- i.beginPath(), i.arc(0, 0, o, 0, 6.2832), i.fill();
265
- } else if (Fr === "cross") {
266
- i.strokeStyle = l, i.lineWidth = ua;
250
+ $t = !1;
251
+ }
252
+ var ua = null, ll = 0, il = 0, fl = "", Za = !0;
253
+ function pl(a) {
254
+ ua || (ua = new OffscreenCanvas(1, 1));
255
+ var t = Math.ceil(a), e = Math.ceil(a);
256
+ if (t < 2 || e < 2) return !1;
257
+ t > 512 && (t = 512), e > 512 && (e = 512), ua.width = t, ua.height = e, ll = t, il = a, fl = Nr, Za = !1;
258
+ var l = ua.getContext("2d");
259
+ l.clearRect(0, 0, t, e);
260
+ var i = Kt || k.grid;
261
+ if (Nr === "dots") {
262
+ l.fillStyle = i;
263
+ var o = da * M.zoom;
264
+ l.beginPath(), l.arc(0, 0, o, 0, 6.2832), l.fill();
265
+ } else if (Nr === "cross") {
266
+ l.strokeStyle = i, l.lineWidth = da;
267
267
  var f = 3 * M.zoom;
268
- i.beginPath(), i.moveTo(-f, 0), i.lineTo(f, 0), i.moveTo(0, -f), i.lineTo(0, f), i.stroke();
268
+ l.beginPath(), l.moveTo(-f, 0), l.lineTo(f, 0), l.moveTo(0, -f), l.lineTo(0, f), l.stroke();
269
269
  } else
270
- i.beginPath(), i.strokeStyle = l, i.lineWidth = ua * 0.5, i.moveTo(0.5, 0), i.lineTo(0.5, t), i.moveTo(0, 0.5), i.lineTo(e, 0.5), i.stroke();
270
+ l.beginPath(), l.strokeStyle = i, l.lineWidth = da * 0.5, l.moveTo(0.5, 0), l.lineTo(0.5, e), l.moveTo(0, 0.5), l.lineTo(t, 0.5), l.stroke();
271
271
  return !0;
272
272
  }
273
- var Xo = 0, Pt = 0, Ho = 0, po = 0, bt = 0, he = !1;
273
+ var Xo = 0, qe = 0, Ho = 0, po = 0, be = 0, ht = !1;
274
274
  console.log("[worker] script loaded v2 - FRESH");
275
275
  self.postMessage({ type: "ping", data: { status: "alive" } });
276
276
  self.onmessage = function(a) {
277
277
  try {
278
- var e = a.data.type, t = a.data.data;
279
- switch (e) {
278
+ var t = a.data.type, e = a.data.data;
279
+ switch (t) {
280
280
  case "init":
281
- Pa = t.canvas, r = Pa.getContext("2d"), ir = t.width, lr = t.height, Pa.width = ir, Pa.height = lr, M = t.camera, X = t.cards || [], C = t.nodes || [], G = t.edges || [], F = t.dark, t.gridSize && (Zt = t.gridSize), t.edgeRouting !== void 0 && (Ga = !!t.edgeRouting), Kt(), be = !0, na = !0, sa = !0, ne = !0, Qe = !0, he = G.some(function(D) {
282
- return D.animated;
283
- }), console.log("[worker] init done — canvas:", ir, "x", lr, "| cards:", X.length, "| nodes:", C.length, "| edges:", G.length, "| routing:", Ga), $e(), self.postMessage({ type: "ready" }), he && ri();
281
+ qa = e.canvas, r = qa.getContext("2d"), fr = e.width, vr = e.height, qa.width = fr, qa.height = vr, M = e.camera, Y = e.cards || [], W = e.nodes || [], C = e.edges || [], F = e.dark, e.gridSize && (Ze = e.gridSize), e.edgeRouting !== void 0 && (Vr = !!e.edgeRouting), Ke(), Jt = !0, sa = !0, jr = !0, nt = !0, $t = !0, ht = C.some(function(X) {
282
+ return X.animated;
283
+ }), console.log("[worker] init done — canvas:", fr, "x", vr, "| cards:", Y.length, "| nodes:", W.length, "| edges:", C.length, "| routing:", Vr), Ft(), self.postMessage({ type: "ready" }), ht && rl();
284
284
  break;
285
285
  case "resize":
286
- ir = t.width, lr = t.height, Pa.width = ir, Pa.height = lr, Ia = !0, $e();
286
+ fr = e.width, vr = e.height, qa.width = fr, qa.height = vr, Za = !0, Ft();
287
287
  break;
288
288
  case "camera":
289
- M = t.camera, Ia = !0, $();
289
+ M = e.camera, Za = !0, $();
290
290
  break;
291
291
  case "cards":
292
- X = t.cards, be = !0, $();
292
+ Y = e.cards, Jt = !0, $();
293
293
  break;
294
294
  case "nodes":
295
- C = t.nodes, le = 0;
296
- for (var i = 0; i < C.length; i++)
297
- C[i].dragging && le++;
298
- na = !0, sa = !0, ne = !0, $(), It(), self.postMessage({ type: "nodesProcessed", data: { nodeCount: C.length } });
295
+ W = e.nodes, Ia = 0;
296
+ for (var l = 0; l < W.length; l++)
297
+ W[l].dragging && Ia++;
298
+ sa = !0, jr = !0, nt = !0, $(), Gt(), self.postMessage({ type: "nodesProcessed", data: { nodeCount: W.length } });
299
299
  break;
300
300
  case "nodePositions":
301
- na && Je();
302
- for (var l = t.updates, o = 0, f = 0; f < l.length; f++) {
303
- var h = l[f], x = da[h.id];
301
+ sa && Qt();
302
+ for (var i = e.updates, o = 0, f = 0; f < i.length; f++) {
303
+ var h = i[f], x = ya[h.id];
304
304
  x && (x.position = h.position, h._absolutePosition && (x._absolutePosition = h._absolutePosition), h.width !== void 0 && (x.width = h.width), h.height !== void 0 && (x.height = h.height), h.dragging && !x.dragging ? o++ : !h.dragging && x.dragging && o--, x.dragging = h.dragging, x.selected = h.selected);
305
305
  }
306
- le = Math.max(0, le + o), ne = !0, l.length > 10 && (sa = !0), $();
306
+ if (Ia = Math.max(0, Ia + o), nt = !0, Vr)
307
+ for (var n = 0; n < i.length; n++)
308
+ for (var g = i[n].id, v = 0; v < C.length; v++)
309
+ (C[v].source === g || C[v].target === g) && (C[v]._routedPoints = null);
310
+ i.length > 10 && (jr = !0), Vr && Ia === 0 && o < 0 && (jr = !0, Gt()), $();
307
311
  break;
308
312
  case "nodeSelections":
309
- na && Je();
310
- for (var u = t.selections, g = 0; g < u.length; g++) {
311
- var v = u[g], s = da[v.id];
312
- s && (s.selected = v.selected);
313
+ sa && Qt();
314
+ for (var u = e.selections, s = 0; s < u.length; s++) {
315
+ var d = u[s], T = ya[d.id];
316
+ T && (T.selected = d.selected);
313
317
  }
314
318
  $();
315
319
  break;
316
320
  case "edgeSelections":
317
- for (var d = t.selections, n = 0; n < d.length; n++) {
318
- for (var T = d[n], I = null, A = 0; A < G.length; A++)
319
- if (G[A].id === T.id) {
320
- I = G[A];
321
+ for (var Z = e.selections, _ = 0; _ < Z.length; _++) {
322
+ for (var K = Z[_], ar = null, tr = 0; tr < C.length; tr++)
323
+ if (C[tr].id === K.id) {
324
+ ar = C[tr];
321
325
  break;
322
326
  }
323
- I && (I.selected = T.selected);
327
+ ar && (ar.selected = K.selected);
324
328
  }
325
329
  $();
326
330
  break;
327
331
  case "edges":
328
- G = t.edges, Qe = !0, he = G.some(function(D) {
329
- return D.animated;
330
- }), he && ri(), $(), It();
332
+ C = e.edges, $t = !0, ht = C.some(function(X) {
333
+ return X.animated;
334
+ }), ht && rl(), $(), Gt();
331
335
  break;
332
336
  case "theme":
333
- F = t.dark, Kt(), $();
337
+ F = e.dark, Ke(), $();
334
338
  break;
335
339
  case "connecting":
336
- oe = t, $();
340
+ lt = e, $();
337
341
  break;
338
342
  case "selectionBox":
339
- Mr = t, $();
343
+ Tr = e, $();
340
344
  break;
341
345
  case "background":
342
- t.variant && (Fr = t.variant), t.gap && (Zt = t.gap), t.size && (ua = t.size), Ze = t.color || null, Ia = !0, $();
346
+ e.variant && (Nr = e.variant), e.gap && (Ze = e.gap), e.size && (da = e.size), Kt = e.color || null, Za = !0, $();
343
347
  break;
344
348
  case "nodeTypeBitmaps":
345
- Ge = t.bitmaps || {}, $();
349
+ It = e.bitmaps || {}, $();
346
350
  break;
347
351
  case "nodeBitmaps":
348
- ei = t.cache || {}, ie = t.keys || {}, $();
352
+ tl = e.cache || {}, it = e.keys || {}, $();
349
353
  break;
350
354
  case "nodeTypeConfigs":
351
- Ie = t.configs || {}, $();
355
+ Zt = e.configs || {}, $();
352
356
  break;
353
357
  case "edgeRouting":
354
- if (Ga = !!t.enabled, Ga)
355
- It();
358
+ if (Vr = !!e.enabled, Vr)
359
+ Gt();
356
360
  else {
357
- for (var Z = 0; Z < G.length; Z++)
358
- G[Z]._routedPoints = null;
361
+ for (var hr = 0; hr < C.length; hr++)
362
+ C[hr]._routedPoints = null;
359
363
  $();
360
364
  }
361
365
  break;
362
366
  }
363
- } catch (D) {
364
- console.error("[worker] error:", D);
367
+ } catch (X) {
368
+ console.error("[worker] error:", X);
365
369
  }
366
370
  };
367
371
  function $() {
368
- Ct || (Ct = !0, requestAnimationFrame(function() {
369
- Ct = !1, $e();
372
+ We || (We = !0, requestAnimationFrame(function() {
373
+ We = !1, Ft();
370
374
  }));
371
375
  }
372
- var qt = !1;
373
- function ri() {
374
- if (qt) return;
375
- qt = !0;
376
+ var Ge = !1;
377
+ function rl() {
378
+ if (Ge) return;
379
+ Ge = !0;
376
380
  function a() {
377
- if (!he) {
378
- qt = !1;
381
+ if (!ht) {
382
+ Ge = !1;
379
383
  return;
380
384
  }
381
- bt = (bt + 0.5) % 20, $e(), requestAnimationFrame(a);
385
+ be = (be + 0.5) % 20, Ft(), requestAnimationFrame(a);
382
386
  }
383
387
  requestAnimationFrame(a);
384
388
  }
385
- function ai(a, e) {
386
- var t = 6;
387
- a.moveTo(e[0].x, e[0].y);
388
- for (var i = 1; i < e.length - 1; i++) {
389
- var l = e[i - 1], o = e[i], f = e[i + 1], h = Math.abs(o.x - l.x) + Math.abs(o.y - l.y), x = Math.abs(f.x - o.x) + Math.abs(f.y - o.y), u = Math.min(t, h / 2, x / 2);
390
- if (u > 0.5) {
391
- var g = o.x - l.x, v = o.y - l.y, s = f.x - o.x, d = f.y - o.y, n = Math.sqrt(g * g + v * v) || 1, T = Math.sqrt(s * s + d * d) || 1;
392
- a.lineTo(o.x - g / n * u, o.y - v / n * u), a.quadraticCurveTo(o.x, o.y, o.x + s / T * u, o.y + d / T * u);
389
+ function al(a, t) {
390
+ var e = 6;
391
+ a.moveTo(t[0].x, t[0].y);
392
+ for (var l = 1; l < t.length - 1; l++) {
393
+ var i = t[l - 1], o = t[l], f = t[l + 1], h = Math.abs(o.x - i.x) + Math.abs(o.y - i.y), x = Math.abs(f.x - o.x) + Math.abs(f.y - o.y), n = Math.min(e, h / 2, x / 2);
394
+ if (n > 0.5) {
395
+ var g = o.x - i.x, v = o.y - i.y, u = f.x - o.x, s = f.y - o.y, d = Math.sqrt(g * g + v * v) || 1, T = Math.sqrt(u * u + s * s) || 1;
396
+ a.lineTo(o.x - g / d * n, o.y - v / d * n), a.quadraticCurveTo(o.x, o.y, o.x + u / T * n, o.y + s / T * n);
393
397
  } else
394
398
  a.lineTo(o.x, o.y);
395
399
  }
396
- a.lineTo(e[e.length - 1].x, e[e.length - 1].y);
397
- }
398
- function rl(a) {
399
- for (var e = 0, t = 1; t < a.length; t++)
400
- e += Math.abs(a[t].x - a[t - 1].x) + Math.abs(a[t].y - a[t - 1].y);
401
- for (var i = e / 2, l = 1; l < a.length; l++) {
402
- var o = Math.abs(a[l].x - a[l - 1].x) + Math.abs(a[l].y - a[l - 1].y);
403
- if (i <= o) {
404
- var f = o > 0 ? i / o : 0;
400
+ a.lineTo(t[t.length - 1].x, t[t.length - 1].y);
401
+ }
402
+ function ri(a) {
403
+ for (var t = 0, e = 1; e < a.length; e++)
404
+ t += Math.abs(a[e].x - a[e - 1].x) + Math.abs(a[e].y - a[e - 1].y);
405
+ for (var l = t / 2, i = 1; i < a.length; i++) {
406
+ var o = Math.abs(a[i].x - a[i - 1].x) + Math.abs(a[i].y - a[i - 1].y);
407
+ if (l <= o) {
408
+ var f = o > 0 ? l / o : 0;
405
409
  return {
406
- x: a[l - 1].x + (a[l].x - a[l - 1].x) * f,
407
- y: a[l - 1].y + (a[l].y - a[l - 1].y) * f
410
+ x: a[i - 1].x + (a[i].x - a[i - 1].x) * f,
411
+ y: a[i - 1].y + (a[i].y - a[i - 1].y) * f
408
412
  };
409
413
  }
410
- i -= o;
414
+ l -= o;
411
415
  }
412
416
  return { x: a[0].x, y: a[0].y };
413
417
  }
414
- function Jt(a, e, t, i) {
415
- var l = Math.abs(t - a), o = Math.max(50, l * 0.5), f = a + o, h = e, x = t - o, u = i;
416
- return { cp1x: f, cp1y: h, cp2x: x, cp2y: u };
418
+ function Je(a, t, e, l) {
419
+ var i = Math.abs(e - a), o = Math.max(50, i * 0.5), f = a + o, h = t, x = e - o, n = l;
420
+ return { cp1x: f, cp1y: h, cp2x: x, cp2y: n };
417
421
  }
418
- function al(a, e, t, i) {
419
- var l = Jt(a, e, t, i), o = 0.5, f = 1 - o, h = f * f * f * a + 3 * f * f * o * l.cp1x + 3 * f * o * o * l.cp2x + o * o * o * t, x = f * f * f * e + 3 * f * f * o * l.cp1y + 3 * f * o * o * l.cp2y + o * o * o * i;
422
+ function ai(a, t, e, l) {
423
+ var i = Je(a, t, e, l), o = 0.5, f = 1 - o, h = f * f * f * a + 3 * f * f * o * i.cp1x + 3 * f * o * o * i.cp2x + o * o * o * e, x = f * f * f * t + 3 * f * f * o * i.cp1y + 3 * f * o * o * i.cp2y + o * o * o * l;
420
424
  return { x: h, y: x };
421
425
  }
422
- var Ga = !0, Qt = !1, Gt = !1;
423
- function vi(a, e, t, i, l) {
424
- sa && $t();
425
- for (var o = Math.min(a, t) - 20, f = Math.min(e, i) - 20, h = Math.max(a, t) + 20, x = Math.max(e, i) + 20, u = oi(o, f, h, x), g = [], v = 0; v < u.length; v++) {
426
- var s = C[u[v]];
427
- s.hidden || l[s.id] || s.type !== "group" && g.push(s);
426
+ var Vr = !0, Qe = !1, Ie = !1;
427
+ function vl(a, t, e, l, i) {
428
+ jr && $e();
429
+ for (var o = Math.min(a, e) - 20, f = Math.min(t, l) - 20, h = Math.max(a, e) + 20, x = Math.max(t, l) + 20, n = ol(o, f, h, x), g = [], v = 0; v < n.length; v++) {
430
+ var u = W[n[v]];
431
+ u.hidden || i[u.id] || u.type !== "group" && g.push(u);
428
432
  }
429
433
  return g;
430
434
  }
431
- function Ar(a, e, t, i) {
432
- for (var l = Math.min(a, e), o = Math.max(a, e), f = 0; f < i.length; f++) {
433
- var h = i[f], x = y(h), u = h.width || L, g = h.height || B;
434
- if (t > x.y && t < x.y + g && o > x.x && l < x.x + u) return h;
435
+ function Lr(a, t, e, l) {
436
+ for (var i = Math.min(a, t), o = Math.max(a, t), f = 0; f < l.length; f++) {
437
+ var h = l[f], x = y(h), n = h.width || L, g = h.height || B;
438
+ if (e > x.y && e < x.y + g && o > x.x && i < x.x + n) return h;
435
439
  }
436
440
  return null;
437
441
  }
438
- function _r(a, e, t, i) {
439
- for (var l = Math.min(e, t), o = Math.max(e, t), f = 0; f < i.length; f++) {
440
- var h = i[f], x = y(h), u = h.width || L, g = h.height || B;
441
- if (a > x.x && a < x.x + u && o > x.y && l < x.y + g) return h;
442
+ function Sr(a, t, e, l) {
443
+ for (var i = Math.min(t, e), o = Math.max(t, e), f = 0; f < l.length; f++) {
444
+ var h = l[f], x = y(h), n = h.width || L, g = h.height || B;
445
+ if (a > x.x && a < x.x + n && o > x.y && i < x.y + g) return h;
442
446
  }
443
447
  return null;
444
448
  }
445
- function el() {
446
- if (Ga && !(!Qt || G.length === 0 || C.length === 0)) {
447
- Qt = !1, na && Je(), sa && $t();
448
- for (var a = 20, e = !1, t = 0; t < G.length; t++) {
449
- var i = G[t];
450
- if (!i._customRendered) {
451
- var l = i.type || "default";
452
- if (!(l === "bezier" || l === "simplebezier" || l === "default")) {
453
- var o = da[i.source], f = da[i.target];
449
+ function ti() {
450
+ if (Vr && !(!Qe || C.length === 0 || W.length === 0)) {
451
+ Qe = !1, sa && Qt(), jr && $e();
452
+ for (var a = 20, t = !1, e = 0; e < C.length; e++) {
453
+ var l = C[e];
454
+ if (!l._customRendered) {
455
+ var i = l.type || "default";
456
+ if (!(i === "bezier" || i === "simplebezier" || i === "default")) {
457
+ var o = ya[l.source], f = ya[l.target];
454
458
  if (!(!o || !f || o.hidden || f.hidden)) {
455
- var h = Ke(o, "source", i.sourceHandle), x = Ke(f, "target", i.targetHandle), u = h.position || "right", g = x.position || "left", v = h.x, s = h.y, d = x.x, n = x.y, T = v, I = s, A = d, Z = n;
456
- u === "right" ? T += a : u === "left" ? T -= a : u === "bottom" ? I += a : u === "top" && (I -= a), g === "right" ? A += a : g === "left" ? A -= a : g === "bottom" ? Z += a : g === "top" && (Z -= a);
457
- var D = y(o), Vr = y(f), Nr = o.width || L, Dr = o.height || B, Or = f.width || L, ya = f.height || B, jr = {};
458
- jr[i.source] = !0, jr[i.target] = !0;
459
- var H = vi(
460
- Math.min(v, d) - Nr,
461
- Math.min(s, n) - Dr,
462
- Math.max(v, d) + Or,
463
- Math.max(s, n) + ya,
464
- jr
459
+ var h = bt(o, "source", l.sourceHandle), x = bt(f, "target", l.targetHandle), n = h.position || "right", g = x.position || "left", v = h.x, u = h.y, s = x.x, d = x.y, T = v, Z = u, _ = s, K = d;
460
+ n === "right" ? T += a : n === "left" ? T -= a : n === "bottom" ? Z += a : n === "top" && (Z -= a), g === "right" ? _ += a : g === "left" ? _ -= a : g === "bottom" ? K += a : g === "top" && (K -= a);
461
+ var ar = y(o), tr = y(f), hr = o.width || L, X = o.height || B, Yr = f.width || L, xa = f.height || B, Xr = {};
462
+ Xr[l.source] = !0, Xr[l.target] = !0;
463
+ var H = vl(
464
+ Math.min(v, s) - hr,
465
+ Math.min(u, d) - X,
466
+ Math.max(v, s) + Yr,
467
+ Math.max(u, d) + xa,
468
+ Xr
465
469
  );
466
470
  H.push(o), H.push(f);
467
- var xa = u === "left" || u === "right", Za = g === "left" || g === "right", P = null;
468
- if (xa && Za) {
469
- var W, hr = u === "right" && T < A, Fe = u === "left" && T > A;
470
- if (hr || Fe) {
471
- W = (T + A) / 2;
472
- var Ka = _r(W, s, n, H);
473
- if (Ka) {
474
- var ga = y(Ka), Ma = Ka.width || L;
475
- W = W < ga.x + Ma / 2 ? ga.x - a : ga.x + Ma + a;
471
+ var ga = n === "left" || n === "right", Ka = g === "left" || g === "right", q = null;
472
+ if (ga && Ka) {
473
+ var P, sr = n === "right" && T < _, Ut = n === "left" && T > _;
474
+ if (sr || Ut) {
475
+ P = (T + _) / 2;
476
+ var ba = Sr(P, u, d, H);
477
+ if (ba) {
478
+ var Ma = y(ba), ka = ba.width || L;
479
+ P = P < Ma.x + ka / 2 ? Ma.x - a : Ma.x + ka + a;
476
480
  }
477
481
  } else
478
- u === "right" ? W = Math.max(D.x + Nr, Vr.x + Or) + a : W = Math.min(D.x, Vr.x) - a;
479
- P = [{ x: v, y: s }, { x: T, y: s }, { x: W, y: s }, { x: W, y: n }, { x: A, y: n }, { x: d, y: n }];
480
- var Er = Ar(W, A, n, H);
481
- if (Er) {
482
- var ka = y(Er), ma = Er.height || B, Ta = ka.y - a, Yr = ka.y + ma + a, Xr = Math.abs(s - Ta) <= Math.abs(s - Yr) ? Ta : Yr;
483
- P = [{ x: v, y: s }, { x: T, y: s }, { x: W, y: s }, { x: W, y: Xr }, { x: A, y: Xr }, { x: A, y: n }, { x: d, y: n }];
482
+ n === "right" ? P = Math.max(ar.x + hr, tr.x + Yr) + a : P = Math.min(ar.x, tr.x) - a;
483
+ q = [{ x: v, y: u }, { x: T, y: u }, { x: P, y: u }, { x: P, y: d }, { x: _, y: d }, { x: s, y: d }];
484
+ var Cr = Lr(P, _, d, H);
485
+ if (Cr) {
486
+ var ma = y(Cr), Ta = Cr.height || B, Ra = ma.y - a, Hr = ma.y + Ta + a, pr = Math.abs(u - Ra) <= Math.abs(u - Hr) ? Ra : Hr;
487
+ q = [{ x: v, y: u }, { x: T, y: u }, { x: P, y: u }, { x: P, y: pr }, { x: _, y: pr }, { x: _, y: d }, { x: s, y: d }];
484
488
  }
485
- } else if (!xa && !Za) {
486
- var b, ue = u === "bottom" && I < Z, ba = u === "top" && I > Z;
487
- if (ue || ba) {
488
- b = (I + Z) / 2;
489
- var Lr = Ar(v, d, b, H);
490
- if (Lr) {
491
- var Sr = y(Lr), Ra = Lr.height || B;
492
- b = b < Sr.y + Ra / 2 ? Sr.y - a : Sr.y + Ra + a;
489
+ } else if (!ga && !Ka) {
490
+ var b, ut = n === "bottom" && Z < K, Ja = n === "top" && Z > K;
491
+ if (ut || Ja) {
492
+ b = (Z + K) / 2;
493
+ var Wr = Lr(v, s, b, H);
494
+ if (Wr) {
495
+ var Pr = y(Wr), za = Wr.height || B;
496
+ b = b < Pr.y + za / 2 ? Pr.y - a : Pr.y + za + a;
493
497
  }
494
498
  } else
495
- u === "bottom" ? b = Math.max(D.y + Dr, Vr.y + ya) + a : b = Math.min(D.y, Vr.y) - a;
496
- P = [{ x: v, y: s }, { x: v, y: I }, { x: v, y: b }, { x: d, y: b }, { x: d, y: Z }, { x: d, y: n }];
497
- var Hr = _r(d, b, Z, H);
498
- if (Hr) {
499
- var za = y(Hr), Ja = Hr.height || B, wa = za.y - a, Ba = za.y + Ja + a, Aa = Math.abs(b - wa) <= Math.abs(b - Ba) ? wa : Ba;
500
- P = [{ x: v, y: s }, { x: v, y: I }, { x: v, y: b }, { x: d, y: b }, { x: d, y: Aa }, { x: A, y: Aa }, { x: A, y: n }, { x: d, y: n }];
499
+ n === "bottom" ? b = Math.max(ar.y + X, tr.y + xa) + a : b = Math.min(ar.y, tr.y) - a;
500
+ q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: b }, { x: s, y: b }, { x: s, y: K }, { x: s, y: d }];
501
+ var ra = Sr(s, b, K, H);
502
+ if (ra) {
503
+ var wa = y(ra), Qa = ra.height || B, Ba = wa.y - a, Aa = wa.y + Qa + a, _a = Math.abs(b - Ba) <= Math.abs(b - Aa) ? Ba : Aa;
504
+ q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: b }, { x: s, y: b }, { x: s, y: _a }, { x: _, y: _a }, { x: _, y: d }, { x: s, y: d }];
501
505
  }
502
- } else if (xa) {
503
- P = [{ x: v, y: s }, { x: T, y: s }, { x: d, y: s }, { x: d, y: Z }, { x: d, y: n }];
504
- var Cr = _r(d, s, Z, H);
505
- if (Cr) {
506
- var fr = y(Cr), kr = Cr.width || L, Qa = Math.abs(v - fr.x + a) <= Math.abs(v - fr.x - kr - a) ? fr.x - a : fr.x + kr + a;
507
- P = [{ x: v, y: s }, { x: T, y: s }, { x: Qa, y: s }, { x: Qa, y: n }, { x: d, y: n }, { x: d, y: Z }, { x: d, y: n }];
506
+ } else if (ga) {
507
+ q = [{ x: v, y: u }, { x: T, y: u }, { x: s, y: u }, { x: s, y: K }, { x: s, y: d }];
508
+ var qr = Sr(s, u, K, H);
509
+ if (qr) {
510
+ var nr = y(qr), Rr = qr.width || L, $a = Math.abs(v - nr.x + a) <= Math.abs(v - nr.x - Rr - a) ? nr.x - a : nr.x + Rr + a;
511
+ q = [{ x: v, y: u }, { x: T, y: u }, { x: $a, y: u }, { x: $a, y: d }, { x: s, y: d }, { x: s, y: K }, { x: s, y: d }];
508
512
  }
509
- var pr = Ar(T, d, s, H);
510
- if (pr) {
511
- var Wr = y(pr), _a = pr.height || B, p = Math.abs(n - Wr.y + a) <= Math.abs(n - Wr.y - _a - a) ? Wr.y - a : Wr.y + _a + a;
512
- P = [{ x: v, y: s }, { x: T, y: s }, { x: T, y: p }, { x: d, y: p }, { x: d, y: Z }, { x: d, y: n }];
513
+ var aa = Lr(T, s, u, H);
514
+ if (aa) {
515
+ var Gr = y(aa), Ea = aa.height || B, p = Math.abs(d - Gr.y + a) <= Math.abs(d - Gr.y - Ea - a) ? Gr.y - a : Gr.y + Ea + a;
516
+ q = [{ x: v, y: u }, { x: T, y: u }, { x: T, y: p }, { x: s, y: p }, { x: s, y: K }, { x: s, y: d }];
513
517
  }
514
518
  } else {
515
- P = [{ x: v, y: s }, { x: v, y: I }, { x: v, y: n }, { x: A, y: n }, { x: d, y: n }];
516
- var Pr = Ar(v, A, n, H);
517
- if (Pr) {
518
- var Ea = y(Pr), nr = Pr.height || B, qr = Math.abs(s - Ea.y + a) <= Math.abs(s - Ea.y - nr - a) ? Ea.y - a : Ea.y + nr + a;
519
- P = [{ x: v, y: s }, { x: v, y: I }, { x: v, y: qr }, { x: A, y: qr }, { x: A, y: n }, { x: d, y: n }];
519
+ q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: d }, { x: _, y: d }, { x: s, y: d }];
520
+ var Ir = Lr(v, _, d, H);
521
+ if (Ir) {
522
+ var La = y(Ir), dr = Ir.height || B, Zr = Math.abs(u - La.y + a) <= Math.abs(u - La.y - dr - a) ? La.y - a : La.y + dr + a;
523
+ q = [{ x: v, y: u }, { x: v, y: Z }, { x: v, y: Zr }, { x: _, y: Zr }, { x: _, y: d }, { x: s, y: d }];
520
524
  }
521
- var mr = _r(v, I, n, H);
522
- if (mr) {
523
- var ur = y(mr), $a = mr.width || L, Fa = Math.abs(d - ur.x + a) <= Math.abs(d - ur.x - $a - a) ? ur.x - a : ur.x + $a + a;
524
- P = [{ x: v, y: s }, { x: v, y: I }, { x: Fa, y: I }, { x: Fa, y: n }, { x: A, y: n }, { x: d, y: n }];
525
+ var zr = Sr(v, Z, d, H);
526
+ if (zr) {
527
+ var yr = y(zr), Fa = zr.width || L, Ua = Math.abs(s - yr.x + a) <= Math.abs(s - yr.x - Fa - a) ? yr.x - a : yr.x + Fa + a;
528
+ q = [{ x: v, y: u }, { x: v, y: Z }, { x: Ua, y: Z }, { x: Ua, y: d }, { x: _, y: d }, { x: s, y: d }];
525
529
  }
526
530
  }
527
- if (P) {
528
- for (var ra = [P[0]], sr = 1; sr < P.length; sr++) {
529
- var se = ra[ra.length - 1];
530
- (Math.abs(P[sr].x - se.x) > 0.1 || Math.abs(P[sr].y - se.y) > 0.1) && ra.push(P[sr]);
531
+ if (q) {
532
+ for (var ta = [q[0]], xr = 1; xr < q.length; xr++) {
533
+ var st = ta[ta.length - 1];
534
+ (Math.abs(q[xr].x - st.x) > 0.1 || Math.abs(q[xr].y - st.y) > 0.1) && ta.push(q[xr]);
531
535
  }
532
- i._routedPoints = ra, e = !0;
536
+ l._routedPoints = ta, t = !0;
533
537
  }
534
538
  }
535
539
  }
536
540
  }
537
541
  }
538
- e && $();
542
+ t && $();
539
543
  }
540
544
  }
541
- function It() {
542
- Ga && (Gt || (Gt = !0, Qt = !0, requestAnimationFrame(function() {
543
- Gt = !1;
545
+ function Gt() {
546
+ Vr && (Ie || (Ie = !0, Qe = !0, requestAnimationFrame(function() {
547
+ Ie = !1;
544
548
  try {
545
- el();
549
+ ti();
546
550
  } catch (a) {
547
551
  console.error("[worker] async routing error:", a);
548
552
  }
549
553
  })));
550
554
  }
551
- function $e() {
555
+ function Ft() {
552
556
  if (r) {
553
557
  var a = performance.now();
554
- r.clearRect(0, 0, ir, lr);
555
- var e = Zt * M.zoom;
556
- if (e > 2)
557
- if (Fr === "lines" && e >= 4 && e <= 512) {
558
- if ((Ia || li !== e || fi !== Fr) && pi(e), ha && ii > 0) {
559
- var t = (M.x % e + e) % e, i = (M.y % e + e) % e;
560
- r.save(), r.translate(t, i);
561
- var l = r.createPattern(ha, "repeat");
562
- l && (r.fillStyle = l, r.fillRect(-t, -i, ir, lr)), r.restore();
558
+ r.clearRect(0, 0, fr, vr);
559
+ var t = Ze * M.zoom;
560
+ if (t > 2)
561
+ if (Nr === "lines" && t >= 4 && t <= 512) {
562
+ if ((Za || il !== t || fl !== Nr) && pl(t), ua && ll > 0) {
563
+ var e = (M.x % t + t) % t, l = (M.y % t + t) % t;
564
+ r.save(), r.translate(e, l);
565
+ var i = r.createPattern(ua, "repeat");
566
+ i && (r.fillStyle = i, r.fillRect(-e, -l, fr, vr)), r.restore();
563
567
  }
564
568
  } else {
565
- var o = (M.x % e + e) % e, f = (M.y % e + e) % e, h = Ze || k.grid;
566
- if (Fr === "dots") {
569
+ var o = (M.x % t + t) % t, f = (M.y % t + t) % t, h = Kt || k.grid;
570
+ if (Nr === "dots") {
567
571
  r.fillStyle = h;
568
- for (var x = ua * M.zoom, u = o; u < ir; u += e)
569
- for (var g = f; g < lr; g += e)
570
- r.beginPath(), r.arc(Math.round(u), Math.round(g), x, 0, 6.2832), r.fill();
571
- } else if (Fr === "cross") {
572
- r.strokeStyle = h, r.lineWidth = ua;
572
+ for (var x = da * M.zoom, n = o; n < fr; n += t)
573
+ for (var g = f; g < vr; g += t)
574
+ r.beginPath(), r.arc(Math.round(n), Math.round(g), x, 0, 6.2832), r.fill();
575
+ } else if (Nr === "cross") {
576
+ r.strokeStyle = h, r.lineWidth = da;
573
577
  var v = 3 * M.zoom;
574
578
  r.beginPath();
575
- for (var s = o; s < ir; s += e)
576
- for (var d = f; d < lr; d += e) {
577
- var n = Math.round(s), T = Math.round(d);
578
- r.moveTo(n - v, T), r.lineTo(n + v, T), r.moveTo(n, T - v), r.lineTo(n, T + v);
579
+ for (var u = o; u < fr; u += t)
580
+ for (var s = f; s < vr; s += t) {
581
+ var d = Math.round(u), T = Math.round(s);
582
+ r.moveTo(d - v, T), r.lineTo(d + v, T), r.moveTo(d, T - v), r.lineTo(d, T + v);
579
583
  }
580
584
  r.stroke();
581
585
  } else {
582
- var I = Ze || k.grid;
583
- r.beginPath(), r.strokeStyle = I, r.lineWidth = ua * 0.5;
584
- for (var A = o; A < ir; A += e) {
585
- var Z = Math.round(A) + 0.5;
586
- r.moveTo(Z, 0), r.lineTo(Z, lr);
586
+ var Z = Kt || k.grid;
587
+ r.beginPath(), r.strokeStyle = Z, r.lineWidth = da * 0.5;
588
+ for (var _ = o; _ < fr; _ += t) {
589
+ var K = Math.round(_) + 0.5;
590
+ r.moveTo(K, 0), r.lineTo(K, vr);
587
591
  }
588
- for (var D = f; D < lr; D += e) {
589
- var Vr = Math.round(D) + 0.5;
590
- r.moveTo(0, Vr), r.lineTo(ir, Vr);
592
+ for (var ar = f; ar < vr; ar += t) {
593
+ var tr = Math.round(ar) + 0.5;
594
+ r.moveTo(0, tr), r.lineTo(fr, tr);
591
595
  }
592
596
  r.stroke();
593
597
  }
594
598
  }
595
599
  r.beginPath(), r.arc(M.x, M.y, 4 * M.zoom, 0, 6.2832), r.fillStyle = k.origin, r.fill(), r.save(), r.translate(M.x, M.y), r.scale(M.zoom, M.zoom);
596
- var Nr = 100, Dr = -M.x / M.zoom, Or = -M.y / M.zoom, ya = Dr + ir / M.zoom, jr = Or + lr / M.zoom, H = Dr - Nr, xa = Or - Nr, Za = ya + Nr, P = jr + Nr;
597
- if (X.length > 0) {
598
- var W = jo(Dr, Or, ya, jr), hr = W.length, Fe = M.zoom > 0.15, Ka = M.zoom > 0.3, ga = M.zoom > 0.08 && hr < 200;
599
- if (ga) {
600
+ var hr = 100, X = -M.x / M.zoom, Yr = -M.y / M.zoom, xa = X + fr / M.zoom, Xr = Yr + vr / M.zoom, H = X - hr, ga = Yr - hr, Ka = xa + hr, q = Xr + hr;
601
+ if (Y.length > 0) {
602
+ var P = jo(X, Yr, xa, Xr), sr = P.length, Ut = M.zoom > 0.15, ba = M.zoom > 0.3, Ma = M.zoom > 0.08 && sr < 200;
603
+ if (Ma) {
600
604
  r.shadowColor = k.cardShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = k.cardBg, r.beginPath();
601
- for (var Ma = 0; Ma < hr; Ma++) {
602
- var Er = X[W[Ma]];
603
- r.roundRect(Er.x, Er.y, Er.w, Er.h, te);
605
+ for (var ka = 0; ka < sr; ka++) {
606
+ var Cr = Y[P[ka]];
607
+ r.roundRect(Cr.x, Cr.y, Cr.w, Cr.h, ot);
604
608
  }
605
609
  r.fill(), r.shadowColor = "transparent", r.shadowBlur = 0, r.shadowOffsetY = 0;
606
610
  }
607
- if (!ga) {
611
+ if (!Ma) {
608
612
  r.fillStyle = k.cardBg, r.beginPath();
609
- for (var ka = 0; ka < hr; ka++) {
610
- var ma = X[W[ka]];
611
- r.roundRect(ma.x, ma.y, ma.w, ma.h, te);
613
+ for (var ma = 0; ma < sr; ma++) {
614
+ var Ta = Y[P[ma]];
615
+ r.roundRect(Ta.x, Ta.y, Ta.w, Ta.h, ot);
612
616
  }
613
617
  r.fill();
614
618
  }
615
619
  r.strokeStyle = k.cardBorder, r.lineWidth = 0.5, r.beginPath();
616
- for (var Ta = 0; Ta < hr; Ta++) {
617
- var Yr = X[W[Ta]];
618
- r.roundRect(Yr.x, Yr.y, Yr.w, Yr.h, te);
620
+ for (var Ra = 0; Ra < sr; Ra++) {
621
+ var Hr = Y[P[Ra]];
622
+ r.roundRect(Hr.x, Hr.y, Hr.w, Hr.h, ot);
619
623
  }
620
624
  r.stroke();
621
- for (var Xr = [{}, {}, {}, {}], b = 0; b < hr; b++) {
622
- var ue = W[b], ba = ue % 4;
623
- Xr[ba].items || (Xr[ba].items = []), Xr[ba].items.push(X[ue]);
625
+ for (var pr = [{}, {}, {}, {}], b = 0; b < sr; b++) {
626
+ var ut = P[b], Ja = ut % 4;
627
+ pr[Ja].items || (pr[Ja].items = []), pr[Ja].items.push(Y[ut]);
624
628
  }
625
- for (var Lr = 0; Lr < 4; Lr++) {
626
- var Sr = Xr[Lr].items;
627
- if (!(!Sr || Sr.length === 0)) {
628
- r.fillStyle = Ni[Lr], r.beginPath();
629
- for (var Ra = 0; Ra < Sr.length; Ra++) {
630
- var Hr = Sr[Ra];
631
- r.roundRect(Hr.x, Hr.y, Hr.w, 30, [te, te, 0, 0]);
629
+ for (var Wr = 0; Wr < 4; Wr++) {
630
+ var Pr = pr[Wr].items;
631
+ if (!(!Pr || Pr.length === 0)) {
632
+ r.fillStyle = Nl[Wr], r.beginPath();
633
+ for (var za = 0; za < Pr.length; za++) {
634
+ var ra = Pr[za];
635
+ r.roundRect(ra.x, ra.y, ra.w, 30, [ot, ot, 0, 0]);
632
636
  }
633
637
  r.fill();
634
638
  }
635
639
  }
636
- if (Fe) {
637
- r.fillStyle = k.titleText, r.font = Di;
638
- for (var za = 0; za < hr; za++) {
639
- var Ja = X[W[za]];
640
- r.fillText(Ja.title, Ja.x + 12, Ja.y + 19);
640
+ if (Ut) {
641
+ r.fillStyle = k.titleText, r.font = Dl;
642
+ for (var wa = 0; wa < sr; wa++) {
643
+ var Qa = Y[P[wa]];
644
+ r.fillText(Qa.title, Qa.x + 12, Qa.y + 19);
641
645
  }
642
- r.fillStyle = k.bodyText, r.font = Oi;
643
- for (var wa = 0; wa < hr; wa++) {
644
- var Ba = X[W[wa]];
645
- r.fillText(Ba.body, Ba.x + 12, Ba.y + 52);
646
+ r.fillStyle = k.bodyText, r.font = Ol;
647
+ for (var Ba = 0; Ba < sr; Ba++) {
648
+ var Aa = Y[P[Ba]];
649
+ r.fillText(Aa.body, Aa.x + 12, Aa.y + 52);
646
650
  }
647
- if (Ka) {
648
- r.fillStyle = k.coordText, r.font = ji;
649
- for (var Aa = 0; Aa < hr; Aa++) {
650
- var Cr = X[W[Aa]];
651
- r.fillText("(" + Cr.x + ", " + Cr.y + ")", Cr.x + 12, Cr.y + 75);
651
+ if (ba) {
652
+ r.fillStyle = k.coordText, r.font = jl;
653
+ for (var _a = 0; _a < sr; _a++) {
654
+ var qr = Y[P[_a]];
655
+ r.fillText("(" + qr.x + ", " + qr.y + ")", qr.x + 12, qr.y + 75);
652
656
  }
653
657
  }
654
658
  }
655
659
  }
656
- var fr = [], kr = null;
657
- if (C.length > 0)
658
- if (kr = {}, C.length > 100)
659
- for (var Qa = oi(H, xa, Za, P), pr = 0; pr < Qa.length; pr++) {
660
- var Wr = C[Qa[pr]];
661
- kr[Wr.id] = !0, Wr._customRendered || fr.push(Wr);
660
+ var nr = [], Rr = null;
661
+ if (W.length > 0)
662
+ if (Rr = {}, W.length > 100)
663
+ for (var $a = ol(H, ga, Ka, q), aa = 0; aa < $a.length; aa++) {
664
+ var Gr = W[$a[aa]];
665
+ Rr[Gr.id] = !0, Gr._customRendered || nr.push(Gr);
662
666
  }
663
667
  else
664
- for (var _a = 0; _a < C.length; _a++) {
665
- var p = C[_a];
668
+ for (var Ea = 0; Ea < W.length; Ea++) {
669
+ var p = W[Ea];
666
670
  if (!p.hidden) {
667
- var Pr = p.width || L, Ea = p.height || B;
668
- y(p).x + Pr < H || y(p).x > Za || y(p).y + Ea < xa || y(p).y > P || (kr[p.id] = !0, p._customRendered || fr.push(p));
671
+ var Ir = p.width || L, La = p.height || B;
672
+ y(p).x + Ir < H || y(p).x > Ka || y(p).y + La < ga || y(p).y > q || (Rr[p.id] = !0, p._customRendered || nr.push(p));
669
673
  }
670
674
  }
671
- var nr = fr.length;
672
- if (G.length > 0 && C.length > 0) {
673
- let qe = function($r, No) {
674
- if ($r.length) {
675
+ var dr = nr.length;
676
+ if (C.length > 0 && W.length > 0) {
677
+ let qt = function(cr, No) {
678
+ if (cr.length) {
675
679
  r.fillStyle = No, r.beginPath();
676
- for (var St = 0; St < $r.length; St++) {
677
- var Y = $r[St];
678
- r.moveTo(Y.x, Y.y), r.lineTo(Y.x - Y.size * Math.cos(Y.angle - 0.5236), Y.y - Y.size * Math.sin(Y.angle - 0.5236)), r.lineTo(Y.x - Y.size * Math.cos(Y.angle + 0.5236), Y.y - Y.size * Math.sin(Y.angle + 0.5236)), r.closePath();
680
+ for (var Ce = 0; Ce < cr.length; Ce++) {
681
+ var j = cr[Ce];
682
+ r.moveTo(j.x, j.y), r.lineTo(j.x - j.size * Math.cos(j.angle - 0.5236), j.y - j.size * Math.sin(j.angle - 0.5236)), r.lineTo(j.x - j.size * Math.cos(j.angle + 0.5236), j.y - j.size * Math.sin(j.angle + 0.5236)), r.closePath();
679
683
  }
680
684
  r.fill();
681
685
  }
682
686
  };
683
- var tl = qe;
684
- Qe && Hi();
685
- var qr = null, mr = null, ur = null, $a = [], Fa = [], ra = [], sr = [], se = M.zoom > 0.3, hi = M.zoom > 0.05, aa;
686
- if (kr && C.length > 100) {
687
- var de = {};
688
- aa = [];
689
- for (var ni in kr) {
690
- var Ue = Br[ni];
691
- if (Ue)
692
- for (var ce = 0; ce < Ue.length; ce++) {
693
- var Ve = Ue[ce];
694
- de[Ve] || (de[Ve] = !0, aa.push(Ve));
687
+ var ei = qt;
688
+ $t && Hl();
689
+ var Zr = null, zr = null, yr = null, Fa = [], Ua = [], ta = [], xr = [], st = M.zoom > 0.3, hl = M.zoom > 0.05, ea;
690
+ if (Rr && W.length > 100) {
691
+ var dt = {};
692
+ ea = [];
693
+ for (var nl in Rr) {
694
+ var ct = Er[nl];
695
+ if (ct)
696
+ for (var Vt = 0; Vt < ct.length; Vt++) {
697
+ var Nt = ct[Vt];
698
+ dt[Nt] || (dt[Nt] = !0, ea.push(Nt));
695
699
  }
696
700
  }
697
- for (var rr = 0; rr < C.length; rr++) {
698
- var ye = C[rr];
699
- if ((ye.dragging || ye.selected) && !kr[ye.id]) {
700
- var Ua = Br[ye.id];
701
- if (Ua)
702
- for (var ca = 0; ca < Ua.length; ca++)
703
- de[Ua[ca]] || (de[Ua[ca]] = !0, aa.push(Ua[ca]));
701
+ for (var rr = 0; rr < W.length; rr++) {
702
+ var yt = W[rr];
703
+ if ((yt.dragging || yt.selected) && !Rr[yt.id]) {
704
+ var ca = Er[yt.id];
705
+ if (ca)
706
+ for (var Va = 0; Va < ca.length; Va++)
707
+ dt[ca[Va]] || (dt[ca[Va]] = !0, ea.push(ca[Va]));
704
708
  }
705
709
  }
706
710
  } else {
707
- aa = [];
708
- for (var Ne = 0; Ne < G.length; Ne++) aa.push(Ne);
711
+ ea = [];
712
+ for (var Dt = 0; Dt < C.length; Dt++) ea.push(Dt);
709
713
  }
710
- for (var De = 0; De < aa.length; De++) {
711
- var O = G[aa[De]], ea = Yo(O.source), ta = Yo(O.target);
712
- if (!(!ea || !ta) && !(ea.hidden || ta.hidden) && !O._customRendered) {
713
- var xe = Ke(ea, "source", O.sourceHandle), ge = Ke(ta, "target", O.targetHandle), _ = xe.x, w = xe.y, R = ge.x, z = ge.y, dr = O.type || "default", Ft = O.selected, Ut = O.animated, J;
714
- Ft ? (mr || (mr = new Path2D()), J = mr) : Ut ? (ur || (ur = new Path2D()), J = ur) : (qr || (qr = new Path2D()), J = qr);
715
- var Q = O._routedPoints;
714
+ for (var Ot = 0; Ot < ea.length; Ot++) {
715
+ var D = C[ea[Ot]], oa = Yo(D.source), la = Yo(D.target);
716
+ if (!(!oa || !la) && !(oa.hidden || la.hidden) && !D._customRendered) {
717
+ var xt = bt(oa, "source", D.sourceHandle), gt = bt(la, "target", D.targetHandle), A = xt.x, w = xt.y, R = gt.x, z = gt.y, gr = D.type || "default", Fe = D.selected, Ue = D.animated, J;
718
+ Fe ? (zr || (zr = new Path2D()), J = zr) : Ue ? (yr || (yr = new Path2D()), J = yr) : (Zr || (Zr = new Path2D()), J = Zr);
719
+ var Q = D._routedPoints;
716
720
  if (Q && Q.length >= 2)
717
- ai(J, Q);
718
- else if (dr === "straight")
719
- J.moveTo(_, w), J.lineTo(R, z);
720
- else if (dr === "step" || dr === "smoothstep")
721
+ al(J, Q);
722
+ else if (gr === "straight")
723
+ J.moveTo(A, w), J.lineTo(R, z);
724
+ else if (gr === "step" || gr === "smoothstep")
721
725
  try {
722
- var ar = xe.position || "right", La = ge.position || "left", m = 20, U = _, j = w, c = R, er = z;
723
- ar === "right" ? U += m : ar === "left" ? U -= m : ar === "bottom" ? j += m : ar === "top" && (j -= m), La === "right" ? c += m : La === "left" ? c -= m : La === "bottom" ? er += m : La === "top" && (er -= m);
724
- var Me = y(ea), ke = y(ta), Va = ea.width || L, Na = ea.height || B, ct = ta.width || L, Vt = ta.height || B, Oe = ar === "left" || ar === "right", Nt = La === "left" || La === "right", je = {};
725
- je[O.source] = !0, je[O.target] = !0;
726
- var tr = vi(
727
- Math.min(_, R) - Va,
728
- Math.min(w, z) - Na,
729
- Math.max(_, R) + ct,
730
- Math.max(w, z) + Vt,
731
- je
726
+ var er = xt.position || "right", Sa = gt.position || "left", m = 20, U = A, O = w, c = R, or = z;
727
+ er === "right" ? U += m : er === "left" ? U -= m : er === "bottom" ? O += m : er === "top" && (O -= m), Sa === "right" ? c += m : Sa === "left" ? c -= m : Sa === "bottom" ? or += m : Sa === "top" && (or -= m);
728
+ var Mt = y(oa), kt = y(la), Na = oa.width || L, Da = oa.height || B, ce = la.width || L, Ve = la.height || B, jt = er === "left" || er === "right", Ne = Sa === "left" || Sa === "right", Yt = {};
729
+ Yt[D.source] = !0, Yt[D.target] = !0;
730
+ var lr = vl(
731
+ Math.min(A, R) - Na,
732
+ Math.min(w, z) - Da,
733
+ Math.max(A, R) + ce,
734
+ Math.max(w, z) + Ve,
735
+ Yt
732
736
  );
733
- tr.push(ea), tr.push(ta);
734
- var K = [];
735
- if (Oe && Nt) {
736
- var V, ui = ar === "right" && U < c, si = ar === "left" && U > c;
737
- if (ui || si) {
737
+ lr.push(oa), lr.push(la);
738
+ var I = [];
739
+ if (jt && Ne) {
740
+ var V, ul = er === "right" && U < c, sl = er === "left" && U > c;
741
+ if (ul || sl) {
738
742
  V = (U + c) / 2;
739
- var Ye = _r(V, w, z, tr);
740
- if (Ye) {
741
- var Xe = y(Ye), Pr = Ye.width || L;
742
- V < Xe.x + Pr / 2 ? V = Xe.x - m : V = Xe.x + Pr + m;
743
+ var Xt = Sr(V, w, z, lr);
744
+ if (Xt) {
745
+ var Ht = y(Xt), Ir = Xt.width || L;
746
+ V < Ht.x + Ir / 2 ? V = Ht.x - m : V = Ht.x + Ir + m;
743
747
  }
744
748
  } else
745
- ar === "right" ? V = Math.max(Me.x + Va, ke.x + ct) + m : V = Math.min(Me.x, ke.x) - m;
746
- K = [{ x: U, y: w }, { x: V, y: w }, { x: V, y: z }, { x: c, y: z }];
747
- var He = Ar(V, c, z, tr);
748
- if (He) {
749
- var Dt = y(He), di = He.height || B, Ot = Dt.y - m, jt = Dt.y + di + m, Yt = Math.abs(w - Ot) <= Math.abs(w - jt) ? Ot : jt;
750
- K = [
749
+ er === "right" ? V = Math.max(Mt.x + Na, kt.x + ce) + m : V = Math.min(Mt.x, kt.x) - m;
750
+ I = [{ x: U, y: w }, { x: V, y: w }, { x: V, y: z }, { x: c, y: z }];
751
+ var pt = Lr(V, c, z, lr);
752
+ if (pt) {
753
+ var De = y(pt), dl = pt.height || B, Oe = De.y - m, je = De.y + dl + m, Ye = Math.abs(w - Oe) <= Math.abs(w - je) ? Oe : je;
754
+ I = [
751
755
  { x: U, y: w },
752
756
  { x: V, y: w },
753
- { x: V, y: Yt },
754
- { x: c, y: Yt },
757
+ { x: V, y: Ye },
758
+ { x: c, y: Ye },
755
759
  { x: c, y: z }
756
760
  ];
757
761
  }
758
- var pe = Ar(U, V, w, tr);
759
- if (pe) {
760
- var Xt = y(pe), yi = pe.height || B, Ht = Xt.y - m, pt = Xt.y + yi + m, ro = Math.abs(z - Ht) <= Math.abs(z - pt) ? Ht : pt;
761
- K.splice(
762
+ var re = Lr(U, V, w, lr);
763
+ if (re) {
764
+ var Xe = y(re), yl = re.height || B, He = Xe.y - m, pe = Xe.y + yl + m, ro = Math.abs(z - He) <= Math.abs(z - pe) ? He : pe;
765
+ I.splice(
762
766
  1,
763
767
  0,
764
768
  { x: U, y: ro },
765
769
  { x: V, y: ro }
766
- ), K = K.filter(function($r, No) {
767
- return !(Math.abs($r.x - V) < 1 && Math.abs($r.y - w) < 1);
768
- }), K.splice(0, 0, { x: U, y: w });
770
+ ), I = I.filter(function(cr, No) {
771
+ return !(Math.abs(cr.x - V) < 1 && Math.abs(cr.y - w) < 1);
772
+ }), I.splice(0, 0, { x: U, y: w });
769
773
  }
770
- } else if (!Oe && !Nt) {
771
- var N, xi = ar === "bottom" && j < er, gi = ar === "top" && j > er;
772
- if (xi || gi) {
773
- N = (j + er) / 2;
774
- var rt = Ar(_, R, N, tr);
775
- if (rt) {
776
- var at = y(rt), ao = rt.height || B;
777
- N < at.y + ao / 2 ? N = at.y - m : N = at.y + ao + m;
774
+ } else if (!jt && !Ne) {
775
+ var N, xl = er === "bottom" && O < or, gl = er === "top" && O > or;
776
+ if (xl || gl) {
777
+ N = (O + or) / 2;
778
+ var ae = Lr(A, R, N, lr);
779
+ if (ae) {
780
+ var te = y(ae), ao = ae.height || B;
781
+ N < te.y + ao / 2 ? N = te.y - m : N = te.y + ao + m;
778
782
  }
779
783
  } else
780
- ar === "bottom" ? N = Math.max(Me.y + Na, ke.y + Vt) + m : N = Math.min(Me.y, ke.y) - m;
781
- K = [{ x: _, y: j }, { x: _, y: N }, { x: R, y: N }, { x: R, y: er }];
782
- var et = _r(_, j, N, tr);
783
- if (et) {
784
- var eo = y(et), Mi = et.width || L, to = eo.x - m, oo = eo.x + Mi + m, io = Math.abs(R - to) <= Math.abs(R - oo) ? to : oo;
785
- K = [
786
- { x: _, y: j },
787
- { x: io, y: j },
788
- { x: io, y: N },
784
+ er === "bottom" ? N = Math.max(Mt.y + Da, kt.y + Ve) + m : N = Math.min(Mt.y, kt.y) - m;
785
+ I = [{ x: A, y: O }, { x: A, y: N }, { x: R, y: N }, { x: R, y: or }];
786
+ var ee = Sr(A, O, N, lr);
787
+ if (ee) {
788
+ var to = y(ee), Ml = ee.width || L, eo = to.x - m, oo = to.x + Ml + m, lo = Math.abs(R - eo) <= Math.abs(R - oo) ? eo : oo;
789
+ I = [
790
+ { x: A, y: O },
791
+ { x: lo, y: O },
792
+ { x: lo, y: N },
789
793
  { x: R, y: N },
790
- { x: R, y: er }
794
+ { x: R, y: or }
791
795
  ];
792
796
  }
793
- var tt = _r(R, N, er, tr);
794
- if (tt) {
795
- var lo = y(tt), ki = tt.height || B, fo = lo.y - m, vo = lo.y + ki + m, mi = Math.abs(N - fo) <= Math.abs(N - vo) ? fo : vo;
796
- K.splice(
797
- K.length - 1,
797
+ var oe = Sr(R, N, or, lr);
798
+ if (oe) {
799
+ var io = y(oe), kl = oe.height || B, fo = io.y - m, vo = io.y + kl + m, ml = Math.abs(N - fo) <= Math.abs(N - vo) ? fo : vo;
800
+ I.splice(
801
+ I.length - 1,
798
802
  0,
799
- { x: c, y: mi }
803
+ { x: c, y: ml }
800
804
  );
801
805
  }
802
- } else if (Oe) {
803
- K = [{ x: U, y: w }, { x: R, y: w }, { x: R, y: er }];
804
- var ot = _r(R, w, er, tr);
805
- if (ot) {
806
- var ho = y(ot), Ti = ot.width || L, no = ho.x - m, uo = ho.x + Ti + m, so = Math.abs(_ - no) <= Math.abs(_ - uo) ? no : uo;
807
- K = [{ x: U, y: w }, { x: so, y: w }, { x: so, y: z }, { x: R, y: z }, { x: R, y: er }];
806
+ } else if (jt) {
807
+ I = [{ x: U, y: w }, { x: R, y: w }, { x: R, y: or }];
808
+ var le = Sr(R, w, or, lr);
809
+ if (le) {
810
+ var ho = y(le), Tl = le.width || L, no = ho.x - m, uo = ho.x + Tl + m, so = Math.abs(A - no) <= Math.abs(A - uo) ? no : uo;
811
+ I = [{ x: U, y: w }, { x: so, y: w }, { x: so, y: z }, { x: R, y: z }, { x: R, y: or }];
808
812
  }
809
- var it = Ar(U, R, w, tr);
810
- if (it) {
811
- var yo = y(it), Ri = it.height || B, xo = yo.y - m, go = yo.y + Ri + m, Mo = Math.abs(z - xo) <= Math.abs(z - go) ? xo : go;
812
- K = [{ x: U, y: w }, { x: U, y: Mo }, { x: R, y: Mo }, { x: R, y: er }];
813
+ var ie = Lr(U, R, w, lr);
814
+ if (ie) {
815
+ var yo = y(ie), Rl = ie.height || B, xo = yo.y - m, go = yo.y + Rl + m, Mo = Math.abs(z - xo) <= Math.abs(z - go) ? xo : go;
816
+ I = [{ x: U, y: w }, { x: U, y: Mo }, { x: R, y: Mo }, { x: R, y: or }];
813
817
  }
814
818
  } else {
815
- K = [{ x: _, y: j }, { x: _, y: z }, { x: c, y: z }];
816
- var lt = Ar(_, c, z, tr);
817
- if (lt) {
818
- var ko = y(lt), zi = lt.height || B, mo = ko.y - m, To = ko.y + zi + m, Ro = Math.abs(w - mo) <= Math.abs(w - To) ? mo : To;
819
- K = [{ x: _, y: j }, { x: _, y: Ro }, { x: c, y: Ro }, { x: c, y: z }];
819
+ I = [{ x: A, y: O }, { x: A, y: z }, { x: c, y: z }];
820
+ var fe = Lr(A, c, z, lr);
821
+ if (fe) {
822
+ var ko = y(fe), zl = fe.height || B, mo = ko.y - m, To = ko.y + zl + m, Ro = Math.abs(w - mo) <= Math.abs(w - To) ? mo : To;
823
+ I = [{ x: A, y: O }, { x: A, y: Ro }, { x: c, y: Ro }, { x: c, y: z }];
820
824
  }
821
- var ft = _r(_, j, z, tr);
822
- if (ft) {
823
- var zo = y(ft), wi = ft.width || L, wo = zo.x - m, Bo = zo.x + wi + m, Ao = Math.abs(R - wo) <= Math.abs(R - Bo) ? wo : Bo;
824
- K = [{ x: _, y: j }, { x: Ao, y: j }, { x: Ao, y: z }, { x: c, y: z }];
825
+ var ve = Sr(A, O, z, lr);
826
+ if (ve) {
827
+ var zo = y(ve), wl = ve.width || L, wo = zo.x - m, Bo = zo.x + wl + m, Ao = Math.abs(R - wo) <= Math.abs(R - Bo) ? wo : Bo;
828
+ I = [{ x: A, y: O }, { x: Ao, y: O }, { x: Ao, y: z }, { x: c, y: z }];
825
829
  }
826
830
  }
827
- for (var oa = [{ x: _, y: w }], vt = 0; vt < K.length; vt++) oa.push(K[vt]);
828
- oa.push({ x: R, y: z });
829
- for (var or = [oa[0]], Da = 1; Da < oa.length; Da++) {
830
- var Oa = or[or.length - 1];
831
- (Math.abs(oa[Da].x - Oa.x) > 0.1 || Math.abs(oa[Da].y - Oa.y) > 0.1) && or.push(oa[Da]);
831
+ for (var ia = [{ x: A, y: w }], he = 0; he < I.length; he++) ia.push(I[he]);
832
+ ia.push({ x: R, y: z });
833
+ for (var ir = [ia[0]], Oa = 1; Oa < ia.length; Oa++) {
834
+ var ja = ir[ir.length - 1];
835
+ (Math.abs(ia[Oa].x - ja.x) > 0.1 || Math.abs(ia[Oa].y - ja.y) > 0.1) && ir.push(ia[Oa]);
832
836
  }
833
- var _o = dr === "smoothstep" ? 8 : 0;
834
- J.moveTo(or[0].x, or[0].y);
835
- for (var rr = 1; rr < or.length; rr++)
836
- if (_o > 0 && rr > 0 && rr < or.length - 1) {
837
- var Tr = or[rr - 1], S = or[rr], Gr = or[rr + 1];
838
- if (Math.abs(Tr.x - S.x) < 0.5 && Math.abs(S.x - Gr.x) < 0.5 || Math.abs(Tr.y - S.y) < 0.5 && Math.abs(S.y - Gr.y) < 0.5)
837
+ var _o = gr === "smoothstep" ? 8 : 0;
838
+ J.moveTo(ir[0].x, ir[0].y);
839
+ for (var rr = 1; rr < ir.length; rr++)
840
+ if (_o > 0 && rr > 0 && rr < ir.length - 1) {
841
+ var wr = ir[rr - 1], S = ir[rr], Kr = ir[rr + 1];
842
+ if (Math.abs(wr.x - S.x) < 0.5 && Math.abs(S.x - Kr.x) < 0.5 || Math.abs(wr.y - S.y) < 0.5 && Math.abs(S.y - Kr.y) < 0.5)
839
843
  J.lineTo(S.x, S.y);
840
844
  else {
841
- var me = Math.min(Math.hypot(Tr.x - S.x, Tr.y - S.y) / 2, Math.hypot(S.x - Gr.x, S.y - Gr.y) / 2, _o);
842
- Math.abs(Tr.y - S.y) < 0.5 ? (J.lineTo(S.x + (Tr.x < Gr.x ? -1 : 1) * me, S.y), J.quadraticCurveTo(S.x, S.y, S.x, S.y + (Tr.y < Gr.y ? 1 : -1) * me)) : (J.lineTo(S.x, S.y + (Tr.y < Gr.y ? -1 : 1) * me), J.quadraticCurveTo(S.x, S.y, S.x + (Tr.x < Gr.x ? 1 : -1) * me, S.y));
845
+ var mt = Math.min(Math.hypot(wr.x - S.x, wr.y - S.y) / 2, Math.hypot(S.x - Kr.x, S.y - Kr.y) / 2, _o);
846
+ Math.abs(wr.y - S.y) < 0.5 ? (J.lineTo(S.x + (wr.x < Kr.x ? -1 : 1) * mt, S.y), J.quadraticCurveTo(S.x, S.y, S.x, S.y + (wr.y < Kr.y ? 1 : -1) * mt)) : (J.lineTo(S.x, S.y + (wr.y < Kr.y ? -1 : 1) * mt), J.quadraticCurveTo(S.x, S.y, S.x + (wr.x < Kr.x ? 1 : -1) * mt, S.y));
843
847
  }
844
848
  } else
845
- J.lineTo(or[rr].x, or[rr].y);
846
- } catch ($r) {
847
- console.error("[worker] smoothstep error:", $r, "edge:", O.id);
849
+ J.lineTo(ir[rr].x, ir[rr].y);
850
+ } catch (cr) {
851
+ console.error("[worker] smoothstep error:", cr, "edge:", D.id);
848
852
  }
849
853
  else {
850
- var Ir = xe.position || "right", Zr = ge.position || "left", Kr = 20, ja = _, Te = w, Ya = R, Re = z;
851
- Ir === "right" ? ja += Kr : Ir === "left" ? ja -= Kr : Ir === "bottom" ? Te += Kr : Ir === "top" && (Te -= Kr), Zr === "right" ? Ya += Kr : Zr === "left" ? Ya -= Kr : Zr === "bottom" ? Re += Kr : Zr === "top" && (Re -= Kr);
852
- var Bi = Math.abs(Ya - ja), br = Math.max(50, Bi * 0.5), Ai = ja + (Ir === "left" ? -br : Ir === "right" ? br : 0), _i = Te + (Ir === "top" ? -br : Ir === "bottom" ? br : 0), Ei = Ya + (Zr === "left" ? -br : Zr === "right" ? br : 0), Li = Re + (Zr === "top" ? -br : Zr === "bottom" ? br : 0);
853
- J.moveTo(_, w), J.lineTo(ja, Te), J.bezierCurveTo(Ai, _i, Ei, Li, Ya, Re), J.lineTo(R, z);
854
+ var br = xt.position || "right", Jr = gt.position || "left", Qr = 20, Ya = A, Tt = w, Xa = R, Rt = z;
855
+ br === "right" ? Ya += Qr : br === "left" ? Ya -= Qr : br === "bottom" ? Tt += Qr : br === "top" && (Tt -= Qr), Jr === "right" ? Xa += Qr : Jr === "left" ? Xa -= Qr : Jr === "bottom" ? Rt += Qr : Jr === "top" && (Rt -= Qr);
856
+ var Bl = Math.abs(Xa - Ya), $r = Math.max(50, Bl * 0.5), Al = Ya + (br === "left" ? -$r : br === "right" ? $r : 0), _l = Tt + (br === "top" ? -$r : br === "bottom" ? $r : 0), El = Xa + (Jr === "left" ? -$r : Jr === "right" ? $r : 0), Ll = Rt + (Jr === "top" ? -$r : Jr === "bottom" ? $r : 0);
857
+ J.moveTo(A, w), J.lineTo(Ya, Tt), J.bezierCurveTo(Al, _l, El, Ll, Xa, Rt), J.lineTo(R, z);
854
858
  }
855
- if (hi) {
856
- var Si = 8, Xa;
859
+ if (hl) {
860
+ var Sl = 8, Ha;
857
861
  if (Q && Q.length >= 2) {
858
- var Oa = Q[Q.length - 1], Eo = Q[Q.length - 2];
859
- Xa = Math.atan2(Oa.y - Eo.y, Oa.x - Eo.x);
860
- } else if (dr === "straight")
861
- Xa = Math.atan2(z - w, R - _);
862
- else if (dr === "step" || dr === "smoothstep")
863
- Xa = 0;
862
+ var ja = Q[Q.length - 1], Eo = Q[Q.length - 2];
863
+ Ha = Math.atan2(ja.y - Eo.y, ja.x - Eo.x);
864
+ } else if (gr === "straight")
865
+ Ha = Math.atan2(z - w, R - A);
866
+ else if (gr === "step" || gr === "smoothstep")
867
+ Ha = 0;
864
868
  else {
865
- var Lo = Jt(_, w, R, z);
866
- Xa = Math.atan2(z - Lo.cp2y, R - Lo.cp2x);
869
+ var Lo = Je(A, w, R, z);
870
+ Ha = Math.atan2(z - Lo.cp2y, R - Lo.cp2x);
867
871
  }
868
- var So = Q && Q.length >= 2 ? Q[Q.length - 1] : { x: R, y: z }, ht = { x: So.x, y: So.y, angle: Xa, size: Si };
869
- Ft ? Fa.push(ht) : Ut ? ra.push(ht) : $a.push(ht);
872
+ var So = Q && Q.length >= 2 ? Q[Q.length - 1] : { x: R, y: z }, ne = { x: So.x, y: So.y, angle: Ha, size: Sl };
873
+ Fe ? Ua.push(ne) : Ue ? ta.push(ne) : Fa.push(ne);
870
874
  }
871
- if (se && O.label) {
872
- var Ha;
873
- Q && Q.length >= 2 ? Ha = rl(Q) : dr === "straight" || dr === "step" || dr === "smoothstep" ? Ha = { x: (_ + R) / 2, y: (w + z) / 2 } : Ha = al(_, w, R, z), sr.push({ text: O.label, x: Ha.x, y: Ha.y });
875
+ if (st && D.label) {
876
+ var pa;
877
+ Q && Q.length >= 2 ? pa = ri(Q) : gr === "straight" || gr === "step" || gr === "smoothstep" ? pa = { x: (A + R) / 2, y: (w + z) / 2 } : pa = ai(A, w, R, z), xr.push({ text: D.label, x: pa.x, y: pa.y });
874
878
  }
875
879
  }
876
880
  }
877
- if (qr && (r.strokeStyle = k.edgeStroke, r.lineWidth = 1.5, r.setLineDash([]), r.stroke(qr)), ur && (r.strokeStyle = k.edgeAnimated, r.lineWidth = 1.5, r.setLineDash([5, 5]), r.lineDashOffset = -bt, r.stroke(ur), r.setLineDash([])), mr && (r.strokeStyle = k.edgeSelected, r.lineWidth = 2.5, r.setLineDash([]), r.stroke(mr)), qe($a, k.edgeStroke), qe(ra, k.edgeAnimated), qe(Fa, k.edgeSelected), sr.length > 0) {
878
- r.font = Yi, r.textAlign = "center", r.textBaseline = "middle";
879
- for (var nt = 0; nt < sr.length; nt++) {
880
- var Sa = sr[nt], Ci = r.measureText(Sa.text), Co = Ci.width + 12;
881
- r.fillStyle = F ? "#2a2a2a" : "#ffffff", r.fillRect(Sa.x - Co / 2, Sa.y - 9, Co, 18), r.fillStyle = k.nodeText, r.fillText(Sa.text, Sa.x, Sa.y);
881
+ if (Zr && (r.strokeStyle = k.edgeStroke, r.lineWidth = 1.5, r.setLineDash([]), r.stroke(Zr)), yr && (r.strokeStyle = k.edgeAnimated, r.lineWidth = 1.5, r.setLineDash([5, 5]), r.lineDashOffset = -be, r.stroke(yr), r.setLineDash([])), zr && (r.strokeStyle = k.edgeSelected, r.lineWidth = 2.5, r.setLineDash([]), r.stroke(zr)), qt(Fa, k.edgeStroke), qt(ta, k.edgeAnimated), qt(Ua, k.edgeSelected), xr.length > 0) {
882
+ r.font = Yl, r.textAlign = "center", r.textBaseline = "middle";
883
+ for (var ue = 0; ue < xr.length; ue++) {
884
+ var Ca = xr[ue], Cl = r.measureText(Ca.text), Co = Cl.width + 12;
885
+ r.fillStyle = F ? "#2a2a2a" : "#ffffff", r.fillRect(Ca.x - Co / 2, Ca.y - 9, Co, 18), r.fillStyle = k.nodeText, r.fillText(Ca.text, Ca.x, Ca.y);
882
886
  }
883
887
  r.textAlign = "start", r.textBaseline = "alphabetic";
884
888
  }
885
889
  }
886
- if (oe) {
890
+ if (lt) {
887
891
  r.beginPath(), r.strokeStyle = k.connectionLine, r.lineWidth = 2, r.setLineDash([6, 4]);
888
- var ut = oe._routedPoints;
889
- if (ut && ut.length >= 2) {
892
+ var se = lt._routedPoints;
893
+ if (se && se.length >= 2) {
890
894
  var Wo = new Path2D();
891
- ai(Wo, ut), r.stroke(Wo);
895
+ al(Wo, se), r.stroke(Wo);
892
896
  } else {
893
- var ze = oe.from, we = oe.to, Be = Jt(ze.x, ze.y, we.x, we.y);
894
- r.moveTo(ze.x, ze.y), r.bezierCurveTo(Be.cp1x, Be.cp1y, Be.cp2x, Be.cp2y, we.x, we.y), r.stroke();
897
+ var zt = lt.from, wt = lt.to, Bt = Je(zt.x, zt.y, wt.x, wt.y);
898
+ r.moveTo(zt.x, zt.y), r.bezierCurveTo(Bt.cp1x, Bt.cp1y, Bt.cp2x, Bt.cp2y, wt.x, wt.y), r.stroke();
895
899
  }
896
900
  r.setLineDash([]);
897
901
  }
898
- if (Mr) {
899
- var Po = Math.min(Mr.startWorld.x, Mr.endWorld.x), qo = Math.min(Mr.startWorld.y, Mr.endWorld.y), Va = Math.abs(Mr.endWorld.x - Mr.startWorld.x), Na = Math.abs(Mr.endWorld.y - Mr.startWorld.y);
900
- r.fillStyle = F ? "rgba(59,130,246,0.08)" : "rgba(59,130,246,0.06)", r.fillRect(Po, qo, Va, Na), r.strokeStyle = "#3b82f6", r.lineWidth = 1 / M.zoom, r.setLineDash([]), r.strokeRect(Po, qo, Va, Na);
902
+ if (Tr) {
903
+ var Po = Math.min(Tr.startWorld.x, Tr.endWorld.x), qo = Math.min(Tr.startWorld.y, Tr.endWorld.y), Na = Math.abs(Tr.endWorld.x - Tr.startWorld.x), Da = Math.abs(Tr.endWorld.y - Tr.startWorld.y);
904
+ r.fillStyle = F ? "rgba(59,130,246,0.08)" : "rgba(59,130,246,0.06)", r.fillRect(Po, qo, Na, Da), r.strokeStyle = "#3b82f6", r.lineWidth = 1 / M.zoom, r.setLineDash([]), r.strokeRect(Po, qo, Na, Da);
901
905
  }
902
- if (nr > 0) {
903
- var Go = le > 0, ia = M.zoom > 0.12 && (M.zoom > 0.25 || nr < 500), st = !Go && M.zoom > 0.08 && nr < 200, Wi = !Go && M.zoom > 0.2 && nr < 300, Pi = Object.keys(Ge).length > 0 || Object.keys(ie).length > 0 || Object.keys(Ie).length > 0, Jr = fr, Ae = [], _e = [];
904
- if (Pi) {
905
- Jr = [];
906
- for (var dt = 0; dt < nr; dt++) {
907
- var Qr = fr[dt];
908
- ie[Qr.id] || Qr.type && Ge[Qr.type] ? Ae.push(Qr) : Qr.type && Ie[Qr.type] ? _e.push(Qr) : Jr.push(Qr);
906
+ if (dr > 0) {
907
+ var Go = Ia > 0, fa = M.zoom > 0.12 && (M.zoom > 0.25 || dr < 500), de = !Go && M.zoom > 0.08 && dr < 200, Wl = !Go && M.zoom > 0.2 && dr < 300, Pl = Object.keys(It).length > 0 || Object.keys(it).length > 0 || Object.keys(Zt).length > 0, Fr = nr, At = [], _t = [];
908
+ if (Pl) {
909
+ Fr = [];
910
+ for (var ye = 0; ye < dr; ye++) {
911
+ var Ur = nr[ye];
912
+ it[Ur.id] || Ur.type && It[Ur.type] ? At.push(Ur) : Ur.type && Zt[Ur.type] ? _t.push(Ur) : Fr.push(Ur);
909
913
  }
910
914
  }
911
- var pa = Jr.length;
912
- if (st) {
915
+ var rt = Fr.length;
916
+ if (de) {
913
917
  r.shadowColor = k.nodeShadow, r.shadowBlur = 6, r.shadowOffsetY = 2, r.fillStyle = k.nodeBg, r.beginPath();
914
- for (var yt = 0; yt < pa; yt++) {
915
- var Ee = Jr[yt];
916
- r.roundRect(y(Ee).x, y(Ee).y, Ee.width || L, Ee.height || B, qa);
918
+ for (var xe = 0; xe < rt; xe++) {
919
+ var Et = Fr[xe];
920
+ r.roundRect(y(Et).x, y(Et).y, Et.width || L, Et.height || B, Ga);
917
921
  }
918
922
  r.fill(), r.shadowColor = "transparent", r.shadowBlur = 0, r.shadowOffsetY = 0;
919
923
  }
920
- if (!st) {
924
+ if (!de) {
921
925
  r.fillStyle = k.nodeBg, r.beginPath();
922
- for (var xt = 0; xt < pa; xt++) {
923
- var Le = Jr[xt];
924
- r.roundRect(y(Le).x, y(Le).y, Le.width || L, Le.height || B, qa);
926
+ for (var ge = 0; ge < rt; ge++) {
927
+ var Lt = Fr[ge];
928
+ r.roundRect(y(Lt).x, y(Lt).y, Lt.width || L, Lt.height || B, Ga);
925
929
  }
926
930
  r.fill();
927
931
  }
928
932
  r.strokeStyle = k.nodeBorder, r.lineWidth = 1, r.beginPath();
929
- for (var gt = 0; gt < pa; gt++) {
930
- var re = Jr[gt];
931
- re.selected || r.roundRect(y(re).x, y(re).y, re.width || L, re.height || B, qa);
933
+ for (var Me = 0; Me < rt; Me++) {
934
+ var at = Fr[Me];
935
+ at.selected || r.roundRect(y(at).x, y(at).y, at.width || L, at.height || B, Ga);
932
936
  }
933
937
  r.stroke();
934
938
  var Io = !1;
935
939
  r.strokeStyle = k.nodeSelectedBorder, r.lineWidth = 2, r.beginPath();
936
- for (var Mt = 0; Mt < pa; Mt++) {
937
- var ae = Jr[Mt];
938
- ae.selected && (Io = !0, r.roundRect(y(ae).x, y(ae).y, ae.width || L, ae.height || B, qa));
940
+ for (var ke = 0; ke < rt; ke++) {
941
+ var tt = Fr[ke];
942
+ tt.selected && (Io = !0, r.roundRect(y(tt).x, y(tt).y, tt.width || L, tt.height || B, Ga));
939
943
  }
940
- if (Io && r.stroke(), ia) {
944
+ if (Io && r.stroke(), fa) {
941
945
  r.fillStyle = k.nodeText, r.font = Oo, r.textAlign = "center", r.textBaseline = "middle";
942
- for (var kt = 0; kt < pa; kt++) {
943
- var la = Jr[kt];
944
- if (!(!la.data || !la.data.label)) {
945
- var Zo = la.width || L, qi = la.height || B;
946
- r.fillText(la.data.label, y(la).x + Zo / 2, y(la).y + qi / 2, Zo - 24);
946
+ for (var me = 0; me < rt; me++) {
947
+ var va = Fr[me];
948
+ if (!(!va.data || !va.data.label)) {
949
+ var Zo = va.width || L, ql = va.height || B;
950
+ r.fillText(va.data.label, y(va).x + Zo / 2, y(va).y + ql / 2, Zo - 24);
947
951
  }
948
952
  }
949
953
  r.textAlign = "start", r.textBaseline = "alphabetic";
950
954
  }
951
- for (var mt = 0; mt < Ae.length; mt++) {
952
- var yr = Ae[mt], Ca = y(yr), Se = yr.width || L, Tt = yr.height || B, Ko = ie[yr.id] && ei[ie[yr.id]] || Ge[yr.type];
953
- Ko && r.drawImage(Ko, Ca.x, Ca.y, Se, Tt), ia && yr.data && yr.data.label && (r.fillStyle = k.nodeText, r.font = Oo, r.textAlign = "center", r.textBaseline = "middle", r.fillText(yr.data.label, Ca.x + Se / 2, Ca.y + Tt / 2, Se - 24)), yr.selected && (r.strokeStyle = k.nodeSelectedBorder, r.lineWidth = 2, r.beginPath(), r.roundRect(Ca.x, Ca.y, Se, Tt, qa), r.stroke());
955
+ for (var Te = 0; Te < At.length; Te++) {
956
+ var Mr = At[Te], Wa = y(Mr), St = Mr.width || L, Re = Mr.height || B, Ko = it[Mr.id] && tl[it[Mr.id]] || It[Mr.type];
957
+ Ko && r.drawImage(Ko, Wa.x, Wa.y, St, Re), fa && Mr.data && Mr.data.label && (r.fillStyle = k.nodeText, r.font = Oo, r.textAlign = "center", r.textBaseline = "middle", r.fillText(Mr.data.label, Wa.x + St / 2, Wa.y + Re / 2, St - 24)), Mr.selected && (r.strokeStyle = k.nodeSelectedBorder, r.lineWidth = 2, r.beginPath(), r.roundRect(Wa.x, Wa.y, St, Re, Ga), r.stroke());
954
958
  }
955
- Ae.length > 0 && ia && (r.textAlign = "start", r.textBaseline = "alphabetic");
956
- for (var Rt = 0; Rt < _e.length; Rt++) {
957
- var fa = _e[Rt], q = Ie[fa.type], E = y(fa), Rr = fa.width || L, va = fa.height || B, vr = q.radius || qa, Ce = fa.data || {};
958
- if (st && q.shadow !== !1 && (r.save(), r.shadowColor = q.shadowColor || k.nodeShadow, r.shadowBlur = q.shadowBlur || 6, r.shadowOffsetY = q.shadowOffsetY || 2, r.fillStyle = q.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Rr, va, vr), r.fill(), r.restore()), r.fillStyle = q.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Rr, va, vr), r.fill(), r.strokeStyle = fa.selected ? k.nodeSelectedBorder : q.stroke || k.nodeBorder, r.lineWidth = fa.selected ? 2 : q.strokeWidth || 1, r.beginPath(), r.roundRect(E.x, E.y, Rr, va, vr), r.stroke(), q.accent) {
959
- var ee = q.accent;
960
- r.fillStyle = ee.color || "#3b82f6";
961
- var Wa = ee.width || 5;
962
- r.beginPath(), ee.side === "right" ? r.roundRect(E.x + Rr - Wa, E.y, Wa, va, [0, vr, vr, 0]) : ee.side === "top" ? r.roundRect(E.x, E.y, Rr, Wa, [vr, vr, 0, 0]) : ee.side === "bottom" ? r.roundRect(E.x, E.y + va - Wa, Rr, Wa, [0, 0, vr, vr]) : r.roundRect(E.x, E.y, Wa, va, [vr, 0, 0, vr]), r.fill();
959
+ At.length > 0 && fa && (r.textAlign = "start", r.textBaseline = "alphabetic");
960
+ for (var ze = 0; ze < _t.length; ze++) {
961
+ var ha = _t[ze], G = Zt[ha.type], E = y(ha), Br = ha.width || L, na = ha.height || B, ur = G.radius || Ga, Ct = ha.data || {};
962
+ if (de && G.shadow !== !1 && (r.save(), r.shadowColor = G.shadowColor || k.nodeShadow, r.shadowBlur = G.shadowBlur || 6, r.shadowOffsetY = G.shadowOffsetY || 2, r.fillStyle = G.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.fill(), r.restore()), r.fillStyle = G.fill || k.nodeBg, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.fill(), r.strokeStyle = ha.selected ? k.nodeSelectedBorder : G.stroke || k.nodeBorder, r.lineWidth = ha.selected ? 2 : G.strokeWidth || 1, r.beginPath(), r.roundRect(E.x, E.y, Br, na, ur), r.stroke(), G.accent) {
963
+ var et = G.accent;
964
+ r.fillStyle = et.color || "#3b82f6";
965
+ var Pa = et.width || 5;
966
+ r.beginPath(), et.side === "right" ? r.roundRect(E.x + Br - Pa, E.y, Pa, na, [0, ur, ur, 0]) : et.side === "top" ? r.roundRect(E.x, E.y, Br, Pa, [ur, ur, 0, 0]) : et.side === "bottom" ? r.roundRect(E.x, E.y + na - Pa, Br, Pa, [0, 0, ur, ur]) : r.roundRect(E.x, E.y, Pa, na, [ur, 0, 0, ur]), r.fill();
963
967
  }
964
- if (q.icon && ia) {
965
- var zr = q.icon, bo = zr.dataField ? Ce[zr.dataField] : zr.text;
968
+ if (G.icon && fa) {
969
+ var Ar = G.icon, bo = Ar.dataField ? Ct[Ar.dataField] : Ar.text;
966
970
  if (bo) {
967
- r.font = (zr.size || 18) + "px system-ui, sans-serif", r.textAlign = "center", r.textBaseline = "middle", r.fillStyle = zr.color || k.nodeText;
968
- var Gi = E.x + (zr.x !== void 0 ? zr.x : 20), Ii = E.y + (zr.y !== void 0 ? zr.y : va / 2);
969
- r.fillText(bo, Gi, Ii);
971
+ r.font = (Ar.size || 18) + "px system-ui, sans-serif", r.textAlign = "center", r.textBaseline = "middle", r.fillStyle = Ar.color || k.nodeText;
972
+ var Gl = E.x + (Ar.x !== void 0 ? Ar.x : 20), Il = E.y + (Ar.y !== void 0 ? Ar.y : na / 2);
973
+ r.fillText(bo, Gl, Il);
970
974
  }
971
975
  }
972
- if (q.title && ia) {
973
- var xr = q.title, Jo = xr.dataField ? Ce[xr.dataField] : xr.text;
976
+ if (G.title && fa) {
977
+ var kr = G.title, Jo = kr.dataField ? Ct[kr.dataField] : kr.text;
974
978
  if (Jo) {
975
- r.font = xr.font || "600 13px system-ui, sans-serif", r.textAlign = xr.align || "left", r.textBaseline = "top", r.fillStyle = xr.color || k.nodeText;
976
- var Qo = E.x + (xr.x !== void 0 ? xr.x : 12), Zi = E.y + (xr.y !== void 0 ? xr.y : 12);
977
- r.fillText(Jo, Qo, Zi, Rr - Qo + E.x - 12);
979
+ r.font = kr.font || "600 13px system-ui, sans-serif", r.textAlign = kr.align || "left", r.textBaseline = "top", r.fillStyle = kr.color || k.nodeText;
980
+ var Qo = E.x + (kr.x !== void 0 ? kr.x : 12), Zl = E.y + (kr.y !== void 0 ? kr.y : 12);
981
+ r.fillText(Jo, Qo, Zl, Br - Qo + E.x - 12);
978
982
  }
979
983
  }
980
- if (q.subtitle && ia) {
981
- var gr = q.subtitle, $o = gr.dataField ? Ce[gr.dataField] : gr.text;
984
+ if (G.subtitle && fa) {
985
+ var mr = G.subtitle, $o = mr.dataField ? Ct[mr.dataField] : mr.text;
982
986
  if ($o) {
983
- r.font = gr.font || "11px system-ui, sans-serif", r.textAlign = gr.align || "left", r.textBaseline = "top", r.fillStyle = gr.color || "#64748b";
984
- var Fo = E.x + (gr.x !== void 0 ? gr.x : 12), Ki = E.y + (gr.y !== void 0 ? gr.y : 32);
985
- r.fillText($o, Fo, Ki, Rr - Fo + E.x - 12);
987
+ r.font = mr.font || "11px system-ui, sans-serif", r.textAlign = mr.align || "left", r.textBaseline = "top", r.fillStyle = mr.color || "#64748b";
988
+ var Fo = E.x + (mr.x !== void 0 ? mr.x : 12), Kl = E.y + (mr.y !== void 0 ? mr.y : 32);
989
+ r.fillText($o, Fo, Kl, Br - Fo + E.x - 12);
986
990
  }
987
991
  }
988
- if (q.badge && ia) {
989
- var wr = q.badge, zt = wr.dataField ? Ce[wr.dataField] : wr.text;
990
- if (zt) {
991
- r.font = wr.font || "700 9px system-ui, sans-serif";
992
- var bi = r.measureText(zt), Ji = wr.paddingX || 6, Qi = wr.paddingY || 3, wt = bi.width + Ji * 2, Bt = 14 + Qi, Uo = E.x + Rr - wt / 2 - 4, co = E.y - Bt / 2;
993
- r.fillStyle = wr.bg || "#3b82f6", r.beginPath(), r.roundRect(Uo, co, wt, Bt, wr.radius || 7), r.fill(), r.fillStyle = wr.color || "#fff", r.textAlign = "center", r.textBaseline = "middle", r.fillText(zt, Uo + wt / 2, co + Bt / 2);
992
+ if (G.badge && fa) {
993
+ var _r = G.badge, we = _r.dataField ? Ct[_r.dataField] : _r.text;
994
+ if (we) {
995
+ r.font = _r.font || "700 9px system-ui, sans-serif";
996
+ var bl = r.measureText(we), Jl = _r.paddingX || 6, Ql = _r.paddingY || 3, Be = bl.width + Jl * 2, Ae = 14 + Ql, Uo = E.x + Br - Be / 2 - 4, co = E.y - Ae / 2;
997
+ r.fillStyle = _r.bg || "#3b82f6", r.beginPath(), r.roundRect(Uo, co, Be, Ae, _r.radius || 7), r.fill(), r.fillStyle = _r.color || "#fff", r.textAlign = "center", r.textBaseline = "middle", r.fillText(we, Uo + Be / 2, co + Ae / 2);
994
998
  }
995
999
  }
996
1000
  }
997
- if (_e.length > 0 && (r.textAlign = "start", r.textBaseline = "alphabetic"), Wi) {
998
- for (var At = [], _t = 0; _t < nr; _t++)
999
- for (var Vo = ti(fr[_t]), Et = 0; Et < Vo.length; Et++)
1000
- At.push(Vo[Et]);
1001
+ if (_t.length > 0 && (r.textAlign = "start", r.textBaseline = "alphabetic"), Wl) {
1002
+ for (var _e = [], Ee = 0; Ee < dr; Ee++)
1003
+ for (var Vo = el(nr[Ee]), Le = 0; Le < Vo.length; Le++)
1004
+ _e.push(Vo[Le]);
1001
1005
  r.fillStyle = k.handleFill, r.beginPath();
1002
- for (var Lt = 0; Lt < At.length; Lt++) {
1003
- var We = At[Lt];
1004
- r.moveTo(We.x + Do, We.y), r.arc(We.x, We.y, Do, 0, 6.2832);
1006
+ for (var Se = 0; Se < _e.length; Se++) {
1007
+ var Wt = _e[Se];
1008
+ r.moveTo(Wt.x + Do, Wt.y), r.arc(Wt.x, Wt.y, Do, 0, 6.2832);
1005
1009
  }
1006
1010
  r.fill(), r.strokeStyle = k.handleBorder, r.lineWidth = 1.5, r.stroke();
1007
1011
  }
1008
1012
  }
1009
1013
  r.restore();
1010
- var $i = (performance.now() - a).toFixed(1);
1011
- Pt++;
1012
- var Pe = performance.now();
1013
- if (Pe - Xo >= 1e3 && (Ho = Pt, Pt = 0, Xo = Pe), Pe - po >= 100) {
1014
- po = Pe;
1015
- var Fi = Math.round(-M.x / M.zoom), Ui = Math.round(-M.y / M.zoom);
1014
+ var $l = (performance.now() - a).toFixed(1);
1015
+ qe++;
1016
+ var Pt = performance.now();
1017
+ if (Pt - Xo >= 1e3 && (Ho = qe, qe = 0, Xo = Pt), Pt - po >= 100) {
1018
+ po = Pt;
1019
+ var Fl = Math.round(-M.x / M.zoom), Ul = Math.round(-M.y / M.zoom);
1016
1020
  self.postMessage({
1017
1021
  type: "hud",
1018
1022
  data: {
1019
- wx: Fi,
1020
- wy: Ui,
1023
+ wx: Fl,
1024
+ wy: Ul,
1021
1025
  zoom: M.zoom.toFixed(2),
1022
- renderMs: $i,
1026
+ renderMs: $l,
1023
1027
  fps: Ho,
1024
- visible: X.length > 0 ? jo(Dr, Or, ya, jr).length : 0,
1025
- nodeCount: C.length,
1026
- visibleNodes: nr,
1027
- edgeCount: G.length
1028
+ visible: Y.length > 0 ? jo(X, Yr, xa, Xr).length : 0,
1029
+ nodeCount: W.length,
1030
+ visibleNodes: dr,
1031
+ edgeCount: C.length
1028
1032
  }
1029
1033
  });
1030
1034
  }
@@ -1085,7 +1089,7 @@ function Zr({
1085
1089
  onNodeMouseEnter: D,
1086
1090
  onNodeMouseMove: Y,
1087
1091
  onNodeMouseLeave: $,
1088
- onNodeContextMenu: I,
1092
+ onNodeContextMenu: P,
1089
1093
  onPaneClick: O,
1090
1094
  onPaneContextMenu: q,
1091
1095
  onPaneMouseEnter: H,
@@ -1093,7 +1097,7 @@ function Zr({
1093
1097
  onPaneMouseLeave: h,
1094
1098
  onSelectionChange: m,
1095
1099
  onConnectStart: C,
1096
- onConnectEnd: P,
1100
+ onConnectEnd: I,
1097
1101
  onInit: L,
1098
1102
  onMoveStart: K,
1099
1103
  onMove: it,
@@ -1112,7 +1116,7 @@ function Zr({
1112
1116
  nodesDraggable: gt = !0,
1113
1117
  nodesConnectable: Dt = !0,
1114
1118
  elementsSelectable: Xt = !0,
1115
- multiSelectionKeyCode: Pt = "Shift",
1119
+ multiSelectionKeyCode: It = "Shift",
1116
1120
  selectionOnDrag: se = !1,
1117
1121
  selectionMode: ae = "partial",
1118
1122
  connectionMode: kt = "loose",
@@ -1166,7 +1170,7 @@ function Zr({
1166
1170
  onNodeMouseEnter: D,
1167
1171
  onNodeMouseMove: Y,
1168
1172
  onNodeMouseLeave: $,
1169
- onNodeContextMenu: I,
1173
+ onNodeContextMenu: P,
1170
1174
  onPaneClick: O,
1171
1175
  onPaneContextMenu: q,
1172
1176
  onPaneMouseEnter: H,
@@ -1174,7 +1178,7 @@ function Zr({
1174
1178
  onPaneMouseLeave: h,
1175
1179
  onSelectionChange: m,
1176
1180
  onConnectStart: C,
1177
- onConnectEnd: P,
1181
+ onConnectEnd: I,
1178
1182
  onInit: L,
1179
1183
  onMoveStart: K,
1180
1184
  onMove: it,
@@ -1210,14 +1214,14 @@ function Zr({
1210
1214
  } };
1211
1215
  mt(() => {
1212
1216
  const l = (c) => {
1213
- c.key === Pt && (mn.current = !0), c.key === Ne && (re.current = !0);
1217
+ c.key === It && (mn.current = !0), c.key === Ne && (re.current = !0);
1214
1218
  }, g = (c) => {
1215
- c.key === Pt && (mn.current = !1), c.key === Ne && (re.current = !1);
1219
+ c.key === It && (mn.current = !1), c.key === Ne && (re.current = !1);
1216
1220
  };
1217
1221
  return window.addEventListener("keydown", l), window.addEventListener("keyup", g), () => {
1218
1222
  window.removeEventListener("keydown", l), window.removeEventListener("keyup", g);
1219
1223
  };
1220
- }, [Pt, Ne]);
1224
+ }, [It, Ne]);
1221
1225
  const Ct = { get current() {
1222
1226
  return J.current.onNodesChange ? pe : null;
1223
1227
  } }, pe = (l) => {
@@ -2028,7 +2032,7 @@ function Zr({
2028
2032
  l.data || (l.data = { label: l.id }), Ct.current && Ct.current([{ type: "add", item: l }]);
2029
2033
  }, []), On = U(() => ({ ...ht.current }), []), W = U((l) => {
2030
2034
  ht.current = { ...ht.current, ...l }, zt();
2031
- }, [zt]), bt = U((l) => At(l.x, l.y), [At]), rt = n, It = _t(() => ({
2035
+ }, [zt]), bt = U((l) => At(l.x, l.y), [At]), rt = n, Pt = _t(() => ({
2032
2036
  wrapRef: Rt,
2033
2037
  canvasRef: Ae,
2034
2038
  workerRef: Nt,
@@ -2082,7 +2086,7 @@ function Zr({
2082
2086
  getCamera: On,
2083
2087
  setCamera: W,
2084
2088
  screenToFlowPosition: bt,
2085
- store: It
2089
+ store: Pt
2086
2090
  };
2087
2091
  }
2088
2092
  function Gr(t, e, n, r, i, o) {
@@ -2110,7 +2114,7 @@ function Kr(t, e = Jr) {
2110
2114
  );
2111
2115
  return zn.useDebugValue(n), n;
2112
2116
  }
2113
- const Pe = xr(null);
2117
+ const Ie = xr(null);
2114
2118
  function Vr(t = {}) {
2115
2119
  return Qr((e, n) => ({
2116
2120
  nodes: [],
@@ -2146,7 +2150,7 @@ function Vr(t = {}) {
2146
2150
  }));
2147
2151
  }
2148
2152
  function Lt(t, e) {
2149
- const n = ve(Pe);
2153
+ const n = ve(Ie);
2150
2154
  if (!n)
2151
2155
  throw new Error("useCanvasStore must be used within <InfiniteCanvas> or <InfiniteCanvasProvider>");
2152
2156
  const r = typeof n.getState == "function" && typeof n.subscribe == "function", i = tt(t), o = tt(e), a = tt(void 0);
@@ -2160,7 +2164,7 @@ function Lt(t, e) {
2160
2164
  return r ? Kr(n, t ? u : void 0) : t ? u(n) : n;
2161
2165
  }
2162
2166
  function Rr() {
2163
- const t = ve(Pe);
2167
+ const t = ve(Ie);
2164
2168
  if (!t)
2165
2169
  throw new Error("useCanvasStoreApi must be used within <InfiniteCanvas> or <InfiniteCanvasProvider>");
2166
2170
  return typeof t.getState == "function" ? t : { getState: () => t, setState: () => {
@@ -2181,11 +2185,11 @@ function to({ node: t, nodeType: e }) {
2181
2185
  if (!X) return;
2182
2186
  const D = new ResizeObserver((Y) => {
2183
2187
  var O, q, H, w;
2184
- const { width: $, height: I } = Y[0].contentRect;
2185
- if ($ > 0 && I > 0) {
2186
- const h = r.current, m = h.nodesRef.current.find((L) => L.id === t.id), C = (m == null ? void 0 : m.width) || ((O = m == null ? void 0 : m.measured) == null ? void 0 : O.width), P = (m == null ? void 0 : m.height) || ((q = m == null ? void 0 : m.measured) == null ? void 0 : q.height);
2187
- (Math.abs((C || 0) - $) > 1 || Math.abs((P || 0) - I) > 1) && ((w = (H = h.onNodesChangeRef).current) == null || w.call(H, [
2188
- { id: t.id, type: "dimensions", dimensions: { width: $, height: I }, setAttributes: !0 }
2188
+ const { width: $, height: P } = Y[0].contentRect;
2189
+ if ($ > 0 && P > 0) {
2190
+ const h = r.current, m = h.nodesRef.current.find((L) => L.id === t.id), C = (m == null ? void 0 : m.width) || ((O = m == null ? void 0 : m.measured) == null ? void 0 : O.width), I = (m == null ? void 0 : m.height) || ((q = m == null ? void 0 : m.measured) == null ? void 0 : q.height);
2191
+ (Math.abs((C || 0) - $) > 1 || Math.abs((I || 0) - P) > 1) && ((w = (H = h.onNodesChangeRef).current) == null || w.call(H, [
2192
+ { id: t.id, type: "dimensions", dimensions: { width: $, height: P }, setAttributes: !0 }
2189
2193
  ]));
2190
2194
  }
2191
2195
  });
@@ -2197,10 +2201,10 @@ function to({ node: t, nodeType: e }) {
2197
2201
  const D = X.target.tagName;
2198
2202
  if (D === "INPUT" || D === "TEXTAREA" || D === "SELECT" || D === "BUTTON" || D === "A" || D === "LABEL" || X.target.isContentEditable) return;
2199
2203
  const Y = r.current.noDragClassName || "nodrag", $ = r.current.noPanClassName || "nopan";
2200
- let I = X.target;
2201
- for (; I && I !== i.current; ) {
2202
- if ((lt = I.classList) != null && lt.contains(Y) || (vt = I.classList) != null && vt.contains($)) return;
2203
- I = I.parentElement;
2204
+ let P = X.target;
2205
+ for (; P && P !== i.current; ) {
2206
+ if ((lt = P.classList) != null && lt.contains(Y) || (vt = P.classList) != null && vt.contains($)) return;
2207
+ P = P.parentElement;
2204
2208
  }
2205
2209
  if (r.current.onNodesChangeRef.current) {
2206
2210
  const dt = [];
@@ -2219,15 +2223,15 @@ function to({ node: t, nodeType: e }) {
2219
2223
  startMouse: { x: w, y: h },
2220
2224
  selectedStarts: C
2221
2225
  };
2222
- const P = [{ id: t.id, type: "position", dragging: !0 }];
2226
+ const I = [{ id: t.id, type: "position", dragging: !0 }];
2223
2227
  for (const dt of C)
2224
- P.push({ id: dt.id, type: "position", dragging: !0 });
2225
- (pt = (wt = r.current.onNodesChangeRef).current) == null || pt.call(wt, P);
2228
+ I.push({ id: dt.id, type: "position", dragging: !0 });
2229
+ (pt = (wt = r.current.onNodesChangeRef).current) == null || pt.call(wt, I);
2226
2230
  const L = i.current;
2227
2231
  L && L.setPointerCapture(X.pointerId);
2228
2232
  let K = null;
2229
2233
  const it = (dt) => {
2230
- var Xt, Pt, se, ae;
2234
+ var Xt, It, se, ae;
2231
2235
  if (!a.current) return;
2232
2236
  const Et = r.current.cameraRef.current, ot = q.getBoundingClientRect(), ft = (dt.clientX - ot.left - Et.x) / Et.zoom, Bt = (dt.clientY - ot.top - Et.y) / Et.zoom, Zt = ft - a.current.startMouse.x, xt = Bt - a.current.startMouse.y;
2233
2237
  let gt = { x: a.current.startPos.x + Zt, y: a.current.startPos.y + xt };
@@ -2237,7 +2241,7 @@ function to({ node: t, nodeType: e }) {
2237
2241
  }), t.parentId && t.extent === "parent") {
2238
2242
  const kt = r.current.nodesRef.current.find(($t) => $t.id === t.parentId);
2239
2243
  if (kt) {
2240
- const $t = kt.width || 160, Gt = kt.height || 60, Ht = t.width || ((Xt = t.measured) == null ? void 0 : Xt.width) || 160, Ut = t.height || ((Pt = t.measured) == null ? void 0 : Pt.height) || 60;
2244
+ const $t = kt.width || 160, Gt = kt.height || 60, Ht = t.width || ((Xt = t.measured) == null ? void 0 : Xt.width) || 160, Ut = t.height || ((It = t.measured) == null ? void 0 : It.height) || 60;
2241
2245
  gt = {
2242
2246
  x: Math.max(0, Math.min(gt.x, $t - Ht)),
2243
2247
  y: Math.max(0, Math.min(gt.y, Gt - Ut))
@@ -2312,9 +2316,9 @@ function to({ node: t, nodeType: e }) {
2312
2316
  return;
2313
2317
  }
2314
2318
  X.preventDefault();
2315
- const I = { x: t.position.x + Y, y: t.position.y + $ }, O = [{ id: t.id, type: "position", position: I }];
2316
- for (const P of r.current.nodesRef.current)
2317
- P.selected && P.id !== t.id && O.push({ id: P.id, type: "position", position: { x: P.position.x + Y, y: P.position.y + $ } });
2319
+ const P = { x: t.position.x + Y, y: t.position.y + $ }, O = [{ id: t.id, type: "position", position: P }];
2320
+ for (const I of r.current.nodesRef.current)
2321
+ I.selected && I.id !== t.id && O.push({ id: I.id, type: "position", position: { x: I.position.x + Y, y: I.position.y + $ } });
2318
2322
  (C = (m = r.current.onNodesChangeRef).current) == null || C.call(m, O);
2319
2323
  }, [t]), d = t.width || ((E = t.measured) == null ? void 0 : E.width), f = t.height || ((B = t.measured) == null ? void 0 : B.height), v = !!(d && f), S = (T = n.pinnedNodeIds) == null ? void 0 : T.has(t.id), k = U((X) => {
2320
2324
  var D, Y;
@@ -2455,20 +2459,20 @@ function fr({ x: t, y: e, position: n, type: r, onPointerDown: i }) {
2455
2459
  );
2456
2460
  }
2457
2461
  function oo({ edge: t, edgeType: e, nodes: n, reconnectable: r }) {
2458
- var I, O, q;
2459
- const i = ve(Pe), o = tt(typeof i.getState == "function" ? i.getState() : i);
2462
+ var P, O, q;
2463
+ const i = ve(Ie), o = tt(typeof i.getState == "function" ? i.getState() : i);
2460
2464
  o.current = typeof i.getState == "function" ? i.getState() : i;
2461
2465
  const [a, u] = Ot(null), x = U((H, w, h, m) => {
2462
2466
  var vt;
2463
2467
  w.stopPropagation(), w.preventDefault();
2464
- const C = o.current, P = C.wrapRef.current;
2465
- if (!P) return;
2468
+ const C = o.current, I = C.wrapRef.current;
2469
+ if (!I) return;
2466
2470
  const L = H === "source" ? m : h, K = H === "source" ? t.target : t.source;
2467
2471
  (vt = C.workerRef.current) == null || vt.postMessage({
2468
2472
  type: "connecting",
2469
2473
  data: { from: { x: L.x, y: L.y }, to: { x: L.x, y: L.y } }
2470
2474
  });
2471
- const it = P.getBoundingClientRect(), nt = (wt) => {
2475
+ const it = I.getBoundingClientRect(), nt = (wt) => {
2472
2476
  var ot;
2473
2477
  const pt = C.cameraRef.current, dt = (wt.clientX - it.left - pt.x) / pt.zoom, Et = (wt.clientY - it.top - pt.y) / pt.zoom;
2474
2478
  (ot = C.workerRef.current) == null || ot.postMessage({
@@ -2480,13 +2484,13 @@ function oo({ edge: t, edgeType: e, nodes: n, reconnectable: r }) {
2480
2484
  const pt = C.cameraRef.current, dt = (wt.clientX - it.left - pt.x) / pt.zoom, Et = (wt.clientY - it.top - pt.y) / pt.zoom, ot = 20 / pt.zoom;
2481
2485
  let ft = null, Bt = null;
2482
2486
  const Zt = (xt = C.handleRegistryRef) == null ? void 0 : xt.current;
2483
- for (const Pt of C.nodesRef.current) {
2484
- if (Pt.hidden) continue;
2485
- const se = Pt.width || kr, ae = Pt.height || zr, kt = Pt._absolutePosition || Pt.position, $t = [];
2487
+ for (const It of C.nodesRef.current) {
2488
+ if (It.hidden) continue;
2489
+ const se = It.width || kr, ae = It.height || zr, kt = It._absolutePosition || It.position, $t = [];
2486
2490
  if (Zt)
2487
2491
  for (const [, Ht] of Zt)
2488
- Ht.nodeId === Pt.id && $t.push(Ht);
2489
- const Gt = $t.length > 0 ? $t : Pt.handles || [
2492
+ Ht.nodeId === It.id && $t.push(Ht);
2493
+ const Gt = $t.length > 0 ? $t : It.handles || [
2490
2494
  { type: "target", position: "left" },
2491
2495
  { type: "source", position: "right" }
2492
2496
  ];
@@ -2510,23 +2514,23 @@ function oo({ edge: t, edgeType: e, nodes: n, reconnectable: r }) {
2510
2514
  break;
2511
2515
  }
2512
2516
  if (Math.abs(dt - Ut) < ot && Math.abs(Et - Kt) < ot) {
2513
- ft = Pt, Bt = Ht.id || null;
2517
+ ft = It, Bt = Ht.id || null;
2514
2518
  break;
2515
2519
  }
2516
2520
  }
2517
2521
  if (ft) break;
2518
2522
  }
2519
2523
  if (ft) {
2520
- const Pt = H === "source" ? { source: ft.id, target: K, sourceHandle: Bt, targetHandle: t.targetHandle } : { source: K, target: ft.id, sourceHandle: t.sourceHandle, targetHandle: Bt };
2524
+ const It = H === "source" ? { source: ft.id, target: K, sourceHandle: Bt, targetHandle: t.targetHandle } : { source: K, target: ft.id, sourceHandle: t.sourceHandle, targetHandle: Bt };
2521
2525
  (Dt = (gt = C.onEdgesChangeRef).current) == null || Dt.call(gt, [
2522
2526
  { id: t.id, type: "remove" },
2523
- { type: "add", item: { id: t.id, ...Pt } }
2527
+ { type: "add", item: { id: t.id, ...It } }
2524
2528
  ]);
2525
2529
  }
2526
- (Xt = C.workerRef.current) == null || Xt.postMessage({ type: "connecting", data: null }), P.removeEventListener("pointermove", nt), P.removeEventListener("pointerup", lt);
2530
+ (Xt = C.workerRef.current) == null || Xt.postMessage({ type: "connecting", data: null }), I.removeEventListener("pointermove", nt), I.removeEventListener("pointerup", lt);
2527
2531
  };
2528
- P.addEventListener("pointermove", nt), P.addEventListener("pointerup", lt);
2529
- }, [t]), d = n.find((H) => H.id === t.source), f = n.find((H) => H.id === t.target), v = d && !!(d.width || (I = d.measured) != null && I.width), S = f && !!(f.width || (O = f.measured) != null && O.width), k = o.current, E = (q = k.handleRegistryRef) == null ? void 0 : q.current, B = v ? ur(d, "source", t.sourceHandle, E) : null, T = S ? ur(f, "target", t.targetHandle, E) : null, A = t.type === "bezier" || t.type === "simplebezier" || t.type === "default", X = k.routedEdges || k.edges, D = X == null ? void 0 : X.find((H) => H.id === t.id), Y = A ? null : (D == null ? void 0 : D._routedPoints) || t._routedPoints || null, $ = r !== !1 && t.reconnectable !== !1;
2532
+ I.addEventListener("pointermove", nt), I.addEventListener("pointerup", lt);
2533
+ }, [t]), d = n.find((H) => H.id === t.source), f = n.find((H) => H.id === t.target), v = d && !!(d.width || (P = d.measured) != null && P.width), S = f && !!(f.width || (O = f.measured) != null && O.width), k = o.current, E = (q = k.handleRegistryRef) == null ? void 0 : q.current, B = v ? ur(d, "source", t.sourceHandle, E) : null, T = S ? ur(f, "target", t.targetHandle, E) : null, A = t.type === "bezier" || t.type === "simplebezier" || t.type === "default", X = k.routedEdges || k.edges, D = X == null ? void 0 : X.find((H) => H.id === t.id), Y = A ? null : (D == null ? void 0 : D._routedPoints) || t._routedPoints || null, $ = r !== !1 && t.reconnectable !== !1;
2530
2534
  return !B || !T ? null : /* @__PURE__ */ Ft(
2531
2535
  "g",
2532
2536
  {
@@ -2598,13 +2602,13 @@ function Sr({ selectionKeyCode: t = "Shift", selectionMode: e = "partial" }) {
2598
2602
  H.key === t && (D = !0);
2599
2603
  }, $ = (H) => {
2600
2604
  H.key === t && (D = !1);
2601
- }, I = (H) => {
2605
+ }, P = (H) => {
2602
2606
  if (!D) return;
2603
2607
  const w = H.target;
2604
2608
  if (w.closest(".ric-node-wrapper") || w.closest(".ric-handle")) return;
2605
2609
  A = !0;
2606
- const h = n.cameraRef.current, m = T.getBoundingClientRect(), C = (H.clientX - m.left - h.x) / h.zoom, P = (H.clientY - m.top - h.y) / h.zoom;
2607
- X = { x: C, y: P }, i({ startX: C, startY: P, endX: C, endY: P }), H.stopPropagation();
2610
+ const h = n.cameraRef.current, m = T.getBoundingClientRect(), C = (H.clientX - m.left - h.x) / h.zoom, I = (H.clientY - m.top - h.y) / h.zoom;
2611
+ X = { x: C, y: I }, i({ startX: C, startY: I, endX: C, endY: I }), H.stopPropagation();
2608
2612
  }, O = (H) => {
2609
2613
  if (!A || !X) return;
2610
2614
  const w = n.cameraRef.current, h = T.getBoundingClientRect(), m = (H.clientX - h.left - w.x) / w.zoom, C = (H.clientY - h.top - w.y) / w.zoom;
@@ -2613,7 +2617,7 @@ function Sr({ selectionKeyCode: t = "Shift", selectionMode: e = "partial" }) {
2613
2617
  var K, it;
2614
2618
  if (!A || !X) return;
2615
2619
  A = !1;
2616
- const w = n.cameraRef.current, h = T.getBoundingClientRect(), m = (H.clientX - h.left - w.x) / w.zoom, C = (H.clientY - h.top - w.y) / w.zoom, P = {
2620
+ const w = n.cameraRef.current, h = T.getBoundingClientRect(), m = (H.clientX - h.left - w.x) / w.zoom, C = (H.clientY - h.top - w.y) / w.zoom, I = {
2617
2621
  x: Math.min(X.x, m),
2618
2622
  y: Math.min(X.y, C),
2619
2623
  width: Math.abs(m - X.x),
@@ -2622,12 +2626,12 @@ function Sr({ selectionKeyCode: t = "Shift", selectionMode: e = "partial" }) {
2622
2626
  for (const nt of n.nodesRef.current) {
2623
2627
  const lt = nt._absolutePosition || nt.position, vt = nt.width || 160, wt = nt.height || 60;
2624
2628
  let pt;
2625
- e === "full" ? pt = lt.x >= P.x && lt.y >= P.y && lt.x + vt <= P.x + P.width && lt.y + wt <= P.y + P.height : pt = lt.x + vt > P.x && lt.x < P.x + P.width && lt.y + wt > P.y && lt.y < P.y + P.height, L.push({ id: nt.id, type: "select", selected: pt });
2629
+ e === "full" ? pt = lt.x >= I.x && lt.y >= I.y && lt.x + vt <= I.x + I.width && lt.y + wt <= I.y + I.height : pt = lt.x + vt > I.x && lt.x < I.x + I.width && lt.y + wt > I.y && lt.y < I.y + I.height, L.push({ id: nt.id, type: "select", selected: pt });
2626
2630
  }
2627
2631
  L.length && ((it = (K = n.onNodesChangeRef).current) == null || it.call(K, L)), X = null, i(null);
2628
2632
  };
2629
- return T.addEventListener("pointerdown", I, !0), T.addEventListener("pointermove", O), T.addEventListener("pointerup", q), window.addEventListener("keydown", Y), window.addEventListener("keyup", $), () => {
2630
- T.removeEventListener("pointerdown", I, !0), T.removeEventListener("pointermove", O), T.removeEventListener("pointerup", q), window.removeEventListener("keydown", Y), window.removeEventListener("keyup", $);
2633
+ return T.addEventListener("pointerdown", P, !0), T.addEventListener("pointermove", O), T.addEventListener("pointerup", q), window.addEventListener("keydown", Y), window.addEventListener("keyup", $), () => {
2634
+ T.removeEventListener("pointerdown", P, !0), T.removeEventListener("pointermove", O), T.removeEventListener("pointerup", q), window.removeEventListener("keydown", Y), window.removeEventListener("keyup", $);
2631
2635
  };
2632
2636
  }, [n, t, e]), !r) return null;
2633
2637
  const a = ((B = n.cameraRef) == null ? void 0 : B.current) || { x: 0, y: 0, zoom: 1 }, u = Math.min(r.startX, r.endX), x = Math.min(r.startY, r.endY), d = Math.abs(r.endX - r.startX), f = Math.abs(r.endY - r.startY), v = u * a.zoom + a.x, S = x * a.zoom + a.y, k = d * a.zoom, E = f * a.zoom;
@@ -2675,11 +2679,11 @@ function ao(t, e) {
2675
2679
  y: (i.top + i.height / 2 - r.top) / o
2676
2680
  };
2677
2681
  }
2678
- let Qn = !1, Ie = null;
2682
+ let Qn = !1, Pe = null;
2679
2683
  function Er(t) {
2680
- Ie = t, !Qn && (Qn = !0, requestAnimationFrame(() => {
2684
+ Pe = t, !Qn && (Qn = !0, requestAnimationFrame(() => {
2681
2685
  var e;
2682
- Qn = !1, (e = Ie == null ? void 0 : Ie.syncNodesToWorker) == null || e.call(Ie), Ie = null;
2686
+ Qn = !1, (e = Pe == null ? void 0 : Pe.syncNodesToWorker) == null || e.call(Pe), Pe = null;
2683
2687
  }));
2684
2688
  }
2685
2689
  const er = /* @__PURE__ */ new WeakMap();
@@ -2717,16 +2721,16 @@ function lo({
2717
2721
  onConnect: d,
2718
2722
  ...f
2719
2723
  }) {
2720
- const v = ve(un), S = ve(Pe), k = tt(null), E = U(
2724
+ const v = ve(un), S = ve(Ie), k = tt(null), E = U(
2721
2725
  () => typeof S.getState == "function" ? S.getState() : S,
2722
2726
  [S]
2723
2727
  ), B = tt(E);
2724
2728
  B.current = E, Xr(() => {
2725
- var w, h, m, C, P, L, K;
2729
+ var w, h, m, C, I, L, K;
2726
2730
  if (!v) return;
2727
2731
  const D = B.current(), Y = (w = D.handleRegistryRef) == null ? void 0 : w.current;
2728
2732
  if (!Y) return;
2729
- const $ = `${v}__${n || t}`, I = (m = (h = D.nodesRef) == null ? void 0 : h.current) == null ? void 0 : m.find((it) => it.id === v), O = (I == null ? void 0 : I.width) || ((C = I == null ? void 0 : I.measured) == null ? void 0 : C.width), q = (I == null ? void 0 : I.height) || ((P = I == null ? void 0 : I.measured) == null ? void 0 : P.height);
2733
+ const $ = `${v}__${n || t}`, P = (m = (h = D.nodesRef) == null ? void 0 : h.current) == null ? void 0 : m.find((it) => it.id === v), O = (P == null ? void 0 : P.width) || ((C = P == null ? void 0 : P.measured) == null ? void 0 : C.width), q = (P == null ? void 0 : P.height) || ((I = P == null ? void 0 : P.measured) == null ? void 0 : I.height);
2730
2734
  let H;
2731
2735
  O && q ? H = tr(e, O, q) : k.current ? H = ao(k.current, (K = (L = D.cameraRef) == null ? void 0 : L.current) == null ? void 0 : K.zoom) : H = tr(e, 160, 60), Y.set($, { nodeId: v, id: n || null, type: t, position: e, x: H.x, y: H.y });
2732
2736
  }, [v, n, t, e]), mt(() => {
@@ -2744,7 +2748,7 @@ function lo({
2744
2748
  var h;
2745
2749
  const D = B.current(), Y = D.nodesRef.current.find((m) => m.id === v);
2746
2750
  if (!Y) return null;
2747
- const $ = Y._absolutePosition || Y.position, I = (h = D.handleRegistryRef) == null ? void 0 : h.current, O = `${v}__${n || t}`, q = I == null ? void 0 : I.get(O);
2751
+ const $ = Y._absolutePosition || Y.position, P = (h = D.handleRegistryRef) == null ? void 0 : h.current, O = `${v}__${n || t}`, q = P == null ? void 0 : P.get(O);
2748
2752
  if (q && q.x !== void 0 && q.y !== void 0)
2749
2753
  return { x: $.x + q.x, y: $.y + q.y };
2750
2754
  const H = Y.width || 160, w = Y.height || 60;
@@ -2762,25 +2766,25 @@ function lo({
2762
2766
  var C;
2763
2767
  if (!r || !i) return;
2764
2768
  D.stopPropagation(), D.preventDefault();
2765
- const Y = B.current(), $ = Y.cameraRef.current, I = Y.wrapRef.current;
2766
- if (!I) return;
2767
- const O = I.getBoundingClientRect(), q = T();
2769
+ const Y = B.current(), $ = Y.cameraRef.current, P = Y.wrapRef.current;
2770
+ if (!P) return;
2771
+ const O = P.getBoundingClientRect(), q = T();
2768
2772
  if (!q) return;
2769
2773
  const H = q.x, w = q.y;
2770
2774
  (C = Y.workerRef.current) == null || C.postMessage({
2771
2775
  type: "connecting",
2772
2776
  data: { from: { x: H, y: w }, to: { x: H, y: w } }
2773
- }), I.setPointerCapture(D.pointerId);
2774
- const h = (P) => {
2777
+ }), P.setPointerCapture(D.pointerId);
2778
+ const h = (I) => {
2775
2779
  var it;
2776
- const L = (P.clientX - O.left - $.x) / $.zoom, K = (P.clientY - O.top - $.y) / $.zoom;
2780
+ const L = (I.clientX - O.left - $.x) / $.zoom, K = (I.clientY - O.top - $.y) / $.zoom;
2777
2781
  (it = Y.workerRef.current) == null || it.postMessage({
2778
2782
  type: "connecting",
2779
2783
  data: { from: { x: H, y: w }, to: { x: L, y: K } }
2780
2784
  });
2781
- }, m = (P) => {
2785
+ }, m = (I) => {
2782
2786
  var wt, pt, dt, Et;
2783
- const L = (P.clientX - O.left - $.x) / $.zoom, K = (P.clientY - O.top - $.y) / $.zoom, it = 20 / $.zoom;
2787
+ const L = (I.clientX - O.left - $.x) / $.zoom, K = (I.clientY - O.top - $.y) / $.zoom, it = 20 / $.zoom;
2784
2788
  let nt = null, lt = null;
2785
2789
  const vt = (wt = Y.handleRegistryRef) == null ? void 0 : wt.current;
2786
2790
  for (const ot of Y.nodesRef.current) {
@@ -2798,19 +2802,19 @@ function lo({
2798
2802
  if (xt.x !== void 0 && xt.y !== void 0)
2799
2803
  gt = ft.x + xt.x, Dt = ft.y + xt.y;
2800
2804
  else {
2801
- const Xt = ot.width || 160, Pt = ot.height || 60;
2805
+ const Xt = ot.width || 160, It = ot.height || 60;
2802
2806
  switch (xt.position || (xt.type === "source" ? "right" : "left")) {
2803
2807
  case "top":
2804
2808
  gt = ft.x + Xt / 2, Dt = ft.y;
2805
2809
  break;
2806
2810
  case "bottom":
2807
- gt = ft.x + Xt / 2, Dt = ft.y + Pt;
2811
+ gt = ft.x + Xt / 2, Dt = ft.y + It;
2808
2812
  break;
2809
2813
  case "left":
2810
- gt = ft.x, Dt = ft.y + Pt / 2;
2814
+ gt = ft.x, Dt = ft.y + It / 2;
2811
2815
  break;
2812
2816
  default:
2813
- gt = ft.x + Xt, Dt = ft.y + Pt / 2;
2817
+ gt = ft.x + Xt, Dt = ft.y + It / 2;
2814
2818
  break;
2815
2819
  }
2816
2820
  }
@@ -2830,9 +2834,9 @@ function lo({
2830
2834
  };
2831
2835
  (dt = (pt = Y.onEdgesChangeRef) == null ? void 0 : pt.current) == null || dt.call(pt, [{ type: "add", item: { id: `e-${ot.source}-${ot.target}`, ...ot } }]);
2832
2836
  }
2833
- (Et = Y.workerRef.current) == null || Et.postMessage({ type: "connecting", data: null }), I.removeEventListener("pointermove", h), I.removeEventListener("pointerup", m);
2837
+ (Et = Y.workerRef.current) == null || Et.postMessage({ type: "connecting", data: null }), P.removeEventListener("pointermove", h), P.removeEventListener("pointerup", m);
2834
2838
  };
2835
- I.addEventListener("pointermove", h), I.addEventListener("pointerup", m);
2839
+ P.addEventListener("pointermove", h), P.addEventListener("pointerup", m);
2836
2840
  }, [v, n, t, e, r, i, T]), X = {
2837
2841
  top: { top: 0, left: "50%", transform: "translate(-50%, -50%)" },
2838
2842
  bottom: { bottom: 0, left: "50%", transform: "translate(-50%, 50%)" },
@@ -2867,7 +2871,7 @@ function lo({
2867
2871
  }
2868
2872
  );
2869
2873
  }
2870
- const In = oe(lo);
2874
+ const Pn = oe(lo);
2871
2875
  function Vo({
2872
2876
  data: t,
2873
2877
  isConnectable: e,
@@ -2892,9 +2896,9 @@ function Vo({
2892
2896
  boxShadow: n ? "0 0 0 0.5px #1a192b" : "none"
2893
2897
  },
2894
2898
  children: [
2895
- !a && /* @__PURE__ */ F(In, { type: "target", position: r, isConnectable: e }),
2899
+ !a && /* @__PURE__ */ F(Pn, { type: "target", position: r, isConnectable: e }),
2896
2900
  /* @__PURE__ */ F("div", { className: "ric-node-content", children: t == null ? void 0 : t.label }),
2897
- !o && /* @__PURE__ */ F(In, { type: "source", position: i, isConnectable: e })
2901
+ !o && /* @__PURE__ */ F(Pn, { type: "source", position: i, isConnectable: e })
2898
2902
  ]
2899
2903
  }
2900
2904
  );
@@ -2923,7 +2927,7 @@ function uo({
2923
2927
  },
2924
2928
  children: [
2925
2929
  /* @__PURE__ */ F("div", { className: "ric-node-content", children: t == null ? void 0 : t.label }),
2926
- !i && /* @__PURE__ */ F(In, { type: "source", position: r, isConnectable: e })
2930
+ !i && /* @__PURE__ */ F(Pn, { type: "source", position: r, isConnectable: e })
2927
2931
  ]
2928
2932
  }
2929
2933
  );
@@ -2951,7 +2955,7 @@ function fo({
2951
2955
  boxShadow: n ? "0 0 0 0.5px #1a192b" : "none"
2952
2956
  },
2953
2957
  children: [
2954
- !i && /* @__PURE__ */ F(In, { type: "target", position: r, isConnectable: e }),
2958
+ !i && /* @__PURE__ */ F(Pn, { type: "target", position: r, isConnectable: e }),
2955
2959
  /* @__PURE__ */ F("div", { className: "ric-node-content", children: t == null ? void 0 : t.label })
2956
2960
  ]
2957
2961
  }
@@ -3127,7 +3131,7 @@ function gr(t, e, n) {
3127
3131
  return { x: t + cn, y: e };
3128
3132
  }
3129
3133
  }
3130
- const Ir = oe(function({
3134
+ const Pr = oe(function({
3131
3135
  id: e,
3132
3136
  sourceX: n,
3133
3137
  sourceY: r,
@@ -3147,7 +3151,7 @@ const Ir = oe(function({
3147
3151
  interactionWidth: A
3148
3152
  }) {
3149
3153
  let X, D, Y;
3150
- const $ = gr(n, r, a), I = gr(i, o, u), O = Math.abs(I.x - $.x), q = Math.max(50, O * 0.5);
3154
+ const $ = gr(n, r, a), P = gr(i, o, u), O = Math.abs(P.x - $.x), q = Math.max(50, O * 0.5);
3151
3155
  let H, w, h, m;
3152
3156
  switch (a) {
3153
3157
  case "left":
@@ -3165,21 +3169,21 @@ const Ir = oe(function({
3165
3169
  }
3166
3170
  switch (u) {
3167
3171
  case "right":
3168
- h = I.x + q, m = I.y;
3172
+ h = P.x + q, m = P.y;
3169
3173
  break;
3170
3174
  case "top":
3171
- h = I.x, m = I.y - q;
3175
+ h = P.x, m = P.y - q;
3172
3176
  break;
3173
3177
  case "bottom":
3174
- h = I.x, m = I.y + q;
3178
+ h = P.x, m = P.y + q;
3175
3179
  break;
3176
3180
  default:
3177
- h = I.x - q, m = I.y;
3181
+ h = P.x - q, m = P.y;
3178
3182
  break;
3179
3183
  }
3180
- X = `M ${n},${r} L ${$.x},${$.y} C ${H},${w} ${h},${m} ${I.x},${I.y} L ${i},${o}`;
3181
- const C = 0.5, P = 0.5;
3182
- return D = P * P * P * $.x + 3 * P * P * C * H + 3 * P * C * C * h + C * C * C * I.x, Y = P * P * P * $.y + 3 * P * P * C * w + 3 * P * C * C * m + C * C * C * I.y, /* @__PURE__ */ F(
3184
+ X = `M ${n},${r} L ${$.x},${$.y} C ${H},${w} ${h},${m} ${P.x},${P.y} L ${i},${o}`;
3185
+ const C = 0.5, I = 0.5;
3186
+ return D = I * I * I * $.x + 3 * I * I * C * H + 3 * I * C * C * h + C * C * C * P.x, Y = I * I * I * $.y + 3 * I * I * C * w + 3 * I * C * C * m + C * C * C * P.y, /* @__PURE__ */ F(
3183
3187
  $n,
3184
3188
  {
3185
3189
  id: e,
@@ -3199,8 +3203,8 @@ const Ir = oe(function({
3199
3203
  }
3200
3204
  );
3201
3205
  });
3202
- Ir.displayName = "BezierEdge";
3203
- function Pr({ sourceX: t, sourceY: e, targetX: n, targetY: r }) {
3206
+ Pr.displayName = "BezierEdge";
3207
+ function Ir({ sourceX: t, sourceY: e, targetX: n, targetY: r }) {
3204
3208
  const i = `M ${t},${e}L ${n},${r}`, o = (t + n) / 2, a = (e + r) / 2;
3205
3209
  return [i, o, a, 0, 0];
3206
3210
  }
@@ -3288,10 +3292,10 @@ function ns(t, e, n) {
3288
3292
  };
3289
3293
  return r.push(i), r;
3290
3294
  }
3291
- const Pn = 160, Nn = 60, ln = 20, En = 12, Tn = 20;
3295
+ const In = 160, Nn = 60, ln = 20, En = 12, Tn = 20;
3292
3296
  function yr(t, e, n) {
3293
3297
  var a, u;
3294
- const r = t.width || ((a = t.measured) == null ? void 0 : a.width) || Pn, i = t.height || ((u = t.measured) == null ? void 0 : u.height) || Nn, o = t._absolutePosition || t.position;
3298
+ const r = t.width || ((a = t.measured) == null ? void 0 : a.width) || In, i = t.height || ((u = t.measured) == null ? void 0 : u.height) || Nn, o = t._absolutePosition || t.position;
3295
3299
  if (t.handles && t.handles.length > 0) {
3296
3300
  for (const x of t.handles)
3297
3301
  if (x.type === e && (!n || x.id === n)) {
@@ -3361,7 +3365,7 @@ function Lr(t, e) {
3361
3365
  for (let o = 0; o < t.length; o++) {
3362
3366
  const a = t[o];
3363
3367
  if (a.hidden || e && e.has(a.id) || a.type === "group") continue;
3364
- const u = a._absolutePosition || a.position, x = a.width || ((r = a.measured) == null ? void 0 : r.width) || Pn, d = a.height || ((i = a.measured) == null ? void 0 : i.height) || Nn;
3368
+ const u = a._absolutePosition || a.position, x = a.width || ((r = a.measured) == null ? void 0 : r.width) || In, d = a.height || ((i = a.measured) == null ? void 0 : i.height) || Nn;
3365
3369
  n.push({
3366
3370
  id: a.id,
3367
3371
  x: u.x - ln,
@@ -3388,7 +3392,7 @@ function $r(t, e, n) {
3388
3392
  for (let h = 0; h < u.length; h++) d.set(u[h], h);
3389
3393
  const f = a.length, v = u.length, S = (h, m) => m * f + h, k = x.get(t.x), E = d.get(t.y), B = x.get(e.x), T = d.get(e.y);
3390
3394
  if (k === void 0 || E === void 0 || B === void 0 || T === void 0) return null;
3391
- const A = S(k, E), X = S(B, T), D = new Float64Array(f * v).fill(1 / 0), Y = new Float64Array(f * v).fill(1 / 0), $ = new Int32Array(f * v).fill(-1), I = new Int8Array(f * v).fill(-1), O = new Uint8Array(f * v);
3395
+ const A = S(k, E), X = S(B, T), D = new Float64Array(f * v).fill(1 / 0), Y = new Float64Array(f * v).fill(1 / 0), $ = new Int32Array(f * v).fill(-1), P = new Int8Array(f * v).fill(-1), O = new Uint8Array(f * v);
3392
3396
  D[A] = 0, Y[A] = Math.abs(a[B] - t.x) + Math.abs(u[T] - t.y);
3393
3397
  const q = [A], H = 15, w = [[1, 0], [-1, 0], [0, 1], [0, -1]];
3394
3398
  for (; q.length > 0; ) {
@@ -3407,16 +3411,16 @@ function $r(t, e, n) {
3407
3411
  }
3408
3412
  if (O[m]) continue;
3409
3413
  O[m] = 1;
3410
- const C = m / f | 0, P = m % f, L = a[P], K = u[C], it = I[m];
3414
+ const C = m / f | 0, I = m % f, L = a[I], K = u[C], it = P[m];
3411
3415
  for (let nt = 0; nt < 4; nt++) {
3412
- const lt = P + w[nt][0], vt = C + w[nt][1];
3416
+ const lt = I + w[nt][0], vt = C + w[nt][1];
3413
3417
  if (lt < 0 || lt >= f || vt < 0 || vt >= v) continue;
3414
3418
  const wt = S(lt, vt);
3415
3419
  if (O[wt]) continue;
3416
3420
  const pt = a[lt], dt = u[vt];
3417
3421
  if (xo(pt, dt, n) || !rr(L, K, pt, dt, n)) continue;
3418
3422
  const Et = Math.abs(pt - L) + Math.abs(dt - K), ot = it >= 0 && it !== nt ? H : 0, ft = D[m] + Et + ot;
3419
- ft < D[wt] && ($[wt] = m, I[wt] = nt, D[wt] = ft, Y[wt] = ft + Math.abs(a[B] - pt) + Math.abs(u[T] - dt), q.push(wt));
3423
+ ft < D[wt] && ($[wt] = m, P[wt] = nt, D[wt] = ft, Y[wt] = ft + Math.abs(a[B] - pt) + Math.abs(u[T] - dt), q.push(wt));
3420
3424
  }
3421
3425
  }
3422
3426
  return null;
@@ -3540,14 +3544,14 @@ function rs(t, e) {
3540
3544
  const n = {};
3541
3545
  for (const o of t) n[o.id] = o;
3542
3546
  const r = Lr(t, null), i = e.map((o) => {
3543
- var I, O, q, H;
3547
+ var P, O, q, H;
3544
3548
  const a = o.type || "default";
3545
3549
  if (a === "bezier" || a === "simplebezier" || a === "default") return o;
3546
3550
  const u = n[o.source], x = n[o.target];
3547
3551
  if (!u || !x || u.hidden || x.hidden) return o;
3548
- const d = yr(u, "source", o.sourceHandle), f = yr(x, "target", o.targetHandle), v = Ln(d, Tn), S = Ln(f, Tn), k = 5, E = r.filter((w) => w.id !== o.source && w.id !== o.target), B = u._absolutePosition || u.position, T = u.width || ((I = u.measured) == null ? void 0 : I.width) || Pn, A = u.height || ((O = u.measured) == null ? void 0 : O.height) || Nn;
3552
+ const d = yr(u, "source", o.sourceHandle), f = yr(x, "target", o.targetHandle), v = Ln(d, Tn), S = Ln(f, Tn), k = 5, E = r.filter((w) => w.id !== o.source && w.id !== o.target), B = u._absolutePosition || u.position, T = u.width || ((P = u.measured) == null ? void 0 : P.width) || In, A = u.height || ((O = u.measured) == null ? void 0 : O.height) || Nn;
3549
3553
  E.push({ id: o.source, x: B.x - k, y: B.y - k, w: T + 2 * k, h: A + 2 * k });
3550
- const X = x._absolutePosition || x.position, D = x.width || ((q = x.measured) == null ? void 0 : q.width) || Pn, Y = x.height || ((H = x.measured) == null ? void 0 : H.height) || Nn;
3554
+ const X = x._absolutePosition || x.position, D = x.width || ((q = x.measured) == null ? void 0 : q.width) || In, Y = x.height || ((H = x.measured) == null ? void 0 : H.height) || Nn;
3551
3555
  if (E.push({ id: o.target, x: X.x - k, y: X.y - k, w: D + 2 * k, h: Y + 2 * k }), E.length === 0) return o;
3552
3556
  const $ = $r(v, S, E);
3553
3557
  return $ && $.length >= 2 ? ($.unshift({ x: d.x, y: d.y }), $.push({ x: f.x, y: f.y }), { ...o, _routedPoints: $ }) : o;
@@ -3584,7 +3588,7 @@ const Br = oe(function({
3584
3588
  const Y = sr(T);
3585
3589
  X = Y.x, D = Y.y;
3586
3590
  } else
3587
- [A, X, D] = Pr({ sourceX: n, sourceY: r, targetX: i, targetY: o });
3591
+ [A, X, D] = Ir({ sourceX: n, sourceY: r, targetX: i, targetY: o });
3588
3592
  return /* @__PURE__ */ F(
3589
3593
  $n,
3590
3594
  {
@@ -3627,13 +3631,13 @@ const Ar = oe(function({
3627
3631
  interactionWidth: X,
3628
3632
  routedPoints: D
3629
3633
  }) {
3630
- let Y, $, I;
3634
+ let Y, $, P;
3631
3635
  if (D && D.length >= 2) {
3632
3636
  Y = or(D);
3633
3637
  const O = sr(D);
3634
- $ = O.x, I = O.y;
3638
+ $ = O.x, P = O.y;
3635
3639
  } else
3636
- [Y, $, I] = nr({
3640
+ [Y, $, P] = nr({
3637
3641
  sourceX: n,
3638
3642
  sourceY: r,
3639
3643
  sourcePosition: a,
@@ -3649,7 +3653,7 @@ const Ar = oe(function({
3649
3653
  id: e,
3650
3654
  path: Y,
3651
3655
  labelX: $,
3652
- labelY: I,
3656
+ labelY: P,
3653
3657
  label: x,
3654
3658
  labelStyle: d,
3655
3659
  labelShowBg: f,
@@ -3699,8 +3703,8 @@ const Dr = oe(function({
3699
3703
  let D, Y, $;
3700
3704
  if (X && X.length >= 2) {
3701
3705
  D = or(X);
3702
- const I = sr(X);
3703
- Y = I.x, $ = I.y;
3706
+ const P = sr(X);
3707
+ Y = P.x, $ = P.y;
3704
3708
  } else
3705
3709
  [D, Y, $] = Tr({
3706
3710
  sourceX: n,
@@ -3735,7 +3739,7 @@ const Mo = {
3735
3739
  group: ho
3736
3740
  }, Ro = {
3737
3741
  // smoothstep/step are handled by the canvas worker directly (not React SVG)
3738
- bezier: Ir,
3742
+ bezier: Pr,
3739
3743
  straight: Br,
3740
3744
  simplebezier: Dr
3741
3745
  }, ko = 160, zo = 60;
@@ -3784,7 +3788,7 @@ function ss({
3784
3788
  onEdgesChange: D,
3785
3789
  onConnect: Y,
3786
3790
  onConnectStart: $,
3787
- onConnectEnd: I,
3791
+ onConnectEnd: P,
3788
3792
  onNodeClick: O,
3789
3793
  onNodeDoubleClick: q,
3790
3794
  onNodeMouseEnter: H,
@@ -3792,7 +3796,7 @@ function ss({
3792
3796
  onNodeMouseLeave: h,
3793
3797
  onNodeContextMenu: m,
3794
3798
  onNodeDragStart: C,
3795
- onNodeDrag: P,
3799
+ onNodeDrag: I,
3796
3800
  onNodeDragStop: L,
3797
3801
  onEdgeClick: K,
3798
3802
  onEdgeDoubleClick: it,
@@ -3811,7 +3815,7 @@ function ss({
3811
3815
  onMove: gt,
3812
3816
  onMoveEnd: Dt,
3813
3817
  onDelete: Xt,
3814
- onBeforeDelete: Pt,
3818
+ onBeforeDelete: It,
3815
3819
  onError: se,
3816
3820
  // Drag and drop
3817
3821
  onDragOver: ae,
@@ -3896,8 +3900,8 @@ function ss({
3896
3900
  const bt = Oe.current;
3897
3901
  if (bt.size === W.size) {
3898
3902
  let rt = !0;
3899
- for (const It of W)
3900
- if (!bt.has(It)) {
3903
+ for (const Pt of W)
3904
+ if (!bt.has(Pt)) {
3901
3905
  rt = !1;
3902
3906
  break;
3903
3907
  }
@@ -3908,8 +3912,8 @@ function ss({
3908
3912
  if (a === 0) return [];
3909
3913
  const W = re.filter((bt) => Ct.has(bt.id));
3910
3914
  return W.sort((bt, rt) => {
3911
- const It = bt.type === "group" || !bt.parentId && W.some((g) => g.parentId === bt.id), l = rt.type === "group" || !rt.parentId && W.some((g) => g.parentId === rt.id);
3912
- return It && !l ? -1 : !It && l ? 1 : 0;
3915
+ const Pt = bt.type === "group" || !bt.parentId && W.some((g) => g.parentId === bt.id), l = rt.type === "group" || !rt.parentId && W.some((g) => g.parentId === rt.id);
3916
+ return Pt && !l ? -1 : !Pt && l ? 1 : 0;
3913
3917
  });
3914
3918
  }, [re, Ct, a]), Yt = _t(() => e.map((W) => Ct.has(W.id) ? { ...W, _customRendered: !0 } : W), [e, Ct]), Xn = _t(() => n.map((W) => W.type && de[W.type] ? { ...W, _customRendered: !0 } : W), [n, de]), {
3915
3919
  wrapRef: xe,
@@ -3936,7 +3940,7 @@ function ss({
3936
3940
  onEdgesChange: D,
3937
3941
  onConnect: Y,
3938
3942
  onConnectStart: $,
3939
- onConnectEnd: I,
3943
+ onConnectEnd: P,
3940
3944
  onNodeClick: O,
3941
3945
  onNodeDoubleClick: q,
3942
3946
  onNodeMouseEnter: H,
@@ -3944,7 +3948,7 @@ function ss({
3944
3948
  onNodeMouseLeave: h,
3945
3949
  onNodeContextMenu: m,
3946
3950
  onNodeDragStart: C,
3947
- onNodeDrag: P,
3951
+ onNodeDrag: I,
3948
3952
  onNodeDragStop: L,
3949
3953
  onEdgeClick: K,
3950
3954
  onEdgeDoubleClick: it,
@@ -3963,7 +3967,7 @@ function ss({
3963
3967
  onMove: gt,
3964
3968
  onMoveEnd: Dt,
3965
3969
  onDelete: Xt,
3966
- onBeforeDelete: Pt,
3970
+ onBeforeDelete: It,
3967
3971
  onError: se,
3968
3972
  nodesDraggable: Ht,
3969
3973
  nodesConnectable: Ut,
@@ -4007,24 +4011,24 @@ function ss({
4007
4011
  tn.current = a, mt(() => {
4008
4012
  let W;
4009
4013
  const bt = () => {
4010
- const It = Ve.current, l = tn.current;
4011
- if (l === 0 || !It.length) return;
4014
+ const Pt = Ve.current, l = tn.current;
4015
+ if (l === 0 || !Pt.length) return;
4012
4016
  const g = ut.cameraRef.current, c = ut.wrapRef.current;
4013
4017
  if (!c) return;
4014
4018
  const p = c.clientWidth, R = c.clientHeight, z = (-g.x + p / 2) / g.zoom, y = (-g.y + R / 2) / g.zoom, b = Ce.current;
4015
4019
  let M = b.size;
4016
- for (const N of It)
4020
+ for (const N of Pt)
4017
4021
  (N.selected || N.dragging) && M++;
4018
4022
  const _ = Math.max(0, l - M);
4019
4023
  if (_ === 0)
4020
4024
  je((N) => N.size === 0 ? N : /* @__PURE__ */ new Set());
4021
4025
  else {
4022
4026
  const N = new Set(b);
4023
- for (const Z of It)
4027
+ for (const Z of Pt)
4024
4028
  (Z.selected || Z.dragging) && N.add(Z.id);
4025
4029
  const j = [];
4026
- for (let Z = 0; Z < It.length; Z++) {
4027
- const at = It[Z];
4030
+ for (let Z = 0; Z < Pt.length; Z++) {
4031
+ const at = Pt[Z];
4028
4032
  if (N.has(at.id)) continue;
4029
4033
  const V = at._absolutePosition || at.position, ct = V.x + (at.width || 160) / 2 - z, St = V.y + (at.height || 60) / 2 - y;
4030
4034
  j.push({ id: at.id, dist: ct * ct + St * St });
@@ -4049,13 +4053,13 @@ function ss({
4049
4053
  mt(() => {
4050
4054
  if (!o || !ut.workerRef.current) return;
4051
4055
  let W = !1;
4052
- async function bt(It) {
4053
- const l = new Blob([It], { type: "image/svg+xml" }), g = URL.createObjectURL(l), c = new Image();
4056
+ async function bt(Pt) {
4057
+ const l = new Blob([Pt], { type: "image/svg+xml" }), g = URL.createObjectURL(l), c = new Image();
4054
4058
  return c.src = g, await c.decode(), URL.revokeObjectURL(g), createImageBitmap(c);
4055
4059
  }
4056
4060
  async function rt() {
4057
4061
  var p, R, z;
4058
- const It = {}, l = [], g = {}, c = {};
4062
+ const Pt = {}, l = [], g = {}, c = {};
4059
4063
  for (const [y, b] of Object.entries(o)) {
4060
4064
  if (typeof b == "function") {
4061
4065
  g[y] = b;
@@ -4067,13 +4071,13 @@ function ss({
4067
4071
  }
4068
4072
  try {
4069
4073
  let M;
4070
- b instanceof ImageBitmap ? M = b : typeof b == "string" ? M = await bt(b) : b instanceof HTMLImageElement ? M = await createImageBitmap(b) : b instanceof HTMLCanvasElement && (M = await createImageBitmap(b)), M && !W && (It[y] = M, l.push(M));
4074
+ b instanceof ImageBitmap ? M = b : typeof b == "string" ? M = await bt(b) : b instanceof HTMLImageElement ? M = await createImageBitmap(b) : b instanceof HTMLCanvasElement && (M = await createImageBitmap(b)), M && !W && (Pt[y] = M, l.push(M));
4071
4075
  } catch (M) {
4072
4076
  console.warn(`[InfiniteCanvas] Failed to convert canvasNodeType "${y}":`, M);
4073
4077
  }
4074
4078
  }
4075
- if (!W && Object.keys(It).length > 0 && ((p = ut.workerRef.current) == null || p.postMessage(
4076
- { type: "nodeTypeBitmaps", data: { bitmaps: It } },
4079
+ if (!W && Object.keys(Pt).length > 0 && ((p = ut.workerRef.current) == null || p.postMessage(
4080
+ { type: "nodeTypeBitmaps", data: { bitmaps: Pt } },
4077
4081
  l
4078
4082
  )), !W && Object.keys(c).length > 0 && ((R = ut.workerRef.current) == null || R.postMessage(
4079
4083
  { type: "nodeTypeConfigs", data: { configs: c } }
@@ -4107,7 +4111,7 @@ function ss({
4107
4111
  W = !0;
4108
4112
  };
4109
4113
  }, [o, e, ut.workerRef]);
4110
- const Vt = ve(Pe), en = Vt && typeof Vt.getState == "function";
4114
+ const Vt = ve(Ie), en = Vt && typeof Vt.getState == "function";
4111
4115
  mt(() => {
4112
4116
  en && queueMicrotask(() => {
4113
4117
  Vt.setState({
@@ -4163,8 +4167,8 @@ function ss({
4163
4167
  mt(() => {
4164
4168
  let W;
4165
4169
  const bt = () => {
4166
- const rt = ut.cameraRef.current, It = `translate(${rt.x}px, ${rt.y}px) scale(${rt.zoom})`, l = `translate(${rt.x}, ${rt.y}) scale(${rt.zoom})`;
4167
- he.current && (he.current.style.transform = It), ge.current && ge.current.setAttribute("transform", l), nn.current && (nn.current.style.transform = It), rn.current && (rn.current.style.transform = It);
4170
+ const rt = ut.cameraRef.current, Pt = `translate(${rt.x}px, ${rt.y}px) scale(${rt.zoom})`, l = `translate(${rt.x}, ${rt.y}) scale(${rt.zoom})`;
4171
+ he.current && (he.current.style.transform = Pt), ge.current && ge.current.setAttribute("transform", l), nn.current && (nn.current.style.transform = Pt), rn.current && (rn.current.style.transform = Pt);
4168
4172
  const g = xe.current;
4169
4173
  if (g) {
4170
4174
  const c = rt.zoom < 0.15 ? "lod-minimal" : rt.zoom < 0.35 ? "lod-reduced" : null;
@@ -4180,12 +4184,12 @@ function ss({
4180
4184
  let W;
4181
4185
  const bt = () => {
4182
4186
  var b, M;
4183
- const rt = ut.cameraRef.current, It = ut.wrapRef.current;
4184
- if (!It) {
4187
+ const rt = ut.cameraRef.current, Pt = ut.wrapRef.current;
4188
+ if (!Pt) {
4185
4189
  W = requestAnimationFrame(bt);
4186
4190
  return;
4187
4191
  }
4188
- const l = It.getBoundingClientRect(), g = 200, c = -rt.x / rt.zoom - g, p = -rt.y / rt.zoom - g, R = (l.width - rt.x) / rt.zoom + g, z = (l.height - rt.y) / rt.zoom + g, y = /* @__PURE__ */ new Set();
4192
+ const l = Pt.getBoundingClientRect(), g = 200, c = -rt.x / rt.zoom - g, p = -rt.y / rt.zoom - g, R = (l.width - rt.x) / rt.zoom + g, z = (l.height - rt.y) / rt.zoom + g, y = /* @__PURE__ */ new Set();
4189
4193
  for (const _ of pe) {
4190
4194
  const N = _._absolutePosition || _.position, j = _.width || ((b = _.measured) == null ? void 0 : b.width) || 200, G = _.height || ((M = _.measured) == null ? void 0 : M.height) || 100;
4191
4195
  N.x + j >= c && N.x <= R && N.y + G >= p && N.y <= z && y.add(_.id);
@@ -4200,7 +4204,7 @@ function ss({
4200
4204
  return W = requestAnimationFrame(bt), () => cancelAnimationFrame(W);
4201
4205
  }, [pe, ut]);
4202
4206
  const qn = _t(() => Ge ? pe.filter((W) => Ge.has(W.id)) : pe, [pe, Ge]), jn = pe.length > 0, On = Ue.length > 0;
4203
- return /* @__PURE__ */ F(Pe.Provider, { value: zt, children: /* @__PURE__ */ Ft(
4207
+ return /* @__PURE__ */ F(Ie.Provider, { value: zt, children: /* @__PURE__ */ Ft(
4204
4208
  "div",
4205
4209
  {
4206
4210
  ref: xe,
@@ -4337,7 +4341,7 @@ function ss({
4337
4341
  }
4338
4342
  function is({ children: t }) {
4339
4343
  const e = tt(null);
4340
- return e.current || (e.current = Vr()), /* @__PURE__ */ F(Pe.Provider, { value: e.current, children: t });
4344
+ return e.current || (e.current = Vr()), /* @__PURE__ */ F(Ie.Provider, { value: e.current, children: t });
4341
4345
  }
4342
4346
  function Hr(t, e) {
4343
4347
  const n = [], r = /* @__PURE__ */ new Map(), i = [];
@@ -4386,7 +4390,7 @@ function Eo(t, e) {
4386
4390
  function Co(t, e) {
4387
4391
  return Hr(t, e);
4388
4392
  }
4389
- function Io(t, e) {
4393
+ function Po(t, e) {
4390
4394
  return Hr(t, e);
4391
4395
  }
4392
4396
  function as(t, e) {
@@ -4406,14 +4410,14 @@ function cs(t) {
4406
4410
  }
4407
4411
  function ls(t) {
4408
4412
  const [e, n] = Ot(t), r = U(
4409
- (i) => n((o) => Io(i, o)),
4413
+ (i) => n((o) => Po(i, o)),
4410
4414
  []
4411
4415
  );
4412
4416
  return [e, n, r];
4413
4417
  }
4414
- function Po() {
4418
+ function Io() {
4415
4419
  const t = Rr(), e = U(() => typeof t.getState == "function" ? t.getState() : t, [t]), n = U(() => [...e().nodesRef.current], [e]), r = U(() => [...e().edgesRef.current], [e]), i = U((w) => e().nodesRef.current.find((h) => h.id === w), [e]), o = U((w) => e().edgesRef.current.find((h) => h.id === w), [e]), a = U((w) => {
4416
- var h, m, C, P;
4420
+ var h, m, C, I;
4417
4421
  if (typeof w == "function") {
4418
4422
  const L = w(e().nodesRef.current);
4419
4423
  (m = (h = e().onNodesChangeRef).current) == null || m.call(h, [
@@ -4421,12 +4425,12 @@ function Po() {
4421
4425
  ...L.map((K) => ({ type: "add", item: K }))
4422
4426
  ]);
4423
4427
  } else
4424
- (P = (C = e().onNodesChangeRef).current) == null || P.call(C, [
4428
+ (I = (C = e().onNodesChangeRef).current) == null || I.call(C, [
4425
4429
  ...e().nodesRef.current.map((L) => ({ id: L.id, type: "remove" })),
4426
4430
  ...w.map((L) => ({ type: "add", item: L }))
4427
4431
  ]);
4428
4432
  }, [e]), u = U((w) => {
4429
- var h, m, C, P;
4433
+ var h, m, C, I;
4430
4434
  if (typeof w == "function") {
4431
4435
  const L = w(e().edgesRef.current);
4432
4436
  (m = (h = e().onEdgesChangeRef).current) == null || m.call(h, [
@@ -4434,18 +4438,18 @@ function Po() {
4434
4438
  ...L.map((K) => ({ type: "add", item: K }))
4435
4439
  ]);
4436
4440
  } else
4437
- (P = (C = e().onEdgesChangeRef).current) == null || P.call(C, [
4441
+ (I = (C = e().onEdgesChangeRef).current) == null || I.call(C, [
4438
4442
  ...e().edgesRef.current.map((L) => ({ id: L.id, type: "remove" })),
4439
4443
  ...w.map((L) => ({ type: "add", item: L }))
4440
4444
  ]);
4441
4445
  }, [e]), x = U((w) => {
4442
4446
  var m, C;
4443
4447
  const h = Array.isArray(w) ? w : [w];
4444
- (C = (m = e().onNodesChangeRef).current) == null || C.call(m, h.map((P) => ({ type: "add", item: P })));
4448
+ (C = (m = e().onNodesChangeRef).current) == null || C.call(m, h.map((I) => ({ type: "add", item: I })));
4445
4449
  }, [e]), d = U((w) => {
4446
4450
  var m, C;
4447
4451
  const h = Array.isArray(w) ? w : [w];
4448
- (C = (m = e().onEdgesChangeRef).current) == null || C.call(m, h.map((P) => ({ type: "add", item: P })));
4452
+ (C = (m = e().onEdgesChangeRef).current) == null || C.call(m, h.map((I) => ({ type: "add", item: I })));
4449
4453
  }, [e]), f = U(({ nodes: w = [], edges: h = [] }) => {
4450
4454
  if (w.length && e().onNodesChangeRef.current) {
4451
4455
  e().onNodesChangeRef.current(w.map((C) => ({ id: C.id, type: "remove" })));
@@ -4461,15 +4465,15 @@ function Po() {
4461
4465
  e().cameraRef.current = { ...w }, e().sendCamera();
4462
4466
  return;
4463
4467
  }
4464
- const m = { ...e().cameraRef.current }, C = performance.now(), P = (L) => {
4468
+ const m = { ...e().cameraRef.current }, C = performance.now(), I = (L) => {
4465
4469
  const K = L - C, it = Math.min(K / h, 1), nt = 1 - Math.pow(1 - it, 3);
4466
4470
  e().cameraRef.current = {
4467
4471
  x: m.x + (w.x - m.x) * nt,
4468
4472
  y: m.y + (w.y - m.y) * nt,
4469
4473
  zoom: m.zoom + (w.zoom - m.zoom) * nt
4470
- }, e().sendCamera(), it < 1 && (S.current = requestAnimationFrame(P));
4474
+ }, e().sendCamera(), it < 1 && (S.current = requestAnimationFrame(I));
4471
4475
  };
4472
- S.current = requestAnimationFrame(P);
4476
+ S.current = requestAnimationFrame(I);
4473
4477
  }, [e]), E = U((w, h) => {
4474
4478
  const m = {
4475
4479
  x: w.x ?? e().cameraRef.current.x,
@@ -4480,8 +4484,8 @@ function Po() {
4480
4484
  }, [e, k]), B = U(() => e().cameraRef.current.zoom, [e]), T = U((w) => {
4481
4485
  const h = e().cameraRef.current, m = e().wrapRef.current;
4482
4486
  if (!m) return;
4483
- const C = m.getBoundingClientRect(), P = C.width / 2, L = C.height / 2, K = 1.2, it = {
4484
- x: P - (P - h.x) * K,
4487
+ const C = m.getBoundingClientRect(), I = C.width / 2, L = C.height / 2, K = 1.2, it = {
4488
+ x: I - (I - h.x) * K,
4485
4489
  y: L - (L - h.y) * K,
4486
4490
  zoom: Math.min(e().zoomMax, h.zoom * K)
4487
4491
  };
@@ -4489,8 +4493,8 @@ function Po() {
4489
4493
  }, [e, k]), A = U((w) => {
4490
4494
  const h = e().cameraRef.current, m = e().wrapRef.current;
4491
4495
  if (!m) return;
4492
- const C = m.getBoundingClientRect(), P = C.width / 2, L = C.height / 2, K = 1 / 1.2, it = {
4493
- x: P - (P - h.x) * K,
4496
+ const C = m.getBoundingClientRect(), I = C.width / 2, L = C.height / 2, K = 1 / 1.2, it = {
4497
+ x: I - (I - h.x) * K,
4494
4498
  y: L - (L - h.y) * K,
4495
4499
  zoom: Math.max(e().zoomMin, h.zoom * K)
4496
4500
  };
@@ -4498,7 +4502,7 @@ function Po() {
4498
4502
  }, [e, k]), X = U((w, h) => {
4499
4503
  const m = e().cameraRef.current, C = e().wrapRef.current;
4500
4504
  if (!C) return;
4501
- const P = C.getBoundingClientRect(), L = P.width / 2, K = P.height / 2, it = Math.min(e().zoomMax, Math.max(e().zoomMin, w)), nt = it / m.zoom, lt = {
4505
+ const I = C.getBoundingClientRect(), L = I.width / 2, K = I.height / 2, it = Math.min(e().zoomMax, Math.max(e().zoomMin, w)), nt = it / m.zoom, lt = {
4502
4506
  x: L - (L - m.x) * nt,
4503
4507
  y: K - (K - m.y) * nt,
4504
4508
  zoom: it
@@ -4509,25 +4513,25 @@ function Po() {
4509
4513
  if (!h.length) return;
4510
4514
  const m = e().wrapRef.current;
4511
4515
  if (!m) return;
4512
- const C = m.getBoundingClientRect(), P = w.padding ?? 0.1, L = w.nodes ? h.filter((nt) => w.nodes.some((lt) => lt.id === nt.id)) : h;
4516
+ const C = m.getBoundingClientRect(), I = w.padding ?? 0.1, L = w.nodes ? h.filter((nt) => w.nodes.some((lt) => lt.id === nt.id)) : h;
4513
4517
  if (!L.length) return;
4514
- const K = Vn(L), it = dn(K, C.width, C.height, P);
4518
+ const K = Vn(L), it = dn(K, C.width, C.height, I);
4515
4519
  w.maxZoom && (it.zoom = Math.min(it.zoom, w.maxZoom)), w.minZoom && (it.zoom = Math.max(it.zoom, w.minZoom)), k(it, w.duration);
4516
4520
  }, [e, k]), Y = U((w, h = {}) => {
4517
4521
  const m = e().wrapRef.current;
4518
4522
  if (!m) return;
4519
- const C = m.getBoundingClientRect(), P = h.padding ?? 0.1, L = dn(w, C.width, C.height, P);
4523
+ const C = m.getBoundingClientRect(), I = h.padding ?? 0.1, L = dn(w, C.width, C.height, I);
4520
4524
  h.maxZoom && (L.zoom = Math.min(L.zoom, h.maxZoom)), h.minZoom && (L.zoom = Math.max(L.zoom, h.minZoom)), k(L, h.duration);
4521
4525
  }, [e, k]), $ = U((w, h, m = {}) => {
4522
4526
  const C = e().wrapRef.current;
4523
4527
  if (!C) return;
4524
- const P = C.getBoundingClientRect(), L = m.zoom ?? e().cameraRef.current.zoom, K = {
4525
- x: P.width / 2 - w * L,
4526
- y: P.height / 2 - h * L,
4528
+ const I = C.getBoundingClientRect(), L = m.zoom ?? e().cameraRef.current.zoom, K = {
4529
+ x: I.width / 2 - w * L,
4530
+ y: I.height / 2 - h * L,
4527
4531
  zoom: L
4528
4532
  };
4529
4533
  k(K, m.duration);
4530
- }, [e, k]), I = U(() => ({
4534
+ }, [e, k]), P = U(() => ({
4531
4535
  nodes: [...e().nodesRef.current],
4532
4536
  edges: [...e().edgesRef.current],
4533
4537
  viewport: { ...e().cameraRef.current }
@@ -4540,11 +4544,11 @@ function Po() {
4540
4544
  y: w.y * h.zoom + h.y + C.top
4541
4545
  };
4542
4546
  }, [e]), H = U((w, h) => {
4543
- var P, L;
4547
+ var I, L;
4544
4548
  const m = e().nodesRef.current.find((K) => K.id === w);
4545
4549
  if (!m) return;
4546
4550
  const C = typeof h == "function" ? h(m.data) : { ...m.data, ...h };
4547
- (L = (P = e().onNodesChangeRef).current) == null || L.call(P, [{ id: w, type: "replace", item: { ...m, data: C } }]);
4551
+ (L = (I = e().onNodesChangeRef).current) == null || L.call(I, [{ id: w, type: "replace", item: { ...m, data: C } }]);
4548
4552
  }, [e]);
4549
4553
  return {
4550
4554
  getNodes: n,
@@ -4568,7 +4572,7 @@ function Po() {
4568
4572
  screenToFlowPosition: O,
4569
4573
  flowToScreenPosition: q,
4570
4574
  updateNodeData: H,
4571
- toObject: I
4575
+ toObject: P
4572
4576
  };
4573
4577
  }
4574
4578
  function ds() {
@@ -4750,22 +4754,22 @@ function Cs({
4750
4754
  }
4751
4755
  const D = 40;
4752
4756
  B -= D, T -= D, A += D, X += D;
4753
- const Y = A - B, $ = X - T, I = Math.min(t / Y, e / $), O = (t - Y * I) / 2, q = (e - $ * I) / 2;
4757
+ const Y = A - B, $ = X - T, P = Math.min(t / Y, e / $), O = (t - Y * P) / 2, q = (e - $ * P) / 2;
4754
4758
  for (const h of E) {
4755
4759
  if (h.hidden) continue;
4756
- const m = h.width || Jn, C = h.height || Kn, P = (h.position.x - B) * I + O, L = (h.position.y - T) * I + q, K = m * I, it = C * I;
4757
- S.fillStyle = h.selected ? "#f59e0b" : typeof n == "function" ? n(h) : n, S.fillRect(P, L, Math.max(K, 2), Math.max(it, 2));
4760
+ const m = h.width || Jn, C = h.height || Kn, I = (h.position.x - B) * P + O, L = (h.position.y - T) * P + q, K = m * P, it = C * P;
4761
+ S.fillStyle = h.selected ? "#f59e0b" : typeof n == "function" ? n(h) : n, S.fillRect(I, L, Math.max(K, 2), Math.max(it, 2));
4758
4762
  }
4759
4763
  const H = u.cameraRef.current, w = u.wrapRef.current;
4760
4764
  if (w) {
4761
- const h = w.getBoundingClientRect(), m = -H.x / H.zoom, C = -H.y / H.zoom, P = h.width / H.zoom, L = h.height / H.zoom;
4765
+ const h = w.getBoundingClientRect(), m = -H.x / H.zoom, C = -H.y / H.zoom, I = h.width / H.zoom, L = h.height / H.zoom;
4762
4766
  S.fillStyle = i, S.fillRect(0, 0, t, e);
4763
- const K = (m - B) * I + O, it = (C - T) * I + q, nt = P * I, lt = L * I;
4767
+ const K = (m - B) * P + O, it = (C - T) * P + q, nt = I * P, lt = L * P;
4764
4768
  S.clearRect(K, it, nt, lt);
4765
4769
  for (const vt of E) {
4766
4770
  if (vt.hidden) continue;
4767
- const wt = vt.width || Jn, pt = vt.height || Kn, dt = (vt.position.x - B) * I + O, Et = (vt.position.y - T) * I + q;
4768
- S.fillStyle = vt.selected ? "#f59e0b" : typeof n == "function" ? n(vt) : n, S.fillRect(dt, Et, Math.max(wt * I, 2), Math.max(pt * I, 2));
4771
+ const wt = vt.width || Jn, pt = vt.height || Kn, dt = (vt.position.x - B) * P + O, Et = (vt.position.y - T) * P + q;
4772
+ S.fillStyle = vt.selected ? "#f59e0b" : typeof n == "function" ? n(vt) : n, S.fillRect(dt, Et, Math.max(wt * P, 2), Math.max(pt * P, 2));
4769
4773
  }
4770
4774
  S.strokeStyle = "#3b82f6", S.lineWidth = 1.5, S.strokeRect(K, it, nt, lt);
4771
4775
  }
@@ -4852,7 +4856,7 @@ function Do({
4852
4856
  "aria-label": S = "Canvas controls",
4853
4857
  children: k
4854
4858
  }) {
4855
- const E = Lt(), { zoomIn: B, zoomOut: T, fitView: A, getZoom: X } = Po(), [D, Y] = Ot(!0), $ = X() <= E.zoomMin, I = X() >= E.zoomMax, O = U(() => {
4859
+ const E = Lt(), { zoomIn: B, zoomOut: T, fitView: A, getZoom: X } = Io(), [D, Y] = Ot(!0), $ = X() <= E.zoomMin, P = X() >= E.zoomMax, O = U(() => {
4856
4860
  B(), i == null || i();
4857
4861
  }, [B, i]), q = U(() => {
4858
4862
  T(), o == null || o();
@@ -4890,7 +4894,7 @@ function Do({
4890
4894
  Cn,
4891
4895
  {
4892
4896
  onClick: O,
4893
- disabled: I,
4897
+ disabled: P,
4894
4898
  title: "Zoom in",
4895
4899
  "aria-label": "Zoom in",
4896
4900
  className: "ric-controls-zoomin",
@@ -4948,8 +4952,8 @@ const Ho = {
4948
4952
  lineHeight: 1,
4949
4953
  color: "#333",
4950
4954
  padding: 0
4951
- }, Is = oe(Do);
4952
- function Ps({
4955
+ }, Ps = oe(Do);
4956
+ function Is({
4953
4957
  variant: t = "lines",
4954
4958
  gap: e = 40,
4955
4959
  size: n = 1,
@@ -5008,7 +5012,7 @@ function Ts({
5008
5012
  }) {
5009
5013
  const v = ve(un), S = Lt(), k = tt(null), E = U((A, X) => {
5010
5014
  A.stopPropagation(), A.preventDefault();
5011
- const D = S.nodesRef.current.find((I) => I.id === v);
5015
+ const D = S.nodesRef.current.find((P) => P.id === v);
5012
5016
  if (!D) return;
5013
5017
  k.current = {
5014
5018
  direction: X,
@@ -5017,16 +5021,16 @@ function Ts({
5017
5021
  width: D.width || 160,
5018
5022
  height: D.height || 60
5019
5023
  }, x == null || x(A, { width: k.current.width, height: k.current.height });
5020
- const Y = (I) => {
5021
- var C, P;
5024
+ const Y = (P) => {
5025
+ var C, I;
5022
5026
  if (!k.current) return;
5023
- const O = k.current, q = S.cameraRef.current, H = (I.clientX - O.startX) / q.zoom, w = (I.clientY - O.startY) / q.zoom;
5027
+ const O = k.current, q = S.cameraRef.current, H = (P.clientX - O.startX) / q.zoom, w = (P.clientY - O.startY) / q.zoom;
5024
5028
  let h = O.width, m = O.height;
5025
- O.direction.includes("e") && (h = Math.min(n, Math.max(t, O.width + H))), O.direction.includes("w") && (h = Math.min(n, Math.max(t, O.width - H))), O.direction.includes("s") && (m = Math.min(r, Math.max(e, O.height + w))), O.direction.includes("n") && (m = Math.min(r, Math.max(e, O.height - w))), (P = (C = S.onNodesChangeRef).current) == null || P.call(C, [
5029
+ O.direction.includes("e") && (h = Math.min(n, Math.max(t, O.width + H))), O.direction.includes("w") && (h = Math.min(n, Math.max(t, O.width - H))), O.direction.includes("s") && (m = Math.min(r, Math.max(e, O.height + w))), O.direction.includes("n") && (m = Math.min(r, Math.max(e, O.height - w))), (I = (C = S.onNodesChangeRef).current) == null || I.call(C, [
5026
5030
  { id: v, type: "dimensions", dimensions: { width: h, height: m }, setAttributes: !0 }
5027
- ]), d == null || d(I, { width: h, height: m });
5028
- }, $ = (I) => {
5029
- k.current = null, f == null || f(I, {}), window.removeEventListener("pointermove", Y), window.removeEventListener("pointerup", $);
5031
+ ]), d == null || d(P, { width: h, height: m });
5032
+ }, $ = (P) => {
5033
+ k.current = null, f == null || f(P, {}), window.removeEventListener("pointermove", Y), window.removeEventListener("pointerup", $);
5030
5034
  };
5031
5035
  window.addEventListener("pointermove", Y), window.addEventListener("pointerup", $);
5032
5036
  }, [v, S, t, e, n, r, x, d, f]);
@@ -5198,7 +5202,7 @@ function _r({
5198
5202
  let d;
5199
5203
  switch (a) {
5200
5204
  case "straight":
5201
- [d] = Pr({ sourceX: t, sourceY: e, targetX: n, targetY: r });
5205
+ [d] = Ir({ sourceX: t, sourceY: e, targetX: n, targetY: r });
5202
5206
  break;
5203
5207
  case "step":
5204
5208
  [d] = nr({
@@ -5262,18 +5266,18 @@ function Ws(t) {
5262
5266
  return { x: r.x, y: r.y, x2: r.x + e, y2: r.y + n };
5263
5267
  }
5264
5268
  export {
5265
- Ps as Background,
5269
+ Is as Background,
5266
5270
  $n as BaseEdge,
5267
- Ir as BezierEdge,
5271
+ Pr as BezierEdge,
5268
5272
  Ds as ConnectionLine,
5269
5273
  Cn as ControlButton,
5270
- Is as Controls,
5274
+ Ps as Controls,
5271
5275
  Vo as DefaultNode,
5272
5276
  Bs as EdgeLabelRenderer,
5273
5277
  go as EdgeText,
5274
5278
  $s as EdgeToolbar,
5275
5279
  ho as GroupNode,
5276
- In as Handle,
5280
+ Pn as Handle,
5277
5281
  ss as InfiniteCanvas,
5278
5282
  is as InfiniteCanvasProvider,
5279
5283
  uo as InputNode,
@@ -5291,7 +5295,7 @@ export {
5291
5295
  Br as StraightEdge,
5292
5296
  As as ViewportPortal,
5293
5297
  as as addEdge,
5294
- Io as applyEdgeChanges,
5298
+ Po as applyEdgeChanges,
5295
5299
  Co as applyNodeChanges,
5296
5300
  Zo as boxToRect,
5297
5301
  Lr as buildObstacles,
@@ -5311,7 +5315,7 @@ export {
5311
5315
  sr as getRoutedLabelPosition,
5312
5316
  Tr as getSimpleBezierPath,
5313
5317
  nr as getSmoothStepPath,
5314
- Pr as getStraightPath,
5318
+ Ir as getStraightPath,
5315
5319
  dn as getViewportForBounds,
5316
5320
  Xo as isEdge,
5317
5321
  Yo as isNode,
@@ -5339,7 +5343,7 @@ export {
5339
5343
  Ss as useOnNodesChangeMiddleware,
5340
5344
  ms as useOnSelectionChange,
5341
5345
  xs as useOnViewportChange,
5342
- Po as useReactFlow,
5346
+ Io as useReactFlow,
5343
5347
  Rs as useStore,
5344
5348
  ks as useStoreApi,
5345
5349
  zs as useUndoRedo,