@neo4j-nvl/base 1.2.2 → 2.0.0-1e695738

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 (235) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +8 -0
  3. package/dist/base.mjs +35891 -2
  4. package/dist/types/index.d.ts +382 -386
  5. package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +23 -23
  6. package/dist/types/layouts/animatedlayout/animationUtils.d.ts +3 -3
  7. package/dist/types/layouts/circularLayout/CircularLayout.d.ts +14 -14
  8. package/dist/types/layouts/d3forcelayout/circularLayout.d.ts +4 -4
  9. package/dist/types/layouts/d3forcelayout/constants.d.ts +3 -4
  10. package/dist/types/layouts/d3forcelayout/d3ForceLayout.d.ts +31 -31
  11. package/dist/types/layouts/d3forcelayout/types.d.ts +7 -7
  12. package/dist/types/layouts/forcedirectedlayout/PhysLayout.d.ts +275 -0
  13. package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.d.ts +62 -0
  14. package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.d.ts +56 -0
  15. package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.d.ts +143 -0
  16. package/dist/types/layouts/forcedirectedlayout/clustering/types.d.ts +59 -0
  17. package/dist/types/layouts/forcedirectedlayout/glwrapper.d.ts +4 -0
  18. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-fragment.d.ts +2 -0
  19. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-repulsive-fragment.d.ts +2 -0
  20. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-update-fragment.d.ts +2 -0
  21. package/dist/types/layouts/forcedirectedlayout/shaders/sim-vertex.d.ts +2 -0
  22. package/dist/types/layouts/freeLayout/FreeLayout.d.ts +23 -25
  23. package/dist/types/layouts/gridLayout/GridLayout.d.ts +26 -30
  24. package/dist/types/layouts/hierarchicallayout/HierarchicalLayout.d.ts +28 -23
  25. package/dist/types/layouts/hierarchicallayout/constants.d.ts +2 -2
  26. package/dist/types/modules/CallbackHelper.d.ts +23 -23
  27. package/dist/types/modules/ExternalCallbackHandler.d.ts +33 -39
  28. package/dist/types/modules/NvlController.d.ts +212 -129
  29. package/dist/types/modules/Shader.d.ts +17 -17
  30. package/dist/types/modules/ZoomTransitionHandler.d.ts +24 -24
  31. package/dist/types/modules/dataset.d.ts +26 -24
  32. package/dist/types/modules/logging.d.ts +4 -4
  33. package/dist/types/modules/state/constants.d.ts +2 -2
  34. package/dist/types/modules/state/state.d.ts +2 -2
  35. package/dist/types/modules/state/types.d.ts +338 -228
  36. package/dist/types/modules/state/utils.d.ts +36 -36
  37. package/dist/types/renderers/ClusterOverlay.d.ts +73 -0
  38. package/dist/types/renderers/domrenderer/BaseRenderer.d.ts +69 -69
  39. package/dist/types/renderers/domrenderer/canvasrenderer/Animation.d.ts +57 -57
  40. package/dist/types/renderers/domrenderer/canvasrenderer/AnimationHandler.d.ts +65 -65
  41. package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.d.ts +84 -85
  42. package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.d.ts +31 -31
  43. package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.d.ts +32 -32
  44. package/dist/types/renderers/domrenderer/shared/ImageCache.d.ts +16 -15
  45. package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.d.ts +89 -89
  46. package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.d.ts +42 -42
  47. package/dist/types/renderers/domrenderer/shared/arrows/arrows.d.ts +49 -49
  48. package/dist/types/renderers/domrenderer/shared/arrows/constants.d.ts +4 -4
  49. package/dist/types/renderers/domrenderer/shared/nodes/nodes.d.ts +21 -21
  50. package/dist/types/renderers/domrenderer/shared/types.d.ts +29 -30
  51. package/dist/types/renderers/domrenderer/shared/util.d.ts +4 -4
  52. package/dist/types/renderers/domrenderer/shared/vectorUtils.d.ts +10 -10
  53. package/dist/types/renderers/domrenderer/shared/wordwrap.d.ts +10 -10
  54. package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.d.ts +18 -19
  55. package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.d.ts +15 -15
  56. package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.d.ts +4 -4
  57. package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.d.ts +21 -21
  58. package/dist/types/renderers/webglrenderer/Controller.d.ts +83 -61
  59. package/dist/types/renderers/webglrenderer/IconLayerRegistry.d.ts +14 -0
  60. package/dist/types/renderers/webglrenderer/Renderer.d.ts +91 -51
  61. package/dist/types/renderers/webglrenderer/node-animation-fragment.d.ts +2 -2
  62. package/dist/types/renderers/webglrenderer/node-animation-vertex.d.ts +2 -2
  63. package/dist/types/renderers/webglrenderer/node-fragment-point.d.ts +2 -2
  64. package/dist/types/renderers/webglrenderer/node-vertex-point.d.ts +2 -2
  65. package/dist/types/renderers/webglrenderer/rel-fragment-line.d.ts +2 -2
  66. package/dist/types/renderers/webglrenderer/rel-glsl-utils.d.ts +1 -0
  67. package/dist/types/renderers/webglrenderer/rel-vertex-arrow.d.ts +2 -0
  68. package/dist/types/renderers/webglrenderer/rel-vertex-line.d.ts +2 -2
  69. package/dist/types/renderers/webglrenderer/viewport-box-fragment.d.ts +2 -2
  70. package/dist/types/renderers/webglrenderer/viewport-box-vertex.d.ts +2 -2
  71. package/dist/types/types/graph-element.d.ts +109 -101
  72. package/dist/types/types/nvl-window-functions.d.ts +12 -13
  73. package/dist/types/types/utils.d.ts +1 -1
  74. package/dist/types/utils/ariaUtils.d.ts +2 -2
  75. package/dist/types/utils/canvasManagement.d.ts +8 -2
  76. package/dist/types/utils/circularUtils.d.ts +2 -2
  77. package/dist/types/utils/clusterGeometry.d.ts +14 -0
  78. package/dist/types/utils/clusterHitRegions.d.ts +42 -0
  79. package/dist/types/utils/colorUtils.d.ts +2 -2
  80. package/dist/types/utils/constants.d.ts +12 -6
  81. package/dist/types/utils/errors.d.ts +6 -6
  82. package/dist/types/utils/geometry.d.ts +91 -48
  83. package/dist/types/utils/graphObjectUtils.d.ts +9 -9
  84. package/dist/types/utils/hitTest.d.ts +84 -0
  85. package/dist/types/utils/jsDriverResultTransformer.d.ts +27 -25
  86. package/dist/types/utils/layoutSeeding.d.ts +7 -0
  87. package/dist/types/utils/mouseUtils.d.ts +5 -5
  88. package/dist/types/utils/segmentAnalytics.d.ts +42 -42
  89. package/dist/types/utils/webWorkerUtils.d.ts +2 -2
  90. package/dist/types/utils/zoomFunctions.d.ts +24 -16
  91. package/package.json +15 -15
  92. package/skills/neo4j-nvl-skill/README.md +39 -0
  93. package/skills/neo4j-nvl-skill/SKILL.md +296 -0
  94. package/skills/neo4j-nvl-skill/references/api/base/classes/NVL.md +977 -0
  95. package/skills/neo4j-nvl-skill/references/api/base/functions/getZoomTargetForNodePositions.md +37 -0
  96. package/skills/neo4j-nvl-skill/references/api/base/index.md +71 -0
  97. package/skills/neo4j-nvl-skill/references/api/base/interfaces/CircularOptions.md +11 -0
  98. package/skills/neo4j-nvl-skill/references/api/base/interfaces/ClusteringOptions.md +14 -0
  99. package/skills/neo4j-nvl-skill/references/api/base/interfaces/ExternalCallbacks.md +18 -0
  100. package/skills/neo4j-nvl-skill/references/api/base/interfaces/ForceDirectedOptions.md +12 -0
  101. package/skills/neo4j-nvl-skill/references/api/base/interfaces/HierarchicalOptions.md +13 -0
  102. package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetCluster.md +13 -0
  103. package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetNode.md +16 -0
  104. package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetRelationship.md +15 -0
  105. package/skills/neo4j-nvl-skill/references/api/base/interfaces/Node.md +32 -0
  106. package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlMouseEvent.md +16 -0
  107. package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlOptions.md +38 -0
  108. package/skills/neo4j-nvl-skill/references/api/base/interfaces/Point.md +12 -0
  109. package/skills/neo4j-nvl-skill/references/api/base/interfaces/Relationship.md +32 -0
  110. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/CanvasRendererType.md +14 -0
  111. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Cluster.md +20 -0
  112. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterByFn.md +20 -0
  113. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterId.md +10 -0
  114. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTargets.md +22 -0
  115. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTestTarget.md +7 -0
  116. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Layout.md +15 -0
  117. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/LayoutOptions.md +12 -0
  118. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/NodeWithClientPosition.md +18 -0
  119. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialNode.md +17 -0
  120. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialRelationship.md +17 -0
  121. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Renderer.md +9 -0
  122. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/StyledCaption.md +21 -0
  123. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/WebGLRendererType.md +14 -0
  124. package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ZoomOptions.md +25 -0
  125. package/skills/neo4j-nvl-skill/references/api/base/variables/CircularLayoutType.md +11 -0
  126. package/skills/neo4j-nvl-skill/references/api/base/variables/ForceDirectedLayoutType.md +9 -0
  127. package/skills/neo4j-nvl-skill/references/api/base/variables/FreeLayoutType.md +9 -0
  128. package/skills/neo4j-nvl-skill/references/api/base/variables/GridLayoutType.md +9 -0
  129. package/skills/neo4j-nvl-skill/references/api/base/variables/HierarchicalLayoutType.md +9 -0
  130. package/skills/neo4j-nvl-skill/references/api/base/variables/d3ForceLayoutType.md +9 -0
  131. package/skills/neo4j-nvl-skill/references/api/base/variables/nvlResultTransformer.md +38 -0
  132. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/BoxSelectInteraction.md +163 -0
  133. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ClickInteraction.md +163 -0
  134. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/DragNodeInteraction.md +164 -0
  135. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/HoverInteraction.md +160 -0
  136. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/KeyboardInteraction.md +185 -0
  137. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/LassoInteraction.md +163 -0
  138. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/PanInteraction.md +196 -0
  139. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ZoomInteraction.md +164 -0
  140. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/index.md +37 -0
  141. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionCallbacks.md +19 -0
  142. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionOptions.md +17 -0
  143. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionCallbacks.md +39 -0
  144. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionOptions.md +17 -0
  145. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DragNodeInteractionCallbacks.md +21 -0
  146. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DrawInteractionOptions.md +22 -0
  147. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionCallbacks.md +17 -0
  148. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionOptions.md +17 -0
  149. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionCallbacks.md +35 -0
  150. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionOptions.md +55 -0
  151. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionCallbacks.md +19 -0
  152. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionOptions.md +17 -0
  153. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionCallbacks.md +17 -0
  154. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionOptions.md +19 -0
  155. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionCallbacks.md +17 -0
  156. package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionOptions.md +17 -0
  157. package/skills/neo4j-nvl-skill/references/api/react/functions/StaticPictureWrapper.md +35 -0
  158. package/skills/neo4j-nvl-skill/references/api/react/index.md +34 -0
  159. package/skills/neo4j-nvl-skill/references/api/react/interfaces/BasicReactWrapperProps.md +24 -0
  160. package/skills/neo4j-nvl-skill/references/api/react/interfaces/InteractiveNvlWrapperProps.md +27 -0
  161. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/InteractionOptions.md +10 -0
  162. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEvent.md +7 -0
  163. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEventCallbacks.md +10 -0
  164. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEvent.md +10 -0
  165. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEventCallbacks.md +10 -0
  166. package/skills/neo4j-nvl-skill/references/api/react/type-aliases/StaticPictureWrapperProps.md +27 -0
  167. package/skills/neo4j-nvl-skill/references/api/react/variables/BasicNvlWrapper.md +50 -0
  168. package/skills/neo4j-nvl-skill/references/api/react/variables/InteractiveNvlWrapper.md +17 -0
  169. package/skills/neo4j-nvl-skill/references/clustering.md +87 -0
  170. package/skills/neo4j-nvl-skill/references/data-from-neo4j.md +67 -0
  171. package/skills/neo4j-nvl-skill/references/labels-and-overlays.md +76 -0
  172. package/skills/neo4j-nvl-skill/references/layouts-and-positions.md +65 -0
  173. package/skills/neo4j-nvl-skill/references/lifecycle-and-updates.md +65 -0
  174. package/skills/neo4j-nvl-skill/references/migrating-1x-to-2.md +50 -0
  175. package/skills/neo4j-nvl-skill/references/react-wrappers.md +88 -0
  176. package/skills/neo4j-nvl-skill/references/verifying-nvl-apps.md +52 -0
  177. package/skills/neo4j-nvl-skill/references/vite-and-bundlers.md +62 -0
  178. package/dist/base.mjs.LICENSE.txt +0 -21
  179. package/dist/types/layouts/animatedlayout/AnimatedLayout.test.d.ts +0 -1
  180. package/dist/types/layouts/animatedlayout/animationUtils.test.d.ts +0 -1
  181. package/dist/types/layouts/d3forcelayout/__mocks__/d3ForceLayout.d.ts +0 -10
  182. package/dist/types/layouts/d3forcelayout/circularLayout.test.d.ts +0 -1
  183. package/dist/types/layouts/d3forcelayout/d3ForceLayout.test.d.ts +0 -1
  184. package/dist/types/layouts/forcedirectedlayout/ForceCytoLayout.d.ts +0 -22
  185. package/dist/types/layouts/forcedirectedlayout/cosebilkentlayout/CoseBilkentLayout.d.ts +0 -33
  186. package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.d.ts +0 -174
  187. package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.test.d.ts +0 -1
  188. package/dist/types/layouts/forcedirectedlayout/physlayout/glwrapper.d.ts +0 -4
  189. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-fragment.d.ts +0 -2
  190. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-repulsive-fragment.d.ts +0 -2
  191. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-update-fragment.d.ts +0 -2
  192. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/sim-vertex.d.ts +0 -2
  193. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/workaround-fragment.d.ts +0 -2
  194. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.bench.d.ts +0 -1
  195. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.d.ts +0 -21
  196. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.test.d.ts +0 -1
  197. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.d.ts +0 -2
  198. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.test.d.ts +0 -1
  199. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/types.d.ts +0 -49
  200. package/dist/types/modules/NvlController.test.d.ts +0 -1
  201. package/dist/types/modules/ZoomTransitionHandler.test.d.ts +0 -1
  202. package/dist/types/modules/dataset.test.d.ts +0 -1
  203. package/dist/types/modules/state/state.test.d.ts +0 -1
  204. package/dist/types/modules/state/utils.test.d.ts +0 -1
  205. package/dist/types/renderers/domrenderer/BaseRenderer.test.d.ts +0 -1
  206. package/dist/types/renderers/domrenderer/canvasrenderer/Animation.test.d.ts +0 -1
  207. package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.test.d.ts +0 -1
  208. package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.test.d.ts +0 -1
  209. package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.test.d.ts +0 -1
  210. package/dist/types/renderers/domrenderer/shared/ImageCache.test.d.ts +0 -1
  211. package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.test.d.ts +0 -1
  212. package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.test.d.ts +0 -1
  213. package/dist/types/renderers/domrenderer/shared/arrows/arrows.test.d.ts +0 -1
  214. package/dist/types/renderers/domrenderer/shared/nodes/nodes.test.d.ts +0 -1
  215. package/dist/types/renderers/domrenderer/shared/util.test.d.ts +0 -1
  216. package/dist/types/renderers/domrenderer/shared/wordwrap.test.d.ts +0 -1
  217. package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.test.d.ts +0 -1
  218. package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.test.d.ts +0 -1
  219. package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.test.d.ts +0 -1
  220. package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.test.d.ts +0 -1
  221. package/dist/types/renderers/webglrenderer/Controller.test.d.ts +0 -1
  222. package/dist/types/renderers/webglrenderer/Renderer.test.d.ts +0 -1
  223. package/dist/types/utils/ariaUtils.test.d.ts +0 -1
  224. package/dist/types/utils/canvasManagement.test.d.ts +0 -1
  225. package/dist/types/utils/circularUtils.test.d.ts +0 -1
  226. package/dist/types/utils/colorUtils.test.d.ts +0 -1
  227. package/dist/types/utils/errors.test.d.ts +0 -1
  228. package/dist/types/utils/geometry.test.d.ts +0 -1
  229. package/dist/types/utils/graphObjectUtils.test.d.ts +0 -1
  230. package/dist/types/utils/hittest.d.ts +0 -58
  231. package/dist/types/utils/hittest.test.d.ts +0 -1
  232. package/dist/types/utils/jsDriverResultTransformer.test.d.ts +0 -1
  233. package/dist/types/utils/mouseUtils.test.d.ts +0 -1
  234. package/dist/types/utils/webWorkerUtils.test.d.ts +0 -1
  235. package/dist/types/utils/zoomFunctions.test.d.ts +0 -1
@@ -1,43 +1,43 @@
1
- import type { Node, Relationship } from '../../../../types/graph-element';
2
- import type { WaypointPath } from '../types';
3
- import ArrowBundle from './ArrowBundle';
1
+ import { WaypointPath } from "../types.js";
2
+ import { Node, Relationship } from "../../../../types/graph-element.js";
3
+ import ArrowBundle from "./ArrowBundle.js";
4
4
  export default class ArrowBundler {
5
- bundles: Record<string, ArrowBundle>;
6
- nodeToBundles: Record<string, ArrowBundle[]>;
7
- relToBundleKey: Map<string, string>;
8
- constructor(rels: Relationship[], waypoints: Record<string, WaypointPath>);
9
- /**
10
- * Get the arrow bundle for a given relation
11
- * @param rel - The relationship.
12
- * @returns The arrow bundle.
13
- */
14
- getBundle(rel: Relationship): ArrowBundle;
15
- /**
16
- * Update the data
17
- * @param addedRels - The added relations.
18
- * @param removedRels - The removed relations.
19
- * @param waypoints - The waypoints.
20
- */
21
- updateData(addedRels: Record<string, Relationship>, removedRels: Record<string, Relationship>, updatedRels: Record<string, Relationship>, waypoints: Record<string, WaypointPath>): void;
22
- /**
23
- * Updates the positions of the arrow bundles based on the provided `positionMap`.
24
- * @param positionMap A map of node IDs to positions.
25
- */
26
- updatePositions(positionMap: Record<string, Node>): void;
27
- /**
28
- * Remove a bundle reference from the node→bundles index for one node id.
29
- */
30
- private removeNodeFromMap;
31
- /**
32
- * Remove a relationship from a bundle.
33
- * If the bundle is now empty, remove it from `bundles` and the node index.
34
- */
35
- private removeRelFromBundle;
36
- /**
37
- * Get a unique ID for a pair of IDs
38
- * @param id1 - The first ID.
39
- * @param id2 - The second ID.
40
- * @returns A unique ID for the pair of IDs.
41
- */
42
- private generatePairId;
43
- }
5
+ bundles: Record<string, ArrowBundle>;
6
+ nodeToBundles: Record<string, ArrowBundle[]>;
7
+ relToBundleKey: Map<string, string>;
8
+ constructor(rels: Relationship[], waypoints: Record<string, WaypointPath>);
9
+ /**
10
+ * Get the arrow bundle for a given relation
11
+ * @param rel - The relationship.
12
+ * @returns The arrow bundle.
13
+ */
14
+ getBundle(rel: Relationship): ArrowBundle;
15
+ /**
16
+ * Update the data
17
+ * @param addedRels - The added relations.
18
+ * @param removedRels - The removed relations.
19
+ * @param waypoints - The waypoints.
20
+ */
21
+ updateData(addedRels: Record<string, Relationship>, removedRels: Record<string, Relationship>, updatedRels: Record<string, Relationship>, waypoints: Record<string, WaypointPath>): void;
22
+ /**
23
+ * Updates the positions of the arrow bundles based on the provided `positionMap`.
24
+ * @param positionMap A map of node IDs to positions.
25
+ */
26
+ updatePositions(positionMap: Record<string, Node>): void;
27
+ /**
28
+ * Remove a bundle reference from the node→bundles index for one node id.
29
+ */
30
+ private removeNodeFromMap;
31
+ /**
32
+ * Remove a relationship from a bundle.
33
+ * If the bundle is now empty, remove it from `bundles` and the node index.
34
+ */
35
+ private removeRelFromBundle;
36
+ /**
37
+ * Get a unique ID for a pair of IDs
38
+ * @param id1 - The first ID.
39
+ * @param id2 - The second ID.
40
+ * @returns A unique ID for the pair of IDs.
41
+ */
42
+ private generatePairId;
43
+ }
@@ -1,7 +1,7 @@
1
- import type { BorderStyle } from '../../../../modules/state/types';
2
- import type { Node, Relationship } from '../../../../types/graph-element';
3
- import type { Point } from '../../../../utils/geometry';
4
- import type ArrowBundle from './ArrowBundle';
1
+ import { Point } from "../../../../utils/geometry.js";
2
+ import { Node, Relationship } from "../../../../types/graph-element.js";
3
+ import { BorderStyle } from "../../../../modules/state/types.js";
4
+ import ArrowBundle from "./ArrowBundle.js";
5
5
  /**
6
6
  * This function calculates the difference in radius between two nodes.
7
7
  * @param toArrowGap - The gap between the node and the arrow on the to side.
@@ -19,37 +19,37 @@ export declare const getRadiusDifference: (toArrowGap: number, fromArrowGap: num
19
19
  * @returns Object containing angles and coordinate points for the self-loop
20
20
  */
21
21
  export declare const getSelfArrowControlPoints: (rel: Relationship, node: Node, bundle: ArrowBundle) => {
22
- angle: number;
23
- startAngle: number;
24
- endAngle: number;
25
- startPoint: {
26
- x: number;
27
- y: number;
28
- };
29
- endPoint: {
30
- x: number;
31
- y: number;
32
- };
33
- apexPoint: {
34
- x: number;
35
- y: number;
36
- };
37
- control1Point: {
38
- x: number;
39
- y: number;
40
- };
41
- control2Point: {
42
- x: number;
43
- y: number;
44
- };
45
- nodeGap: number;
22
+ angle: number;
23
+ startAngle: number;
24
+ endAngle: number;
25
+ startPoint: {
26
+ x: number;
27
+ y: number;
28
+ };
29
+ endPoint: {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ apexPoint: {
34
+ x: number;
35
+ y: number;
36
+ };
37
+ control1Point: {
38
+ x: number;
39
+ y: number;
40
+ };
41
+ control2Point: {
42
+ x: number;
43
+ y: number;
44
+ };
45
+ nodeGap: number;
46
46
  };
47
47
  /** Calculates anchor position and readable rotation for a self-referencing relationship label. */
48
48
  export declare const getSelfArrowLabelPosition: (apexPoint: Point, angle: number, endPoint: Point, control2Point: Point, isSelected: boolean, selectionRings: BorderStyle["rings"], relWidth?: number, captionSize?: number) => {
49
- x: number;
50
- y: number;
51
- angle: number;
52
- flip: boolean;
49
+ x: number;
50
+ y: number;
51
+ angle: number;
52
+ flip: boolean;
53
53
  };
54
54
  /**
55
55
  * Calculates the padding for selected relationships based on border style
@@ -71,9 +71,9 @@ export declare const getSelectionPadding: (selectedBorderRings?: BorderStyle["ri
71
71
  * @returns Object containing x, y position and angle for the label
72
72
  */
73
73
  export declare const getRelationshipLabelPosition: (points: Point[], fromNode: Node, toNode: Node, drawCurves: boolean, isSelected: boolean, selectedBorderRings: BorderStyle["rings"], captionAlign?: "top" | "bottom") => {
74
- x: number;
75
- y: number;
76
- angle: number;
74
+ x: number;
75
+ y: number;
76
+ angle: number;
77
77
  };
78
78
  /**
79
79
  * This function calculates the coordinates of the via point
@@ -120,7 +120,7 @@ export declare const getRelationshipWidth: (rel: Relationship, defaultWidth: num
120
120
  * @returns Object with adjusted points and the tail offset applied (for label positioning)
121
121
  */
122
122
  export declare const adjustPointsForGaps: (points: Point[], isSelected: boolean, headHeight: number, headSelectedAdjustment: number, selectedBorderRings: BorderStyle["rings"]) => {
123
- tailOffset: Point | null;
123
+ tailOffset: Point | null;
124
124
  };
125
125
  /**
126
126
  * Calculates arrowhead scaling and dimensions for rendering.
@@ -131,12 +131,12 @@ export declare const adjustPointsForGaps: (points: Point[], isSelected: boolean,
131
131
  * @returns Object containing all calculated arrowhead dimensions and adjustments
132
132
  */
133
133
  export declare const calculateArrowheadScaling: (width: number, isSelected: boolean, selectedBorderRings: BorderStyle["rings"]) => {
134
- headFactor: number;
135
- headHeight: number;
136
- headChinHeight: number;
137
- headWidth: number;
138
- headSelectedAdjustment: number;
139
- headPositionOffset: number;
134
+ headFactor: number;
135
+ headHeight: number;
136
+ headChinHeight: number;
137
+ headWidth: number;
138
+ headSelectedAdjustment: number;
139
+ headPositionOffset: number;
140
140
  };
141
141
  /**
142
142
  * Calculates the dimensions of an arrowhead
@@ -147,10 +147,10 @@ export declare const calculateArrowheadScaling: (width: number, isSelected: bool
147
147
  * @returns Object containing headHeight, headChinHeight, headWidth, and headSelectedAdjustment
148
148
  */
149
149
  export declare const getArrowheadDimensions: (relWidth: number, defaultRelWidth: number, isSelected: boolean, selectedBorderRings: BorderStyle["rings"]) => {
150
- headHeight: number;
151
- headChinHeight: number;
152
- headWidth: number;
153
- headSelectedAdjustment: number;
150
+ headHeight: number;
151
+ headChinHeight: number;
152
+ headWidth: number;
153
+ headSelectedAdjustment: number;
154
154
  };
155
155
  /**
156
156
  * Calculates the size of an overlay icon on a relationship
@@ -166,8 +166,8 @@ export declare const getOverlayIconSize: (iconSizeFactor: number) => number;
166
166
  * @returns Object with widthAlign and heightAlign offsets
167
167
  */
168
168
  export declare const getOverlayIconAlignment: (position: [number, number], width: number, height: number) => {
169
- widthAlign: number;
170
- heightAlign: number;
169
+ widthAlign: number;
170
+ heightAlign: number;
171
171
  };
172
172
  /** Vertical offset for a self-loop caption; `top`/`bottom` mean outside/inside the loop. */
173
- export declare const getSelfLoopHeightAlign: (captionAlign: string, fontSize: number, lineWidth: number, padding: number, flip: 1 | -1) => number;
173
+ export declare const getSelfLoopHeightAlign: (captionAlign: string, fontSize: number, lineWidth: number, padding: number, flip: 1 | -1) => number;
@@ -30,7 +30,7 @@ export declare const SelfRefLabelMaxWidth = 40;
30
30
  export declare const SelectedWidthFactor = 1.5;
31
31
  /** The font styles for relationship captions. */
32
32
  export declare const Font: {
33
- size: number;
34
- color: string;
35
- face: string;
36
- };
33
+ size: number;
34
+ color: string;
35
+ face: string;
36
+ };
@@ -1,7 +1,7 @@
1
- import type { BorderStyles } from '../../../../modules/state/types';
2
- import type { Node } from '../../../../types/graph-element';
3
- import type AnimationHandler from '../../canvasrenderer/AnimationHandler';
4
- import type { TextSegment } from '../types';
1
+ import { TextSegment } from "../types.js";
2
+ import { Node } from "../../../../types/graph-element.js";
3
+ import { BorderStyles } from "../../../../modules/state/types.js";
4
+ import AnimationHandler from "../../canvasrenderer/AnimationHandler.js";
5
5
  /**
6
6
  * Returns the effective node size, which is either the provided size
7
7
  * if it's a positive and finite number, or the default node size otherwise.
@@ -35,8 +35,8 @@ export declare const getNodeIconSize: (mainFaceRadius: number, hasCaption: boole
35
35
  * @returns Object with iconXPos and iconYPos
36
36
  */
37
37
  export declare const getNodeIconPosition: (iconSize: number, hasCaption: boolean, captionAlign: string, iconInfoLevel: number, nodeInfoLevel: number) => {
38
- iconXPos: number;
39
- iconYPos: number;
38
+ iconXPos: number;
39
+ iconYPos: number;
40
40
  };
41
41
  /**
42
42
  * Calculates the size of a node overlay icon
@@ -53,8 +53,8 @@ export declare const getNodeOverlayIconSize: (mainFaceDiameter: number, overlayI
53
53
  * @returns Object with iconXPos and iconYPos
54
54
  */
55
55
  export declare const getNodeOverlayIconPosition: (iconSize: number, mainFaceRadius: number, position: [number, number]) => {
56
- iconXPos: number;
57
- iconYPos: number;
56
+ iconXPos: number;
57
+ iconYPos: number;
58
58
  };
59
59
  /**
60
60
  * Returns the caption font size that should be used
@@ -74,7 +74,7 @@ export declare const infoLevelToFontSize: (infoLevel: number, nodeRadius?: numbe
74
74
  * @returns The radius in pixels
75
75
  */
76
76
  export declare const getNodeRadius: (node: {
77
- size?: number;
77
+ size?: number;
78
78
  }) => number;
79
79
  /**
80
80
  * Prepares node caption data for rendering (works for both Canvas and SVG)
@@ -84,15 +84,15 @@ export declare const getNodeRadius: (node: {
84
84
  * @returns Caption rendering data including lines, styles, positioning, and font info
85
85
  */
86
86
  export declare const prepareNodeCaptionData: (node: Node, zoomLevel: number, ctx?: CanvasRenderingContext2D) => {
87
- lines: TextSegment[];
88
- stylesPerChar: string[][];
89
- fullCaption: string;
90
- fontSize: number;
91
- fontFace: string;
92
- fontColor: string;
93
- yPos: number;
94
- maxNoLines: number;
95
- hasContent: boolean;
87
+ lines: TextSegment[];
88
+ stylesPerChar: string[][];
89
+ fullCaption: string;
90
+ fontSize: number;
91
+ fontFace: string;
92
+ fontColor: string;
93
+ yPos: number;
94
+ maxNoLines: number;
95
+ hasContent: boolean;
96
96
  };
97
97
  /**
98
98
  * Returns an array of styles for the rings of a node.
@@ -105,6 +105,6 @@ export declare const prepareNodeCaptionData: (node: Node, zoomLevel: number, ctx
105
105
  * @returns An array of ring styles with computed widths.
106
106
  */
107
107
  export declare const getRingStyles: (node: Node, nodeBorderStyles: BorderStyles, animationHandler?: AnimationHandler) => {
108
- width: number;
109
- color: string;
110
- }[];
108
+ width: number;
109
+ color: string;
110
+ }[];
@@ -1,49 +1,48 @@
1
- import type { Node, Relationship } from '../../../types/graph-element';
2
- import type { Point } from '../../../utils/geometry';
1
+ import { Point } from "../../../utils/geometry.js";
2
+ import { Node, Relationship } from "../../../types/graph-element.js";
3
3
  export type TextSegment = {
4
- hasEllipsisChar?: boolean;
5
- hasHyphenChar?: boolean;
6
- text: string;
7
- overflowed?: boolean;
4
+ hasEllipsisChar?: boolean;
5
+ hasHyphenChar?: boolean;
6
+ text: string;
7
+ overflowed?: boolean;
8
8
  };
9
9
  /**
10
10
  * The caption text and its text style.
11
11
  */
12
12
  export type StyledCaption = {
13
- /**
14
- * The font styles as an array of style keywords.
15
- * @example `['bold', 'italic']`
16
- */
17
- styles?: string[];
18
- /** The text value for the caption. */
19
- value?: string;
20
- /** The identifier key for the caption. */
21
- key?: string;
13
+ /**
14
+ * The font styles as an array of style keywords, e.g. `['bold', 'italic']`.
15
+ */
16
+ styles?: string[];
17
+ /** The text value for the caption. */
18
+ value?: string;
19
+ /** The identifier key for the caption. */
20
+ key?: string;
22
21
  };
23
22
  export type StyledCaptionWithChars = StyledCaption & {
24
- chars?: string[][];
23
+ chars?: string[][];
25
24
  };
26
25
  export type CacheItem = {
27
- image?: CacheInfo;
28
- inverted?: CacheInfo;
26
+ image?: CacheInfo;
27
+ inverted?: CacheInfo;
29
28
  };
30
29
  export type CacheInfo = {
31
- canvas: HTMLCanvasElement;
32
- image: HTMLImageElement;
33
- drawn: boolean;
30
+ canvas: HTMLCanvasElement;
31
+ image: HTMLImageElement;
32
+ drawn: boolean;
34
33
  };
35
34
  export type Cache = Record<string, CacheItem>;
36
35
  export interface RelationshipToRender extends Relationship {
37
- fromNode: Node;
38
- toNode: Node;
39
- showLabel: boolean;
36
+ fromNode: Node;
37
+ toNode: Node;
38
+ showLabel: boolean;
40
39
  }
41
40
  export interface WaypointPath {
42
- points: Point[];
43
- from: Point;
44
- to: Point;
41
+ points: Point[];
42
+ from: Point;
43
+ to: Point;
45
44
  }
46
45
  export interface ArrowBundleGap {
47
- size: number;
48
- start: number;
49
- }
46
+ size: number;
47
+ start: number;
48
+ }
@@ -5,12 +5,12 @@ export declare const fontThresholds: [number, number][];
5
5
  */
6
6
  export declare const overrideOpacity: (color: string, opacity: number) => string;
7
7
  export declare const getIndividualInfoLevels: (r: number, zoomLevel: number) => {
8
- nodeInfoLevel: number;
9
- fontInfoLevel: number;
10
- iconInfoLevel: number;
8
+ nodeInfoLevel: number;
9
+ fontInfoLevel: number;
10
+ iconInfoLevel: number;
11
11
  };
12
12
  /**
13
13
  * On-screen size for a node icon drawn at `iconDrawSize` in graph space
14
14
  * under a uniform `scale(zoom)` viewport transform.
15
15
  */
16
- export declare const getNodeIconScreenPx: (iconDrawSize: number, zoom: number) => number;
16
+ export declare const getNodeIconScreenPx: (iconDrawSize: number, zoom: number) => number;
@@ -1,21 +1,21 @@
1
- import type { Point } from '../../../utils/geometry';
1
+ import { Point } from "../../../utils/geometry.js";
2
2
  export declare const add: (v1: Point, v2: Point) => {
3
- x: number;
4
- y: number;
3
+ x: number;
4
+ y: number;
5
5
  };
6
6
  export declare const sub: (v1: Point, v2: Point) => {
7
- x: number;
8
- y: number;
7
+ x: number;
8
+ y: number;
9
9
  };
10
10
  export declare const scale: (v: Point, s: number) => {
11
- x: number;
12
- y: number;
11
+ x: number;
12
+ y: number;
13
13
  };
14
14
  export declare const dot: (v1: Point, v2: Point) => number;
15
15
  export declare const getModule: (v1: Point) => number;
16
16
  export declare const distance: (v1: Point, v2: Point) => number;
17
17
  export declare const angle: (v1: Point, v2: Point) => number;
18
18
  export declare const coordFromPolar: (polarAngle: number, polarModule: number) => {
19
- x: number;
20
- y: number;
21
- };
19
+ x: number;
20
+ y: number;
21
+ };
@@ -1,6 +1,6 @@
1
- import type { StyledCaption, TextSegment } from './types';
2
- export declare const hyphenChar = "\u2010";
3
- export declare const ellipsisChar = "\u2026";
1
+ import { StyledCaption, TextSegment } from "./types.js";
2
+ export declare const hyphenChar = "‐";
3
+ export declare const ellipsisChar = "…";
4
4
  /**
5
5
  * Calculates the maximum width for a relationship caption based on the distance
6
6
  * between the two center waypoints. Uses Euclidean distance.
@@ -8,8 +8,8 @@ export declare const ellipsisChar = "\u2026";
8
8
  * @returns The maximum width for the caption
9
9
  */
10
10
  export declare const getRelationshipCaptionMaxWidth: (points: {
11
- x: number;
12
- y: number;
11
+ x: number;
12
+ y: number;
13
13
  }[]) => number;
14
14
  /**
15
15
  * This is the main function that tries to fit a text on one or more lines
@@ -49,8 +49,8 @@ export declare const getLines: (ctx: CanvasRenderingContext2D, text: string, fon
49
49
  * @returns An array of objects, each containing a text span and its associated style string.
50
50
  */
51
51
  export declare const getGroupedTextSpans: (lineText: string, stylesPerChar: string[][], startCharIndex: number) => {
52
- text: string;
53
- style: string;
52
+ text: string;
53
+ style: string;
54
54
  }[];
55
55
  /**
56
56
  * Returns the styles by char for a group of property values.
@@ -58,6 +58,6 @@ export declare const getGroupedTextSpans: (lineText: string, stylesPerChar: stri
58
58
  * @return array of list of styles by char
59
59
  */
60
60
  export declare const getStylesByChar: (captions?: StyledCaption[]) => {
61
- stylesPerChar: string[][];
62
- fullCaption: string;
63
- };
61
+ stylesPerChar: string[][];
62
+ fullCaption: string;
63
+ };
@@ -1,20 +1,19 @@
1
- import type { NvlState } from '../../../modules/state/types';
2
- import type { Node } from '../../../types/graph-element';
3
- import type { RendererOptions } from '../BaseRenderer';
4
- import BaseRenderer from '../BaseRenderer';
1
+ import { Node } from "../../../types/graph-element.js";
2
+ import { NvlState } from "../../../modules/state/types.js";
3
+ import BaseRenderer, { RendererOptions } from "../BaseRenderer.js";
5
4
  export default class SvgRenderer extends BaseRenderer {
6
- private svg;
7
- private measurementContext;
8
- constructor(svg: SVGSVGElement, state: NvlState, options?: RendererOptions);
9
- clear(): void;
10
- render(positionArray: Node[], positionBoundaries?: {
11
- centerX: number;
12
- centerY: number;
13
- nodesWidth: number;
14
- nodesHeight: number;
15
- }, options?: {
16
- svg?: SVGSVGElement;
17
- backgroundColor?: string;
18
- showCaptions?: boolean;
19
- }): void;
20
- }
5
+ private svg;
6
+ private measurementContext;
7
+ constructor(svg: SVGSVGElement, state: NvlState, options?: RendererOptions);
8
+ clear(): void;
9
+ render(positionArray: Node[], positionBoundaries?: {
10
+ centerX: number;
11
+ centerY: number;
12
+ nodesWidth: number;
13
+ nodesHeight: number;
14
+ }, options?: {
15
+ svg?: SVGSVGElement;
16
+ backgroundColor?: string;
17
+ showCaptions?: boolean;
18
+ }): void;
19
+ }
@@ -1,8 +1,8 @@
1
- import type { BorderStyles, DisabledItemStyles } from '../../../modules/state/types';
2
- import type { Point } from '../../../utils/geometry';
3
- import type ImageCache from '../shared/ImageCache';
4
- import type ArrowBundler from '../shared/arrows/ArrowBundler';
5
- import type { RelationshipToRender } from '../shared/types';
1
+ import { Point } from "../../../utils/geometry.js";
2
+ import { RelationshipToRender } from "../shared/types.js";
3
+ import { BorderStyles, DisabledItemStyles } from "../../../modules/state/types.js";
4
+ import ImageCache from "../shared/ImageCache.js";
5
+ import ArrowBundler from "../shared/arrows/ArrowBundler.js";
6
6
  /**
7
7
  * Builds an SVG path string for a self-referencing loop using quadratic curves
8
8
  */
@@ -19,26 +19,26 @@ export declare const pointsToPolylineString: (points: Point[]) => string;
19
19
  * Creates an SVG arrowhead polygon element with selection rings
20
20
  */
21
21
  export declare const createArrowHeadWithRings: (arrowHead: {
22
- tip: Point;
23
- base1: Point;
24
- base2: Point;
22
+ tip: Point;
23
+ base1: Point;
24
+ base2: Point;
25
25
  }, fillColor: string, rings: {
26
- color: string;
27
- width: number;
26
+ color: string;
27
+ width: number;
28
28
  }[]) => SVGPolygonElement[];
29
29
  /**
30
30
  * Creates an SVG path element with selection rings
31
31
  */
32
32
  export declare const createPathWithRings: (pathData: string, strokeColor: string, strokeWidth: number, rings: {
33
- color: string;
34
- width: number;
33
+ color: string;
34
+ width: number;
35
35
  }[]) => SVGPathElement[];
36
36
  /**
37
37
  * Creates an SVG polyline element with selection rings
38
38
  */
39
39
  export declare const createPolylineWithRings: (points: string, strokeColor: string, strokeWidth: number, rings: {
40
- color: string;
41
- width: number;
40
+ color: string;
41
+ width: number;
42
42
  }[]) => SVGPolylineElement[];
43
43
  /**
44
44
  * Calculates the proper angle for relationship labels to prevent upside-down text (SVG-specific)
@@ -56,4 +56,4 @@ export declare const getCorrectLabelAngle: (angle: number) => number;
56
56
  * @param relationshipBorderStyles - Border/ring styles for relationships
57
57
  * @param measurementContext - Canvas 2D context for text measurement
58
58
  */
59
- export declare const renderSvgRelationships: (relationshipsToRender: RelationshipToRender[], svg: SVGElement, drawCurves: boolean, arrowBundler: ArrowBundler, disabledItemStyles: DisabledItemStyles, defaultRelationshipColor: string, relationshipBorderStyles: BorderStyles, measurementContext: CanvasRenderingContext2D, imageCache: ImageCache) => void;
59
+ export declare const renderSvgRelationships: (relationshipsToRender: RelationshipToRender[], svg: SVGElement, drawCurves: boolean, arrowBundler: ArrowBundler, disabledItemStyles: DisabledItemStyles, defaultRelationshipColor: string, relationshipBorderStyles: BorderStyles, measurementContext: CanvasRenderingContext2D, imageCache: ImageCache) => void;
@@ -1,6 +1,6 @@
1
- import type { BorderStyles, DisabledItemStyles } from '../../../modules/state/types';
2
- import type { Node } from '../../../types/graph-element';
3
- import type ImageCache from '../shared/ImageCache';
1
+ import { Node } from "../../../types/graph-element.js";
2
+ import { BorderStyles, DisabledItemStyles } from "../../../modules/state/types.js";
3
+ import ImageCache from "../shared/ImageCache.js";
4
4
  /**
5
5
  * Renders an array of nodes to an SVG element.
6
6
  *
@@ -13,4 +13,4 @@ import type ImageCache from '../shared/ImageCache';
13
13
  * @param nodeBorderStyles - Border/ring styles for nodes
14
14
  * @param imageCache - Image cache for node icons
15
15
  */
16
- export declare const renderSvgNodes: (nodesToRender: Node[], svg: SVGElement, zoom: number, idToItem: Record<string, Node>, disabledItemStyles: DisabledItemStyles, defaultNodeColor: string, nodeBorderStyles: BorderStyles, imageCache: ImageCache) => void;
16
+ export declare const renderSvgNodes: (nodesToRender: Node[], svg: SVGElement, zoom: number, idToItem: Record<string, Node>, disabledItemStyles: DisabledItemStyles, defaultNodeColor: string, nodeBorderStyles: BorderStyles, imageCache: ImageCache) => void;