react-html-graph 1.0.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1 -1
  3. package/dist/calculations/index.d.ts +15 -1
  4. package/dist/calculations/index.d.ts.map +1 -1
  5. package/dist/calculations/index.js +696 -0
  6. package/dist/calculations/index.js.map +1 -1
  7. package/dist/calculations/types.d.ts +70 -0
  8. package/dist/calculations/types.d.ts.map +1 -1
  9. package/dist/example/App.css +38 -38
  10. package/dist/example/index.css +47 -47
  11. package/dist/graph/index.d.ts.map +1 -1
  12. package/dist/graph/index.js +218 -16
  13. package/dist/graph/index.js.map +1 -1
  14. package/dist/hooks/connection.d.ts.map +1 -1
  15. package/dist/hooks/connection.js +5 -2
  16. package/dist/hooks/connection.js.map +1 -1
  17. package/dist/hooks/get-viewbox.d.ts +9 -0
  18. package/dist/hooks/get-viewbox.d.ts.map +1 -0
  19. package/dist/hooks/get-viewbox.js +20 -0
  20. package/dist/hooks/get-viewbox.js.map +1 -0
  21. package/dist/layouts/centralizar.d.ts +1 -0
  22. package/dist/layouts/centralizar.d.ts.map +1 -0
  23. package/dist/layouts/centralizar.js +2 -0
  24. package/dist/layouts/centralizar.js.map +1 -0
  25. package/dist/layouts/force-direction-layout.d.ts +9 -0
  26. package/dist/layouts/force-direction-layout.d.ts.map +1 -0
  27. package/dist/layouts/force-direction-layout.js +11 -0
  28. package/dist/layouts/force-direction-layout.js.map +1 -0
  29. package/dist/layouts/index.d.ts +13 -0
  30. package/dist/layouts/index.d.ts.map +1 -0
  31. package/dist/layouts/index.js +17 -0
  32. package/dist/layouts/index.js.map +1 -0
  33. package/dist/layouts/organic-layout.d.ts +9 -0
  34. package/dist/layouts/organic-layout.d.ts.map +1 -0
  35. package/dist/layouts/organic-layout.js +11 -0
  36. package/dist/layouts/organic-layout.js.map +1 -0
  37. package/dist/layouts/radial-layout.d.ts +9 -0
  38. package/dist/layouts/radial-layout.d.ts.map +1 -0
  39. package/dist/layouts/radial-layout.js +11 -0
  40. package/dist/layouts/radial-layout.js.map +1 -0
  41. package/dist/layouts/sequential-layout.d.ts +9 -0
  42. package/dist/layouts/sequential-layout.d.ts.map +1 -0
  43. package/dist/layouts/sequential-layout.js +11 -0
  44. package/dist/layouts/sequential-layout.js.map +1 -0
  45. package/dist/layouts/shared.d.ts +10 -0
  46. package/dist/layouts/shared.d.ts.map +1 -0
  47. package/dist/layouts/shared.js +39 -0
  48. package/dist/layouts/shared.js.map +1 -0
  49. package/dist/layouts/structural-layout.d.ts +9 -0
  50. package/dist/layouts/structural-layout.d.ts.map +1 -0
  51. package/dist/layouts/structural-layout.js +11 -0
  52. package/dist/layouts/structural-layout.js.map +1 -0
  53. package/dist/layouts/tree-layout.d.ts +9 -0
  54. package/dist/layouts/tree-layout.d.ts.map +1 -0
  55. package/dist/layouts/tree-layout.js +11 -0
  56. package/dist/layouts/tree-layout.js.map +1 -0
  57. package/dist/link/base.d.ts +3 -2
  58. package/dist/link/base.d.ts.map +1 -1
  59. package/dist/link/base.js +113 -20
  60. package/dist/link/base.js.map +1 -1
  61. package/dist/link/temp-link.d.ts.map +1 -1
  62. package/dist/link/temp-link.js +6 -4
  63. package/dist/link/temp-link.js.map +1 -1
  64. package/dist/module.d.ts +2 -1
  65. package/dist/module.d.ts.map +1 -1
  66. package/dist/module.js +2 -1
  67. package/dist/module.js.map +1 -1
  68. package/dist/nodes/base.d.ts +1 -1
  69. package/dist/nodes/base.d.ts.map +1 -1
  70. package/dist/nodes/base.js +59 -22
  71. package/dist/nodes/base.js.map +1 -1
  72. package/dist/ports/base.d.ts.map +1 -1
  73. package/dist/style.css +77 -77
  74. package/dist/types.d.ts +153 -0
  75. package/dist/types.d.ts.map +1 -1
  76. package/package.json +77 -73
  77. package/dist/example/App.d.ts +0 -3
  78. package/dist/example/App.d.ts.map +0 -1
  79. package/dist/example/App.js +0 -7
  80. package/dist/example/App.js.map +0 -1
  81. package/dist/example/graph-teste.d.ts +0 -2
  82. package/dist/example/graph-teste.d.ts.map +0 -1
  83. package/dist/example/graph-teste.js +0 -205
  84. package/dist/example/graph-teste.js.map +0 -1
  85. package/dist/example/reportWebVitals.d.ts +0 -4
  86. package/dist/example/reportWebVitals.d.ts.map +0 -1
  87. package/dist/example/reportWebVitals.js +0 -13
  88. package/dist/example/reportWebVitals.js.map +0 -1
@@ -10,17 +10,30 @@ import useGetZoom from "../hooks/get-zoom";
10
10
  * @param props GraphObjectProps
11
11
  * @returns JSX.Element
12
12
  */
13
- const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, data, initialPosition, onMove }) {
13
+ const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, data, position: controlledPosition, initialPosition, onMove, onStateChange, }) {
14
14
  const ref = useRef(null);
15
15
  const getZoom = useGetZoom();
16
16
  const mode = useGraphMode();
17
- const [position, setPosition] = useState(() => initialPosition ?? { x: 0, y: 0, z: 0 });
17
+ const [position, setPosition] = useState(() => controlledPosition ?? initialPosition ?? { x: 0, y: 0, z: 0 });
18
+ const effectivePosition = controlledPosition ?? position;
18
19
  const moveRef = useRef({
19
20
  moving: false,
20
21
  movePointStart: { x: 0, y: 0 },
21
22
  startPos: { x: 0, y: 0 },
22
23
  currentPos: { x: 0, y: 0 },
23
24
  });
25
+ const reportState = useCallback((nextPosition) => {
26
+ if (!ref.current || !onStateChange)
27
+ return;
28
+ const state = {
29
+ id,
30
+ position: nextPosition,
31
+ width: Math.max(1, ref.current.offsetWidth),
32
+ height: Math.max(1, ref.current.offsetHeight),
33
+ data,
34
+ };
35
+ onStateChange(state);
36
+ }, [data, id, onStateChange]);
24
37
  const handleMouseDown = useCallback((e) => {
25
38
  if (e.button !== 0 || mode === "readonly")
26
39
  return;
@@ -28,19 +41,21 @@ const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, dat
28
41
  moveRef.current.moving = true;
29
42
  moveRef.current.movePointStart.x = e.clientX;
30
43
  moveRef.current.movePointStart.y = e.clientY;
31
- moveRef.current.startPos = { x: position.x, y: position.y };
32
- moveRef.current.currentPos = { x: position.x, y: position.y };
33
- }, [position, mode]);
44
+ moveRef.current.startPos = { x: effectivePosition.x, y: effectivePosition.y };
45
+ moveRef.current.currentPos = { x: effectivePosition.x, y: effectivePosition.y };
46
+ }, [effectivePosition.x, effectivePosition.y, mode]);
34
47
  const stopMoving = useCallback((e) => {
35
48
  if (e.button === 0 && moveRef.current.moving) {
36
49
  moveRef.current.moving = false;
37
- setPosition(prev => ({
50
+ const nextPosition = {
38
51
  x: moveRef.current.currentPos.x,
39
52
  y: moveRef.current.currentPos.y,
40
- z: prev.z
41
- }));
53
+ z: effectivePosition.z,
54
+ };
55
+ setPosition(nextPosition);
56
+ onMove?.(nextPosition);
42
57
  }
43
- }, []);
58
+ }, [effectivePosition.z, onMove]);
44
59
  const handleMouseMove = useCallback((e) => {
45
60
  if (!ref.current || !moveRef.current.moving)
46
61
  return;
@@ -49,18 +64,25 @@ const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, dat
49
64
  const dy = (e.clientY - moveRef.current.movePointStart.y) / zoom;
50
65
  const newX = moveRef.current.startPos.x + dx;
51
66
  const newY = moveRef.current.startPos.y + dy;
67
+ const nextPosition = {
68
+ x: newX,
69
+ y: newY,
70
+ z: effectivePosition.z,
71
+ };
52
72
  moveRef.current.currentPos.x = newX;
53
73
  moveRef.current.currentPos.y = newY;
54
74
  ref.current.style.left = `${newX.toFixed(0)}px`;
55
75
  ref.current.style.top = `${newY.toFixed(0)}px`;
56
- }, [getZoom]);
76
+ reportState(nextPosition);
77
+ }, [effectivePosition.z, getZoom, reportState]);
57
78
  useEffect(() => {
58
79
  if (!ref.current)
59
80
  return;
60
- ref.current.style.left = `${position.x.toFixed(0)}px`;
61
- ref.current.style.top = `${position.y.toFixed(0)}px`;
62
- ref.current.style.zIndex = position.z.toFixed(0);
63
- }, [position]);
81
+ ref.current.style.left = `${effectivePosition.x.toFixed(0)}px`;
82
+ ref.current.style.top = `${effectivePosition.y.toFixed(0)}px`;
83
+ ref.current.style.zIndex = effectivePosition.z.toFixed(0);
84
+ reportState(effectivePosition);
85
+ }, [effectivePosition, reportState]);
64
86
  useEffect(() => {
65
87
  if (mode === "readonly")
66
88
  return;
@@ -94,14 +116,14 @@ const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, dat
94
116
  return result;
95
117
  }, [ports, id]);
96
118
  useEffect(() => {
97
- if (onMove) {
98
- onMove({ x: position.x, y: position.y, z: position.z });
99
- }
100
- if (ref.current) {
101
- ref.current.style.zIndex = position.z.toFixed(0);
119
+ if (controlledPosition) {
120
+ setPosition({
121
+ x: controlledPosition.x,
122
+ y: controlledPosition.y,
123
+ z: controlledPosition.z ?? 0
124
+ });
125
+ return;
102
126
  }
103
- }, [position, onMove]);
104
- useEffect(() => {
105
127
  if (initialPosition) {
106
128
  setPosition({
107
129
  x: initialPosition.x,
@@ -110,7 +132,22 @@ const MemoizedGraphObject = memo(function GraphObject({ children, id, ports, dat
110
132
  });
111
133
  }
112
134
  // eslint-disable-next-line react-hooks/exhaustive-deps
113
- }, [initialPosition?.x, initialPosition?.y, initialPosition?.z]);
135
+ }, [controlledPosition?.x, controlledPosition?.y, controlledPosition?.z, initialPosition?.x, initialPosition?.y, initialPosition?.z]);
136
+ useEffect(() => {
137
+ if (!ref.current || !onStateChange)
138
+ return;
139
+ const observer = new ResizeObserver(() => {
140
+ reportState(moveRef.current.moving
141
+ ? {
142
+ x: moveRef.current.currentPos.x,
143
+ y: moveRef.current.currentPos.y,
144
+ z: effectivePosition.z,
145
+ }
146
+ : effectivePosition);
147
+ });
148
+ observer.observe(ref.current);
149
+ return () => observer.disconnect();
150
+ }, [effectivePosition, onStateChange, reportState]);
114
151
  return _jsx("node-graph-object", { ref: ref, onMouseDown: handleMouseDown, onMouseUp: stopMoving, "node-id": id, children: children({ id, ports: portsByLocation, data }) }, id);
115
152
  });
116
153
  export default MemoizedGraphObject;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/nodes/base.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/nodes/base.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/ports/base.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAY,cAAc,EAAE,MAAM,UAAU,CAAC;AAIpD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAC9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,EAC/C,EAAE,cAAc,2CA8HhB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/ports/base.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAC9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,EAC/C,EAAE,cAAc,2CA8HhB"}
package/dist/style.css CHANGED
@@ -1,78 +1,78 @@
1
- graph-root {
2
- display: block;
3
- position: relative;
4
- width: 100%;
5
- height: 100%;
6
- background: #000;
7
- color: #fff;
8
- overflow: hidden;
9
-
10
- graph-viewbox {
11
- display: block;
12
- position: relative;
13
- min-width: 100%;
14
- min-height: 100%;
15
- transform-origin: 0 0;
16
- overflow: visible;
17
-
18
- node-graph-object {
19
- position: absolute;
20
- width: fit-content;
21
- height: fit-content;
22
- display: flex;
23
- align-items: center;
24
- }
25
- }
26
- }
27
-
28
-
29
-
30
- @keyframes graph-link-flow {
31
- from {
32
- stroke-dashoffset: 0;
33
- }
34
-
35
- to {
36
- stroke-dashoffset: var(--cycle-len);
37
- }
38
- }
39
-
40
- node-graph-link,
41
- node-graph-node {
42
- position: absolute;
43
- pointer-events: all;
44
- }
45
-
46
- node-graph-temp-link {
47
- position: absolute;
48
-
49
- >svg {
50
- position: absolute;
51
- left: 0;
52
- top: 0;
53
- width: 0;
54
- height: 0;
55
- overflow: visible;
56
- pointer-events: none;
57
- }
58
- }
59
-
60
- node-graph-link>svg {
61
- position: absolute;
62
- pointer-events: none;
63
- overflow: visible;
64
- }
65
-
66
- node-graph-link>svg path {
67
- animation-name: graph-link-flow;
68
- animation-timing-function: linear;
69
- animation-iteration-count: infinite;
70
- transition: stroke 0.3s ease, stroke-width 0.15s ease;
71
- }
72
-
73
- node-graph-link>svg text {
74
- pointer-events: none;
75
- -webkit-user-select: none;
76
- user-select: none;
77
- transition: font-size 0.15s ease;
1
+ graph-root {
2
+ display: block;
3
+ position: relative;
4
+ width: 100%;
5
+ height: 100%;
6
+ background: #000;
7
+ color: #fff;
8
+ overflow: hidden;
9
+
10
+ graph-viewbox {
11
+ display: block;
12
+ position: relative;
13
+ min-width: 100%;
14
+ min-height: 100%;
15
+ transform-origin: 0 0;
16
+ overflow: visible;
17
+
18
+ node-graph-object {
19
+ position: absolute;
20
+ width: fit-content;
21
+ height: fit-content;
22
+ display: flex;
23
+ align-items: center;
24
+ }
25
+ }
26
+ }
27
+
28
+
29
+
30
+ @keyframes graph-link-flow {
31
+ from {
32
+ stroke-dashoffset: 0;
33
+ }
34
+
35
+ to {
36
+ stroke-dashoffset: var(--cycle-len);
37
+ }
38
+ }
39
+
40
+ node-graph-link,
41
+ node-graph-node {
42
+ position: absolute;
43
+ pointer-events: all;
44
+ }
45
+
46
+ node-graph-temp-link {
47
+ position: absolute;
48
+
49
+ >svg {
50
+ position: absolute;
51
+ left: 0;
52
+ top: 0;
53
+ width: 0;
54
+ height: 0;
55
+ overflow: visible;
56
+ pointer-events: none;
57
+ }
58
+ }
59
+
60
+ node-graph-link>svg {
61
+ position: absolute;
62
+ pointer-events: none;
63
+ overflow: visible;
64
+ }
65
+
66
+ node-graph-link>svg path {
67
+ animation-name: graph-link-flow;
68
+ animation-timing-function: linear;
69
+ animation-iteration-count: infinite;
70
+ transition: stroke 0.3s ease, stroke-width 0.15s ease;
71
+ }
72
+
73
+ node-graph-link>svg text {
74
+ pointer-events: none;
75
+ -webkit-user-select: none;
76
+ user-select: none;
77
+ transition: font-size 0.15s ease;
78
78
  }
package/dist/types.d.ts CHANGED
@@ -80,6 +80,14 @@ export interface GraphApi {
80
80
  connect(connection: PortConnection): void;
81
81
  disconnect(connection: PortConnection): void;
82
82
  getConnections(): PortConnection[];
83
+ /** Retorna o estado runtime atual reportado pelos nós. */
84
+ getNodeStates(): GraphNodeRuntimeState[];
85
+ /** Retorna o estado runtime atual reportado pelos links. */
86
+ getLinkStates(): GraphLinkRuntimeState[];
87
+ /** Centraliza a viewport para enquadrar todos os nós visíveis. */
88
+ centralize(options?: GraphCentralizeOptions): Promise<Viewbox>;
89
+ /** Aplica um algoritmo de layout aos nós do grafo. */
90
+ applyLayout(input: GraphApplyLayoutInput): Promise<GraphLayoutResult>;
83
91
  }
84
92
  /** Estado do viewbox — posição e escala do canvas. */
85
93
  export interface Viewbox {
@@ -101,6 +109,15 @@ export interface GraphInfo {
101
109
  nodeId: string;
102
110
  direction: "input" | "output" | "bidirectional";
103
111
  }
112
+ /** Opções para centralizar a viewport no conteúdo atual do grafo. */
113
+ export interface GraphCentralizeOptions {
114
+ /** Espaçamento mínimo em pixels entre o conteúdo e a borda visível. */
115
+ padding?: number;
116
+ /** Zoom mínimo permitido ao enquadrar o conteúdo. */
117
+ minZoom?: number;
118
+ /** Zoom máximo permitido ao enquadrar o conteúdo. */
119
+ maxZoom?: number;
120
+ }
104
121
  /** Representa um erro interno do grafo. */
105
122
  export interface GraphError {
106
123
  /** Código identificador do erro. */
@@ -119,12 +136,146 @@ export type GraphProps = {
119
136
  /** Ref para acessar a api (GraphApi). */
120
137
  ref?: React.Ref<GraphApi>;
121
138
  };
139
+ /** Entrada pública para aplicar um layout aos nós existentes do grafo. */
140
+ export interface GraphApplyLayoutInput {
141
+ /** Nome do algoritmo de layout a executar. */
142
+ algorithm: GraphLayoutAlgorithm;
143
+ /** Opções compartilhadas entre os algoritmos disponíveis. */
144
+ options?: GraphLayoutOptions;
145
+ }
122
146
  /** Modo do grafo (controle de edição vs somente leitura). */
123
147
  export type GraphMode = "readonly" | "edit";
148
+ /** Nome de um algoritmo de layout suportado pelo grafo. */
149
+ export type GraphLayoutAlgorithm = "force-direction" | "organic" | "radial" | "sequential" | "structural" | "tree";
150
+ /** Link simplificado usado pelos algoritmos de layout. */
151
+ export interface GraphLayoutLink<T = any> {
152
+ /** Identificador único do link. */
153
+ id: string;
154
+ /** Id do nó de origem. */
155
+ from: string;
156
+ /** Id do nó de destino. */
157
+ to: string;
158
+ /** Dados opcionais associados ao link. */
159
+ data?: T;
160
+ }
161
+ /** Representa um nó com dimensões e posição para cálculo de layout. */
162
+ export interface GraphLayoutNode<T = any> {
163
+ /** Identificador único do nó. */
164
+ id: string;
165
+ /** Largura atual do nó em pixels. */
166
+ width: number;
167
+ /** Altura atual do nó em pixels. */
168
+ height: number;
169
+ /** Posição atual do nó no mundo do grafo. */
170
+ position: Point3D;
171
+ /** Dados opcionais associados ao nó. */
172
+ data?: T;
173
+ }
174
+ /** Parâmetros compartilhados pelas implementações de layout. */
175
+ export interface GraphLayoutOptions {
176
+ /** Dimensões disponíveis da viewport ao aplicar o layout. */
177
+ viewport?: {
178
+ width: number;
179
+ height: number;
180
+ };
181
+ /** Espaçamento horizontal base entre nós. */
182
+ gapX?: number;
183
+ /** Espaçamento vertical base entre nós. */
184
+ gapY?: number;
185
+ /** Padding aplicado ao normalizar o resultado. */
186
+ padding?: number;
187
+ /** Número de colunas desejado para layouts sequenciais. */
188
+ columns?: number;
189
+ /** Direção preferencial de layouts hierárquicos. */
190
+ direction?: "LR" | "RL" | "TB" | "BT";
191
+ /** Quantidade de iterações para layouts iterativos. */
192
+ iterations?: number;
193
+ /** Distância radial entre camadas. */
194
+ radiusStep?: number;
195
+ /** Centro alvo opcional para normalização do resultado. */
196
+ center?: {
197
+ x: number;
198
+ y: number;
199
+ };
200
+ }
201
+ /** Entrada comum compartilhada pelos algoritmos na pasta `layouts/`. */
202
+ export interface GraphLayoutInput<NodeData = any, LinkData = any> {
203
+ /** Snapshot dos nós a serem organizados. */
204
+ nodes: GraphLayoutNode<NodeData>[];
205
+ /** Snapshot dos links que conectam os nós. */
206
+ links: GraphLayoutLink<LinkData>[];
207
+ /** Opções opcionais para ajuste fino do algoritmo. */
208
+ options?: GraphLayoutOptions;
209
+ }
210
+ /** Posição final calculada para um nó específico. */
211
+ export interface GraphLayoutPosition {
212
+ /** Id do nó reposicionado. */
213
+ id: string;
214
+ /** Nova posição calculada. */
215
+ position: Point3D;
216
+ }
217
+ /** Resultado de um algoritmo de layout. */
218
+ export interface GraphLayoutResult {
219
+ /** Posições calculadas para cada nó do snapshot. */
220
+ positions: GraphLayoutPosition[];
221
+ /** Bounding box total do layout resultante. */
222
+ bounds: {
223
+ left: number;
224
+ top: number;
225
+ width: number;
226
+ height: number;
227
+ };
228
+ }
229
+ /** Estado de uma extremidade de link reportado em runtime. */
230
+ export interface GraphLinkEndpointState {
231
+ /** Id do nó que contém a porta. */
232
+ nodeId: string;
233
+ /** Id da porta vinculada. */
234
+ portId: string;
235
+ /** Coordenada X atual no espaço do grafo. */
236
+ x: number;
237
+ /** Coordenada Y atual no espaço do grafo. */
238
+ y: number;
239
+ /** Direção geométrica usada no cálculo do path. */
240
+ direction: "left" | "right" | "top" | "bottom";
241
+ }
242
+ /** Estado runtime atual de um link renderizado. */
243
+ export interface GraphLinkRuntimeState {
244
+ /** Id do link. */
245
+ id: string;
246
+ /** Endpoint de origem calculado. */
247
+ from: GraphLinkEndpointState;
248
+ /** Endpoint de destino calculado. */
249
+ to: GraphLinkEndpointState;
250
+ /** Bounding box corrente do SVG do link. */
251
+ bounds: {
252
+ left: number;
253
+ top: number;
254
+ width: number;
255
+ height: number;
256
+ };
257
+ /** Indica se o link está inválido/orfão no momento. */
258
+ invalid: boolean;
259
+ }
260
+ /** Estado runtime atual de um nó renderizado. */
261
+ export interface GraphNodeRuntimeState<T = any> {
262
+ /** Id do nó. */
263
+ id: string;
264
+ /** Posição atual do nó. */
265
+ position: Point3D;
266
+ /** Largura medida do nó. */
267
+ width: number;
268
+ /** Altura medida do nó. */
269
+ height: number;
270
+ /** Dados associados ao nó. */
271
+ data?: T;
272
+ }
124
273
  /** Propriedades do componente GraphObject (nó do grafo). */
125
274
  export interface GraphObjectProps<T = any> {
126
275
  /** Identificador único do nó. */
127
276
  id: string;
277
+ /** Posição controlada pelo Graph quando disponível. */
278
+ position?: Point3D;
128
279
  /** Definições de portas do nó (opcional). */
129
280
  ports?: PortDefinition[];
130
281
  /** Posição inicial {x,y,z} opcional. */
@@ -133,6 +284,8 @@ export interface GraphObjectProps<T = any> {
133
284
  data?: T;
134
285
  /** Callback chamado quando o nó é movido. */
135
286
  onMove?: (newPosition: Point3D) => void;
287
+ /** Callback chamado quando o nó reporta seu estado runtime atual. */
288
+ onStateChange?: (state: GraphNodeRuntimeState<T>) => void;
136
289
  /** Função que renderiza o conteúdo do nó com as portas. */
137
290
  children(props: NodeObjectTemplateProps<T>): React.ReactNode;
138
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}