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
@@ -0,0 +1,50 @@
1
+ import { GraphMode, NodeEventEmitter, Point3D } from "../types";
2
+ type MoveState = {
3
+ moving: boolean;
4
+ movePointStart: {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ startPos: {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ currentPos: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ };
17
+ /** Opções para o hook useMoveBehaviour. */
18
+ export interface UseMoveBehaviourOptions {
19
+ /** Ref do elemento DOM do nó. */
20
+ elementRef: React.RefObject<HTMLElement | null>;
21
+ /** Getter estável para o zoom atual. */
22
+ getZoom: () => number;
23
+ /** Modo do grafo (readonly não permite drag). */
24
+ mode: GraphMode;
25
+ /** Posição efetiva atual do nó. */
26
+ position: Point3D;
27
+ /** Callback chamado ao finalizar o movimento. */
28
+ onMoveEnd?: (newPosition: Point3D) => void;
29
+ /** Callback chamado durante o arraste para reportar estado. */
30
+ onMoving?: (currentPosition: Point3D) => void;
31
+ /** Emitter de eventos do nó. */
32
+ eventEmitter?: NodeEventEmitter | null;
33
+ }
34
+ /** Retorno do hook useMoveBehaviour. */
35
+ export interface UseMoveBehaviourReturn {
36
+ /** Handler de mouseDown para iniciar o arraste. */
37
+ handleMouseDown: (e: React.MouseEvent<HTMLElement>) => void;
38
+ /** Handler de mouseUp para finalizar o arraste. */
39
+ handleMouseUp: (e: MouseEvent | React.MouseEvent) => void;
40
+ /** Posição corrente durante o arraste (via ref). */
41
+ moveRef: React.RefObject<MoveState>;
42
+ }
43
+ /**
44
+ * Hook que encapsula a lógica de drag/move de um nó do grafo.
45
+ * Atualiza o DOM diretamente durante o arraste (sem setState)
46
+ * e registra listeners globais de mousemove/mouseup no document.
47
+ */
48
+ export declare function useMoveBehaviour({ elementRef, getZoom, mode, position, onMoveEnd, onMoving, eventEmitter, }: UseMoveBehaviourOptions): UseMoveBehaviourReturn;
49
+ export {};
50
+ //# sourceMappingURL=move-behaviour.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-behaviour.d.ts","sourceRoot":"","sources":["../../src/behaviour/move-behaviour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhE,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACpC,iCAAiC;IACjC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,wCAAwC;IACxC,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,iDAAiD;IACjD,IAAI,EAAE,SAAS,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1C;AAED,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACnC,mDAAmD;IACnD,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,mDAAmD;IACnD,aAAa,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC1D,oDAAoD;IACpD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,UAAU,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,GACf,EAAE,uBAAuB,GAAG,sBAAsB,CAoElD"}
@@ -0,0 +1,71 @@
1
+ import { useCallback, useEffect, useRef } from "react";
2
+ /**
3
+ * Hook que encapsula a lógica de drag/move de um nó do grafo.
4
+ * Atualiza o DOM diretamente durante o arraste (sem setState)
5
+ * e registra listeners globais de mousemove/mouseup no document.
6
+ */
7
+ export function useMoveBehaviour({ elementRef, getZoom, mode, position, onMoveEnd, onMoving, eventEmitter, }) {
8
+ const moveRef = useRef({
9
+ moving: false,
10
+ movePointStart: { x: 0, y: 0 },
11
+ startPos: { x: 0, y: 0 },
12
+ currentPos: { x: 0, y: 0 },
13
+ });
14
+ const handleMouseDown = useCallback((e) => {
15
+ if (e.button !== 0 || mode === "readonly")
16
+ return;
17
+ e.preventDefault();
18
+ moveRef.current.moving = true;
19
+ moveRef.current.movePointStart.x = e.clientX;
20
+ moveRef.current.movePointStart.y = e.clientY;
21
+ moveRef.current.startPos = { x: position.x, y: position.y };
22
+ moveRef.current.currentPos = { x: position.x, y: position.y };
23
+ }, [position.x, position.y, mode]);
24
+ const handleMouseUp = useCallback((e) => {
25
+ if (e.button === 0 && moveRef.current.moving) {
26
+ moveRef.current.moving = false;
27
+ const nextPosition = {
28
+ x: moveRef.current.currentPos.x,
29
+ y: moveRef.current.currentPos.y,
30
+ z: position.z,
31
+ };
32
+ onMoveEnd?.(nextPosition);
33
+ eventEmitter?.("move", { position: nextPosition });
34
+ }
35
+ }, [position.z, onMoveEnd, eventEmitter]);
36
+ const handleMouseMove = useCallback((e) => {
37
+ if (!elementRef.current || !moveRef.current.moving)
38
+ return;
39
+ const zoom = getZoom();
40
+ const dx = (e.clientX - moveRef.current.movePointStart.x) / zoom;
41
+ const dy = (e.clientY - moveRef.current.movePointStart.y) / zoom;
42
+ const newX = moveRef.current.startPos.x + dx;
43
+ const newY = moveRef.current.startPos.y + dy;
44
+ const nextPosition = {
45
+ x: newX,
46
+ y: newY,
47
+ z: position.z,
48
+ };
49
+ moveRef.current.currentPos.x = newX;
50
+ moveRef.current.currentPos.y = newY;
51
+ elementRef.current.style.left = `${newX.toFixed(0)}px`;
52
+ elementRef.current.style.top = `${newY.toFixed(0)}px`;
53
+ onMoving?.(nextPosition);
54
+ eventEmitter?.("move", { position: nextPosition });
55
+ }, [position.z, getZoom, elementRef, onMoving, eventEmitter]);
56
+ // Registra listeners globais de mousemove e mouseup
57
+ useEffect(() => {
58
+ if (mode === "readonly")
59
+ return;
60
+ const onUp = (e) => handleMouseUp(e);
61
+ const onMove = (e) => handleMouseMove(e);
62
+ document.addEventListener("mouseup", onUp);
63
+ document.addEventListener("mousemove", onMove);
64
+ return () => {
65
+ document.removeEventListener("mouseup", onUp);
66
+ document.removeEventListener("mousemove", onMove);
67
+ };
68
+ }, [handleMouseUp, handleMouseMove, mode]);
69
+ return { handleMouseDown, handleMouseUp, moveRef };
70
+ }
71
+ //# sourceMappingURL=move-behaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-behaviour.js","sourceRoot":"","sources":["../../src/behaviour/move-behaviour.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PathInput, PathOutput, LabelsInput, LabelOutput } from './types';
1
+ import { PathInput, PathOutput, LabelsInput, LabelOutput, LayoutInput, LayoutOutput, FitViewInput, FitViewOutput } from './types';
2
2
  /**
3
3
  * Configura o tamanho do pool de workers.
4
4
  * Deve ser chamado antes do primeiro cálculo para definir quantos workers
@@ -29,4 +29,18 @@ export declare function calculatePath(input: PathInput): Promise<PathOutput>;
29
29
  export declare function calculateLabels(input: LabelsInput): Promise<{
30
30
  positions: LabelOutput[];
31
31
  }>;
32
+ /**
33
+ * Calcula um layout completo para os nós do grafo em um worker do pool.
34
+ *
35
+ * @param input Dados de entrada do algoritmo de layout
36
+ * @returns Promise com as novas posições e bounds resultantes
37
+ */
38
+ export declare function calculateLayout(input: LayoutInput): Promise<LayoutOutput>;
39
+ /**
40
+ * Calcula o viewbox ideal para enquadrar todos os nós em uma viewport.
41
+ *
42
+ * @param input Dados de entrada para fit da viewport
43
+ * @returns Promise com x, y e zoom calculados
44
+ */
45
+ export declare function calculateFitView(input: FitViewInput): Promise<FitViewOutput>;
32
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calculations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAsN1E;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,QAK/C;AAqCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAEzF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calculations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EAChB,MAAM,SAAS,CAAC;AAw/CjB;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,QAK/C;AAqCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAE5E"}