@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,46 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { StyledCaption } from "../../renderers/domrenderer/shared/types.js";
|
|
2
|
+
import { Node, Relationship } from "../../types/graph-element.js";
|
|
3
|
+
import { BorderStyle, NvlOptions, ShadowStyle } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Converts a {@link Node.caption} string to {@link Node.captions} array format.
|
|
6
6
|
* If both caption and captions are provided, captions takes precedence.
|
|
7
7
|
*/
|
|
8
8
|
export declare const processCaptions: (item: Partial<Node | Relationship>) => StyledCaption[];
|
|
9
9
|
export declare const processColorStyles: (styling?: NvlOptions["styling"]) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
selected: {
|
|
20
|
-
rings?: {
|
|
21
|
-
width?: number;
|
|
22
|
-
widthFactor?: number;
|
|
23
|
-
color: string;
|
|
24
|
-
}[];
|
|
25
|
-
shadow?: import("./types").ShadowStyle;
|
|
26
|
-
};
|
|
10
|
+
nodeBorderStyles: {
|
|
11
|
+
default: {
|
|
12
|
+
rings?: {
|
|
13
|
+
width?: number;
|
|
14
|
+
widthFactor?: number;
|
|
15
|
+
color: string;
|
|
16
|
+
}[];
|
|
17
|
+
shadow?: ShadowStyle;
|
|
27
18
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}[];
|
|
36
|
-
shadow?: import("./types").ShadowStyle;
|
|
37
|
-
};
|
|
19
|
+
selected: {
|
|
20
|
+
rings?: {
|
|
21
|
+
width?: number;
|
|
22
|
+
widthFactor?: number;
|
|
23
|
+
color: string;
|
|
24
|
+
}[];
|
|
25
|
+
shadow?: ShadowStyle;
|
|
38
26
|
};
|
|
39
|
-
|
|
27
|
+
};
|
|
28
|
+
relationshipBorderStyles: {
|
|
29
|
+
default: BorderStyle;
|
|
30
|
+
selected: {
|
|
31
|
+
rings?: {
|
|
32
|
+
width?: number;
|
|
33
|
+
widthFactor?: number;
|
|
40
34
|
color: string;
|
|
41
|
-
|
|
35
|
+
}[];
|
|
36
|
+
shadow?: ShadowStyle;
|
|
42
37
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
};
|
|
39
|
+
disabledItemStyles: {
|
|
40
|
+
color: string;
|
|
41
|
+
fontColor: string;
|
|
42
|
+
};
|
|
43
|
+
defaultNodeColor: string;
|
|
44
|
+
defaultRelationshipColor: string;
|
|
45
|
+
overlayLineColor: string;
|
|
46
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Point } from "../utils/geometry.js";
|
|
2
|
+
import { Node } from "../types/graph-element.js";
|
|
3
|
+
import { NvlState } from "../modules/state/types.js";
|
|
4
|
+
import { CoarsenedGraph } from "../layouts/forcedirectedlayout/clustering/types.js";
|
|
5
|
+
type ClusterPositions = Readonly<Record<string, Point>> | (() => (Node & Point)[]);
|
|
6
|
+
/**
|
|
7
|
+
* Canvas2D overlay for cluster decorations.
|
|
8
|
+
*/
|
|
9
|
+
export default class ClusterOverlay {
|
|
10
|
+
private readonly canvas;
|
|
11
|
+
private readonly context;
|
|
12
|
+
private readonly state;
|
|
13
|
+
private readonly stateDisposers;
|
|
14
|
+
private readonly clusterColors;
|
|
15
|
+
private clusterColorsDirty;
|
|
16
|
+
private cachedFirstSubGraphLevel;
|
|
17
|
+
private cachedIdToPosition;
|
|
18
|
+
private cachedPositionListVersion;
|
|
19
|
+
private readonly clusterGeometry;
|
|
20
|
+
private geometryPositionsVersion;
|
|
21
|
+
constructor(canvas: HTMLCanvasElement, context: CanvasRenderingContext2D, state: NvlState);
|
|
22
|
+
/** Clears the overlay. */
|
|
23
|
+
clear(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Draws cluster decorations for a given multi-member first-level sun system and positions.
|
|
26
|
+
* @param subGraphs - Layout coarsening hierarchy (`subGraphs[1]` = first-level suns).
|
|
27
|
+
* @param positions - Node id to position map, or a getter for a lagged position list.
|
|
28
|
+
* @param cacheVersion - PhysLayout positions-cache version.
|
|
29
|
+
*/
|
|
30
|
+
render(subGraphs: CoarsenedGraph[], positions: ClusterPositions, cacheVersion: number): void;
|
|
31
|
+
destroy(): void;
|
|
32
|
+
private resetClusterColorCache;
|
|
33
|
+
private resetGeometryCache;
|
|
34
|
+
private syncGeometryCacheVersion;
|
|
35
|
+
private resetPositionCache;
|
|
36
|
+
/**
|
|
37
|
+
* Returns an id to position map. Records are used as-is. Getters are converted once per `cacheVersion`.
|
|
38
|
+
* @param positions - Node id to position map, or a getter for a lagged position list.
|
|
39
|
+
* @param cacheVersion - PhysLayout positions-cache version; ignored for maps.
|
|
40
|
+
* @returns An id to position map.
|
|
41
|
+
*/
|
|
42
|
+
private resolveIdToPosition;
|
|
43
|
+
/**
|
|
44
|
+
* Rebuilds {@link clusterColors} for every multi-member first-level sun.
|
|
45
|
+
* @param firstSubGraphLevel - `subGraphs[1]` from the current layout coarsening hierarchy.
|
|
46
|
+
*/
|
|
47
|
+
private rebuildClusterColors;
|
|
48
|
+
/**
|
|
49
|
+
* Returns fitted world-space hull for a cluster, reusing the last fit while the
|
|
50
|
+
* positions cache version is unchanged (e.g. pan/zoom-only frames while layout is stable).
|
|
51
|
+
* @param sunId - Original id of the sun the hull belongs to.
|
|
52
|
+
* @param collectMembers - Builds the member disks to fit; only called on a cache miss.
|
|
53
|
+
* @returns The fitted hull, or null when the cluster cannot be fitted.
|
|
54
|
+
*/
|
|
55
|
+
private getCachedHull;
|
|
56
|
+
private fillHalo;
|
|
57
|
+
private strokeOutline;
|
|
58
|
+
/**
|
|
59
|
+
* Traces a closed rounded path along the given points.
|
|
60
|
+
* @param points - The points to trace the path along.
|
|
61
|
+
*/
|
|
62
|
+
private traceSmoothClosedPath;
|
|
63
|
+
private applyZoomAndPan;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the shared member color when color is consistent; otherwise null.
|
|
66
|
+
* @param nodeIds - The IDs of the nodes in the cluster.
|
|
67
|
+
* @param idToItem - The map of node IDs to items.
|
|
68
|
+
* @param defaultNodeColor - The default node color.
|
|
69
|
+
* @returns The shared member color when color is consistent; otherwise null.
|
|
70
|
+
*/
|
|
71
|
+
private resolveUnanimousClusterColor;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import { RelationshipToRender } from "./shared/types.js";
|
|
2
|
+
import { Node } from "../../types/graph-element.js";
|
|
3
|
+
import { Channel, DataSet } from "../../modules/dataset.js";
|
|
4
|
+
import { NvlState } from "../../modules/state/types.js";
|
|
5
|
+
import ImageCache from "./shared/ImageCache.js";
|
|
6
|
+
import ArrowBundler from "./shared/arrows/ArrowBundler.js";
|
|
7
7
|
export type RendererOptions = {
|
|
8
|
-
|
|
8
|
+
relationshipThreshold?: number;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
11
|
* Base class for renderers (Canvas and SVG) that provides common functionality
|
|
12
12
|
*/
|
|
13
13
|
export default abstract class BaseRenderer {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
14
|
+
arrowBundler: ArrowBundler;
|
|
15
|
+
protected state: NvlState;
|
|
16
|
+
protected relationshipThreshold: number;
|
|
17
|
+
protected stateDisposers: NvlState['reaction'][];
|
|
18
|
+
protected needsRun: boolean;
|
|
19
|
+
protected imageCache: ImageCache;
|
|
20
|
+
protected nodeVersion: number;
|
|
21
|
+
protected relVersion: number;
|
|
22
|
+
protected waypointVersion: number;
|
|
23
|
+
protected channelId: string;
|
|
24
|
+
protected activeNodes: Set<string>;
|
|
25
|
+
constructor(state: NvlState, channelId: string, options?: RendererOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Gets relationships to render, sorted by their rendering order
|
|
28
|
+
* @param showCaptions - Whether to show relationship captions
|
|
29
|
+
* @param zoom - Current zoom level (optional, used for threshold checking)
|
|
30
|
+
* @param clientWidth - Width of the rendering area
|
|
31
|
+
* @param clientHeight - Height of the rendering area
|
|
32
|
+
* @returns Array of relationships to render, sorted (disabled, normal, selected)
|
|
33
|
+
*/
|
|
34
|
+
protected getRelationshipsToRender(showCaptions?: boolean, zoom?: number, clientWidth?: number, clientHeight?: number): RelationshipToRender[];
|
|
35
|
+
/**
|
|
36
|
+
* Gets nodes to render, sorted by their rendering order
|
|
37
|
+
* @param positionArray - Array of nodes with positions
|
|
38
|
+
* @param clientWidth - Width of the rendering area
|
|
39
|
+
* @param clientHeight - Height of the rendering area
|
|
40
|
+
* @returns Array of nodes to render, sorted (disabled, normal, selected)
|
|
41
|
+
*/
|
|
42
|
+
protected getNodesToRender(positionArray: Node[], clientWidth?: number, clientHeight?: number): Node[];
|
|
43
|
+
/**
|
|
44
|
+
* Processes updates in nodes and relationships.
|
|
45
|
+
*/
|
|
46
|
+
processUpdates(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Processes node channel updates to track activated nodes.
|
|
49
|
+
* Adds or removes node IDs from the activeNodes set based on their activated state.
|
|
50
|
+
* @param channel - The node channel with adds, removes, and updates
|
|
51
|
+
* @param fullData - The full node dataset
|
|
52
|
+
*/
|
|
53
|
+
protected processNodeChannelUpdates(channel: Channel<Node>, fullData: DataSet<Node>): void;
|
|
54
|
+
/**
|
|
55
|
+
* Checks if a bounding box is off screen
|
|
56
|
+
* @param boundingBox - The bounding box to check
|
|
57
|
+
* @param clientWidth - Width of the rendering area
|
|
58
|
+
* @param clientHeight - Height of the rendering area
|
|
59
|
+
* @returns Whether the bounding box is off screen
|
|
60
|
+
*/
|
|
61
|
+
protected isBoundingBoxOffScreen(boundingBox: DOMRect, clientWidth: number, clientHeight: number): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Checks if the renderer needs to run.
|
|
64
|
+
* @returns Whether the renderer needs to run.
|
|
65
|
+
*/
|
|
66
|
+
needsToRun(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Returns a promise that resolves when all images in the cache have finished loading.
|
|
69
|
+
*/
|
|
70
|
+
waitForImages(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Cleans up the renderer by disposing state reactions and removing channels.
|
|
73
|
+
*/
|
|
74
|
+
destroy(): void;
|
|
75
|
+
}
|
|
@@ -2,60 +2,60 @@
|
|
|
2
2
|
* Animation class to animate a value from a start value to an end value
|
|
3
3
|
*/
|
|
4
4
|
export declare class Animation {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
5
|
+
/** The id of the element to animate */
|
|
6
|
+
readonly elementId: string;
|
|
7
|
+
/** The current value of the animation */
|
|
8
|
+
currentValue: number;
|
|
9
|
+
/** The start value of the animation */
|
|
10
|
+
private startValue;
|
|
11
|
+
/** The current time of the animation */
|
|
12
|
+
private currentTime;
|
|
13
|
+
/** The duration of the animation */
|
|
14
|
+
private duration;
|
|
15
|
+
/** The status of the animation */
|
|
16
|
+
private status;
|
|
17
|
+
/** The end value of the animation */
|
|
18
|
+
private endValue;
|
|
19
|
+
/** The start time of the animation */
|
|
20
|
+
private startTime;
|
|
21
|
+
/** The end time of the animation */
|
|
22
|
+
private endTime;
|
|
23
|
+
/** Flag to indicate if there is a next animation */
|
|
24
|
+
private hasNextAnimation;
|
|
25
|
+
/**
|
|
26
|
+
* Constructor
|
|
27
|
+
* @param elementId - The id of the element to animate.
|
|
28
|
+
* @param startValue - The start value of the animation.
|
|
29
|
+
*/
|
|
30
|
+
constructor(elementId: string, startValue: number);
|
|
31
|
+
/**
|
|
32
|
+
* Sets the duration of the animation.
|
|
33
|
+
* @param duration - The duration of the animation.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
setDuration(duration: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the status of the animation
|
|
39
|
+
* @returns The status of the animation.
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
getStatus(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Advances the animation to the next frame
|
|
45
|
+
* @returns True if there is a next animation, false otherwise.
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
advance(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Sets the end value of the animation
|
|
51
|
+
* @param targetValue - The end value of the animation.
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
setEndValue(targetValue: number): void;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the end time of the animation
|
|
57
|
+
* @param newEndTime - The end time of the animation.
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
private setEndTime;
|
|
61
|
+
}
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { Animation } from
|
|
1
|
+
import { Animation } from "./Animation.js";
|
|
2
2
|
/**
|
|
3
3
|
* A small animation running engine that lets elements do any transitions and
|
|
4
4
|
* ask the rendered to redraw as long as needed.
|
|
5
5
|
* The object is owned by the canvas renderer
|
|
6
6
|
*/
|
|
7
7
|
export default class AnimationHandler {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
8
|
+
/** A map of all animations */
|
|
9
|
+
private readonly animations;
|
|
10
|
+
/** A map of all durations */
|
|
11
|
+
private readonly durations;
|
|
12
|
+
/** The default duration */
|
|
13
|
+
private readonly defaultDuration;
|
|
14
|
+
/** Flag to indicate if a rerun is needed */
|
|
15
|
+
private hasNextAnimation;
|
|
16
|
+
/** Flag to indicate if animations should be ignored */
|
|
17
|
+
private ignoreAnimationsFlag;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Main function run once per frame to advance all animations
|
|
21
|
+
* @returns True if any animation is still running.
|
|
22
|
+
*/
|
|
23
|
+
advance(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Sets a flag if animations should be ignored.
|
|
26
|
+
* If set to true all animations always return their end value.
|
|
27
|
+
* @param shouldIgnore - Whether animations should be ignored.
|
|
28
|
+
*/
|
|
29
|
+
ignoreAnimations(shouldIgnore: boolean): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the duration for all animations
|
|
32
|
+
* @param options - An object containing animation durations for fade and size.
|
|
33
|
+
*/
|
|
34
|
+
setOptions(options: {
|
|
35
|
+
fadeDuration: number;
|
|
36
|
+
sizeDuration: number;
|
|
37
|
+
}): void;
|
|
38
|
+
/**
|
|
39
|
+
* Returns whether any animation is running
|
|
40
|
+
* @returns */
|
|
41
|
+
needsToRun(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Returns the current value of an animation
|
|
44
|
+
* @param elementId - The id of the element the animation is running on.
|
|
45
|
+
* @param name - The name of the animation.
|
|
46
|
+
* @returns The current value of the animation.
|
|
47
|
+
*/
|
|
48
|
+
getValueForAnimationName(elementId: string, name: string, target: number, type?: number): number;
|
|
49
|
+
private createAnimation;
|
|
50
|
+
getById(id: string): Record<string, Animation> | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a new size animation for the given element and name.
|
|
53
|
+
* If an animation already exists for the given element and name, it will be returned.
|
|
54
|
+
* If not, a new animation will be created.
|
|
55
|
+
* @param currentValue - The current value of the animation.
|
|
56
|
+
* @param elementId - The id of the element to animate.
|
|
57
|
+
* @param name - The name of the animation.
|
|
58
|
+
* @returns The animation.
|
|
59
|
+
*/
|
|
60
|
+
private createFadeAnimation;
|
|
61
|
+
/**
|
|
62
|
+
* Creates a new fade animation for the given element and name.
|
|
63
|
+
* If an animation already exists for the given element and name, it will be returned.
|
|
64
|
+
* If not, a new animation will be created.
|
|
65
|
+
* @param currentValue - The current value of the animation.
|
|
66
|
+
* @param elementId - The id of the element to animate.
|
|
67
|
+
* @param name - The name of the animation.
|
|
68
|
+
* @returns The animation.
|
|
69
|
+
*/
|
|
70
|
+
private createSizeAnimation;
|
|
71
|
+
}
|