react-html-graph 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/calculations/index.d.ts +32 -0
  4. package/dist/calculations/index.d.ts.map +1 -0
  5. package/dist/calculations/index.js +247 -0
  6. package/dist/calculations/index.js.map +1 -0
  7. package/dist/calculations/types.d.ts +43 -0
  8. package/dist/calculations/types.d.ts.map +1 -0
  9. package/dist/calculations/types.js +2 -0
  10. package/dist/calculations/types.js.map +1 -0
  11. package/dist/context/connection-context.d.ts +3 -0
  12. package/dist/context/connection-context.d.ts.map +1 -0
  13. package/dist/context/connection-context.js +13 -0
  14. package/dist/context/connection-context.js.map +1 -0
  15. package/dist/context/error-context.d.ts +3 -0
  16. package/dist/context/error-context.d.ts.map +1 -0
  17. package/dist/context/error-context.js +5 -0
  18. package/dist/context/error-context.js.map +1 -0
  19. package/dist/context/graph-context.d.ts +3 -0
  20. package/dist/context/graph-context.d.ts.map +1 -0
  21. package/dist/context/graph-context.js +8 -0
  22. package/dist/context/graph-context.js.map +1 -0
  23. package/dist/context/graph-root-context.d.ts +7 -0
  24. package/dist/context/graph-root-context.d.ts.map +1 -0
  25. package/dist/context/graph-root-context.js +8 -0
  26. package/dist/context/graph-root-context.js.map +1 -0
  27. package/dist/example/App.css +39 -0
  28. package/dist/example/App.d.ts +3 -0
  29. package/dist/example/App.d.ts.map +1 -0
  30. package/dist/example/App.js +7 -0
  31. package/dist/example/App.js.map +1 -0
  32. package/dist/example/graph-teste.d.ts +2 -0
  33. package/dist/example/graph-teste.d.ts.map +1 -0
  34. package/dist/example/graph-teste.js +205 -0
  35. package/dist/example/graph-teste.js.map +1 -0
  36. package/dist/example/index.css +48 -0
  37. package/dist/example/reportWebVitals.d.ts +4 -0
  38. package/dist/example/reportWebVitals.d.ts.map +1 -0
  39. package/dist/example/reportWebVitals.js +13 -0
  40. package/dist/example/reportWebVitals.js.map +1 -0
  41. package/dist/graph/index.d.ts +11 -0
  42. package/dist/graph/index.d.ts.map +1 -0
  43. package/dist/graph/index.js +161 -0
  44. package/dist/graph/index.js.map +1 -0
  45. package/dist/graph/viewbox.d.ts +9 -0
  46. package/dist/graph/viewbox.d.ts.map +1 -0
  47. package/dist/graph/viewbox.js +30 -0
  48. package/dist/graph/viewbox.js.map +1 -0
  49. package/dist/hooks/api.d.ts +9 -0
  50. package/dist/hooks/api.d.ts.map +1 -0
  51. package/dist/hooks/api.js +13 -0
  52. package/dist/hooks/api.js.map +1 -0
  53. package/dist/hooks/connection.d.ts +46 -0
  54. package/dist/hooks/connection.d.ts.map +1 -0
  55. package/dist/hooks/connection.js +81 -0
  56. package/dist/hooks/connection.js.map +1 -0
  57. package/dist/hooks/error.d.ts +10 -0
  58. package/dist/hooks/error.d.ts.map +1 -0
  59. package/dist/hooks/error.js +16 -0
  60. package/dist/hooks/error.js.map +1 -0
  61. package/dist/hooks/get-zoom.d.ts +2 -0
  62. package/dist/hooks/get-zoom.d.ts.map +1 -0
  63. package/dist/hooks/get-zoom.js +14 -0
  64. package/dist/hooks/get-zoom.js.map +1 -0
  65. package/dist/hooks/graph-mode.d.ts +8 -0
  66. package/dist/hooks/graph-mode.d.ts.map +1 -0
  67. package/dist/hooks/graph-mode.js +13 -0
  68. package/dist/hooks/graph-mode.js.map +1 -0
  69. package/dist/hooks/graph-root.d.ts +9 -0
  70. package/dist/hooks/graph-root.d.ts.map +1 -0
  71. package/dist/hooks/graph-root.js +13 -0
  72. package/dist/hooks/graph-root.js.map +1 -0
  73. package/dist/hooks/graph.d.ts +10 -0
  74. package/dist/hooks/graph.d.ts.map +1 -0
  75. package/dist/hooks/graph.js +12 -0
  76. package/dist/hooks/graph.js.map +1 -0
  77. package/dist/hooks/viewbox.d.ts +7 -0
  78. package/dist/hooks/viewbox.d.ts.map +1 -0
  79. package/dist/hooks/viewbox.js +12 -0
  80. package/dist/hooks/viewbox.js.map +1 -0
  81. package/dist/link/base.d.ts +34 -0
  82. package/dist/link/base.d.ts.map +1 -0
  83. package/dist/link/base.js +202 -0
  84. package/dist/link/base.js.map +1 -0
  85. package/dist/link/temp-link.d.ts +9 -0
  86. package/dist/link/temp-link.d.ts.map +1 -0
  87. package/dist/link/temp-link.js +60 -0
  88. package/dist/link/temp-link.js.map +1 -0
  89. package/dist/module.d.ts +18 -0
  90. package/dist/module.d.ts.map +1 -0
  91. package/dist/module.js +18 -0
  92. package/dist/module.js.map +1 -0
  93. package/dist/nodes/base.d.ts +11 -0
  94. package/dist/nodes/base.d.ts.map +1 -0
  95. package/dist/nodes/base.js +117 -0
  96. package/dist/nodes/base.js.map +1 -0
  97. package/dist/ports/base.d.ts +11 -0
  98. package/dist/ports/base.d.ts.map +1 -0
  99. package/dist/ports/base.js +115 -0
  100. package/dist/ports/base.js.map +1 -0
  101. package/dist/providers/connection-provider.d.ts +10 -0
  102. package/dist/providers/connection-provider.d.ts.map +1 -0
  103. package/dist/providers/connection-provider.js +120 -0
  104. package/dist/providers/connection-provider.js.map +1 -0
  105. package/dist/style.css +78 -0
  106. package/dist/types.d.ts +349 -0
  107. package/dist/types.d.ts.map +1 -0
  108. package/dist/types.js +11 -0
  109. package/dist/types.js.map +1 -0
  110. package/package.json +73 -0
@@ -0,0 +1,349 @@
1
+ /**
2
+ * Tipos compartilhados do projeto (ordenados alfabeticamente).
3
+ *
4
+ * Observações:
5
+ * - Tipos que representam objetos foram convertidos para `interface` quando
6
+ * aplicável, conforme solicitado.
7
+ * - Comentários de propriedade foram mantidos inline (acima de cada campo),
8
+ * sem uso de @property.
9
+ */
10
+ /** API imperativa para manipular conexões no grafo. */
11
+ export interface ConnectionApi {
12
+ /** Adiciona uma conexão. */
13
+ connect(connection: PortConnection): void;
14
+ /** Remove uma conexão. */
15
+ disconnect(connection: PortConnection): void;
16
+ /** Retorna o array de conexões atuais. */
17
+ getConnections(): PortConnection[];
18
+ }
19
+ /** Estado e operações expostas pelo contexto de conexões. */
20
+ export interface ConnectionContextProps {
21
+ /** Lista de conexões no grafo. */
22
+ connections: PortConnection[];
23
+ /** Estado do arraste entre portas. */
24
+ dragState: DragState;
25
+ /** Retorna a instância atual da API imperativa do grafo. */
26
+ getGraphApi(): GraphApi | null;
27
+ /** Adiciona uma conexão. */
28
+ connect(connection: PortConnection): void;
29
+ /** Remove uma conexão. */
30
+ disconnect(connection: PortConnection): void;
31
+ /** Inicia o arraste a partir de uma porta (source). */
32
+ startDrag(sourceNodeId: string, sourcePortName: string, connectionType: ConnectionType): void;
33
+ /** Finaliza o arraste (pode incluir target ou apenas cancelar). */
34
+ endDrag(targetNodeId?: string, targetPortName?: string, cursorPosition?: {
35
+ x: number;
36
+ y: number;
37
+ }): void;
38
+ /** Registra uma porta disponível para conexão. */
39
+ registerPort(registration: PortRegistration): void;
40
+ /** Remove o registro de uma porta. */
41
+ unregisterPort(nodeId: string, portName: string): void;
42
+ }
43
+ /** Propriedades do provider que expõe a API do grafo via ref. */
44
+ export interface ConnectionProviderProps {
45
+ /** Ref mutável que receberá a instância de GraphApi. */
46
+ graphApiRef: React.RefObject<GraphApi | null>;
47
+ /** Elementos filhos renderizados pelo provider. */
48
+ children: React.ReactNode;
49
+ }
50
+ /** Identificador textual do tipo de conexão (ex.: "data"). */
51
+ export type ConnectionType = string;
52
+ /** Estado do fluxo de arraste entre portas. */
53
+ export type DragState = {
54
+ active: false;
55
+ } | {
56
+ active: true;
57
+ /** Id do nó de origem do arraste. */
58
+ sourceNodeId: string;
59
+ /** Nome da porta de origem do arraste. */
60
+ sourcePortName: string;
61
+ /** Tipo de conexão sendo arrastada. */
62
+ connectionType: ConnectionType;
63
+ /** Posição do cursor no momento (coordenadas do mundo). */
64
+ cursorPosition: {
65
+ x: number;
66
+ y: number;
67
+ };
68
+ };
69
+ /** Interface do contexto de erros. */
70
+ export interface ErrorContextProps {
71
+ /** Reporta um erro de grafo (código, mensagem e detalhes opcionais). */
72
+ reportError(error: GraphError): void;
73
+ }
74
+ /** API imperativa do grafo (usada por refs para manipular nós/links). */
75
+ export interface GraphApi {
76
+ addNode(node: NodeDefinition): void;
77
+ removeNode(id: string): void;
78
+ addLink(link: LinkDefinition): void;
79
+ removeLink(id: string): void;
80
+ connect(connection: PortConnection): void;
81
+ disconnect(connection: PortConnection): void;
82
+ getConnections(): PortConnection[];
83
+ }
84
+ /** Estado do viewbox — posição e escala do canvas. */
85
+ export interface Viewbox {
86
+ /** Coordenada X do canto superior esquerdo no espaço do mundo. */
87
+ x: number;
88
+ /** Coordenada Y do canto superior esquerdo no espaço do mundo. */
89
+ y: number;
90
+ /** Largura atual da área visível em pixels. */
91
+ width: number;
92
+ /** Altura atual da área visível em pixels. */
93
+ height: number;
94
+ /** Fator de zoom aplicado. */
95
+ zoom: number;
96
+ }
97
+ /** Informação básica de um evento de porta (subset das props da porta). */
98
+ export interface GraphInfo {
99
+ type: ConnectionType;
100
+ id: string;
101
+ nodeId: string;
102
+ direction: "input" | "output" | "bidirectional";
103
+ }
104
+ /** Representa um erro interno do grafo. */
105
+ export interface GraphError {
106
+ /** Código identificador do erro. */
107
+ code: string;
108
+ /** Mensagem legível para depuração/log. */
109
+ message: string;
110
+ /** Dados adicionais opcionais relacionados ao erro. */
111
+ details?: Record<string, unknown>;
112
+ }
113
+ /** Propriedades do componente Graph. */
114
+ export type GraphProps = {
115
+ /** Modo do grafo (controle de edição vs somente leitura). */
116
+ mode?: GraphMode;
117
+ /** Callback chamado quando ocorre um erro no grafo. */
118
+ onError?: (error: GraphError) => void;
119
+ /** Ref para acessar a api (GraphApi). */
120
+ ref?: React.Ref<GraphApi>;
121
+ };
122
+ /** Modo do grafo (controle de edição vs somente leitura). */
123
+ export type GraphMode = "readonly" | "edit";
124
+ /** Propriedades do componente GraphObject (nó do grafo). */
125
+ export interface GraphObjectProps<T = any> {
126
+ /** Identificador único do nó. */
127
+ id: string;
128
+ /** Definições de portas do nó (opcional). */
129
+ ports?: PortDefinition[];
130
+ /** Posição inicial {x,y,z} opcional. */
131
+ initialPosition?: Point3D;
132
+ /** Dados arbitrários associados ao nó. */
133
+ data?: T;
134
+ /** Callback chamado quando o nó é movido. */
135
+ onMove?: (newPosition: Point3D) => void;
136
+ /** Função que renderiza o conteúdo do nó com as portas. */
137
+ children(props: NodeObjectTemplateProps<T>): React.ReactNode;
138
+ }
139
+ /** Evento disparado ao clicar em uma porta do grafo. */
140
+ export interface GraphPortClickEvent {
141
+ readonly type: 'click';
142
+ readonly graph: GraphInfo;
143
+ readonly nativeEvent: React.MouseEvent['nativeEvent'];
144
+ readonly api: GraphApi;
145
+ }
146
+ /** Evento disparado quando o mouse sai de cima de uma porta. */
147
+ export interface GraphPortMouseLeaveEvent {
148
+ readonly type: 'mouseLeave';
149
+ readonly graph: GraphInfo;
150
+ readonly nativeEvent: React.MouseEvent['nativeEvent'];
151
+ readonly api: GraphApi;
152
+ }
153
+ /** Evento disparado quando o mouse entra sobre uma porta. */
154
+ export interface GraphPortMouseOverEvent {
155
+ readonly type: 'mouseOver';
156
+ readonly graph: GraphInfo;
157
+ readonly nativeEvent: React.MouseEvent['nativeEvent'];
158
+ readonly api: GraphApi;
159
+ }
160
+ /** Propriedades de um componente de porta no grafo. */
161
+ export interface GraphPortProps {
162
+ /** Tipo da conexão suportada pela porta. */
163
+ type: ConnectionType;
164
+ /** Identificador da porta. */
165
+ id: string;
166
+ /** Identificador do nó que contém a porta. */
167
+ nodeId: string;
168
+ /** Direção da porta. */
169
+ direction: "input" | "output" | "bidirectional";
170
+ /** Localização ou coordenadas da porta no nó. */
171
+ location: {
172
+ x: number;
173
+ y: number;
174
+ } | "top" | "bottom" | "left" | "right";
175
+ /** Callback opcional chamado ao terminar um arraste. */
176
+ onDragEnd?: (api: GraphApi, event: PortDragEndEvent) => Promise<void>;
177
+ /** Render function para a UI da porta. */
178
+ children: (props: PortRenderProps) => React.ReactNode;
179
+ /** Event callback de clique. */
180
+ onClick?: (event: GraphPortClickEvent) => void;
181
+ /** Event callback de mouse over. */
182
+ onMouseOver?: (event: GraphPortMouseOverEvent) => void;
183
+ /** Event callback de mouse leave. */
184
+ onMouseLeave?: (event: GraphPortMouseLeaveEvent) => void;
185
+ }
186
+ /** Definição de um link (conexão visual) entre dois nós. */
187
+ export interface LinkDefinition<T = any> {
188
+ /** Identificador único do link. */
189
+ id: string;
190
+ /** Ponto de origem { node, port }. */
191
+ from: {
192
+ node: string;
193
+ port: string;
194
+ };
195
+ /** Ponto de destino { node, port }. */
196
+ to: {
197
+ node: string;
198
+ port: string;
199
+ };
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
+ /** Dados arbitrários associados ao link (opcional). */
209
+ 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;
224
+ }
225
+ /**
226
+ * Tipos possíveis de label para links.
227
+ * Existem duas formas: labels direcionais (forward/reverse) com 'offset'
228
+ * ou labels posicionais (start/middle/end) com dx/dy para deslocamento.
229
+ */
230
+ export type LinkLabel = (LinkLabelBase & {
231
+ textAnchor: "forward" | "reverse";
232
+ offset?: number;
233
+ dy?: never;
234
+ dx?: never;
235
+ }) | (LinkLabelBase & {
236
+ textAnchor?: "start" | "middle" | "end";
237
+ offset?: never;
238
+ dy?: number;
239
+ dx?: number;
240
+ });
241
+ /** Estrutura base comum a todos os LinkLabel. */
242
+ interface LinkLabelBase {
243
+ text: string;
244
+ position?: number;
245
+ color?: string;
246
+ fontFamily?: string;
247
+ fontSize?: number;
248
+ fontWeight?: string | number;
249
+ fontStyle?: string;
250
+ opacity?: number;
251
+ letterSpacing?: number;
252
+ textDecoration?: string;
253
+ }
254
+ /** Definição de um nó para uso via API imperativa. */
255
+ export interface NodeDefinition<T = any> {
256
+ id: string;
257
+ ports?: PortDefinition[];
258
+ data?: T;
259
+ position: Point3D;
260
+ template: (props: NodeObjectTemplateProps<T>) => React.ReactNode;
261
+ }
262
+ /** Props passadas ao template do nó (usadas para renderizar portas e conteúdo). */
263
+ export interface NodeObjectTemplateProps<T = any> {
264
+ id: string;
265
+ ports: PortsByLocation;
266
+ data: T;
267
+ }
268
+ /** Ponto 3D simples. */
269
+ export interface Point3D {
270
+ x: number;
271
+ y: number;
272
+ z: number;
273
+ }
274
+ /** Conexão entre duas portas (modelo lógico). */
275
+ export interface PortConnection {
276
+ connectionType: ConnectionType;
277
+ from: {
278
+ nodeId: string;
279
+ portName: string;
280
+ };
281
+ to: {
282
+ nodeId: string;
283
+ portName: string;
284
+ };
285
+ }
286
+ /** Definição de uma porta em um nó. */
287
+ export interface PortDefinition {
288
+ id: string;
289
+ type: ConnectionType;
290
+ direction: "input" | "output" | "bidirectional";
291
+ location: {
292
+ x: number;
293
+ y: number;
294
+ } | "top" | "bottom" | "left" | "right";
295
+ onDragEnd?: (api: ConnectionApi, event: PortDragEndEvent) => Promise<void>;
296
+ children: (props: PortRenderProps) => React.ReactNode;
297
+ }
298
+ /** Evento disparado quando um arraste termina. Fornece contexto de source/target. */
299
+ export interface PortDragEndEvent {
300
+ sourceNodeId: string;
301
+ sourcePortName: string;
302
+ connectionType: ConnectionType;
303
+ targetNodeId?: string;
304
+ targetPortName?: string;
305
+ cursorPosition: {
306
+ x: number;
307
+ y: number;
308
+ };
309
+ }
310
+ /** Registro de uma porta no provedor de conexões. */
311
+ export interface PortRegistration {
312
+ nodeId: string;
313
+ portName: string;
314
+ connectionType: ConnectionType;
315
+ direction: "input" | "output" | "bidirectional";
316
+ onDragEnd?: (api: GraphApi, event: PortDragEndEvent) => Promise<void>;
317
+ }
318
+ /** Propriedades passadas para renderização das portas (UI). */
319
+ export interface PortRenderProps {
320
+ type: ConnectionType;
321
+ id: string;
322
+ nodeId: string;
323
+ direction: "input" | "output" | "bidirectional";
324
+ location: {
325
+ x: number;
326
+ y: number;
327
+ } | "top" | "bottom" | "left" | "right";
328
+ isDragging: boolean;
329
+ canDrop: boolean;
330
+ canDrag: boolean;
331
+ }
332
+ /** Estrutura que agrupa portas por localização para facilitar renderização. */
333
+ export interface PortsByLocation {
334
+ top: React.ReactNode[];
335
+ bottom: React.ReactNode[];
336
+ left: React.ReactNode[];
337
+ right: React.ReactNode[];
338
+ floating: React.ReactNode[];
339
+ all: React.ReactNode[];
340
+ }
341
+ /** Propriedades do contexto global do grafo (viewbox, nós, links e modo). */
342
+ export interface GraphContextProps {
343
+ viewbox: Viewbox;
344
+ nodes: React.ReactNode[];
345
+ links: React.ReactNode[];
346
+ mode: GraphMode;
347
+ }
348
+ export {};
349
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tipos compartilhados do projeto (ordenados alfabeticamente).
3
+ *
4
+ * Observações:
5
+ * - Tipos que representam objetos foram convertidos para `interface` quando
6
+ * aplicável, conforme solicitado.
7
+ * - Comentários de propriedade foram mantidos inline (acima de cada campo),
8
+ * sem uso de @property.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "react-html-graph",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "./dist/module.js",
6
+ "module": "./dist/module.js",
7
+ "types": "./dist/module.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "sideEffects": [
12
+ "**/*.css"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/module.d.ts",
17
+ "import": "./dist/module.js",
18
+ "default": "./dist/module.js"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "scripts": {
23
+ "start": "react-scripts start",
24
+ "clean": "node scripts/clean-dist.mjs",
25
+ "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/copy-library-assets.mjs",
26
+ "build:demo": "react-scripts build",
27
+ "test": "react-scripts test",
28
+ "eject": "react-scripts eject",
29
+ "prepack": "npm run build"
30
+ },
31
+ "peerDependencies": {
32
+ "react": "^19.0.0",
33
+ "react-dom": "^19.0.0"
34
+ },
35
+ "devDependencies": {
36
+ "@testing-library/dom": "^10.4.1",
37
+ "@testing-library/jest-dom": "^6.9.1",
38
+ "@testing-library/react": "^16.3.2",
39
+ "@testing-library/user-event": "^14.6.1",
40
+ "@types/jest": "^30.0.0",
41
+ "@types/node": "^25.6.0",
42
+ "@types/react": "^19.2.14",
43
+ "@types/react-dom": "^19.2.3",
44
+ "react": "^19.2.5",
45
+ "react-dom": "^19.2.5",
46
+ "react-scripts": "^5.0.1",
47
+ "typescript": "^6.0.2",
48
+ "web-vitals": "^5.2.0"
49
+ },
50
+ "eslintConfig": {
51
+ "extends": [
52
+ "react-app",
53
+ "react-app/jest"
54
+ ]
55
+ },
56
+ "overrides": {
57
+ "react-scripts": {
58
+ "typescript": "^6.0.2"
59
+ }
60
+ },
61
+ "browserslist": {
62
+ "production": [
63
+ ">0.2%",
64
+ "not dead",
65
+ "not op_mini all"
66
+ ],
67
+ "development": [
68
+ "last 1 chrome version",
69
+ "last 1 firefox version",
70
+ "last 1 safari version"
71
+ ]
72
+ }
73
+ }