@krainovsd/graph 0.1.1 → 0.2.0

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 (53) hide show
  1. package/lib/esm/index.js +318 -190
  2. package/lib/esm/index.js.map +1 -1
  3. package/lib/index.d.ts +180 -0
  4. package/package.json +8 -7
  5. package/tmp/app/index.d.ts +0 -1
  6. package/tmp/app/lib/get-link-count.d.ts +0 -3
  7. package/tmp/app/lib/get-node-neighbors.d.ts +0 -3
  8. package/tmp/app/lib/index.d.ts +0 -3
  9. package/tmp/app/lib/perf-test-wrapper.d.ts +0 -1
  10. package/tmp/app/mock/custom-mock.d.ts +0 -3
  11. package/tmp/app/mock/dynamic-mock.d.ts +0 -3
  12. package/tmp/app/mock/index.d.ts +0 -7
  13. package/tmp/app/types.d.ts +0 -4
  14. package/tmp/index.d.ts +0 -2
  15. package/tmp/lib/check-type.d.ts +0 -1
  16. package/tmp/lib/color-getter.d.ts +0 -1
  17. package/tmp/lib/index.d.ts +0 -3
  18. package/tmp/lib/underscore.d.ts +0 -2
  19. package/tmp/module/Graph/Graph.d.ts +0 -0
  20. package/tmp/module/Graph/Graph.types.d.ts +0 -0
  21. package/tmp/module/Graph/index.d.ts +0 -0
  22. package/tmp/module/GraphCanvas/GraphCanvas.d.ts +0 -49
  23. package/tmp/module/GraphCanvas/constants/index.d.ts +0 -1
  24. package/tmp/module/GraphCanvas/constants/settings.d.ts +0 -50
  25. package/tmp/module/GraphCanvas/index.d.ts +0 -2
  26. package/tmp/module/GraphCanvas/lib/force-settings-getter.d.ts +0 -2
  27. package/tmp/module/GraphCanvas/lib/graph-settings-getter.d.ts +0 -2
  28. package/tmp/module/GraphCanvas/lib/index.d.ts +0 -6
  29. package/tmp/module/GraphCanvas/lib/links/index.d.ts +0 -3
  30. package/tmp/module/GraphCanvas/lib/links/link-iteration-extractor.d.ts +0 -5
  31. package/tmp/module/GraphCanvas/lib/links/link-options-getter.d.ts +0 -4
  32. package/tmp/module/GraphCanvas/lib/links/link-settings-getter.d.ts +0 -2
  33. package/tmp/module/GraphCanvas/lib/listeners-getter.d.ts +0 -2
  34. package/tmp/module/GraphCanvas/lib/nodes/drag-place-coefficient-getter.d.ts +0 -2
  35. package/tmp/module/GraphCanvas/lib/nodes/index.d.ts +0 -8
  36. package/tmp/module/GraphCanvas/lib/nodes/is-overlaps-node.d.ts +0 -2
  37. package/tmp/module/GraphCanvas/lib/nodes/node-by-pointer-getter.d.ts +0 -11
  38. package/tmp/module/GraphCanvas/lib/nodes/node-id-getter.d.ts +0 -2
  39. package/tmp/module/GraphCanvas/lib/nodes/node-iteration-extractor.d.ts +0 -5
  40. package/tmp/module/GraphCanvas/lib/nodes/node-options-getter.d.ts +0 -4
  41. package/tmp/module/GraphCanvas/lib/nodes/node-radius-getter.d.ts +0 -8
  42. package/tmp/module/GraphCanvas/lib/nodes/node-settings-getter.d.ts +0 -2
  43. package/tmp/module/GraphCanvas/lib/pointer-getter.d.ts +0 -2
  44. package/tmp/module/GraphCanvas/types/graph.d.ts +0 -15
  45. package/tmp/module/GraphCanvas/types/index.d.ts +0 -3
  46. package/tmp/module/GraphCanvas/types/listeners.d.ts +0 -21
  47. package/tmp/module/GraphCanvas/types/settings.d.ts +0 -62
  48. package/tmp/module/GraphCanvasEngine/GraphCanvasEngine.d.ts +0 -0
  49. package/tmp/module/GraphCanvasEngine/GraphCanvasEngine.types.d.ts +0 -0
  50. package/tmp/module/GraphCanvasEngine/index.d.ts +0 -0
  51. package/tmp/types/index.d.ts +0 -2
  52. package/tmp/types/links.d.ts +0 -5
  53. package/tmp/types/nodes.d.ts +0 -8
@@ -1,3 +0,0 @@
1
- import type { GraphCanvasInterface } from "../../module/GraphCanvas";
2
- import type { LinkData, NodeData } from "../types";
3
- export declare function createNewDynamicMock(oldState: Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">): Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
@@ -1,7 +0,0 @@
1
- import type { GraphCanvasInterface } from "../../module/GraphCanvas";
2
- import type { LinkData, NodeData } from "../types";
3
- export declare const d3Mock: Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
4
- export declare const stressMock: Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
5
- export declare const realMock: Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
6
- export * from "./custom-mock";
7
- export * from "./dynamic-mock";
@@ -1,4 +0,0 @@
1
- export type NodeData = {
2
- name?: string;
3
- };
4
- export type LinkData = {};
package/tmp/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./module/GraphCanvas";
2
- export * from "./types";
@@ -1 +0,0 @@
1
- export declare function checkType<T>(value: unknown, condition: boolean): value is T;
@@ -1 +0,0 @@
1
- export declare function colorGetter(): (key: string) => string;
@@ -1,3 +0,0 @@
1
- export * from "./check-type";
2
- export * from "./underscore";
3
- export * from "./color-getter";
@@ -1,2 +0,0 @@
1
- import debounce from "lodash/debounce";
2
- export { debounce };
File without changes
File without changes
File without changes
@@ -1,49 +0,0 @@
1
- import type { GraphCanvasInterface } from "./types";
2
- export declare class GraphCanvas<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> {
3
- /** initial data */
4
- private nodes;
5
- private links;
6
- private width;
7
- private height;
8
- private root;
9
- private container;
10
- private area;
11
- private dpi;
12
- /** settings */
13
- private graphSettings;
14
- private forceSettings;
15
- private nodeSettings;
16
- private linkSettings;
17
- private listeners;
18
- /** service */
19
- private context;
20
- private simulation;
21
- private areaTransform;
22
- private areaRect;
23
- private draw;
24
- private simulationWorking;
25
- private isDragging;
26
- private eventAbortController;
27
- private highlightedNode;
28
- private highlightedNeighbors;
29
- private fading;
30
- constructor({ links, nodes, root, forceSettings, linkSettings, listeners, nodeSettings, graphSettings, }: GraphCanvasInterface<NodeData, LinkData>);
31
- getData(): Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
32
- changeData(options: Pick<Partial<GraphCanvasInterface<NodeData, LinkData>>, "links" | "nodes">): void;
33
- changeSettings(options: Omit<Partial<GraphCanvasInterface<NodeData, LinkData>>, "links" | "nodes" | "listeners">): void;
34
- start(): void;
35
- destroy(): void;
36
- private updateSettings;
37
- private updateData;
38
- private updateSize;
39
- private init;
40
- private initSimulation;
41
- private initSimulationForces;
42
- private initCollideForce;
43
- private initArea;
44
- private initDraw;
45
- private initResize;
46
- private initPointer;
47
- private initDnd;
48
- private initZoom;
49
- }
@@ -1 +0,0 @@
1
- export * from "./settings";
@@ -1,50 +0,0 @@
1
- export declare const FORCE_SETTINGS: {
2
- centerPosition: {};
3
- centerStrength: number;
4
- collideAdditionalRadius: number;
5
- collideStrength: number;
6
- collideIterations: number;
7
- collideOffMax: {
8
- links: number;
9
- nodes: number;
10
- };
11
- collideOn: boolean;
12
- chargeStrength: number;
13
- chargeDistanceMax: number;
14
- chargeDistanceMin: number;
15
- xForce: number;
16
- xStrength: number;
17
- yForce: number;
18
- yStrength: number;
19
- linkDistance: number;
20
- linkIterations: number;
21
- linkStrength: number;
22
- };
23
- export declare const GRAPH_SETTINGS: {
24
- zoomExtent: [number, number];
25
- stickAfterDrag: boolean;
26
- highlightByHover: boolean;
27
- minFading: number;
28
- };
29
- export declare const NODE_SETTINGS: {
30
- alpha: number;
31
- colorOuter: string;
32
- font: string;
33
- fontAlign: CanvasTextAlign;
34
- fontColor: string;
35
- width: number;
36
- zoomTextBorder: number;
37
- initialRadius: number;
38
- radiusCoefficient: number;
39
- radiusFactor: number;
40
- flexibleRadius: boolean;
41
- };
42
- export declare const LINK_SETTINGS: {
43
- alpha: number;
44
- colorFar: string;
45
- colorNear: string;
46
- widthFar: number;
47
- widthNear: number;
48
- zoomWidthBorder: number;
49
- zoomColorBorder: number;
50
- };
@@ -1,2 +0,0 @@
1
- export * from "./GraphCanvas";
2
- export * from "./types";
@@ -1,2 +0,0 @@
1
- import type { GraphCanvasForceSettings } from "../types";
2
- export declare function forceSettingsGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(settings: GraphCanvasForceSettings<NodeData, LinkData> | undefined): Required<GraphCanvasForceSettings<NodeData, LinkData>>;
@@ -1,2 +0,0 @@
1
- import type { GraphCanvasSettingInterface } from "../types";
2
- export declare function graphSettingsGetter<NodeData extends Record<string, unknown>>(settings: GraphCanvasSettingInterface<NodeData> | undefined): Required<GraphCanvasSettingInterface<NodeData>>;
@@ -1,6 +0,0 @@
1
- export * from "./links";
2
- export * from "./force-settings-getter";
3
- export * from "./listeners-getter";
4
- export * from "./graph-settings-getter";
5
- export * from "./pointer-getter";
6
- export * from "./nodes";
@@ -1,3 +0,0 @@
1
- export * from "./link-iteration-extractor";
2
- export * from "./link-options-getter";
3
- export * from "./link-settings-getter";
@@ -1,5 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { LinkInterface } from "../../../../types";
3
- import type { GraphCanvasLinkIterationProps } from "../../types";
4
- export declare function linkIterationExtractor<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[]>(link: LinkInterface<NodeData, LinkData>, i: number, links: LinkInterface<NodeData, LinkData>[], transform: ZoomTransform, option: GraphCanvasLinkIterationProps<NodeData, LinkData, Result> | Result, optionConstantGetter: undefined): Result;
5
- export declare function linkIterationExtractor<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[]>(link: LinkInterface<NodeData, LinkData>, i: number, links: LinkInterface<NodeData, LinkData>[], transform: ZoomTransform, option: GraphCanvasLinkIterationProps<NodeData, LinkData, Result> | Result, optionConstantGetter: GraphCanvasLinkIterationProps<NodeData, LinkData, Required<Result>> | Required<Result>): Required<Result>;
@@ -1,4 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { LinkInterface } from "../../../../types";
3
- import type { GraphCanvasLinkOptions } from "../../types";
4
- export declare function linkOptionsGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(_: LinkInterface<NodeData, LinkData>, __: number, ___: LinkInterface<NodeData, LinkData>[], transform?: ZoomTransform | null): Required<GraphCanvasLinkOptions>;
@@ -1,2 +0,0 @@
1
- import type { GraphCanvasLinkSettings } from "../../types";
2
- export declare function linkSettingsGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(settings: GraphCanvasLinkSettings<NodeData, LinkData> | undefined): Required<Omit<GraphCanvasLinkSettings<NodeData, LinkData>, "options">> & Pick<GraphCanvasLinkSettings<NodeData, LinkData>, "options">;
@@ -1,2 +0,0 @@
1
- import type { GraphCanvasListeners } from "../types";
2
- export declare function listenersGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(settings: GraphCanvasListeners<NodeData, LinkData> | undefined): GraphCanvasListeners<NodeData, LinkData>;
@@ -1,2 +0,0 @@
1
- import type { NodeInterface } from "../../../../types";
2
- export declare function dragPlaceCoefficientGetter<NodeData extends Record<string, unknown>>(node: NodeInterface<NodeData>, pointerX: number, pointerY: number, radius: number): number | undefined;
@@ -1,8 +0,0 @@
1
- export * from "./drag-place-coefficient-getter";
2
- export * from "./is-overlaps-node";
3
- export * from "./node-by-pointer-getter";
4
- export * from "./node-id-getter";
5
- export * from "./node-iteration-extractor";
6
- export * from "./node-options-getter";
7
- export * from "./node-radius-getter";
8
- export * from "./node-settings-getter";
@@ -1,2 +0,0 @@
1
- import type { NodeInterface } from "../../../../types";
2
- export declare function isOverlapsNode<NodeData extends Record<string, unknown>>(node: NodeInterface<NodeData>, radius: number, pointerX: number, pointerY: number): boolean;
@@ -1,11 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { NodeInterface } from "../../../../types";
3
- import type { GraphCanvasNodeIterationProps, GraphCanvasNodeOptions } from "../../types";
4
- export type NodeByPointerGetterOptions<NodeData extends Record<string, unknown>> = {
5
- mouseEvent: MouseEvent;
6
- areaRect: DOMRect | undefined;
7
- areaTransform: ZoomTransform;
8
- nodes: NodeInterface<NodeData>[];
9
- nodeCustomOptions: GraphCanvasNodeIterationProps<NodeData, GraphCanvasNodeOptions> | GraphCanvasNodeOptions | undefined;
10
- };
11
- export declare function nodeByPointerGetter<NodeData extends Record<string, unknown>>({ areaRect, areaTransform, mouseEvent, nodes, nodeCustomOptions, }: NodeByPointerGetterOptions<NodeData>): NodeInterface<NodeData> | undefined;
@@ -1,2 +0,0 @@
1
- import type { NodeInterface } from "../../../../types";
2
- export declare function nodeIdGetter<NodeData extends Record<string, unknown>>(d: NodeInterface<NodeData>): string | number;
@@ -1,5 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { NodeInterface } from "../../../../types";
3
- import type { GraphCanvasNodeIterationProps } from "../../types";
4
- export declare function nodeIterationExtractor<NodeData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[] | undefined | null>(node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[], transform: ZoomTransform, option: GraphCanvasNodeIterationProps<NodeData, Result> | Result, optionConstantGetter: undefined): Result;
5
- export declare function nodeIterationExtractor<NodeData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[] | undefined | null>(node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[], transform: ZoomTransform, option: GraphCanvasNodeIterationProps<NodeData, Result> | Result, optionConstantGetter: GraphCanvasNodeIterationProps<NodeData, Result> | Result): Required<Result>;
@@ -1,4 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { NodeInterface } from "../../../../types";
3
- import type { GraphCanvasNodeOptions } from "../../types";
4
- export declare function nodeOptionsGetter<NodeData extends Record<string, unknown>>(node: NodeInterface<NodeData>, _: number, __: NodeInterface<NodeData>[], transform?: ZoomTransform): Required<GraphCanvasNodeOptions>;
@@ -1,8 +0,0 @@
1
- export type NodeRadiusGetterOptions = {
2
- linkCount: number | undefined;
3
- flexibleRadius: boolean;
4
- radiusCoefficient: number;
5
- radiusFactor: number;
6
- initialRadius: number;
7
- };
8
- export declare function nodeRadiusGetter({ flexibleRadius, initialRadius, linkCount, radiusCoefficient, radiusFactor, }: NodeRadiusGetterOptions): number;
@@ -1,2 +0,0 @@
1
- import type { GraphCanvasNodeSettings } from "../../types";
2
- export declare function nodeSettingsGetter<NodeData extends Record<string, unknown>>(settings: GraphCanvasNodeSettings<NodeData> | undefined): Required<Omit<GraphCanvasNodeSettings<NodeData>, "options">> & Pick<GraphCanvasNodeSettings<NodeData>, "options">;
@@ -1,2 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- export declare function pointerGetter(mouseEvent: MouseEvent, areaRect: DOMRect, areaTransform: ZoomTransform): number[];
@@ -1,15 +0,0 @@
1
- import type { Simulation } from "d3-force";
2
- import type { LinkInterface, NodeInterface } from "../../../types";
3
- import type { GraphCanvasListeners } from "./listeners";
4
- import type { GraphCanvasForceSettings, GraphCanvasLinkSettings, GraphCanvasNodeSettings, GraphCanvasSettingInterface } from "./settings";
5
- export type GraphCanvasInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
6
- nodes: NodeInterface<NodeData>[];
7
- links: LinkInterface<NodeData, LinkData>[];
8
- root: HTMLElement;
9
- graphSettings?: GraphCanvasSettingInterface<NodeData>;
10
- forceSettings?: GraphCanvasForceSettings<NodeData, LinkData>;
11
- nodeSettings?: GraphCanvasNodeSettings<NodeData>;
12
- linkSettings?: GraphCanvasLinkSettings<NodeData, LinkData>;
13
- listeners?: GraphCanvasListeners<NodeData, LinkData>;
14
- };
15
- export type GraphCanvasSimulation<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = Simulation<NodeInterface<NodeData>, LinkInterface<NodeData, LinkData>>;
@@ -1,3 +0,0 @@
1
- export * from "./graph";
2
- export * from "./listeners";
3
- export * from "./settings";
@@ -1,21 +0,0 @@
1
- import type { D3DragEvent } from "d3-drag";
2
- import type { D3ZoomEvent, ZoomTransform } from "d3-zoom";
3
- import type { NodeInterface } from "../../../types";
4
- import type { GraphCanvasSimulation } from "./graph";
5
- export type GraphCanvasZoomEvent = D3ZoomEvent<HTMLCanvasElement, unknown>;
6
- export type GraphCanvasDragEvent<NodeData extends Record<string, unknown>> = D3DragEvent<HTMLElement, unknown, NodeInterface<NodeData>>;
7
- export type GraphCanvasListeners<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
8
- onContextMenu?: (event: MouseEvent, node?: NodeInterface<NodeData>) => void;
9
- onClick?: (event: MouseEvent, node?: NodeInterface<NodeData>) => void;
10
- onDoubleClick?: (event: MouseEvent, node?: NodeInterface<NodeData>) => void;
11
- onWheelClick?: (event: MouseEvent, node?: NodeInterface<NodeData>) => void;
12
- onMove?: (event: MouseEvent, node?: NodeInterface<NodeData>) => void;
13
- onZoom?: (event: GraphCanvasZoomEvent) => void;
14
- onDragSubject?: (event: GraphCanvasDragEvent<NodeData>, transform: ZoomTransform, nodes: NodeInterface<NodeData>[]) => NodeInterface<NodeData> | undefined;
15
- onDraw?: (canvasContext: CanvasRenderingContext2D, transform: ZoomTransform) => void;
16
- onStartDragFinished?: (event: GraphCanvasDragEvent<NodeData>, simulations: GraphCanvasSimulation<NodeData, LinkData> | undefined, transform: ZoomTransform) => void;
17
- onMoveDragFinished?: (event: GraphCanvasDragEvent<NodeData>, simulations: GraphCanvasSimulation<NodeData, LinkData> | undefined, transform: ZoomTransform) => void;
18
- onEndDragFinished?: (event: GraphCanvasDragEvent<NodeData>, simulations: GraphCanvasSimulation<NodeData, LinkData> | undefined, transform: ZoomTransform) => void;
19
- onDrawFinished?: (canvasContext: CanvasRenderingContext2D, transform: ZoomTransform) => void;
20
- onSimulationEnd?: (simulations: GraphCanvasSimulation<NodeData, LinkData> | undefined) => void;
21
- };
@@ -1,62 +0,0 @@
1
- import type { ZoomTransform } from "d3-zoom";
2
- import type { LinkInterface, NodeInterface } from "../../../types";
3
- export type GraphCanvasSettingInterface<NodeData extends Record<string, unknown>> = {
4
- minFading?: number;
5
- highlightByHover?: boolean;
6
- stickAfterDrag?: boolean;
7
- zoomExtent?: [number, number];
8
- dragPlaceCoefficient?: (node: NodeInterface<NodeData>, pxEvent: number, pyEvent: number, radius: number) => number | undefined;
9
- };
10
- export type GraphCanvasForceSettings<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
11
- collideOn?: boolean;
12
- collideOffMax?: {
13
- nodes: number;
14
- links: number;
15
- };
16
- collideRadius?: GraphCanvasNodeIterationProps<NodeData> | number | null;
17
- collideStrength?: number;
18
- collideIterations?: number;
19
- linkDistance?: GraphCanvasLinkIterationProps<NodeData, LinkData> | number;
20
- linkStrength?: GraphCanvasLinkIterationProps<NodeData, LinkData> | number;
21
- linkIterations?: number;
22
- chargeStrength?: GraphCanvasNodeIterationProps<NodeData> | number;
23
- chargeDistanceMax?: number;
24
- chargeDistanceMin?: number;
25
- centerPosition?: {
26
- x?: number;
27
- y?: number;
28
- };
29
- centerStrength?: number;
30
- xForce?: GraphCanvasNodeIterationProps<NodeData> | number;
31
- xStrength?: GraphCanvasNodeIterationProps<NodeData> | number;
32
- yForce?: GraphCanvasNodeIterationProps<NodeData> | number;
33
- yStrength?: GraphCanvasNodeIterationProps<NodeData> | number;
34
- };
35
- export type GraphCanvasNodeSettings<NodeData extends Record<string, unknown>> = {
36
- idGetter?: GraphCanvasNodeIterationProps<NodeData, string | number>;
37
- options?: GraphCanvasNodeIterationProps<NodeData, GraphCanvasNodeOptions> | GraphCanvasNodeOptions;
38
- };
39
- export type GraphCanvasNodeOptions = {
40
- initialRadius?: number;
41
- radiusCoefficient?: number;
42
- radiusFactor?: number;
43
- flexibleRadius?: boolean;
44
- width?: number;
45
- alpha?: number;
46
- colorOuter?: string;
47
- colorInner?: string;
48
- text?: string | null;
49
- font?: string;
50
- fontColor?: string;
51
- fontAlign?: CanvasTextAlign;
52
- };
53
- export type GraphCanvasNodeIterationProps<NodeData extends Record<string, unknown>, Return = number> = (node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[], transform?: ZoomTransform) => Return;
54
- export type GraphCanvasLinkSettings<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
55
- options?: GraphCanvasLinkIterationProps<NodeData, LinkData, GraphCanvasLinkOptions> | GraphCanvasLinkOptions;
56
- };
57
- export type GraphCanvasLinkOptions = {
58
- alpha?: number;
59
- color?: string;
60
- width?: number;
61
- };
62
- export type GraphCanvasLinkIterationProps<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Return = number> = (link: LinkInterface<NodeData, LinkData>, i: number, links: LinkInterface<NodeData, LinkData>[], transform?: ZoomTransform | null) => Return;
File without changes
@@ -1,2 +0,0 @@
1
- export * from "./links";
2
- export * from "./nodes";
@@ -1,5 +0,0 @@
1
- import type { SimulationLinkDatum } from "d3-force";
2
- import type { NodeInterface } from "./nodes";
3
- export interface LinkInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> extends SimulationLinkDatum<NodeInterface<NodeData>> {
4
- data?: LinkData;
5
- }
@@ -1,8 +0,0 @@
1
- import type { SimulationNodeDatum } from "d3-force";
2
- export interface NodeInterface<NodeData extends Record<string, unknown>> extends SimulationNodeDatum {
3
- id: number | string;
4
- linkCount?: number;
5
- group?: number | string;
6
- neighbors?: (string | number)[];
7
- data?: NodeData;
8
- }