@ankhzet/graph 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ankhzet/graph
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix graph nodes render
8
+
3
9
  ## 0.4.0
4
10
 
5
11
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -445,7 +445,7 @@ export declare function NodeGroups<Item extends GroupableItem<any>>({ items, res
445
445
  export declare interface NodeGroupsProps<T extends GroupableItem<any>> extends PropsWithChildren {
446
446
  items: T[];
447
447
  resolver: GroupResolver<T>;
448
- onSelect: (group: ItemsGroup<T['id']>) => void;
448
+ onSelect: (groups: ItemsGroup<T['id']>[]) => void;
449
449
  }
450
450
 
451
451
  export declare type NodeJoinRequest<ID> = {
package/dist/index.js CHANGED
@@ -162,7 +162,7 @@ var S = Object.defineProperty, C = Object.getOwnPropertyDescriptor, w = Object.g
162
162
  });
163
163
  }
164
164
  move(e) {
165
- return this.position = e, this.position;
165
+ return this.position = e;
166
166
  }
167
167
  onConnect(e) {
168
168
  return this.handleEvent(j, e);
@@ -926,7 +926,7 @@ var Me = (e) => (t) => {
926
926
  return e < n || t < r ? !1 : e - n <= this.width && t - r <= this.height;
927
927
  }
928
928
  get width() {
929
- return Math.max(this.data.width, this.#e.width + 2);
929
+ return Math.max(this.data.width, this.#e.width + 6);
930
930
  }
931
931
  get height() {
932
932
  return this.data.height + 16;
@@ -943,33 +943,35 @@ var Me = (e) => (t) => {
943
943
  }
944
944
  get connectors() {
945
945
  if (this.#n) return this.#n;
946
- let e = [], t = 1, n = 1;
947
- for (let n of this.data.inputs) {
948
- let r = {
946
+ let e = this.width;
947
+ this.#n = [];
948
+ let t = 1, n = 1;
949
+ for (let e of this.data.inputs) {
950
+ let n = {
949
951
  x: 16 / 2,
950
952
  y: t * 16 + 16 / 2
951
- }, i = O(this.data.position, r);
952
- e.push({
953
+ }, r = O(this.data.position, n);
954
+ this.#n.push({
953
955
  parent: this.data.id,
954
- port: n.port,
955
- name: n.name,
956
- nodes: n.nodes,
956
+ port: e.port,
957
+ name: e.name,
958
+ nodes: e.nodes,
957
959
  input: !0,
958
- x: r.x,
959
- y: r.y,
960
- connector: new Se(i.x, i.y)
960
+ x: n.x,
961
+ y: n.y,
962
+ connector: new Se(r.x, r.y)
961
963
  }), t++;
962
964
  }
963
- for (let t of this.data.outputs) e.push({
965
+ for (let t of this.data.outputs) this.#n.push({
964
966
  parent: this.data.id,
965
967
  port: t.port,
966
968
  name: t.name,
967
969
  nodes: t.nodes,
968
970
  input: !1,
969
- x: 64 - 16 / 2,
971
+ x: e - 16 / 2,
970
972
  y: n * 16 + 16 / 2
971
973
  }), n++;
972
- return this.#n = e;
974
+ return this.#n;
973
975
  }
974
976
  placeConnectors(e = !0) {
975
977
  let t = /* @__PURE__ */ new Map(), n = [];
@@ -1612,7 +1614,6 @@ D(/* @__PURE__ */ E({
1612
1614
  E_NODE_CONTEXT: () => q,
1613
1615
  LANE_HEIGHT: () => 16,
1614
1616
  LANE_WIDTH: () => 16,
1615
- NODE_WIDTH: () => 64,
1616
1617
  PIXIGUI: () => Q,
1617
1618
  PIXINode: () => Pe,
1618
1619
  PIXIOutlined: () => Je,
@@ -1696,11 +1697,15 @@ function Xe(e, t) {
1696
1697
  let e = t(r);
1697
1698
  e && n.push(e);
1698
1699
  }
1699
- return n.sort((e, t) => e.label.localeCompare(t.label)).concat([{
1700
+ let r = {
1700
1701
  value: "all",
1701
1702
  ids: e.map(({ id: e }) => e),
1702
1703
  label: `All nodes (${e.length})`
1703
- }]);
1704
+ };
1705
+ return {
1706
+ groups: n.sort((e, t) => e.label.localeCompare(t.label)).concat([r]),
1707
+ getAll: () => [r]
1708
+ };
1704
1709
  }
1705
1710
  var Ze = (e, t) => {
1706
1711
  let n = e.length;
@@ -1708,31 +1713,35 @@ var Ze = (e, t) => {
1708
1713
  for (let r = 0; r < n; r++) if (e[r] !== t[r]) return !1;
1709
1714
  return !0;
1710
1715
  }, Qe = (e) => {
1711
- let t = String(e);
1712
- return (e) => String(e.value) === t;
1713
- }, $e = v(function({ items: e, resolver: t, onSelect: n, children: r, ...a }) {
1714
- let c = s(() => Xe(e, t), [e, t]), [u, d] = l(c.find(({ value: e }) => e === "all")), f = m(({ target: { value: e } }) => {
1715
- let t = c.find(Qe(e));
1716
- t && d(t);
1716
+ let t = e.map(String);
1717
+ return (e) => t.includes(String(e.value));
1718
+ }, $e = (e, t) => e.every((e) => t.some((t) => t.value === e.value)) && Ze(e.flatMap(tt), t.flatMap(tt)), et = (e) => e.value, tt = (e) => e.ids, $ = v(function({ items: e, resolver: t, onSelect: n, children: r, ...a }) {
1719
+ let { groups: c, getAll: u } = s(() => Xe(e, t), [e, t]), [d, f] = l(u), p = s(() => d.map((e) => String(e.value)), [d]), h = m(({ target: { selectedOptions: e } }) => {
1720
+ let t = c.filter(Qe(Array.from(e, et)));
1721
+ t && f(t);
1717
1722
  });
1718
- return i(() => void n(u), [u, n]), o(() => {
1719
- let e = c.find(Qe(u.value));
1723
+ return i(() => void n(d), [d, n]), o(() => {
1724
+ let e = c.filter(Qe(d.map(et)));
1720
1725
  if (e) {
1721
- if (e === u) return;
1722
- (e.label !== u.label || !Ze(e.ids, u.ids)) && d(e);
1723
- } else d(c[0]);
1724
- }, [c, u]), /* @__PURE__ */ b("select", {
1726
+ if ($e(e, d)) return;
1727
+ f(e);
1728
+ } else f(u);
1729
+ }, [
1730
+ c,
1731
+ u,
1732
+ d
1733
+ ]), /* @__PURE__ */ b("select", {
1725
1734
  multiple: !0,
1726
1735
  size: c.length,
1727
- value: String(u.value),
1728
- onChange: f,
1736
+ value: p,
1737
+ onChange: h,
1729
1738
  ...a,
1730
1739
  children: [r, c.map(({ value: e, label: t }) => /* @__PURE__ */ y("option", {
1731
1740
  value: String(e),
1732
1741
  children: t
1733
1742
  }, String(e)))]
1734
1743
  });
1735
- }), et = v(({ ref: e, handlers: t, onResize: n, ...r }) => {
1744
+ }), nt = v(({ ref: e, handlers: t, onResize: n, ...r }) => {
1736
1745
  let [o, s] = h(), { bind: c, reset: l } = R(t);
1737
1746
  return a(e, () => ({
1738
1747
  reset: l,
@@ -1746,23 +1755,23 @@ var Ze = (e, t) => {
1746
1755
  });
1747
1756
  }, [o, n]), /* @__PURE__ */ y("div", {
1748
1757
  ref: s,
1749
- style: $.root,
1758
+ style: rt.root,
1750
1759
  children: /* @__PURE__ */ y("div", {
1751
- style: $.root,
1760
+ style: rt.root,
1752
1761
  ...c,
1753
1762
  ...r
1754
1763
  })
1755
1764
  });
1756
- }), $ = u.of({ root: {
1765
+ }), rt = u.of({ root: {
1757
1766
  flex: 1,
1758
1767
  display: "flex",
1759
1768
  minWidth: 0,
1760
1769
  minHeight: 0
1761
- } }), tt = v(({ onSelect: e, ...t }) => /* @__PURE__ */ y($e, {
1762
- resolver: nt,
1770
+ } }), it = v(({ onSelect: e, ...t }) => /* @__PURE__ */ y($, {
1771
+ resolver: at,
1763
1772
  onSelect: m((t) => e(t.ids)),
1764
1773
  ...t
1765
- })), nt = (e) => {
1774
+ })), at = (e) => {
1766
1775
  if (!e.item.isolator) return;
1767
1776
  let t = [e.id];
1768
1777
  return {
@@ -1770,7 +1779,7 @@ var Ze = (e, t) => {
1770
1779
  label: e.title,
1771
1780
  ids: t
1772
1781
  };
1773
- }, rt = (e, t, { onEdit: n, onConnect: r, onMove: i, onAddPort: a, onDisconnectPort: o, onDeletePort: s, onDelete: c, onSelect: l, onContextMenu: u } = {}) => ({
1782
+ }, ot = (e, t, { onEdit: n, onConnect: r, onMove: i, onAddPort: a, onDisconnectPort: o, onDeletePort: s, onDelete: c, onSelect: l, onContextMenu: u } = {}) => ({
1774
1783
  canvas: {
1775
1784
  onSelectNode: (t, n) => l?.(t?.item || null, e.toData(n)),
1776
1785
  onContextMenu: (t, n) => u?.(t?.item || null, e.toData(n))
@@ -1800,11 +1809,11 @@ var Ze = (e, t) => {
1800
1809
  onDeletePort: async (e, t) => s?.(e.item, t),
1801
1810
  onDelete: async (e) => c?.(e.item)
1802
1811
  }
1803
- }), it = {
1812
+ }), st = {
1804
1813
  x: 0,
1805
1814
  y: 0
1806
- }, at = v(function({ innerRef: e, nodes: t, subset: n, coordinator: r, menu: l, onSelectNode: u, onContextMenu: d, ...f }) {
1807
- let p = c(it), h = c(null), g = s(() => new Q(l), [l]), _ = s(() => new Ye({
1815
+ }, ct = v(function({ innerRef: e, nodes: t, subset: n, coordinator: r, menu: l, onSelectNode: u, onContextMenu: d, ...f }) {
1816
+ let p = c(st), h = c(null), g = s(() => new Q(l), [l]), _ = s(() => new Ye({
1808
1817
  maxFPS: 120,
1809
1818
  grid: {
1810
1819
  cellSize: r.gridSize,
@@ -1865,15 +1874,15 @@ var Ze = (e, t) => {
1865
1874
  antialias: !0,
1866
1875
  transparent: !1
1867
1876
  } });
1868
- }, [_]), /* @__PURE__ */ y(et, {
1877
+ }, [_]), /* @__PURE__ */ y(nt, {
1869
1878
  ref: h,
1870
1879
  handlers: E,
1871
1880
  onResize: v,
1872
1881
  ...f
1873
1882
  });
1874
- }), ot = (e, { onEdit: t, onMove: n, onConnect: r, onDelete: i, onAddPort: a, onDisconnectPort: o, onDeletePort: s }) => {
1883
+ }), lt = (e, { onEdit: t, onMove: n, onConnect: r, onDelete: i, onAddPort: a, onDisconnectPort: o, onDeletePort: s }) => {
1875
1884
  e.onConnect(r), e.onMove((t) => n(e, t)), e.onEditAction(() => t(e)), e.onDeleteAction(() => i(e)), e.onAddPortAction((t) => a(e, t)), e.onDisconnectPortAction(({ port: t }) => o(e, t)), e.onDeletePortAction(({ port: t }) => s(e, t));
1876
- }, st = (e, t, { added: n, removed: r }) => {
1885
+ }, ut = (e, t, { added: n, removed: r }) => {
1877
1886
  if (n.length) {
1878
1887
  let r = n.reduce((e, t) => (e[t.id] = t, e), {}), i = (t) => r[t] || e.find((e) => e.id === t);
1879
1888
  for (let e of n) {
@@ -1897,11 +1906,11 @@ var Ze = (e, t) => {
1897
1906
  }
1898
1907
  }
1899
1908
  }
1900
- if (t) for (let e of n) ot(e, t);
1909
+ if (t) for (let e of n) lt(e, t);
1901
1910
  e.add(n);
1902
1911
  }
1903
1912
  if (r.length) for (let t of r) e.remove(t);
1904
- }, ct = () => [{
1913
+ }, dt = () => [{
1905
1914
  label: "Add node",
1906
1915
  items: [{
1907
1916
  label: "+ Call",
@@ -1956,13 +1965,13 @@ var Ze = (e, t) => {
1956
1965
  }
1957
1966
  }
1958
1967
  ]
1959
- }], lt = (e, t) => ({
1968
+ }], ft = (e, t) => ({
1960
1969
  getMenu(t, n) {
1961
1970
  let r = {
1962
1971
  action: "add",
1963
1972
  ...e.toData(n)
1964
1973
  };
1965
- return { items: ct().map(({ label: e, items: t }) => [{
1974
+ return { items: dt().map(({ label: e, items: t }) => [{
1966
1975
  label: e,
1967
1976
  group: !0
1968
1977
  }, ...t.map(({ label: e, data: t, ...n }) => ({
@@ -1981,7 +1990,7 @@ var Ze = (e, t) => {
1981
1990
  return;
1982
1991
  }
1983
1992
  }
1984
- }), ut = (e, t) => {
1993
+ }), pt = (e, t) => {
1985
1994
  let n = c([]);
1986
1995
  p(() => {
1987
1996
  let i = t?.filter((e) => !n.current.some(r(e.id))), a = n.current.filter((e) => !t?.some(r(e.id)));
@@ -1989,8 +1998,8 @@ var Ze = (e, t) => {
1989
1998
  if (i) for (let { id: t } of i) e.find(r(t))?.setSelected(!0);
1990
1999
  n.current = t || [];
1991
2000
  }, [t, e]);
1992
- }, dt = (e) => e.startsWith("channel_"), ft = (e) => dt(e) ? e.slice(8) : "", pt = (e) => ({ id: t, name: n, input: r, to: i, port: a }) => {
1993
- let o = ft(n);
2001
+ }, mt = (e) => e.startsWith("channel_"), ht = (e) => mt(e) ? e.slice(8) : "", gt = (e) => ({ id: t, name: n, input: r, to: i, port: a }) => {
2002
+ let o = ht(n);
1994
2003
  o && (n = `${r ? "> " : ""}@${o}${r ? "" : " >"}`);
1995
2004
  let s = [];
1996
2005
  if (i) {
@@ -2005,11 +2014,11 @@ var Ze = (e, t) => {
2005
2014
  name: n,
2006
2015
  nodes: s
2007
2016
  };
2008
- }, mt = /* @__PURE__ */ function(e) {
2017
+ }, _t = /* @__PURE__ */ function(e) {
2009
2018
  return e[e.Idle = 1] = "Idle", e[e.Processing = 2] = "Processing", e[e.Done = 4] = "Done", e[e.Error = 8] = "Error", e[e.Selected = 16] = "Selected", e;
2010
- }({}), ht = /* @__PURE__ */ function(e) {
2019
+ }({}), vt = /* @__PURE__ */ function(e) {
2011
2020
  return e[e.EDIT_NODE = 1] = "EDIT_NODE", e[e.ADD_PORT = 2] = "ADD_PORT", e[e.DISCONNECT_PORT = 3] = "DISCONNECT_PORT", e[e.DELETE_PORT = 4] = "DELETE_PORT", e[e.DELETE_NODE = 5] = "DELETE_NODE", e;
2012
- }({}), gt = class extends ie {
2021
+ }({}), yt = class extends ie {
2013
2022
  #e;
2014
2023
  #t;
2015
2024
  constructor({ finder: e, item: t, coordinator: n, toTitle: r }) {
@@ -2020,8 +2029,8 @@ var Ze = (e, t) => {
2020
2029
  progress: 0,
2021
2030
  id: t.id,
2022
2031
  title: r(t),
2023
- inputs: t.ports.filter(({ input: e }) => !!e).map(pt(e)),
2024
- outputs: t.ports.filter(({ input: e }) => !e).map(pt(e))
2032
+ inputs: t.ports.filter(({ input: e }) => !!e).map(gt(e)),
2033
+ outputs: t.ports.filter(({ input: e }) => !e).map(gt(e))
2025
2034
  }), this.position = this.coordinator.toGraph(t);
2026
2035
  }
2027
2036
  dispose() {
@@ -2141,22 +2150,22 @@ var Ze = (e, t) => {
2141
2150
  return !!(this.description.status & 2) || this.description.progress > 0;
2142
2151
  }
2143
2152
  render(e) {
2144
- let t = ~~e.width - 1, n = ~~e.height - 2;
2153
+ let t = e.width - 1, n = e.height - 1;
2145
2154
  return this.#t ? this.#t.hotSwap(e) : this.#t = new qe(new Je({
2146
2155
  width: t,
2147
2156
  height: n,
2148
2157
  color: 3407871,
2149
2158
  lineSize: 1,
2150
- radius: 4
2159
+ radius: 6
2151
2160
  }), e), this.#t.first.active = this.isSelected, this.#e ? this.#e.hotSwap(this.#t) : this.#e = new xe(this.#t, {
2152
2161
  sizeX: t,
2153
2162
  sizeY: n,
2154
2163
  color: 3355647,
2155
2164
  lineSize: 3,
2156
- radius: 4
2165
+ radius: 6
2157
2166
  }), this.#e.setActive(this.isInProgress), this.#e;
2158
2167
  }
2159
- }, _t = ({ coordinator: e, sync: t, onUpdate: n, store: r, toTitle: i }) => {
2168
+ }, bt = ({ coordinator: e, sync: t, onUpdate: n, store: r, toTitle: i }) => {
2160
2169
  let a = c(t), o = s(() => ({
2161
2170
  subscribe: (e) => r.onChange(e),
2162
2171
  getSnapshot: () => r.get(),
@@ -2164,7 +2173,7 @@ var Ze = (e, t) => {
2164
2173
  is: I
2165
2174
  }), [r]), l = _(o.subscribe, o.getSnapshot, o.getSnapshot, o.selector, o.is), u = g(l), d = m((e) => l.find((t) => t.id === e));
2166
2175
  a.current = t, p(() => {
2167
- let t = (t) => new gt({
2176
+ let t = (t) => new yt({
2168
2177
  finder: d,
2169
2178
  item: t,
2170
2179
  coordinator: e,
@@ -2181,7 +2190,7 @@ var Ze = (e, t) => {
2181
2190
  removed: []
2182
2191
  });
2183
2192
  }, [l, i]), p(() => x(() => l, n), []);
2184
- }, vt = class {
2193
+ }, xt = class {
2185
2194
  grid;
2186
2195
  gridSize;
2187
2196
  sizes;
@@ -2212,8 +2221,8 @@ var Ze = (e, t) => {
2212
2221
  y: ~~(this.snap(t) / this.grid + .5)
2213
2222
  };
2214
2223
  }
2215
- }, yt = v(({ innerRef: e, graph: t, selected: n, sizes: r, handlers: i, children: o, onExport: u, ...f }) => {
2216
- let p = c(null), h = s(() => new vt(r), [r]), g = lt(h, i?.onCreate), [_, v] = L(() => new F()), [x, S] = l(), { canvas: C, loader: w } = rt(h, _, i), T = m(() => u?.(t));
2224
+ }, St = v(({ innerRef: e, graph: t, selected: n, sizes: r, handlers: i, children: o, onExport: u, ...f }) => {
2225
+ let p = c(null), h = s(() => new xt(r), [r]), g = ft(h, i?.onCreate), [_, v] = L(() => new F()), [x, S] = l(), { canvas: C, loader: w } = ot(h, _, i), T = m(() => u?.(t));
2217
2226
  return a(e, () => ({
2218
2227
  get graph() {
2219
2228
  return p.current?.graph;
@@ -2221,7 +2230,7 @@ var Ze = (e, t) => {
2221
2230
  get element() {
2222
2231
  return p.current?.element;
2223
2232
  }
2224
- })), _t({
2233
+ })), bt({
2225
2234
  store: s(() => {
2226
2235
  let e = new F(t.items);
2227
2236
  return {
@@ -2232,17 +2241,17 @@ var Ze = (e, t) => {
2232
2241
  }, [t.items]),
2233
2242
  coordinator: h,
2234
2243
  toTitle: (e) => e.title,
2235
- sync: (e) => st(_, w, e),
2244
+ sync: (e) => ut(_, w, e),
2236
2245
  onUpdate: () => e?.current?.graph.layout()
2237
- }), ut(v, n), /* @__PURE__ */ b("div", {
2246
+ }), pt(v, n), /* @__PURE__ */ b("div", {
2238
2247
  onContextMenu: d,
2239
- style: bt.root,
2248
+ style: Ct.root,
2240
2249
  ...f,
2241
2250
  children: [/* @__PURE__ */ b("div", {
2242
- style: bt.selector,
2251
+ style: Ct.selector,
2243
2252
  children: [
2244
2253
  o,
2245
- /* @__PURE__ */ y(tt, {
2254
+ /* @__PURE__ */ y(it, {
2246
2255
  items: v,
2247
2256
  onSelect: S
2248
2257
  }),
@@ -2255,7 +2264,7 @@ var Ze = (e, t) => {
2255
2264
  children: "Export"
2256
2265
  })
2257
2266
  ]
2258
- }), /* @__PURE__ */ y(at, {
2267
+ }), /* @__PURE__ */ y(ct, {
2259
2268
  innerRef: p,
2260
2269
  coordinator: h,
2261
2270
  nodes: v,
@@ -2264,7 +2273,7 @@ var Ze = (e, t) => {
2264
2273
  ...C
2265
2274
  })]
2266
2275
  });
2267
- }), bt = u.of({
2276
+ }), Ct = u.of({
2268
2277
  root: {
2269
2278
  flex: 1,
2270
2279
  display: "flex",
@@ -2278,6 +2287,6 @@ var Ze = (e, t) => {
2278
2287
  }
2279
2288
  });
2280
2289
  //#endregion
2281
- export { oe as ClusteredLayout, ce as EdgesSort, Ye as GraphAdapter, at as GraphCanvas, ie as GraphNode, A as GraphNodeJoints, ae as LayeredLayout, le as Layouter, yt as ManagedGraph, gt as ManagedGraphNode, ht as MenuActions, $e as NodeGroups, mt as NodeStatus, N as NodesGraph, se as NodesSort, Q as PIXIGUI, F as Store, et as Viewport, ft as getChannelName, dt as isChannelName, I as isEqualIdentifiables, R as useDraggable, L as useStore };
2290
+ export { oe as ClusteredLayout, ce as EdgesSort, Ye as GraphAdapter, ct as GraphCanvas, ie as GraphNode, A as GraphNodeJoints, ae as LayeredLayout, le as Layouter, St as ManagedGraph, yt as ManagedGraphNode, vt as MenuActions, $ as NodeGroups, _t as NodeStatus, N as NodesGraph, se as NodesSort, Q as PIXIGUI, F as Store, nt as Viewport, ht as getChannelName, mt as isChannelName, I as isEqualIdentifiables, R as useDraggable, L as useStore };
2282
2291
 
2283
2292
  //# sourceMappingURL=index.js.map