@babsey/code-graph 0.9.5 → 0.10.0

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,10 +1,10 @@
1
1
  import { createElementBlock as k, openBlock as m, createElementVNode as p, createStaticVNode as jt, defineComponent as de, toRef as xn, ref as ae, createVNode as X, unref as H, mergeModels as as, useModel as sa, resolveComponent as ys, createCommentVNode as K, onMounted as Cn, onBeforeUnmount as gs, watch as bs, createBlock as le, withCtx as Ye, normalizeProps as ra, guardReactiveProps as aa, renderSlot as Me, mergeProps as oa, toDisplayString as ee, computed as z, onUpdated as ws, normalizeStyle as On, normalizeClass as je, withModifiers as st, withDirectives as zt, Fragment as re, createTextVNode as ks, withKeys as fn, vModelText as Bt, renderList as Ke, nextTick as Ms, resolveDynamicComponent as os, inject as ia, Transition as la, reactive as Ae, markRaw as ce, shallowReadonly as ua } from "vue";
2
- import { BaklavaEditor as da, Components as pn, useViewModel as kt, useGraph as Tn, useTemporaryConnection as ca, useTransform as ha, useNodeCategories as fa, displayInSidebar as Ss, CheckboxInterfaceComponent as pa, IntegerInterfaceComponent as ma, TextInputInterfaceComponent as xs, NumberInterfaceComponent as va, SelectInterfaceComponent as _a, SliderInterfaceComponent as ya, TextareaInputInterfaceComponent as ga, Commands as He, DEFAULT_TOOLBAR_COMMANDS as ba, TextInputInterface as Cs, DEFAULT_SETTINGS as wa, useCommandHandler as ka, useHistory as Ma, useClipboard as Sa, registerDeleteNodesCommand as xa, registerSaveSubgraphCommand as Ca, registerSwitchToMainGraphCommand as Oa, registerSidebarCommands as Ta, registerZoomToFitCommands as Na, setViewNodeProperties as Da } from "@baklavajs/renderer-vue";
3
- import { GRAPH_NODE_TYPE_PREFIX as Ia, AbstractNode as Ya, NodeInterface as Se, Graph as Ea, getGraphNodeTypeString as Os, GraphTemplate as Ra, GRAPH_INPUT_NODE_TYPE as Pa, GRAPH_OUTPUT_NODE_TYPE as La, Editor as Aa } from "@baklavajs/core";
4
- import { usePointer as Ua } from "@vueuse/core";
2
+ import { BaklavaEditor as da, Components as pn, useViewModel as kt, useGraph as Tn, useTemporaryConnection as ca, useTransform as ha, useNodeCategories as fa, displayInSidebar as Ss, CheckboxInterfaceComponent as pa, IntegerInterfaceComponent as ma, TextInputInterfaceComponent as xs, NumberInterfaceComponent as va, SelectInterfaceComponent as _a, SliderInterfaceComponent as ya, TextareaInputInterfaceComponent as ga, Commands as He, DEFAULT_TOOLBAR_COMMANDS as ba, TextInputInterface as Cs, DEFAULT_SETTINGS as wa, useCommandHandler as ka, useHistory as Ma, useClipboard as Sa, registerDeleteNodesCommand as xa, registerSaveSubgraphCommand as Ca, registerSwitchToMainGraphCommand as Oa, registerSidebarCommands as Ta, registerZoomToFitCommands as Na, setViewNodeProperties as Ia } from "@baklavajs/renderer-vue";
3
+ import { GRAPH_NODE_TYPE_PREFIX as Da, AbstractNode as Ya, NodeInterface as Se, Graph as Ea, getGraphNodeTypeString as Os, GraphTemplate as Ra, GRAPH_INPUT_NODE_TYPE as Pa, GRAPH_OUTPUT_NODE_TYPE as La, Editor as Aa } from "@baklavajs/core";
4
+ import { usePointer as $a } from "@vueuse/core";
5
5
  import ut from "mustache";
6
6
  import { v4 as Xe } from "uuid";
7
- import { NodeInterfaceType as Je, BaklavaInterfaceTypes as $a, setType as ve, setTypeForMultipleConnections as $t } from "@baklavajs/interface-types";
7
+ import { NodeInterfaceType as Je, BaklavaInterfaceTypes as Ua, setType as ve, setTypeForMultipleConnections as Ut } from "@baklavajs/interface-types";
8
8
  import { allowMultipleConnections as lt, applyResult as Ts, BaseEngine as Wa } from "@baklavajs/engine";
9
9
  import Ha from "toposort";
10
10
  import { SequentialHook as is } from "@baklavajs/events";
@@ -57,7 +57,7 @@ function Ba(e, t) {
57
57
  p("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)
58
58
  ])]);
59
59
  }
60
- const Ds = /* @__PURE__ */ q(ja, [["render", Ba]]), Za = {}, qa = {
60
+ const Is = /* @__PURE__ */ q(ja, [["render", Ba]]), Za = {}, qa = {
61
61
  xmlns: "http://www.w3.org/2000/svg",
62
62
  width: "24",
63
63
  height: "24",
@@ -80,7 +80,7 @@ function Ka(e, t) {
80
80
  p("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)
81
81
  ])]);
82
82
  }
83
- const Is = /* @__PURE__ */ q(Za, [["render", Ka]]), Xa = {}, Ja = {
83
+ const Ds = /* @__PURE__ */ q(Za, [["render", Ka]]), Xa = {}, Ja = {
84
84
  xmlns: "http://www.w3.org/2000/svg",
85
85
  width: "24",
86
86
  height: "24",
@@ -235,7 +235,7 @@ function So(e, t) {
235
235
  jt('<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)
236
236
  ])]);
237
237
  }
238
- const Dn = /* @__PURE__ */ q(ko, [["render", So]]), xo = {}, Co = {
238
+ const In = /* @__PURE__ */ q(ko, [["render", So]]), xo = {}, Co = {
239
239
  xmlns: "http://www.w3.org/2000/svg",
240
240
  width: "24",
241
241
  height: "24",
@@ -257,7 +257,7 @@ function Oo(e, t) {
257
257
  p("path", { d: "M7 4v16l13 -8z" }, null, -1)
258
258
  ])]);
259
259
  }
260
- const To = /* @__PURE__ */ q(xo, [["render", Oo]]), No = {}, Do = {
260
+ const To = /* @__PURE__ */ q(xo, [["render", Oo]]), No = {}, Io = {
261
261
  xmlns: "http://www.w3.org/2000/svg",
262
262
  width: "24",
263
263
  height: "24",
@@ -269,8 +269,8 @@ const To = /* @__PURE__ */ q(xo, [["render", Oo]]), No = {}, Do = {
269
269
  "stroke-linejoin": "round",
270
270
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-plus"
271
271
  };
272
- function Io(e, t) {
273
- return m(), k("svg", Do, [...t[0] || (t[0] = [
272
+ function Do(e, t) {
273
+ return m(), k("svg", Io, [...t[0] || (t[0] = [
274
274
  p("path", {
275
275
  stroke: "none",
276
276
  d: "M0 0h24v24H0z",
@@ -280,7 +280,7 @@ function Io(e, t) {
280
280
  p("path", { d: "M5 12l14 0" }, null, -1)
281
281
  ])]);
282
282
  }
283
- const Ps = /* @__PURE__ */ q(No, [["render", Io]]), Yo = {}, Eo = {
283
+ const Ps = /* @__PURE__ */ q(No, [["render", Do]]), Yo = {}, Eo = {
284
284
  xmlns: "http://www.w3.org/2000/svg",
285
285
  width: "24",
286
286
  height: "24",
@@ -321,7 +321,7 @@ function Ao(e, t) {
321
321
  jt('<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)
322
322
  ])]);
323
323
  }
324
- const As = /* @__PURE__ */ q(Po, [["render", Ao]]), Uo = {}, $o = {
324
+ const As = /* @__PURE__ */ q(Po, [["render", Ao]]), $o = {}, Uo = {
325
325
  xmlns: "http://www.w3.org/2000/svg",
326
326
  width: "24",
327
327
  height: "24",
@@ -334,11 +334,11 @@ const As = /* @__PURE__ */ q(Po, [["render", Ao]]), Uo = {}, $o = {
334
334
  class: "baklava-icon icon icon-tabler icons-tabler-outline icon-tabler-schema-off"
335
335
  };
336
336
  function Wo(e, t) {
337
- return m(), k("svg", $o, [...t[0] || (t[0] = [
337
+ return m(), k("svg", Uo, [...t[0] || (t[0] = [
338
338
  jt('<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)
339
339
  ])]);
340
340
  }
341
- const Us = /* @__PURE__ */ q(Uo, [["render", Wo]]), Ho = {}, Fo = {
341
+ const $s = /* @__PURE__ */ q($o, [["render", Wo]]), Ho = {}, Fo = {
342
342
  xmlns: "http://www.w3.org/2000/svg",
343
343
  width: "24",
344
344
  height: "24",
@@ -355,7 +355,7 @@ function Go(e, t) {
355
355
  jt('<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)
356
356
  ])]);
357
357
  }
358
- const $s = /* @__PURE__ */ q(Ho, [["render", Go]]), Vo = {}, jo = {
358
+ const Us = /* @__PURE__ */ q(Ho, [["render", Go]]), Vo = {}, jo = {
359
359
  xmlns: "http://www.w3.org/2000/svg",
360
360
  width: "24",
361
361
  height: "24",
@@ -405,8 +405,8 @@ function qo(e, t) {
405
405
  const Hs = /* @__PURE__ */ q(Bo, [["render", qo]]), Lh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
406
406
  __proto__: null,
407
407
  Check: Ns,
408
- CodeVariable: Ds,
409
- Copy: Is,
408
+ CodeVariable: Is,
409
+ Copy: Ds,
410
410
  DotsVertical: Ys,
411
411
  Download: Es,
412
412
  LayoutSidebarLeftCollapse: oo,
@@ -414,13 +414,13 @@ const Hs = /* @__PURE__ */ q(Bo, [["render", qo]]), Lh = /* @__PURE__ */ Object.
414
414
  LayoutSidebarRight: mo,
415
415
  LayoutSidebarRightCollapse: Rs,
416
416
  LayoutSidebarRightExpand: Nn,
417
- LockCode: Dn,
417
+ LockCode: In,
418
418
  PlayerPlay: To,
419
419
  Plus: Ps,
420
420
  Restore: Ls,
421
421
  Schema: As,
422
- SchemaOff: Us,
423
- TransitionBottom: $s,
422
+ SchemaOff: $s,
423
+ TransitionBottom: Us,
424
424
  Upload: Ws,
425
425
  X: Hs
426
426
  }, Symbol.toStringTag, { value: "Module" }));
@@ -450,7 +450,7 @@ function Jo() {
450
450
  );
451
451
  }
452
452
  });
453
- var l = i(279), u = /* @__PURE__ */ i.n(l), d = i(370), _ = /* @__PURE__ */ i.n(d), f = i(817), D = /* @__PURE__ */ i.n(f);
453
+ var l = i(279), u = /* @__PURE__ */ i.n(l), d = i(370), _ = /* @__PURE__ */ i.n(d), f = i(817), I = /* @__PURE__ */ i.n(f);
454
454
  function g(w) {
455
455
  try {
456
456
  return document.execCommand(w);
@@ -459,7 +459,7 @@ function Jo() {
459
459
  }
460
460
  }
461
461
  var C = function(S) {
462
- var M = D()(S);
462
+ var M = I()(S);
463
463
  return g("cut"), M;
464
464
  }, h = C;
465
465
  function b(w) {
@@ -468,16 +468,16 @@ function Jo() {
468
468
  var T = window.pageYOffset || document.documentElement.scrollTop;
469
469
  return M.style.top = "".concat(T, "px"), M.setAttribute("readonly", ""), M.value = w, M;
470
470
  }
471
- var $ = function(S, M) {
471
+ var U = function(S, M) {
472
472
  var T = b(S);
473
473
  M.container.appendChild(T);
474
- var I = D()(T);
475
- return g("copy"), T.remove(), I;
474
+ var D = I()(T);
475
+ return g("copy"), T.remove(), D;
476
476
  }, A = function(S) {
477
477
  var M = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
478
478
  container: document.body
479
479
  }, T = "";
480
- return typeof S == "string" ? T = $(S, M) : S instanceof HTMLInputElement && !["text", "search", "url", "tel", "password"].includes(S?.type) ? T = $(S.value, M) : (T = D()(S), g("copy")), T;
480
+ return typeof S == "string" ? T = U(S, M) : S instanceof HTMLInputElement && !["text", "search", "url", "tel", "password"].includes(S?.type) ? T = U(S.value, M) : (T = I()(S), g("copy")), T;
481
481
  }, F = A;
482
482
  function Te(w) {
483
483
  "@babel/helpers - typeof";
@@ -488,7 +488,7 @@ function Jo() {
488
488
  }, Te(w);
489
489
  }
490
490
  var Ne = function() {
491
- var S = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, M = S.action, T = M === void 0 ? "copy" : M, I = S.container, R = S.target, pe = S.text;
491
+ var S = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, M = S.action, T = M === void 0 ? "copy" : M, D = S.container, R = S.target, pe = S.text;
492
492
  if (T !== "copy" && T !== "cut")
493
493
  throw new Error('Invalid "action" value, use either "copy" or "cut"');
494
494
  if (R !== void 0)
@@ -501,11 +501,11 @@ function Jo() {
501
501
  throw new Error('Invalid "target" value, use a valid Element');
502
502
  if (pe)
503
503
  return F(pe, {
504
- container: I
504
+ container: D
505
505
  });
506
506
  if (R)
507
507
  return T === "cut" ? h(R) : F(R, {
508
- container: I
508
+ container: D
509
509
  });
510
510
  }, ft = Ne;
511
511
  function we(w) {
@@ -535,23 +535,23 @@ function Jo() {
535
535
  w.prototype = Object.create(S && S.prototype, { constructor: { value: w, writable: !0, configurable: !0 } }), S && pt(w, S);
536
536
  }
537
537
  function pt(w, S) {
538
- return pt = Object.setPrototypeOf || function(T, I) {
539
- return T.__proto__ = I, T;
538
+ return pt = Object.setPrototypeOf || function(T, D) {
539
+ return T.__proto__ = D, T;
540
540
  }, pt(w, S);
541
541
  }
542
542
  function Nt(w) {
543
- var S = It();
543
+ var S = Dt();
544
544
  return function() {
545
- var T = ze(w), I;
545
+ var T = ze(w), D;
546
546
  if (S) {
547
547
  var R = ze(this).constructor;
548
- I = Reflect.construct(T, arguments, R);
548
+ D = Reflect.construct(T, arguments, R);
549
549
  } else
550
- I = T.apply(this, arguments);
551
- return Dt(this, I);
550
+ D = T.apply(this, arguments);
551
+ return It(this, D);
552
552
  };
553
553
  }
554
- function Dt(w, S) {
554
+ function It(w, S) {
555
555
  return S && (we(S) === "object" || typeof S == "function") ? S : ln(w);
556
556
  }
557
557
  function ln(w) {
@@ -559,7 +559,7 @@ function Jo() {
559
559
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
560
560
  return w;
561
561
  }
562
- function It() {
562
+ function Dt() {
563
563
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1;
564
564
  if (typeof Proxy == "function") return !0;
565
565
  try {
@@ -582,15 +582,15 @@ function Jo() {
582
582
  var W = /* @__PURE__ */ (function(w) {
583
583
  on(M, w);
584
584
  var S = Nt(M);
585
- function M(T, I) {
585
+ function M(T, D) {
586
586
  var R;
587
- return O(this, M), R = S.call(this), R.resolveOptions(I), R.listenClick(T), R;
587
+ return O(this, M), R = S.call(this), R.resolveOptions(D), R.listenClick(T), R;
588
588
  }
589
589
  return ne(M, [{
590
590
  key: "resolveOptions",
591
591
  value: function() {
592
- var I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
593
- this.action = typeof I.action == "function" ? I.action : this.defaultAction, this.target = typeof I.target == "function" ? I.target : this.defaultTarget, this.text = typeof I.text == "function" ? I.text : this.defaultText, this.container = we(I.container) === "object" ? I.container : document.body;
592
+ var D = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
593
+ this.action = typeof D.action == "function" ? D.action : this.defaultAction, this.target = typeof D.target == "function" ? D.target : this.defaultTarget, this.text = typeof D.text == "function" ? D.text : this.defaultText, this.container = we(D.container) === "object" ? D.container : document.body;
594
594
  }
595
595
  /**
596
596
  * Adds a click event listener to the passed trigger.
@@ -598,9 +598,9 @@ function Jo() {
598
598
  */
599
599
  }, {
600
600
  key: "listenClick",
601
- value: function(I) {
601
+ value: function(D) {
602
602
  var R = this;
603
- this.listener = _()(I, "click", function(pe) {
603
+ this.listener = _()(D, "click", function(pe) {
604
604
  return R.onClick(pe);
605
605
  });
606
606
  }
@@ -610,8 +610,8 @@ function Jo() {
610
610
  */
611
611
  }, {
612
612
  key: "onClick",
613
- value: function(I) {
614
- var R = I.delegateTarget || I.currentTarget, pe = this.action(R) || "copy", Yt = ft({
613
+ value: function(D) {
614
+ var R = D.delegateTarget || D.currentTarget, pe = this.action(R) || "copy", Yt = ft({
615
615
  action: pe,
616
616
  container: this.container,
617
617
  target: this.target(R),
@@ -632,8 +632,8 @@ function Jo() {
632
632
  */
633
633
  }, {
634
634
  key: "defaultAction",
635
- value: function(I) {
636
- return et("action", I);
635
+ value: function(D) {
636
+ return et("action", D);
637
637
  }
638
638
  /**
639
639
  * Default `target` lookup function.
@@ -641,8 +641,8 @@ function Jo() {
641
641
  */
642
642
  }, {
643
643
  key: "defaultTarget",
644
- value: function(I) {
645
- var R = et("target", I);
644
+ value: function(D) {
645
+ var R = et("target", D);
646
646
  if (R)
647
647
  return document.querySelector(R);
648
648
  }
@@ -658,8 +658,8 @@ function Jo() {
658
658
  * Default `text` lookup function.
659
659
  * @param {Element} trigger
660
660
  */
661
- value: function(I) {
662
- return et("text", I);
661
+ value: function(D) {
662
+ return et("text", D);
663
663
  }
664
664
  /**
665
665
  * Destroy lifecycle.
@@ -671,11 +671,11 @@ function Jo() {
671
671
  }
672
672
  }], [{
673
673
  key: "copy",
674
- value: function(I) {
674
+ value: function(D) {
675
675
  var R = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
676
676
  container: document.body
677
677
  };
678
- return F(I, R);
678
+ return F(D, R);
679
679
  }
680
680
  /**
681
681
  * Allow fire programmatically a cut action
@@ -684,8 +684,8 @@ function Jo() {
684
684
  */
685
685
  }, {
686
686
  key: "cut",
687
- value: function(I) {
688
- return h(I);
687
+ value: function(D) {
688
+ return h(D);
689
689
  }
690
690
  /**
691
691
  * Returns the support of the given action, or all actions if no action is
@@ -695,7 +695,7 @@ function Jo() {
695
695
  }, {
696
696
  key: "isSupported",
697
697
  value: function() {
698
- var I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ["copy", "cut"], R = typeof I == "string" ? [I] : I, pe = !!document.queryCommandSupported;
698
+ var D = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ["copy", "cut"], R = typeof D == "string" ? [D] : D, pe = !!document.queryCommandSupported;
699
699
  return R.forEach(function(Yt) {
700
700
  pe = pe && !!document.queryCommandSupported(Yt);
701
701
  }), pe;
@@ -728,7 +728,7 @@ function Jo() {
728
728
  /***/
729
729
  (function(a, o, i) {
730
730
  var l = i(828);
731
- function u(f, D, g, C, h) {
731
+ function u(f, I, g, C, h) {
732
732
  var b = _.apply(this, arguments);
733
733
  return f.addEventListener(g, b, h), {
734
734
  destroy: function() {
@@ -736,14 +736,14 @@ function Jo() {
736
736
  }
737
737
  };
738
738
  }
739
- function d(f, D, g, C, h) {
739
+ function d(f, I, g, C, h) {
740
740
  return typeof f.addEventListener == "function" ? u.apply(null, arguments) : typeof g == "function" ? u.bind(null, document).apply(null, arguments) : (typeof f == "string" && (f = document.querySelectorAll(f)), Array.prototype.map.call(f, function(b) {
741
- return u(b, D, g, C, h);
741
+ return u(b, I, g, C, h);
742
742
  }));
743
743
  }
744
- function _(f, D, g, C) {
744
+ function _(f, I, g, C) {
745
745
  return function(h) {
746
- h.delegateTarget = l(h.target, D), h.delegateTarget && C.call(f, h);
746
+ h.delegateTarget = l(h.target, I), h.delegateTarget && C.call(f, h);
747
747
  };
748
748
  }
749
749
  a.exports = d;
@@ -783,7 +783,7 @@ function Jo() {
783
783
  if (l.nodeList(g))
784
784
  return f(g, C, h);
785
785
  if (l.string(g))
786
- return D(g, C, h);
786
+ return I(g, C, h);
787
787
  throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");
788
788
  }
789
789
  function _(g, C, h) {
@@ -804,7 +804,7 @@ function Jo() {
804
804
  }
805
805
  };
806
806
  }
807
- function D(g, C, h) {
807
+ function I(g, C, h) {
808
808
  return u(document.body, g, C, h);
809
809
  }
810
810
  a.exports = d;
@@ -861,7 +861,7 @@ function Jo() {
861
861
  off: function(i, l) {
862
862
  var u = this.e || (this.e = {}), d = u[i], _ = [];
863
863
  if (d && l)
864
- for (var f = 0, D = d.length; f < D; f++)
864
+ for (var f = 0, I = d.length; f < I; f++)
865
865
  d[f].fn !== l && d[f].fn._ !== l && _.push(d[f]);
866
866
  return _.length ? u[i] = _ : delete u[i], this;
867
867
  }
@@ -952,7 +952,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
952
952
  onClick: a,
953
953
  class: "baklava-button"
954
954
  }, [
955
- X(H(Is))
955
+ X(H(Ds))
956
956
  ]))
957
957
  ]));
958
958
  }
@@ -978,7 +978,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
978
978
  title: "The code is locked.",
979
979
  onClick: o[0] || (o[0] = (l) => r(!1))
980
980
  }, [
981
- X(H(Dn))
981
+ X(H(In))
982
982
  ])) : K("", !0),
983
983
  X(Fs, { text: e.modelValue }, null, 8, ["text"])
984
984
  ]),
@@ -1051,15 +1051,15 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1051
1051
  },
1052
1052
  emits: ["select", "start-drag", "update"],
1053
1053
  setup(e, { emit: t }) {
1054
- const n = pn.ContextMenu, s = pn.NodeInterface, r = e, a = z(() => r.node), o = t, { viewModel: i } = kt(), { graph: l, switchGraph: u } = Tn(), d = ae(null), _ = ae(!1), f = ae(""), D = ae(null), g = ae(!1);
1054
+ const n = pn.ContextMenu, s = pn.NodeInterface, r = e, a = z(() => r.node), o = t, { viewModel: i } = kt(), { graph: l, switchGraph: u } = Tn(), d = ae(null), _ = ae(!1), f = ae(""), I = ae(null), g = ae(!1);
1055
1055
  let C = 0, h = 0;
1056
- const b = ae(!1), $ = z(() => {
1056
+ const b = ae(!1), U = z(() => {
1057
1057
  const W = [
1058
1058
  { value: "edit", label: "Edit" },
1059
1059
  { value: "rename", label: "Rename" },
1060
1060
  { value: "delete", label: "Delete" }
1061
1061
  ];
1062
- return r.node.type.startsWith(Ia) && W.push({ value: "editSubgraph", label: "Edit Subgraph" }), W;
1062
+ return r.node.type.startsWith(Da) && W.push({ value: "editSubgraph", label: "Edit Subgraph" }), W;
1063
1063
  }), A = z(() => ({
1064
1064
  "--selected": r.selected,
1065
1065
  "--dragging": r.dragging,
@@ -1092,7 +1092,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1092
1092
  l.value.removeNode(r.node);
1093
1093
  break;
1094
1094
  case "rename":
1095
- f.value = r.node.title, _.value = !0, await Ms(), D.value?.focus();
1095
+ f.value = r.node.title, _.value = !0, await Ms(), I.value?.focus();
1096
1096
  break;
1097
1097
  case "editSubgraph":
1098
1098
  u(r.node.template);
@@ -1100,11 +1100,11 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1100
1100
  }
1101
1101
  }, Nt = () => {
1102
1102
  a.value.title = f.value, a.value.events.titleChanged.emit(a.value.title), _.value = !1;
1103
- }, Dt = () => {
1103
+ }, It = () => {
1104
1104
  d.value && i.value.hooks.renderNode.execute({ node: r.node, el: d.value });
1105
1105
  }, ln = (W) => {
1106
1106
  g.value = !0, C = r.node.width, h = W.clientX, W.preventDefault();
1107
- }, It = (W) => {
1107
+ }, Dt = (W) => {
1108
1108
  a.value.state && (a.value.state.integrated = W, o("update"));
1109
1109
  }, ze = (W) => {
1110
1110
  if (!g.value) return;
@@ -1114,8 +1114,8 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1114
1114
  g.value = !1;
1115
1115
  };
1116
1116
  return Cn(() => {
1117
- Dt(), window.addEventListener("mousemove", ze), window.addEventListener("mouseup", et);
1118
- }), ws(Dt), gs(() => {
1117
+ It(), window.addEventListener("mousemove", ze), window.addEventListener("mouseup", et);
1118
+ }), ws(It), gs(() => {
1119
1119
  window.removeEventListener("mousemove", ze), window.removeEventListener("mouseup", et);
1120
1120
  }), (W, B) => (m(), k("div", {
1121
1121
  class: je([A.value, "baklava-node"]),
@@ -1148,7 +1148,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1148
1148
  _.value ? zt((m(), k("input", {
1149
1149
  key: 2,
1150
1150
  ref_key: "renameInputEl",
1151
- ref: D,
1151
+ ref: I,
1152
1152
  "onUpdate:modelValue": B[4] || (B[4] = (w) => f.value = w),
1153
1153
  class: "baklava-input",
1154
1154
  placeholder: "Title",
@@ -1165,7 +1165,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1165
1165
  ]),
1166
1166
  p("div", hi, [
1167
1167
  a.value.isCodeNode ? (m(), k(re, { key: 0 }, [
1168
- a.value.state.lockCode ? (m(), le(H(Dn), {
1168
+ a.value.state.lockCode ? (m(), le(H(In), {
1169
1169
  key: 0,
1170
1170
  class: "--clickable mx-1",
1171
1171
  onClick: B[0] || (B[0] = (w) => a.value.lockCode = !1)
@@ -1176,14 +1176,14 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1176
1176
  onClick: ne
1177
1177
  })) : K("", !0),
1178
1178
  a.value.hasConnectedOutputNodes ? (m(), k(re, { key: 2 }, [
1179
- a.value.state.integrated ? (m(), le(H(Ds), {
1179
+ a.value.state.integrated ? (m(), le(H(Is), {
1180
1180
  key: 1,
1181
1181
  class: "--clickable mx-1",
1182
- onClick: B[2] || (B[2] = (w) => It(!1))
1183
- })) : (m(), le(H($s), {
1182
+ onClick: B[2] || (B[2] = (w) => Dt(!1))
1183
+ })) : (m(), le(H(Us), {
1184
1184
  key: 0,
1185
1185
  class: "--clickable mx-1",
1186
- onClick: B[1] || (B[1] = (w) => It(!0))
1186
+ onClick: B[1] || (B[1] = (w) => Dt(!0))
1187
1187
  }))
1188
1188
  ], 64)) : K("", !0)
1189
1189
  ], 64)) : K("", !0),
@@ -1196,7 +1196,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1196
1196
  "onUpdate:modelValue": B[3] || (B[3] = (w) => b.value = w),
1197
1197
  x: 0,
1198
1198
  y: 0,
1199
- items: $.value,
1199
+ items: U.value,
1200
1200
  onClick: pt
1201
1201
  }, null, 8, ["modelValue", "items"])
1202
1202
  ])
@@ -1346,17 +1346,17 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1346
1346
  }), Mi = { class: "__header" }, Si = { class: "__node-name" }, xi = { class: "__interfaces" }, Ci = { class: "__inputs" }, Oi = { style: { display: "flex" } }, Ti = { class: "__outputs" }, Ni = {
1347
1347
  key: 0,
1348
1348
  class: "__interface"
1349
- }, Di = ["placeholder"], Ii = { style: { display: "flex" } }, Vs = /* @__PURE__ */ de({
1349
+ }, Ii = ["placeholder"], Di = { style: { display: "flex" } }, Vs = /* @__PURE__ */ de({
1350
1350
  __name: "CodeGraphSidebar",
1351
1351
  setup(e) {
1352
1352
  const { viewModel: t } = kt(), { graph: n } = Tn(), s = ae(null), r = xn(t.value.settings.sidebar, "width"), a = z(() => t.value.settings.sidebar.resizable);
1353
1353
  let o = 0, i = 0;
1354
1354
  const l = z(() => {
1355
1355
  const b = n.value.sidebar.nodeId;
1356
- return n.value.nodes.find(($) => $.id === b);
1356
+ return n.value.nodes.find((U) => U.id === b);
1357
1357
  }), u = z(() => l.value), d = z(() => ({
1358
1358
  width: `${r.value}px`
1359
- })), _ = z(() => u.value ? Object.values(u.value.inputs).filter((b) => b.displayInSidebar && b.component) : []), f = z(() => u.value ? Object.values(u.value.outputs).filter((b) => b.displayInSidebar && b.component) : []), D = () => {
1359
+ })), _ = z(() => u.value ? Object.values(u.value.inputs).filter((b) => b.displayInSidebar && b.component) : []), f = z(() => u.value ? Object.values(u.value.outputs).filter((b) => b.displayInSidebar && b.component) : []), I = () => {
1360
1360
  n.value.sidebar.visible = !1;
1361
1361
  }, g = () => {
1362
1362
  l.value && (l.value.state.variableNameNumberAppendix = u.value.state.variableName.length === 0, l.value.events.update.emit(null));
@@ -1369,11 +1369,11 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1369
1369
  { once: !0 }
1370
1370
  );
1371
1371
  }, h = (b) => {
1372
- const $ = s.value?.parentElement?.getBoundingClientRect().width ?? 500, A = b.clientX - i;
1372
+ const U = s.value?.parentElement?.getBoundingClientRect().width ?? 500, A = b.clientX - i;
1373
1373
  let F = o - A;
1374
- F < 300 ? F = 300 : F > 0.9 * $ && (F = 0.9 * $), r.value = F;
1374
+ F < 300 ? F = 300 : F > 0.9 * U && (F = 0.9 * U), r.value = F;
1375
1375
  };
1376
- return (b, $) => (m(), k("div", {
1376
+ return (b, U) => (m(), k("div", {
1377
1377
  class: je([{ "--open": H(n).sidebar.visible }, "baklava-sidebar"]),
1378
1378
  style: On(d.value),
1379
1379
  ref_key: "el",
@@ -1389,7 +1389,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1389
1389
  p("button", {
1390
1390
  tabindex: "-1",
1391
1391
  class: "__close",
1392
- onClick: D
1392
+ onClick: I
1393
1393
  }, "×"),
1394
1394
  p("div", Si, [
1395
1395
  p("b", null, ee(l.value.title), 1)
@@ -1406,7 +1406,7 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1406
1406
  modelValue: A.hidden,
1407
1407
  "onUpdate:modelValue": [
1408
1408
  (F) => A.hidden = F,
1409
- $[0] || ($[0] = () => l.value?.events.update.emit(null))
1409
+ U[0] || (U[0] = () => l.value?.events.update.emit(null))
1410
1410
  ],
1411
1411
  disabled: !A.optional,
1412
1412
  inversed: "",
@@ -1424,16 +1424,16 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1424
1424
  ]),
1425
1425
  p("div", Ti, [
1426
1426
  u.value && u.value.state ? (m(), k("div", Ni, [
1427
- $[3] || ($[3] = p("label", null, "Variable name", -1)),
1427
+ U[3] || (U[3] = p("label", null, "Variable name", -1)),
1428
1428
  zt(p("input", {
1429
- "onUpdate:modelValue": $[1] || ($[1] = (A) => u.value.state.variableName = A),
1429
+ "onUpdate:modelValue": U[1] || (U[1] = (A) => u.value.state.variableName = A),
1430
1430
  placeholder: u.value.variableName,
1431
1431
  type: "text",
1432
1432
  class: "baklava-input",
1433
1433
  title: "Variable name",
1434
1434
  onBlur: g,
1435
1435
  onKeydown: fn(g, ["enter"])
1436
- }, null, 40, Di), [
1436
+ }, null, 40, Ii), [
1437
1437
  [Bt, u.value.state.variableName]
1438
1438
  ])
1439
1439
  ])) : K("", !0),
@@ -1441,12 +1441,12 @@ const ei = /* @__PURE__ */ Ko(Qo), ti = (e) => ({
1441
1441
  key: A.id,
1442
1442
  class: "__interface"
1443
1443
  }, [
1444
- p("div", Ii, [
1444
+ p("div", Di, [
1445
1445
  X(vn, {
1446
1446
  modelValue: A.hidden,
1447
1447
  "onUpdate:modelValue": [
1448
1448
  (F) => A.hidden = F,
1449
- $[2] || ($[2] = () => l.value?.events.update.emit(null))
1449
+ U[2] || (U[2] = () => l.value?.events.update.emit(null))
1450
1450
  ],
1451
1451
  disabled: !A.optional,
1452
1452
  inversed: "",
@@ -1486,7 +1486,7 @@ const Ri = {
1486
1486
  }, js = /* @__PURE__ */ de({
1487
1487
  __name: "CodeNodePalette",
1488
1488
  setup(e) {
1489
- const t = pn.PaletteEntry, { viewModel: n } = kt(), { x: s, y: r } = Ua(), { transform: a } = ha(), o = fa(n), i = ia("editorEl"), l = ae(""), u = ae(null), d = () => l.value ? o.value.filter(
1489
+ const t = pn.PaletteEntry, { viewModel: n } = kt(), { x: s, y: r } = $a(), { transform: a } = ha(), o = fa(n), i = ia("editorEl"), l = ae(""), u = ae(null), d = () => l.value ? o.value.filter(
1490
1490
  (g) => g.name.toLowerCase().includes(l.value.toLowerCase()) || Object.values(g.nodeTypes).some(
1491
1491
  (C) => C.title.toLowerCase().includes(l.value.toLowerCase())
1492
1492
  )
@@ -1500,7 +1500,7 @@ const Ri = {
1500
1500
  top: `${r.value - C}px`,
1501
1501
  left: `${s.value - g}px`
1502
1502
  };
1503
- }), D = (g, C) => {
1503
+ }), I = (g, C) => {
1504
1504
  u.value = {
1505
1505
  type: g,
1506
1506
  nodeInformation: C
@@ -1508,7 +1508,7 @@ const Ri = {
1508
1508
  const h = () => {
1509
1509
  const b = Ae(new C.type());
1510
1510
  n.value.displayedGraph.addNode(b);
1511
- const $ = i.value.getBoundingClientRect(), [A, F] = a(s.value - $.left, r.value - $.top);
1511
+ const U = i.value.getBoundingClientRect(), [A, F] = a(s.value - U.left, r.value - U.top);
1512
1512
  b.position.x = A, b.position.y = F, u.value = null, document.removeEventListener("pointerup", h);
1513
1513
  };
1514
1514
  document.addEventListener("pointerup", h);
@@ -1540,11 +1540,11 @@ const Ri = {
1540
1540
  }, ee(h.name), 9, Li),
1541
1541
  Object.keys(_(h.nodeTypes)).length < Object.values(h.nodeTypes).length ? (m(), k("div", Ai, " ( " + ee(Object.keys(_(h.nodeTypes)).length) + " / " + ee(Object.values(h.nodeTypes).length) + " ) ", 1)) : K("", !0)
1542
1542
  ])) : K("", !0),
1543
- (m(!0), k(re, null, Ke(_(h.nodeTypes), (b, $) => (m(), le(H(t), {
1544
- key: $,
1543
+ (m(!0), k(re, null, Ke(_(h.nodeTypes), (b, U) => (m(), le(H(t), {
1544
+ key: U,
1545
1545
  title: b.title,
1546
- type: $,
1547
- onPointerdown: (A) => D($, b)
1546
+ type: U,
1547
+ onPointerdown: (A) => I(U, b)
1548
1548
  }, null, 8, ["title", "type", "onPointerdown"]))), 128))
1549
1549
  ]))), 128))
1550
1550
  ], 34),
@@ -1565,12 +1565,12 @@ const Ri = {
1565
1565
  })
1566
1566
  ], 64));
1567
1567
  }
1568
- }), Ui = {}, $i = { class: "prependIcon" }, Wi = { class: "appendIcon" };
1568
+ }), $i = {}, Ui = { class: "prependIcon" }, Wi = { class: "appendIcon" };
1569
1569
  function Hi(e, t) {
1570
1570
  const n = ys("router-link");
1571
1571
  return m(), le(n, { class: "navItem" }, {
1572
1572
  default: Ye(() => [
1573
- p("span", $i, [
1573
+ p("span", Ui, [
1574
1574
  Me(e.$slots, "prependIcon")
1575
1575
  ]),
1576
1576
  Me(e.$slots, "default"),
@@ -1581,7 +1581,7 @@ function Hi(e, t) {
1581
1581
  _: 3
1582
1582
  });
1583
1583
  }
1584
- const _n = /* @__PURE__ */ q(Ui, [["render", Hi]]), Fi = { class: "navbar" }, Gi = ["onClick"], Vi = /* @__PURE__ */ de({
1584
+ const _n = /* @__PURE__ */ q($i, [["render", Hi]]), Fi = { class: "navbar" }, Gi = ["onClick"], Vi = /* @__PURE__ */ de({
1585
1585
  __name: "NavBar",
1586
1586
  props: {
1587
1587
  viewModel: {},
@@ -1883,7 +1883,7 @@ class Bs extends Ya {
1883
1883
  });
1884
1884
  }
1885
1885
  }
1886
- class In extends Bs {
1886
+ class Dn extends Bs {
1887
1887
  /**
1888
1888
  * The default implementation does nothing.
1889
1889
  * Overwrite this method to do calculation.
@@ -1990,8 +1990,8 @@ class Mt extends oe {
1990
1990
  super.value = t, this.name !== "_code" && this.setHidden(!1);
1991
1991
  }
1992
1992
  }
1993
- const Zs = new Je("boolean"), Qi = new Je("dict"), qs = new Je("list"), _e = new Je("node"), Ks = new Je("number"), Xs = new Je("string"), Js = new Je("tuple"), Uh = (e) => {
1994
- new $a(e.editor, { viewPlugin: e }).addTypes(Zs, Qi, qs, _e, Ks, Xs, Js);
1993
+ const Zs = new Je("boolean"), Qi = new Je("dict"), qs = new Je("list"), _e = new Je("node"), Ks = new Je("number"), Xs = new Je("string"), Js = new Je("tuple"), $h = (e) => {
1994
+ new Ua(e.editor, { viewPlugin: e }).addTypes(Zs, Qi, qs, _e, Ks, Xs, Js);
1995
1995
  };
1996
1996
  class el extends Mt {
1997
1997
  constructor(t, n) {
@@ -2029,7 +2029,7 @@ class Qs extends En {
2029
2029
  return Number.isInteger(t) && super.validate(t);
2030
2030
  }
2031
2031
  }
2032
- class $h extends Mt {
2032
+ class Uh extends Mt {
2033
2033
  constructor(t = "", n = "") {
2034
2034
  super(t, n), this.setComponent(ce(xs)), this.use(ve, qs);
2035
2035
  }
@@ -2073,7 +2073,7 @@ class Fh extends Mt {
2073
2073
  getValue = () => `(${this.value})`;
2074
2074
  }
2075
2075
  function Gh(e) {
2076
- return class extends In {
2076
+ return class extends Dn {
2077
2077
  type = e.type;
2078
2078
  inputs = {};
2079
2079
  outputs = {};
@@ -2081,11 +2081,11 @@ function Gh(e) {
2081
2081
  super(), this._title = e.title ?? e.type, this.executeFactory("input", e.inputs), this.executeFactory("output", e.outputs), e.calculate && (this.calculate = (t, n) => e.calculate.call(this, t, n)), e.onCreate?.call(this), this.name = e.name ?? e.type, this.updateModules(e.modules), e.codeTemplate && (this.codeTemplate = e.codeTemplate), e.variableName != null && (this.variableName = e.variableName), this.addInput(
2082
2082
  "_code",
2083
2083
  // new CodeNodeInterface("_code", []).use(setType, nodeType).use(allowMultipleConnections).setHidden(true),
2084
- new oe("_code", []).use($t, _e).use(lt).setHidden(!0)
2084
+ new oe("_code", []).use(Ut, _e).use(lt).setHidden(!0)
2085
2085
  ), this.addOutput(
2086
2086
  "_code",
2087
2087
  // new CodeNodeInterface("_code", []).use(setType, nodeType).use(allowMultipleConnections).setHidden(true),
2088
- new oe("_code", []).use($t, _e).use(lt).setHidden(!0)
2088
+ new oe("_code", []).use(Ut, _e).use(lt).setHidden(!0)
2089
2089
  );
2090
2090
  }
2091
2091
  afterGraphLoaded() {
@@ -2094,6 +2094,9 @@ function Gh(e) {
2094
2094
  afterLoaded() {
2095
2095
  e.afterLoaded?.call(this);
2096
2096
  }
2097
+ beforeRun() {
2098
+ e.beforeRun?.call(this);
2099
+ }
2097
2100
  onPlaced() {
2098
2101
  e.onPlaced?.call(this);
2099
2102
  }
@@ -2103,9 +2106,6 @@ function Gh(e) {
2103
2106
  onDestroy() {
2104
2107
  e.onDestroy?.call(this);
2105
2108
  }
2106
- onGraphUpdate() {
2107
- e.onGraphUpdate?.call(this);
2108
- }
2109
2109
  onUnconnected() {
2110
2110
  e.onUnconnected?.call(this);
2111
2111
  }
@@ -2114,7 +2114,7 @@ function Gh(e) {
2114
2114
  }
2115
2115
  };
2116
2116
  }
2117
- class rl extends In {
2117
+ class rl extends Dn {
2118
2118
  }
2119
2119
  function Vh(e) {
2120
2120
  return class extends rl {
@@ -2128,11 +2128,11 @@ function Vh(e) {
2128
2128
  super(), this._title = e.title ?? e.type, this.executeFactory("input", e.inputs), this.executeFactory("output", e.outputs), e.calculate && (this.calculate = (t, n) => e.calculate?.call(this, t, n)), e.onCreate?.call(this), this.name = e.name ?? e.type, this.updateModules(e.modules), e.codeTemplate && (this.codeTemplate = e.codeTemplate), e.variableName && (this.variableName = e.variableName), this.addInput(
2129
2129
  "_code",
2130
2130
  // new CodeNodeInterface("_code", []).use(setType, nodeType).use(allowMultipleConnections).setHidden(true),
2131
- new oe("_code", []).use($t, _e).use(lt).setHidden(!0)
2131
+ new oe("_code", []).use(Ut, _e).use(lt).setHidden(!0)
2132
2132
  ), this.addOutput(
2133
2133
  "_code",
2134
2134
  // new CodeNodeInterface("_code", []).use(setType, nodeType).use(allowMultipleConnections).setHidden(true),
2135
- new oe("_code", []).use($t, _e).use(lt).setHidden(!0)
2135
+ new oe("_code", []).use(Ut, _e).use(lt).setHidden(!0)
2136
2136
  ), this.staticInputKeys.push("_code"), this.staticOutputKeys.push("_code");
2137
2137
  }
2138
2138
  afterGraphLoaded() {
@@ -2141,6 +2141,9 @@ function Vh(e) {
2141
2141
  afterLoaded() {
2142
2142
  e.afterLoaded?.call(this);
2143
2143
  }
2144
+ beforeRun() {
2145
+ e.beforeRun?.call(this);
2146
+ }
2144
2147
  onPlaced() {
2145
2148
  this.events.update.subscribe(this, (t) => {
2146
2149
  t && (t.type === "input" && this.staticInputKeys.includes(t.name) || t.type === "output" && this.staticOutputKeys.includes(t.name)) && this.onUpdate();
@@ -2152,9 +2155,6 @@ function Vh(e) {
2152
2155
  onDestroy() {
2153
2156
  e.onDestroy?.call(this);
2154
2157
  }
2155
- onGraphUpdate() {
2156
- e.onGraphUpdate?.call(this);
2157
- }
2158
2158
  onUnconnected() {
2159
2159
  e.onUnconnected?.call(this);
2160
2160
  }
@@ -2369,6 +2369,12 @@ class St extends Ea {
2369
2369
  addConnection(t, n) {
2370
2370
  t && t?.name !== "_code" && (t.hidden = !1), n && n?.name !== "_code" && (n.hidden = !1), super.addConnection(t, n);
2371
2371
  }
2372
+ /**
2373
+ * Execute calls of nodes before running graph.
2374
+ */
2375
+ beforeRun() {
2376
+ this.nodes.forEach((t) => t.beforeRun());
2377
+ }
2372
2378
  /**
2373
2379
  * Clear code graph.
2374
2380
  */
@@ -2421,12 +2427,6 @@ class St extends Ea {
2421
2427
  const n = super.load(t);
2422
2428
  return this.nodes.forEach((s) => s.afterGraphLoaded()), n;
2423
2429
  }
2424
- /**
2425
- * Trigger on graph update.
2426
- */
2427
- onUpdate() {
2428
- this.nodes.forEach((t) => t.onGraphUpdate());
2429
- }
2430
2430
  /**
2431
2431
  * Render code script.
2432
2432
  */
@@ -2452,6 +2452,21 @@ class St extends Ea {
2452
2452
  console.warn("Failed to sort nodes.");
2453
2453
  }
2454
2454
  }
2455
+ /**
2456
+ * Sort nodes by order rank of node types.
2457
+ * @remarks Set `orderRank` in `registerNodeType` function,
2458
+ * e.g. editor.registerNodeType(nodeType, {orderRank: 0})
2459
+ */
2460
+ sortNodesByRank() {
2461
+ if (this.nodes.length === 0) return;
2462
+ const t = /* @__PURE__ */ new Map();
2463
+ this.nodes.forEach((s) => {
2464
+ const r = this.editor.nodeTypes.get(s.type).orderRank;
2465
+ t.has(r) ? t.set(r, [...t.get(r), s]) : t.set(r, [s]);
2466
+ });
2467
+ const n = Array.from(t.keys());
2468
+ n.sort((s, r) => s - r), this.nodes = n.flatMap((s) => t.get(s));
2469
+ }
2455
2470
  }
2456
2471
  const tr = (e) => {
2457
2472
  const t = [];
@@ -2465,7 +2480,7 @@ const tr = (e) => {
2465
2480
  const t = { ...e.position };
2466
2481
  return t.x -= Ln + 70, t.y += 50, t;
2467
2482
  }, us = "__baklava_SubgraphInputNode", ds = "__baklava_SubgraphOutputNode";
2468
- class nr extends In {
2483
+ class nr extends Dn {
2469
2484
  graphInterfaceId;
2470
2485
  constructor() {
2471
2486
  super(), this.graphInterfaceId = Xe();
@@ -2541,12 +2556,18 @@ function ol(e) {
2541
2556
  outputs = {};
2542
2557
  template = e;
2543
2558
  subgraph;
2544
- update() {
2559
+ afterGraphLoaded() {
2560
+ }
2561
+ afterLoaded() {
2562
+ }
2563
+ beforeRun() {
2545
2564
  }
2546
2565
  onConnected() {
2547
2566
  }
2548
2567
  onUnconnected() {
2549
2568
  }
2569
+ update() {
2570
+ }
2550
2571
  calculate = async (n, s) => {
2551
2572
  if (!this.subgraph) throw new Error(`GraphNode ${this.id}: calculate called without subgraph being initialized`);
2552
2573
  if (!s.engine || typeof s.engine != "object")
@@ -2654,16 +2675,16 @@ class Zt extends Ra {
2654
2675
  */
2655
2676
  createGraph(t) {
2656
2677
  const n = /* @__PURE__ */ new Map(), s = (f) => {
2657
- const D = Xe();
2658
- return n.set(f, D), D;
2678
+ const I = Xe();
2679
+ return n.set(f, I), I;
2659
2680
  }, r = (f) => {
2660
- const D = n.get(f);
2661
- if (!D) throw new Error(`Unable to create graph from template: Could not map old id ${f} to new id`);
2662
- return D;
2663
- }, a = (f) => Ei(f, (D) => ({
2664
- id: s(D.id),
2665
- templateId: D.id,
2666
- value: D.value
2681
+ const I = n.get(f);
2682
+ if (!I) throw new Error(`Unable to create graph from template: Could not map old id ${f} to new id`);
2683
+ return I;
2684
+ }, a = (f) => Ei(f, (I) => ({
2685
+ id: s(I.id),
2686
+ templateId: I.id,
2687
+ value: I.value
2667
2688
  })), o = this.nodes.map((f) => ({
2668
2689
  ...f,
2669
2690
  id: s(f.id),
@@ -2745,7 +2766,7 @@ function cl(e, t) {
2745
2766
  for (; d.size > 0; ) {
2746
2767
  const _ = d.values().next().value;
2747
2768
  if (d.delete(_), Array.from(s.values()).every((f) => !f.has(_))) {
2748
- const f = a.find((D) => D.id === _);
2769
+ const f = a.find((I) => I.id === _);
2749
2770
  i.push(f);
2750
2771
  }
2751
2772
  }
@@ -2786,7 +2807,7 @@ class hl extends Wa {
2786
2807
  u[d] = this.getInterfaceValue(n, _.id);
2787
2808
  }
2788
2809
  this.events.afterNodeCalculation.emit({ outputValues: u, node: i }), o.set(i.id, new Map(Object.entries(u))), a.has(i) && a.get(i).forEach((d) => {
2789
- const _ = Object.entries(i.outputs).find(([, D]) => D.id === d.from.id)?.[0];
2810
+ const _ = Object.entries(i.outputs).find(([, I]) => I.id === d.from.id)?.[0];
2790
2811
  if (!_)
2791
2812
  throw new Error(
2792
2813
  `Could not find key for interface ${d.from.id}
@@ -2853,7 +2874,7 @@ function An(e) {
2853
2874
  function se(e) {
2854
2875
  return e === void 0;
2855
2876
  }
2856
- function Ue(e) {
2877
+ function $e(e) {
2857
2878
  return typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]";
2858
2879
  }
2859
2880
  function xt(e) {
@@ -2904,7 +2925,7 @@ Array.prototype.some ? yn = Array.prototype.some : yn = function(e) {
2904
2925
  return !0;
2905
2926
  return !1;
2906
2927
  };
2907
- function Un(e) {
2928
+ function $n(e) {
2908
2929
  var t = null, n = !1, s = e._d && !isNaN(e._d.getTime());
2909
2930
  if (s && (t = N(e), n = yn.call(t.parsedDateParts, function(r) {
2910
2931
  return r != null;
@@ -2919,7 +2940,7 @@ function qt(e) {
2919
2940
  return e != null ? Fe(N(t), e) : N(t).userInvalidated = !0, t;
2920
2941
  }
2921
2942
  var cs = v.momentProperties = [], un = !1;
2922
- function $n(e, t) {
2943
+ function Un(e, t) {
2923
2944
  var n, s, r, a = cs.length;
2924
2945
  if (se(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), se(t._i) || (e._i = t._i), se(t._f) || (e._f = t._f), se(t._l) || (e._l = t._l), se(t._strict) || (e._strict = t._strict), se(t._tzm) || (e._tzm = t._tzm), se(t._isUTC) || (e._isUTC = t._isUTC), se(t._offset) || (e._offset = t._offset), se(t._pf) || (e._pf = N(t)), se(t._locale) || (e._locale = t._locale), a > 0)
2925
2946
  for (n = 0; n < a; n++)
@@ -2927,7 +2948,7 @@ function $n(e, t) {
2927
2948
  return e;
2928
2949
  }
2929
2950
  function Ct(e) {
2930
- $n(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), un === !1 && (un = !0, v.updateOffset(this), un = !1);
2951
+ Un(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), un === !1 && (un = !0, v.updateOffset(this), un = !1);
2931
2952
  }
2932
2953
  function ge(e) {
2933
2954
  return e instanceof Ct || e != null && e._isAMomentObject != null;
@@ -3161,7 +3182,7 @@ function Fn(e) {
3161
3182
  P(e, s) && (n = fe(s), n && (t[n] = e[s]));
3162
3183
  return t;
3163
3184
  }
3164
- var Dl = {
3185
+ var Il = {
3165
3186
  date: 9,
3166
3187
  day: 11,
3167
3188
  weekday: 11,
@@ -3179,10 +3200,10 @@ var Dl = {
3179
3200
  isoWeek: 5,
3180
3201
  year: 1
3181
3202
  };
3182
- function Il(e) {
3203
+ function Dl(e) {
3183
3204
  var t = [], n;
3184
3205
  for (n in e)
3185
- P(e, n) && t.push({ unit: n, priority: Dl[n] });
3206
+ P(e, n) && t.push({ unit: n, priority: Il[n] });
3186
3207
  return t.sort(function(s, r) {
3187
3208
  return s.priority - r.priority;
3188
3209
  }), t;
@@ -3218,15 +3239,15 @@ function Y(e) {
3218
3239
  return t !== 0 && isFinite(t) && (n = ue(t)), n;
3219
3240
  }
3220
3241
  var wn = {};
3221
- function U(e, t) {
3242
+ function $(e, t) {
3222
3243
  var n, s = t, r;
3223
- for (typeof e == "string" && (e = [e]), Ue(t) && (s = function(a, o) {
3244
+ for (typeof e == "string" && (e = [e]), $e(t) && (s = function(a, o) {
3224
3245
  o[t] = Y(a);
3225
3246
  }), r = e.length, n = 0; n < r; n++)
3226
3247
  wn[e[n]] = s;
3227
3248
  }
3228
3249
  function Tt(e, t) {
3229
- U(e, function(n, s, r, a) {
3250
+ $(e, function(n, s, r, a) {
3230
3251
  r._w = r._w || {}, t(n, r._w, r, a);
3231
3252
  });
3232
3253
  }
@@ -3236,7 +3257,7 @@ function Ll(e, t, n) {
3236
3257
  function tn(e) {
3237
3258
  return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0;
3238
3259
  }
3239
- var te = 0, Ee = 1, ke = 2, J = 3, me = 4, Re = 5, Ze = 6, Al = 7, Ul = 8;
3260
+ var te = 0, Ee = 1, ke = 2, J = 3, me = 4, Re = 5, Ze = 6, Al = 7, $l = 8;
3240
3261
  x("Y", 0, 0, function() {
3241
3262
  var e = this.year();
3242
3263
  return e <= 9999 ? xe(e, 4) : "+" + e;
@@ -3252,14 +3273,14 @@ y("YY", V, ie);
3252
3273
  y("YYYY", Vn, Gn);
3253
3274
  y("YYYYY", Jt, Kt);
3254
3275
  y("YYYYYY", Jt, Kt);
3255
- U(["YYYYY", "YYYYYY"], te);
3256
- U("YYYY", function(e, t) {
3276
+ $(["YYYYY", "YYYYYY"], te);
3277
+ $("YYYY", function(e, t) {
3257
3278
  t[te] = e.length === 2 ? v.parseTwoDigitYear(e) : Y(e);
3258
3279
  });
3259
- U("YY", function(e, t) {
3280
+ $("YY", function(e, t) {
3260
3281
  t[te] = v.parseTwoDigitYear(e);
3261
3282
  });
3262
- U("Y", function(e, t) {
3283
+ $("Y", function(e, t) {
3263
3284
  t[te] = parseInt(e, 10);
3264
3285
  });
3265
3286
  function _t(e) {
@@ -3269,7 +3290,7 @@ v.parseTwoDigitYear = function(e) {
3269
3290
  return Y(e) + (Y(e) > 68 ? 1900 : 2e3);
3270
3291
  };
3271
3292
  var pr = ht("FullYear", !0);
3272
- function $l() {
3293
+ function Ul() {
3273
3294
  return tn(this.year());
3274
3295
  }
3275
3296
  function ht(e, t) {
@@ -3335,7 +3356,7 @@ function Wl(e) {
3335
3356
  function Hl(e, t) {
3336
3357
  if (typeof e == "object") {
3337
3358
  e = Fn(e);
3338
- var n = Il(e), s, r = n.length;
3359
+ var n = Dl(e), s, r = n.length;
3339
3360
  for (s = 0; s < r; s++)
3340
3361
  this[n[s].unit](e[n[s].unit]);
3341
3362
  } else if (e = fe(e), Oe(this[e]))
@@ -3376,10 +3397,10 @@ y("MMM", function(e, t) {
3376
3397
  y("MMMM", function(e, t) {
3377
3398
  return t.monthsRegex(e);
3378
3399
  });
3379
- U(["M", "MM"], function(e, t) {
3400
+ $(["M", "MM"], function(e, t) {
3380
3401
  t[Ee] = Y(e) - 1;
3381
3402
  });
3382
- U(["MMM", "MMMM"], function(e, t, n, s) {
3403
+ $(["MMM", "MMMM"], function(e, t, n, s) {
3383
3404
  var r = n._locale.monthsParse(e, s, n._strict);
3384
3405
  r != null ? t[Ee] = r : N(n).invalidMonth = e;
3385
3406
  });
@@ -3427,7 +3448,7 @@ function yr(e, t) {
3427
3448
  if (typeof t == "string") {
3428
3449
  if (/^\d+$/.test(t))
3429
3450
  t = Y(t);
3430
- else if (t = e.localeData().monthsParse(t), !Ue(t))
3451
+ else if (t = e.localeData().monthsParse(t), !$e(t))
3431
3452
  return e;
3432
3453
  }
3433
3454
  var n = t, s = e.date();
@@ -3708,30 +3729,30 @@ y("hmm", hr);
3708
3729
  y("hmmss", fr);
3709
3730
  y("Hmm", hr);
3710
3731
  y("Hmmss", fr);
3711
- U(["H", "HH"], J);
3712
- U(["k", "kk"], function(e, t, n) {
3732
+ $(["H", "HH"], J);
3733
+ $(["k", "kk"], function(e, t, n) {
3713
3734
  var s = Y(e);
3714
3735
  t[J] = s === 24 ? 0 : s;
3715
3736
  });
3716
- U(["a", "A"], function(e, t, n) {
3737
+ $(["a", "A"], function(e, t, n) {
3717
3738
  n._isPm = n._locale.isPM(e), n._meridiem = e;
3718
3739
  });
3719
- U(["h", "hh"], function(e, t, n) {
3740
+ $(["h", "hh"], function(e, t, n) {
3720
3741
  t[J] = Y(e), N(n).bigHour = !0;
3721
3742
  });
3722
- U("hmm", function(e, t, n) {
3743
+ $("hmm", function(e, t, n) {
3723
3744
  var s = e.length - 2;
3724
3745
  t[J] = Y(e.substr(0, s)), t[me] = Y(e.substr(s)), N(n).bigHour = !0;
3725
3746
  });
3726
- U("hmmss", function(e, t, n) {
3747
+ $("hmmss", function(e, t, n) {
3727
3748
  var s = e.length - 4, r = e.length - 2;
3728
3749
  t[J] = Y(e.substr(0, s)), t[me] = Y(e.substr(s, 2)), t[Re] = Y(e.substr(r)), N(n).bigHour = !0;
3729
3750
  });
3730
- U("Hmm", function(e, t, n) {
3751
+ $("Hmm", function(e, t, n) {
3731
3752
  var s = e.length - 2;
3732
3753
  t[J] = Y(e.substr(0, s)), t[me] = Y(e.substr(s));
3733
3754
  });
3734
- U("Hmmss", function(e, t, n) {
3755
+ $("Hmmss", function(e, t, n) {
3735
3756
  var s = e.length - 4, r = e.length - 2;
3736
3757
  t[J] = Y(e.substr(0, s)), t[me] = Y(e.substr(s, 2)), t[Re] = Y(e.substr(r));
3737
3758
  });
@@ -3767,7 +3788,7 @@ function Nu(e, t) {
3767
3788
  function ps(e) {
3768
3789
  return e && e.toLowerCase().replace("_", "-");
3769
3790
  }
3770
- function Du(e) {
3791
+ function Iu(e) {
3771
3792
  for (var t = 0, n, s, r, a; t < e.length; ) {
3772
3793
  for (a = ps(e[t]).split("-"), n = a.length, s = ps(e[t + 1]), s = s ? s.split("-") : null; n > 0; ) {
3773
3794
  if (r = nn(a.slice(0, n).join("-")), r)
@@ -3780,12 +3801,12 @@ function Du(e) {
3780
3801
  }
3781
3802
  return wt;
3782
3803
  }
3783
- function Iu(e) {
3804
+ function Du(e) {
3784
3805
  return !!(e && e.match("^[^/\\\\]*$"));
3785
3806
  }
3786
3807
  function nn(e) {
3787
3808
  var t = null, n;
3788
- if (j[e] === void 0 && typeof module < "u" && module && module.exports && Iu(e))
3809
+ if (j[e] === void 0 && typeof module < "u" && module && module.exports && Du(e))
3789
3810
  try {
3790
3811
  t = wt._abbr, n = require, n("./locale/" + e), Ve(t);
3791
3812
  } catch {
@@ -3795,7 +3816,7 @@ function nn(e) {
3795
3816
  }
3796
3817
  function Ve(e, t) {
3797
3818
  var n;
3798
- return e && (se(t) ? n = $e(e) : n = Kn(e, t), n ? wt = n : typeof console < "u" && console.warn && console.warn(
3819
+ return e && (se(t) ? n = Ue(e) : n = Kn(e, t), n ? wt = n : typeof console < "u" && console.warn && console.warn(
3799
3820
  "Locale " + e + " not found. Did you forget to load it?"
3800
3821
  )), wt._abbr;
3801
3822
  }
@@ -3831,7 +3852,7 @@ function Yu(e, t) {
3831
3852
  j[e] != null && (j[e].parentLocale != null ? (j[e] = j[e].parentLocale, e === Ve() && Ve(e)) : j[e] != null && delete j[e]);
3832
3853
  return j[e];
3833
3854
  }
3834
- function $e(e) {
3855
+ function Ue(e) {
3835
3856
  var t;
3836
3857
  if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)
3837
3858
  return wt;
@@ -3840,14 +3861,14 @@ function $e(e) {
3840
3861
  return t;
3841
3862
  e = [e];
3842
3863
  }
3843
- return Du(e);
3864
+ return Iu(e);
3844
3865
  }
3845
3866
  function Eu() {
3846
3867
  return bn(j);
3847
3868
  }
3848
3869
  function Xn(e) {
3849
3870
  var t, n = e._a;
3850
- return n && N(e).overflow === -2 && (t = n[Ee] < 0 || n[Ee] > 11 ? Ee : n[ke] < 1 || n[ke] > zn(n[te], n[Ee]) ? ke : n[J] < 0 || n[J] > 24 || n[J] === 24 && (n[me] !== 0 || n[Re] !== 0 || n[Ze] !== 0) ? J : n[me] < 0 || n[me] > 59 ? me : n[Re] < 0 || n[Re] > 59 ? Re : n[Ze] < 0 || n[Ze] > 999 ? Ze : -1, N(e)._overflowDayOfYear && (t < te || t > ke) && (t = ke), N(e)._overflowWeeks && t === -1 && (t = Al), N(e)._overflowWeekday && t === -1 && (t = Ul), N(e).overflow = t), e;
3871
+ return n && N(e).overflow === -2 && (t = n[Ee] < 0 || n[Ee] > 11 ? Ee : n[ke] < 1 || n[ke] > zn(n[te], n[Ee]) ? ke : n[J] < 0 || n[J] > 24 || n[J] === 24 && (n[me] !== 0 || n[Re] !== 0 || n[Ze] !== 0) ? J : n[me] < 0 || n[me] > 59 ? me : n[Re] < 0 || n[Re] > 59 ? Re : n[Ze] < 0 || n[Ze] > 999 ? Ze : -1, N(e)._overflowDayOfYear && (t < te || t > ke) && (t = ke), N(e)._overflowWeeks && t === -1 && (t = Al), N(e)._overflowWeekday && t === -1 && (t = $l), N(e).overflow = t), e;
3851
3872
  }
3852
3873
  var Ru = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, Pu = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, Lu = /Z|[+-]\d\d(?::?\d\d)?/, Rt = [
3853
3874
  ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
@@ -3873,7 +3894,7 @@ var Ru = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(
3873
3894
  ["HHmmss", /\d\d\d\d\d\d/],
3874
3895
  ["HHmm", /\d\d\d\d/],
3875
3896
  ["HH", /\d\d/]
3876
- ], Au = /^\/?Date\((-?\d+)/i, Uu = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, $u = {
3897
+ ], Au = /^\/?Date\((-?\d+)/i, $u = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, Uu = {
3877
3898
  UT: 0,
3878
3899
  GMT: 0,
3879
3900
  EDT: -240,
@@ -3954,14 +3975,14 @@ function Gu(e, t, n) {
3954
3975
  }
3955
3976
  function Vu(e, t, n) {
3956
3977
  if (e)
3957
- return $u[e];
3978
+ return Uu[e];
3958
3979
  if (t)
3959
3980
  return 0;
3960
3981
  var s = parseInt(n, 10), r = s % 100, a = (s - r) / 100;
3961
3982
  return a * 60 + r;
3962
3983
  }
3963
3984
  function Or(e) {
3964
- var t = Uu.exec(Fu(e._i)), n;
3985
+ var t = $u.exec(Fu(e._i)), n;
3965
3986
  if (t) {
3966
3987
  if (n = Wu(
3967
3988
  t[4],
@@ -4066,7 +4087,7 @@ function qu(e) {
4066
4087
  return;
4067
4088
  }
4068
4089
  for (r = 0; r < l; r++)
4069
- a = 0, o = !1, t = $n({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[r], Qn(t), Un(t) && (o = !0), a += N(t).charsLeftOver, a += N(t).unusedTokens.length * 10, N(t).score = a, i ? a < s && (s = a, n = t) : (s == null || a < s || o) && (s = a, n = t, o && (i = !0));
4090
+ a = 0, o = !1, t = Un({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[r], Qn(t), $n(t) && (o = !0), a += N(t).charsLeftOver, a += N(t).unusedTokens.length * 10, N(t).score = a, i ? a < s && (s = a, n = t) : (s == null || a < s || o) && (s = a, n = t, o && (i = !0));
4070
4091
  Fe(e, n || t);
4071
4092
  }
4072
4093
  function Ku(e) {
@@ -4086,13 +4107,13 @@ function Xu(e) {
4086
4107
  }
4087
4108
  function Tr(e) {
4088
4109
  var t = e._i, n = e._f;
4089
- return e._locale = e._locale || $e(e._l), t === null || n === void 0 && t === "" ? qt({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), ge(t) ? new Ct(Xn(t)) : (xt(t) ? e._d = t : ye(n) ? qu(e) : n ? Qn(e) : Ju(e), Un(e) || (e._d = null), e));
4110
+ return e._locale = e._locale || Ue(e._l), t === null || n === void 0 && t === "" ? qt({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), ge(t) ? new Ct(Xn(t)) : (xt(t) ? e._d = t : ye(n) ? qu(e) : n ? Qn(e) : Ju(e), $n(e) || (e._d = null), e));
4090
4111
  }
4091
4112
  function Ju(e) {
4092
4113
  var t = e._i;
4093
4114
  se(t) ? e._d = new Date(v.now()) : xt(t) ? e._d = new Date(t.valueOf()) : typeof t == "string" ? ju(e) : ye(t) ? (e._a = or(t.slice(0), function(n) {
4094
4115
  return parseInt(n, 10);
4095
- }), Jn(e)) : qe(t) ? Ku(e) : Ue(t) ? e._d = new Date(t) : v.createFromInputFallback(e);
4116
+ }), Jn(e)) : qe(t) ? Ku(e) : $e(t) ? e._d = new Date(t) : v.createFromInputFallback(e);
4096
4117
  }
4097
4118
  function Nr(e, t, n, s, r) {
4098
4119
  var a = {};
@@ -4114,7 +4135,7 @@ var Qu = he(
4114
4135
  return this.isValid() && e.isValid() ? e > this ? this : e : qt();
4115
4136
  }
4116
4137
  );
4117
- function Dr(e, t) {
4138
+ function Ir(e, t) {
4118
4139
  var n, s;
4119
4140
  if (t.length === 1 && ye(t[0]) && (t = t[0]), !t.length)
4120
4141
  return G();
@@ -4124,11 +4145,11 @@ function Dr(e, t) {
4124
4145
  }
4125
4146
  function td() {
4126
4147
  var e = [].slice.call(arguments, 0);
4127
- return Dr("isBefore", e);
4148
+ return Ir("isBefore", e);
4128
4149
  }
4129
4150
  function nd() {
4130
4151
  var e = [].slice.call(arguments, 0);
4131
- return Dr("isAfter", e);
4152
+ return Ir("isAfter", e);
4132
4153
  }
4133
4154
  var sd = function() {
4134
4155
  return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
@@ -4166,7 +4187,7 @@ function sn(e) {
4166
4187
  var t = Fn(e), n = t.year || 0, s = t.quarter || 0, r = t.month || 0, a = t.week || t.isoWeek || 0, o = t.day || 0, i = t.hour || 0, l = t.minute || 0, u = t.second || 0, d = t.millisecond || 0;
4167
4188
  this._isValid = rd(t), this._milliseconds = +d + u * 1e3 + // 1000
4168
4189
  l * 6e4 + // 1000 * 60
4169
- i * 1e3 * 60 * 60, this._days = +o + a * 7, this._months = +r + s * 3 + n * 12, this._data = {}, this._locale = $e(), this._bubble();
4190
+ i * 1e3 * 60 * 60, this._days = +o + a * 7, this._months = +r + s * 3 + n * 12, this._data = {}, this._locale = Ue(), this._bubble();
4170
4191
  }
4171
4192
  function At(e) {
4172
4193
  return e instanceof sn;
@@ -4180,17 +4201,17 @@ function id(e, t, n) {
4180
4201
  Y(e[o]) !== Y(t[o]) && a++;
4181
4202
  return a + r;
4182
4203
  }
4183
- function Ir(e, t) {
4204
+ function Dr(e, t) {
4184
4205
  x(e, 0, 0, function() {
4185
4206
  var n = this.utcOffset(), s = "+";
4186
4207
  return n < 0 && (n = -n, s = "-"), s + xe(~~(n / 60), 2) + t + xe(~~n % 60, 2);
4187
4208
  });
4188
4209
  }
4189
- Ir("Z", ":");
4190
- Ir("ZZ", "");
4210
+ Dr("Z", ":");
4211
+ Dr("ZZ", "");
4191
4212
  y("Z", en);
4192
4213
  y("ZZ", en);
4193
- U(["Z", "ZZ"], function(e, t, n) {
4214
+ $(["Z", "ZZ"], function(e, t, n) {
4194
4215
  n._useUTC = !0, n._tzm = es(en, e);
4195
4216
  });
4196
4217
  var ld = /([\+\-]|\d\d)/gi;
@@ -4253,7 +4274,7 @@ function vd() {
4253
4274
  if (!se(this._isDSTShifted))
4254
4275
  return this._isDSTShifted;
4255
4276
  var e = {}, t;
4256
- return $n(e, this), e = Tr(e), e._a ? (t = e._isUTC ? Ce(e._a) : G(e._a), this._isDSTShifted = this.isValid() && id(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
4277
+ return Un(e, this), e = Tr(e), e._a ? (t = e._isUTC ? Ce(e._a) : G(e._a), this._isDSTShifted = this.isValid() && id(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
4257
4278
  }
4258
4279
  function _d() {
4259
4280
  return this.isValid() ? !this._isUTC : !1;
@@ -4271,7 +4292,7 @@ function be(e, t) {
4271
4292
  ms: e._milliseconds,
4272
4293
  d: e._days,
4273
4294
  M: e._months
4274
- } : Ue(e) || !isNaN(+e) ? (n = {}, t ? n[t] = +e : n.milliseconds = +e) : (s = gd.exec(e)) ? (r = s[1] === "-" ? -1 : 1, n = {
4295
+ } : $e(e) || !isNaN(+e) ? (n = {}, t ? n[t] = +e : n.milliseconds = +e) : (s = gd.exec(e)) ? (r = s[1] === "-" ? -1 : 1, n = {
4275
4296
  y: 0,
4276
4297
  d: Y(s[ke]) * r,
4277
4298
  h: Y(s[J]) * r,
@@ -4324,7 +4345,7 @@ function Pr(e) {
4324
4345
  return typeof e == "string" || e instanceof String;
4325
4346
  }
4326
4347
  function Sd(e) {
4327
- return ge(e) || xt(e) || Pr(e) || Ue(e) || Cd(e) || xd(e) || e === null || e === void 0;
4348
+ return ge(e) || xt(e) || Pr(e) || $e(e) || Cd(e) || xd(e) || e === null || e === void 0;
4328
4349
  }
4329
4350
  function xd(e) {
4330
4351
  var t = qe(e) && !An(e), n = !1, s = [
@@ -4360,7 +4381,7 @@ function xd(e) {
4360
4381
  function Cd(e) {
4361
4382
  var t = ye(e), n = !1;
4362
4383
  return t && (n = e.filter(function(s) {
4363
- return !Ue(s) && Pr(e);
4384
+ return !$e(s) && Pr(e);
4364
4385
  }).length === 0), t && n;
4365
4386
  }
4366
4387
  function Od(e) {
@@ -4387,10 +4408,10 @@ function Nd(e, t) {
4387
4408
  a || this.localeData().calendar(r, this, G(n))
4388
4409
  );
4389
4410
  }
4390
- function Dd() {
4411
+ function Id() {
4391
4412
  return new Ct(this);
4392
4413
  }
4393
- function Id(e, t) {
4414
+ function Dd(e, t) {
4394
4415
  var n = ge(e) ? e : G(e);
4395
4416
  return this.isValid() && n.isValid() ? (t = fe(t) || "millisecond", t === "millisecond" ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf()) : !1;
4396
4417
  }
@@ -4420,13 +4441,13 @@ function Ad(e, t, n) {
4420
4441
  return NaN;
4421
4442
  switch (r = (s.utcOffset() - this.utcOffset()) * 6e4, t = fe(t), t) {
4422
4443
  case "year":
4423
- a = Ut(this, s) / 12;
4444
+ a = $t(this, s) / 12;
4424
4445
  break;
4425
4446
  case "month":
4426
- a = Ut(this, s);
4447
+ a = $t(this, s);
4427
4448
  break;
4428
4449
  case "quarter":
4429
- a = Ut(this, s) / 3;
4450
+ a = $t(this, s) / 3;
4430
4451
  break;
4431
4452
  case "second":
4432
4453
  a = (this - s) / 1e3;
@@ -4453,18 +4474,18 @@ function Ad(e, t, n) {
4453
4474
  }
4454
4475
  return n ? a : ue(a);
4455
4476
  }
4456
- function Ut(e, t) {
4477
+ function $t(e, t) {
4457
4478
  if (e.date() < t.date())
4458
- return -Ut(t, e);
4479
+ return -$t(t, e);
4459
4480
  var n = (t.year() - e.year()) * 12 + (t.month() - e.month()), s = e.clone().add(n, "months"), r, a;
4460
4481
  return t - s < 0 ? (r = e.clone().add(n - 1, "months"), a = (t - s) / (s - r)) : (r = e.clone().add(n + 1, "months"), a = (t - s) / (r - s)), -(n + a) || 0;
4461
4482
  }
4462
4483
  v.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
4463
4484
  v.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
4464
- function Ud() {
4485
+ function $d() {
4465
4486
  return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
4466
4487
  }
4467
- function $d(e) {
4488
+ function Ud(e) {
4468
4489
  if (!this.isValid())
4469
4490
  return null;
4470
4491
  var t = e !== !0, n = t ? this.clone().utc() : this;
@@ -4501,7 +4522,7 @@ function jd(e) {
4501
4522
  }
4502
4523
  function Lr(e) {
4503
4524
  var t;
4504
- return e === void 0 ? this._locale._abbr : (t = $e(e), t != null && (this._locale = t), this);
4525
+ return e === void 0 ? this._locale._abbr : (t = Ue(e), t != null && (this._locale = t), this);
4505
4526
  }
4506
4527
  var Ar = he(
4507
4528
  "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
@@ -4509,18 +4530,18 @@ var Ar = he(
4509
4530
  return e === void 0 ? this.localeData() : this.locale(e);
4510
4531
  }
4511
4532
  );
4512
- function Ur() {
4533
+ function $r() {
4513
4534
  return this._locale;
4514
4535
  }
4515
- var Ft = 1e3, ot = 60 * Ft, Gt = 60 * ot, $r = (365 * 400 + 97) * 24 * Gt;
4536
+ var Ft = 1e3, ot = 60 * Ft, Gt = 60 * ot, Ur = (365 * 400 + 97) * 24 * Gt;
4516
4537
  function it(e, t) {
4517
4538
  return (e % t + t) % t;
4518
4539
  }
4519
4540
  function Wr(e, t, n) {
4520
- return e < 100 && e >= 0 ? new Date(e + 400, t, n) - $r : new Date(e, t, n).valueOf();
4541
+ return e < 100 && e >= 0 ? new Date(e + 400, t, n) - Ur : new Date(e, t, n).valueOf();
4521
4542
  }
4522
4543
  function Hr(e, t, n) {
4523
- return e < 100 && e >= 0 ? Date.UTC(e + 400, t, n) - $r : Date.UTC(e, t, n);
4544
+ return e < 100 && e >= 0 ? Date.UTC(e + 400, t, n) - Ur : Date.UTC(e, t, n);
4524
4545
  }
4525
4546
  function zd(e) {
4526
4547
  var t, n;
@@ -4661,7 +4682,7 @@ function Qd() {
4661
4682
  return this.isValid() ? this.toISOString() : null;
4662
4683
  }
4663
4684
  function ec() {
4664
- return Un(this);
4685
+ return $n(this);
4665
4686
  }
4666
4687
  function tc() {
4667
4688
  return Fe({}, N(this));
@@ -4692,7 +4713,7 @@ y("NN", ns);
4692
4713
  y("NNN", ns);
4693
4714
  y("NNNN", pc);
4694
4715
  y("NNNNN", mc);
4695
- U(
4716
+ $(
4696
4717
  ["N", "NN", "NNN", "NNNN", "NNNNN"],
4697
4718
  function(e, t, n, s) {
4698
4719
  var r = n._locale.erasParse(e, s, n._strict);
@@ -4704,13 +4725,13 @@ y("yy", dt);
4704
4725
  y("yyy", dt);
4705
4726
  y("yyyy", dt);
4706
4727
  y("yo", vc);
4707
- U(["y", "yy", "yyy", "yyyy"], te);
4708
- U(["yo"], function(e, t, n, s) {
4728
+ $(["y", "yy", "yyy", "yyyy"], te);
4729
+ $(["yo"], function(e, t, n, s) {
4709
4730
  var r;
4710
4731
  n._locale._eraYearOrdinalRegex && (r = e.match(n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[te] = n._locale.eraYearOrdinalParse(e, r) : t[te] = parseInt(e, 10);
4711
4732
  });
4712
4733
  function rc(e, t) {
4713
- var n, s, r, a = this._eras || $e("en")._eras;
4734
+ var n, s, r, a = this._eras || Ue("en")._eras;
4714
4735
  for (n = 0, s = a.length; n < s; ++n)
4715
4736
  switch (typeof a[n].since === "string" && (r = v(a[n].since).startOf("day"), a[n].since = r.valueOf()), typeof a[n].until) {
4716
4737
  case "undefined":
@@ -4881,7 +4902,7 @@ function Mc(e, t, n, s, r) {
4881
4902
  }
4882
4903
  x("Q", 0, "Qo", "quarter");
4883
4904
  y("Q", dr);
4884
- U("Q", function(e, t) {
4905
+ $("Q", function(e, t) {
4885
4906
  t[Ee] = (Y(e) - 1) * 3;
4886
4907
  });
4887
4908
  function Sc(e) {
@@ -4893,15 +4914,15 @@ y("DD", V, ie);
4893
4914
  y("Do", function(e, t) {
4894
4915
  return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
4895
4916
  });
4896
- U(["D", "DD"], ke);
4897
- U("Do", function(e, t) {
4917
+ $(["D", "DD"], ke);
4918
+ $("Do", function(e, t) {
4898
4919
  t[ke] = Y(e.match(V)[0]);
4899
4920
  });
4900
4921
  var Gr = ht("Date", !0);
4901
4922
  x("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
4902
4923
  y("DDD", Xt);
4903
4924
  y("DDDD", cr);
4904
- U(["DDD", "DDDD"], function(e, t, n) {
4925
+ $(["DDD", "DDDD"], function(e, t, n) {
4905
4926
  n._dayOfYear = Y(e);
4906
4927
  });
4907
4928
  function xc(e) {
@@ -4913,12 +4934,12 @@ function xc(e) {
4913
4934
  x("m", ["mm", 2], 0, "minute");
4914
4935
  y("m", V, jn);
4915
4936
  y("mm", V, ie);
4916
- U(["m", "mm"], me);
4937
+ $(["m", "mm"], me);
4917
4938
  var Cc = ht("Minutes", !1);
4918
4939
  x("s", ["ss", 2], 0, "second");
4919
4940
  y("s", V, jn);
4920
4941
  y("ss", V, ie);
4921
- U(["s", "ss"], Re);
4942
+ $(["s", "ss"], Re);
4922
4943
  var Oc = ht("Seconds", !1);
4923
4944
  x("S", 0, 0, function() {
4924
4945
  return ~~(this.millisecond() / 100);
@@ -4955,20 +4976,20 @@ function Tc(e, t) {
4955
4976
  t[Ze] = Y(("0." + e) * 1e3);
4956
4977
  }
4957
4978
  for (Ge = "S"; Ge.length <= 9; Ge += "S")
4958
- U(Ge, Tc);
4979
+ $(Ge, Tc);
4959
4980
  Vr = ht("Milliseconds", !1);
4960
4981
  x("z", 0, 0, "zoneAbbr");
4961
4982
  x("zz", 0, 0, "zoneName");
4962
4983
  function Nc() {
4963
4984
  return this._isUTC ? "UTC" : "";
4964
4985
  }
4965
- function Dc() {
4986
+ function Ic() {
4966
4987
  return this._isUTC ? "Coordinated Universal Time" : "";
4967
4988
  }
4968
4989
  var c = Ct.prototype;
4969
4990
  c.add = kd;
4970
4991
  c.calendar = Nd;
4971
- c.clone = Dd;
4992
+ c.clone = Id;
4972
4993
  c.diff = Ad;
4973
4994
  c.endOf = Bd;
4974
4995
  c.format = Hd;
@@ -4978,7 +4999,7 @@ c.to = Vd;
4978
4999
  c.toNow = jd;
4979
5000
  c.get = Wl;
4980
5001
  c.invalidAt = nc;
4981
- c.isAfter = Id;
5002
+ c.isAfter = Dd;
4982
5003
  c.isBefore = Yd;
4983
5004
  c.isBetween = Ed;
4984
5005
  c.isSame = Rd;
@@ -4987,7 +5008,7 @@ c.isSameOrBefore = Ld;
4987
5008
  c.isValid = ec;
4988
5009
  c.lang = Ar;
4989
5010
  c.locale = Lr;
4990
- c.localeData = Ur;
5011
+ c.localeData = $r;
4991
5012
  c.max = ed;
4992
5013
  c.min = Qu;
4993
5014
  c.parsingFlags = tc;
@@ -4997,13 +5018,13 @@ c.subtract = Md;
4997
5018
  c.toArray = Xd;
4998
5019
  c.toObject = Jd;
4999
5020
  c.toDate = Kd;
5000
- c.toISOString = $d;
5021
+ c.toISOString = Ud;
5001
5022
  c.inspect = Wd;
5002
5023
  typeof Symbol < "u" && Symbol.for != null && (c[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = function() {
5003
5024
  return "Moment<" + this.format() + ">";
5004
5025
  });
5005
5026
  c.toJSON = Qd;
5006
- c.toString = Ud;
5027
+ c.toString = $d;
5007
5028
  c.unix = qd;
5008
5029
  c.valueOf = Zd;
5009
5030
  c.creationData = sc;
@@ -5012,7 +5033,7 @@ c.eraNarrow = lc;
5012
5033
  c.eraAbbr = uc;
5013
5034
  c.eraYear = dc;
5014
5035
  c.year = pr;
5015
- c.isLeapYear = $l;
5036
+ c.isLeapYear = Ul;
5016
5037
  c.weekYear = _c;
5017
5038
  c.isoWeekYear = yc;
5018
5039
  c.quarter = c.quarters = Sc;
@@ -5044,7 +5065,7 @@ c.isUtcOffset = yd;
5044
5065
  c.isUtc = Yr;
5045
5066
  c.isUTC = Yr;
5046
5067
  c.zoneAbbr = Nc;
5047
- c.zoneName = Dc;
5068
+ c.zoneName = Ic;
5048
5069
  c.dates = he(
5049
5070
  "dates accessor is deprecated. Use date instead.",
5050
5071
  Gr
@@ -5065,7 +5086,7 @@ c.isDSTShifted = he(
5065
5086
  "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
5066
5087
  vd
5067
5088
  );
5068
- function Ic(e) {
5089
+ function Dc(e) {
5069
5090
  return G(e * 1e3);
5070
5091
  }
5071
5092
  function Yc() {
@@ -5108,11 +5129,11 @@ L.weekdaysMinRegex = Mu;
5108
5129
  L.isPM = xu;
5109
5130
  L.meridiem = Tu;
5110
5131
  function Vt(e, t, n, s) {
5111
- var r = $e(), a = Ce().set(s, t);
5132
+ var r = Ue(), a = Ce().set(s, t);
5112
5133
  return r[n](a, e);
5113
5134
  }
5114
5135
  function zr(e, t, n) {
5115
- if (Ue(e) && (t = e, e = void 0), e = e || "", t != null)
5136
+ if ($e(e) && (t = e, e = void 0), e = e || "", t != null)
5116
5137
  return Vt(e, t, n, "month");
5117
5138
  var s, r = [];
5118
5139
  for (s = 0; s < 12; s++)
@@ -5120,8 +5141,8 @@ function zr(e, t, n) {
5120
5141
  return r;
5121
5142
  }
5122
5143
  function rs(e, t, n, s) {
5123
- typeof e == "boolean" ? (Ue(t) && (n = t, t = void 0), t = t || "") : (t = e, n = t, e = !1, Ue(t) && (n = t, t = void 0), t = t || "");
5124
- var r = $e(), a = e ? r._week.dow : 0, o, i = [];
5144
+ typeof e == "boolean" ? ($e(t) && (n = t, t = void 0), t = t || "") : (t = e, n = t, e = !1, $e(t) && (n = t, t = void 0), t = t || "");
5145
+ var r = Ue(), a = e ? r._week.dow : 0, o, i = [];
5125
5146
  if (n != null)
5126
5147
  return Vt(t, (n + a) % 7, s, "day");
5127
5148
  for (o = 0; o < 7; o++)
@@ -5174,18 +5195,18 @@ v.lang = he(
5174
5195
  );
5175
5196
  v.langData = he(
5176
5197
  "moment.langData is deprecated. Use moment.localeData instead.",
5177
- $e
5198
+ Ue
5178
5199
  );
5179
- var De = Math.abs;
5180
- function Uc() {
5200
+ var Ie = Math.abs;
5201
+ function $c() {
5181
5202
  var e = this._data;
5182
- return this._milliseconds = De(this._milliseconds), this._days = De(this._days), this._months = De(this._months), e.milliseconds = De(e.milliseconds), e.seconds = De(e.seconds), e.minutes = De(e.minutes), e.hours = De(e.hours), e.months = De(e.months), e.years = De(e.years), this;
5203
+ return this._milliseconds = Ie(this._milliseconds), this._days = Ie(this._days), this._months = Ie(this._months), e.milliseconds = Ie(e.milliseconds), e.seconds = Ie(e.seconds), e.minutes = Ie(e.minutes), e.hours = Ie(e.hours), e.months = Ie(e.months), e.years = Ie(e.years), this;
5183
5204
  }
5184
5205
  function Br(e, t, n, s) {
5185
5206
  var r = be(t, n);
5186
5207
  return e._milliseconds += s * r._milliseconds, e._days += s * r._days, e._months += s * r._months, e._bubble();
5187
5208
  }
5188
- function $c(e, t) {
5209
+ function Uc(e, t) {
5189
5210
  return Br(this, e, t, 1);
5190
5211
  }
5191
5212
  function Wc(e, t) {
@@ -5257,7 +5278,7 @@ var eh = Qe("milliseconds"), th = Qe("seconds"), nh = Qe("minutes"), sh = Qe("ho
5257
5278
  function ih() {
5258
5279
  return ue(this.days() / 7);
5259
5280
  }
5260
- var Ie = Math.round, rt = {
5281
+ var De = Math.round, rt = {
5261
5282
  ss: 44,
5262
5283
  // a few seconds to seconds
5263
5284
  s: 45,
@@ -5277,11 +5298,11 @@ function lh(e, t, n, s, r) {
5277
5298
  return r.relativeTime(t || 1, !!n, e, s);
5278
5299
  }
5279
5300
  function uh(e, t, n, s) {
5280
- var r = be(e).abs(), a = Ie(r.as("s")), o = Ie(r.as("m")), i = Ie(r.as("h")), l = Ie(r.as("d")), u = Ie(r.as("M")), d = Ie(r.as("w")), _ = Ie(r.as("y")), f = a <= n.ss && ["s", a] || a < n.s && ["ss", a] || o <= 1 && ["m"] || o < n.m && ["mm", o] || i <= 1 && ["h"] || i < n.h && ["hh", i] || l <= 1 && ["d"] || l < n.d && ["dd", l];
5301
+ var r = be(e).abs(), a = De(r.as("s")), o = De(r.as("m")), i = De(r.as("h")), l = De(r.as("d")), u = De(r.as("M")), d = De(r.as("w")), _ = De(r.as("y")), f = a <= n.ss && ["s", a] || a < n.s && ["ss", a] || o <= 1 && ["m"] || o < n.m && ["mm", o] || i <= 1 && ["h"] || i < n.h && ["hh", i] || l <= 1 && ["d"] || l < n.d && ["dd", l];
5281
5302
  return n.w != null && (f = f || d <= 1 && ["w"] || d < n.w && ["ww", d]), f = f || u <= 1 && ["M"] || u < n.M && ["MM", u] || _ <= 1 && ["y"] || ["yy", _], f[2] = t, f[3] = +e > 0, f[4] = s, lh.apply(null, f);
5282
5303
  }
5283
5304
  function dh(e) {
5284
- return e === void 0 ? Ie : typeof e == "function" ? (Ie = e, !0) : !1;
5305
+ return e === void 0 ? De : typeof e == "function" ? (De = e, !0) : !1;
5285
5306
  }
5286
5307
  function ch(e, t) {
5287
5308
  return rt[e] === void 0 ? !1 : t === void 0 ? rt[e] : (rt[e] = t, e === "s" && (rt.ss = t - 1), !0);
@@ -5304,8 +5325,8 @@ function an() {
5304
5325
  }
5305
5326
  var E = sn.prototype;
5306
5327
  E.isValid = ad;
5307
- E.abs = Uc;
5308
- E.add = $c;
5328
+ E.abs = $c;
5329
+ E.add = Uc;
5309
5330
  E.subtract = Wc;
5310
5331
  E.as = Fc;
5311
5332
  E.asMilliseconds = qr;
@@ -5334,7 +5355,7 @@ E.toISOString = an;
5334
5355
  E.toString = an;
5335
5356
  E.toJSON = an;
5336
5357
  E.locale = Lr;
5337
- E.localeData = Ur;
5358
+ E.localeData = $r;
5338
5359
  E.toIsoString = he(
5339
5360
  "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
5340
5361
  an
@@ -5344,10 +5365,10 @@ x("X", 0, 0, "unix");
5344
5365
  x("x", 0, 0, "valueOf");
5345
5366
  y("x", Qt);
5346
5367
  y("X", El);
5347
- U("X", function(e, t, n) {
5368
+ $("X", function(e, t, n) {
5348
5369
  n._d = new Date(parseFloat(e) * 1e3);
5349
5370
  });
5350
- U("x", function(e, t, n) {
5371
+ $("x", function(e, t, n) {
5351
5372
  n._d = new Date(Y(e));
5352
5373
  });
5353
5374
  v.version = "2.30.1";
@@ -5357,7 +5378,7 @@ v.min = td;
5357
5378
  v.max = nd;
5358
5379
  v.now = sd;
5359
5380
  v.utc = Ce;
5360
- v.unix = Ic;
5381
+ v.unix = Dc;
5361
5382
  v.months = Ec;
5362
5383
  v.isDate = xt;
5363
5384
  v.locale = Ve;
@@ -5366,7 +5387,7 @@ v.duration = be;
5366
5387
  v.isMoment = ge;
5367
5388
  v.weekdays = Pc;
5368
5389
  v.parseZone = Yc;
5369
- v.localeData = $e;
5390
+ v.localeData = Ue;
5370
5391
  v.isDuration = At;
5371
5392
  v.monthsShort = Rc;
5372
5393
  v.weekdaysMin = Ac;
@@ -5460,7 +5481,7 @@ const fh = "code-graph", ph = (e, t = "", n = "json") => {
5460
5481
  }, s = {
5461
5482
  command: Jr,
5462
5483
  title: "Toggle minimap",
5463
- icon: z(() => e.enableMinimap ? Us : As)
5484
+ icon: z(() => e.enableMinimap ? $s : As)
5464
5485
  }, r = {
5465
5486
  command: Qr,
5466
5487
  title: "Toggle palette",
@@ -5494,7 +5515,7 @@ function bh(e) {
5494
5515
  }, e.newGraph = () => {
5495
5516
  e.engine?.pause(), e.displayedGraph.clear(), e.commandHandler.executeCommand(He.CLEAR_CLIPBOARD_COMMAND), e.commandHandler.executeCommand(He.CLEAR_HISTORY_COMMAND), e.displayedGraph.id = Xe(), e.engine?.resume(), e.engine?.runOnce({});
5496
5517
  }, e.subscribe = () => {
5497
- e.displayedGraph.nodeEvents.titleChanged.subscribe(t, () => e.engine?.runOnce({})), e.displayedGraph.events.addConnection.subscribe(t, (n) => {
5518
+ e.displayedGraph.events.addConnection.subscribe(t, (n) => {
5498
5519
  const s = e.displayedGraph.findNodeById(n.to.nodeId);
5499
5520
  s && s.isCodeNode && s.onConnected();
5500
5521
  const r = e.displayedGraph.findNodeById(n.from.nodeId);
@@ -5505,7 +5526,7 @@ function bh(e) {
5505
5526
  const r = e.displayedGraph.findNodeById(n.from.nodeId);
5506
5527
  r && r.isCodeNode && r.onUnconnected();
5507
5528
  }), e.engine?.events.beforeRun.subscribe(t, () => {
5508
- e.displayedGraph.onUpdate(), e.engine?.pause(), e.displayedGraph.sortNodes(), e.engine?.resume();
5529
+ e.engine?.pause(), e.displayedGraph.beforeRun(), e.displayedGraph.sortNodesByRank(), e.displayedGraph.sortNodes(), e.engine?.resume();
5509
5530
  }), e.engine?.events.afterRun.subscribe(t, (n) => {
5510
5531
  e.engine?.pause(), Ts(n, e.editor), e.code.state.lockCode || e.code.renderCode({
5511
5532
  nodes: e.editor.graph.scriptedCodeNodes,
@@ -5548,18 +5569,18 @@ function kh(e, t, n) {
5548
5569
  (O) => !d.includes(O.from) && u.includes(O.to)
5549
5570
  ), f = o.connections.filter(
5550
5571
  (O) => d.includes(O.from) && !u.includes(O.to)
5551
- ), D = o.connections.filter(
5572
+ ), I = o.connections.filter(
5552
5573
  (O) => d.includes(O.from) && u.includes(O.to)
5553
- ), g = l.map((O) => O.save()), C = D.map((O) => ({
5574
+ ), g = l.map((O) => O.save()), C = I.map((O) => ({
5554
5575
  id: O.id,
5555
5576
  from: O.from.id,
5556
5577
  to: O.to.id
5557
- })), h = /* @__PURE__ */ new Map(), { xLeft: b, xRight: $, yTop: A } = Mh(l);
5578
+ })), h = /* @__PURE__ */ new Map(), { xLeft: b, xRight: U, yTop: A } = Mh(l);
5558
5579
  for (const [O, Q] of _.entries()) {
5559
5580
  const ne = new ta();
5560
5581
  ne.inputs.name.value = Q.to.name, g.push({
5561
5582
  ...ne.save(),
5562
- position: { x: $ - a.value.settings.nodes.defaultWidth - 100, y: A + O * 200 }
5583
+ position: { x: U - a.value.settings.nodes.defaultWidth - 100, y: A + O * 200 }
5563
5584
  }), C.push({ id: Xe(), from: ne.outputs.placeholder.id, to: Q.to.id }), h.set(Q.to.id, ne.graphInterfaceId);
5564
5585
  }
5565
5586
  for (const [O, Q] of f.entries()) {
@@ -5659,6 +5680,21 @@ class Sh extends Aa {
5659
5680
  super._loading = !1;
5660
5681
  }
5661
5682
  }
5683
+ /**
5684
+ * Register a new node type.
5685
+ * @param nodeType Actual type / constructor of the node
5686
+ * @param options Optionally specify a title and/or a category for this node
5687
+ */
5688
+ registerNodeType(t, n) {
5689
+ if (this.events.beforeRegisterNodeType.emit({ type: t, options: n }).prevented) return;
5690
+ const s = new t();
5691
+ this.nodeTypes.set(s.type, {
5692
+ type: t,
5693
+ category: n?.category ?? "default",
5694
+ title: n?.title ?? s.title,
5695
+ orderRank: n?.orderRank
5696
+ }), this.events.registerNodeType.emit({ type: t, options: n });
5697
+ }
5662
5698
  /**
5663
5699
  * Register category module
5664
5700
  * @param category string
@@ -5676,7 +5712,7 @@ function Xh(e) {
5676
5712
  renderNode: new is(null),
5677
5713
  /** Called whenever an interface is rendered */
5678
5714
  renderInterface: new is(null)
5679
- }, D = Ae({
5715
+ }, I = Ae({
5680
5716
  clipboard: _,
5681
5717
  code: t,
5682
5718
  commandHandler: u,
@@ -5693,16 +5729,16 @@ function Xh(e) {
5693
5729
  settings: l,
5694
5730
  switchGraph: o
5695
5731
  });
5696
- return t.value.registerViewModel(D), bh(D), xa(a, u), kh(a, u, o), Ca(a, u), Oa(a, u, o), Ta(a, u), Na(a, u, l), _h(a, u, l), yh(l), bs(
5732
+ return t.value.registerViewModel(I), bh(I), xa(a, u), kh(a, u, o), Ca(a, u), Oa(a, u, o), Ta(a, u), Na(a, u, l), _h(a, u, l), yh(l), bs(
5697
5733
  n,
5698
5734
  (g, C) => {
5699
5735
  C && (C.events.registerGraph.unsubscribe(s), C.graphEvents.beforeAddNode.unsubscribe(s), g.nodeHooks.beforeLoad.unsubscribe(s), g.nodeHooks.afterSave.unsubscribe(s), g.graphTemplateHooks.beforeLoad.unsubscribe(s), g.graphTemplateHooks.afterSave.unsubscribe(s), g.graph.hooks.load.unsubscribe(s), g.graph.hooks.save.unsubscribe(s)), g && (g.nodeHooks.beforeLoad.subscribe(s, (h, b) => (b.position = h.position ?? { x: 0, y: 0 }, b.state && (b.state.integrated = h.integrated, h.props && (b.state.props = h.props), h.variableName && (b.state.variableName = h.variableName)), h)), g.nodeHooks.afterSave.subscribe(s, (h, b) => (h.position = b.position, b.state && (h.integrated = b.state.integrated, b.state.props && (h.props = b.state.props), b.state.variableName && (h.variableName = b.state.variableName)), h)), g.graphTemplateHooks.beforeLoad.subscribe(s, (h, b) => (b.panning = h.panning, b.scaling = h.scaling, h)), g.graphTemplateHooks.afterSave.subscribe(s, (h, b) => (h.panning = b.panning, h.scaling = b.scaling, h)), g.graph.hooks.load.subscribe(s, (h, b) => (b.panning = h.panning, b.scaling = h.scaling, h)), g.graph.hooks.save.subscribe(s, (h, b) => (h.panning = b.panning, h.scaling = b.scaling, h)), g.graphEvents.beforeAddNode.subscribe(
5700
5736
  s,
5701
- (h) => Da(h, { defaultWidth: l.nodes.defaultWidth })
5737
+ (h) => Ia(h, { defaultWidth: l.nodes.defaultWidth })
5702
5738
  ), n.value.registerNodeType(ta, { category: "Subgraphs" }), n.value.registerNodeType(na, { category: "Subgraphs" }), o(g.graph));
5703
5739
  },
5704
5740
  { immediate: !0 }
5705
- ), Ms(() => D.isReady = !0), D;
5741
+ ), Ms(() => I.isReady = !0), I;
5706
5742
  }
5707
5743
  export {
5708
5744
  Bs as AbstractCodeNode,
@@ -5715,7 +5751,7 @@ export {
5715
5751
  sr as CodeGraphInputNode,
5716
5752
  rr as CodeGraphOutputNode,
5717
5753
  Zt as CodeGraphTemplate,
5718
- In as CodeNode,
5754
+ Dn as CodeNode,
5719
5755
  Mt as CodeNodeInputInterface,
5720
5756
  oe as CodeNodeInterface,
5721
5757
  Yn as CodeNodeInterfaceComponent,
@@ -5726,7 +5762,7 @@ export {
5726
5762
  ds as GRAPH_OUTPUT_NODE_TYPE,
5727
5763
  Qs as IntegerInterface,
5728
5764
  zh as JavascriptCode,
5729
- $h as ListInputInterface,
5765
+ Uh as ListInputInterface,
5730
5766
  Ln as NODE_DEFAULT_WITH,
5731
5767
  nl as NumberInterface,
5732
5768
  jh as PythonCode,
@@ -5742,7 +5778,7 @@ export {
5742
5778
  Hh as TextareaInputInterface,
5743
5779
  Fh as TupleInputInterface,
5744
5780
  ea as UPLOAD_EDITOR_STATE_COMMAND,
5745
- Uh as addDefaultInterfaceTypes,
5781
+ $h as addDefaultInterfaceTypes,
5746
5782
  Kh as allowMultipleConnections,
5747
5783
  Zs as booleanType,
5748
5784
  Ah as components,