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
package/dist/types.d.ts CHANGED
@@ -40,10 +40,10 @@ export interface ConnectionContextProps {
40
40
  /** Remove o registro de uma porta. */
41
41
  unregisterPort(nodeId: string, portName: string): void;
42
42
  }
43
- /** Propriedades do provider que expõe a API do grafo via ref. */
43
+ /** Propriedades do provider que expõe a API do grafo. */
44
44
  export interface ConnectionProviderProps {
45
- /** Ref mutável que receberá a instância de GraphApi. */
46
- graphApiRef: React.RefObject<GraphApi | null>;
45
+ /** Instância da API do grafo. */
46
+ graphApi: GraphApi;
47
47
  /** Elementos filhos renderizados pelo provider. */
48
48
  children: React.ReactNode;
49
49
  }
@@ -71,7 +71,7 @@ export interface ErrorContextProps {
71
71
  /** Reporta um erro de grafo (código, mensagem e detalhes opcionais). */
72
72
  reportError(error: GraphError): void;
73
73
  }
74
- /** API imperativa do grafo (usada por refs para manipular nós/links). */
74
+ /** API imperativa do grafo (usada para manipular nós/links). */
75
75
  export interface GraphApi {
76
76
  addNode(node: NodeDefinition): void;
77
77
  removeNode(id: string): void;
@@ -80,6 +80,26 @@ 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>;
91
+ /** Serializa o snapshot atual de nós e links do grafo. */
92
+ serialize(): GraphSerializedState;
93
+ /** Restaura nós e links do grafo a partir de um snapshot ou JSON serializado. */
94
+ load(input: GraphSerializedState | string): void;
95
+ /** Registra um tipo de nó com portas e template opcionais. */
96
+ registerNodeType(name: string, definition: NodeTypeDefinition): void;
97
+ /** Define o template padrão para nós sem template específico no tipo. */
98
+ setDefaultNodeTemplate(template: (props: NodeObjectTemplateProps) => React.ReactNode): void;
99
+ /** Registra um template de link para um tipo de conexão. */
100
+ registerLinkTemplate(connectionType: string, template: (props: LinkInfoContextValue) => React.ReactNode): void;
101
+ /** Define o template padrão para links sem template registrado. */
102
+ setDefaultLinkTemplate(template: (props: LinkInfoContextValue) => React.ReactNode): void;
83
103
  }
84
104
  /** Estado do viewbox — posição e escala do canvas. */
85
105
  export interface Viewbox {
@@ -96,11 +116,20 @@ export interface Viewbox {
96
116
  }
97
117
  /** Informação básica de um evento de porta (subset das props da porta). */
98
118
  export interface GraphInfo {
99
- type: ConnectionType;
119
+ connectionType: ConnectionType;
100
120
  id: string;
101
121
  nodeId: string;
102
122
  direction: "input" | "output" | "bidirectional";
103
123
  }
124
+ /** Opções para centralizar a viewport no conteúdo atual do grafo. */
125
+ export interface GraphCentralizeOptions {
126
+ /** Espaçamento mínimo em pixels entre o conteúdo e a borda visível. */
127
+ padding?: number;
128
+ /** Zoom mínimo permitido ao enquadrar o conteúdo. */
129
+ minZoom?: number;
130
+ /** Zoom máximo permitido ao enquadrar o conteúdo. */
131
+ maxZoom?: number;
132
+ }
104
133
  /** Representa um erro interno do grafo. */
105
134
  export interface GraphError {
106
135
  /** Código identificador do erro. */
@@ -116,15 +145,156 @@ export type GraphProps = {
116
145
  mode?: GraphMode;
117
146
  /** Callback chamado quando ocorre um erro no grafo. */
118
147
  onError?: (error: GraphError) => void;
119
- /** Ref para acessar a api (GraphApi). */
120
- ref?: React.Ref<GraphApi>;
148
+ /** Instância da API criada por useGraphApi. */
149
+ api: GraphApi;
121
150
  };
151
+ /** Entrada pública para aplicar um layout aos nós existentes do grafo. */
152
+ export interface GraphApplyLayoutInput {
153
+ /** Nome do algoritmo de layout a executar. */
154
+ algorithm: GraphLayoutAlgorithm;
155
+ /** Opções compartilhadas entre os algoritmos disponíveis. */
156
+ options?: GraphLayoutOptions;
157
+ }
122
158
  /** Modo do grafo (controle de edição vs somente leitura). */
123
159
  export type GraphMode = "readonly" | "edit";
160
+ /** Nome de um algoritmo de layout suportado pelo grafo. */
161
+ export type GraphLayoutAlgorithm = "force-direction" | "organic" | "radial" | "sequential" | "structural" | "tree";
162
+ /** Link simplificado usado pelos algoritmos de layout. */
163
+ export interface GraphLayoutLink<T = any> {
164
+ /** Identificador único do link. */
165
+ id: string;
166
+ /** Id do nó de origem. */
167
+ from: string;
168
+ /** Id do nó de destino. */
169
+ to: string;
170
+ /** Dados opcionais associados ao link. */
171
+ data?: T;
172
+ }
173
+ /** Representa um nó com dimensões e posição para cálculo de layout. */
174
+ export interface GraphLayoutNode<T = any> {
175
+ /** Identificador único do nó. */
176
+ id: string;
177
+ /** Largura atual do nó em pixels. */
178
+ width: number;
179
+ /** Altura atual do nó em pixels. */
180
+ height: number;
181
+ /** Posição atual do nó no mundo do grafo. */
182
+ position: Point3D;
183
+ /** Dados opcionais associados ao nó. */
184
+ data?: T;
185
+ }
186
+ /** Parâmetros compartilhados pelas implementações de layout. */
187
+ export interface GraphLayoutOptions {
188
+ /** Dimensões disponíveis da viewport ao aplicar o layout. */
189
+ viewport?: {
190
+ width: number;
191
+ height: number;
192
+ };
193
+ /** Espaçamento horizontal base entre nós. */
194
+ gapX?: number;
195
+ /** Espaçamento vertical base entre nós. */
196
+ gapY?: number;
197
+ /** Padding aplicado ao normalizar o resultado. */
198
+ padding?: number;
199
+ /** Número de colunas desejado para layouts sequenciais. */
200
+ columns?: number;
201
+ /** Direção preferencial de layouts hierárquicos. */
202
+ direction?: "LR" | "RL" | "TB" | "BT";
203
+ /** Quantidade de iterações para layouts iterativos. */
204
+ iterations?: number;
205
+ /** Distância radial entre camadas. */
206
+ radiusStep?: number;
207
+ /** Centro alvo opcional para normalização do resultado. */
208
+ center?: {
209
+ x: number;
210
+ y: number;
211
+ };
212
+ }
213
+ /** Entrada comum compartilhada pelos algoritmos na pasta `layouts/`. */
214
+ export interface GraphLayoutInput<NodeData = any, LinkData = any> {
215
+ /** Snapshot dos nós a serem organizados. */
216
+ nodes: GraphLayoutNode<NodeData>[];
217
+ /** Snapshot dos links que conectam os nós. */
218
+ links: GraphLayoutLink<LinkData>[];
219
+ /** Opções opcionais para ajuste fino do algoritmo. */
220
+ options?: GraphLayoutOptions;
221
+ }
222
+ /** Posição final calculada para um nó específico. */
223
+ export interface GraphLayoutPosition {
224
+ /** Id do nó reposicionado. */
225
+ id: string;
226
+ /** Nova posição calculada. */
227
+ position: Point3D;
228
+ }
229
+ /** Resultado de um algoritmo de layout. */
230
+ export interface GraphLayoutResult {
231
+ /** Posições calculadas para cada nó do snapshot. */
232
+ positions: GraphLayoutPosition[];
233
+ /** Bounding box total do layout resultante. */
234
+ bounds: {
235
+ left: number;
236
+ top: number;
237
+ width: number;
238
+ height: number;
239
+ };
240
+ }
241
+ /** Estado de uma extremidade de link reportado em runtime. */
242
+ export interface GraphLinkEndpointState {
243
+ /** Id do nó que contém a porta. */
244
+ nodeId: string;
245
+ /** Id da porta vinculada. */
246
+ portId: string;
247
+ /** Coordenada X atual no espaço do grafo. */
248
+ x: number;
249
+ /** Coordenada Y atual no espaço do grafo. */
250
+ y: number;
251
+ /** Direção geométrica usada no cálculo do path. */
252
+ direction: "left" | "right" | "top" | "bottom";
253
+ }
254
+ /** Estado runtime atual de um link renderizado. */
255
+ export interface GraphLinkRuntimeState {
256
+ /** Id do link. */
257
+ id: string;
258
+ /** Endpoint de origem calculado. */
259
+ from: GraphLinkEndpointState;
260
+ /** Endpoint de destino calculado. */
261
+ to: GraphLinkEndpointState;
262
+ /** Bounding box corrente do SVG do link. */
263
+ bounds: {
264
+ left: number;
265
+ top: number;
266
+ width: number;
267
+ height: number;
268
+ };
269
+ /** Indica se o link está inválido/orfão no momento. */
270
+ invalid: boolean;
271
+ }
272
+ /** Snapshot serializável do grafo contendo nós e links. */
273
+ export interface GraphSerializedState<NodeData = any, LinkData = any> {
274
+ /** Lista de nós persistidos. */
275
+ nodes: NodeDefinition<NodeData>[];
276
+ /** Lista de links persistidos. */
277
+ links: LinkDefinition<LinkData>[];
278
+ }
279
+ /** Estado runtime atual de um nó renderizado. */
280
+ export interface GraphNodeRuntimeState<T = any> {
281
+ /** Id do nó. */
282
+ id: string;
283
+ /** Posição atual do nó. */
284
+ position: Point3D;
285
+ /** Largura medida do nó. */
286
+ width: number;
287
+ /** Altura medida do nó. */
288
+ height: number;
289
+ /** Dados associados ao nó. */
290
+ data?: T;
291
+ }
124
292
  /** Propriedades do componente GraphObject (nó do grafo). */
125
- export interface GraphObjectProps<T = any> {
293
+ export interface GraphObjectProps<T extends object = any> {
126
294
  /** Identificador único do nó. */
127
295
  id: string;
296
+ /** Posição controlada pelo Graph quando disponível. */
297
+ position?: Point3D;
128
298
  /** Definições de portas do nó (opcional). */
129
299
  ports?: PortDefinition[];
130
300
  /** Posição inicial {x,y,z} opcional. */
@@ -133,6 +303,8 @@ export interface GraphObjectProps<T = any> {
133
303
  data?: T;
134
304
  /** Callback chamado quando o nó é movido. */
135
305
  onMove?: (newPosition: Point3D) => void;
306
+ /** Callback chamado quando o nó reporta seu estado runtime atual. */
307
+ onStateChange?: (state: GraphNodeRuntimeState<T>) => void;
136
308
  /** Função que renderiza o conteúdo do nó com as portas. */
137
309
  children(props: NodeObjectTemplateProps<T>): React.ReactNode;
138
310
  }
@@ -160,7 +332,7 @@ export interface GraphPortMouseOverEvent {
160
332
  /** Propriedades de um componente de porta no grafo. */
161
333
  export interface GraphPortProps {
162
334
  /** Tipo da conexão suportada pela porta. */
163
- type: ConnectionType;
335
+ connectionType: ConnectionType;
164
336
  /** Identificador da porta. */
165
337
  id: string;
166
338
  /** Identificador do nó que contém a porta. */
@@ -187,6 +359,8 @@ export interface GraphPortProps {
187
359
  export interface LinkDefinition<T = any> {
188
360
  /** Identificador único do link. */
189
361
  id: string;
362
+ /** Tipo de conexão usado para resolver o template. */
363
+ connectionType?: string;
190
364
  /** Ponto de origem { node, port }. */
191
365
  from: {
192
366
  node: string;
@@ -197,30 +371,76 @@ export interface LinkDefinition<T = any> {
197
371
  node: string;
198
372
  port: string;
199
373
  };
200
- /** Espessura do link (opcional). */
201
- width?: number;
202
- /** Espessura do fluxo forward (opcional). */
203
- forwardWidth?: number;
204
- /** Espessura do fluxo reverse (opcional). */
205
- reverseWidth?: number;
206
- /** Espaçamento entre fluxos forward/reverse (opcional). */
207
- spacing?: number;
208
374
  /** Dados arbitrários associados ao link (opcional). */
209
375
  data?: T;
210
- /** Rótulos do link (opcional). */
211
- labels?: LinkLabel[];
212
- /** Cor do fluxo forward. */
213
- forwardColor?: string;
214
- /** Cor do fluxo reverse. */
215
- reverseColor?: string;
216
- /** Tamanho do traço para stroke dash (opcional). */
217
- dashSize?: number;
218
- /** Espaço entre traços (opcional). */
219
- gapSize?: number;
220
- /** Duração da animação do fluxo forward (s). */
221
- forwardDuration?: number;
222
- /** Duração da animação do fluxo reverse (s). */
223
- reverseDuration?: number;
376
+ }
377
+ /**
378
+ * Valor exposto pelo contexto de informações de um link.
379
+ * Fornece dados dos nós/portas conectados para que componentes
380
+ * filhos possam renderizar o path e observar posições.
381
+ */
382
+ export interface LinkInfoContextValue<T = any> {
383
+ /** Identificador único do link. */
384
+ id: string;
385
+ /** Identificadores lógicos da extremidade de origem. */
386
+ from: {
387
+ node: string;
388
+ port: string;
389
+ };
390
+ /** Identificadores lógicos da extremidade de destino. */
391
+ to: {
392
+ node: string;
393
+ port: string;
394
+ };
395
+ /** Elemento DOM do nó de origem (node-graph-object). */
396
+ fromNode: HTMLElement | null;
397
+ /** Elemento DOM da porta de origem (node-graph-port). */
398
+ fromPort: HTMLElement | null;
399
+ /** Elemento DOM do nó de destino. */
400
+ toNode: HTMLElement | null;
401
+ /** Elemento DOM da porta de destino. */
402
+ toPort: HTMLElement | null;
403
+ /** Estado runtime do nó de origem (posição, dimensões, data). */
404
+ fromNodeState: GraphNodeRuntimeState | null;
405
+ /** Estado runtime do nó de destino. */
406
+ toNodeState: GraphNodeRuntimeState | null;
407
+ /** Callback para reportar o estado runtime do link. */
408
+ data: T;
409
+ onStateChange?: (state: GraphLinkRuntimeState) => void;
410
+ }
411
+ /**
412
+ * Contexto do registro centralizado de nós.
413
+ * Mantém referências aos elementos DOM e estados runtime de todos os nós ativos.
414
+ */
415
+ export interface NodeRegistryContextValue {
416
+ /** Retorna o elemento DOM de um nó pelo id. */
417
+ getNodeElement: (nodeId: string) => HTMLElement | null;
418
+ /** Retorna o elemento DOM de uma porta pelo nodeId e portId. */
419
+ getPortElement: (nodeId: string, portId: string) => HTMLElement | null;
420
+ /** Retorna o estado runtime de um nó pelo id. */
421
+ getNodeState: (nodeId: string) => GraphNodeRuntimeState | null;
422
+ /** Registra o elemento DOM de um nó. */
423
+ registerNodeElement: (nodeId: string, element: HTMLElement) => void;
424
+ /** Remove o registro do elemento DOM de um nó. */
425
+ unregisterNodeElement: (nodeId: string) => void;
426
+ /** Registra o elemento DOM de uma porta. */
427
+ registerPortElement: (nodeId: string, portId: string, element: HTMLElement) => void;
428
+ /** Remove o registro do elemento DOM de uma porta. */
429
+ unregisterPortElement: (nodeId: string, portId: string) => void;
430
+ /** Atualiza o estado runtime de um nó. */
431
+ updateNodeState: (state: GraphNodeRuntimeState) => void;
432
+ }
433
+ /**
434
+ * Bus centralizado de eventos do grafo.
435
+ * Permite que qualquer componente assine ou emita eventos de nós.
436
+ */
437
+ export interface GraphEventBusContextValue {
438
+ /** Assina eventos de um nó específico. */
439
+ subscribe: <K extends keyof NodeEventMap>(nodeId: string, event: K, listener: NodeEventCallback<K>) => void;
440
+ /** Remove a assinatura de eventos de um nó. */
441
+ unsubscribe: <K extends keyof NodeEventMap>(nodeId: string, event: K, listener: NodeEventCallback<K>) => void;
442
+ /** Emite um evento para os assinantes de um nó. */
443
+ emit: <K extends keyof NodeEventMap>(nodeId: string, event: K, payload: Omit<NodeEventMap[K], "type" | "nodeId">) => void;
224
444
  }
225
445
  /**
226
446
  * Tipos possíveis de label para links.
@@ -254,16 +474,21 @@ interface LinkLabelBase {
254
474
  /** Definição de um nó para uso via API imperativa. */
255
475
  export interface NodeDefinition<T = any> {
256
476
  id: string;
257
- ports?: PortDefinition[];
477
+ /** Tipo registrado via registerNodeType. */
478
+ nodeType: string;
258
479
  data?: T;
259
480
  position: Point3D;
260
- template: (props: NodeObjectTemplateProps<T>) => React.ReactNode;
481
+ }
482
+ /** Definição de um tipo de nó (portas e template). */
483
+ export interface NodeTypeDefinition {
484
+ ports: PortDefinition[];
485
+ template?: (props: NodeObjectTemplateProps) => React.ReactNode;
261
486
  }
262
487
  /** Props passadas ao template do nó (usadas para renderizar portas e conteúdo). */
263
488
  export interface NodeObjectTemplateProps<T = any> {
264
489
  id: string;
265
490
  ports: PortsByLocation;
266
- data: T;
491
+ data?: T;
267
492
  }
268
493
  /** Ponto 3D simples. */
269
494
  export interface Point3D {
@@ -272,7 +497,7 @@ export interface Point3D {
272
497
  z: number;
273
498
  }
274
499
  /** Conexão entre duas portas (modelo lógico). */
275
- export interface PortConnection {
500
+ export interface PortConnection<T = any> {
276
501
  connectionType: ConnectionType;
277
502
  from: {
278
503
  nodeId: string;
@@ -282,17 +507,18 @@ export interface PortConnection {
282
507
  nodeId: string;
283
508
  portName: string;
284
509
  };
510
+ data?: T;
285
511
  }
286
512
  /** Definição de uma porta em um nó. */
287
513
  export interface PortDefinition {
288
514
  id: string;
289
- type: ConnectionType;
515
+ connectionType: ConnectionType;
290
516
  direction: "input" | "output" | "bidirectional";
291
517
  location: {
292
518
  x: number;
293
519
  y: number;
294
520
  } | "top" | "bottom" | "left" | "right";
295
- onDragEnd?: (api: ConnectionApi, event: PortDragEndEvent) => Promise<void>;
521
+ onDragEnd?: (api: GraphApi, event: PortDragEndEvent) => Promise<void>;
296
522
  children: (props: PortRenderProps) => React.ReactNode;
297
523
  }
298
524
  /** Evento disparado quando um arraste termina. Fornece contexto de source/target. */
@@ -317,7 +543,7 @@ export interface PortRegistration {
317
543
  }
318
544
  /** Propriedades passadas para renderização das portas (UI). */
319
545
  export interface PortRenderProps {
320
- type: ConnectionType;
546
+ connectionType: ConnectionType;
321
547
  id: string;
322
548
  nodeId: string;
323
549
  direction: "input" | "output" | "bidirectional";
@@ -345,5 +571,100 @@ export interface GraphContextProps {
345
571
  links: React.ReactNode[];
346
572
  mode: GraphMode;
347
573
  }
574
+ /**
575
+ * Evento disparado quando os dados associados a um nó mudam.
576
+ *
577
+ * - type: 'dataChange'
578
+ * - nodeId: id do nó que mudou
579
+ * - data: payload arbitrário com os novos dados
580
+ */
581
+ export interface DataChangeEvent<T = any> {
582
+ readonly type: "dataChange";
583
+ readonly nodeId: string;
584
+ readonly data: T;
585
+ }
586
+ /**
587
+ * Evento disparado quando um nó é movido.
588
+ *
589
+ * - type: 'move'
590
+ * - nodeId: id do nó movido
591
+ * - position: nova posição do nó no espaço 3D do grafo
592
+ */
593
+ export interface GraphMoveEvent {
594
+ readonly type: "move";
595
+ readonly nodeId: string;
596
+ readonly position: Point3D;
597
+ }
598
+ /**
599
+ * Evento disparado quando uma conexão é criada ou removida.
600
+ */
601
+ export interface ConnectionChangeEvent {
602
+ readonly type: "connectionChange";
603
+ readonly nodeId: string;
604
+ readonly connection: PortConnection;
605
+ readonly action: "connect" | "disconnect";
606
+ }
607
+ /**
608
+ * Evento disparado quando o estado de seleção de um nó muda.
609
+ */
610
+ export interface GraphNodeSelectionChangeEvent {
611
+ readonly type: "select";
612
+ readonly nodeId: string;
613
+ readonly selected: boolean;
614
+ }
615
+ /**
616
+ * União discriminada de todos os eventos locais de um nó.
617
+ */
618
+ export type NodeEvent = DataChangeEvent | GraphMoveEvent | ConnectionChangeEvent | GraphNodeSelectionChangeEvent;
619
+ /**
620
+ * Mapa que associa chaves de evento aos seus tipos concretos.
621
+ */
622
+ export type NodeEventMap = {
623
+ dataChange: DataChangeEvent;
624
+ move: GraphMoveEvent;
625
+ connectionChange: ConnectionChangeEvent;
626
+ select: GraphNodeSelectionChangeEvent;
627
+ };
628
+ /** Tipo de callback para eventos de nó, parametrizado pelo tipo específico do evento. */
629
+ export type NodeEventCallback<K extends keyof NodeEventMap> = (event: NodeEventMap[K]) => void;
630
+ /**
631
+ * Tipo de função que emite eventos locais do nó para ouvintes registrados.
632
+ *
633
+ * @param event Chave do evento (uma das chaves definidas em NodeEventMap).
634
+ * @param payload Payload do evento — tipado como a união dos possíveis eventos
635
+ * definidos em NodeEventMap. Implementações podem reforçar a
636
+ * correlação entre 'event' e 'payload' se necessário.
637
+ */
638
+ export type NodeEventEmitter = <K extends keyof NodeEventMap>(event: K, payload: Omit<NodeEventMap[K], "type" | "nodeId">) => void;
639
+ /**
640
+ * Props do provider responsável por expor o emissor de eventos do nó.
641
+ *
642
+ * - children: nós filhos renderizados dentro do provider.
643
+ * - emmiter: função chamada com o emitter quando ele estiver disponível.
644
+ * Observação: a grafia 'emmiter' preserva o nome já usado no código base.
645
+ */
646
+ export type NodeEventProviderProps = {
647
+ children: React.ReactNode;
648
+ emitter: (emitter: NodeEventEmitter) => void;
649
+ nodeId: string;
650
+ };
651
+ /**
652
+ * Valor exposto pelo contexto de um nó, permitindo a inscrição e
653
+ * remoção de listeners para eventos locais do nó.
654
+ */
655
+ export interface NodeEventContextValue {
656
+ /**
657
+ * Registra um listener para o tipo de evento especificado.
658
+ * @param event Tipo do evento a observar (chave de NodeEventMap).
659
+ * @param listener Função chamada com o evento específico quando disparado.
660
+ */
661
+ addEventListener: <K extends keyof NodeEventMap>(event: K, listener: NodeEventCallback<K>) => void;
662
+ /**
663
+ * Remove um listener previamente registrado para o tipo de evento especificado.
664
+ * @param event Tipo do evento do listener.
665
+ * @param listener Mesma referência de função usada em addEventListener.
666
+ */
667
+ removeEventListener: <K extends keyof NodeEventMap>(event: K, listener: NodeEventCallback<K>) => void;
668
+ }
348
669
  export {};
349
670
  //# sourceMappingURL=types.d.ts.map
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export declare function createReadonlyProxy<T extends object>(target: T): T;
2
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/utils/proxy.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAIlE"}
@@ -0,0 +1,18 @@
1
+ function deepFreeze(obj) {
2
+ // Retrieve the property names defined on obj
3
+ const propNames = Object.getOwnPropertyNames(obj);
4
+ // Freeze properties before freezing self
5
+ for (const name of propNames) {
6
+ const value = obj[name];
7
+ if (value && typeof value === "object") {
8
+ deepFreeze(value);
9
+ }
10
+ }
11
+ return Object.freeze(obj);
12
+ }
13
+ export function createReadonlyProxy(target) {
14
+ const clone = JSON.parse(JSON.stringify(target));
15
+ deepFreeze(clone);
16
+ return clone;
17
+ }
18
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/utils/proxy.ts"],"names":[],"mappings":"AACA,SAAS,UAAU,CAAmB,GAAM;IACxC,6CAA6C;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAElD,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAe,CAAC,CAAC;QAEnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAmB,MAAS;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const NoProviderSymbol: unique symbol;
2
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,eAAuB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const NoProviderSymbol = Symbol("NoProvider");
2
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/utils/symbols.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-html-graph",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "type": "module",
5
5
  "main": "./dist/module.js",
6
6
  "module": "./dist/module.js",