@bemedev/mind-flow 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.es.js CHANGED
@@ -14,7 +14,7 @@ var M = /* @__PURE__ */ "fill-transparent cursor-pointer relative stroke-[rgba(1
14
14
  }), I = {
15
15
  horizontal: 55,
16
16
  vertical: 40
17
- }, L = [{
17
+ }, ee = [{
18
18
  id: "node-0",
19
19
  data: {
20
20
  content: "Some text",
@@ -25,7 +25,7 @@ var M = /* @__PURE__ */ "fill-transparent cursor-pointer relative stroke-[rgba(1
25
25
  x: 350,
26
26
  y: 100
27
27
  }
28
- }], R = (e, t) => {
28
+ }], te = (e, t) => {
29
29
  let n = h(e(), t);
30
30
  return [
31
31
  ({ children: e }) => n.Provider({
@@ -35,11 +35,11 @@ var M = /* @__PURE__ */ "fill-transparent cursor-pointer relative stroke-[rgba(1
35
35
  () => x(n),
36
36
  n
37
37
  ];
38
- }, z = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", ee = (e = 21) => {
38
+ }, ne = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", re = (e = 21) => {
39
39
  let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
40
- for (; e--;) t += z[n[e] & 63];
40
+ for (; e--;) t += ne[n[e] & 63];
41
41
  return t;
42
- }, B = (e, t) => `edge = ${e} => ${t}`, V = (e) => `node-${e}`, te = (e, t = {
42
+ }, L = (e, t) => `edge = ${e} => ${t}`, R = (e) => `node-${e}`, ie = (e, t = {
43
43
  width: 192,
44
44
  height: 50,
45
45
  inputOffset: P
@@ -59,37 +59,37 @@ var M = /* @__PURE__ */ "fill-transparent cursor-pointer relative stroke-[rgba(1
59
59
  outputOffset: i,
60
60
  inputOffset: a
61
61
  };
62
- }, H = E({
62
+ }, z = E({
63
63
  x: "number",
64
64
  y: "number"
65
65
  });
66
66
  E(({ optional: e, use: t }) => ({
67
- input: e(t(H)),
68
- output: t(H)
67
+ input: e(t(z)),
68
+ output: t(z)
69
69
  }));
70
- var U = E({
70
+ var B = E({
71
71
  from: "string",
72
72
  to: "string"
73
- }), W = E(({ optional: e, use: t }) => ({
74
- position: t(H),
73
+ }), V = E(({ optional: e, use: t }) => ({
74
+ position: t(z),
75
75
  data: {
76
76
  label: e("string"),
77
77
  content: "string"
78
78
  },
79
79
  input: "boolean"
80
- })), G = U, K = E(({ optional: e, use: t }) => ({
80
+ })), H = B, U = E(({ optional: e, use: t }) => ({
81
81
  width: "number",
82
82
  height: "number",
83
- output: t(H),
84
- input: e(t(H)),
85
- inputOffset: e(t(H)),
86
- outputOffset: e(t(H))
87
- })), q = E({
83
+ output: t(z),
84
+ input: e(t(z)),
85
+ inputOffset: e(t(z)),
86
+ outputOffset: e(t(z))
87
+ })), W = E({
88
88
  x0: "number",
89
89
  y0: "number",
90
90
  x1: "number",
91
91
  y1: "number"
92
- }), ne = E(({ intersection: e, use: t }) => e({ from: "string" }, t(q))), J = E(({ optional: e }) => ({
92
+ }), ae = E(({ intersection: e, use: t }) => e({ from: "string" }, t(W))), G = E(({ optional: e }) => ({
93
93
  self: {
94
94
  left: "number",
95
95
  top: "number",
@@ -102,7 +102,7 @@ var U = E({
102
102
  height: "number",
103
103
  width: "number"
104
104
  })
105
- })), re = S({
105
+ })), oe = S({
106
106
  initial: "idle",
107
107
  on: { SET_BOARD: { actions: ["setBoard"] } },
108
108
  states: {
@@ -181,10 +181,10 @@ var U = E({
181
181
  }, {
182
182
  eventsMap: E(({ intersection: e, use: t, array: n }) => ({
183
183
  CONFIGURE: {
184
- nodes: n(e(t(W), { id: "string" })),
185
- edges: n(e(t(G), { id: "string" }))
184
+ nodes: n(e(t(V), { id: "string" })),
185
+ edges: n(e(t(H), { id: "string" }))
186
186
  },
187
- SET_BOARD: t(J),
187
+ SET_BOARD: t(G),
188
188
  CONFIGURE_EMPTY: "never",
189
189
  MOVE: {
190
190
  id: "string",
@@ -202,22 +202,22 @@ var U = E({
202
202
  DELETE: "string",
203
203
  SELECT: "string",
204
204
  DESELECT: "never",
205
- ADD_EDGE: t(U),
205
+ ADD_EDGE: t(B),
206
206
  START_NEW_EDGE: "string",
207
- MOVE_NEW_EDGE: t(H),
207
+ MOVE_NEW_EDGE: t(z),
208
208
  CLEAR_NEW_EDGE: "never",
209
209
  ZOOM: "number",
210
210
  TOGGLE_ZOOM: "never",
211
211
  ADD_DIMENSION: {
212
212
  id: "string",
213
- dimension: t(K)
213
+ dimension: t(U)
214
214
  }
215
215
  })),
216
216
  sync: !0,
217
217
  pContext: E(({ union: e, optional: t, record: n, use: r, custom: i }) => ({
218
218
  generatedId: e("string", "null"),
219
219
  previousZoom: t("number"),
220
- dimensions: n(r(K)),
220
+ dimensions: n(r(U)),
221
221
  getBoardPosition: i(),
222
222
  clampPosition: i(),
223
223
  calculateDimensions: i()
@@ -225,30 +225,35 @@ var U = E({
225
225
  context: E(({ optional: e, use: t, array: n, record: r }) => ({
226
226
  data: e({
227
227
  nodes: n({
228
- ...t(W),
228
+ ...t(V),
229
229
  id: "string"
230
230
  }),
231
231
  edges: n({
232
- ...t(G),
232
+ ...t(H),
233
233
  id: "string"
234
234
  })
235
235
  }),
236
- board: e(t(J)),
237
- edgesPositions: r(t(q)),
238
- newEdge: e(t(ne)),
236
+ board: e(t(G)),
237
+ edgesPositions: r(t(W)),
238
+ newEdge: e(t(ae)),
239
239
  selected: e("string"),
240
240
  updatingUI: e("boolean"),
241
241
  zoom: "number",
242
- bounds: t(H)
242
+ bounds: t(z)
243
243
  }))
244
244
  }).provideOptions(({ assign: e, batch: t, erase: n, filter: r, action: i }) => ({ actions: {
245
245
  configure: t(e("data", { CONFIGURE: ({ payload: e }) => e }), e("newEdge", () => void 0), e("updatingUI", () => !1), i(({ pContext: e }) => {
246
246
  e.generatedId = null;
247
247
  }), i({ CONFIGURE: ({ payload: { nodes: e }, pContext: { dimensions: t } }) => {
248
248
  e.forEach(({ id: e, position: n }) => {
249
- t[e] = te(n);
249
+ t[e] = ie(n);
250
250
  });
251
251
  } })),
252
+ setBoard: e("board", { SET_BOARD: ({ payload: e }) => e }),
253
+ generateID: i(({ pContext: e }) => e.generatedId = re()),
254
+ select: e("selected", { SELECT: ({ payload: e }) => e }),
255
+ clearNewEdge: n("newEdge"),
256
+ deselect: n("selected"),
252
257
  startNewEdge: e("newEdge", { START_NEW_EDGE: ({ payload: e, pContext: { dimensions: t } }) => {
253
258
  let { x: n, y: r } = t[e].output;
254
259
  return {
@@ -259,7 +264,6 @@ var U = E({
259
264
  y1: r
260
265
  };
261
266
  } }),
262
- setBoard: e("board", { SET_BOARD: ({ payload: e }) => e }),
263
267
  buildUI: t(e("edgesPositions", {
264
268
  MOVE: ({ context: { data: e, edgesPositions: t }, payload: n, pContext: { dimensions: r } }) => {
265
269
  let i = e?.edges, a = r[n.id], o = a?.outputOffset ?? F(a?.width), s = a?.inputOffset ?? P, c = {
@@ -274,20 +278,26 @@ var U = E({
274
278
  }), t;
275
279
  },
276
280
  MOVE_IMMEDIATE: ({ context: { data: e, edgesPositions: t }, payload: n, pContext: { dimensions: r } }) => ((e?.edges)?.forEach(({ from: e, to: i, id: a }) => {
277
- if (e === n.id) {
278
- let e = r[n.id], i = e?.outputOffset ?? F(e?.width), o = n.x + i.x, s = n.y + i.y;
279
- t[a].x0 = o, t[a].y0 = s, e && (e.output.x = o, e.output.y = s);
280
- }
281
- if (i === n.id) {
282
- let e = r[n.id], i = e?.inputOffset ?? P, o = n.x + i.x, s = n.y + i.y;
283
- t[a].x1 = o, t[a].y1 = s, e && (e.input = {
284
- x: o,
285
- y: s
286
- });
281
+ let o = r[n.id], s = t[a];
282
+ if (!(!s || !o)) {
283
+ if (e === n.id) {
284
+ let e = o.outputOffset ?? F(o.width), t = n.x + e.x, r = n.y + e.y;
285
+ s.x0 = t, s.y0 = r, o.output = {
286
+ x: t,
287
+ y: r
288
+ };
289
+ }
290
+ if (i === n.id) {
291
+ let e = o?.inputOffset ?? P, t = n.x + e.x, r = n.y + e.y;
292
+ s.x1 = t, s.y1 = r, o.input = {
293
+ x: t,
294
+ y: r
295
+ };
296
+ }
287
297
  }
288
298
  }), t),
289
299
  else: ({ context: { data: e, edgesPositions: t }, pContext: { dimensions: n } }) => {
290
- let r = e?.edges ?? [];
300
+ let r = T.typed(e?.edges);
291
301
  return t = {}, r.forEach(({ from: e, id: r, to: i }) => {
292
302
  let a = n[e]?.output, o = n[i]?.input;
293
303
  a && o ? t[r] = {
@@ -302,50 +312,41 @@ var U = E({
302
312
  addDimension: i({ ADD_DIMENSION: ({ payload: { id: e, dimension: t }, pContext: { dimensions: n } }) => {
303
313
  n[e] = t;
304
314
  } }),
305
- generateID: i(({ pContext: e }) => {
306
- e.generatedId = ee();
307
- }),
308
315
  linkChild: t(e("data.edges", { ADD_CHILD: ({ context: { data: e }, pContext: t, payload: n }) => {
309
- let r = T.typed(e?.edges), i = n, a = t?.generatedId, o = V(a), s = B(i, o);
316
+ let r = T.typed(e?.edges), i = n, a = t?.generatedId, o = R(a), s = L(i, o);
310
317
  return r.push({
311
318
  id: s,
312
319
  from: i,
313
320
  to: o
314
321
  }), r;
315
- } }), e("selected", ({ pContext: { generatedId: e } }) => V(e))),
322
+ } }), e("selected", ({ pContext: { generatedId: e } }) => R(e))),
316
323
  linkSibling: t(e("data.edges", { ADD_SIBLING: ({ pContext: e, payload: t, context: { data: n } }) => {
317
324
  let r = T.typed(n?.edges), i = e?.generatedId, a = r.find(({ to: e }) => e === t)?.from;
318
325
  if (!a) return r;
319
- let o = V(i), s = B(a, o);
326
+ let o = R(i), s = L(a, o);
320
327
  return r.push({
321
328
  from: a,
322
329
  to: o,
323
330
  id: s
324
331
  }), r;
325
- } }), e("selected", ({ pContext: { generatedId: e } }) => V(e))),
326
- selectParent: e("selected", ({ pContext: { generatedId: e } }) => V(e)),
327
- moveNode: e("data.nodes", { MOVE: ({ context: { data: e }, payload: t }) => {
328
- let { id: n, x: r, y: i } = t;
329
- return e?.nodes?.map((e) => e.id === n ? {
330
- ...e,
331
- position: {
332
- x: r,
333
- y: i
334
- }
335
- } : e) ?? [];
336
- } }),
337
- select: e("selected", { SELECT: ({ payload: e }) => e }),
332
+ } }), e("selected", ({ pContext: { generatedId: e } }) => R(e))),
333
+ selectParent: e("selected", ({ pContext: { generatedId: e } }) => R(e)),
334
+ moveNode: e("data.nodes", { MOVE: ({ context: { data: e }, payload: { id: t, x: n, y: r } }) => e?.nodes?.map((e) => e.id === t ? {
335
+ ...e,
336
+ position: {
337
+ x: n,
338
+ y: r
339
+ }
340
+ } : e) }),
338
341
  delete: t(r("data.edges", { DELETE: ({ id: e, from: t, to: n }, r, { payload: i }) => e !== i && t !== i && n !== i }), r("data.nodes", { DELETE: ({ id: e }, t, { payload: n }) => e !== n })),
339
342
  addEdge: t(e("data.edges", { ADD_EDGE: ({ context: e, payload: { from: t, to: n } }) => {
340
- let r = e.data?.edges ?? [], i = B(t, n);
343
+ let r = e.data?.edges ?? [], i = L(t, n);
341
344
  return r.some((e) => e.id === i) ? r : [...r, {
342
345
  id: i,
343
346
  from: t,
344
347
  to: n
345
348
  }];
346
349
  } }), n("newEdge")),
347
- clearNewEdge: n("newEdge"),
348
- deselect: n("selected"),
349
350
  zoom: e("zoom", { ZOOM: ({ context: { zoom: e }, payload: t, pContext: n }) => {
350
351
  let r = e + t, i = Math.min(Math.max(Number(r.toFixed(2)), .2), 3);
351
352
  return n.previousZoom = void 0, i;
@@ -353,9 +354,56 @@ var U = E({
353
354
  toggleZoom: e("zoom", { TOGGLE_ZOOM: ({ context: { zoom: e }, pContext: t }) => {
354
355
  let n = t.previousZoom;
355
356
  return n === void 0 ? (t.previousZoom = e, 1) : (t.previousZoom = void 0, n);
357
+ } }),
358
+ placeChild: e("data.nodes", { ADD_CHILD: ({ payload: e, context: { data: t, board: n }, pContext: r }) => {
359
+ if (!n) return t?.nodes;
360
+ let i = t?.nodes;
361
+ if (!e) return i;
362
+ let a = i?.find((t) => t.id === e);
363
+ if (!a) return i;
364
+ let o = r.dimensions[e], s = `node-${r.generatedId}`, c = o?.width ?? 192, l = o?.height ?? 50, u = a.position.x + c + 100, d = a.position.y, f = r.clampPosition(n, u, d, c, l), p = r.calculateDimensions(f, o);
365
+ return i?.push({
366
+ id: s,
367
+ data: { content: "<Nouveau nœud>" },
368
+ input: !0,
369
+ position: f
370
+ }), r.dimensions[s] = p, i;
371
+ } }),
372
+ placeParent: e("data.nodes", { ADD_PARENT: ({ context: { data: e, zoom: t = 1, board: n }, pContext: r }) => {
373
+ if (!n) return e?.nodes;
374
+ let i = e?.nodes, a = `node-${r.generatedId}`, o = n.parent, s = o?.scrollLeft ?? 0, c = o?.scrollTop ?? 0, l = o?.width ?? 0, u = o?.height ?? 0, d = t, f = (s + l / 2) / d, p = (c + u / 2) / d, m = r.clampPosition(n, f, p), h = r.calculateDimensions(m);
375
+ return i?.push({
376
+ id: a,
377
+ data: { content: "<Nouveau nœud>" },
378
+ input: !1,
379
+ position: m
380
+ }), r.dimensions[a] = h, i;
381
+ } }),
382
+ placeSibling: e("data.nodes", { ADD_SIBLING: ({ payload: e, context: { data: t, board: n }, pContext: r }) => {
383
+ if (!n) return t?.nodes;
384
+ let i = t?.edges, a = t?.nodes, o = i?.find((t) => t.to === e)?.from;
385
+ if (!o) return a;
386
+ let s = a?.find((e) => e.id === o);
387
+ if (!s) return a;
388
+ let c = r.dimensions[o], l = `node-${r.generatedId}`, u = c?.width ?? 192, d = c?.height ?? 50, f = s.position.x + u + 100, p = s.position.y + 100, m = r.clampPosition(n, f, p, u, d), h = r.calculateDimensions(m, c);
389
+ return a?.push({
390
+ id: l,
391
+ data: { content: "<Nouveau nœud>" },
392
+ input: !0,
393
+ position: m
394
+ }), r.dimensions[l] = h, a;
395
+ } }),
396
+ moveNewEdge: e("newEdge", { MOVE_NEW_EDGE: ({ context: { newEdge: e, board: t }, payload: n, pContext: r }) => {
397
+ if (!t || !e) return;
398
+ let { x: i, y: a } = r.getBoardPosition(n.x, n.y, t);
399
+ return {
400
+ ...e,
401
+ x1: i,
402
+ y1: a
403
+ };
356
404
  } })
357
- } })), [ie, Y] = R(() => {
358
- let e = C(re, {
405
+ } })), [K, q] = te(() => {
406
+ let e = C(oe, {
359
407
  context: {
360
408
  zoom: 1,
361
409
  edgesPositions: {},
@@ -367,7 +415,7 @@ var U = E({
367
415
  pContext: {
368
416
  generatedId: null,
369
417
  dimensions: {},
370
- getBoardPosition(t, n, r) {
418
+ getBoardPosition: (t, n, r) => {
371
419
  if (!r) return {
372
420
  x: t,
373
421
  y: n
@@ -378,7 +426,7 @@ var U = E({
378
426
  y: (n - r.self.top) / i
379
427
  };
380
428
  },
381
- clampPosition(t, n, r, i = 192, a = 50) {
429
+ clampPosition: (t, n, r, i = 192, a = 50) => {
382
430
  let o = t?.parent;
383
431
  if (!o) return {
384
432
  x: n,
@@ -413,77 +461,29 @@ var U = E({
413
461
  }
414
462
  }
415
463
  });
416
- return e.addOptions(({ assign: e }) => ({ actions: {
417
- placeChild: e("data.nodes", { ADD_CHILD: ({ payload: e, context: { data: t, board: n }, pContext: r }) => {
418
- if (!n) return t?.nodes;
419
- let i = t?.nodes;
420
- if (!e) return i;
421
- let a = i?.find((t) => t.id === e);
422
- if (!a) return i;
423
- let o = r.dimensions[e], s = `node-${r.generatedId}`, c = o?.width ?? 192, l = o?.height ?? 50, u = a.position.x + c + 100, d = a.position.y, f = r.clampPosition(n, u, d, c, l), p = r.calculateDimensions(f, o);
424
- return i?.push({
425
- id: s,
426
- data: { content: "<Nouveau nœud>" },
427
- input: !0,
428
- position: f
429
- }), r.dimensions[s] = p, i;
430
- } }),
431
- placeParent: e("data.nodes", { ADD_PARENT: ({ context: { data: e, zoom: t = 1, board: n }, pContext: r }) => {
432
- if (!n) return e?.nodes;
433
- let i = e?.nodes, a = `node-${r.generatedId}`, o = n.parent, s = o?.scrollLeft ?? 0, c = o?.scrollTop ?? 0, l = o?.width ?? 0, u = o?.height ?? 0, d = t, f = (s + l / 2) / d, p = (c + u / 2) / d, m = r.clampPosition(n, f, p), h = r.calculateDimensions(m);
434
- return i?.push({
435
- id: a,
436
- data: { content: "<Nouveau nœud>" },
437
- input: !1,
438
- position: m
439
- }), r.dimensions[a] = h, i;
440
- } }),
441
- placeSibling: e("data.nodes", { ADD_SIBLING: ({ payload: e, context: { data: t, board: n }, pContext: r }) => {
442
- if (!n) return t?.nodes;
443
- let i = t?.edges, a = t?.nodes, o = i?.find((t) => t.to === e)?.from;
444
- if (!o) return a;
445
- let s = a?.find((e) => e.id === o);
446
- if (!s) return a;
447
- let c = r.dimensions[o], l = `node-${r.generatedId}`, u = c?.width ?? 192, d = c?.height ?? 50, f = s.position.x + u + 100, p = s.position.y + 100, m = r.clampPosition(n, f, p, u, d), h = r.calculateDimensions(m, c);
448
- return a?.push({
449
- id: l,
450
- data: { content: "<Nouveau nœud>" },
451
- input: !0,
452
- position: m
453
- }), r.dimensions[l] = h, a;
454
- } }),
455
- moveNewEdge: e("newEdge", { MOVE_NEW_EDGE: ({ context: { newEdge: e, board: t }, payload: n, pContext: r }) => {
456
- if (!t || !e) return;
457
- let { x: i, y: a } = r.getBoardPosition(n.x, n.y, t);
458
- return {
459
- ...e,
460
- x1: i,
461
- y1: a
462
- };
463
- } })
464
- } })), e.start(), e;
465
- }, { name: "FlowContext" }), X = Object.prototype.hasOwnProperty;
466
- function Z(e, t, n) {
467
- for (n of e.keys()) if (Q(n, t)) return n;
464
+ return e.start(), e;
465
+ }, { name: "FlowContext" }), J = Object.prototype.hasOwnProperty;
466
+ function Y(e, t, n) {
467
+ for (n of e.keys()) if (X(n, t)) return n;
468
468
  }
469
- function Q(e, t) {
469
+ function X(e, t) {
470
470
  var n, r, i;
471
471
  if (e === t) return !0;
472
472
  if (e && t && (n = e.constructor) === t.constructor) {
473
473
  if (n === Date) return e.getTime() === t.getTime();
474
474
  if (n === RegExp) return e.toString() === t.toString();
475
475
  if (n === Array) {
476
- if ((r = e.length) === t.length) for (; r-- && Q(e[r], t[r]););
476
+ if ((r = e.length) === t.length) for (; r-- && X(e[r], t[r]););
477
477
  return r === -1;
478
478
  }
479
479
  if (n === Set) {
480
480
  if (e.size !== t.size) return !1;
481
- for (r of e) if (i = r, i && typeof i == "object" && (i = Z(t, i), !i) || !t.has(i)) return !1;
481
+ for (r of e) if (i = r, i && typeof i == "object" && (i = Y(t, i), !i) || !t.has(i)) return !1;
482
482
  return !0;
483
483
  }
484
484
  if (n === Map) {
485
485
  if (e.size !== t.size) return !1;
486
- for (r of e) if (i = r[0], i && typeof i == "object" && (i = Z(t, i), !i) || !Q(r[1], t.get(i))) return !1;
486
+ for (r of e) if (i = r[0], i && typeof i == "object" && (i = Y(t, i), !i) || !X(r[1], t.get(i))) return !1;
487
487
  return !0;
488
488
  }
489
489
  if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
@@ -496,7 +496,7 @@ function Q(e, t) {
496
496
  return r === -1;
497
497
  }
498
498
  if (!n || typeof e == "object") {
499
- for (n in r = 0, e) if (X.call(e, n) && ++r && !X.call(t, n) || !(n in t) || !Q(e[n], t[n])) return !1;
499
+ for (n in r = 0, e) if (J.call(e, n) && ++r && !J.call(t, n) || !(n in t) || !X(e[n], t[n])) return !1;
500
500
  return Object.keys(t).length === r;
501
501
  }
502
502
  }
@@ -504,8 +504,8 @@ function Q(e, t) {
504
504
  }
505
505
  //#endregion
506
506
  //#region src/ui/components/Bounds.tsx
507
- var ae = () => {
508
- let e = Y(), t = f(e, { selector: ({ context: e }) => e.zoom }), n = f(e, { selector: ({ context: e }) => e.board }), [r, { addTransformer: i, removeTransformer: a, onDragStart: o, onDragEnd: s }] = j(), c = {
507
+ var se = () => {
508
+ let e = q(), t = f(e, { selector: ({ context: e }) => e.zoom }), n = f(e, { selector: ({ context: e }) => e.board }), [r, { addTransformer: i, removeTransformer: a, onDragStart: o, onDragEnd: s }] = j(), c = {
509
509
  id: "clamp-to-container",
510
510
  order: 100,
511
511
  callback: (e) => {
@@ -525,10 +525,10 @@ var ae = () => {
525
525
  }), s(({ draggable: e }) => {
526
526
  a("draggables", e.id, c.id);
527
527
  }), null;
528
- }, oe = /*#__PURE__*/ u("<svg><path class=\"relative cursor-pointer fill-transparent\"></svg>", !1, !0, !1), se = /*#__PURE__*/ u("<svg><g cursor=pointer style=pointer-events:all;z-index:30><circle cx=0 cy=0 r=12 fill=\"rgba(168, 168, 168, 1)\"></circle><svg fill=currentColor stroke-width=0 xmlns=http://www.w3.org/2000/svg class=\"h-25 w-25 bg-white fill-white\"width=20 height=20 viewBox=\"0 0 20 20\"color=white x=-10 y=-10><path d=\"M10.185,1.417c-4.741,0-8.583,3.842-8.583,8.583c0,4.74,3.842,8.582,8.583,8.582S18.768,14.74,18.768,10C18.768,5.259,14.926,1.417,10.185,1.417 M10.185,17.68c-4.235,0-7.679-3.445-7.679-7.68c0-4.235,3.444-7.679,7.679-7.679S17.864,5.765,17.864,10C17.864,14.234,14.42,17.68,10.185,17.68 M10.824,10l2.842-2.844c0.178-0.176,0.178-0.46,0-0.637c-0.177-0.178-0.461-0.178-0.637,0l-2.844,2.841L7.341,6.52c-0.176-0.178-0.46-0.178-0.637,0c-0.178,0.176-0.178,0.461,0,0.637L9.546,10l-2.841,2.844c-0.178,0.176-0.178,0.461,0,0.637c0.178,0.178,0.459,0.178,0.637,0l2.844-2.841l2.844,2.841c0.178,0.178,0.459,0.178,0.637,0c0.178-0.176,0.178-0.461,0-0.637L10.824,10z\"></svg>", !1, !0, !1), $ = (e) => e * 100 / 200, ce = ({ x0: e, y0: t, x1: n, y1: r }) => `M ${e} ${t} C ${e + $(Math.abs(n - e))} ${t}, ${n - $(Math.abs(n - e))} ${r}, ${n} ${r}`, le = (n) => {
529
- let a = Y(), o = f(a, {
528
+ }, ce = /*#__PURE__*/ u("<svg><path class=\"relative cursor-pointer fill-transparent\"></svg>", !1, !0, !1), le = /*#__PURE__*/ u("<svg><g cursor=pointer style=pointer-events:all;z-index:30><circle cx=0 cy=0 r=12 fill=\"rgba(168, 168, 168, 1)\"></circle><svg fill=currentColor stroke-width=0 xmlns=http://www.w3.org/2000/svg class=\"h-25 w-25 bg-white fill-white\"width=20 height=20 viewBox=\"0 0 20 20\"color=white x=-10 y=-10><path d=\"M10.185,1.417c-4.741,0-8.583,3.842-8.583,8.583c0,4.74,3.842,8.582,8.583,8.582S18.768,14.74,18.768,10C18.768,5.259,14.926,1.417,10.185,1.417 M10.185,17.68c-4.235,0-7.679-3.445-7.679-7.68c0-4.235,3.444-7.679,7.679-7.679S17.864,5.765,17.864,10C17.864,14.234,14.42,17.68,10.185,17.68 M10.824,10l2.842-2.844c0.178-0.176,0.178-0.46,0-0.637c-0.177-0.178-0.461-0.178-0.637,0l-2.844,2.841L7.341,6.52c-0.176-0.178-0.46-0.178-0.637,0c-0.178,0.176-0.178,0.461,0,0.637L9.546,10l-2.841,2.844c-0.178,0.176-0.178,0.461,0,0.637c0.178,0.178,0.459,0.178,0.637,0l2.844-2.841l2.844,2.841c0.178,0.178,0.459,0.178,0.637,0c0.178-0.176,0.178-0.461,0-0.637L10.824,10z\"></svg>", !1, !0, !1), Z = (e) => e * 100 / 200, ue = ({ x0: e, y0: t, x1: n, y1: r }) => `M ${e} ${t} C ${e + Z(Math.abs(n - e))} ${t}, ${n - Z(Math.abs(n - e))} ${r}, ${n} ${r}`, Q = (n) => {
529
+ let a = q(), o = f(a, {
530
530
  selector: ({ context: { newEdge: e, edgesPositions: t } }) => n.isNew ? e : t[n.id],
531
- equals: Q
531
+ equals: X
532
532
  }), u = f(a, { selector: (e) => e.context.selected === n.id }), d = () => {
533
533
  let e = o();
534
534
  return {
@@ -537,7 +537,7 @@ var ae = () => {
537
537
  };
538
538
  };
539
539
  return [(() => {
540
- var t = i(oe);
540
+ var t = i(ce);
541
541
  return t.$$mousedown = (e) => (e.stopPropagation(), a.send({
542
542
  type: "SELECT",
543
543
  payload: n.id
@@ -546,7 +546,7 @@ var ae = () => {
546
546
  "stroke-[rgba(168,168,168,0.4)] stroke-3 z-200": !!n.isNew,
547
547
  "stroke-[rgba(168,168,168,1)] stroke-4 z-100": u() && !n.isNew,
548
548
  "stroke-[rgba(168,168,168,0.8)] stroke-3": !u() && !n.isNew
549
- }, a = n.isNew ? "none" : "all", s = ce(o());
549
+ }, a = n.isNew ? "none" : "all", s = ue(o());
550
550
  return r.e = e(t, i, r.e), a !== r.t && l(t, "pointer-events", r.t = a), s !== r.a && c(t, "d", r.a = s), r;
551
551
  }, {
552
552
  e: void 0,
@@ -558,7 +558,7 @@ var ae = () => {
558
558
  return u();
559
559
  },
560
560
  get children() {
561
- var e = i(se);
561
+ var e = i(le);
562
562
  return e.$$mousedown = (e) => {
563
563
  e.stopPropagation(), a.send({
564
564
  type: "DELETE",
@@ -571,19 +571,19 @@ var ae = () => {
571
571
  n(["mousedown"]);
572
572
  //#endregion
573
573
  //#region src/ui/components/EdgesBoard.tsx
574
- var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflow-visible\"><!$><!/><!$><!/>"), de = () => {
575
- let e = Y(), n = f(e, { selector: (e) => !!e.context.newEdge }), r = f(e, {
574
+ var de = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflow-visible\"><!$><!/><!$><!/>"), fe = () => {
575
+ let e = q(), n = f(e, { selector: (e) => !!e.context.newEdge }), r = f(e, {
576
576
  selector: ({ context: e }) => Object.keys(e.edgesPositions),
577
577
  equals: (e, t) => e.length === t.length
578
578
  });
579
579
  return (() => {
580
- var e = i(ue), s = e.firstChild, [c, l] = a(s.nextSibling), u = c.nextSibling, [d, f] = a(u.nextSibling);
580
+ var e = i(de), s = e.firstChild, [c, l] = a(s.nextSibling), u = c.nextSibling, [d, f] = a(u.nextSibling);
581
581
  return o(e, t(m, {
582
582
  get when() {
583
583
  return n();
584
584
  },
585
585
  get children() {
586
- return t(le, {
586
+ return t(Q, {
587
587
  id: "__#new-edge#__TEMP",
588
588
  isNew: !0
589
589
  });
@@ -592,11 +592,11 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
592
592
  get each() {
593
593
  return r();
594
594
  },
595
- children: (e) => t(le, { id: e })
595
+ children: (e) => t(Q, { id: e })
596
596
  }), d, f), e;
597
597
  })();
598
- }, fe = /*#__PURE__*/ u("<svg class=\"cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600\"viewBox=\"0 0 1024 1024\"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d=\"M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z\"></path><path d=\"M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z\">"), pe = /*#__PURE__*/ u("<div id=outputs class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\"><div class=\"cursor-default rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all>"), me = /*#__PURE__*/ u("<div class=min-w-48><div><svg class=\"cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out\"fill=currentColor stroke-width=2 viewBox=\"4 4 16 16\"style=overflow:visible;pointer-events:all><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!$><!/><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\"viewBox=\"0 0 24 24\"stroke=currentColor stroke-width=2 style=pointer-events:all><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><!$><!/><!$><!/><!$><!/><div id=inputs class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all>"), he = /*#__PURE__*/ u("<span class=\"min-w-max border-b border-[#f0f0f0] p-3 whitespace-nowrap text-red-600 select-none\">"), ge = /*#__PURE__*/ u("<div class=\"p-3 select-none\">"), _e = (n) => {
599
- let u = Y(), p = f(u, {
598
+ }, pe = /*#__PURE__*/ u("<svg class=\"cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600\"viewBox=\"0 0 1024 1024\"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d=\"M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z\"></path><path d=\"M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z\">"), me = /*#__PURE__*/ u("<div id=inputs class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\"><div class=\"cursor-default rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all>"), he = /*#__PURE__*/ u("<div class=min-w-48><div><svg class=\"cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out\"fill=currentColor stroke-width=2 viewBox=\"4 4 16 16\"style=overflow:visible;pointer-events:all><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!$><!/><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\"viewBox=\"0 0 24 24\"stroke=currentColor stroke-width=2 style=pointer-events:all><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><!$><!/><!$><!/><!$><!/><div id=outputs class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all>"), ge = /*#__PURE__*/ u("<span class=\"min-w-max border-b border-[#f0f0f0] p-3 whitespace-nowrap text-red-600 select-none\">"), $ = /*#__PURE__*/ u("<div class=\"p-3 select-none\">"), _e = (n) => {
599
+ let u = q(), p = f(u, { selector: (e) => e.context.newEdge }), h = A(n.id), g = f(u, {
600
600
  selector: ({ context: e }) => {
601
601
  let t = w.typed(e.data?.nodes).find((e) => e.id === n.id);
602
602
  return {
@@ -607,29 +607,29 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
607
607
  input: t.input
608
608
  };
609
609
  },
610
- equals: Q
611
- }), h = f(u, { selector: (e) => e.context.newEdge }), g = f(u, { selector: (e) => e.context.selected === n.id }), _ = f(u, { selector: ({ context: { data: e } }) => {
610
+ equals: X
611
+ }), _ = f(u, { selector: ({ context: e }) => e.selected === n.id }), v = f(u, { selector: ({ context: { data: e } }) => {
612
612
  let t = e?.edges;
613
613
  return t ? t.some(({ to: e }) => e === n.id) : !1;
614
- } }), v = A(n.id);
614
+ } });
615
615
  return (() => {
616
- var f = i(me), y = f.firstChild, b = y.firstChild, x = b.nextSibling, [S, C] = a(x.nextSibling), w = S.nextSibling, T = y.nextSibling, [E, D] = a(T.nextSibling), O = E.nextSibling, [k, A] = a(O.nextSibling), j = k.nextSibling, [M, N] = a(j.nextSibling), P = M.nextSibling, F = P.firstChild;
616
+ var f = i(he), y = f.firstChild, b = y.firstChild, x = b.nextSibling, [S, C] = a(x.nextSibling), w = S.nextSibling, T = y.nextSibling, [E, D] = a(T.nextSibling), O = E.nextSibling, [k, A] = a(O.nextSibling), j = k.nextSibling, [M, N] = a(j.nextSibling), P = M.nextSibling, F = P.firstChild;
617
617
  return f.$$mousedown = (e) => {
618
618
  e.stopPropagation(), u.send({
619
619
  type: "SELECT",
620
620
  payload: n.id
621
621
  });
622
- }, d(v, f, () => ({ skipTransform: !0 })), b.$$click = (e) => {
622
+ }, d(h, f, () => ({ skipTransform: !0 })), b.$$click = (e) => {
623
623
  e.stopPropagation(), u.send({
624
624
  type: "DELETE",
625
625
  payload: n.id
626
626
  });
627
627
  }, l(b, "width", "24px"), l(b, "height", "24px"), o(y, t(m, {
628
628
  get when() {
629
- return _();
629
+ return v();
630
630
  },
631
631
  get children() {
632
- var e = i(fe);
632
+ var e = i(pe);
633
633
  return e.$$click = () => u.send({
634
634
  type: "ADD_SIBLING",
635
635
  payload: n.id
@@ -640,31 +640,31 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
640
640
  payload: n.id
641
641
  }), l(w, "width", "24px"), l(w, "height", "24px"), o(f, t(m, {
642
642
  get when() {
643
- return p().label;
643
+ return g().label;
644
644
  },
645
645
  keyed: !0,
646
646
  children: (e) => (() => {
647
- var t = i(he);
647
+ var t = i(ge);
648
648
  return o(t, e), t;
649
649
  })()
650
650
  }), E, D), o(f, t(m, {
651
651
  get when() {
652
- return p().content;
652
+ return g().content;
653
653
  },
654
654
  keyed: !0,
655
655
  children: (e) => (() => {
656
- var t = i(ge);
656
+ var t = i($);
657
657
  return o(t, e), t;
658
658
  })()
659
659
  }), k, A), o(f, t(m, {
660
660
  get when() {
661
- return p().input || _();
661
+ return g().input || v();
662
662
  },
663
663
  get children() {
664
- var e = i(pe), t = e.firstChild;
664
+ var e = i(me), t = e.firstChild;
665
665
  return l(e, "left", "-18px"), t.$$mouseup = (e) => {
666
666
  e.stopPropagation();
667
- let t = h()?.from;
667
+ let t = p()?.from;
668
668
  t ? u.send({
669
669
  type: "ADD_EDGE",
670
670
  payload: {
@@ -684,12 +684,12 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
684
684
  }, l(F, "width", "12px"), l(F, "height", "12px"), l(F, "margin-top", "12px"), r((t) => {
685
685
  var r = {
686
686
  "flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable": !0,
687
- "border border-[#e38c29] z-[100]": g(),
688
- "border border-[#e6d4be] z-[1]": !g()
689
- }, i = `${p().y}px`, a = `${p().x}px`, o = n.id, s = {
687
+ "border border-[#e38c29] z-[100]": _(),
688
+ "border border-[#e6d4be] z-[1]": !_()
689
+ }, i = `${g().y}px`, a = `${g().x}px`, o = n.id, s = {
690
690
  "pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2": !0,
691
- "w-full opacity-100": g(),
692
- "w-0 -right-3 opacity-0 overflow-hidden": !g()
691
+ "w-full opacity-100": _(),
692
+ "w-0 -right-3 opacity-0 overflow-hidden": !_()
693
693
  };
694
694
  return t.e = e(f, r, t.e), i !== t.t && l(f, "top", t.t = i), a !== t.a && l(f, "left", t.a = a), o !== t.o && c(f, "id", t.o = o), t.i = e(y, s, t.i), t;
695
695
  }, {
@@ -712,13 +712,13 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
712
712
  let e, [n, c] = _(!1), [u, h] = _({
713
713
  x: 0,
714
714
  y: 0
715
- }), [y, x] = _(""), [S, C] = _(), T = 0, E = 0, A = Y(), j = f(A, {
715
+ }), [y, x] = _(), S = 0, C = 0, T = q(), E = f(T, {
716
716
  selector: (e) => e.context.newEdge,
717
- equals: Q
718
- }), M = f(A, { selector: (e) => e.context.zoom ?? 1 }), N = () => {
719
- let e = S();
717
+ equals: X
718
+ }), A = f(T, { selector: (e) => e.context.zoom ?? 1 }), j = () => {
719
+ let e = y();
720
720
  if (!e) return;
721
- let t = e.getBoundingClientRect(), n = () => S()?.parentElement, r = {
721
+ let t = e.getBoundingClientRect(), n = () => y()?.parentElement, r = {
722
722
  self: {
723
723
  left: t.left,
724
724
  top: t.top,
@@ -732,54 +732,51 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
732
732
  width: n().clientWidth
733
733
  } : void 0
734
734
  };
735
- A.send({
735
+ T.send({
736
736
  type: "SET_BOARD",
737
737
  payload: r
738
738
  });
739
- }, P = () => {
739
+ }, M = () => {
740
740
  let t = e.scrollWidth - e.clientWidth, n = e.scrollHeight - e.clientHeight;
741
- T = t > 0 ? e.scrollLeft / t : 0, E = n > 0 ? e.scrollTop / n : 0, N();
741
+ S = t > 0 ? e.scrollLeft / t : 0, C = n > 0 ? e.scrollTop / n : 0, j();
742
742
  };
743
- g(v(M, () => {
743
+ g(v(A, () => {
744
744
  let t = e.scrollWidth - e.clientWidth, n = e.scrollHeight - e.clientHeight;
745
- t > 0 && (e.scrollLeft = T * t), n > 0 && (e.scrollTop = E * n);
746
- }, { defer: !0 })), b(N);
747
- let F = f(A, { selector: (e) => e.context?.selected }), I = (e) => F() === e, L = f(A, {
745
+ t > 0 && (e.scrollLeft = S * t), n > 0 && (e.scrollTop = C * n);
746
+ }, { defer: !0 })), b(j);
747
+ let N = f(T, { selector: (e) => e.context?.selected }), P = f(T, {
748
748
  selector: ({ context: e }) => w.typed(e.data?.nodes).map((e) => e.id),
749
749
  equals: (e, t) => e.length === t.length
750
- }), R = () => `calc((500vw - 265px) * ${M()})`, z = () => `calc((500vh - 425px) * ${M()})`;
750
+ }), F = () => `calc((500vw - 265px) * ${A()})`, I = () => `calc((500vh - 425px) * ${A()})`;
751
751
  return (() => {
752
752
  var f = i(be);
753
753
  return f.addEventListener("wheel", (e) => {
754
754
  if (e.ctrlKey || e.metaKey) {
755
- e.preventDefault(), P();
755
+ e.preventDefault(), M();
756
756
  let t = e.deltaY < 0 ? .1 : -.1;
757
- A.send({
757
+ T.send({
758
758
  type: "ZOOM",
759
759
  payload: t
760
760
  });
761
761
  }
762
762
  }), o(f, t(D, {
763
763
  onDragMove: ({ draggable: { transform: e, node: t, id: n } }) => {
764
- if (x(n), I(n)) {
765
- let r = t.parentElement?.parentElement, i = M(), a = r ? Math.max(0, r.clientWidth / i - t.offsetWidth) : Infinity, o = r ? Math.max(0, r.clientHeight / i - t.offsetHeight) : Infinity, s = t.offsetLeft + e.x / i, c = t.offsetTop + e.y / i, l = Math.min(Math.max(s, 0), a), u = Math.min(Math.max(c, 0), o), d = l - t.offsetLeft, f = u - t.offsetTop;
766
- t.style.setProperty("transform", `translate3d(${d}px, ${f}px, 0)`), A.send({
767
- type: "MOVE_IMMEDIATE",
768
- payload: {
769
- id: `${n}`,
770
- x: l,
771
- y: u
772
- }
773
- }), h({
774
- x: d * i,
775
- y: f * i
776
- });
777
- }
764
+ let r = t.parentElement?.parentElement, i = A(), a = r ? Math.max(0, r.clientWidth / i - t.offsetWidth) : Infinity, o = r ? Math.max(0, r.clientHeight / i - t.offsetHeight) : Infinity, s = t.offsetLeft + e.x / i, c = t.offsetTop + e.y / i, l = Math.min(Math.max(s, 0), a), u = Math.min(Math.max(c, 0), o), d = l - t.offsetLeft, f = u - t.offsetTop;
765
+ t.style.setProperty("transform", `translate3d(${d}px, ${f}px, 0)`), T.send({
766
+ type: "MOVE_IMMEDIATE",
767
+ payload: {
768
+ id: `${n}`,
769
+ x: l,
770
+ y: u
771
+ }
772
+ }), h({
773
+ x: d * i,
774
+ y: f * i
775
+ });
778
776
  },
779
777
  onDragEnd: ({ draggable: { node: e, id: t } }) => {
780
- if (!I(t)) return;
781
- let n = e.parentElement?.parentElement, r = M(), i = n ? Math.max(0, n.clientWidth / r - e.offsetWidth) : Infinity, a = n ? Math.max(0, n.clientHeight / r - e.offsetHeight) : Infinity, o = e.offsetLeft + u().x / r, s = e.offsetTop + u().y / r, c = Math.min(Math.max(o, 0), i), l = Math.min(Math.max(s, 0), a);
782
- e.style.setProperty("top", l + "px"), e.style.setProperty("left", c + "px"), e.style.removeProperty("transform"), A.send({
778
+ let n = e.parentElement?.parentElement, r = A(), i = n ? Math.max(0, n.clientWidth / r - e.offsetWidth) : Infinity, a = n ? Math.max(0, n.clientHeight / r - e.offsetHeight) : Infinity, o = e.offsetLeft + u().x / r, s = e.offsetTop + u().y / r, c = Math.min(Math.max(o, 0), i), l = Math.min(Math.max(s, 0), a);
779
+ e.style.setProperty("top", l + "px"), e.style.setProperty("left", c + "px"), e.style.removeProperty("transform"), T.send({
783
780
  type: "MOVE",
784
781
  payload: {
785
782
  id: `${t}`,
@@ -796,26 +793,24 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
796
793
  get children() {
797
794
  return [
798
795
  (() => {
799
- var u = i(ve), f = u.firstChild, [m, h] = a(f.nextSibling), g = m.nextSibling, _ = g.firstChild, v = _.firstChild, [y, b] = a(v.nextSibling), x = y.nextSibling, [S, w] = a(x.nextSibling), T = S.nextSibling, [E, D] = a(T.nextSibling);
800
- return u.addEventListener("scroll", P), d((t) => e = t, u), o(u, t(O, {}), m, h), g.$$mousedown = (t) => {
801
- if (j() || t.button !== 0) return;
802
- A.send("DESELECT");
803
- let n = t.clientX, r = t.clientY, i = e.scrollLeft, a = e.scrollTop;
804
- c(!0);
805
- let o = (t) => {
796
+ var u = i(ve), f = u.firstChild, [m, h] = a(f.nextSibling), g = m.nextSibling, _ = g.firstChild, v = _.firstChild, [y, b] = a(v.nextSibling), S = y.nextSibling, [C, w] = a(S.nextSibling), D = C.nextSibling, [k, j] = a(D.nextSibling);
797
+ return u.addEventListener("scroll", M), d((t) => e = t, u), o(u, t(O, {}), m, h), g.$$mousedown = (t) => {
798
+ if (E() || t.button !== 0) return;
799
+ T.send("DESELECT"), c(!0);
800
+ let n = t.clientX, r = t.clientY, i = e.scrollLeft, a = e.scrollTop, o = (t) => {
806
801
  let o = t.clientX - n, s = t.clientY - r;
807
- e.scrollLeft = i - o * 3, e.scrollTop = a - s * 3, P();
802
+ e.scrollLeft = i - o * 3, e.scrollTop = a - s * 3, M();
808
803
  }, s = () => {
809
804
  window.removeEventListener("mousemove", o), window.removeEventListener("mouseup", s), setTimeout(() => c(!1), 200);
810
805
  };
811
806
  window.addEventListener("mousemove", o), window.addEventListener("mouseup", s);
812
- }, g.addEventListener("scroll", () => {}), d(C, g), o(_, t(ae, {}), y, b), o(_, t(de, {}), S, w), o(_, t(p, {
807
+ }, d(x, g), o(_, t(se, {}), y, b), o(_, t(fe, {}), C, w), o(_, t(p, {
813
808
  get each() {
814
- return L();
809
+ return P();
815
810
  },
816
811
  children: (e) => t(_e, { id: e })
817
- }), E, D), r((e) => {
818
- var t = !!n(), r = z(), i = R(), a = M();
812
+ }), k, j), r((e) => {
813
+ var t = !!n(), r = I(), i = F(), a = A();
819
814
  return t !== e.e && g.classList.toggle("cursor-grabbing", e.e = t), r !== e.t && l(g, "height", e.t = r), i !== e.a && l(g, "width", e.a = i), a !== e.o && l(_, "scale", e.o = a), e;
820
815
  }, {
821
816
  e: void 0,
@@ -829,22 +824,22 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
829
824
  c.nextSibling;
830
825
  var u = n.nextSibling, d = u.nextSibling.nextSibling;
831
826
  return t.$$click = () => {
832
- P(), A.send({
827
+ M(), T.send({
833
828
  type: "ZOOM",
834
829
  payload: -.1
835
830
  });
836
831
  }, n.$$click = () => {
837
- P(), A.send("TOGGLE_ZOOM");
838
- }, o(n, () => Math.round(M() * 100), c, l), u.$$click = () => {
839
- P(), A.send({
832
+ M(), T.send("TOGGLE_ZOOM");
833
+ }, o(n, () => Math.round(A() * 100), c, l), u.$$click = () => {
834
+ M(), T.send({
840
835
  type: "ZOOM",
841
836
  payload: .1
842
837
  });
843
- }, d.$$click = () => A.send("ADD_PARENT"), s(), e;
838
+ }, d.$$click = () => T.send("ADD_PARENT"), s(), e;
844
839
  })(),
845
840
  t(m, {
846
841
  get when() {
847
- return !y() || !I(y());
842
+ return !N();
848
843
  },
849
844
  get children() {
850
845
  return t(k, { children: "" });
@@ -859,8 +854,8 @@ n(["mousedown", "click"]);
859
854
  //#endregion
860
855
  //#region src/ui/components/FlowChart.tsx
861
856
  var Se = /*#__PURE__*/ u("<div class=\"relative h-full w-full\"><div class=\"relative h-full w-full bg-white bg-size-[30px_30px]\"style=\"background-image:radial-gradient(circle, #b8b8b8bf 1px, rgba(0, 0, 0, 0) 1px)\">"), Ce = (e) => {
862
- let n = e.config?.nodes ?? L, a = e.config?.edges, c = Y(), u = f(c, { selector: (e) => !!e.context.newEdge });
863
- return b(() => {
857
+ let n = e.config?.nodes ?? ee, a = e.config?.edges, c = q(), u = f(c, { selector: (e) => !!e.context.newEdge });
858
+ return y(c.pause), b(() => {
864
859
  c.resume(), c.send({
865
860
  type: "CONFIGURE",
866
861
  payload: {
@@ -868,14 +863,14 @@ var Se = /*#__PURE__*/ u("<div class=\"relative h-full w-full\"><div class=\"rel
868
863
  edges: a ?? []
869
864
  }
870
865
  });
871
- }), y(c.pause), (() => {
866
+ }), (() => {
872
867
  var e = i(Se), n = e.firstChild;
873
- return e.$$mousemove = (e) => {
874
- c.send({
868
+ return e.$$mousemove = ({ clientX: e, clientY: t }) => {
869
+ u() && c.send({
875
870
  type: "MOVE_NEW_EDGE",
876
871
  payload: {
877
- x: e.clientX,
878
- y: e.clientY
872
+ x: e,
873
+ y: t
879
874
  }
880
875
  });
881
876
  }, e.$$mouseup = () => c.send("CLEAR_NEW_EDGE"), o(n, t(xe, {})), r((e) => l(n, "cursor", u() ? "inherit" : "crosshair")), s(), e;
@@ -884,7 +879,7 @@ var Se = /*#__PURE__*/ u("<div class=\"relative h-full w-full\"><div class=\"rel
884
879
  n(["mouseup", "mousemove"]);
885
880
  //#endregion
886
881
  //#region src/ui/Flow.tsx
887
- var we = (e) => t(ie, { get children() {
882
+ var we = (e) => t(K, { get children() {
888
883
  return t(Ce, e);
889
884
  } });
890
885
  //#endregion