@babsey/code-graph 0.5.0 → 0.5.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.
@@ -1,15 +1,15 @@
1
1
  import ce from "mustache";
2
- import { reactive as te, defineComponent as F, createElementBlock as b, openBlock as p, toDisplayString as P, markRaw as Y, computed as G, createElementVNode as m, withDirectives as ke, vModelText as xe, createStaticVNode as fe, toRef as $e, ref as H, createVNode as L, unref as O, mergeModels as Be, useModel as Nt, resolveComponent as qe, createCommentVNode as j, onMounted as Se, onBeforeUnmount as Je, watch as Qe, createBlock as B, withCtx as ee, normalizeProps as Et, guardReactiveProps as Tt, renderSlot as q, mergeProps as Ot, onUpdated as Ze, normalizeStyle as Ge, normalizeClass as oe, withModifiers as de, Fragment as U, createTextVNode as et, withKeys as Oe, renderList as ae, nextTick as Mt, resolveDynamicComponent as He, inject as $t, Transition as St, shallowReadonly as Gt } from "vue";
2
+ import { reactive as te, defineComponent as F, createElementBlock as b, openBlock as p, toDisplayString as P, markRaw as W, computed as G, createElementVNode as m, withDirectives as ke, vModelText as xe, createStaticVNode as fe, toRef as $e, ref as H, createVNode as L, unref as O, mergeModels as He, useModel as Et, resolveComponent as Je, createCommentVNode as j, onMounted as Se, onBeforeUnmount as Qe, watch as Ze, createBlock as V, withCtx as ee, normalizeProps as Tt, guardReactiveProps as Ot, renderSlot as q, mergeProps as Mt, onUpdated as et, normalizeStyle as Ge, normalizeClass as oe, withModifiers as de, Fragment as U, createTextVNode as tt, withKeys as Oe, renderList as ae, nextTick as $t, resolveDynamicComponent as ze, inject as St, Transition as Gt, shallowReadonly as Lt } from "vue";
3
3
  import { v4 as re } from "uuid";
4
- import { AbstractNode as Lt, NodeInterface as J, Graph as At, getGraphNodeTypeString as tt, GraphTemplate as Rt, GRAPH_NODE_TYPE_PREFIX as jt, GRAPH_INPUT_NODE_TYPE as Pt, GRAPH_OUTPUT_NODE_TYPE as Vt, Editor as Bt } from "@baklavajs/core";
5
- import { NodeInterfaceType as ie, BaklavaInterfaceTypes as Ht, setType as V } from "@baklavajs/interface-types";
6
- import { allowMultipleConnections as ue, BaseEngine as zt, sortTopologically as Ut, applyResult as nt } from "@baklavajs/engine";
7
- import { displayInSidebar as ot, CheckboxInterfaceComponent as Dt, useGraph as Le, IntegerInterfaceComponent as Ft, TextInputInterfaceComponent as st, NumberInterfaceComponent as Yt, SelectInterfaceComponent as Wt, SliderInterfaceComponent as Xt, TextareaInputInterfaceComponent as Kt, Commands as ne, DEFAULT_TOOLBAR_COMMANDS as qt, BaklavaEditor as Jt, Components as Me, useViewModel as me, useTemporaryConnection as Qt, useTransform as Zt, useNodeCategories as en, TextInputInterface as at, DEFAULT_SETTINGS as tn, useCommandHandler as nn, useHistory as on, useClipboard as sn, registerDeleteNodesCommand as an, registerSaveSubgraphCommand as rn, registerSwitchToMainGraphCommand as ln, registerSidebarCommands as dn, registerZoomToFitCommands as un, setViewNodeProperties as cn } from "@baklavajs/renderer-vue";
8
- import pn from "toposort";
9
- import { SequentialHook as ze } from "@baklavajs/events";
10
- import { usePointer as hn } from "@vueuse/core";
4
+ import { AbstractNode as At, NodeInterface as J, Graph as Rt, getGraphNodeTypeString as nt, GraphTemplate as jt, GRAPH_NODE_TYPE_PREFIX as Pt, GRAPH_INPUT_NODE_TYPE as Bt, GRAPH_OUTPUT_NODE_TYPE as Vt, Editor as Ht } from "@baklavajs/core";
5
+ import { NodeInterfaceType as ie, BaklavaInterfaceTypes as zt, setType as B } from "@baklavajs/interface-types";
6
+ import { allowMultipleConnections as ue, BaseEngine as Ut, sortTopologically as Dt, applyResult as ot } from "@baklavajs/engine";
7
+ import { displayInSidebar as st, CheckboxInterfaceComponent as Ft, useGraph as Le, IntegerInterfaceComponent as Wt, TextInputInterfaceComponent as at, NumberInterfaceComponent as Yt, SelectInterfaceComponent as Xt, SliderInterfaceComponent as Kt, TextareaInputInterfaceComponent as qt, Commands as ne, DEFAULT_TOOLBAR_COMMANDS as Jt, BaklavaEditor as Qt, Components as Me, useViewModel as me, useTemporaryConnection as Zt, useTransform as en, useNodeCategories as tn, TextInputInterface as rt, DEFAULT_SETTINGS as nn, useCommandHandler as on, useHistory as sn, useClipboard as an, registerDeleteNodesCommand as rn, registerSaveSubgraphCommand as ln, registerSwitchToMainGraphCommand as dn, registerSidebarCommands as un, registerZoomToFitCommands as cn, setViewNodeProperties as pn } from "@baklavajs/renderer-vue";
8
+ import hn from "toposort";
9
+ import { SequentialHook as Ue } from "@baklavajs/events";
10
+ import { usePointer as fn } from "@vueuse/core";
11
11
  ce.escape = (n) => n;
12
- class rt extends Lt {
12
+ class it extends At {
13
13
  codeTemplate;
14
14
  isCodeNode = !0;
15
15
  mask = null;
@@ -28,7 +28,7 @@ class rt extends Lt {
28
28
  script: "",
29
29
  variableName: ""
30
30
  }), this.codeTemplate = function() {
31
- return `${this.name}(${fn(this.codeNodeInputs).join(", ")})`;
31
+ return `${this.name}(${mn(this.codeNodeInputs).join(", ")})`;
32
32
  };
33
33
  }
34
34
  get code() {
@@ -54,6 +54,9 @@ class rt extends Lt {
54
54
  get idx() {
55
55
  return this.graph.nodes.filter((e) => !e.state.integrated).indexOf(this) ?? -1;
56
56
  }
57
+ get idxByType() {
58
+ return this.graph.getNodesByType(this.type).indexOf(this) ?? -1;
59
+ }
57
60
  get idxByVariableNames() {
58
61
  return this.graph.getNodesByVariableName(this.state.variableName).filter((e) => !e.state.integrated).indexOf(this) ?? -1;
59
62
  }
@@ -190,7 +193,7 @@ class rt extends Lt {
190
193
  }
191
194
  /**
192
195
  * Update input values
193
- * @param props values for inputs
196
+ * @param inputs input values
194
197
  */
195
198
  updateInputValues(e) {
196
199
  const t = Object.keys(this.inputs);
@@ -199,7 +202,7 @@ class rt extends Lt {
199
202
  });
200
203
  }
201
204
  }
202
- class Ae extends rt {
205
+ class Ae extends it {
203
206
  /**
204
207
  * The default implementation does nothing.
205
208
  * Overwrite this method to do calculation.
@@ -212,21 +215,21 @@ class Ae extends rt {
212
215
  return this.lockCode || (o._code = this.renderCode({ inputs: e, ...t })), this.updateOutputValues(o), o;
213
216
  };
214
217
  load(e) {
215
- super.load(e), it(this.graph, e), this.afterLoaded();
218
+ super.load(e), lt(this.graph, e), this.afterLoaded();
216
219
  }
217
220
  save() {
218
221
  const e = super.save();
219
- return mn(this.graph, e), e;
222
+ return vn(this.graph, e), e;
220
223
  }
221
224
  }
222
- const fn = (n, e = !0) => {
225
+ const mn = (n, e = !0) => {
223
226
  const t = [], o = Object.keys(n);
224
227
  return o.forEach((s) => {
225
228
  if (n[s]?.hidden) return;
226
229
  const i = e && t.length < o.indexOf(s) ? `${s}=` : "";
227
230
  t.push(`${i}{{ inputs.${s} }}`);
228
231
  }), t;
229
- }, it = (n, e) => {
232
+ }, lt = (n, e) => {
230
233
  if (!n) return;
231
234
  const t = n.findNodeById(e.id);
232
235
  if (!t || t.subgraph) return;
@@ -236,7 +239,7 @@ const fn = (n, e = !0) => {
236
239
  }), Object.entries(e.outputs).forEach(([s, a]) => {
237
240
  s !== "_code" && o.outputs[s] && (o.outputs[s].hidden = a.hidden, o.outputs[s].state.optional = a.optional);
238
241
  });
239
- }, mn = (n, e) => {
242
+ }, vn = (n, e) => {
240
243
  if (!n) return;
241
244
  const t = n.findNodeById(e.id);
242
245
  if (!t || t.subgraph) return;
@@ -249,30 +252,30 @@ const fn = (n, e = !0) => {
249
252
  }), Object.entries(e.outputs).forEach(([s, a]) => {
250
253
  s !== "_code" && o.outputs[s] && (a.hidden = o.outputs[s].hidden);
251
254
  });
252
- }, vn = (n, e) => {
255
+ }, gn = (n, e) => {
253
256
  switch (n) {
254
257
  case "CheckBoxInterface":
255
- return new yn(e.id, e.value);
258
+ return new _n(e.id, e.value);
256
259
  case "IntegerInterface":
257
- return new ht(
260
+ return new ft(
258
261
  e.id,
259
262
  e.value,
260
263
  e.min,
261
264
  e.max
262
265
  );
263
266
  case "NumberInterface":
264
- return new Cn(
267
+ return new wn(
265
268
  e.id,
266
269
  e.value,
267
270
  e.min,
268
271
  e.max
269
272
  );
270
273
  case "SelectInterface":
271
- return new wn(e.id, e.value, e.items);
274
+ return new kn(e.id, e.value, e.items);
272
275
  default:
273
- return new ft(e.id, e.value);
276
+ return new mt(e.id, e.value);
274
277
  }
275
- }, gn = ["title"], Re = /* @__PURE__ */ F({
278
+ }, bn = ["title"], Re = /* @__PURE__ */ F({
276
279
  __name: "CodeNodeInterface",
277
280
  props: {
278
281
  intf: {}
@@ -280,7 +283,7 @@ const fn = (n, e = !0) => {
280
283
  setup(n) {
281
284
  return (e, t) => (p(), b("div", {
282
285
  title: n.intf.value
283
- }, P(n.intf.name), 9, gn));
286
+ }, P(n.intf.name), 9, bn));
284
287
  }
285
288
  });
286
289
  class D extends J {
@@ -289,7 +292,7 @@ class D extends J {
289
292
  state;
290
293
  type = null;
291
294
  constructor(e, t) {
292
- super(e, t), this.setComponent(Y(Re)), this.state = te({
295
+ super(e, t), this.setComponent(W(Re)), this.state = te({
293
296
  optional: !1
294
297
  });
295
298
  }
@@ -306,7 +309,7 @@ class D extends J {
306
309
  }
307
310
  class ve extends D {
308
311
  constructor(e = "", t) {
309
- super(e, t), this.setComponent(Y(Re)), this.use(ot, !0);
312
+ super(e, t), this.setComponent(W(Re)), this.use(st, !0);
310
313
  }
311
314
  get value() {
312
315
  return super.value;
@@ -315,20 +318,20 @@ class ve extends D {
315
318
  super.value = e, this.name !== "_code" && this.setHidden(!1);
316
319
  }
317
320
  }
318
- const lt = new ie("boolean"), bn = new ie("dict"), dt = new ie("list"), X = new ie("node"), ut = new ie("number"), ct = new ie("string"), pt = new ie("tuple"), la = (n) => {
319
- new Ht(n.editor, { viewPlugin: n }).addTypes(lt, bn, dt, X, ut, ct, pt);
321
+ const dt = new ie("boolean"), yn = new ie("dict"), ut = new ie("list"), X = new ie("node"), ct = new ie("number"), pt = new ie("string"), ht = new ie("tuple"), da = (n) => {
322
+ new zt(n.editor, { viewPlugin: n }).addTypes(dt, yn, ut, X, ct, pt, ht);
320
323
  };
321
- class yn extends ve {
324
+ class _n extends ve {
322
325
  constructor(e, t) {
323
- super(e, t), this.setComponent(Y(Dt)), this.use(V, lt);
326
+ super(e, t), this.setComponent(W(Ft)), this.use(B, dt);
324
327
  }
325
328
  getValue = () => this.value ? "True" : "False";
326
329
  }
327
- class _n extends D {
330
+ class Cn extends D {
328
331
  isCodeNodeOutput = !0;
329
332
  suffix = "";
330
333
  constructor(e = "", t = "") {
331
- super(e, ""), this.suffix = t, this.setComponent(Y(Re));
334
+ super(e, ""), this.suffix = t, this.setComponent(W(Re));
332
335
  }
333
336
  get codeValue() {
334
337
  return this.node?.outputs._code.value ?? "";
@@ -342,42 +345,42 @@ class je extends ve {
342
345
  min;
343
346
  max;
344
347
  constructor(e, t, o, s) {
345
- super(e, t), this.min = o, this.max = s, this.use(V, ut);
348
+ super(e, t), this.min = o, this.max = s, this.use(B, ct);
346
349
  }
347
350
  validate(e) {
348
351
  return (this.min === void 0 || e >= this.min) && (this.max === void 0 || e <= this.max);
349
352
  }
350
353
  }
351
- class ht extends je {
352
- component = Y(Ft);
354
+ class ft extends je {
355
+ component = W(Wt);
353
356
  validate(e) {
354
357
  return Number.isInteger(e) && super.validate(e);
355
358
  }
356
359
  }
357
- class da extends ve {
360
+ class ua extends ve {
358
361
  constructor(e = "", t = "") {
359
- super(e, t), this.setComponent(Y(st)), this.use(V, dt);
362
+ super(e, t), this.setComponent(W(at)), this.use(B, ut);
360
363
  }
361
364
  getValue = () => `[${this.value}]`;
362
365
  }
363
- class Cn extends je {
364
- component = Y(Yt);
366
+ class wn extends je {
367
+ component = W(Yt);
365
368
  }
366
369
  class Pe extends ve {
367
370
  constructor(e, t) {
368
- super(e, t), this.use(V, ct);
371
+ super(e, t), this.use(B, pt);
369
372
  }
370
373
  getValue = () => `"${this.value}"`;
371
374
  }
372
- class wn extends Pe {
373
- component = Y(Wt);
375
+ class kn extends Pe {
376
+ component = W(Xt);
374
377
  items;
375
378
  constructor(e, t, o) {
376
379
  super(e, t), this.items = o;
377
380
  }
378
381
  }
379
- class ua extends je {
380
- component = Y(Xt);
382
+ class ca extends je {
383
+ component = W(Kt);
381
384
  min;
382
385
  max;
383
386
  constructor(e, t, o, s) {
@@ -385,7 +388,7 @@ class ua extends je {
385
388
  }
386
389
  getValue = () => `${Math.round(this.value * 1e3) / 1e3}`;
387
390
  }
388
- const kn = F({
391
+ const xn = F({
389
392
  props: {
390
393
  intf: {
391
394
  type: Object,
@@ -410,35 +413,35 @@ const kn = F({
410
413
  for (const [o, s] of e)
411
414
  t[o] = s;
412
415
  return t;
413
- }, xn = { style: { position: "relative" } }, In = { style: { "font-size": "12px", padding: "0 6px", position: "absolute", top: "-8px", "background-color": "var(--baklava-node-color-background)" } }, Nn = ["placeholder", "title"];
414
- function En(n, e, t, o, s, a) {
415
- return p(), b("div", xn, [
416
- m("label", In, P(n.intf.name), 1),
416
+ }, In = { style: { position: "relative" } }, Nn = { style: { "font-size": "12px", padding: "0 6px", position: "absolute", top: "-8px", "background-color": "var(--baklava-node-color-background)" } }, En = ["placeholder", "title"];
417
+ function Tn(n, e, t, o, s, a) {
418
+ return p(), b("div", In, [
419
+ m("label", Nn, P(n.intf.name), 1),
417
420
  ke(m("input", {
418
421
  "onUpdate:modelValue": e[0] || (e[0] = (i) => n.v = i),
419
422
  type: "text",
420
423
  class: "baklava-input",
421
424
  placeholder: n.intf.name,
422
425
  title: n.intf.name
423
- }, null, 8, Nn), [
426
+ }, null, 8, En), [
424
427
  [xe, n.v]
425
428
  ])
426
429
  ]);
427
430
  }
428
- const Tn = /* @__PURE__ */ A(kn, [["render", En]]);
429
- class ft extends Pe {
430
- component = Y(Tn);
431
+ const On = /* @__PURE__ */ A(xn, [["render", Tn]]);
432
+ class mt extends Pe {
433
+ component = W(On);
431
434
  }
432
- class ca extends Pe {
433
- component = Y(Kt);
435
+ class pa extends Pe {
436
+ component = W(qt);
434
437
  }
435
- class pa extends ve {
438
+ class ha extends ve {
436
439
  constructor(e = "", t = "") {
437
- super(e, t), this.setComponent(Y(st)), this.use(V, pt);
440
+ super(e, t), this.setComponent(W(at)), this.use(B, ht);
438
441
  }
439
442
  getValue = () => `(${this.value})`;
440
443
  }
441
- function ha(n) {
444
+ function fa(n) {
442
445
  return class extends Ae {
443
446
  type = n.type;
444
447
  inputs = {};
@@ -446,10 +449,10 @@ function ha(n) {
446
449
  constructor() {
447
450
  super(), this._title = n.title ?? n.type, this.executeFactory("input", n.inputs), this.executeFactory("output", n.outputs), n.calculate && (this.calculate = (e, t) => n.calculate.call(this, { inputs: e, ...t })), n.onCreate?.call(this), this.name = n.name ?? n.type, this.updateModules(n.modules), n.variableName != null && (this.state.variableName = n.variableName), n.codeTemplate && (this.codeTemplate = n.codeTemplate), this.addInput(
448
451
  "_code",
449
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
452
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
450
453
  ), this.addOutput(
451
454
  "_code",
452
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
455
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
453
456
  );
454
457
  }
455
458
  afterGraphLoaded() {
@@ -481,10 +484,10 @@ function ha(n) {
481
484
  }
482
485
  };
483
486
  }
484
- class On extends Ae {
487
+ class Mn extends Ae {
485
488
  }
486
- function fa(n) {
487
- return class extends On {
489
+ function ma(n) {
490
+ return class extends Mn {
488
491
  type = n.type;
489
492
  inputs = {};
490
493
  outputs = {};
@@ -494,10 +497,10 @@ function fa(n) {
494
497
  constructor() {
495
498
  super(), this._title = n.title ?? n.type, this.executeFactory("input", n.inputs), this.executeFactory("output", n.outputs), n.calculate && (this.calculate = (e, t) => n.calculate?.call(this, e, t)), n.onCreate?.call(this), this.name = n.name ?? n.type, this.updateModules(n.modules), n.codeTemplate && (this.codeTemplate = n.codeTemplate), n.variableName && (this.state.variableName = n.variableName), this.addInput(
496
499
  "_code",
497
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
500
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
498
501
  ), this.addOutput(
499
502
  "_code",
500
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
503
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
501
504
  ), this.staticInputKeys.push("_code"), this.staticOutputKeys.push("_code");
502
505
  }
503
506
  afterGraphLoaded() {
@@ -535,19 +538,19 @@ function fa(n) {
535
538
  if (!this.inputs[t]) {
536
539
  const o = e.inputs[t], s = o.value;
537
540
  let a;
538
- o.component ? a = vn(o.component, { ...o, id: t }) : typeof s == "number" ? a = new ht(t, s) : a = new ft(t, JSON.stringify(s)), a.use(ot, !0), a.setOptional(o.optional ?? !1), a.setHidden(o.hidden ?? !1), this.addInput(t, a);
541
+ o.component ? a = gn(o.component, { ...o, id: t }) : typeof s == "number" ? a = new ft(t, s) : a = new mt(t, JSON.stringify(s)), a.use(st, !0), a.setOptional(o.optional ?? !1), a.setHidden(o.hidden ?? !1), this.addInput(t, a);
539
542
  }
540
543
  this.inputs[t] && (this.inputs[t].load(e.inputs[t]), this.inputs[t].nodeId = this.id);
541
544
  }
542
545
  for (const t of Object.keys(e.outputs))
543
546
  if (!(this.staticOutputKeys.includes(t) || !e.outputs[t])) {
544
547
  if (!this.outputs[t]) {
545
- const o = new _n(t);
548
+ const o = new Cn(t);
546
549
  this.addOutput(t, o);
547
550
  }
548
551
  this.outputs[t] && (this.outputs[t].load(e.outputs[t]), this.outputs[t].nodeId = this.id);
549
552
  }
550
- it(this.graph, e), this.preventUpdate = !1, this.events.loaded.emit(this);
553
+ lt(this.graph, e), this.preventUpdate = !1, this.events.loaded.emit(this);
551
554
  }
552
555
  onUpdate() {
553
556
  if (!n.onUpdate || this.preventUpdate) return;
@@ -561,10 +564,10 @@ function fa(n) {
561
564
  o[s] = t[s].value;
562
565
  return o;
563
566
  }
564
- updateInputInterfaces(e, t) {
567
+ updateInputInterfaces(e = {}, t = []) {
565
568
  this.updateInterfaces("input", e, t);
566
569
  }
567
- updateInterfaces(e, t, o) {
570
+ updateInterfaces(e, t = {}, o = []) {
568
571
  const s = e === "input" ? this.staticInputKeys : this.staticOutputKeys, a = e === "input" ? this.inputs : this.outputs;
569
572
  for (const i of Object.keys(a))
570
573
  s.includes(i) || t[i] && !o.includes(i) || (e === "input" ? this.removeInput(i) : this.removeOutput(i));
@@ -586,7 +589,7 @@ function fa(n) {
586
589
  };
587
590
  }
588
591
  ce.escape = (n) => n;
589
- class Ve {
592
+ class Be {
590
593
  _id;
591
594
  _state;
592
595
  viewModel;
@@ -659,20 +662,20 @@ class Ve {
659
662
  this.state.script = ce.render(this.state.template || "", e ?? {});
660
663
  }
661
664
  }
662
- class ma extends Ve {
665
+ class va extends Be {
663
666
  constructor() {
664
667
  super(), this.loadTemplate(import("./python-CKuCd7tg.js"));
665
668
  }
666
669
  }
667
- class va extends Ve {
670
+ class ga extends Be {
668
671
  constructor() {
669
672
  super(), this.loadTemplate(import("./javascript-DK1c6Ap1.js"));
670
673
  }
671
674
  }
672
- const ga = (n) => {
675
+ const ba = (n) => {
673
676
  n.allowMultipleConnections = !0;
674
677
  };
675
- class Mn extends zt {
678
+ class $n extends Ut {
676
679
  order = /* @__PURE__ */ new Map();
677
680
  constructor(e) {
678
681
  super(e);
@@ -681,7 +684,7 @@ class Mn extends zt {
681
684
  super.start(), this.recalculateOrder = !0, this.calculateWithoutData();
682
685
  }
683
686
  async runGraph(e, t, o) {
684
- this.order.has(e.id) || this.order.set(e.id, Ut(e));
687
+ this.order.has(e.id) || this.order.set(e.id, Dt(e));
685
688
  const { calculationOrder: s, connectionsFromNode: a } = this.order.get(e.id), i = /* @__PURE__ */ new Map();
686
689
  for (const r of s) {
687
690
  const l = {};
@@ -738,7 +741,7 @@ This is likely an internal issue. Please report it on GitHub.`
738
741
  return e.get(t);
739
742
  }
740
743
  }
741
- const $n = {}, Sn = {
744
+ const Sn = {}, Gn = {
742
745
  xmlns: "http://www.w3.org/2000/svg",
743
746
  width: "24",
744
747
  height: "24",
@@ -750,8 +753,8 @@ const $n = {}, Sn = {
750
753
  "stroke-linejoin": "round",
751
754
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-check"
752
755
  };
753
- function Gn(n, e) {
754
- return p(), b("svg", Sn, [...e[0] || (e[0] = [
756
+ function Ln(n, e) {
757
+ return p(), b("svg", Gn, [...e[0] || (e[0] = [
755
758
  m("path", {
756
759
  stroke: "none",
757
760
  d: "M0 0h24v24H0z",
@@ -760,7 +763,7 @@ function Gn(n, e) {
760
763
  m("path", { d: "M5 12l5 5l10 -10" }, null, -1)
761
764
  ])]);
762
765
  }
763
- const Ln = /* @__PURE__ */ A($n, [["render", Gn]]), An = {}, Rn = {
766
+ const An = /* @__PURE__ */ A(Sn, [["render", Ln]]), Rn = {}, jn = {
764
767
  xmlns: "http://www.w3.org/2000/svg",
765
768
  width: "24",
766
769
  height: "24",
@@ -772,8 +775,8 @@ const Ln = /* @__PURE__ */ A($n, [["render", Gn]]), An = {}, Rn = {
772
775
  "stroke-linejoin": "round",
773
776
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-code-variable"
774
777
  };
775
- function jn(n, e) {
776
- return p(), b("svg", Rn, [...e[0] || (e[0] = [
778
+ function Pn(n, e) {
779
+ return p(), b("svg", jn, [...e[0] || (e[0] = [
777
780
  m("path", {
778
781
  stroke: "none",
779
782
  d: "M0 0h24v24H0z",
@@ -782,7 +785,7 @@ function jn(n, e) {
782
785
  m("path", { d: "M4 8m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z" }, null, -1)
783
786
  ])]);
784
787
  }
785
- const Pn = /* @__PURE__ */ A(An, [["render", jn]]), Vn = {}, Bn = {
788
+ const Bn = /* @__PURE__ */ A(Rn, [["render", Pn]]), Vn = {}, Hn = {
786
789
  xmlns: "http://www.w3.org/2000/svg",
787
790
  width: "24",
788
791
  height: "24",
@@ -794,8 +797,8 @@ const Pn = /* @__PURE__ */ A(An, [["render", jn]]), Vn = {}, Bn = {
794
797
  "stroke-linejoin": "round",
795
798
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-copy"
796
799
  };
797
- function Hn(n, e) {
798
- return p(), b("svg", Bn, [...e[0] || (e[0] = [
800
+ function zn(n, e) {
801
+ return p(), b("svg", Hn, [...e[0] || (e[0] = [
799
802
  m("path", {
800
803
  stroke: "none",
801
804
  d: "M0 0h24v24H0z",
@@ -805,7 +808,7 @@ function Hn(n, e) {
805
808
  m("path", { d: "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1" }, null, -1)
806
809
  ])]);
807
810
  }
808
- const zn = /* @__PURE__ */ A(Vn, [["render", Hn]]), Un = {}, Dn = {
811
+ const Un = /* @__PURE__ */ A(Vn, [["render", zn]]), Dn = {}, Fn = {
809
812
  xmlns: "http://www.w3.org/2000/svg",
810
813
  width: "24",
811
814
  height: "24",
@@ -817,8 +820,8 @@ const zn = /* @__PURE__ */ A(Vn, [["render", Hn]]), Un = {}, Dn = {
817
820
  "stroke-linejoin": "round",
818
821
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-dots-vertical"
819
822
  };
820
- function Fn(n, e) {
821
- return p(), b("svg", Dn, [...e[0] || (e[0] = [
823
+ function Wn(n, e) {
824
+ return p(), b("svg", Fn, [...e[0] || (e[0] = [
822
825
  m("path", {
823
826
  stroke: "none",
824
827
  d: "M0 0h24v24H0z",
@@ -829,7 +832,7 @@ function Fn(n, e) {
829
832
  m("path", { d: "M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }, null, -1)
830
833
  ])]);
831
834
  }
832
- const Yn = /* @__PURE__ */ A(Un, [["render", Fn]]), Wn = {}, Xn = {
835
+ const Yn = /* @__PURE__ */ A(Dn, [["render", Wn]]), Xn = {}, Kn = {
833
836
  xmlns: "http://www.w3.org/2000/svg",
834
837
  width: "24",
835
838
  height: "24",
@@ -837,8 +840,8 @@ const Yn = /* @__PURE__ */ A(Un, [["render", Fn]]), Wn = {}, Xn = {
837
840
  fill: "currentColor",
838
841
  class: "baklava-icon icon icon-tabler icons-tabler-filled icon-tabler-layout-sidebar-left-collapse"
839
842
  };
840
- function Kn(n, e) {
841
- return p(), b("svg", Xn, [...e[0] || (e[0] = [
843
+ function qn(n, e) {
844
+ return p(), b("svg", Kn, [...e[0] || (e[0] = [
842
845
  m("path", {
843
846
  stroke: "none",
844
847
  d: "M0 0h24v24H0z",
@@ -847,7 +850,7 @@ function Kn(n, e) {
847
850
  m("path", { d: "M18 3a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h12zm0 2h-9v14h9a1 1 0 0 0 .993 -.883l.007 -.117v-12a1 1 0 0 0 -.883 -.993l-.117 -.007zm-2.293 4.293a1 1 0 0 1 .083 1.32l-.083 .094l-1.292 1.293l1.292 1.293a1 1 0 0 1 .083 1.32l-.083 .094a1 1 0 0 1 -1.32 .083l-.094 -.083l-2 -2a1 1 0 0 1 -.083 -1.32l.083 -.094l2 -2a1 1 0 0 1 1.414 0z" }, null, -1)
848
851
  ])]);
849
852
  }
850
- const qn = /* @__PURE__ */ A(Wn, [["render", Kn]]), Jn = {}, Qn = {
853
+ const Jn = /* @__PURE__ */ A(Xn, [["render", qn]]), Qn = {}, Zn = {
851
854
  xmlns: "http://www.w3.org/2000/svg",
852
855
  width: "24",
853
856
  height: "24",
@@ -855,8 +858,8 @@ const qn = /* @__PURE__ */ A(Wn, [["render", Kn]]), Jn = {}, Qn = {
855
858
  fill: "currentColor",
856
859
  class: "baklava-icon icon icon-tabler icons-tabler-filled icon-tabler-layout-sidebar-left-expand"
857
860
  };
858
- function Zn(n, e) {
859
- return p(), b("svg", Qn, [...e[0] || (e[0] = [
861
+ function eo(n, e) {
862
+ return p(), b("svg", Zn, [...e[0] || (e[0] = [
860
863
  m("path", {
861
864
  stroke: "none",
862
865
  d: "M0 0h24v24H0z",
@@ -865,7 +868,7 @@ function Zn(n, e) {
865
868
  m("path", { d: "M18 3a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h12zm0 2h-9v14h9a1 1 0 0 0 .993 -.883l.007 -.117v-12a1 1 0 0 0 -.883 -.993l-.117 -.007zm-4.387 4.21l.094 .083l2 2a1 1 0 0 1 .083 1.32l-.083 .094l-2 2a1 1 0 0 1 -1.497 -1.32l.083 -.094l1.292 -1.293l-1.292 -1.293a1 1 0 0 1 -.083 -1.32l.083 -.094a1 1 0 0 1 1.32 -.083z" }, null, -1)
866
869
  ])]);
867
870
  }
868
- const eo = /* @__PURE__ */ A(Jn, [["render", Zn]]), to = {}, no = {
871
+ const to = /* @__PURE__ */ A(Qn, [["render", eo]]), no = {}, oo = {
869
872
  xmlns: "http://www.w3.org/2000/svg",
870
873
  width: "24",
871
874
  height: "24",
@@ -873,8 +876,8 @@ const eo = /* @__PURE__ */ A(Jn, [["render", Zn]]), to = {}, no = {
873
876
  fill: "currentColor",
874
877
  class: "baklava-icon icon icon-tabler icons-tabler-filled icon-tabler-layout-sidebar-right"
875
878
  };
876
- function oo(n, e) {
877
- return p(), b("svg", no, [...e[0] || (e[0] = [
879
+ function so(n, e) {
880
+ return p(), b("svg", oo, [...e[0] || (e[0] = [
878
881
  m("path", {
879
882
  stroke: "none",
880
883
  d: "M0 0h24v24H0z",
@@ -883,7 +886,7 @@ function oo(n, e) {
883
886
  m("path", { d: "M6 21a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3zm8 -16h-8a1 1 0 0 0 -1 1v12a1 1 0 0 0 1 1h8z" }, null, -1)
884
887
  ])]);
885
888
  }
886
- const so = /* @__PURE__ */ A(to, [["render", oo]]), ao = {}, ro = {
889
+ const ao = /* @__PURE__ */ A(no, [["render", so]]), ro = {}, io = {
887
890
  xmlns: "http://www.w3.org/2000/svg",
888
891
  width: "24",
889
892
  height: "24",
@@ -891,8 +894,8 @@ const so = /* @__PURE__ */ A(to, [["render", oo]]), ao = {}, ro = {
891
894
  fill: "currentColor",
892
895
  class: "baklava-icon icon icon-tabler icons-tabler-filled icon-tabler-layout-sidebar-right-collapse"
893
896
  };
894
- function io(n, e) {
895
- return p(), b("svg", ro, [...e[0] || (e[0] = [
897
+ function lo(n, e) {
898
+ return p(), b("svg", io, [...e[0] || (e[0] = [
896
899
  m("path", {
897
900
  stroke: "none",
898
901
  d: "M0 0h24v24H0z",
@@ -901,7 +904,7 @@ function io(n, e) {
901
904
  m("path", { d: "M18 3a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h12zm-3 2h-9a1 1 0 0 0 -.993 .883l-.007 .117v12a1 1 0 0 0 .883 .993l.117 .007h9v-14zm-5.387 4.21l.094 .083l2 2a1 1 0 0 1 .083 1.32l-.083 .094l-2 2a1 1 0 0 1 -1.497 -1.32l.083 -.094l1.292 -1.293l-1.292 -1.293a1 1 0 0 1 -.083 -1.32l.083 -.094a1 1 0 0 1 1.32 -.083z" }, null, -1)
902
905
  ])]);
903
906
  }
904
- const lo = /* @__PURE__ */ A(ao, [["render", io]]), uo = {}, co = {
907
+ const uo = /* @__PURE__ */ A(ro, [["render", lo]]), co = {}, po = {
905
908
  xmlns: "http://www.w3.org/2000/svg",
906
909
  width: "24",
907
910
  height: "24",
@@ -909,8 +912,8 @@ const lo = /* @__PURE__ */ A(ao, [["render", io]]), uo = {}, co = {
909
912
  fill: "currentColor",
910
913
  class: "baklava-icon icon icon-tabler icons-tabler-filled icon-tabler-layout-sidebar-right-expand"
911
914
  };
912
- function po(n, e) {
913
- return p(), b("svg", co, [...e[0] || (e[0] = [
915
+ function ho(n, e) {
916
+ return p(), b("svg", po, [...e[0] || (e[0] = [
914
917
  m("path", {
915
918
  stroke: "none",
916
919
  d: "M0 0h24v24H0z",
@@ -919,7 +922,7 @@ function po(n, e) {
919
922
  m("path", { d: "M18 3a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h12zm-3 2h-9a1 1 0 0 0 -.993 .883l-.007 .117v12a1 1 0 0 0 .883 .993l.117 .007h9v-14zm-3.293 4.293a1 1 0 0 1 .083 1.32l-.083 .094l-1.292 1.293l1.292 1.293a1 1 0 0 1 .083 1.32l-.083 .094a1 1 0 0 1 -1.32 .083l-.094 -.083l-2 -2a1 1 0 0 1 -.083 -1.32l.083 -.094l2 -2a1 1 0 0 1 1.414 0z" }, null, -1)
920
923
  ])]);
921
924
  }
922
- const ho = /* @__PURE__ */ A(uo, [["render", po]]), fo = {}, mo = {
925
+ const fo = /* @__PURE__ */ A(co, [["render", ho]]), mo = {}, vo = {
923
926
  xmlns: "http://www.w3.org/2000/svg",
924
927
  width: "24",
925
928
  height: "24",
@@ -931,12 +934,12 @@ const ho = /* @__PURE__ */ A(uo, [["render", po]]), fo = {}, mo = {
931
934
  "stroke-linejoin": "round",
932
935
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-lock-code"
933
936
  };
934
- function vo(n, e) {
935
- return p(), b("svg", mo, [...e[0] || (e[0] = [
937
+ function go(n, e) {
938
+ return p(), b("svg", vo, [...e[0] || (e[0] = [
936
939
  fe('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M11.5 21h-4.5a2 2 0 0 1 -2 -2v-6a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2"></path><path d="M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0"></path><path d="M8 11v-4a4 4 0 1 1 8 0v4"></path><path d="M20 21l2 -2l-2 -2"></path><path d="M17 17l-2 2l2 2"></path>', 6)
937
940
  ])]);
938
941
  }
939
- const mt = /* @__PURE__ */ A(fo, [["render", vo]]), go = {}, bo = {
942
+ const vt = /* @__PURE__ */ A(mo, [["render", go]]), bo = {}, yo = {
940
943
  xmlns: "http://www.w3.org/2000/svg",
941
944
  width: "24",
942
945
  height: "24",
@@ -948,8 +951,8 @@ const mt = /* @__PURE__ */ A(fo, [["render", vo]]), go = {}, bo = {
948
951
  "stroke-linejoin": "round",
949
952
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-player-play"
950
953
  };
951
- function yo(n, e) {
952
- return p(), b("svg", bo, [...e[0] || (e[0] = [
954
+ function _o(n, e) {
955
+ return p(), b("svg", yo, [...e[0] || (e[0] = [
953
956
  m("path", {
954
957
  stroke: "none",
955
958
  d: "M0 0h24v24H0z",
@@ -958,7 +961,7 @@ function yo(n, e) {
958
961
  m("path", { d: "M7 4v16l13 -8z" }, null, -1)
959
962
  ])]);
960
963
  }
961
- const _o = /* @__PURE__ */ A(go, [["render", yo]]), Co = {}, wo = {
964
+ const Co = /* @__PURE__ */ A(bo, [["render", _o]]), wo = {}, ko = {
962
965
  xmlns: "http://www.w3.org/2000/svg",
963
966
  width: "24",
964
967
  height: "24",
@@ -970,8 +973,8 @@ const _o = /* @__PURE__ */ A(go, [["render", yo]]), Co = {}, wo = {
970
973
  "stroke-linejoin": "round",
971
974
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-plus"
972
975
  };
973
- function ko(n, e) {
974
- return p(), b("svg", wo, [...e[0] || (e[0] = [
976
+ function xo(n, e) {
977
+ return p(), b("svg", ko, [...e[0] || (e[0] = [
975
978
  m("path", {
976
979
  stroke: "none",
977
980
  d: "M0 0h24v24H0z",
@@ -981,7 +984,7 @@ function ko(n, e) {
981
984
  m("path", { d: "M5 12l14 0" }, null, -1)
982
985
  ])]);
983
986
  }
984
- const xo = /* @__PURE__ */ A(Co, [["render", ko]]), Io = {}, No = {
987
+ const Io = /* @__PURE__ */ A(wo, [["render", xo]]), No = {}, Eo = {
985
988
  xmlns: "http://www.w3.org/2000/svg",
986
989
  width: "24",
987
990
  height: "24",
@@ -993,12 +996,12 @@ const xo = /* @__PURE__ */ A(Co, [["render", ko]]), Io = {}, No = {
993
996
  "stroke-linejoin": "round",
994
997
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-schema"
995
998
  };
996
- function Eo(n, e) {
997
- return p(), b("svg", No, [...e[0] || (e[0] = [
999
+ function To(n, e) {
1000
+ return p(), b("svg", Eo, [...e[0] || (e[0] = [
998
1001
  fe('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M5 2h5v4h-5z"></path><path d="M15 10h5v4h-5z"></path><path d="M5 18h5v4h-5z"></path><path d="M5 10h5v4h-5z"></path><path d="M10 12h5"></path><path d="M7.5 6v4"></path><path d="M7.5 14v4"></path>', 8)
999
1002
  ])]);
1000
1003
  }
1001
- const To = /* @__PURE__ */ A(Io, [["render", Eo]]), Oo = {}, Mo = {
1004
+ const Oo = /* @__PURE__ */ A(No, [["render", To]]), Mo = {}, $o = {
1002
1005
  xmlns: "http://www.w3.org/2000/svg",
1003
1006
  width: "24",
1004
1007
  height: "24",
@@ -1010,12 +1013,12 @@ const To = /* @__PURE__ */ A(Io, [["render", Eo]]), Oo = {}, Mo = {
1010
1013
  "stroke-linejoin": "round",
1011
1014
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-schema-off"
1012
1015
  };
1013
- function $o(n, e) {
1014
- return p(), b("svg", Mo, [...e[0] || (e[0] = [
1016
+ function So(n, e) {
1017
+ return p(), b("svg", $o, [...e[0] || (e[0] = [
1015
1018
  fe('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M6 2h4v4m-4 0h-1v-1"></path><path d="M15 11v-1h5v4h-2"></path><path d="M5 18h5v4h-5z"></path><path d="M5 10h5v4h-5z"></path><path d="M10 12h2"></path><path d="M7.5 7.5v2.5"></path><path d="M7.5 14v4"></path><path d="M3 3l18 18"></path>', 9)
1016
1019
  ])]);
1017
1020
  }
1018
- const So = /* @__PURE__ */ A(Oo, [["render", $o]]), Go = {}, Lo = {
1021
+ const Go = /* @__PURE__ */ A(Mo, [["render", So]]), Lo = {}, Ao = {
1019
1022
  xmlns: "http://www.w3.org/2000/svg",
1020
1023
  width: "24",
1021
1024
  height: "24",
@@ -1027,12 +1030,12 @@ const So = /* @__PURE__ */ A(Oo, [["render", $o]]), Go = {}, Lo = {
1027
1030
  "stroke-linejoin": "round",
1028
1031
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-transition-bottom"
1029
1032
  };
1030
- function Ao(n, e) {
1031
- return p(), b("svg", Lo, [...e[0] || (e[0] = [
1033
+ function Ro(n, e) {
1034
+ return p(), b("svg", Ao, [...e[0] || (e[0] = [
1032
1035
  fe('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M21 18a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3"></path><path d="M3 3m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z"></path><path d="M12 9v8"></path><path d="M9 14l3 3l3 -3"></path>', 5)
1033
1036
  ])]);
1034
1037
  }
1035
- const Ro = /* @__PURE__ */ A(Go, [["render", Ao]]), jo = {}, Po = {
1038
+ const jo = /* @__PURE__ */ A(Lo, [["render", Ro]]), Po = {}, Bo = {
1036
1039
  xmlns: "http://www.w3.org/2000/svg",
1037
1040
  width: "24",
1038
1041
  height: "24",
@@ -1045,11 +1048,11 @@ const Ro = /* @__PURE__ */ A(Go, [["render", Ao]]), jo = {}, Po = {
1045
1048
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-trash-off"
1046
1049
  };
1047
1050
  function Vo(n, e) {
1048
- return p(), b("svg", Po, [...e[0] || (e[0] = [
1051
+ return p(), b("svg", Bo, [...e[0] || (e[0] = [
1049
1052
  fe('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 3l18 18"></path><path d="M4 7h3m4 0h9"></path><path d="M10 11l0 6"></path><path d="M14 14l0 3"></path><path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l.077 -.923"></path><path d="M18.384 14.373l.616 -7.373"></path><path d="M9 5v-1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"></path>', 8)
1050
1053
  ])]);
1051
1054
  }
1052
- const Bo = /* @__PURE__ */ A(jo, [["render", Vo]]), Ho = {}, zo = {
1055
+ const Ho = /* @__PURE__ */ A(Po, [["render", Vo]]), zo = {}, Uo = {
1053
1056
  xmlns: "http://www.w3.org/2000/svg",
1054
1057
  width: "24",
1055
1058
  height: "24",
@@ -1061,8 +1064,8 @@ const Bo = /* @__PURE__ */ A(jo, [["render", Vo]]), Ho = {}, zo = {
1061
1064
  "stroke-linejoin": "round",
1062
1065
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-x"
1063
1066
  };
1064
- function Uo(n, e) {
1065
- return p(), b("svg", zo, [...e[0] || (e[0] = [
1067
+ function Do(n, e) {
1068
+ return p(), b("svg", Uo, [...e[0] || (e[0] = [
1066
1069
  m("path", {
1067
1070
  stroke: "none",
1068
1071
  d: "M0 0h24v24H0z",
@@ -1072,54 +1075,54 @@ function Uo(n, e) {
1072
1075
  m("path", { d: "M6 6l12 12" }, null, -1)
1073
1076
  ])]);
1074
1077
  }
1075
- const Do = /* @__PURE__ */ A(Ho, [["render", Uo]]), vt = "CLEAR_ALL", gt = "RUN_ENGINE", bt = "TOGGLE_MINIMAP", yt = "TOGGLE_PALETTE", Fo = (n, e, t) => {
1078
+ const Fo = /* @__PURE__ */ A(zo, [["render", Do]]), gt = "CLEAR_ALL", bt = "RUN_ENGINE", yt = "TOGGLE_MINIMAP", _t = "TOGGLE_PALETTE", Wo = (n, e, t) => {
1076
1079
  const o = t.zoomToFit.paddingLeft;
1077
- e.registerCommand(yt, {
1080
+ e.registerCommand(_t, {
1078
1081
  execute: () => {
1079
1082
  t.palette.enabled = !t.palette.enabled, t.zoomToFit.paddingLeft = t.palette.enabled ? o : 50;
1080
1083
  },
1081
1084
  canExecute: () => !0
1082
- }), e.registerCommand(vt, {
1085
+ }), e.registerCommand(gt, {
1083
1086
  execute: () => {
1084
1087
  e.executeCommand(ne.CLEAR_CLIPBOARD_COMMAND), e.executeCommand(ne.CLEAR_HISTORY_COMMAND), n.value.clear(), n.value.editor.code.clear();
1085
1088
  },
1086
1089
  canExecute: () => n.value.nodes.length > 0
1087
- }), e.registerCommand(bt, {
1090
+ }), e.registerCommand(yt, {
1088
1091
  execute: () => t.enableMinimap = !t.enableMinimap,
1089
1092
  canExecute: () => n.value.nodes.length > 1
1090
1093
  });
1091
1094
  }, Yo = (n) => {
1092
1095
  const e = {
1093
- command: gt,
1096
+ command: bt,
1094
1097
  title: "Run",
1095
1098
  // Tooltip text
1096
- icon: G(() => _o)
1099
+ icon: G(() => Co)
1097
1100
  }, t = {
1098
- command: yt,
1101
+ command: _t,
1099
1102
  title: "Toggle palette",
1100
1103
  // Tooltip text
1101
- icon: G(() => n.palette.enabled ? qn : eo)
1104
+ icon: G(() => n.palette.enabled ? Jn : to)
1102
1105
  }, o = {
1103
- command: vt,
1106
+ command: gt,
1104
1107
  title: "Clear all",
1105
1108
  // Tooltip text
1106
- icon: G(() => Bo)
1109
+ icon: G(() => Ho)
1107
1110
  }, s = {
1108
- command: bt,
1111
+ command: yt,
1109
1112
  title: "Toggle minimap",
1110
1113
  // Tooltip text
1111
- icon: G(() => n.enableMinimap ? So : To)
1114
+ icon: G(() => n.enableMinimap ? Go : Oo)
1112
1115
  };
1113
- n.toolbar.commands = [t, e, ...qt, o, s];
1114
- }, Wo = (n, e, t) => {
1115
- t.registerCommand(gt, {
1116
+ n.toolbar.commands = [t, e, ...Jt, o, s];
1117
+ }, Xo = (n, e, t) => {
1118
+ t.registerCommand(bt, {
1116
1119
  execute: () => e.runOnce(null),
1117
1120
  canExecute: () => n.nodes.length > 0
1118
1121
  });
1119
1122
  };
1120
- function Xo(n) {
1123
+ function Ko(n) {
1121
1124
  const e = Symbol("CodeEngineToken");
1122
- n.engine = new Mn(n.editor), Wo(n.editor.graph, n.engine, n.commandHandler), n.loadEditor = (t) => {
1125
+ n.engine = new $n(n.editor), Xo(n.editor.graph, n.engine, n.commandHandler), n.loadEditor = (t) => {
1123
1126
  n.engine?.pause(), n.displayedGraph.clear(), n.editor.load(t), n.commandHandler.executeCommand(ne.CLEAR_CLIPBOARD_COMMAND), n.commandHandler.executeCommand(ne.CLEAR_HISTORY_COMMAND), n.engine?.resume(), n.engine?.runOnce(null);
1124
1127
  }, n.newGraph = () => {
1125
1128
  n.engine?.pause(), n.displayedGraph.clear(), n.commandHandler.executeCommand(ne.CLEAR_CLIPBOARD_COMMAND), n.commandHandler.executeCommand(ne.CLEAR_HISTORY_COMMAND), n.displayedGraph.id = re(), n.engine?.resume(), n.engine?.runOnce(null);
@@ -1137,7 +1140,7 @@ function Xo(n) {
1137
1140
  }), n.engine?.events.beforeRun.subscribe(e, () => {
1138
1141
  n.engine?.pause(), n.displayedGraph.sortNodes(), n.engine?.resume();
1139
1142
  }), n.engine?.events.afterRun.subscribe(e, (t) => {
1140
- n.engine?.pause(), nt(t, n.editor), n.code.state.lockCode || n.code.renderCode({
1143
+ n.engine?.pause(), ot(t, n.editor), n.code.state.lockCode || n.code.renderCode({
1141
1144
  nodes: n.editor.graph.scriptedCodeNodes,
1142
1145
  modules: n.editor.code.modules
1143
1146
  }), n.engine?.resume();
@@ -1146,7 +1149,8 @@ function Xo(n) {
1146
1149
  n.displayedGraph.events.addConnection.unsubscribe(e), n.displayedGraph.events.removeConnection.unsubscribe(e), n.engine?.events.beforeRun.unsubscribe(e), n.engine?.events.afterRun.unsubscribe(e);
1147
1150
  };
1148
1151
  }
1149
- class Ie extends At {
1152
+ const Ve = 350;
1153
+ class Ie extends Rt {
1150
1154
  code = null;
1151
1155
  editor;
1152
1156
  _state = te({
@@ -1157,7 +1161,7 @@ class Ie extends At {
1157
1161
  super(e, t), this.editor = e, this.template = t, e.code && (this.code = e.code);
1158
1162
  }
1159
1163
  get codeNodes() {
1160
- return _t(this);
1164
+ return Ct(this);
1161
1165
  }
1162
1166
  get connections() {
1163
1167
  return super.connections;
@@ -1278,7 +1282,7 @@ class Ie extends At {
1278
1282
  const t = this.connections.filter(
1279
1283
  (a) => e.includes(a.to.nodeId) && e.includes(a.from.nodeId)
1280
1284
  ).map((a) => [a.to.nodeId, a.from.nodeId]);
1281
- e.reverse(), e = pn.array(e, t), e.reverse();
1285
+ e.reverse(), e = hn.array(e, t), e.reverse();
1282
1286
  const o = this.nodes.map((a) => a.id).filter((a) => !e.includes(a));
1283
1287
  e = [...e, ...o];
1284
1288
  const s = e.map((a) => this.findNodeById(a));
@@ -1288,19 +1292,19 @@ class Ie extends At {
1288
1292
  }
1289
1293
  }
1290
1294
  }
1291
- const _t = (n) => {
1295
+ const Ct = (n) => {
1292
1296
  const e = [];
1293
1297
  return n.nodes.length === 0 || n.nodes.forEach((t) => {
1294
- t && (t.hasOwnProperty("subgraph") ? e.push(..._t(t.subgraph)) : t.hasOwnProperty("isCodeNode") && e.push(t));
1298
+ t && (t.hasOwnProperty("subgraph") ? e.push(...Ct(t.subgraph)) : t.hasOwnProperty("isCodeNode") && e.push(t));
1295
1299
  }), e;
1296
- }, ba = (n = 0, e = 100) => ({
1297
- x: n * 420,
1300
+ }, ya = (n = 0, e = 100) => ({
1301
+ x: n * (Ve + 70),
1298
1302
  y: e
1299
- }), ya = (n) => {
1303
+ }), _a = (n) => {
1300
1304
  const e = { ...n.position };
1301
- return e.x -= 440, e.y += 50, e;
1302
- }, Ue = "__baklava_SubgraphInputNode", De = "__baklava_SubgraphOutputNode";
1303
- class Ct extends Ae {
1305
+ return e.x -= Ve + 70, e.y += 50, e;
1306
+ }, De = "__baklava_SubgraphInputNode", Fe = "__baklava_SubgraphOutputNode";
1307
+ class wt extends Ae {
1304
1308
  graphInterfaceId;
1305
1309
  constructor() {
1306
1310
  super(), this.graphInterfaceId = re();
@@ -1320,11 +1324,11 @@ class Ct extends Ae {
1320
1324
  update() {
1321
1325
  }
1322
1326
  }
1323
- class wt extends Ct {
1327
+ class kt extends wt {
1324
1328
  static isGraphInputNode(e) {
1325
- return e.type === Ue;
1329
+ return e.type === De;
1326
1330
  }
1327
- type = Ue;
1331
+ type = De;
1328
1332
  inputs = {
1329
1333
  name: new J("Name", "Input")
1330
1334
  };
@@ -1332,11 +1336,11 @@ class wt extends Ct {
1332
1336
  placeholder: new J("Value", void 0)
1333
1337
  };
1334
1338
  }
1335
- class kt extends Ct {
1339
+ class xt extends wt {
1336
1340
  static isGraphOutputNode(e) {
1337
- return e.type === De;
1341
+ return e.type === Fe;
1338
1342
  }
1339
- type = De;
1343
+ type = Fe;
1340
1344
  inputs = {
1341
1345
  name: new J("Name", "Output"),
1342
1346
  placeholder: new J("Value", void 0)
@@ -1348,7 +1352,7 @@ class kt extends Ct {
1348
1352
  output: e
1349
1353
  });
1350
1354
  }
1351
- const Ko = [
1355
+ const qo = [
1352
1356
  "component",
1353
1357
  "connectionCount",
1354
1358
  "events",
@@ -1363,9 +1367,9 @@ const Ko = [
1363
1367
  "templateId",
1364
1368
  "value"
1365
1369
  ];
1366
- function qo(n) {
1367
- return class extends rt {
1368
- type = tt(n);
1370
+ function Jo(n) {
1371
+ return class extends it {
1372
+ type = nt(n);
1369
1373
  get title() {
1370
1374
  return this._title;
1371
1375
  }
@@ -1394,7 +1398,7 @@ function qo(n) {
1394
1398
  s,
1395
1399
  o.globalValues
1396
1400
  );
1397
- o.engine.pause(), nt(a, o.engine.editor), o.engine.resume();
1401
+ o.engine.pause(), ot(a, o.engine.editor), o.engine.resume();
1398
1402
  const i = {};
1399
1403
  for (const r of this.subgraph.outputs)
1400
1404
  i[r.id] = a.get(r.nodeId)?.get("output");
@@ -1442,10 +1446,10 @@ function qo(n) {
1442
1446
  this.subgraph.outputs.some((o) => o.id === t) || this.removeOutput(t);
1443
1447
  this.addInput(
1444
1448
  "_code",
1445
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
1449
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
1446
1450
  ), this.addOutput(
1447
1451
  "_code",
1448
- new D("_code", []).use(V, X).use(ue).setHidden(!0)
1452
+ new D("_code", []).use(B, X).use(ue).setHidden(!0)
1449
1453
  ), this.addOutput("_calculationResults", new J("_calculationResults", void 0).setHidden(!0));
1450
1454
  }
1451
1455
  /**
@@ -1457,13 +1461,13 @@ function qo(n) {
1457
1461
  const s = new D(t.name, void 0);
1458
1462
  return new Proxy(s, {
1459
1463
  get: (a, i) => {
1460
- if (Ko.includes(i) || i in a || typeof i == "string" && i.startsWith("__v_"))
1464
+ if (qo.includes(i) || i in a || typeof i == "string" && i.startsWith("__v_"))
1461
1465
  return Reflect.get(a, i);
1462
1466
  let r;
1463
1467
  o ? r = this.subgraph?.nodes.find(
1464
- (C) => wt.isGraphInputNode(C) && C.graphInterfaceId === t.id
1468
+ (C) => kt.isGraphInputNode(C) && C.graphInterfaceId === t.id
1465
1469
  )?.outputs.placeholder.id : r = this.subgraph?.nodes.find(
1466
- (C) => kt.isGraphOutputNode(C) && C.graphInterfaceId === t.id
1470
+ (C) => xt.isGraphOutputNode(C) && C.graphInterfaceId === t.id
1467
1471
  )?.inputs.placeholder.id;
1468
1472
  const l = this.subgraph?.connections.find((f) => r === (o ? f.from : f.to)?.id), u = o ? l?.to : l?.from;
1469
1473
  if (u) return Reflect.get(u, i);
@@ -1472,13 +1476,13 @@ function qo(n) {
1472
1476
  }
1473
1477
  };
1474
1478
  }
1475
- function Jo(n, e) {
1479
+ function Qo(n, e) {
1476
1480
  return Object.fromEntries(Object.entries(n).filter(e));
1477
1481
  }
1478
- function Qo(n, e) {
1482
+ function Zo(n, e) {
1479
1483
  return Object.fromEntries(Object.entries(n).map(([t, o]) => [t, e(o)]));
1480
1484
  }
1481
- class Ne extends Rt {
1485
+ class Ne extends jt {
1482
1486
  /** Create a new GraphTemplate from the nodes and connections inside the graph instance */
1483
1487
  static fromGraph(e, t) {
1484
1488
  return new Ne(e.save(), t);
@@ -1501,7 +1505,7 @@ class Ne extends Rt {
1501
1505
  const N = t.get(h);
1502
1506
  if (!N) throw new Error(`Unable to create graph from template: Could not map old id ${h} to new id`);
1503
1507
  return N;
1504
- }, a = (h) => Qo(h, (N) => ({
1508
+ }, a = (h) => Zo(h, (N) => ({
1505
1509
  id: o(N.id),
1506
1510
  templateId: N.id,
1507
1511
  value: N.value
@@ -1534,11 +1538,11 @@ class Ne extends Rt {
1534
1538
  return e || (e = new Ie(this.editor)), e.load(f).forEach((h) => console.warn(h)), e.template = this, e;
1535
1539
  }
1536
1540
  }
1537
- const Zo = (n) => !(n instanceof Ie);
1538
- function es(n, e) {
1541
+ const es = (n) => !(n instanceof Ie);
1542
+ function ts(n, e) {
1539
1543
  return { switchGraph: (o) => {
1540
1544
  let s;
1541
- if (Zo(o))
1545
+ if (es(o))
1542
1546
  s = new Ie(n.value), o.createGraph(s);
1543
1547
  else {
1544
1548
  if (o !== n.value.graph)
@@ -1550,16 +1554,16 @@ function es(n, e) {
1550
1554
  e.value && e.value !== n.value.graph && e.value.destroy(), s.panning = s.panning ?? o.panning ?? { x: 0, y: 0 }, s.scaling = s.scaling ?? o.scaling ?? 1, s.selectedNodes = s.selectedNodes ?? [], s.sidebar = s.sidebar ?? { visible: !1, nodeId: "", optionName: "" }, e.value = s, s.code?.engine?.runOnce(null);
1551
1555
  } };
1552
1556
  }
1553
- function ts(n) {
1557
+ function ns(n) {
1554
1558
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
1555
1559
  }
1556
1560
  var we = { exports: {} };
1557
- var ns = we.exports, Fe;
1558
- function os() {
1559
- return Fe || (Fe = 1, (function(n, e) {
1561
+ var os = we.exports, We;
1562
+ function ss() {
1563
+ return We || (We = 1, (function(n, e) {
1560
1564
  (function(o, s) {
1561
1565
  n.exports = s();
1562
- })(ns, function() {
1566
+ })(os, function() {
1563
1567
  return (
1564
1568
  /******/
1565
1569
  (function() {
@@ -1614,7 +1618,7 @@ function os() {
1614
1618
  }, Q(g);
1615
1619
  }
1616
1620
  var Z = function() {
1617
- var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ = c.action, x = _ === void 0 ? "copy" : _, I = c.container, E = c.target, W = c.text;
1621
+ var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ = c.action, x = _ === void 0 ? "copy" : _, I = c.container, E = c.target, Y = c.text;
1618
1622
  if (x !== "copy" && x !== "cut")
1619
1623
  throw new Error('Invalid "action" value, use either "copy" or "cut"');
1620
1624
  if (E !== void 0)
@@ -1625,8 +1629,8 @@ function os() {
1625
1629
  throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`);
1626
1630
  } else
1627
1631
  throw new Error('Invalid "target" value, use a valid Element');
1628
- if (W)
1629
- return S(W, {
1632
+ if (Y)
1633
+ return S(Y, {
1630
1634
  container: I
1631
1635
  });
1632
1636
  if (E)
@@ -1726,8 +1730,8 @@ function os() {
1726
1730
  key: "listenClick",
1727
1731
  value: function(I) {
1728
1732
  var E = this;
1729
- this.listener = C()(I, "click", function(W) {
1730
- return E.onClick(W);
1733
+ this.listener = C()(I, "click", function(Y) {
1734
+ return E.onClick(Y);
1731
1735
  });
1732
1736
  }
1733
1737
  /**
@@ -1737,14 +1741,14 @@ function os() {
1737
1741
  }, {
1738
1742
  key: "onClick",
1739
1743
  value: function(I) {
1740
- var E = I.delegateTarget || I.currentTarget, W = this.action(E) || "copy", Ce = pe({
1741
- action: W,
1744
+ var E = I.delegateTarget || I.currentTarget, Y = this.action(E) || "copy", Ce = pe({
1745
+ action: Y,
1742
1746
  container: this.container,
1743
1747
  target: this.target(E),
1744
1748
  text: this.text(E)
1745
1749
  });
1746
1750
  this.emit(Ce ? "success" : "error", {
1747
- action: W,
1751
+ action: Y,
1748
1752
  text: Ce,
1749
1753
  trigger: E,
1750
1754
  clearSelection: function() {
@@ -1821,10 +1825,10 @@ function os() {
1821
1825
  }, {
1822
1826
  key: "isSupported",
1823
1827
  value: function() {
1824
- var I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ["copy", "cut"], E = typeof I == "string" ? [I] : I, W = !!document.queryCommandSupported;
1828
+ var I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ["copy", "cut"], E = typeof I == "string" ? [I] : I, Y = !!document.queryCommandSupported;
1825
1829
  return E.forEach(function(Ce) {
1826
- W = W && !!document.queryCommandSupported(Ce);
1827
- }), W;
1830
+ Y = Y && !!document.queryCommandSupported(Ce);
1831
+ }), Y;
1828
1832
  }
1829
1833
  }]), _;
1830
1834
  })(u()), M = _e;
@@ -2040,11 +2044,11 @@ function os() {
2040
2044
  });
2041
2045
  })(we)), we.exports;
2042
2046
  }
2043
- var ss = os();
2044
- const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2047
+ var as = ss();
2048
+ const rs = /* @__PURE__ */ ns(as), is = (n) => ({
2045
2049
  toClipboard(e, t) {
2046
2050
  return new Promise((o, s) => {
2047
- const a = document.createElement("button"), i = new as(a, {
2051
+ const a = document.createElement("button"), i = new rs(a, {
2048
2052
  text: () => e,
2049
2053
  action: () => "copy",
2050
2054
  container: t !== void 0 ? t : document.body
@@ -2056,14 +2060,14 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2056
2060
  }), document.body.appendChild(a), a.click(), document.body.removeChild(a);
2057
2061
  });
2058
2062
  }
2059
- }), is = {
2063
+ }), ls = {
2060
2064
  key: 0,
2061
2065
  class: "baklava-button"
2062
- }, ls = /* @__PURE__ */ F({
2066
+ }, ds = /* @__PURE__ */ F({
2063
2067
  __name: "CopyToClipboard",
2064
2068
  props: { text: String },
2065
2069
  setup(n) {
2066
- const { toClipboard: e } = rs(), o = $e(n, "text"), s = H(!1), a = async () => {
2070
+ const { toClipboard: e } = is(), o = $e(n, "text"), s = H(!1), a = async () => {
2067
2071
  try {
2068
2072
  await e(o.value), s.value = !0, setTimeout(() => s.value = !1, 1500), console.log("Copied to clipboard");
2069
2073
  } catch (i) {
@@ -2071,42 +2075,42 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2071
2075
  }
2072
2076
  };
2073
2077
  return (i, r) => (p(), b("div", null, [
2074
- s.value ? (p(), b("button", is, [
2075
- L(O(Ln))
2078
+ s.value ? (p(), b("button", ls, [
2079
+ L(O(An))
2076
2080
  ])) : (p(), b("button", {
2077
2081
  key: 1,
2078
2082
  onClick: a,
2079
2083
  class: "baklava-button"
2080
2084
  }, [
2081
- L(O(zn))
2085
+ L(O(Un))
2082
2086
  ]))
2083
2087
  ]));
2084
2088
  }
2085
- }), ds = { class: "code-editor" }, us = { class: "code-buttons" }, Ca = /* @__PURE__ */ F({
2089
+ }), us = { class: "code-editor" }, cs = { class: "code-buttons" }, wa = /* @__PURE__ */ F({
2086
2090
  __name: "CodeEditor",
2087
- props: /* @__PURE__ */ Be({
2091
+ props: /* @__PURE__ */ He({
2088
2092
  locked: { type: Boolean },
2089
2093
  extensions: {}
2090
2094
  }, {
2091
- modelValue: { required: !0, type: String },
2095
+ modelValue: { required: !0 },
2092
2096
  modelModifiers: {}
2093
2097
  }),
2094
- emits: /* @__PURE__ */ Be(["update:locked"], ["update:modelValue"]),
2098
+ emits: /* @__PURE__ */ He(["update:locked"], ["update:modelValue"]),
2095
2099
  setup(n, { emit: e }) {
2096
- const t = Nt(n, "modelValue"), o = e, s = (a) => o("update:locked", a);
2100
+ const t = Et(n, "modelValue"), o = e, s = (a) => o("update:locked", a);
2097
2101
  return (a, i) => {
2098
- const r = qe("codemirror");
2099
- return p(), b("div", ds, [
2100
- m("div", us, [
2102
+ const r = Je("codemirror");
2103
+ return p(), b("div", us, [
2104
+ m("div", cs, [
2101
2105
  n.locked ? (p(), b("button", {
2102
2106
  key: 0,
2103
2107
  class: "baklava-button",
2104
2108
  title: "The code is locked.",
2105
2109
  onClick: i[0] || (i[0] = (l) => s(!1))
2106
2110
  }, [
2107
- L(O(mt))
2111
+ L(O(vt))
2108
2112
  ])) : j("", !0),
2109
- L(ls, { text: n.modelValue }, null, 8, ["text"])
2113
+ L(ds, { text: n.modelValue }, null, 8, ["text"])
2110
2114
  ]),
2111
2115
  L(r, {
2112
2116
  modelValue: t.value,
@@ -2119,26 +2123,26 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2119
2123
  ]);
2120
2124
  };
2121
2125
  }
2122
- }), wa = /* @__PURE__ */ F({
2126
+ }), ka = /* @__PURE__ */ F({
2123
2127
  __name: "CodeGraphEditor",
2124
2128
  props: {
2125
2129
  viewModel: {}
2126
2130
  },
2127
2131
  setup(n) {
2128
2132
  const t = $e(n, "viewModel"), o = (s) => s.events.update.emit(null);
2129
- return Se(t.value.onMounted), Je(t.value.onBeforeUnmount), Qe(t, (s, a) => {
2133
+ return Se(t.value.onMounted), Qe(t.value.onBeforeUnmount), Ze(t, (s, a) => {
2130
2134
  a && a.onBeforeUnmount(), s && s.onMounted();
2131
- }), (s, a) => (p(), B(O(Jt), { "view-model": t.value }, {
2135
+ }), (s, a) => (p(), V(O(Qt), { "view-model": t.value }, {
2132
2136
  palette: ee(() => [
2133
- L(O(Bs))
2137
+ L(O(Hs))
2134
2138
  ]),
2135
2139
  node: ee((i) => [
2136
- L(O(ws), Ot(i, {
2140
+ L(O(ks), Mt(i, {
2137
2141
  onUpdate: (r) => o(i.node)
2138
2142
  }), null, 16, ["onUpdate"])
2139
2143
  ]),
2140
2144
  sidebar: ee((i) => [
2141
- L(O(As), Et(Tt(i)), {
2145
+ L(O(Rs), Tt(Ot(i)), {
2142
2146
  codeEditor: ee(({ node: r }) => [
2143
2147
  q(s.$slots, "sidebarCodeEditor", { node: r })
2144
2148
  ]),
@@ -2148,13 +2152,13 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2148
2152
  _: 3
2149
2153
  }, 8, ["view-model"]));
2150
2154
  }
2151
- }), cs = { class: "code-graph-info" }, ka = /* @__PURE__ */ F({
2155
+ }), ps = { class: "code-graph-info" }, xa = /* @__PURE__ */ F({
2152
2156
  __name: "CodeGraphInfo",
2153
2157
  props: {
2154
2158
  viewModel: {}
2155
2159
  },
2156
2160
  setup(n) {
2157
- return (e, t) => (p(), b("div", cs, [
2161
+ return (e, t) => (p(), b("div", ps, [
2158
2162
  m("div", null, "Editor graph: " + P(n.viewModel.editor.graph.shortId), 1),
2159
2163
  m("div", null, "Displayed graph: " + P(n.viewModel.displayedGraph.shortId), 1),
2160
2164
  m("div", null, "Graphs: " + P(n.viewModel.editor.graphIds), 1),
@@ -2162,13 +2166,13 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2162
2166
  m("div", null, "Engine status: " + P(n.viewModel.engine?.status), 1)
2163
2167
  ]));
2164
2168
  }
2165
- }), ps = ["data-node-type", "id"], hs = {
2169
+ }), hs = ["data-node-type", "id"], fs = {
2166
2170
  class: "__title-label",
2167
2171
  style: { "flex-grow": "1" }
2168
- }, fs = { key: 0 }, ms = {
2172
+ }, ms = { key: 0 }, vs = {
2169
2173
  class: "__menu",
2170
2174
  style: { display: "flex" }
2171
- }, vs = { class: "__outputs" }, gs = { key: 0 }, bs = ["id", "title"], ys = { class: "__inputs" }, _s = { key: 0 }, Cs = ["id", "title"], ws = /* @__PURE__ */ F({
2175
+ }, gs = { class: "__outputs" }, bs = { key: 0 }, ys = ["id", "title"], _s = { class: "__inputs" }, Cs = { key: 0 }, ws = ["id", "title"], ks = /* @__PURE__ */ F({
2172
2176
  __name: "CodeGraphNode",
2173
2177
  props: {
2174
2178
  node: {},
@@ -2185,7 +2189,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2185
2189
  { value: "rename", label: "Rename" },
2186
2190
  { value: "delete", label: "Delete" }
2187
2191
  ];
2188
- return s.node.type.startsWith(jt) && M.push({ value: "editSubgraph", label: "Edit Subgraph" }), M;
2192
+ return s.node.type.startsWith(Pt) && M.push({ value: "editSubgraph", label: "Edit Subgraph" }), M;
2189
2193
  }), T = G(() => ({
2190
2194
  "--selected": s.selected,
2191
2195
  "--dragging": s.dragging,
@@ -2221,7 +2225,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2221
2225
  l.value.removeNode(s.node);
2222
2226
  break;
2223
2227
  case "rename":
2224
- h.value = s.node.title, C.value = !0, await Mt(), N.value?.focus();
2228
+ h.value = s.node.title, C.value = !0, await $t(), N.value?.focus();
2225
2229
  break;
2226
2230
  case "editSubgraph":
2227
2231
  u(s.node.template);
@@ -2244,7 +2248,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2244
2248
  };
2245
2249
  return Se(() => {
2246
2250
  ye(), window.addEventListener("mousemove", le), window.addEventListener("mouseup", _e);
2247
- }), Ze(ye), Je(() => {
2251
+ }), et(ye), Qe(() => {
2248
2252
  window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", _e);
2249
2253
  }), (M, g) => (p(), b("div", {
2250
2254
  class: oe([T.value, "baklava-node"]),
@@ -2265,7 +2269,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2265
2269
  onPointerdown: de(k, ["self", "stop"]),
2266
2270
  onContextmenu: de(R, ["prevent"])
2267
2271
  }, [
2268
- a.value.inputs._code ? (p(), B(O(Ye), {
2272
+ a.value.inputs._code ? (p(), V(O(Ye), {
2269
2273
  key: 0,
2270
2274
  intf: a.value.inputs._code,
2271
2275
  node: a.value,
@@ -2288,35 +2292,35 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2288
2292
  }, null, 544)), [
2289
2293
  [xe, h.value]
2290
2294
  ]) : (p(), b(U, { key: 1 }, [
2291
- m("div", hs, [
2292
- a.value.idx > -1 ? (p(), b("span", fs, P(a.value.idx + 1) + " > ", 1)) : j("", !0),
2293
- et(P(a.value.title), 1)
2295
+ m("div", fs, [
2296
+ a.value.idx > -1 ? (p(), b("span", ms, P(a.value.idx + 1) + " > ", 1)) : j("", !0),
2297
+ tt(P(a.value.title), 1)
2294
2298
  ]),
2295
- m("div", ms, [
2299
+ m("div", vs, [
2296
2300
  a.value.isCodeNode ? (p(), b(U, { key: 0 }, [
2297
- a.value.state.lockCode ? (p(), B(O(mt), {
2301
+ a.value.state.lockCode ? (p(), V(O(vt), {
2298
2302
  key: 0,
2299
2303
  class: "--clickable mx-1",
2300
2304
  onClick: g[0] || (g[0] = (c) => a.value.lockCode = !1)
2301
2305
  })) : j("", !0),
2302
- a.value.state.integrated ? (p(), B(O(Pn), {
2306
+ a.value.state.integrated ? (p(), V(O(Bn), {
2303
2307
  key: 1,
2304
2308
  class: "--clickable mx-1",
2305
2309
  onClick: g[1] || (g[1] = (c) => se(!1))
2306
- })) : (p(), B(O(Ro), {
2310
+ })) : (p(), V(O(jo), {
2307
2311
  key: 2,
2308
2312
  class: "--clickable mx-1",
2309
2313
  onClick: g[2] || (g[2] = (c) => se(!0))
2310
2314
  })),
2311
- !O(r).displayedGraph.sidebar.visible && O(r).displayedGraph.sidebar.nodeId !== a.value.id ? (p(), B(O(ho), {
2315
+ !O(r).displayedGraph.sidebar.visible && O(r).displayedGraph.sidebar.nodeId !== a.value.id ? (p(), V(O(fo), {
2312
2316
  key: 3,
2313
2317
  class: "--clickable mx-1",
2314
2318
  onClick: ge
2315
- })) : O(r).displayedGraph.sidebar.visible && O(r).displayedGraph.sidebar.nodeId !== a.value.id ? (p(), B(O(so), {
2319
+ })) : O(r).displayedGraph.sidebar.visible && O(r).displayedGraph.sidebar.nodeId !== a.value.id ? (p(), V(O(ao), {
2316
2320
  key: 4,
2317
2321
  class: "--clickable mx-1",
2318
2322
  onClick: he
2319
- })) : (p(), B(O(lo), {
2323
+ })) : (p(), V(O(uo), {
2320
2324
  key: 5,
2321
2325
  class: "--clickable mx-1",
2322
2326
  onClick: z
@@ -2336,7 +2340,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2336
2340
  }, null, 8, ["modelValue", "items"])
2337
2341
  ])
2338
2342
  ], 64)),
2339
- a.value.outputs._code ? (p(), B(O(Ye), {
2343
+ a.value.outputs._code ? (p(), V(O(Ye), {
2340
2344
  key: 3,
2341
2345
  node: a.value,
2342
2346
  intf: a.value.outputs._code,
@@ -2352,11 +2356,11 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2352
2356
  onContextmenu: g[6] || (g[6] = de(() => {
2353
2357
  }, ["prevent"]))
2354
2358
  }, [
2355
- m("div", vs, [
2359
+ m("div", gs, [
2356
2360
  (p(!0), b(U, null, ae(pe.value, (c) => (p(), b(U, {
2357
2361
  key: c.id
2358
2362
  }, [
2359
- a.value.state?.hidden ? (p(), b("div", gs, [
2363
+ a.value.state?.hidden ? (p(), b("div", bs, [
2360
2364
  c.port ? (p(), b("div", {
2361
2365
  key: 0,
2362
2366
  id: c.id,
@@ -2364,7 +2368,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2364
2368
  class: "baklava-node-interface --output --connected"
2365
2369
  }, [...g[7] || (g[7] = [
2366
2370
  m("div", { class: "__port" }, null, -1)
2367
- ])], 8, bs)) : j("", !0)
2371
+ ])], 8, ys)) : j("", !0)
2368
2372
  ])) : q(M.$slots, "nodeInterface", {
2369
2373
  key: 1,
2370
2374
  type: "output",
@@ -2379,11 +2383,11 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2379
2383
  ])
2380
2384
  ], 64))), 128))
2381
2385
  ]),
2382
- m("div", ys, [
2386
+ m("div", _s, [
2383
2387
  (p(!0), b(U, null, ae(Z.value, (c) => (p(), b(U, {
2384
2388
  key: c.id
2385
2389
  }, [
2386
- a.value.state?.hidden ? (p(), b("div", _s, [
2390
+ a.value.state?.hidden ? (p(), b("div", Cs, [
2387
2391
  c.port ? (p(), b("div", {
2388
2392
  key: 0,
2389
2393
  id: c.id,
@@ -2391,7 +2395,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2391
2395
  class: "baklava-node-interface --input --connected"
2392
2396
  }, [...g[8] || (g[8] = [
2393
2397
  m("div", { class: "__port" }, null, -1)
2394
- ])], 8, Cs)) : j("", !0)
2398
+ ])], 8, ws)) : j("", !0)
2395
2399
  ])) : q(M.$slots, "nodeInterface", {
2396
2400
  key: 1,
2397
2401
  node: a.value,
@@ -2407,16 +2411,16 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2407
2411
  ], 64))), 128))
2408
2412
  ])
2409
2413
  ], 34)
2410
- ], 46, ps));
2414
+ ], 46, hs));
2411
2415
  }
2412
- }), ks = ["id"], xs = { class: "align-middle" }, Ye = /* @__PURE__ */ F({
2416
+ }), xs = ["id"], Is = { class: "align-middle" }, Ye = /* @__PURE__ */ F({
2413
2417
  __name: "CodeGraphNodeInterface",
2414
2418
  props: {
2415
2419
  node: {},
2416
2420
  intf: {}
2417
2421
  },
2418
2422
  setup(n) {
2419
- const e = n, { viewModel: t } = me(), { hoveredOver: o, temporaryConnection: s } = Qt(), a = H(null), i = G(() => e.intf.connectionCount > 0), r = G(() => ({
2423
+ const e = n, { viewModel: t } = me(), { hoveredOver: o, temporaryConnection: s } = Zt(), a = H(null), i = G(() => e.intf.connectionCount > 0), r = G(() => ({
2420
2424
  "--connected": i.value
2421
2425
  })), l = () => {
2422
2426
  o(e.intf);
@@ -2425,7 +2429,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2425
2429
  }, f = () => {
2426
2430
  a.value && t.value.hooks.renderInterface.execute({ intf: e.intf, el: a.value });
2427
2431
  };
2428
- return Se(f), Ze(f), (C, h) => (p(), b("div", {
2432
+ return Se(f), et(f), (C, h) => (p(), b("div", {
2429
2433
  id: n.intf.id,
2430
2434
  ref_key: "el",
2431
2435
  ref: a,
@@ -2437,15 +2441,15 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2437
2441
  onPointerover: l,
2438
2442
  onPointerout: u
2439
2443
  }, null, 34)) : j("", !0),
2440
- m("span", xs, [
2444
+ m("span", Is, [
2441
2445
  q(C.$slots, "default")
2442
2446
  ])
2443
- ], 10, ks));
2447
+ ], 10, xs));
2444
2448
  }
2445
- }), Is = ["title"], Ns = {
2449
+ }), Ns = ["title"], Es = {
2446
2450
  key: 0,
2447
2451
  class: "__label"
2448
- }, We = /* @__PURE__ */ F({
2452
+ }, Xe = /* @__PURE__ */ F({
2449
2453
  __name: "SidebarCheckbox",
2450
2454
  props: {
2451
2455
  disabled: { type: Boolean },
@@ -2475,13 +2479,13 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2475
2479
  })
2476
2480
  ])
2477
2481
  ], -1)),
2478
- n.name ? (p(), b("div", Ns, P(n.name), 1)) : j("", !0)
2479
- ], 10, Is));
2482
+ n.name ? (p(), b("div", Es, P(n.name), 1)) : j("", !0)
2483
+ ], 10, Ns));
2480
2484
  }
2481
- }), Es = { class: "__header" }, Ts = { class: "__node-name" }, Os = { class: "__interfaces" }, Ms = { class: "__inputs" }, $s = { style: { display: "flex" } }, Ss = { class: "__outputs" }, Gs = {
2485
+ }), Ts = { class: "__header" }, Os = { class: "__node-name" }, Ms = { class: "__interfaces" }, $s = { class: "__inputs" }, Ss = { style: { display: "flex" } }, Gs = { class: "__outputs" }, Ls = {
2482
2486
  key: 0,
2483
2487
  class: "__interface"
2484
- }, Ls = { style: { display: "flex" } }, As = /* @__PURE__ */ F({
2488
+ }, As = { style: { display: "flex" } }, Rs = /* @__PURE__ */ F({
2485
2489
  __name: "CodeGraphSidebar",
2486
2490
  setup(n) {
2487
2491
  const { viewModel: e } = me(), { graph: t } = Le(), o = H(null), s = $e(e.value.settings.sidebar, "width"), a = G(() => e.value.settings.sidebar.resizable);
@@ -2520,24 +2524,24 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2520
2524
  onMousedown: w
2521
2525
  }, null, 32)) : j("", !0),
2522
2526
  l.value ? (p(), b(U, { key: 1 }, [
2523
- m("div", Es, [
2527
+ m("div", Ts, [
2524
2528
  m("button", {
2525
2529
  tabindex: "-1",
2526
2530
  class: "__close",
2527
2531
  onClick: N
2528
2532
  }, "×"),
2529
- m("div", Ts, [
2533
+ m("div", Os, [
2530
2534
  m("b", null, P(l.value.title), 1)
2531
2535
  ])
2532
2536
  ]),
2533
- m("div", Os, [
2534
- m("div", Ms, [
2537
+ m("div", Ms, [
2538
+ m("div", $s, [
2535
2539
  (p(!0), b(U, null, ae(C.value, (T) => (p(), b("div", {
2536
2540
  key: T.id,
2537
2541
  class: "__interface"
2538
2542
  }, [
2539
- m("div", $s, [
2540
- L(We, {
2543
+ m("div", Ss, [
2544
+ L(Xe, {
2541
2545
  modelValue: T.hidden,
2542
2546
  "onUpdate:modelValue": [
2543
2547
  (S) => T.hidden = S,
@@ -2547,7 +2551,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2547
2551
  inversed: "",
2548
2552
  style: { "padding-right": "8px" }
2549
2553
  }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled"]),
2550
- (p(), B(He(T.component), {
2554
+ (p(), V(ze(T.component), {
2551
2555
  modelValue: T.value,
2552
2556
  "onUpdate:modelValue": (S) => T.value = S,
2553
2557
  node: l.value,
@@ -2557,8 +2561,8 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2557
2561
  ])
2558
2562
  ]))), 128))
2559
2563
  ]),
2560
- m("div", Ss, [
2561
- u.value && u.value.state ? (p(), b("div", Gs, [
2564
+ m("div", Gs, [
2565
+ u.value && u.value.state ? (p(), b("div", Ls, [
2562
2566
  $[3] || ($[3] = m("label", null, "Variable name", -1)),
2563
2567
  ke(m("input", {
2564
2568
  "onUpdate:modelValue": $[1] || ($[1] = (T) => u.value.state.variableName = T),
@@ -2575,8 +2579,8 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2575
2579
  key: T.id,
2576
2580
  class: "__interface"
2577
2581
  }, [
2578
- m("div", Ls, [
2579
- L(We, {
2582
+ m("div", As, [
2583
+ L(Xe, {
2580
2584
  modelValue: T.hidden,
2581
2585
  "onUpdate:modelValue": [
2582
2586
  (S) => T.hidden = S,
@@ -2586,7 +2590,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2586
2590
  inversed: "",
2587
2591
  style: { "padding-right": "8px" }
2588
2592
  }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled"]),
2589
- (p(), B(He(T.component), {
2593
+ (p(), V(ze(T.component), {
2590
2594
  modelValue: T.value,
2591
2595
  "onUpdate:modelValue": (S) => T.value = S,
2592
2596
  node: l.value,
@@ -2601,23 +2605,23 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2601
2605
  ], 64)) : j("", !0)
2602
2606
  ], 6));
2603
2607
  }
2604
- }), Rs = {
2608
+ }), js = {
2605
2609
  class: "baklava-node --palette",
2606
2610
  style: { "margin-top": "-20px", "margin-bottom": "20px" }
2607
- }, js = {
2611
+ }, Ps = {
2608
2612
  key: 0,
2609
2613
  style: { display: "flex", "justify-content": "space-between" }
2610
- }, Ps = ["onClick"], Vs = {
2614
+ }, Bs = ["onClick"], Vs = {
2611
2615
  key: 0,
2612
2616
  style: { margin: "auto 0", "font-size": "12px" }
2613
- }, Bs = /* @__PURE__ */ F({
2617
+ }, Hs = /* @__PURE__ */ F({
2614
2618
  __name: "CodeNodePalette",
2615
2619
  setup(n) {
2616
- const e = Me.PaletteEntry, { viewModel: t } = me(), { x: o, y: s } = hn(), { transform: a } = Zt(), i = en(t), r = $t("editorEl"), l = H(""), u = H(null), f = () => l.value ? i.value.filter(
2620
+ const e = Me.PaletteEntry, { viewModel: t } = me(), { x: o, y: s } = fn(), { transform: a } = en(), i = tn(t), r = St("editorEl"), l = H(""), u = H(null), f = () => l.value ? i.value.filter(
2617
2621
  (v) => v.name.toLowerCase().includes(l.value.toLowerCase()) || Object.values(v.nodeTypes).some(
2618
2622
  (w) => w.title.toLowerCase().includes(l.value.toLowerCase())
2619
2623
  )
2620
- ) : i.value, C = (v) => l.value ? Jo(v, (w) => {
2624
+ ) : i.value, C = (v) => l.value ? Qo(v, (w) => {
2621
2625
  const d = w[1];
2622
2626
  return d.category.includes(l.value.toLowerCase()) || d.title?.toLowerCase().includes(l.value.toLowerCase());
2623
2627
  }) : v, h = G(() => {
@@ -2646,7 +2650,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2646
2650
  onContextmenu: w[1] || (w[1] = de(() => {
2647
2651
  }, ["stop", "prevent"]))
2648
2652
  }, [
2649
- m("div", Rs, [
2653
+ m("div", js, [
2650
2654
  ke(m("input", {
2651
2655
  "onUpdate:modelValue": w[0] || (w[0] = (d) => l.value = d),
2652
2656
  type: "text",
@@ -2660,14 +2664,14 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2660
2664
  (p(!0), b(U, null, ae(f(), (d) => (p(), b("section", {
2661
2665
  key: d.name
2662
2666
  }, [
2663
- d.name !== "default" ? (p(), b("h3", js, [
2667
+ d.name !== "default" ? (p(), b("h3", Ps, [
2664
2668
  m("div", {
2665
2669
  onClick: (y) => l.value = d.name,
2666
2670
  style: { cursor: "pointer" }
2667
- }, P(d.name), 9, Ps),
2671
+ }, P(d.name), 9, Bs),
2668
2672
  Object.keys(C(d.nodeTypes)).length < Object.values(d.nodeTypes).length ? (p(), b("div", Vs, " ( " + P(Object.keys(C(d.nodeTypes)).length) + " / " + P(Object.values(d.nodeTypes).length) + " ) ", 1)) : j("", !0)
2669
2673
  ])) : j("", !0),
2670
- (p(!0), b(U, null, ae(C(d.nodeTypes), (y, $) => (p(), B(O(e), {
2674
+ (p(!0), b(U, null, ae(C(d.nodeTypes), (y, $) => (p(), V(O(e), {
2671
2675
  key: $,
2672
2676
  title: y.title,
2673
2677
  type: $,
@@ -2675,7 +2679,7 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2675
2679
  }, null, 8, ["title", "type", "onPointerdown"]))), 128))
2676
2680
  ]))), 128))
2677
2681
  ], 34),
2678
- L(St, { name: "fade" }, {
2682
+ L(Gt, { name: "fade" }, {
2679
2683
  default: ee(() => [
2680
2684
  u.value ? (p(), b("div", {
2681
2685
  key: 0,
@@ -2692,23 +2696,23 @@ const as = /* @__PURE__ */ ts(ss), rs = (n) => ({
2692
2696
  })
2693
2697
  ], 64));
2694
2698
  }
2695
- }), Hs = {}, zs = { class: "prependIcon" }, Us = { class: "appendIcon" };
2696
- function Ds(n, e) {
2697
- const t = qe("router-link");
2698
- return p(), B(t, { class: "navItem" }, {
2699
+ }), zs = {}, Us = { class: "prependIcon" }, Ds = { class: "appendIcon" };
2700
+ function Fs(n, e) {
2701
+ const t = Je("router-link");
2702
+ return p(), V(t, { class: "navItem" }, {
2699
2703
  default: ee(() => [
2700
- m("span", zs, [
2704
+ m("span", Us, [
2701
2705
  q(n.$slots, "prependIcon")
2702
2706
  ]),
2703
2707
  q(n.$slots, "default"),
2704
- m("span", Us, [
2708
+ m("span", Ds, [
2705
2709
  q(n.$slots, "appendIcon")
2706
2710
  ])
2707
2711
  ]),
2708
2712
  _: 3
2709
2713
  });
2710
2714
  }
2711
- const Xe = /* @__PURE__ */ A(Hs, [["render", Ds]]), Fs = { class: "navbar" }, Ys = ["onClick"], xa = /* @__PURE__ */ F({
2715
+ const Ke = /* @__PURE__ */ A(zs, [["render", Fs]]), Ws = { class: "navbar" }, Ys = ["onClick"], Ia = /* @__PURE__ */ F({
2712
2716
  __name: "NavBar",
2713
2717
  props: {
2714
2718
  viewModel: {},
@@ -2720,9 +2724,9 @@ const Xe = /* @__PURE__ */ A(Hs, [["render", Ds]]), Fs = { class: "navbar" }, Ys
2720
2724
  const t = e, o = (s) => {
2721
2725
  t("click:remove", s);
2722
2726
  };
2723
- return (s, a) => (p(), b("nav", Fs, [
2727
+ return (s, a) => (p(), b("nav", Ws, [
2724
2728
  q(s.$slots, "prepend"),
2725
- (p(!0), b(U, null, ae(n.editorStates, (i) => (p(), B(Xe, {
2729
+ (p(!0), b(U, null, ae(n.editorStates, (i) => (p(), V(Ke, {
2726
2730
  key: i.graph.id,
2727
2731
  class: oe({ active: i.graph.id === n.viewModel.displayedGraph.id }),
2728
2732
  to: { name: n.routes?.edit ?? "edit", params: { editorId: i.graph.id } }
@@ -2732,21 +2736,21 @@ const Xe = /* @__PURE__ */ A(Hs, [["render", Ds]]), Fs = { class: "navbar" }, Ys
2732
2736
  class: "remove",
2733
2737
  onClick: de((r) => o(i.graph.id), ["prevent"])
2734
2738
  }, [
2735
- L(O(Do))
2739
+ L(O(Fo))
2736
2740
  ], 8, Ys)
2737
2741
  ]),
2738
2742
  default: ee(() => [
2739
- et(P(i.graph.id.slice(0, 6)) + " ", 1)
2743
+ tt(P(i.graph.id.slice(0, 6)) + " ", 1)
2740
2744
  ]),
2741
2745
  _: 2
2742
2746
  }, 1032, ["class", "to"]))), 128)),
2743
2747
  q(s.$slots, "append", {}, () => [
2744
- L(Xe, {
2748
+ L(Ke, {
2745
2749
  to: { name: n.routes?.new ?? "new" },
2746
2750
  class: "navItem"
2747
2751
  }, {
2748
2752
  default: ee(() => [
2749
- L(O(xo), { class: "plus" })
2753
+ L(O(Io), { class: "plus" })
2750
2754
  ]),
2751
2755
  _: 1
2752
2756
  }, 8, ["to"])
@@ -2754,35 +2758,35 @@ const Xe = /* @__PURE__ */ A(Hs, [["render", Ds]]), Fs = { class: "navbar" }, Ys
2754
2758
  ]));
2755
2759
  }
2756
2760
  });
2757
- class xt extends wt {
2761
+ class It extends kt {
2758
2762
  _title = "Subgraph Input";
2759
2763
  inputs = {
2760
- _code: new D("_code", "").use(V, X).setHidden(!0),
2761
- name: new at("Name", "Input").setPort(!1)
2764
+ _code: new D("_code", "").use(B, X).setHidden(!0),
2765
+ name: new rt("Name", "Input").setPort(!1)
2762
2766
  };
2763
2767
  outputs = {
2764
- _code: new D("_code", "").use(V, X).setHidden(!0),
2768
+ _code: new D("_code", "").use(B, X).setHidden(!0),
2765
2769
  placeholder: new J("Connection", void 0)
2766
2770
  };
2767
2771
  }
2768
- class It extends kt {
2772
+ class Nt extends xt {
2769
2773
  _title = "Subgraph Output";
2770
2774
  inputs = {
2771
- _code: new D("_code", "").use(V, X).setHidden(!0),
2772
- name: new at("Name", "Output").setPort(!1),
2775
+ _code: new D("_code", "").use(B, X).setHidden(!0),
2776
+ name: new rt("Name", "Output").setPort(!1),
2773
2777
  placeholder: new J("Connection", void 0)
2774
2778
  };
2775
2779
  outputs = {
2776
- _code: new D("_code", "").use(V, X).setHidden(!0),
2780
+ _code: new D("_code", "").use(B, X).setHidden(!0),
2777
2781
  output: new J("Output", void 0).setHidden(!0)
2778
2782
  };
2779
2783
  }
2780
- const Ws = "CREATE_SUBGRAPH", Ke = [Pt, Vt];
2781
- function Xs(n, e, t) {
2782
- const o = () => n.value.selectedNodes.filter((a) => !Ke.includes(a.type)).length > 0, s = () => {
2784
+ const Xs = "CREATE_SUBGRAPH", qe = [Bt, Vt];
2785
+ function Ks(n, e, t) {
2786
+ const o = () => n.value.selectedNodes.filter((a) => !qe.includes(a.type)).length > 0, s = () => {
2783
2787
  const { viewModel: a } = me(), i = n.value, r = n.value.editor;
2784
2788
  if (i.selectedNodes.length === 0) return;
2785
- const l = i.selectedNodes.filter((k) => !Ke.includes(k.type)), u = l.flatMap((k) => Object.values(k.inputs)), f = l.flatMap((k) => Object.values(k.outputs)), C = i.connections.filter(
2789
+ const l = i.selectedNodes.filter((k) => !qe.includes(k.type)), u = l.flatMap((k) => Object.values(k.inputs)), f = l.flatMap((k) => Object.values(k.outputs)), C = i.connections.filter(
2786
2790
  (k) => !f.includes(k.from) && u.includes(k.to)
2787
2791
  ), h = i.connections.filter(
2788
2792
  (k) => f.includes(k.from) && !u.includes(k.to)
@@ -2792,16 +2796,16 @@ function Xs(n, e, t) {
2792
2796
  id: k.id,
2793
2797
  from: k.from.id,
2794
2798
  to: k.to.id
2795
- })), d = /* @__PURE__ */ new Map(), { xLeft: y, xRight: $, yTop: T } = Ks(l);
2799
+ })), d = /* @__PURE__ */ new Map(), { xLeft: y, xRight: $, yTop: T } = qs(l);
2796
2800
  for (const [k, R] of C.entries()) {
2797
- const z = new xt();
2801
+ const z = new It();
2798
2802
  z.inputs.name.value = R.to.name, v.push({
2799
2803
  ...z.save(),
2800
2804
  position: { x: $ - a.value.settings.nodes.defaultWidth - 100, y: T + k * 200 }
2801
2805
  }), w.push({ id: re(), from: z.outputs.placeholder.id, to: R.to.id }), d.set(R.to.id, z.graphInterfaceId);
2802
2806
  }
2803
2807
  for (const [k, R] of h.entries()) {
2804
- const z = new It();
2808
+ const z = new Nt();
2805
2809
  z.inputs.name.value = R.from.name, v.push({
2806
2810
  ...z.save(),
2807
2811
  position: { x: y + 100, y: T + k * 200 }
@@ -2820,7 +2824,7 @@ function Xs(n, e, t) {
2820
2824
  )
2821
2825
  );
2822
2826
  r.addGraphTemplate(S);
2823
- const Q = r.nodeTypes.get(tt(S));
2827
+ const Q = r.nodeTypes.get(nt(S));
2824
2828
  if (!Q) throw new Error("Unable to create subgraph: Could not find corresponding graph node type");
2825
2829
  i.activeTransactions++;
2826
2830
  const Z = te(new Q.type());
@@ -2836,12 +2840,12 @@ function Xs(n, e, t) {
2836
2840
  i.removeConnection(k), i.addConnection(Z.outputs[d.get(k.from.id)], k.to);
2837
2841
  }), l.forEach((k) => i.removeNode(k)), i.activeTransactions--, e.canExecuteCommand(ne.SAVE_SUBGRAPH_COMMAND) && e.executeCommand(ne.SAVE_SUBGRAPH_COMMAND), t(S), n.value.panning = { ...i.panning }, n.value.scaling = i.scaling;
2838
2842
  };
2839
- e.registerCommand(Ws, {
2843
+ e.registerCommand(Xs, {
2840
2844
  canExecute: o,
2841
2845
  execute: s
2842
2846
  });
2843
2847
  }
2844
- function Ks(n) {
2848
+ function qs(n) {
2845
2849
  const e = n.reduce((s, a) => {
2846
2850
  const i = a.position.x;
2847
2851
  return i < s ? i : s;
@@ -2854,7 +2858,7 @@ function Ks(n) {
2854
2858
  return i > s ? i : s;
2855
2859
  }, -1 / 0), xRight: e, yTop: t };
2856
2860
  }
2857
- class qs extends Bt {
2861
+ class Js extends Ht {
2858
2862
  code;
2859
2863
  graph;
2860
2864
  constructor(e) {
@@ -2875,7 +2879,7 @@ class qs extends Bt {
2875
2879
  addGraphTemplate(e) {
2876
2880
  if (this.events.beforeAddGraphTemplate.emit(e).prevented) return;
2877
2881
  this._graphTemplates.push(e), this.graphTemplateEvents.addTarget(e.events), this.graphTemplateHooks.addTarget(e.hooks);
2878
- const t = qo(e);
2882
+ const t = Jo(e);
2879
2883
  this.registerNodeType(t, { category: "Subgraphs", title: e.name }), this.events.addGraphTemplate.emit(e);
2880
2884
  }
2881
2885
  /**
@@ -2906,14 +2910,14 @@ class qs extends Bt {
2906
2910
  this.code.state.modules[e] = t;
2907
2911
  }
2908
2912
  }
2909
- function Ia(n) {
2910
- const e = H(n?.code ?? new Ve()), t = H(n?.existingEditor ?? new qs(e.value)), o = Symbol("ViewModelToken"), s = H(null), a = Gt(s), { switchGraph: i } = es(t, s), r = G(() => a.value && a.value !== t.value.graph), l = te(tn());
2911
- l.nodes.defaultWidth = 400;
2912
- const u = nn(), f = on(a, u), C = sn(a, t, u), h = {
2913
+ function Na(n) {
2914
+ const e = H(n?.code ?? new Be()), t = H(n?.existingEditor ?? new Js(e.value)), o = Symbol("ViewModelToken"), s = H(null), a = Lt(s), { switchGraph: i } = ts(t, s), r = G(() => a.value && a.value !== t.value.graph), l = te(nn());
2915
+ l.nodes.defaultWidth = Ve;
2916
+ const u = on(), f = sn(a, u), C = an(a, t, u), h = {
2913
2917
  /** Called whenever a node is rendered */
2914
- renderNode: new ze(null),
2918
+ renderNode: new Ue(null),
2915
2919
  /** Called whenever an interface is rendered */
2916
- renderInterface: new ze(null)
2920
+ renderInterface: new Ue(null)
2917
2921
  }, N = te({
2918
2922
  clipboard: C,
2919
2923
  code: e,
@@ -2930,104 +2934,105 @@ function Ia(n) {
2930
2934
  settings: l,
2931
2935
  switchGraph: i
2932
2936
  });
2933
- return e.value.registerViewModel(N), Xo(N), an(a, u), Xs(a, u, i), rn(a, u), ln(a, u, i), dn(a, u), un(a, u, l), Fo(a, u, l), Yo(l), Qe(
2937
+ return e.value.registerViewModel(N), Ko(N), rn(a, u), Ks(a, u, i), ln(a, u), dn(a, u, i), un(a, u), cn(a, u, l), Wo(a, u, l), Yo(l), Ze(
2934
2938
  t,
2935
2939
  (v, w) => {
2936
2940
  w && (w.events.registerGraph.unsubscribe(o), w.graphEvents.beforeAddNode.unsubscribe(o), v.nodeHooks.beforeLoad.unsubscribe(o), v.nodeHooks.afterSave.unsubscribe(o), v.graphTemplateHooks.beforeLoad.unsubscribe(o), v.graphTemplateHooks.afterSave.unsubscribe(o), v.graph.hooks.load.unsubscribe(o), v.graph.hooks.save.unsubscribe(o)), v && (v.nodeHooks.beforeLoad.subscribe(o, (d, y) => (y.position = d.position ?? { x: 0, y: 0 }, y.width = d.width ?? l.nodes.defaultWidth, y.twoColumn = d.twoColumn ?? !1, d)), v.nodeHooks.afterSave.subscribe(o, (d, y) => (d.position = y.position, d.width = y.width, d.twoColumn = y.twoColumn, d)), v.graphTemplateHooks.beforeLoad.subscribe(o, (d, y) => (y.panning = d.panning, y.scaling = d.scaling, d)), v.graphTemplateHooks.afterSave.subscribe(o, (d, y) => (d.panning = y.panning, d.scaling = y.scaling, d)), v.graph.hooks.load.subscribe(o, (d, y) => (y.panning = d.panning, y.scaling = d.scaling, d)), v.graph.hooks.save.subscribe(o, (d, y) => (d.panning = y.panning, d.scaling = y.scaling, d)), v.graphEvents.beforeAddNode.subscribe(
2937
2941
  o,
2938
- (d) => cn(d, { defaultWidth: l.nodes.defaultWidth })
2939
- ), t.value.registerNodeType(xt, { category: "Subgraphs" }), t.value.registerNodeType(It, { category: "Subgraphs" }), i(v.graph));
2942
+ (d) => pn(d, { defaultWidth: l.nodes.defaultWidth })
2943
+ ), t.value.registerNodeType(It, { category: "Subgraphs" }), t.value.registerNodeType(Nt, { category: "Subgraphs" }), i(v.graph));
2940
2944
  },
2941
2945
  { immediate: !0 }
2942
2946
  ), N;
2943
2947
  }
2944
2948
  export {
2945
- rt as AbstractCodeNode,
2946
- vt as CLEAR_ALL_COMMAND,
2947
- Ws as CREATE_SUBGRAPH_COMMAND,
2948
- Ln as Check,
2949
- yn as CheckboxInterface,
2950
- Ve as Code,
2951
- Ca as CodeEditor,
2952
- Mn as CodeEngine,
2949
+ it as AbstractCodeNode,
2950
+ gt as CLEAR_ALL_COMMAND,
2951
+ Xs as CREATE_SUBGRAPH_COMMAND,
2952
+ An as Check,
2953
+ _n as CheckboxInterface,
2954
+ Be as Code,
2955
+ wa as CodeEditor,
2956
+ $n as CodeEngine,
2953
2957
  Ie as CodeGraph,
2954
- wa as CodeGraphEditor,
2955
- ka as CodeGraphInfo,
2956
- wt as CodeGraphInputNode,
2957
- ws as CodeGraphNode,
2958
+ ka as CodeGraphEditor,
2959
+ xa as CodeGraphInfo,
2960
+ kt as CodeGraphInputNode,
2961
+ ks as CodeGraphNode,
2958
2962
  Ye as CodeGraphNodeInterface,
2959
- kt as CodeGraphOutputNode,
2960
- As as CodeGraphSidebar,
2963
+ xt as CodeGraphOutputNode,
2964
+ Rs as CodeGraphSidebar,
2961
2965
  Ne as CodeGraphTemplate,
2962
2966
  Ae as CodeNode,
2963
2967
  ve as CodeNodeInputInterface,
2964
2968
  D as CodeNodeInterface,
2965
2969
  Re as CodeNodeInterfaceComponent,
2966
- _n as CodeNodeOutputInterface,
2967
- Bs as CodeNodePalette,
2968
- Pn as CodeVariable,
2969
- zn as Copy,
2970
- ls as CopyToClipboard,
2970
+ Cn as CodeNodeOutputInterface,
2971
+ Hs as CodeNodePalette,
2972
+ Bn as CodeVariable,
2973
+ Un as Copy,
2974
+ ds as CopyToClipboard,
2971
2975
  Yn as DotsVertical,
2972
- On as DynamicCodeNode,
2973
- Ue as GRAPH_INPUT_NODE_TYPE,
2974
- De as GRAPH_OUTPUT_NODE_TYPE,
2975
- ht as IntegerInterface,
2976
- va as JavascriptCode,
2977
- qn as LayoutSidebarLeftCollapse,
2978
- eo as LayoutSidebarLeftExpand,
2979
- so as LayoutSidebarRight,
2980
- lo as LayoutSidebarRightCollapse,
2981
- ho as LayoutSidebarRightExpand,
2982
- da as ListInputInterface,
2983
- mt as LockCode,
2984
- xa as NavBar,
2985
- Xe as NavItem,
2986
- Cn as NumberInterface,
2987
- _o as PlayerPlay,
2988
- xo as Plus,
2989
- ma as PythonCode,
2990
- gt as RUN_ENGINE_COMMAND,
2991
- To as Schema,
2992
- So as SchemaOff,
2993
- wn as SelectInterface,
2994
- We as SidebarCheckbox,
2995
- ua as SliderInterface,
2996
- xt as SubgraphInputNode,
2997
- It as SubgraphOutputNode,
2998
- bt as TOGGLE_MINIMAP_COMMAND,
2999
- yt as TOGGLE_PALETTE_COMMAND,
3000
- ft as TextInputInterface,
3001
- Tn as TextInputInterfaceComponent,
3002
- ca as TextareaInputInterface,
3003
- Ro as TransitionBottom,
3004
- Bo as TrashOff,
3005
- pa as TupleInputInterface,
3006
- Do as X,
3007
- la as addDefaultInterfaceTypes,
3008
- ga as allowMultipleConnections,
3009
- lt as booleanType,
3010
- qo as createCodeGraphNodeType,
3011
- vn as createInterface,
3012
- ha as defineCodeNode,
3013
- fa as defineDynamicCodeNode,
3014
- bn as dictType,
3015
- fn as formatInputs,
3016
- _t as getCodeNodes,
3017
- ba as getPositionAtColumn,
3018
- ya as getPositionBeforeNode,
3019
- dt as listType,
3020
- it as loadNodeState,
2976
+ Mn as DynamicCodeNode,
2977
+ De as GRAPH_INPUT_NODE_TYPE,
2978
+ Fe as GRAPH_OUTPUT_NODE_TYPE,
2979
+ ft as IntegerInterface,
2980
+ ga as JavascriptCode,
2981
+ Jn as LayoutSidebarLeftCollapse,
2982
+ to as LayoutSidebarLeftExpand,
2983
+ ao as LayoutSidebarRight,
2984
+ uo as LayoutSidebarRightCollapse,
2985
+ fo as LayoutSidebarRightExpand,
2986
+ ua as ListInputInterface,
2987
+ vt as LockCode,
2988
+ Ve as NODE_DEFAULT_WITH,
2989
+ Ia as NavBar,
2990
+ Ke as NavItem,
2991
+ wn as NumberInterface,
2992
+ Co as PlayerPlay,
2993
+ Io as Plus,
2994
+ va as PythonCode,
2995
+ bt as RUN_ENGINE_COMMAND,
2996
+ Oo as Schema,
2997
+ Go as SchemaOff,
2998
+ kn as SelectInterface,
2999
+ Xe as SidebarCheckbox,
3000
+ ca as SliderInterface,
3001
+ It as SubgraphInputNode,
3002
+ Nt as SubgraphOutputNode,
3003
+ yt as TOGGLE_MINIMAP_COMMAND,
3004
+ _t as TOGGLE_PALETTE_COMMAND,
3005
+ mt as TextInputInterface,
3006
+ On as TextInputInterfaceComponent,
3007
+ pa as TextareaInputInterface,
3008
+ jo as TransitionBottom,
3009
+ Ho as TrashOff,
3010
+ ha as TupleInputInterface,
3011
+ Fo as X,
3012
+ da as addDefaultInterfaceTypes,
3013
+ ba as allowMultipleConnections,
3014
+ dt as booleanType,
3015
+ Jo as createCodeGraphNodeType,
3016
+ gn as createInterface,
3017
+ fa as defineCodeNode,
3018
+ ma as defineDynamicCodeNode,
3019
+ yn as dictType,
3020
+ mn as formatInputs,
3021
+ Ct as getCodeNodes,
3022
+ ya as getPositionAtColumn,
3023
+ _a as getPositionBeforeNode,
3024
+ ut as listType,
3025
+ lt as loadNodeState,
3021
3026
  X as nodeType,
3022
- ut as numberType,
3023
- Xo as registerCodeEngine,
3024
- Xs as registerCreateSubgraphCommand,
3025
- Fo as registerCustomCommands,
3026
- Wo as registerRunEngineCommands,
3027
- mn as saveNodeState,
3028
- ct as stringType,
3029
- pt as tupleType,
3027
+ ct as numberType,
3028
+ Ko as registerCodeEngine,
3029
+ Ks as registerCreateSubgraphCommand,
3030
+ Wo as registerCustomCommands,
3031
+ Xo as registerRunEngineCommands,
3032
+ vn as saveNodeState,
3033
+ pt as stringType,
3034
+ ht as tupleType,
3030
3035
  Yo as updateToolbarItems,
3031
- Ia as useCodeGraph,
3032
- es as useSwitchCodeGraph
3036
+ Na as useCodeGraph,
3037
+ ts as useSwitchCodeGraph
3033
3038
  };