@krainovsd/graph 0.13.0-beta1 → 0.14.0-beta.1
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/lib/cjs/index.cjs +984 -497
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/esm/constants/force-controls.js +4 -2
- package/lib/esm/constants/force-controls.js.map +1 -1
- package/lib/esm/constants/highlight-controls.js +9 -16
- package/lib/esm/constants/highlight-controls.js.map +1 -1
- package/lib/esm/constants/link-controls.js +17 -30
- package/lib/esm/constants/link-controls.js.map +1 -1
- package/lib/esm/constants/node-controls.js +4 -2
- package/lib/esm/constants/node-controls.js.map +1 -1
- package/lib/esm/index.js +8 -7
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/module/GraphCanvas/GraphCanvas.js +222 -34
- package/lib/esm/module/GraphCanvas/GraphCanvas.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/force-settings.js +11 -1
- package/lib/esm/module/GraphCanvas/constants/force-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/graph-settings.js +17 -5
- package/lib/esm/module/GraphCanvas/constants/graph-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/highlight-settings.js +5 -3
- package/lib/esm/module/GraphCanvas/constants/highlight-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/index.js +5 -2
- package/lib/esm/module/GraphCanvas/constants/index.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/link-settings.js +19 -9
- package/lib/esm/module/GraphCanvas/constants/link-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/node-settings.js +13 -3
- package/lib/esm/module/GraphCanvas/constants/node-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/force-settings-getter.js +4 -2
- package/lib/esm/module/GraphCanvas/lib/settings/force-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/graph-settings-getter.js +4 -0
- package/lib/esm/module/GraphCanvas/lib/settings/graph-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/highlight-settings-getter.js +4 -2
- package/lib/esm/module/GraphCanvas/lib/settings/highlight-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/link-settings-getter.js +8 -5
- package/lib/esm/module/GraphCanvas/lib/settings/link-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js +14 -2
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-curve-link-position-by-node.js +45 -0
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-curve-link-position-by-node.js.map +1 -0
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-node.js +42 -37
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-node.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/compute-graph-bounds.js +26 -0
- package/lib/esm/module/GraphCanvas/lib/utils/compute-graph-bounds.js.map +1 -0
- package/lib/esm/module/GraphCanvas/lib/utils/get-particle-position.js +40 -30
- package/lib/esm/module/GraphCanvas/lib/utils/get-particle-position.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/is-empty-object.js +11 -0
- package/lib/esm/module/GraphCanvas/lib/utils/is-empty-object.js.map +1 -0
- package/lib/esm/module/GraphCanvas/lib/utils/is-node-visible.js +5 -2
- package/lib/esm/module/GraphCanvas/lib/utils/is-node-visible.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/link-by-pointer-getter.js +72 -22
- package/lib/esm/module/GraphCanvas/lib/utils/link-by-pointer-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-links.js +115 -77
- package/lib/esm/module/GraphCanvas/slices/draw-links.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js +9 -4
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-dnd.js +21 -4
- package/lib/esm/module/GraphCanvas/slices/init-dnd.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-draw.js +1 -52
- package/lib/esm/module/GraphCanvas/slices/init-draw.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-pointer.js +12 -34
- package/lib/esm/module/GraphCanvas/slices/init-pointer.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-resize.js +7 -0
- package/lib/esm/module/GraphCanvas/slices/init-resize.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js +12 -2
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js +85 -16
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/update-link-cache.js +63 -3
- package/lib/esm/module/GraphCanvas/slices/update-link-cache.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/update-node-cache.js +61 -16
- package/lib/esm/module/GraphCanvas/slices/update-node-cache.js.map +1 -1
- package/lib/index.d.ts +90 -36
- package/package.json +3 -2
package/lib/index.d.ts
CHANGED
|
@@ -36,16 +36,25 @@ interface LinkInterface<NodeData extends Record<string, unknown>, LinkData exten
|
|
|
36
36
|
data?: LinkData;
|
|
37
37
|
highlight?: boolean;
|
|
38
38
|
visible?: boolean;
|
|
39
|
+
_groupIndex?: number;
|
|
40
|
+
_groupSize?: number;
|
|
41
|
+
_self?: boolean;
|
|
42
|
+
_x1?: number;
|
|
43
|
+
_y1?: number;
|
|
44
|
+
_x2?: number;
|
|
45
|
+
_y2?: number;
|
|
46
|
+
_cx?: number;
|
|
47
|
+
_cy?: number;
|
|
48
|
+
_ax?: number;
|
|
49
|
+
_ay?: number;
|
|
39
50
|
}
|
|
40
51
|
type LinkParticle = {
|
|
41
|
-
step: number;
|
|
42
52
|
index: number;
|
|
43
|
-
prev: LinkParticle | undefined;
|
|
44
|
-
next: LinkParticle | undefined;
|
|
45
53
|
x?: number;
|
|
46
54
|
y?: number;
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
_distanceTraveled?: number;
|
|
56
|
+
_lastDistance?: number;
|
|
57
|
+
_lastTime?: number;
|
|
49
58
|
};
|
|
50
59
|
|
|
51
60
|
type NodeIterationPropsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Return = number> = (this: GraphCanvas<NodeData, LinkData>, node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[]) => Return;
|
|
@@ -53,6 +62,12 @@ type LinkIterationPropsInterface<NodeData extends Record<string, unknown>, LinkD
|
|
|
53
62
|
type NodeIterationPropsNoThisInterface<NodeData extends Record<string, unknown>, Return = number> = (node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[]) => Return;
|
|
54
63
|
type LinkIterationPropsNoThisInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Return = number> = (link: LinkInterface<NodeData, LinkData>, i: number, links: LinkInterface<NodeData, LinkData>[]) => Return;
|
|
55
64
|
|
|
65
|
+
type PrecomputeForceSettingsInterface = {
|
|
66
|
+
precompute?: boolean;
|
|
67
|
+
precomputeMaxTimeMs?: number;
|
|
68
|
+
precomputeMaxTicks?: number;
|
|
69
|
+
precomputeDisableForcesAfter?: boolean;
|
|
70
|
+
};
|
|
56
71
|
type ForceSettingsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
57
72
|
forces?: boolean;
|
|
58
73
|
xForce?: boolean;
|
|
@@ -83,15 +98,21 @@ type ForceSettingsInterface<NodeData extends Record<string, unknown>, LinkData e
|
|
|
83
98
|
xStrength?: NodeIterationPropsNoThisInterface<NodeData> | number;
|
|
84
99
|
yPosition?: NodeIterationPropsNoThisInterface<NodeData> | number;
|
|
85
100
|
yStrength?: NodeIterationPropsNoThisInterface<NodeData> | number;
|
|
86
|
-
};
|
|
101
|
+
} & PrecomputeForceSettingsInterface;
|
|
87
102
|
|
|
88
103
|
declare const FORCE_SETTINGS: Required<ForceSettingsInterface<Record<string, unknown>, Record<string, unknown>>>;
|
|
104
|
+
declare const PERFORMANCE_FORCE_SETTINGS: Required<ForceSettingsInterface<Record<string, unknown>, Record<string, unknown>>>;
|
|
89
105
|
|
|
90
106
|
type GraphSettingsInterface<NodeData extends Record<string, unknown>> = {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
107
|
+
zoomAnimation?: boolean;
|
|
108
|
+
zoomAnimationDuration?: number;
|
|
109
|
+
zoomToNodeScale?: number;
|
|
110
|
+
zoomToFitMargin?: number;
|
|
111
|
+
zoomExtent?: [number, number] | null;
|
|
112
|
+
zoomExtentMargin?: number;
|
|
113
|
+
translateExtent?: [[number?, number?], [number?, number?]] | null;
|
|
114
|
+
translateExtentCoefficient?: number | [number, number] | null;
|
|
115
|
+
translateExtentOverlap?: number;
|
|
95
116
|
zoomInitial?: {
|
|
96
117
|
k?: number;
|
|
97
118
|
x?: number;
|
|
@@ -103,11 +124,11 @@ type GraphSettingsInterface<NodeData extends Record<string, unknown>> = {
|
|
|
103
124
|
};
|
|
104
125
|
|
|
105
126
|
declare const GRAPH_SETTINGS: Required<GraphSettingsInterface<Record<string, unknown>>>;
|
|
127
|
+
declare const PERFORMANCE_GRAPH_SETTINGS: Required<GraphSettingsInterface<Record<string, unknown>>>;
|
|
106
128
|
|
|
107
129
|
type HighlightSettingsInterface = HighlighCommonSettingsInterface & HighlightByNodeForNodeSettingsInterface & HighlightByNodeForLabelSettingsInterface & HighlightByNodeForTextSettingsInterface & HighlightByNodeForLinkSettingsInterface & HighlightByNodeForArrowSettingsInterface & HighlightByLinkForNodeSettingsInterface & HighlightByLinkForTextSettingsInterface & HighlightByLinkForLabelSettingsInterface & HighlightByLinkForLinkSettingsInterface & HighlightByLinkForArrowSettingsInterface;
|
|
108
130
|
type HighlighCommonSettingsInterface = {
|
|
109
|
-
|
|
110
|
-
highlightUpFrames?: number;
|
|
131
|
+
highlightDuration?: number;
|
|
111
132
|
highlightByHoverNode?: boolean;
|
|
112
133
|
highlightByHoverLink?: boolean;
|
|
113
134
|
linkHoverExtraZone?: number;
|
|
@@ -181,14 +202,17 @@ type HighlightByLinkForArrowSettingsInterface = {
|
|
|
181
202
|
};
|
|
182
203
|
|
|
183
204
|
declare const HIGHLIGHT_SETTINGS: Required<HighlightSettingsInterface>;
|
|
205
|
+
declare const PERFORMANCE_HIGHLIGHT_SETTINGS: Required<HighlightSettingsInterface>;
|
|
184
206
|
|
|
185
207
|
type LinkSettingsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
208
|
+
smartCache?: boolean;
|
|
186
209
|
prettyDraw?: boolean;
|
|
210
|
+
curve?: boolean;
|
|
187
211
|
arrow?: boolean;
|
|
188
212
|
arrowByHighlight?: boolean;
|
|
189
213
|
particles?: boolean;
|
|
190
|
-
|
|
191
|
-
|
|
214
|
+
particleCountByDistance?: number;
|
|
215
|
+
particleSpeedByDistance?: number;
|
|
192
216
|
linkScaleSwitch?: number;
|
|
193
217
|
linkWidthBeforeScaleSwitch?: number;
|
|
194
218
|
linkWidthAfterScaleSwitch?: number;
|
|
@@ -216,16 +240,18 @@ type LinkOptionsParticleInterface = {
|
|
|
216
240
|
particleAlpha?: number;
|
|
217
241
|
particleColor?: string;
|
|
218
242
|
particleRadius?: number;
|
|
219
|
-
particleCount?: number;
|
|
220
|
-
particleSteps?: number;
|
|
221
243
|
particleBorderWidth?: number;
|
|
222
244
|
particleBorderColor?: string;
|
|
223
245
|
};
|
|
224
246
|
|
|
225
247
|
declare const LINK_SETTINGS: Omit<Required<LinkSettingsInterface<Record<string, unknown>, Record<string, unknown>>>, "options">;
|
|
226
248
|
declare const LINK_OPTIONS: Omit<Required<LinkOptionsInterface<Record<string, unknown>, Record<string, unknown>>>, "color" | "width" | "drawLink" | "drawExtraLink" | "arrowColor">;
|
|
249
|
+
declare const PERFORMANCE_LINK_SETTINGS: Omit<Required<LinkSettingsInterface<Record<string, unknown>, Record<string, unknown>>>, "options">;
|
|
250
|
+
declare const PERFORMANCE_LINK_OPTIONS: Omit<Required<LinkOptionsInterface<Record<string, unknown>, Record<string, unknown>>>, "color" | "width" | "drawLink" | "drawExtraLink" | "arrowColor">;
|
|
227
251
|
|
|
228
252
|
type NodeSettingsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
253
|
+
smartCache?: boolean;
|
|
254
|
+
textScaleSteps?: number[];
|
|
229
255
|
nodeRadiusFlexible?: boolean;
|
|
230
256
|
nodeRadiusLinkCountForStep?: number;
|
|
231
257
|
nodeRadiusIncrementByStep?: number;
|
|
@@ -297,6 +323,8 @@ type NodeOptionsLabelInterface = {
|
|
|
297
323
|
|
|
298
324
|
declare const NODE_SETTINGS: Omit<Required<NodeSettingsInterface<Record<string, unknown>, Record<string, unknown>>>, "options" | "idGetter">;
|
|
299
325
|
declare const NODE_OPTIONS: Omit<Required<NodeOptionsInterface<Record<string, unknown>, Record<string, unknown>>>, "color" | "text" | "textVisible" | "textSize" | "textShiftY" | "nodeDraw" | "nodeExtraDraw" | "textDraw" | "textExtraDraw">;
|
|
326
|
+
declare const PERFORMANCE_NODE_SETTINGS: Omit<Required<NodeSettingsInterface<Record<string, unknown>, Record<string, unknown>>>, "options" | "idGetter">;
|
|
327
|
+
declare const PERFOMANCE_NODE_OPTIONS: Omit<Required<NodeOptionsInterface<Record<string, unknown>, Record<string, unknown>>>, "color" | "text" | "textVisible" | "textSize" | "textShiftY" | "nodeDraw" | "nodeExtraDraw" | "textDraw" | "textExtraDraw">;
|
|
300
328
|
|
|
301
329
|
declare const GRAPH_CACHE_TYPE: {
|
|
302
330
|
readonly NodeOptions: "nodeOptions";
|
|
@@ -341,7 +369,7 @@ declare class GraphCanvas<NodeData extends Record<string, unknown>, LinkData ext
|
|
|
341
369
|
/** initial data */
|
|
342
370
|
protected nodes: NodeInterface<NodeData>[];
|
|
343
371
|
protected links: LinkInterface<NodeData, LinkData>[];
|
|
344
|
-
protected particles:
|
|
372
|
+
protected particles: (LinkParticle[] | undefined)[];
|
|
345
373
|
protected width: number;
|
|
346
374
|
protected height: number;
|
|
347
375
|
protected root: HTMLElement;
|
|
@@ -358,30 +386,40 @@ declare class GraphCanvas<NodeData extends Record<string, unknown>, LinkData ext
|
|
|
358
386
|
protected context: CanvasRenderingContext2D | null | undefined;
|
|
359
387
|
protected simulation: GraphCanvasSimulation<NodeData, LinkData> | undefined;
|
|
360
388
|
protected areaTransform: ZoomTransform;
|
|
389
|
+
protected _translateExtent: [[number, number], [number, number]] | undefined;
|
|
361
390
|
protected areaRect: DOMRect | undefined;
|
|
362
391
|
protected draw: (this: GraphCanvas<NodeData, LinkData>, recursive?: boolean) => void;
|
|
363
392
|
protected eventAbortController: AbortController;
|
|
364
|
-
protected cachedNodeText:
|
|
365
|
-
protected cachedNodeLabel:
|
|
366
|
-
protected linkOptionsCache:
|
|
367
|
-
protected nodeOptionsCache:
|
|
393
|
+
protected cachedNodeText: (string[] | undefined)[];
|
|
394
|
+
protected cachedNodeLabel: (string[] | undefined)[];
|
|
395
|
+
protected linkOptionsCache: (Required<LinkOptionsInterface<NodeData, LinkData>> | undefined)[];
|
|
396
|
+
protected nodeOptionsCache: (Required<NodeOptionsInterface<NodeData, LinkData>> | undefined)[];
|
|
368
397
|
protected isDragging: boolean;
|
|
369
398
|
protected highlightedNode: NodeInterface<NodeData> | null;
|
|
370
399
|
protected highlightedLink: LinkInterface<NodeData, LinkData> | null;
|
|
371
400
|
protected highlightedNeighbors: Set<string | number> | null;
|
|
372
401
|
protected highlightProgress: number;
|
|
373
|
-
protected
|
|
402
|
+
protected highlightStart: number | null;
|
|
403
|
+
protected highlightPositive: boolean;
|
|
404
|
+
protected highlightController: AbortController | undefined;
|
|
405
|
+
protected _lastNodeZoomK: number | undefined;
|
|
406
|
+
protected _lastLinkZoomK: number | undefined;
|
|
407
|
+
protected _zoomAnimating: boolean;
|
|
374
408
|
protected get simulationWorking(): boolean;
|
|
375
409
|
constructor({ links, nodes, root, forceSettings, linkSettings, listeners, nodeSettings, graphSettings, highlightSettings, }: GraphCanvasInterface<NodeData, LinkData>);
|
|
376
410
|
get dpi(): number;
|
|
377
411
|
getData(): Pick<GraphCanvasInterface<NodeData, LinkData>, "nodes" | "links">;
|
|
412
|
+
fitToView(margin?: number, duration?: number): void;
|
|
413
|
+
focusOnNode(nodeId: string | number, scale?: number, duration?: number): void;
|
|
414
|
+
protected animateHighlight(node: NodeInterface<NodeData> | undefined, link: LinkInterface<NodeData, LinkData> | undefined, baseDuration?: number): void;
|
|
415
|
+
protected animateZoom(area: HTMLCanvasElement, target: ZoomTransform, start: ZoomTransform, duration: number): void;
|
|
378
416
|
changeData(options: Pick<Partial<GraphCanvasInterface<NodeData, LinkData>>, "links" | "nodes">, alpha?: number, clearCache?: boolean | GraphCanvasCacheKeys[]): void;
|
|
379
417
|
changeSettings(options: Omit<Partial<GraphCanvasInterface<NodeData, LinkData>>, "links" | "nodes" | "listeners">, clearCache?: boolean | GraphCanvasCacheKeys[]): undefined;
|
|
380
418
|
updateRect(): void;
|
|
381
419
|
updateSize(): void;
|
|
382
420
|
clearCache(keys: boolean | GraphCanvasCacheKeys[]): void;
|
|
383
421
|
tick(): void;
|
|
384
|
-
restart(alpha?: number): void;
|
|
422
|
+
restart(alpha?: number, options?: Partial<PrecomputeForceSettingsInterface>): void;
|
|
385
423
|
start(): void;
|
|
386
424
|
stop(): void;
|
|
387
425
|
create(): void;
|
|
@@ -439,6 +477,14 @@ declare function nodeIdGetter<NodeData extends Record<string, unknown>>(node: No
|
|
|
439
477
|
|
|
440
478
|
declare function highlightSettingsGetter(settings: HighlightSettingsInterface | undefined, prevSettings?: Required<HighlightSettingsInterface>): Required<HighlightSettingsInterface>;
|
|
441
479
|
|
|
480
|
+
interface GraphBounds {
|
|
481
|
+
minX: number;
|
|
482
|
+
minY: number;
|
|
483
|
+
maxX: number;
|
|
484
|
+
maxY: number;
|
|
485
|
+
}
|
|
486
|
+
declare function computeGraphBounds<NodeData extends Record<string, unknown>>(nodes: NodeInterface<NodeData>[]): GraphBounds | null;
|
|
487
|
+
|
|
442
488
|
declare function pointerGetter(mouseEvent: MouseEvent | TouchEvent, areaRect: DOMRect, areaTransform: ZoomTransform): number[];
|
|
443
489
|
|
|
444
490
|
declare function dragPlaceCoefficientGetter<NodeData extends Record<string, unknown>>(node: NodeInterface<NodeData>, pointerX: number, pointerY: number): number | undefined;
|
|
@@ -459,13 +505,15 @@ declare function nodeByPointerGetter<NodeData extends Record<string, unknown>>({
|
|
|
459
505
|
declare function nodeIterationExtractor<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[] | undefined | null>(node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[], state: GraphCanvas<NodeData, LinkData>, option: NodeIterationPropsInterface<NodeData, LinkData, Result> | Result, optionConstantGetter: undefined): Result;
|
|
460
506
|
declare function nodeIterationExtractor<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>, Result extends string | number | boolean | Record<string, unknown> | unknown[] | undefined | null>(node: NodeInterface<NodeData>, i: number, nodes: NodeInterface<NodeData>[], state: GraphCanvas<NodeData, LinkData>, option: NodeIterationPropsInterface<NodeData, LinkData, Result> | Result, optionConstantGetter: NodeIterationPropsInterface<NodeData, LinkData, Result> | Result): Required<Result>;
|
|
461
507
|
|
|
462
|
-
declare function calculateLinkPositionByNode<NodeData extends Record<string, unknown
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
508
|
+
declare function calculateLinkPositionByNode<NodeData extends Record<string, unknown>>(xStart: number, yStart: number, xEnd: number, yEnd: number, sourceNode: NodeInterface<NodeData>, targetNode: NodeInterface<NodeData>, arrowSize?: number): {
|
|
509
|
+
xStart: number;
|
|
510
|
+
yStart: number;
|
|
511
|
+
xEnd: number;
|
|
512
|
+
yEnd: number;
|
|
513
|
+
xEndArrow: number;
|
|
514
|
+
yEndArrow: number;
|
|
467
515
|
distance: number;
|
|
468
|
-
}
|
|
516
|
+
};
|
|
469
517
|
|
|
470
518
|
declare function animationByProgress(initial: number, additional: number, progress: number): number;
|
|
471
519
|
|
|
@@ -483,11 +531,14 @@ type GetParticlePositionOptions = {
|
|
|
483
531
|
yStart: number;
|
|
484
532
|
xEnd: number;
|
|
485
533
|
yEnd: number;
|
|
486
|
-
|
|
487
|
-
|
|
534
|
+
xControl: number;
|
|
535
|
+
yControl: number;
|
|
488
536
|
distance: number;
|
|
537
|
+
totalCount: number;
|
|
538
|
+
speed: number;
|
|
489
539
|
};
|
|
490
540
|
declare function getParticlePosition(opts: GetParticlePositionOptions): void;
|
|
541
|
+
declare function approximateQuadraticBezierLength(x0: number, y0: number, x1: number, y1: number, x2: number, y2: number): number;
|
|
491
542
|
|
|
492
543
|
type LinkByPointerGetterOptions<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
493
544
|
mouseEvent: MouseEvent | TouchEvent;
|
|
@@ -495,8 +546,9 @@ type LinkByPointerGetterOptions<NodeData extends Record<string, unknown>, LinkDa
|
|
|
495
546
|
areaTransform: ZoomTransform;
|
|
496
547
|
links: LinkInterface<NodeData, LinkData>[];
|
|
497
548
|
linkHoverExtraZone: number;
|
|
549
|
+
curve: boolean;
|
|
498
550
|
};
|
|
499
|
-
declare function linkByPointerGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>({ areaRect, areaTransform, mouseEvent, links, linkHoverExtraZone, }: LinkByPointerGetterOptions<NodeData, LinkData>): LinkInterface<NodeData, LinkData> | undefined;
|
|
551
|
+
declare function linkByPointerGetter<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>({ areaRect, areaTransform, mouseEvent, links, linkHoverExtraZone, curve, }: LinkByPointerGetterOptions<NodeData, LinkData>): LinkInterface<NodeData, LinkData> | undefined;
|
|
500
552
|
|
|
501
553
|
type NodeHighlightOptions<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
502
554
|
nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;
|
|
@@ -582,9 +634,11 @@ declare function extractLinkPointIds<NodeData extends Record<string, unknown>, L
|
|
|
582
634
|
targetId: string | number;
|
|
583
635
|
};
|
|
584
636
|
|
|
585
|
-
declare function
|
|
637
|
+
declare function isEmptyObject(obj: Record<string, unknown>): boolean;
|
|
638
|
+
|
|
639
|
+
declare function getDrawLink<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(): (this: GraphCanvas<NodeData, LinkData>, link: LinkInterface<NodeData, LinkData>, index: number) => void;
|
|
586
640
|
|
|
587
|
-
declare function getDrawNode<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(nodeRenders: (() => void)[], textRenders: (() => void)[]): (this: GraphCanvas<NodeData, LinkData>, node: NodeInterface<NodeData
|
|
641
|
+
declare function getDrawNode<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(nodeRenders: (() => void)[], textRenders: (() => void)[]): (this: GraphCanvas<NodeData, LinkData>, node: NodeInterface<NodeData>, index: number) => void;
|
|
588
642
|
|
|
589
643
|
type DrawTextOptions = {
|
|
590
644
|
lines: string[];
|
|
@@ -682,5 +736,5 @@ declare const NODE_OPTIONS_NODE_CONTROLS: GraphSettingsInputInterface<keyof Node
|
|
|
682
736
|
declare const NODE_OPTIONS_TEXT_CONTROLS: GraphSettingsInputInterface<keyof NodeOptionsTextInterface>[];
|
|
683
737
|
declare const NODE_OPTIONS_LABEL_CONTROLS: GraphSettingsInputInterface<keyof NodeOptionsLabelInterface>[];
|
|
684
738
|
|
|
685
|
-
export { COMMON_SETTINGS, FORCE_CONTROLS, FORCE_SETTINGS, GRAPH_CACHE_TYPE, GRAPH_SETTINGS, GraphCanvas, HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS, HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS, HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS, HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS, HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS, HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS, HIGHLIGHT_COMMON_CONTROLS, HIGHLIGHT_SETTINGS, LINK_OPTIONS, LINK_OPTIONS_ARROW_CONTROLS, LINK_OPTIONS_LINK_CONTROLS, LINK_OPTIONS_PARTICLE_CONTROLS, LINK_SETTINGS, LINK_SETTINGS_CONTROLS, NODE_OPTIONS, NODE_OPTIONS_LABEL_CONTROLS, NODE_OPTIONS_NODE_CONTROLS, NODE_OPTIONS_TEXT_CONTROLS, NODE_SETTINGS, NODE_SETTINGS_CONTROLS, animationByProgress, calculateLinkPositionByNode, colorGetter, colorToRgb, dragPlaceCoefficientGetter, drawText, extractLinkPointIds, extractRgb, fadeRgb, forceSettingsGetter, getDrawLink, getDrawNode, getParticlePosition, graphSettingsGetter, highlightSettingsGetter, isNodeVisible, isOverlapsNode, linkByPointerGetter, linkFade, linkHighlight, linkIterationExtractor, linkOptionsGetter, linkSettingsGetter, listenersGetter, nodeByPointerGetter, nodeFade, nodeHighlight, nodeIdGetter, nodeIterationExtractor, nodeOptionsGetter, nodeRadiusGetter, nodeSettingsGetter, nodeSizeGetter, nodeTextSizeGetter, pointerGetter, rgbAnimationByProgress };
|
|
686
|
-
export type { CachedNodeTextInterface, DragEventInterface, ForceSettingsInterface, GraphCanvasCacheKeys, GraphCanvasInterface, GraphCanvasSimulation, GraphSettingsInputInterface, GraphSettingsInterface, HighlighCommonSettingsInterface, HighlightByLinkForArrowSettingsInterface, HighlightByLinkForLabelSettingsInterface, HighlightByLinkForLinkSettingsInterface, HighlightByLinkForNodeSettingsInterface, HighlightByLinkForTextSettingsInterface, HighlightByNodeForArrowSettingsInterface, HighlightByNodeForLabelSettingsInterface, HighlightByNodeForLinkSettingsInterface, HighlightByNodeForNodeSettingsInterface, HighlightByNodeForTextSettingsInterface, HighlightSettingsInterface, LinkByPointerGetterOptions, LinkInterface, LinkIterationPropsInterface, LinkIterationPropsNoThisInterface, LinkOptionsArrowInterface, LinkOptionsInterface, LinkOptionsLinkInterface, LinkOptionsParticleInterface, LinkParticle, LinkSettingsInterface, ListenersInterface, NodeByPointerGetterOptions, NodeInterface, NodeIterationPropsInterface, NodeIterationPropsNoThisInterface, NodeOptionsInterface, NodeOptionsLabelInterface, NodeOptionsNodeInterface, NodeOptionsTextInterface, NodeRadiusGetterOptions, NodeSettingsInterface, NodeShape, NodeSizeGetterOptions, RGB, TextStyleEnum, ZoomEventInterface };
|
|
739
|
+
export { COMMON_SETTINGS, FORCE_CONTROLS, FORCE_SETTINGS, GRAPH_CACHE_TYPE, GRAPH_SETTINGS, GraphCanvas, HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS, HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS, HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS, HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS, HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS, HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS, HIGHLIGHT_COMMON_CONTROLS, HIGHLIGHT_SETTINGS, LINK_OPTIONS, LINK_OPTIONS_ARROW_CONTROLS, LINK_OPTIONS_LINK_CONTROLS, LINK_OPTIONS_PARTICLE_CONTROLS, LINK_SETTINGS, LINK_SETTINGS_CONTROLS, NODE_OPTIONS, NODE_OPTIONS_LABEL_CONTROLS, NODE_OPTIONS_NODE_CONTROLS, NODE_OPTIONS_TEXT_CONTROLS, NODE_SETTINGS, NODE_SETTINGS_CONTROLS, PERFOMANCE_NODE_OPTIONS, PERFORMANCE_FORCE_SETTINGS, PERFORMANCE_GRAPH_SETTINGS, PERFORMANCE_HIGHLIGHT_SETTINGS, PERFORMANCE_LINK_OPTIONS, PERFORMANCE_LINK_SETTINGS, PERFORMANCE_NODE_SETTINGS, animationByProgress, approximateQuadraticBezierLength, calculateLinkPositionByNode, colorGetter, colorToRgb, computeGraphBounds, dragPlaceCoefficientGetter, drawText, extractLinkPointIds, extractRgb, fadeRgb, forceSettingsGetter, getDrawLink, getDrawNode, getParticlePosition, graphSettingsGetter, highlightSettingsGetter, isEmptyObject, isNodeVisible, isOverlapsNode, linkByPointerGetter, linkFade, linkHighlight, linkIterationExtractor, linkOptionsGetter, linkSettingsGetter, listenersGetter, nodeByPointerGetter, nodeFade, nodeHighlight, nodeIdGetter, nodeIterationExtractor, nodeOptionsGetter, nodeRadiusGetter, nodeSettingsGetter, nodeSizeGetter, nodeTextSizeGetter, pointerGetter, rgbAnimationByProgress };
|
|
740
|
+
export type { CachedNodeTextInterface, DragEventInterface, ForceSettingsInterface, GraphBounds, GraphCanvasCacheKeys, GraphCanvasInterface, GraphCanvasSimulation, GraphSettingsInputInterface, GraphSettingsInterface, HighlighCommonSettingsInterface, HighlightByLinkForArrowSettingsInterface, HighlightByLinkForLabelSettingsInterface, HighlightByLinkForLinkSettingsInterface, HighlightByLinkForNodeSettingsInterface, HighlightByLinkForTextSettingsInterface, HighlightByNodeForArrowSettingsInterface, HighlightByNodeForLabelSettingsInterface, HighlightByNodeForLinkSettingsInterface, HighlightByNodeForNodeSettingsInterface, HighlightByNodeForTextSettingsInterface, HighlightSettingsInterface, LinkByPointerGetterOptions, LinkInterface, LinkIterationPropsInterface, LinkIterationPropsNoThisInterface, LinkOptionsArrowInterface, LinkOptionsInterface, LinkOptionsLinkInterface, LinkOptionsParticleInterface, LinkParticle, LinkSettingsInterface, ListenersInterface, NodeByPointerGetterOptions, NodeInterface, NodeIterationPropsInterface, NodeIterationPropsNoThisInterface, NodeOptionsInterface, NodeOptionsLabelInterface, NodeOptionsNodeInterface, NodeOptionsTextInterface, NodeRadiusGetterOptions, NodeSettingsInterface, NodeShape, NodeSizeGetterOptions, PrecomputeForceSettingsInterface, RGB, TextStyleEnum, ZoomEventInterface };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krainovsd/graph",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0-beta.1",
|
|
4
4
|
"description": "Krainov graph",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "KrainovSD <denislosev48@gmail.com>",
|
|
@@ -62,7 +62,8 @@
|
|
|
62
62
|
"@vitejs/plugin-vue": "5.2.4",
|
|
63
63
|
"@krainovsd/vue-ui": "0.4.0-beta.23",
|
|
64
64
|
"@krainovsd/vue-icons": "0.1.4",
|
|
65
|
-
"sass-embedded": "1.81.0"
|
|
65
|
+
"sass-embedded": "1.81.0",
|
|
66
|
+
"@fontsource/nunito": "5.2.7"
|
|
66
67
|
},
|
|
67
68
|
"dependencies": {
|
|
68
69
|
"@krainovsd/js-helpers": "^0.16.5",
|