@neo4j-nvl/base 0.3.6 → 0.3.7-5790f700

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 (44) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/README.md +1 -0
  3. package/dist/base.mjs +1 -1
  4. package/dist/types/index.d.ts +6 -3
  5. package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +1 -1
  6. package/dist/types/layouts/forcedirectedlayout/cosebilkentlayout/CoseBilkentLayout.d.ts +2 -2
  7. package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.d.ts +1 -1
  8. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-repulsive-fragment-verlet.d.ts +1 -1
  9. package/dist/types/layouts/freeLayout/FreeLayout.d.ts +1 -1
  10. package/dist/types/layouts/hierarchicallayout/HierarchicalLayout.d.ts +2 -2
  11. package/dist/types/layouts/hierarchicallayout/constants.d.ts +1 -1
  12. package/dist/types/modules/NvlController.d.ts +2 -1
  13. package/dist/types/modules/ZoomTransitionHandler.d.ts +1 -1
  14. package/dist/types/modules/state/constants.d.ts +9 -0
  15. package/dist/types/modules/state/state.d.ts +8 -0
  16. package/dist/types/modules/{state.d.ts → state/types.d.ts} +70 -16
  17. package/dist/types/modules/state/utils.d.ts +44 -0
  18. package/dist/types/modules/state/utils.test.d.ts +1 -0
  19. package/dist/types/renderers/canvasrenderer/CanvasRenderer.d.ts +2 -1
  20. package/dist/types/renderers/canvasrenderer/arrows/arrows.d.ts +8 -5
  21. package/dist/types/renderers/canvasrenderer/arrows/constants.d.ts +1 -6
  22. package/dist/types/renderers/canvasrenderer/nodes/nodes.d.ts +3 -2
  23. package/dist/types/renderers/canvasrenderer/util.d.ts +2 -2
  24. package/dist/types/renderers/canvasrenderer/wordwrap.d.ts +1 -1
  25. package/dist/types/renderers/webglrenderer/Controller.d.ts +1 -1
  26. package/dist/types/renderers/webglrenderer/Renderer.d.ts +1 -1
  27. package/dist/types/renderers/webglrenderer/node-fragment-point.d.ts +1 -1
  28. package/dist/types/renderers/webglrenderer/node-vertex-point.d.ts +1 -1
  29. package/dist/types/renderers/webglrenderer/viewport-box-fragment.d.ts +1 -1
  30. package/dist/types/renderers/webglrenderer/viewport-box-vertex.d.ts +1 -1
  31. package/dist/types/utils/ariaUtils.d.ts +3 -0
  32. package/dist/types/utils/ariaUtils.test.d.ts +1 -0
  33. package/dist/types/utils/colorUtils.d.ts +14 -0
  34. package/dist/types/utils/colorUtils.test.d.ts +1 -0
  35. package/dist/types/utils/constants.d.ts +10 -3
  36. package/dist/types/utils/graphObjectUtils.d.ts +2 -1
  37. package/dist/types/utils/hittest.d.ts +1 -1
  38. package/dist/types/utils/jsDriverResultTransformer.d.ts +4 -1
  39. package/dist/types/utils/webWorkerUtils.d.ts +3 -0
  40. package/dist/types/utils/webWorkerUtils.test.d.ts +1 -0
  41. package/dist/types/utils/zoomFunctions.d.ts +32 -1
  42. package/package.json +6 -5
  43. package/dist/types/utils/colorMapperFunctions.d.ts +0 -6
  44. /package/dist/types/modules/{state.test.d.ts → state/state.test.d.ts} +0 -0
@@ -2,19 +2,50 @@ import type { Node } from '../index';
2
2
  import type { Point } from './geometry';
3
3
  declare const getExtremeLimits: (nodePositions: Point[]) => Point[];
4
4
  declare const getMaxDistance: (extremeLimits?: Point[]) => number;
5
+ /**
6
+ * Gets the center choordinates and the width and height for the given node positions
7
+ * @param {Point[] | Node[]} nodePositions - The node positions
8
+ * @param {number} maxNodeRadius - The maximum node radius
9
+ * @returns An object with the center x and y coordinates and the width and height
10
+ */
5
11
  declare const getPositionBoundaries: (nodePositions?: Point[] | Node[], maxNodeRadius?: number) => {
6
12
  centerX: number;
7
13
  centerY: number;
8
14
  nodesWidth: number;
9
15
  nodesHeight: number;
10
16
  };
17
+ /**
18
+ * Gets the required zoom level for the given view and scene dimensions to fit the scene into the view
19
+ * @param {number} viewWidth - The width of the required view
20
+ * @param {number} viewHeight - The height of the required view
21
+ * @param {number} sceneWidth - The width of the canvas scene
22
+ * @param {number} sceneHeight - The height of the canvas scene
23
+ * @returns An object with the zoom level for the x and y axis
24
+ */
11
25
  declare const getZoomLevel: (viewWidth: number, viewHeight: number, sceneWidth: number, sceneHeight: number) => {
12
26
  zoomX: number;
13
27
  zoomY: number;
14
28
  };
29
+ /**
30
+ * Creates a zoom target based on the given zoom levels and the min and max zoom level
31
+ * @param {number} zoomX - The zoom level for the x axis
32
+ * @param {number} zoomY - The zoom level for the y axis
33
+ * @param {number} minZoom - The minimum zoom level
34
+ * @param {number} maxZoom - The maximum zoom level
35
+ * @returns The zoom target
36
+ */
15
37
  declare const createZoomTarget: (zoomX: number, zoomY: number, minZoom?: number, maxZoom?: number) => number;
38
+ /**
39
+ * Gets the zoom target to fit the given node positions into the scene
40
+ * @param {Point[]} nodePositions - The node positions
41
+ * @param {number} containerWidth - The width of the container NVL is displayed in
42
+ * @param {number} containerHeight - The height of the container NVL is displayed in
43
+ * @param {number} maxNodeRadius - The maximum node radius, which is added as margin to the scene (defaults to `50`)
44
+ * @returns
45
+ */
46
+ declare const getZoomTargetForNodePositions: (nodePositions: Point[], containerWidth: number, containerHeight: number, maxNodeRadius?: number) => number;
16
47
  declare const getFlexibleZoomLimit: (nodePositions: Point[], rect: HTMLCanvasElement, maxNodeRadius: number) => number;
17
48
  declare const getNewZoomWithinLimits: (newZoom: number, oldZoom: number, minZoom: number, maxZoom: number) => number;
18
49
  declare const isZoomOutAtLimit: (newZoom: number, oldZoom: number, zoomOutLimit: number) => boolean;
19
50
  declare const getDynamicZoom: (nodePositions: Point[] & Node[], minZoom: number, maxZoom: number, rect: HTMLCanvasElement, newZoom: number, currentZoom: number) => number;
20
- export { getFlexibleZoomLimit, isZoomOutAtLimit, getNewZoomWithinLimits, getExtremeLimits, getMaxDistance, getPositionBoundaries, getZoomLevel, createZoomTarget, getDynamicZoom };
51
+ export { getFlexibleZoomLimit, getZoomTargetForNodePositions, isZoomOutAtLimit, getNewZoomWithinLimits, getExtremeLimits, getMaxDistance, getPositionBoundaries, getZoomLevel, createZoomTarget, getDynamicZoom };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-nvl/base",
3
- "version": "0.3.6",
3
+ "version": "0.3.7-5790f700",
4
4
  "license": "SEE LICENSE IN 'LICENSE.txt'",
5
5
  "homepage": "https://neo4j.com/docs/nvl/current/",
6
6
  "description": "Base library for the Neo4j Visualization Library",
@@ -24,11 +24,11 @@
24
24
  "test": "yarn global:jest",
25
25
  "eslint": "yarn global:eslint ./src/",
26
26
  "coverage": "yarn test --coverage --silent",
27
- "prepack": "cp ../../LICENSE.txt ./",
28
- "postpack": "rm LICENSE.txt"
27
+ "prepack": "cp ../../LICENSE.txt ./ && cp ../../CHANGELOG.md ./",
28
+ "postpack": "rm LICENSE.txt && rm CHANGELOG.md"
29
29
  },
30
30
  "dependencies": {
31
- "@neo4j-nvl/layout-workers": "0.3.6",
31
+ "@neo4j-nvl/layout-workers": "0.3.7-5790f700",
32
32
  "@segment/analytics-next": "^1.70.0",
33
33
  "color-string": "^1.9.1",
34
34
  "d3-force": "^3.0.0",
@@ -57,5 +57,6 @@
57
57
  },
58
58
  "peerDependencies": {
59
59
  "neo4j-driver": "*"
60
- }
60
+ },
61
+ "stableVersion": "0.3.7"
61
62
  }
@@ -1,6 +0,0 @@
1
- /**
2
- * Determines whether a black or white font color is more readable for a given background color
3
- * @param {string} color The background color
4
- * @returns {string} The font color that should be used @defaultValue '#fff'
5
- */
6
- export declare const textColorForBackground: (color: string) => string;