@bemedev/mind-flow 0.3.0 → 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,84 +525,65 @@ 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, {
530
- selector: ({ context: e }) => {
531
- if (n.isNew) {
532
- let t = e.newEdge;
533
- return t ? {
534
- x0: t.x0,
535
- y0: t.y0,
536
- x1: t.x1,
537
- y1: t.y1
538
- } : void 0;
539
- }
540
- return e.edgesPositions[n.id];
541
- },
542
- equals: Q
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
+ selector: ({ context: { newEdge: e, edgesPositions: t } }) => n.isNew ? e : t[n.id],
531
+ equals: X
543
532
  }), u = f(a, { selector: (e) => e.context.selected === n.id }), d = () => {
544
533
  let e = o();
545
- return e ? {
534
+ return {
546
535
  x: e.x0 + (e.x1 - e.x0) / 2,
547
536
  y: e.y0 + (e.y1 - e.y0) / 2
548
- } : {
549
- x: 0,
550
- y: 0
551
537
  };
552
538
  };
553
- return t(m, {
539
+ return [(() => {
540
+ var t = i(ce);
541
+ return t.$$mousedown = (e) => (e.stopPropagation(), a.send({
542
+ type: "SELECT",
543
+ payload: n.id
544
+ })), r((r) => {
545
+ var i = {
546
+ "stroke-[rgba(168,168,168,0.4)] stroke-3 z-200": !!n.isNew,
547
+ "stroke-[rgba(168,168,168,1)] stroke-4 z-100": u() && !n.isNew,
548
+ "stroke-[rgba(168,168,168,0.8)] stroke-3": !u() && !n.isNew
549
+ }, a = n.isNew ? "none" : "all", s = ue(o());
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
+ }, {
552
+ e: void 0,
553
+ t: void 0,
554
+ a: void 0
555
+ }), s(), t;
556
+ })(), t(m, {
554
557
  get when() {
555
- return o();
558
+ return u();
556
559
  },
557
- children: (o) => [(() => {
558
- var t = i(oe);
559
- return t.$$mousedown = (e) => (e.stopPropagation(), a.send({
560
- type: "SELECT",
561
- payload: n.id
562
- })), r((r) => {
563
- var i = {
564
- "stroke-[rgba(168,168,168,0.4)] stroke-3 z-200": !!n.isNew,
565
- "stroke-[rgba(168,168,168,1)] stroke-4 z-100": u() && !n.isNew,
566
- "stroke-[rgba(168,168,168,0.8)] stroke-3": !u() && !n.isNew
567
- }, a = n.isNew ? "none" : "all", s = ce(o());
568
- 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;
569
- }, {
570
- e: void 0,
571
- t: void 0,
572
- a: void 0
573
- }), s(), t;
574
- })(), t(m, {
575
- get when() {
576
- return u();
577
- },
578
- get children() {
579
- var e = i(se);
580
- return e.$$mousedown = (e) => {
581
- e.stopPropagation(), a.send({
582
- type: "DELETE",
583
- payload: n.id
584
- });
585
- }, r(() => c(e, "transform", `translate(${d().x}, ${d().y})`)), s(), e;
586
- }
587
- })]
588
- });
560
+ get children() {
561
+ var e = i(le);
562
+ return e.$$mousedown = (e) => {
563
+ e.stopPropagation(), a.send({
564
+ type: "DELETE",
565
+ payload: n.id
566
+ });
567
+ }, r(() => c(e, "transform", `translate(${d().x}, ${d().y})`)), s(), e;
568
+ }
569
+ })];
589
570
  };
590
571
  n(["mousedown"]);
591
572
  //#endregion
592
573
  //#region src/ui/components/EdgesBoard.tsx
593
- var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflow-visible\"><!$><!/><!$><!/>"), de = () => {
594
- 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, {
595
576
  selector: ({ context: e }) => Object.keys(e.edgesPositions),
596
577
  equals: (e, t) => e.length === t.length
597
578
  });
598
579
  return (() => {
599
- 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);
600
581
  return o(e, t(m, {
601
582
  get when() {
602
583
  return n();
603
584
  },
604
585
  get children() {
605
- return t(le, {
586
+ return t(Q, {
606
587
  id: "__#new-edge#__TEMP",
607
588
  isNew: !0
608
589
  });
@@ -611,14 +592,14 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
611
592
  get each() {
612
593
  return r();
613
594
  },
614
- children: (e) => t(le, { id: e })
595
+ children: (e) => t(Q, { id: e })
615
596
  }), d, f), e;
616
597
  })();
617
- }, 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) => {
618
- 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, {
619
600
  selector: ({ context: e }) => {
620
601
  let t = w.typed(e.data?.nodes).find((e) => e.id === n.id);
621
- if (t) return {
602
+ return {
622
603
  x: t.position.x,
623
604
  y: t.position.y,
624
605
  label: t.data.label,
@@ -626,29 +607,29 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
626
607
  input: t.input
627
608
  };
628
609
  },
629
- equals: Q
630
- }), 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 } }) => {
631
612
  let t = e?.edges;
632
613
  return t ? t.some(({ to: e }) => e === n.id) : !1;
633
- } }), v = A(n.id);
614
+ } });
634
615
  return (() => {
635
- 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;
636
617
  return f.$$mousedown = (e) => {
637
618
  e.stopPropagation(), u.send({
638
619
  type: "SELECT",
639
620
  payload: n.id
640
621
  });
641
- }, d(v, f, () => ({ skipTransform: !0 })), b.$$click = (e) => {
622
+ }, d(h, f, () => ({ skipTransform: !0 })), b.$$click = (e) => {
642
623
  e.stopPropagation(), u.send({
643
624
  type: "DELETE",
644
625
  payload: n.id
645
626
  });
646
627
  }, l(b, "width", "24px"), l(b, "height", "24px"), o(y, t(m, {
647
628
  get when() {
648
- return _();
629
+ return v();
649
630
  },
650
631
  get children() {
651
- var e = i(fe);
632
+ var e = i(pe);
652
633
  return e.$$click = () => u.send({
653
634
  type: "ADD_SIBLING",
654
635
  payload: n.id
@@ -659,31 +640,31 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
659
640
  payload: n.id
660
641
  }), l(w, "width", "24px"), l(w, "height", "24px"), o(f, t(m, {
661
642
  get when() {
662
- return p()?.label;
643
+ return g().label;
663
644
  },
664
645
  keyed: !0,
665
646
  children: (e) => (() => {
666
- var t = i(he);
647
+ var t = i(ge);
667
648
  return o(t, e), t;
668
649
  })()
669
650
  }), E, D), o(f, t(m, {
670
651
  get when() {
671
- return p()?.content;
652
+ return g().content;
672
653
  },
673
654
  keyed: !0,
674
655
  children: (e) => (() => {
675
- var t = i(ge);
656
+ var t = i($);
676
657
  return o(t, e), t;
677
658
  })()
678
659
  }), k, A), o(f, t(m, {
679
660
  get when() {
680
- return p()?.input || _();
661
+ return g().input || v();
681
662
  },
682
663
  get children() {
683
- var e = i(pe), t = e.firstChild;
664
+ var e = i(me), t = e.firstChild;
684
665
  return l(e, "left", "-18px"), t.$$mouseup = (e) => {
685
666
  e.stopPropagation();
686
- let t = h()?.from;
667
+ let t = p()?.from;
687
668
  t ? u.send({
688
669
  type: "ADD_EDGE",
689
670
  payload: {
@@ -703,12 +684,12 @@ var ue = /*#__PURE__*/ u("<svg class=\"pointer-events-none h-full w-full overflo
703
684
  }, l(F, "width", "12px"), l(F, "height", "12px"), l(F, "margin-top", "12px"), r((t) => {
704
685
  var r = {
705
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,
706
- "border border-[#e38c29] z-[100]": g(),
707
- "border border-[#e6d4be] z-[1]": !g()
708
- }, i = `${p()?.y ?? 0}px`, a = `${p()?.x ?? 0}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 = {
709
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,
710
- "w-full opacity-100": g(),
711
- "w-0 -right-3 opacity-0 overflow-hidden": !g()
691
+ "w-full opacity-100": _(),
692
+ "w-0 -right-3 opacity-0 overflow-hidden": !_()
712
693
  };
713
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;
714
695
  }, {
@@ -731,13 +712,13 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
731
712
  let e, [n, c] = _(!1), [u, h] = _({
732
713
  x: 0,
733
714
  y: 0
734
- }), [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, {
735
716
  selector: (e) => e.context.newEdge,
736
- equals: Q
737
- }), M = f(A, { selector: (e) => e.context.zoom ?? 1 }), N = () => {
738
- let e = S();
717
+ equals: X
718
+ }), A = f(T, { selector: (e) => e.context.zoom ?? 1 }), j = () => {
719
+ let e = y();
739
720
  if (!e) return;
740
- let t = e.getBoundingClientRect(), n = () => S()?.parentElement, r = {
721
+ let t = e.getBoundingClientRect(), n = () => y()?.parentElement, r = {
741
722
  self: {
742
723
  left: t.left,
743
724
  top: t.top,
@@ -751,54 +732,51 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
751
732
  width: n().clientWidth
752
733
  } : void 0
753
734
  };
754
- A.send({
735
+ T.send({
755
736
  type: "SET_BOARD",
756
737
  payload: r
757
738
  });
758
- }, P = () => {
739
+ }, M = () => {
759
740
  let t = e.scrollWidth - e.clientWidth, n = e.scrollHeight - e.clientHeight;
760
- 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();
761
742
  };
762
- g(v(M, () => {
743
+ g(v(A, () => {
763
744
  let t = e.scrollWidth - e.clientWidth, n = e.scrollHeight - e.clientHeight;
764
- t > 0 && (e.scrollLeft = T * t), n > 0 && (e.scrollTop = E * n);
765
- }, { defer: !0 })), b(N);
766
- 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, {
767
748
  selector: ({ context: e }) => w.typed(e.data?.nodes).map((e) => e.id),
768
749
  equals: (e, t) => e.length === t.length
769
- }), R = () => `calc((500vw - 265px) * ${M()})`, z = () => `calc((500vh - 425px) * ${M()})`;
750
+ }), F = () => `calc((500vw - 265px) * ${A()})`, I = () => `calc((500vh - 425px) * ${A()})`;
770
751
  return (() => {
771
752
  var f = i(be);
772
753
  return f.addEventListener("wheel", (e) => {
773
754
  if (e.ctrlKey || e.metaKey) {
774
- e.preventDefault(), P();
755
+ e.preventDefault(), M();
775
756
  let t = e.deltaY < 0 ? .1 : -.1;
776
- A.send({
757
+ T.send({
777
758
  type: "ZOOM",
778
759
  payload: t
779
760
  });
780
761
  }
781
762
  }), o(f, t(D, {
782
763
  onDragMove: ({ draggable: { transform: e, node: t, id: n } }) => {
783
- if (x(n), I(n)) {
784
- 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;
785
- t.style.setProperty("transform", `translate3d(${d}px, ${f}px, 0)`), A.send({
786
- type: "MOVE_IMMEDIATE",
787
- payload: {
788
- id: `${n}`,
789
- x: l,
790
- y: u
791
- }
792
- }), h({
793
- x: d * i,
794
- y: f * i
795
- });
796
- }
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
+ });
797
776
  },
798
777
  onDragEnd: ({ draggable: { node: e, id: t } }) => {
799
- if (!I(t)) return;
800
- 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);
801
- 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({
802
780
  type: "MOVE",
803
781
  payload: {
804
782
  id: `${t}`,
@@ -815,26 +793,24 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
815
793
  get children() {
816
794
  return [
817
795
  (() => {
818
- 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);
819
- return u.addEventListener("scroll", P), d((t) => e = t, u), o(u, t(O, {}), m, h), g.$$mousedown = (t) => {
820
- if (j() || t.button !== 0) return;
821
- A.send("DESELECT");
822
- let n = t.clientX, r = t.clientY, i = e.scrollLeft, a = e.scrollTop;
823
- c(!0);
824
- 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) => {
825
801
  let o = t.clientX - n, s = t.clientY - r;
826
- e.scrollLeft = i - o * 3, e.scrollTop = a - s * 3, P();
802
+ e.scrollLeft = i - o * 3, e.scrollTop = a - s * 3, M();
827
803
  }, s = () => {
828
804
  window.removeEventListener("mousemove", o), window.removeEventListener("mouseup", s), setTimeout(() => c(!1), 200);
829
805
  };
830
806
  window.addEventListener("mousemove", o), window.addEventListener("mouseup", s);
831
- }, 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, {
832
808
  get each() {
833
- return L();
809
+ return P();
834
810
  },
835
811
  children: (e) => t(_e, { id: e })
836
- }), E, D), r((e) => {
837
- var t = !!n(), r = z(), i = R(), a = M();
812
+ }), k, j), r((e) => {
813
+ var t = !!n(), r = I(), i = F(), a = A();
838
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;
839
815
  }, {
840
816
  e: void 0,
@@ -848,22 +824,22 @@ var ve = /*#__PURE__*/ u("<div class=\"relative h-full w-full overflow-auto roun
848
824
  c.nextSibling;
849
825
  var u = n.nextSibling, d = u.nextSibling.nextSibling;
850
826
  return t.$$click = () => {
851
- P(), A.send({
827
+ M(), T.send({
852
828
  type: "ZOOM",
853
829
  payload: -.1
854
830
  });
855
831
  }, n.$$click = () => {
856
- P(), A.send("TOGGLE_ZOOM");
857
- }, o(n, () => Math.round(M() * 100), c, l), u.$$click = () => {
858
- P(), A.send({
832
+ M(), T.send("TOGGLE_ZOOM");
833
+ }, o(n, () => Math.round(A() * 100), c, l), u.$$click = () => {
834
+ M(), T.send({
859
835
  type: "ZOOM",
860
836
  payload: .1
861
837
  });
862
- }, d.$$click = () => A.send("ADD_PARENT"), s(), e;
838
+ }, d.$$click = () => T.send("ADD_PARENT"), s(), e;
863
839
  })(),
864
840
  t(m, {
865
841
  get when() {
866
- return !y() || !I(y());
842
+ return !N();
867
843
  },
868
844
  get children() {
869
845
  return t(k, { children: "" });
@@ -878,8 +854,8 @@ n(["mousedown", "click"]);
878
854
  //#endregion
879
855
  //#region src/ui/components/FlowChart.tsx
880
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) => {
881
- let n = e.config?.nodes ?? L, a = e.config?.edges, c = Y(), u = f(c, { selector: (e) => !!e.context.newEdge });
882
- 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(() => {
883
859
  c.resume(), c.send({
884
860
  type: "CONFIGURE",
885
861
  payload: {
@@ -887,14 +863,14 @@ var Se = /*#__PURE__*/ u("<div class=\"relative h-full w-full\"><div class=\"rel
887
863
  edges: a ?? []
888
864
  }
889
865
  });
890
- }), y(c.pause), (() => {
866
+ }), (() => {
891
867
  var e = i(Se), n = e.firstChild;
892
- return e.$$mousemove = (e) => {
893
- c.send({
868
+ return e.$$mousemove = ({ clientX: e, clientY: t }) => {
869
+ u() && c.send({
894
870
  type: "MOVE_NEW_EDGE",
895
871
  payload: {
896
- x: e.clientX,
897
- y: e.clientY
872
+ x: e,
873
+ y: t
898
874
  }
899
875
  });
900
876
  }, e.$$mouseup = () => c.send("CLEAR_NEW_EDGE"), o(n, t(xe, {})), r((e) => l(n, "cursor", u() ? "inherit" : "crosshair")), s(), e;
@@ -903,7 +879,7 @@ var Se = /*#__PURE__*/ u("<div class=\"relative h-full w-full\"><div class=\"rel
903
879
  n(["mouseup", "mousemove"]);
904
880
  //#endregion
905
881
  //#region src/ui/Flow.tsx
906
- var we = (e) => t(ie, { get children() {
882
+ var we = (e) => t(K, { get children() {
907
883
  return t(Ce, e);
908
884
  } });
909
885
  //#endregion