@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.
- package/CHANGELOG.md +54 -1
- package/README.md +8 -0
- package/dist/base.mjs +35891 -2
- package/dist/types/index.d.ts +382 -386
- package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +23 -23
- package/dist/types/layouts/animatedlayout/animationUtils.d.ts +3 -3
- package/dist/types/layouts/circularLayout/CircularLayout.d.ts +14 -14
- package/dist/types/layouts/d3forcelayout/circularLayout.d.ts +4 -4
- package/dist/types/layouts/d3forcelayout/constants.d.ts +3 -4
- package/dist/types/layouts/d3forcelayout/d3ForceLayout.d.ts +31 -31
- package/dist/types/layouts/d3forcelayout/types.d.ts +7 -7
- package/dist/types/layouts/forcedirectedlayout/PhysLayout.d.ts +275 -0
- package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.d.ts +62 -0
- package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.d.ts +56 -0
- package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.d.ts +143 -0
- package/dist/types/layouts/forcedirectedlayout/clustering/types.d.ts +59 -0
- package/dist/types/layouts/forcedirectedlayout/glwrapper.d.ts +4 -0
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-fragment.d.ts +2 -0
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-repulsive-fragment.d.ts +2 -0
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-update-fragment.d.ts +2 -0
- package/dist/types/layouts/forcedirectedlayout/shaders/sim-vertex.d.ts +2 -0
- package/dist/types/layouts/freeLayout/FreeLayout.d.ts +23 -25
- package/dist/types/layouts/gridLayout/GridLayout.d.ts +26 -30
- package/dist/types/layouts/hierarchicallayout/HierarchicalLayout.d.ts +28 -23
- package/dist/types/layouts/hierarchicallayout/constants.d.ts +2 -2
- package/dist/types/modules/CallbackHelper.d.ts +23 -23
- package/dist/types/modules/ExternalCallbackHandler.d.ts +33 -39
- package/dist/types/modules/NvlController.d.ts +212 -129
- package/dist/types/modules/Shader.d.ts +17 -17
- package/dist/types/modules/ZoomTransitionHandler.d.ts +24 -24
- package/dist/types/modules/dataset.d.ts +26 -24
- package/dist/types/modules/logging.d.ts +4 -4
- package/dist/types/modules/state/constants.d.ts +2 -2
- package/dist/types/modules/state/state.d.ts +2 -2
- package/dist/types/modules/state/types.d.ts +338 -228
- package/dist/types/modules/state/utils.d.ts +36 -36
- package/dist/types/renderers/ClusterOverlay.d.ts +73 -0
- package/dist/types/renderers/domrenderer/BaseRenderer.d.ts +69 -69
- package/dist/types/renderers/domrenderer/canvasrenderer/Animation.d.ts +57 -57
- package/dist/types/renderers/domrenderer/canvasrenderer/AnimationHandler.d.ts +65 -65
- package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.d.ts +84 -85
- package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.d.ts +31 -31
- package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.d.ts +32 -32
- package/dist/types/renderers/domrenderer/shared/ImageCache.d.ts +16 -15
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.d.ts +89 -89
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.d.ts +42 -42
- package/dist/types/renderers/domrenderer/shared/arrows/arrows.d.ts +49 -49
- package/dist/types/renderers/domrenderer/shared/arrows/constants.d.ts +4 -4
- package/dist/types/renderers/domrenderer/shared/nodes/nodes.d.ts +21 -21
- package/dist/types/renderers/domrenderer/shared/types.d.ts +29 -30
- package/dist/types/renderers/domrenderer/shared/util.d.ts +4 -4
- package/dist/types/renderers/domrenderer/shared/vectorUtils.d.ts +10 -10
- package/dist/types/renderers/domrenderer/shared/wordwrap.d.ts +10 -10
- package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.d.ts +18 -19
- package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.d.ts +15 -15
- package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.d.ts +4 -4
- package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.d.ts +21 -21
- package/dist/types/renderers/webglrenderer/Controller.d.ts +83 -61
- package/dist/types/renderers/webglrenderer/IconLayerRegistry.d.ts +14 -0
- package/dist/types/renderers/webglrenderer/Renderer.d.ts +91 -51
- package/dist/types/renderers/webglrenderer/node-animation-fragment.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/node-animation-vertex.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/node-fragment-point.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/node-vertex-point.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/rel-fragment-line.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/rel-glsl-utils.d.ts +1 -0
- package/dist/types/renderers/webglrenderer/rel-vertex-arrow.d.ts +2 -0
- package/dist/types/renderers/webglrenderer/rel-vertex-line.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/viewport-box-fragment.d.ts +2 -2
- package/dist/types/renderers/webglrenderer/viewport-box-vertex.d.ts +2 -2
- package/dist/types/types/graph-element.d.ts +109 -101
- package/dist/types/types/nvl-window-functions.d.ts +12 -13
- package/dist/types/types/utils.d.ts +1 -1
- package/dist/types/utils/ariaUtils.d.ts +2 -2
- package/dist/types/utils/canvasManagement.d.ts +8 -2
- package/dist/types/utils/circularUtils.d.ts +2 -2
- package/dist/types/utils/clusterGeometry.d.ts +14 -0
- package/dist/types/utils/clusterHitRegions.d.ts +42 -0
- package/dist/types/utils/colorUtils.d.ts +2 -2
- package/dist/types/utils/constants.d.ts +12 -6
- package/dist/types/utils/errors.d.ts +6 -6
- package/dist/types/utils/geometry.d.ts +91 -48
- package/dist/types/utils/graphObjectUtils.d.ts +9 -9
- package/dist/types/utils/hitTest.d.ts +84 -0
- package/dist/types/utils/jsDriverResultTransformer.d.ts +27 -25
- package/dist/types/utils/layoutSeeding.d.ts +7 -0
- package/dist/types/utils/mouseUtils.d.ts +5 -5
- package/dist/types/utils/segmentAnalytics.d.ts +42 -42
- package/dist/types/utils/webWorkerUtils.d.ts +2 -2
- package/dist/types/utils/zoomFunctions.d.ts +24 -16
- package/package.json +15 -15
- package/skills/neo4j-nvl-skill/README.md +39 -0
- package/skills/neo4j-nvl-skill/SKILL.md +296 -0
- package/skills/neo4j-nvl-skill/references/api/base/classes/NVL.md +977 -0
- package/skills/neo4j-nvl-skill/references/api/base/functions/getZoomTargetForNodePositions.md +37 -0
- package/skills/neo4j-nvl-skill/references/api/base/index.md +71 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/CircularOptions.md +11 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ClusteringOptions.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ExternalCallbacks.md +18 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ForceDirectedOptions.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HierarchicalOptions.md +13 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetCluster.md +13 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetNode.md +16 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetRelationship.md +15 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Node.md +32 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlMouseEvent.md +16 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlOptions.md +38 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Point.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Relationship.md +32 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/CanvasRendererType.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Cluster.md +20 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterByFn.md +20 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterId.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTargets.md +22 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTestTarget.md +7 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Layout.md +15 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/LayoutOptions.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/NodeWithClientPosition.md +18 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialNode.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialRelationship.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Renderer.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/StyledCaption.md +21 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/WebGLRendererType.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ZoomOptions.md +25 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/CircularLayoutType.md +11 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/ForceDirectedLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/FreeLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/GridLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/HierarchicalLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/d3ForceLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/nvlResultTransformer.md +38 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/BoxSelectInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ClickInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/DragNodeInteraction.md +164 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/HoverInteraction.md +160 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/KeyboardInteraction.md +185 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/LassoInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/PanInteraction.md +196 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ZoomInteraction.md +164 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/index.md +37 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionCallbacks.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionCallbacks.md +39 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DragNodeInteractionCallbacks.md +21 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DrawInteractionOptions.md +22 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionCallbacks.md +35 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionOptions.md +55 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionCallbacks.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionOptions.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/react/functions/StaticPictureWrapper.md +35 -0
- package/skills/neo4j-nvl-skill/references/api/react/index.md +34 -0
- package/skills/neo4j-nvl-skill/references/api/react/interfaces/BasicReactWrapperProps.md +24 -0
- package/skills/neo4j-nvl-skill/references/api/react/interfaces/InteractiveNvlWrapperProps.md +27 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/InteractionOptions.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEvent.md +7 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEventCallbacks.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEvent.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEventCallbacks.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/StaticPictureWrapperProps.md +27 -0
- package/skills/neo4j-nvl-skill/references/api/react/variables/BasicNvlWrapper.md +50 -0
- package/skills/neo4j-nvl-skill/references/api/react/variables/InteractiveNvlWrapper.md +17 -0
- package/skills/neo4j-nvl-skill/references/clustering.md +87 -0
- package/skills/neo4j-nvl-skill/references/data-from-neo4j.md +67 -0
- package/skills/neo4j-nvl-skill/references/labels-and-overlays.md +76 -0
- package/skills/neo4j-nvl-skill/references/layouts-and-positions.md +65 -0
- package/skills/neo4j-nvl-skill/references/lifecycle-and-updates.md +65 -0
- package/skills/neo4j-nvl-skill/references/migrating-1x-to-2.md +50 -0
- package/skills/neo4j-nvl-skill/references/react-wrappers.md +88 -0
- package/skills/neo4j-nvl-skill/references/verifying-nvl-apps.md +52 -0
- package/skills/neo4j-nvl-skill/references/vite-and-bundlers.md +62 -0
- package/dist/base.mjs.LICENSE.txt +0 -21
- package/dist/types/layouts/animatedlayout/AnimatedLayout.test.d.ts +0 -1
- package/dist/types/layouts/animatedlayout/animationUtils.test.d.ts +0 -1
- package/dist/types/layouts/d3forcelayout/__mocks__/d3ForceLayout.d.ts +0 -10
- package/dist/types/layouts/d3forcelayout/circularLayout.test.d.ts +0 -1
- package/dist/types/layouts/d3forcelayout/d3ForceLayout.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/ForceCytoLayout.d.ts +0 -22
- package/dist/types/layouts/forcedirectedlayout/cosebilkentlayout/CoseBilkentLayout.d.ts +0 -33
- package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.d.ts +0 -174
- package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/physlayout/glwrapper.d.ts +0 -4
- package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-fragment.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-repulsive-fragment.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-update-fragment.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/sim-vertex.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/workaround-fragment.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.bench.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.d.ts +0 -21
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.d.ts +0 -2
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/types.d.ts +0 -49
- package/dist/types/modules/NvlController.test.d.ts +0 -1
- package/dist/types/modules/ZoomTransitionHandler.test.d.ts +0 -1
- package/dist/types/modules/dataset.test.d.ts +0 -1
- package/dist/types/modules/state/state.test.d.ts +0 -1
- package/dist/types/modules/state/utils.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/BaseRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/Animation.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/ImageCache.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/arrows.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/nodes/nodes.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/util.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/wordwrap.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.test.d.ts +0 -1
- package/dist/types/renderers/webglrenderer/Controller.test.d.ts +0 -1
- package/dist/types/renderers/webglrenderer/Renderer.test.d.ts +0 -1
- package/dist/types/utils/ariaUtils.test.d.ts +0 -1
- package/dist/types/utils/canvasManagement.test.d.ts +0 -1
- package/dist/types/utils/circularUtils.test.d.ts +0 -1
- package/dist/types/utils/colorUtils.test.d.ts +0 -1
- package/dist/types/utils/errors.test.d.ts +0 -1
- package/dist/types/utils/geometry.test.d.ts +0 -1
- package/dist/types/utils/graphObjectUtils.test.d.ts +0 -1
- package/dist/types/utils/hittest.d.ts +0 -58
- package/dist/types/utils/hittest.test.d.ts +0 -1
- package/dist/types/utils/jsDriverResultTransformer.test.d.ts +0 -1
- package/dist/types/utils/mouseUtils.test.d.ts +0 -1
- package/dist/types/utils/webWorkerUtils.test.d.ts +0 -1
- package/dist/types/utils/zoomFunctions.test.d.ts +0 -1
|
@@ -1,80 +1,159 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { WaypointPath } from "../../renderers/domrenderer/shared/types.js";
|
|
2
|
+
import { Node } from "../../types/graph-element.js";
|
|
3
|
+
import { ExternalCallbacks } from "../ExternalCallbackHandler.js";
|
|
4
|
+
import { NodeDataSet, RelationshipDataSet } from "../dataset.js";
|
|
5
|
+
import { LogLevelDesc } from "loglevel";
|
|
6
6
|
type RingStyle = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
width?: number;
|
|
8
|
+
widthFactor?: number;
|
|
9
|
+
color: string;
|
|
10
10
|
};
|
|
11
11
|
export type ShadowStyle = {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
width: number;
|
|
13
|
+
opacity: number;
|
|
14
|
+
color: string;
|
|
15
15
|
};
|
|
16
16
|
export type BorderStyle = {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
rings?: RingStyle[];
|
|
18
|
+
shadow?: ShadowStyle;
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
21
21
|
* @internal
|
|
22
22
|
* @hidden
|
|
23
23
|
*/
|
|
24
24
|
export type BorderStyles = {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
selected: BorderStyle;
|
|
26
|
+
default: BorderStyle;
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
29
|
* @internal
|
|
30
30
|
* @hidden
|
|
31
31
|
*/
|
|
32
32
|
export type DisabledItemStyles = {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
color: string;
|
|
34
|
+
fontColor: string;
|
|
35
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Identifier returned by {@link ClusterByFn} to group nodes into physical clusters.
|
|
38
|
+
* Nodes sharing the same string or number are clustered together.
|
|
39
|
+
*/
|
|
40
|
+
export type ClusterId = string | number;
|
|
41
|
+
/**
|
|
42
|
+
* A physical cluster produced by {@link ClusteringOptions.clusterBy}.
|
|
43
|
+
* Not a graph element — used for hit-testing and interaction callbacks.
|
|
44
|
+
*/
|
|
45
|
+
export type Cluster = {
|
|
46
|
+
/** Semantic cluster id returned by {@link ClusterByFn}. */
|
|
47
|
+
id: ClusterId;
|
|
48
|
+
/** Real member node ids belonging to this cluster (at least two). */
|
|
49
|
+
nodeIds: string[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Function that maps a node id to a {@link ClusterId} for force-directed clustering.
|
|
53
|
+
* Returns `undefined` for nodes that should remain independent.
|
|
54
|
+
*/
|
|
55
|
+
export type ClusterByFn = (nodeId: string) => ClusterId | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Options that control physical clustering and cluster decorations for the force-directed layout.
|
|
58
|
+
*/
|
|
59
|
+
export interface ClusteringOptions {
|
|
60
|
+
/**
|
|
61
|
+
* Optional function to group nodes into physical clusters based on a custom identifier.
|
|
62
|
+
* Nodes returning the same string or number will be grouped together in the layout.
|
|
63
|
+
* Nodes returning undefined will be treated as independent.
|
|
64
|
+
*
|
|
65
|
+
* @remarks Ensure this function has a stable reference to avoid evaluation on every render.
|
|
66
|
+
*/
|
|
67
|
+
clusterBy?: ClusterByFn;
|
|
68
|
+
/**
|
|
69
|
+
* Draws a convex-hull outline around each cluster.
|
|
70
|
+
*
|
|
71
|
+
* @remarks Outline color is the same as the nodes in the cluster.
|
|
72
|
+
* If the nodes in the cluster have different colors, the outline uses
|
|
73
|
+
* `NvlOptions.styling.overlayLineColor`.
|
|
74
|
+
* @defaultValue false
|
|
75
|
+
*/
|
|
76
|
+
drawOutline?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Fills a soft glowing halo around each cluster.
|
|
79
|
+
*
|
|
80
|
+
* @remarks Halo color is the same as the nodes in the cluster.
|
|
81
|
+
* If the nodes in the cluster have different colors, the halo won't be shown.
|
|
82
|
+
* @defaultValue false
|
|
83
|
+
*/
|
|
84
|
+
drawHalo?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Spring force multiplier for relationships that cross a {@link ClusteringOptions.clusterBy}
|
|
87
|
+
* cluster boundary.
|
|
88
|
+
* Capped between `0` and `1`.
|
|
89
|
+
* `0` disables cross-cluster spring pull. `1` is full strength. Intra-cluster edges are always
|
|
90
|
+
* full strength. Only applies when {@link ClusteringOptions.clusterBy} is set.
|
|
91
|
+
* @defaultValue 0
|
|
92
|
+
* @experimental
|
|
93
|
+
* @remarks Can cause unstable layouts when set to close to `1` in highly connected graphs.
|
|
94
|
+
*/
|
|
95
|
+
crossClusterRelationshipMultiplier?: number;
|
|
96
|
+
}
|
|
36
97
|
/**
|
|
37
98
|
* The options for the force directed layout
|
|
38
99
|
*/
|
|
39
100
|
export interface ForceDirectedOptions {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*/
|
|
50
|
-
intelWorkaround?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* @deprecated This option will be removed in a future release. For small datasets, use the d3Force layout instead.
|
|
53
|
-
* Whether to enable automatic switching to CoseBilkent layout for small graphs.
|
|
54
|
-
* When enabled, small graphs will automatically use the CoseBilkent layout algorithm
|
|
55
|
-
* which can provide better initial positioning for smaller datasets.
|
|
56
|
-
* @defaultValue true
|
|
57
|
-
*/
|
|
58
|
-
enableCytoscape?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* How initial node positions are seeded before the physics simulation runs.
|
|
103
|
+
* @defaultValue 'box'
|
|
104
|
+
*/
|
|
105
|
+
seedingMethod?: 'box' | 'circle';
|
|
106
|
+
/**
|
|
107
|
+
* Physical clustering and cluster decoration options.
|
|
108
|
+
*/
|
|
109
|
+
clustering?: ClusteringOptions;
|
|
59
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Returns the clustering options from force-directed layout options, if present.
|
|
113
|
+
* @param layoutOptions - The layout options to read from.
|
|
114
|
+
* @returns The clustering options, or undefined when absent / not force-directed.
|
|
115
|
+
*/
|
|
116
|
+
export declare const getClusteringOptions: (layoutOptions?: LayoutOptions) => ClusteringOptions | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Whether {@link ClusteringOptions.drawOutline} is enabled on the given layout options.
|
|
119
|
+
* @param layoutOptions - The layout options to check.
|
|
120
|
+
* @returns Whether {@link ClusteringOptions.drawOutline} is enabled on the given layout options.
|
|
121
|
+
*/
|
|
122
|
+
export declare const isDrawClusterOutlineEnabled: (layoutOptions?: LayoutOptions) => boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Whether {@link ClusteringOptions.drawHalo} is enabled on the given layout options.
|
|
125
|
+
* @param layoutOptions - The layout options to check.
|
|
126
|
+
* @returns Whether {@link ClusteringOptions.drawHalo} is enabled on the given layout options.
|
|
127
|
+
*/
|
|
128
|
+
export declare const isDrawClusterHaloEnabled: (layoutOptions?: LayoutOptions) => boolean;
|
|
60
129
|
/**
|
|
61
130
|
* The options for the hierarchical layout
|
|
62
131
|
*/
|
|
63
132
|
export interface HierarchicalOptions {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
133
|
+
/** The direction in which the layout should be oriented */
|
|
134
|
+
direction?: 'up' | 'down' | 'left' | 'right';
|
|
135
|
+
/** The packing method to be used */
|
|
136
|
+
packing?: 'bin' | 'stack';
|
|
137
|
+
/**
|
|
138
|
+
* Optional function to group nodes into semantic clusters based on a custom identifier.
|
|
139
|
+
* Nodes returning the same string or number will be grouped together in the layout via
|
|
140
|
+
* dagre compound subgraphs. Nodes returning undefined will be treated as independent.
|
|
141
|
+
*
|
|
142
|
+
* @remarks Ensure this function has a stable reference to avoid evaluation on every render.
|
|
143
|
+
*
|
|
144
|
+
* @experimental
|
|
145
|
+
*/
|
|
146
|
+
clusterBy?: ClusterByFn;
|
|
68
147
|
}
|
|
69
148
|
export declare const isHierarchicalLayoutOptions: (options: LayoutOptions) => options is HierarchicalOptions;
|
|
70
149
|
/**
|
|
71
150
|
* The options for the circular layout.
|
|
72
151
|
*/
|
|
73
152
|
export interface CircularOptions {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Function which should return the sorted nodes.
|
|
155
|
+
*/
|
|
156
|
+
sortFunction?: (nodes: Node[]) => Node[];
|
|
78
157
|
}
|
|
79
158
|
/**
|
|
80
159
|
* NVL's main force directed layout.
|
|
@@ -102,11 +181,11 @@ export declare const d3ForceLayoutType = "d3Force";
|
|
|
102
181
|
*/
|
|
103
182
|
export declare const CircularLayoutType = "circular";
|
|
104
183
|
/**
|
|
105
|
-
* A
|
|
184
|
+
* A WebGL2 renderer that uses the GPU for rendering.
|
|
106
185
|
*
|
|
107
186
|
* @remarks
|
|
108
187
|
* This renderer has better performance than the canvas renderer,
|
|
109
|
-
* but does not support captions
|
|
188
|
+
* but does not support captions.
|
|
110
189
|
*/
|
|
111
190
|
export declare const WebGLRendererType = "webgl";
|
|
112
191
|
/**
|
|
@@ -114,7 +193,7 @@ export declare const WebGLRendererType = "webgl";
|
|
|
114
193
|
*
|
|
115
194
|
* @remarks
|
|
116
195
|
* This renderer has lower performance than the WebGL renderer,
|
|
117
|
-
* but supports captions
|
|
196
|
+
* but supports captions.
|
|
118
197
|
*/
|
|
119
198
|
export declare const CanvasRendererType = "canvas";
|
|
120
199
|
/**
|
|
@@ -139,196 +218,227 @@ export type LayoutOptions = ForceDirectedOptions | HierarchicalOptions | Circula
|
|
|
139
218
|
export type Renderer = typeof WebGLRendererType | typeof CanvasRendererType | typeof SvgRendererType;
|
|
140
219
|
/** Configurations for a NVL instance */
|
|
141
220
|
export interface NvlOptions {
|
|
221
|
+
/**
|
|
222
|
+
* Id for uniquely identifying the instance of Nvl
|
|
223
|
+
*/
|
|
224
|
+
instanceId?: string;
|
|
225
|
+
/** The graph layout algorithm to be used */
|
|
226
|
+
layout?: Layout;
|
|
227
|
+
/**
|
|
228
|
+
* The minimum zoom level allowed
|
|
229
|
+
* @defaultValue 0.075
|
|
230
|
+
*/
|
|
231
|
+
minZoom?: number;
|
|
232
|
+
/**
|
|
233
|
+
* The maximum zoom level allowed
|
|
234
|
+
* @defaultValue 10
|
|
235
|
+
*/
|
|
236
|
+
maxZoom?: number;
|
|
237
|
+
/**
|
|
238
|
+
* Whether or not to dynamically allow decreasing minimum zoom value
|
|
239
|
+
* if current graph does not fit on screen at minimum zoom.
|
|
240
|
+
* When set to `true`, zoom and fit operations will allow zooming out
|
|
241
|
+
* further than {@link NvlOptions.minZoom minZoom} if the graph does not fit on screen.
|
|
242
|
+
* {@link NvlOptions.minZoom minZoom} is lowered to the new zoom level, so later zoom operations can go that low too.
|
|
243
|
+
* When set to `false`, zoom and fit operations will stop at the minimum zoom value,
|
|
244
|
+
* even if the full graph does not fit on screen at that zoom level.
|
|
245
|
+
* @defaultValue true
|
|
246
|
+
*/
|
|
247
|
+
allowDynamicMinZoom?: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* The DOM container in which to render the minimap.
|
|
250
|
+
*
|
|
251
|
+
* @remarks When using a React ref, make sure the attached element is rendered before the NVL instance is created.
|
|
252
|
+
* Otherwise, the minimap will not be displayed.
|
|
253
|
+
*/
|
|
254
|
+
minimapContainer?: HTMLElement | null;
|
|
255
|
+
/** Configuration for the current layout */
|
|
256
|
+
layoutOptions?: LayoutOptions;
|
|
257
|
+
/** X-coordinate for panning of the current viewport */
|
|
258
|
+
panX?: number;
|
|
259
|
+
/** Y-coordinate for panning of the current viewport */
|
|
260
|
+
panY?: number;
|
|
261
|
+
/** Zoom value of the current viewport */
|
|
262
|
+
initialZoom?: number;
|
|
263
|
+
/**
|
|
264
|
+
* What rendering method to use for the visualization.
|
|
265
|
+
* WebGL renderer uses the GPU and has better performance.
|
|
266
|
+
* Captions are only displayed when using the canvas or svg renderer.
|
|
267
|
+
* @defaultValue 'canvas'
|
|
268
|
+
*/
|
|
269
|
+
renderer?: Renderer;
|
|
270
|
+
/**
|
|
271
|
+
* @internal
|
|
272
|
+
* @hidden
|
|
273
|
+
* Whether or not to disable WebGL completely.
|
|
274
|
+
*/
|
|
275
|
+
disableWebGL?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* @internal
|
|
278
|
+
* @hidden
|
|
279
|
+
* Specify the log level.
|
|
280
|
+
*/
|
|
281
|
+
logging?: {
|
|
282
|
+
level: LogLevelDesc;
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* @internal
|
|
286
|
+
* @hidden
|
|
287
|
+
*/
|
|
288
|
+
relationshipThreshold?: number;
|
|
289
|
+
/** Callbacks for various events in the NVL instance. */
|
|
290
|
+
callbacks?: ExternalCallbacks;
|
|
291
|
+
/** Styling options for the NVL instance. */
|
|
292
|
+
styling?: {
|
|
293
|
+
/** The default color for nodes. */
|
|
294
|
+
defaultNodeColor?: string;
|
|
295
|
+
/** The default color for relationships. */
|
|
296
|
+
defaultRelationshipColor?: string;
|
|
297
|
+
/** The color to use for the default border of nodes */
|
|
298
|
+
nodeDefaultBorderColor?: string;
|
|
299
|
+
/** The color to use for the selected border of nodes and relationships */
|
|
300
|
+
selectedBorderColor?: string;
|
|
301
|
+
/** The color to use for the selected inner border of nodes and relationships */
|
|
302
|
+
selectedInnerBorderColor?: string;
|
|
303
|
+
/** The color to use for the drop shadow of selected/hovered nodes and relationships */
|
|
304
|
+
dropShadowColor?: string;
|
|
305
|
+
/** The color to use for the disabled nodes and relationships */
|
|
306
|
+
disabledItemColor?: string;
|
|
307
|
+
/** The color to use for the labels of the disabled nodes and relationships */
|
|
308
|
+
disabledItemFontColor?: string;
|
|
142
309
|
/**
|
|
143
|
-
*
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
/** The graph layout algorithm to be used */
|
|
147
|
-
layout?: Layout;
|
|
148
|
-
/**
|
|
149
|
-
* The minimum zoom level allowed
|
|
150
|
-
* @default 0.075
|
|
151
|
-
*/
|
|
152
|
-
minZoom?: number;
|
|
153
|
-
/**
|
|
154
|
-
* The maximum zoom level allowed
|
|
155
|
-
* @default 10
|
|
156
|
-
*/
|
|
157
|
-
maxZoom?: number;
|
|
158
|
-
/**
|
|
159
|
-
* Whether or not to dynamically allow decreasing minimum zoom value
|
|
160
|
-
* if current graph does not fit on screen at minimum zoom.
|
|
161
|
-
* When set to true, zoom and fit operations will allow zooming out
|
|
162
|
-
* further than the minimum zoom value if the graph does not fit on screen.
|
|
163
|
-
* When set to false, zoom and fit operations will stop at the minimum zoom value,
|
|
164
|
-
* even if the full graph does not fit on screen at that zoom level.
|
|
165
|
-
* @defaultValue true
|
|
166
|
-
*/
|
|
167
|
-
allowDynamicMinZoom?: boolean;
|
|
168
|
-
/**
|
|
169
|
-
* The DOM container in which to render the minimap.
|
|
170
|
-
*
|
|
171
|
-
* @remarks When using a React ref, make sure the attached element is rendered before the NVL instance is created.
|
|
172
|
-
* Otherwise, the minimap will not be displayed.
|
|
173
|
-
*/
|
|
174
|
-
minimapContainer?: HTMLElement | null;
|
|
175
|
-
/** Configuration for the current layout */
|
|
176
|
-
layoutOptions?: LayoutOptions;
|
|
177
|
-
/** X-coordinate for panning of the current viewport */
|
|
178
|
-
panX?: number;
|
|
179
|
-
/** Y-coordinate for panning of the current viewport */
|
|
180
|
-
panY?: number;
|
|
181
|
-
/** Zoom value of the current viewport */
|
|
182
|
-
initialZoom?: number;
|
|
183
|
-
/**
|
|
184
|
-
* What renderer to use
|
|
185
|
-
* @defaultValue 'canvas'
|
|
186
|
-
* WebGL renderer uses GPU and has better performance.
|
|
187
|
-
* Captions and arrowheads are only displayed when using the canvas or svg renderer.
|
|
188
|
-
*/
|
|
189
|
-
renderer?: Renderer;
|
|
190
|
-
/**
|
|
191
|
-
* @internal
|
|
192
|
-
* @hidden
|
|
193
|
-
* Whether or not to disable WebGL completely.
|
|
194
|
-
*/
|
|
195
|
-
disableWebGL?: boolean;
|
|
196
|
-
/**
|
|
197
|
-
* @internal
|
|
198
|
-
* @hidden
|
|
199
|
-
* Specify the log level.
|
|
200
|
-
*/
|
|
201
|
-
logging?: {
|
|
202
|
-
level: LogLevelDesc;
|
|
203
|
-
};
|
|
204
|
-
/**
|
|
205
|
-
* @internal
|
|
206
|
-
* @hidden
|
|
207
|
-
*/
|
|
208
|
-
relationshipThreshold?: number;
|
|
209
|
-
/** Callbacks for various events in the NVL instance. */
|
|
210
|
-
callbacks?: ExternalCallbacks;
|
|
211
|
-
/** Styling options for the NVL instance. */
|
|
212
|
-
styling?: {
|
|
213
|
-
/** The default color for nodes. */
|
|
214
|
-
defaultNodeColor?: string;
|
|
215
|
-
/** The default color for relationships. */
|
|
216
|
-
defaultRelationshipColor?: string;
|
|
217
|
-
/** The color to use for the default border of nodes */
|
|
218
|
-
nodeDefaultBorderColor?: string;
|
|
219
|
-
/** The color to use for the selected border of nodes and relationships */
|
|
220
|
-
selectedBorderColor?: string;
|
|
221
|
-
/** The color to use for the selected inner border of nodes and relationships */
|
|
222
|
-
selectedInnerBorderColor?: string;
|
|
223
|
-
/** The color to use for the drop shadow of selected/hovered nodes and relationships */
|
|
224
|
-
dropShadowColor?: string;
|
|
225
|
-
/** The color to use for the disabled nodes and relationships */
|
|
226
|
-
disabledItemColor?: string;
|
|
227
|
-
/** The color to use for the labels of the disabled nodes and relationships */
|
|
228
|
-
disabledItemFontColor?: string;
|
|
229
|
-
/**
|
|
230
|
-
* Stroke color for overlay UI lines (e.g. minimap viewport box).
|
|
231
|
-
* Use a dark color on light backgrounds and a light color on dark backgrounds.
|
|
232
|
-
* @defaultValue `#1A1B1D`
|
|
233
|
-
*/
|
|
234
|
-
overlayLineColor?: string;
|
|
235
|
-
/**
|
|
236
|
-
* The color to use for the viewport box in the minimap.
|
|
237
|
-
* @deprecated Use {@link overlayLineColor}.
|
|
238
|
-
*/
|
|
239
|
-
minimapViewportBoxColor?: string;
|
|
240
|
-
};
|
|
241
|
-
/**
|
|
242
|
-
* @internal
|
|
243
|
-
* @hidden
|
|
244
|
-
* Defines a time limit for how long layout iterations may run
|
|
245
|
-
*/
|
|
246
|
-
layoutTimeLimit?: number;
|
|
247
|
-
/**
|
|
248
|
-
* Disables tracking of library usage
|
|
249
|
-
* @defaultValue false
|
|
250
|
-
*/
|
|
251
|
-
disableTelemetry?: boolean;
|
|
252
|
-
/**
|
|
253
|
-
* Disables the use of {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers | web workers} for the layout calculations.
|
|
310
|
+
* Stroke color for overlay UI lines (e.g. minimap viewport box).
|
|
311
|
+
* Use a dark color on light backgrounds and a light color on dark backgrounds.
|
|
312
|
+
* @defaultValue `#1A1B1D`
|
|
254
313
|
*/
|
|
255
|
-
|
|
314
|
+
overlayLineColor?: string;
|
|
256
315
|
/**
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* Attributes include `role="image"`, `aria-label="Graph visualization"`
|
|
260
|
-
* and `aria-describedby="nvl-${instanceId}-description"`.
|
|
261
|
-
* The description element is a live region that will announce changes to the graph.
|
|
262
|
-
* @defaultValue false
|
|
316
|
+
* The color to use for the viewport box in the minimap.
|
|
317
|
+
* @deprecated Use `overlayLineColor`.
|
|
263
318
|
*/
|
|
264
|
-
|
|
319
|
+
minimapViewportBoxColor?: string;
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Target minimum presentation fps while layout is active, at the cost of stabilization speed when set higher.
|
|
323
|
+
* Budgets layout steps only. Actual fps may undershoot when rendering is expensive.
|
|
324
|
+
*
|
|
325
|
+
* @defaultValue 3
|
|
326
|
+
*
|
|
327
|
+
* @remarks Will be capped between 1 and 120.
|
|
328
|
+
*/
|
|
329
|
+
minFps?: number;
|
|
330
|
+
/**
|
|
331
|
+
* Target maximum presentation fps while layout is active; extra time in the tick goes to layout stabilization.
|
|
332
|
+
* Budgets layout steps only. Actual fps may undershoot when rendering is expensive.
|
|
333
|
+
*
|
|
334
|
+
* @defaultValue 30
|
|
335
|
+
*
|
|
336
|
+
* @remarks Will be capped between 1 and 120.
|
|
337
|
+
*/
|
|
338
|
+
maxFps?: number;
|
|
339
|
+
/**
|
|
340
|
+
* Disables tracking of library usage
|
|
341
|
+
* @defaultValue false
|
|
342
|
+
*/
|
|
343
|
+
disableTelemetry?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Disables the use of {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers | web workers} for the layout calculations.
|
|
346
|
+
*/
|
|
347
|
+
disableWebWorkers?: boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Disables {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA | ARIA} attributes on the graph.
|
|
350
|
+
* By default, NVL adds ARIA attributes to the graph container to make it more accessible.
|
|
351
|
+
* Attributes include `role="image"`, `aria-label="Graph visualization"`
|
|
352
|
+
* and `aria-describedby="nvl-${instanceId}-description"`.
|
|
353
|
+
* The description element is a live region that will announce changes to the graph.
|
|
354
|
+
* @defaultValue false
|
|
355
|
+
*/
|
|
356
|
+
disableAria?: boolean;
|
|
265
357
|
}
|
|
266
358
|
/** Options that influence how fit-to-zoom should behave */
|
|
267
359
|
export type ZoomOptions = {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
360
|
+
/** If true, will zoom out to fit the specified nodes without changing the pan of the viewport. */
|
|
361
|
+
noPan?: boolean;
|
|
362
|
+
/** If true, will only zoom out if specified nodes won't fit into viewport but won't zoom in any further. */
|
|
363
|
+
outOnly?: boolean;
|
|
364
|
+
/**
|
|
365
|
+
* The minimum zoom value for the fit-to-zoom operation. The fit never zooms out further than this.
|
|
366
|
+
* If {@link NvlOptions.allowDynamicMinZoom} is `true`, it can be lower than {@link NvlOptions.minZoom},
|
|
367
|
+
* which is then lowered to the resulting zoom level.
|
|
368
|
+
* If it is `false`, this can only raise the {@link NvlOptions.minZoom} limit, not lower it.
|
|
369
|
+
*/
|
|
370
|
+
minZoom?: number;
|
|
371
|
+
/**
|
|
372
|
+
* The maximum zoom value for the fit-to-zoom operation.
|
|
373
|
+
* This can only lower the {@link NvlOptions.maxZoom} limit, not raise it.
|
|
374
|
+
*/
|
|
375
|
+
maxZoom?: number;
|
|
376
|
+
/** If true, will not animate the zoom/pan transition. */
|
|
377
|
+
animated?: boolean;
|
|
278
378
|
};
|
|
279
379
|
export interface NvlState {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
380
|
+
zoom: number;
|
|
381
|
+
zoomOptions: ZoomOptions;
|
|
382
|
+
minimapZoom: number;
|
|
383
|
+
defaultZoomLevel: number;
|
|
384
|
+
panX: number;
|
|
385
|
+
panY: number;
|
|
386
|
+
minimapPanX: number;
|
|
387
|
+
minimapPanY: number;
|
|
388
|
+
fitNodeIds: string[];
|
|
389
|
+
resetZoom: boolean;
|
|
390
|
+
forceWebGL: boolean;
|
|
391
|
+
renderer: Renderer;
|
|
392
|
+
disableWebGL: boolean;
|
|
393
|
+
disableWebWorkers: boolean;
|
|
394
|
+
disableTelemetry: boolean;
|
|
395
|
+
fitMovement: number;
|
|
396
|
+
layout: Layout;
|
|
397
|
+
layoutOptions: LayoutOptions;
|
|
398
|
+
maxNodeRadius: number;
|
|
399
|
+
maxDistance: number;
|
|
400
|
+
minZoom: number;
|
|
401
|
+
maxZoom: number;
|
|
402
|
+
allowDynamicMinZoom: boolean;
|
|
403
|
+
minMinimapZoom: number;
|
|
404
|
+
maxMinimapZoom: number;
|
|
405
|
+
nodes: NodeDataSet;
|
|
406
|
+
rels: RelationshipDataSet;
|
|
407
|
+
graphUpdates: number;
|
|
408
|
+
waypoints: {
|
|
409
|
+
data: Record<string, WaypointPath>;
|
|
410
|
+
counter: number;
|
|
411
|
+
};
|
|
412
|
+
setGraphUpdated: Function;
|
|
413
|
+
setRenderer: Function;
|
|
414
|
+
setWaypoints: Function;
|
|
415
|
+
setZoomPan: Function;
|
|
416
|
+
setZoom: (zoom: number, rect: HTMLElement) => void;
|
|
417
|
+
setPan: Function;
|
|
418
|
+
setLayout: Function;
|
|
419
|
+
setLayoutOptions: Function;
|
|
420
|
+
fitNodes: Function;
|
|
421
|
+
setZoomReset: Function;
|
|
422
|
+
clearFit: Function;
|
|
423
|
+
clearReset: Function;
|
|
424
|
+
updateZoomToFit: Function;
|
|
425
|
+
lowerMinZoom: (zoom: number) => void;
|
|
426
|
+
/**
|
|
427
|
+
* The zoom limits for a fit with the given zoom options. A fit target within these limits is not clamped any
|
|
428
|
+
* further by the zoom actions, once {@link NvlState.lowerMinZoom} has been called with it.
|
|
429
|
+
*/
|
|
430
|
+
getFitZoomLimits: (zoomOptions: ZoomOptions) => {
|
|
300
431
|
minZoom: number;
|
|
301
432
|
maxZoom: number;
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
setRenderer: Function;
|
|
313
|
-
setWaypoints: Function;
|
|
314
|
-
setZoomPan: Function;
|
|
315
|
-
setZoom: (zoom: number, rect: HTMLElement) => void;
|
|
316
|
-
setPan: Function;
|
|
317
|
-
setLayout: Function;
|
|
318
|
-
setLayoutOptions: Function;
|
|
319
|
-
fitNodes: Function;
|
|
320
|
-
setZoomReset: Function;
|
|
321
|
-
clearFit: Function;
|
|
322
|
-
clearReset: Function;
|
|
323
|
-
updateZoomToFit: Function;
|
|
324
|
-
updateMinimapZoomToFit: Function;
|
|
325
|
-
autorun: Function;
|
|
326
|
-
reaction: Function;
|
|
327
|
-
nodeBorderStyles: BorderStyles;
|
|
328
|
-
relationshipBorderStyles: BorderStyles;
|
|
329
|
-
disabledItemStyles: DisabledItemStyles;
|
|
330
|
-
defaultNodeColor: string;
|
|
331
|
-
defaultRelationshipColor: string;
|
|
332
|
-
overlayLineColor: string;
|
|
433
|
+
};
|
|
434
|
+
updateMinimapZoomToFit: Function;
|
|
435
|
+
autorun: Function;
|
|
436
|
+
reaction: Function;
|
|
437
|
+
nodeBorderStyles: BorderStyles;
|
|
438
|
+
relationshipBorderStyles: BorderStyles;
|
|
439
|
+
disabledItemStyles: DisabledItemStyles;
|
|
440
|
+
defaultNodeColor: string;
|
|
441
|
+
defaultRelationshipColor: string;
|
|
442
|
+
overlayLineColor: string;
|
|
333
443
|
}
|
|
334
|
-
export {};
|
|
444
|
+
export {};
|