react-html-graph 1.2.1 → 1.2.3

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.
Files changed (156) hide show
  1. package/dist/behaviour/move-behaviour.d.ts +50 -0
  2. package/dist/behaviour/move-behaviour.d.ts.map +1 -0
  3. package/dist/behaviour/move-behaviour.js +71 -0
  4. package/dist/behaviour/move-behaviour.js.map +1 -0
  5. package/dist/calculations/index.d.ts +15 -1
  6. package/dist/calculations/index.d.ts.map +1 -1
  7. package/dist/calculations/index.js +1026 -0
  8. package/dist/calculations/index.js.map +1 -1
  9. package/dist/calculations/types.d.ts +70 -0
  10. package/dist/calculations/types.d.ts.map +1 -1
  11. package/dist/context/connection-context.d.ts.map +1 -1
  12. package/dist/context/connection-context.js.map +1 -1
  13. package/dist/context/error-context.d.ts.map +1 -1
  14. package/dist/context/error-context.js.map +1 -1
  15. package/dist/context/graph-context.d.ts.map +1 -1
  16. package/dist/context/graph-context.js.map +1 -1
  17. package/dist/context/graph-event-bus-context.d.ts +4 -0
  18. package/dist/context/graph-event-bus-context.d.ts.map +1 -0
  19. package/dist/context/graph-event-bus-context.js +8 -0
  20. package/dist/context/graph-event-bus-context.js.map +1 -0
  21. package/dist/context/graph-root-context.d.ts.map +1 -1
  22. package/dist/context/graph-root-context.js.map +1 -1
  23. package/dist/context/link-info-context.d.ts +4 -0
  24. package/dist/context/link-info-context.d.ts.map +1 -0
  25. package/dist/context/link-info-context.js +15 -0
  26. package/dist/context/link-info-context.js.map +1 -0
  27. package/dist/context/node-event-context.d.ts +4 -0
  28. package/dist/context/node-event-context.d.ts.map +1 -0
  29. package/dist/context/node-event-context.js +10 -0
  30. package/dist/context/node-event-context.js.map +1 -0
  31. package/dist/context/node-registry-context.d.ts +4 -0
  32. package/dist/context/node-registry-context.d.ts.map +1 -0
  33. package/dist/context/node-registry-context.js +13 -0
  34. package/dist/context/node-registry-context.js.map +1 -0
  35. package/dist/graph/index.d.ts +2 -2
  36. package/dist/graph/index.d.ts.map +1 -1
  37. package/dist/graph/index.js +446 -36
  38. package/dist/graph/index.js.map +1 -1
  39. package/dist/hooks/connection.d.ts +1 -1
  40. package/dist/hooks/connection.d.ts.map +1 -1
  41. package/dist/hooks/connection.js +5 -2
  42. package/dist/hooks/connection.js.map +1 -1
  43. package/dist/hooks/get-viewbox.d.ts +9 -0
  44. package/dist/hooks/get-viewbox.d.ts.map +1 -0
  45. package/dist/hooks/get-viewbox.js +20 -0
  46. package/dist/hooks/get-viewbox.js.map +1 -0
  47. package/dist/hooks/graph-event-bus.d.ts +3 -0
  48. package/dist/hooks/graph-event-bus.d.ts.map +1 -0
  49. package/dist/hooks/graph-event-bus.js +7 -0
  50. package/dist/hooks/graph-event-bus.js.map +1 -0
  51. package/dist/hooks/link-info.d.ts +4 -0
  52. package/dist/hooks/link-info.d.ts.map +1 -0
  53. package/dist/hooks/link-info.js +7 -0
  54. package/dist/hooks/link-info.js.map +1 -0
  55. package/dist/hooks/node-registry.d.ts +3 -0
  56. package/dist/hooks/node-registry.d.ts.map +1 -0
  57. package/dist/hooks/node-registry.js +7 -0
  58. package/dist/hooks/node-registry.js.map +1 -0
  59. package/dist/hooks/nodeEvent.d.ts +7 -0
  60. package/dist/hooks/nodeEvent.d.ts.map +1 -0
  61. package/dist/hooks/nodeEvent.js +17 -0
  62. package/dist/hooks/nodeEvent.js.map +1 -0
  63. package/dist/hooks/use-graph-api.d.ts +50 -0
  64. package/dist/hooks/use-graph-api.d.ts.map +1 -0
  65. package/dist/hooks/use-graph-api.js +97 -0
  66. package/dist/hooks/use-graph-api.js.map +1 -0
  67. package/dist/layouts/centralizar.d.ts +1 -0
  68. package/dist/layouts/centralizar.d.ts.map +1 -0
  69. package/dist/layouts/centralizar.js +2 -0
  70. package/dist/layouts/centralizar.js.map +1 -0
  71. package/dist/layouts/force-direction-layout.d.ts +9 -0
  72. package/dist/layouts/force-direction-layout.d.ts.map +1 -0
  73. package/dist/layouts/force-direction-layout.js +11 -0
  74. package/dist/layouts/force-direction-layout.js.map +1 -0
  75. package/dist/layouts/index.d.ts +13 -0
  76. package/dist/layouts/index.d.ts.map +1 -0
  77. package/dist/layouts/index.js +17 -0
  78. package/dist/layouts/index.js.map +1 -0
  79. package/dist/layouts/organic-layout.d.ts +9 -0
  80. package/dist/layouts/organic-layout.d.ts.map +1 -0
  81. package/dist/layouts/organic-layout.js +11 -0
  82. package/dist/layouts/organic-layout.js.map +1 -0
  83. package/dist/layouts/radial-layout.d.ts +9 -0
  84. package/dist/layouts/radial-layout.d.ts.map +1 -0
  85. package/dist/layouts/radial-layout.js +11 -0
  86. package/dist/layouts/radial-layout.js.map +1 -0
  87. package/dist/layouts/sequential-layout.d.ts +9 -0
  88. package/dist/layouts/sequential-layout.d.ts.map +1 -0
  89. package/dist/layouts/sequential-layout.js +11 -0
  90. package/dist/layouts/sequential-layout.js.map +1 -0
  91. package/dist/layouts/shared.d.ts +10 -0
  92. package/dist/layouts/shared.d.ts.map +1 -0
  93. package/dist/layouts/shared.js +39 -0
  94. package/dist/layouts/shared.js.map +1 -0
  95. package/dist/layouts/structural-layout.d.ts +9 -0
  96. package/dist/layouts/structural-layout.d.ts.map +1 -0
  97. package/dist/layouts/structural-layout.js +11 -0
  98. package/dist/layouts/structural-layout.js.map +1 -0
  99. package/dist/layouts/tree-layout.d.ts +9 -0
  100. package/dist/layouts/tree-layout.d.ts.map +1 -0
  101. package/dist/layouts/tree-layout.js +11 -0
  102. package/dist/layouts/tree-layout.js.map +1 -0
  103. package/dist/link/base.d.ts +10 -20
  104. package/dist/link/base.d.ts.map +1 -1
  105. package/dist/link/base.js +17 -197
  106. package/dist/link/base.js.map +1 -1
  107. package/dist/link/temp-link.d.ts.map +1 -1
  108. package/dist/link/temp-link.js +24 -7
  109. package/dist/link/temp-link.js.map +1 -1
  110. package/dist/module.d.ts +11 -1
  111. package/dist/module.d.ts.map +1 -1
  112. package/dist/module.js +11 -1
  113. package/dist/module.js.map +1 -1
  114. package/dist/nodes/base.d.ts +2 -1
  115. package/dist/nodes/base.d.ts.map +1 -1
  116. package/dist/nodes/base.js +75 -66
  117. package/dist/nodes/base.js.map +1 -1
  118. package/dist/paths/bidirectional-path.d.ts +16 -0
  119. package/dist/paths/bidirectional-path.d.ts.map +1 -0
  120. package/dist/paths/bidirectional-path.js +260 -0
  121. package/dist/paths/bidirectional-path.js.map +1 -0
  122. package/dist/ports/base.d.ts.map +1 -1
  123. package/dist/ports/base.js +26 -13
  124. package/dist/ports/base.js.map +1 -1
  125. package/dist/providers/connection-provider.d.ts +1 -1
  126. package/dist/providers/connection-provider.d.ts.map +1 -1
  127. package/dist/providers/connection-provider.js +30 -16
  128. package/dist/providers/connection-provider.js.map +1 -1
  129. package/dist/providers/graph-event-bus-provider.d.ts +11 -0
  130. package/dist/providers/graph-event-bus-provider.d.ts.map +1 -0
  131. package/dist/providers/graph-event-bus-provider.js +46 -0
  132. package/dist/providers/graph-event-bus-provider.js.map +1 -0
  133. package/dist/providers/link-info-provider.d.ts +23 -0
  134. package/dist/providers/link-info-provider.d.ts.map +1 -0
  135. package/dist/providers/link-info-provider.js +31 -0
  136. package/dist/providers/link-info-provider.js.map +1 -0
  137. package/dist/providers/node-event-context.d.ts +3 -0
  138. package/dist/providers/node-event-context.d.ts.map +1 -0
  139. package/dist/providers/node-event-context.js +81 -0
  140. package/dist/providers/node-event-context.js.map +1 -0
  141. package/dist/providers/node-registry-provider.d.ts +11 -0
  142. package/dist/providers/node-registry-provider.d.ts.map +1 -0
  143. package/dist/providers/node-registry-provider.js +54 -0
  144. package/dist/providers/node-registry-provider.js.map +1 -0
  145. package/dist/style.css +1 -0
  146. package/dist/types.d.ts +359 -38
  147. package/dist/types.d.ts.map +1 -1
  148. package/dist/utils/proxy.d.ts +2 -0
  149. package/dist/utils/proxy.d.ts.map +1 -0
  150. package/dist/utils/proxy.js +18 -0
  151. package/dist/utils/proxy.js.map +1 -0
  152. package/dist/utils/symbols.d.ts +2 -0
  153. package/dist/utils/symbols.d.ts.map +1 -0
  154. package/dist/utils/symbols.js +2 -0
  155. package/dist/utils/symbols.js.map +1 -0
  156. package/package.json +1 -1
@@ -1,32 +1,223 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, } from "react";
2
+ import { useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
3
+ import { calculateFitView } from "../calculations";
3
4
  import { GraphContext } from "../context/graph-context";
4
5
  import { ErrorContext } from "../context/error-context";
5
6
  import { ConnectionContext } from "../context/connection-context";
6
7
  import { GraphRootContext } from "../context/graph-root-context";
7
8
  import ConnectionProvider from "../providers/connection-provider";
9
+ import NodeRegistryProvider from "../providers/node-registry-provider";
10
+ import GraphEventBusProvider from "../providers/graph-event-bus-provider";
11
+ import { GRAPH_LAYOUT_EXECUTORS } from "../layouts";
8
12
  import GraphObject from "../nodes/base";
9
13
  import GraphLink from "../link/base";
10
14
  import ViewBox from "./viewbox";
11
15
  import "../style.css";
16
+ function cloneSerializableValue(value) {
17
+ if (value == null || typeof value !== "object") {
18
+ return value;
19
+ }
20
+ if (typeof globalThis.structuredClone === "function") {
21
+ return globalThis.structuredClone(value);
22
+ }
23
+ return JSON.parse(JSON.stringify(value));
24
+ }
25
+ function isFiniteNumber(value) {
26
+ return typeof value === "number" && Number.isFinite(value);
27
+ }
28
+ function normalizePoint3D(value, label) {
29
+ if (!value || typeof value !== "object") {
30
+ throw new Error(`${label} inválida.`);
31
+ }
32
+ const point = value;
33
+ if (!isFiniteNumber(point.x) || !isFiniteNumber(point.y) || !isFiniteNumber(point.z)) {
34
+ throw new Error(`${label} deve conter x, y e z numéricos.`);
35
+ }
36
+ return {
37
+ x: point.x,
38
+ y: point.y,
39
+ z: point.z,
40
+ };
41
+ }
42
+ function normalizeNodeEndpoint(value, label) {
43
+ if (!value || typeof value !== "object") {
44
+ throw new Error(`${label} inválido.`);
45
+ }
46
+ const endpoint = value;
47
+ if (typeof endpoint.node !== "string" || endpoint.node.trim() === "") {
48
+ throw new Error(`${label}.node deve ser uma string não vazia.`);
49
+ }
50
+ if (typeof endpoint.port !== "string" || endpoint.port.trim() === "") {
51
+ throw new Error(`${label}.port deve ser uma string não vazia.`);
52
+ }
53
+ return {
54
+ node: endpoint.node,
55
+ port: endpoint.port,
56
+ };
57
+ }
58
+ function normalizeNodeDefinition(value, index) {
59
+ if (!value || typeof value !== "object") {
60
+ throw new Error(`Nó serializado inválido na posição ${index}.`);
61
+ }
62
+ const node = value;
63
+ if (typeof node.id !== "string" || node.id.trim() === "") {
64
+ throw new Error(`Nó serializado na posição ${index} precisa de um id válido.`);
65
+ }
66
+ if (typeof node.nodeType !== "string" || node.nodeType.trim() === "") {
67
+ throw new Error(`Nó serializado "${node.id}" precisa de um nodeType válido.`);
68
+ }
69
+ return {
70
+ id: node.id,
71
+ nodeType: node.nodeType,
72
+ position: normalizePoint3D(node.position, `position do nó "${node.id}"`),
73
+ data: cloneSerializableValue(node.data),
74
+ };
75
+ }
76
+ function normalizeLinkDefinition(value, index) {
77
+ if (!value || typeof value !== "object") {
78
+ throw new Error(`Link serializado inválido na posição ${index}.`);
79
+ }
80
+ const link = value;
81
+ if (typeof link.id !== "string" || link.id.trim() === "") {
82
+ throw new Error(`Link serializado na posição ${index} precisa de um id válido.`);
83
+ }
84
+ if (link.connectionType != null && typeof link.connectionType !== "string") {
85
+ throw new Error(`Link serializado "${link.id}" possui connectionType inválido.`);
86
+ }
87
+ return {
88
+ id: link.id,
89
+ connectionType: link.connectionType,
90
+ from: normalizeNodeEndpoint(link.from, `from do link "${link.id}"`),
91
+ to: normalizeNodeEndpoint(link.to, `to do link "${link.id}"`),
92
+ data: cloneSerializableValue(link.data),
93
+ };
94
+ }
95
+ function normalizeSerializedGraph(input) {
96
+ const parsed = typeof input === "string"
97
+ ? (() => {
98
+ try {
99
+ return JSON.parse(input);
100
+ }
101
+ catch {
102
+ throw new Error("Não foi possível desserializar o grafo: JSON inválido.");
103
+ }
104
+ })()
105
+ : input;
106
+ if (!parsed || typeof parsed !== "object") {
107
+ throw new Error("Não foi possível desserializar o grafo: snapshot inválido.");
108
+ }
109
+ const snapshot = parsed;
110
+ if (!Array.isArray(snapshot.nodes) || !Array.isArray(snapshot.links)) {
111
+ throw new Error("Não foi possível desserializar o grafo: o snapshot precisa conter arrays nodes e links.");
112
+ }
113
+ return {
114
+ nodes: snapshot.nodes.map((node, index) => normalizeNodeDefinition(node, index)),
115
+ links: snapshot.links.map((link, index) => normalizeLinkDefinition(link, index)),
116
+ };
117
+ }
118
+ function serializeNodeDefinition(node, runtimeState) {
119
+ return {
120
+ id: node.id,
121
+ nodeType: node.nodeType,
122
+ position: { ...(runtimeState?.position ?? node.position) },
123
+ data: cloneSerializableValue(runtimeState?.data ?? node.data),
124
+ };
125
+ }
126
+ function serializeLinkDefinition(link) {
127
+ return {
128
+ id: link.id,
129
+ connectionType: link.connectionType,
130
+ from: { ...link.from },
131
+ to: { ...link.to },
132
+ data: cloneSerializableValue(link.data),
133
+ };
134
+ }
135
+ function getSnapshotBounds(nodes) {
136
+ if (nodes.length === 0) {
137
+ return { left: 0, top: 0, width: 0, height: 0 };
138
+ }
139
+ let left = Infinity;
140
+ let top = Infinity;
141
+ let right = -Infinity;
142
+ let bottom = -Infinity;
143
+ for (const node of nodes) {
144
+ left = Math.min(left, node.position.x);
145
+ top = Math.min(top, node.position.y);
146
+ right = Math.max(right, node.position.x + node.width);
147
+ bottom = Math.max(bottom, node.position.y + node.height);
148
+ }
149
+ if (!Number.isFinite(left) || !Number.isFinite(top) || !Number.isFinite(right) || !Number.isFinite(bottom)) {
150
+ return { left: 0, top: 0, width: 0, height: 0 };
151
+ }
152
+ return {
153
+ left,
154
+ top,
155
+ width: Math.max(0, right - left),
156
+ height: Math.max(0, bottom - top),
157
+ };
158
+ }
12
159
  /**
13
160
  * Componente Graph que orquestra o contexto do grafo, providers e o viewbox.
14
- * Recebe chamadas imperativas via ref (GraphApi) expostas por GraphHandle.
161
+ * Recebe a API estável criada por useGraphApi via prop `api`.
15
162
  *
16
163
  * @param props Propriedades do componente Graph
17
164
  * @returns JSX.Element
18
165
  */
19
- export default function Graph({ ref, mode = "edit", onError }) {
166
+ export default function Graph({ api, mode = "edit", onError }) {
20
167
  const rootRef = useRef(null);
21
- const graphApiRef = useRef(null);
168
+ const internal = api;
22
169
  const [nodeDefs, setNodeDefs] = useState([]);
23
170
  const [linkDefs, setLinkDefs] = useState([]);
24
- const [viewbox, setViewBox] = useState({
171
+ const [viewbox, setViewBoxState] = useState({
25
172
  x: 0, y: 0, zoom: 1, width: 0, height: 0,
26
173
  });
27
- // Converte definicoes em React elements para GraphContext
28
- const nodes = useMemo(() => nodeDefs.map(def => (_jsx(GraphObject, { id: def.id, ports: def.ports, data: def.data, initialPosition: def.position, children: def.template }, def.id))), [nodeDefs]);
29
- const links = useMemo(() => linkDefs.map(def => (_jsx(GraphLink, { ...def }, def.id))), [linkDefs]);
174
+ const viewboxRef = useRef(viewbox);
175
+ const nodeStateRef = useRef(new Map());
176
+ const linkStateRef = useRef(new Map());
177
+ // Wrapper que mantém ref e state sempre sincronizados.
178
+ // A ref é a fonte de verdade; updaters leem dela (não do state batched).
179
+ const setViewBox = useCallback((updater) => {
180
+ const newVb = typeof updater === 'function' ? updater(viewboxRef.current) : updater;
181
+ viewboxRef.current = newVb;
182
+ setViewBoxState(newVb);
183
+ }, []);
184
+ const handleNodeStateChange = useCallback((state) => {
185
+ nodeStateRef.current.set(state.id, state);
186
+ }, []);
187
+ const handleLinkStateChange = useCallback((state) => {
188
+ linkStateRef.current.set(state.id, state);
189
+ }, []);
190
+ // Atualiza apenas a ref de estado (sem setNodeDefs) para evitar re-render de todos os nós.
191
+ const handleNodeMove = useCallback((nodeId, newPosition) => {
192
+ const current = nodeStateRef.current.get(nodeId);
193
+ nodeStateRef.current.set(nodeId, {
194
+ id: nodeId,
195
+ position: newPosition,
196
+ width: current?.width ?? 1,
197
+ height: current?.height ?? 1,
198
+ data: current?.data,
199
+ });
200
+ }, [nodeStateRef]);
201
+ // Resolve nodeType do registro para obter portas e template
202
+ const nodes = useMemo(() => nodeDefs.map(def => {
203
+ const nodeType = internal._nodeTypeRegistry.get(def.nodeType);
204
+ const template = nodeType?.template ?? internal._defaultNodeTemplate;
205
+ const ports = nodeType?.ports ?? [];
206
+ if (!template)
207
+ return null;
208
+ return (_jsx(GraphObject, { id: def.id, ports: ports, data: def.data, initialPosition: def.position, onMove: (newPosition) => handleNodeMove(def.id, newPosition), onStateChange: handleNodeStateChange, children: template }, def.id));
209
+ }), [handleNodeMove, handleNodeStateChange, nodeDefs, internal._nodeTypeRegistry, internal._defaultNodeTemplate]);
210
+ // Resolve template do registro por connectionType
211
+ const links = useMemo(() => linkDefs.map(def => {
212
+ const template = (def.connectionType
213
+ ? internal._linkTemplateRegistry.get(def.connectionType)
214
+ : undefined)
215
+ ?? internal._defaultLinkTemplate
216
+ ?? undefined;
217
+ if (!template)
218
+ return null;
219
+ return (_jsx(GraphLink, { id: def.id, from: def.from, to: def.to, data: def.data, template: template, onStateChange: handleLinkStateChange }, def.id));
220
+ }), [handleLinkStateChange, linkDefs, internal._linkTemplateRegistry, internal._defaultLinkTemplate]);
30
221
  const panRef = useRef({
31
222
  panning: false,
32
223
  panPointStart: { x: 0, y: 0 }
@@ -44,8 +235,10 @@ export default function Graph({ ref, mode = "edit", onError }) {
44
235
  if (panRef.current.panning && rootRef.current && e.button === 1) {
45
236
  panRef.current.panning = false;
46
237
  rootRef.current.style.userSelect = "";
238
+ // Commita a posição acumulada no ref para o React state
239
+ setViewBox(viewboxRef.current);
47
240
  }
48
- }, []);
241
+ }, [setViewBox]);
49
242
  const handleWheel = useCallback((e) => {
50
243
  e.preventDefault();
51
244
  const root = rootRef.current ?? e.target;
@@ -68,17 +261,20 @@ export default function Graph({ ref, mode = "edit", onError }) {
68
261
  const y = worldY - offsetY / newZoom;
69
262
  return { ...vb, x, y, zoom: newZoom };
70
263
  });
71
- }, []);
264
+ }, [setViewBox]);
72
265
  const handleMouseMove = useCallback((e) => {
73
266
  if (!panRef.current.panning)
74
267
  return;
75
- setViewBox(vb => {
76
- return {
77
- ...vb,
78
- x: vb.x - e.movementX / vb.zoom,
79
- y: vb.y - e.movementY / vb.zoom,
80
- };
81
- });
268
+ const vb = viewboxRef.current;
269
+ const newX = vb.x - e.movementX / vb.zoom;
270
+ const newY = vb.y - e.movementY / vb.zoom;
271
+ viewboxRef.current = { ...vb, x: newX, y: newY };
272
+ // Atualiza o DOM diretamente sem causar re-render
273
+ const viewboxEl = rootRef.current?.querySelector('graph-viewbox');
274
+ if (viewboxEl) {
275
+ viewboxEl.style.transform = `scale(${vb.zoom}) translate(${-newX}px, ${-newY}px)`;
276
+ viewboxEl.style.transformOrigin = '0 0';
277
+ }
82
278
  }, []);
83
279
  useEffect(() => {
84
280
  const el = rootRef.current;
@@ -103,7 +299,7 @@ export default function Graph({ ref, mode = "edit", onError }) {
103
299
  el.removeEventListener('wheel', handleWheel);
104
300
  observer.disconnect();
105
301
  };
106
- }, [handleWheel]);
302
+ }, [handleWheel, setViewBox]);
107
303
  // Valida IDs duplicados entre nós e links
108
304
  useEffect(() => {
109
305
  const ids = new Map();
@@ -127,35 +323,249 @@ export default function Graph({ ref, mode = "edit", onError }) {
127
323
  }
128
324
  }
129
325
  }, [nodeDefs, linkDefs, handleError]);
326
+ useEffect(() => {
327
+ const validIds = new Set(nodeDefs.map(def => def.id));
328
+ for (const id of [...nodeStateRef.current.keys()]) {
329
+ if (!validIds.has(id)) {
330
+ nodeStateRef.current.delete(id);
331
+ }
332
+ }
333
+ }, [nodeDefs]);
334
+ useEffect(() => {
335
+ const validIds = new Set(linkDefs.map(def => def.id));
336
+ for (const id of [...linkStateRef.current.keys()]) {
337
+ if (!validIds.has(id)) {
338
+ linkStateRef.current.delete(id);
339
+ }
340
+ }
341
+ }, [linkDefs]);
130
342
  return (_jsx(ErrorContext.Provider, { value: { reportError: handleError }, children: _jsx(GraphContext.Provider, { value: {
131
343
  viewbox,
132
344
  nodes,
133
345
  links,
134
346
  mode,
135
- }, children: _jsx(GraphRootContext.Provider, { value: rootRef, children: _jsxs(ConnectionProvider, { graphApiRef: graphApiRef, children: [_jsx(GraphHandle, { ref: ref, graphApiRef: graphApiRef, setNodeDefs: setNodeDefs, setLinkDefs: setLinkDefs }), _jsx("graph-root", { ref: rootRef, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onMouseMove: handleMouseMove, children: _jsx(ViewBox, {}) })] }) }) }) }));
347
+ }, children: _jsx(GraphRootContext.Provider, { value: rootRef, children: _jsx(NodeRegistryProvider, { children: _jsx(GraphEventBusProvider, { children: _jsxs(ConnectionProvider, { graphApi: api, children: [_jsx(GraphHandle, { api: api, rootRef: rootRef, nodeDefs: nodeDefs, linkDefs: linkDefs, nodeStateRef: nodeStateRef, linkStateRef: linkStateRef, mode: mode, viewboxRef: viewboxRef, setViewBox: setViewBox, setNodeDefs: setNodeDefs, setLinkDefs: setLinkDefs }), _jsx("graph-root", { ref: rootRef, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onMouseMove: handleMouseMove, children: _jsx(ViewBox, {}) })] }) }) }) }) }) }));
136
348
  }
137
349
  /**
138
- * Componente auxiliar que implementa a API imperativa do Graph (GraphApi)
139
- * e a expõe através da ref fornecida pelo componente pai.
350
+ * Componente auxiliar que conecta a API imperativa do Graph (GraphApi)
351
+ * ao objeto estável criado por useGraphApi via _bind/_unbind.
140
352
  *
141
- * Esta função não renderiza nada (retorna null) e serve apenas para vincular
142
- * handlers/estado ao objeto de API.
353
+ * Não renderiza nada (retorna null).
143
354
  */
144
- function GraphHandle({ ref, graphApiRef, setNodeDefs, setLinkDefs }) {
355
+ function GraphHandle({ api, rootRef, nodeDefs, linkDefs, nodeStateRef, linkStateRef, mode, viewboxRef, setViewBox, setNodeDefs, setLinkDefs, }) {
145
356
  const { connect, disconnect, connections } = useContext(ConnectionContext);
146
- useImperativeHandle(ref, () => {
147
- const api = {
148
- addNode: (node) => setNodeDefs(prev => [...prev, node]),
149
- removeNode: (id) => setNodeDefs(prev => prev.filter(n => n.id !== id)),
150
- addLink: (link) => setLinkDefs(prev => [...prev, link]),
151
- removeLink: (id) => setLinkDefs(prev => prev.filter(l => l.id !== id)),
152
- connect,
153
- disconnect,
154
- getConnections: () => connections,
357
+ const nodeDefsRef = useRef(nodeDefs);
358
+ const linkDefsRef = useRef(linkDefs);
359
+ nodeDefsRef.current = nodeDefs;
360
+ linkDefsRef.current = linkDefs;
361
+ const buildSnapshot = useCallback(() => {
362
+ const nodes = nodeDefs.map(def => {
363
+ const runtimeState = nodeStateRef.current.get(def.id);
364
+ return {
365
+ id: def.id,
366
+ width: Math.max(1, runtimeState?.width ?? 1),
367
+ height: Math.max(1, runtimeState?.height ?? 1),
368
+ position: runtimeState?.position ?? def.position,
369
+ data: def.data,
370
+ };
371
+ });
372
+ const links = linkDefs.map(def => ({
373
+ id: def.id,
374
+ from: def.from.node,
375
+ to: def.to.node,
376
+ data: def.data,
377
+ }));
378
+ return {
379
+ nodes,
380
+ links,
381
+ bounds: getSnapshotBounds(nodes),
382
+ };
383
+ }, [linkDefs, nodeDefs, nodeStateRef]);
384
+ const serialize = useCallback(() => {
385
+ return {
386
+ nodes: nodeDefsRef.current.map(node => serializeNodeDefinition(node, nodeStateRef.current.get(node.id))),
387
+ links: linkDefsRef.current.map(serializeLinkDefinition),
388
+ };
389
+ }, [linkDefsRef, nodeDefsRef, nodeStateRef]);
390
+ const load = useCallback((input) => {
391
+ const snapshot = normalizeSerializedGraph(input);
392
+ const previousStates = nodeStateRef.current;
393
+ nodeDefsRef.current = snapshot.nodes;
394
+ linkDefsRef.current = snapshot.links;
395
+ nodeStateRef.current = new Map(snapshot.nodes.map(node => {
396
+ const current = previousStates.get(node.id);
397
+ return [node.id, {
398
+ id: node.id,
399
+ position: { ...node.position },
400
+ width: current?.width ?? 1,
401
+ height: current?.height ?? 1,
402
+ data: cloneSerializableValue(node.data),
403
+ }];
404
+ }));
405
+ linkStateRef.current = new Map();
406
+ setNodeDefs(snapshot.nodes);
407
+ setLinkDefs(snapshot.links);
408
+ }, [linkStateRef, linkDefsRef, nodeDefsRef, nodeStateRef, setLinkDefs, setNodeDefs]);
409
+ const applyPositions = useCallback((result) => {
410
+ for (const item of result.positions) {
411
+ const currentState = nodeStateRef.current.get(item.id);
412
+ nodeStateRef.current.set(item.id, {
413
+ id: item.id,
414
+ position: item.position,
415
+ width: currentState?.width ?? 1,
416
+ height: currentState?.height ?? 1,
417
+ data: currentState?.data,
418
+ });
419
+ }
420
+ setNodeDefs(prev => {
421
+ const positionMap = new Map(result.positions.map(item => [item.id, item.position]));
422
+ let changed = false;
423
+ const next = prev.map(def => {
424
+ const newPosition = positionMap.get(def.id);
425
+ if (!newPosition)
426
+ return def;
427
+ if (def.position.x === newPosition.x &&
428
+ def.position.y === newPosition.y &&
429
+ def.position.z === newPosition.z) {
430
+ return def;
431
+ }
432
+ changed = true;
433
+ return {
434
+ ...def,
435
+ position: newPosition,
436
+ };
437
+ });
438
+ return changed ? next : prev;
439
+ });
440
+ }, [nodeStateRef, setNodeDefs]);
441
+ const centralize = useCallback(async (options) => {
442
+ const snapshot = buildSnapshot();
443
+ const root = rootRef.current;
444
+ const viewportWidth = root?.clientWidth ?? viewboxRef.current.width;
445
+ const viewportHeight = root?.clientHeight ?? viewboxRef.current.height;
446
+ const fitResult = await calculateFitView({
447
+ nodes: snapshot.nodes.map(node => ({
448
+ id: node.id,
449
+ width: node.width,
450
+ height: node.height,
451
+ x: node.position.x,
452
+ y: node.position.y,
453
+ z: node.position.z,
454
+ })),
455
+ viewportWidth,
456
+ viewportHeight,
457
+ padding: options?.padding ?? 32,
458
+ minZoom: options?.minZoom ?? 0.1,
459
+ maxZoom: options?.maxZoom ?? 2,
460
+ });
461
+ const nextViewbox = {
462
+ ...viewboxRef.current,
463
+ x: fitResult.x,
464
+ y: fitResult.y,
465
+ zoom: fitResult.zoom,
466
+ width: viewportWidth,
467
+ height: viewportHeight,
468
+ };
469
+ setViewBox(nextViewbox);
470
+ return nextViewbox;
471
+ }, [buildSnapshot, rootRef, setViewBox, viewboxRef]);
472
+ const applyLayout = useCallback(async (input) => {
473
+ const snapshot = buildSnapshot();
474
+ const root = rootRef.current;
475
+ const viewport = {
476
+ width: root?.clientWidth ?? viewboxRef.current.width,
477
+ height: root?.clientHeight ?? viewboxRef.current.height,
478
+ };
479
+ if (mode === "readonly") {
480
+ return {
481
+ positions: snapshot.nodes.map(node => ({
482
+ id: node.id,
483
+ position: node.position,
484
+ })),
485
+ bounds: snapshot.bounds,
486
+ };
487
+ }
488
+ const executor = GRAPH_LAYOUT_EXECUTORS[input.algorithm];
489
+ const layoutInput = {
490
+ nodes: snapshot.nodes,
491
+ links: snapshot.links,
492
+ options: {
493
+ ...input.options,
494
+ viewport,
495
+ },
155
496
  };
156
- graphApiRef.current = api;
157
- return api;
158
- }, [connect, disconnect, connections, setNodeDefs, setLinkDefs, graphApiRef]);
497
+ const result = await executor(layoutInput);
498
+ applyPositions(result);
499
+ return result;
500
+ }, [applyPositions, buildSnapshot, mode, rootRef, viewboxRef]);
501
+ // Ref que sempre aponta para as closures mais recentes
502
+ const implRef = useRef({
503
+ addNode: () => { },
504
+ removeNode: () => { },
505
+ addLink: () => { },
506
+ removeLink: () => { },
507
+ connect: () => { },
508
+ disconnect: () => { },
509
+ getConnections: () => [],
510
+ getNodeStates: () => [],
511
+ getLinkStates: () => [],
512
+ centralize: () => Promise.resolve({}),
513
+ applyLayout: () => Promise.resolve({}),
514
+ serialize: () => ({ nodes: [], links: [] }),
515
+ load: () => { },
516
+ });
517
+ // Atualiza a ref a cada render para capturar closures atualizadas
518
+ implRef.current = {
519
+ addNode: (node) => {
520
+ const next = [...nodeDefsRef.current, node];
521
+ nodeDefsRef.current = next;
522
+ setNodeDefs(next);
523
+ },
524
+ removeNode: (id) => {
525
+ const next = nodeDefsRef.current.filter(n => n.id !== id);
526
+ nodeDefsRef.current = next;
527
+ setNodeDefs(next);
528
+ },
529
+ addLink: (link) => {
530
+ const next = [...linkDefsRef.current, link];
531
+ linkDefsRef.current = next;
532
+ setLinkDefs(next);
533
+ },
534
+ removeLink: (id) => {
535
+ const next = linkDefsRef.current.filter(l => l.id !== id);
536
+ linkDefsRef.current = next;
537
+ setLinkDefs(next);
538
+ },
539
+ connect,
540
+ disconnect,
541
+ getConnections: () => connections,
542
+ getNodeStates: () => Array.from(nodeStateRef.current.values()),
543
+ getLinkStates: () => Array.from(linkStateRef.current.values()),
544
+ centralize,
545
+ applyLayout,
546
+ serialize,
547
+ load,
548
+ };
549
+ // Bind único — delega via implRef para closures sempre atualizadas
550
+ useEffect(() => {
551
+ const internal = api;
552
+ internal._bind({
553
+ addNode: (...args) => implRef.current.addNode(...args),
554
+ removeNode: (...args) => implRef.current.removeNode(...args),
555
+ addLink: (...args) => implRef.current.addLink(...args),
556
+ removeLink: (...args) => implRef.current.removeLink(...args),
557
+ connect: (...args) => implRef.current.connect(...args),
558
+ disconnect: (...args) => implRef.current.disconnect(...args),
559
+ getConnections: () => implRef.current.getConnections(),
560
+ getNodeStates: () => implRef.current.getNodeStates(),
561
+ getLinkStates: () => implRef.current.getLinkStates(),
562
+ centralize: (...args) => implRef.current.centralize(...args),
563
+ applyLayout: (...args) => implRef.current.applyLayout(...args),
564
+ serialize: () => implRef.current.serialize(),
565
+ load: (...args) => implRef.current.load(...args),
566
+ });
567
+ return () => internal._unbind();
568
+ }, [api]);
159
569
  return null;
160
570
  }
161
571
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ConnectionType } from "../types";
6
6
  * @returns {{ connections: PortConnection[], connect: Function, disconnect: Function }}
7
7
  */
8
8
  export declare function useConnections(): {
9
- connections: import("../types").PortConnection[];
9
+ connections: import("../types").PortConnection<any>[];
10
10
  connect: (connection: import("../types").PortConnection) => void;
11
11
  disconnect: (connection: import("../types").PortConnection) => void;
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;GAKG;AACH,wBAAgB,cAAc;;;;EAG7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;;yBAKhF,KAAK,CAAC,UAAU;;;;EAmB3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;;uBAWhF,KAAK,CAAC,UAAU;;;EAuB3B"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C;;;;;GAKG;AACH,wBAAgB,cAAc;;;;EAG7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;;yBAKhF,KAAK,CAAC,UAAU;;;;EAmB3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;;uBAYhF,KAAK,CAAC,UAAU;;;EAwB3B"}