@knotx/render 0.0.5 → 0.0.7
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/dist/index.cjs +36 -29
- package/dist/index.d.cts +29 -9
- package/dist/index.d.mts +29 -9
- package/dist/index.d.ts +29 -9
- package/dist/index.mjs +33 -30
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -32,11 +32,12 @@ function BaseEdge({
|
|
|
32
32
|
interactionWidth = 20,
|
|
33
33
|
label,
|
|
34
34
|
markerEnd,
|
|
35
|
-
markerStart
|
|
35
|
+
markerStart,
|
|
36
|
+
context
|
|
36
37
|
}) {
|
|
37
38
|
const path = new PathBuilder(sourceX, sourceY, targetX, targetY);
|
|
38
|
-
const pathString = path.buildPath();
|
|
39
|
-
const labelPosition = label ? path.interpolate(0.5) : void 0;
|
|
39
|
+
const pathString = path.buildPath(context);
|
|
40
|
+
const labelPosition = label ? path.interpolate(0.5, context) : void 0;
|
|
40
41
|
const getMarkerUrl = (marker) => {
|
|
41
42
|
if (!marker)
|
|
42
43
|
return void 0;
|
|
@@ -185,17 +186,13 @@ function BaseEdge({
|
|
|
185
186
|
|
|
186
187
|
var __defProp$3 = Object.defineProperty;
|
|
187
188
|
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
188
|
-
var __publicField = (obj, key, value) => __defNormalProp$3(obj, key + "" , value);
|
|
189
|
+
var __publicField = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
189
190
|
class PathBuilder {
|
|
190
191
|
constructor(sourceX, sourceY, targetX, targetY) {
|
|
191
192
|
this.sourceX = sourceX;
|
|
192
193
|
this.sourceY = sourceY;
|
|
193
194
|
this.targetX = targetX;
|
|
194
195
|
this.targetY = targetY;
|
|
195
|
-
this.sourceX = sourceX;
|
|
196
|
-
this.sourceY = sourceY;
|
|
197
|
-
this.targetX = targetX;
|
|
198
|
-
this.targetY = targetY;
|
|
199
196
|
}
|
|
200
197
|
}
|
|
201
198
|
class StraightPathBuilder extends PathBuilder {
|
|
@@ -214,33 +211,37 @@ class BezierPathBuilder extends PathBuilder {
|
|
|
214
211
|
constructor() {
|
|
215
212
|
super(...arguments);
|
|
216
213
|
__publicField(this, "type", "bezier");
|
|
217
|
-
|
|
218
|
-
getBezierInstance() {
|
|
219
|
-
const midX = (this.targetX - this.sourceX) / 2;
|
|
220
|
-
const controlPoint1X = this.sourceX + midX;
|
|
221
|
-
const controlPoint1Y = this.sourceY;
|
|
222
|
-
const controlPoint2X = this.targetX - midX;
|
|
223
|
-
const controlPoint2Y = this.targetY;
|
|
224
|
-
return new BezierJS__namespace.Bezier(
|
|
225
|
-
this.sourceX,
|
|
226
|
-
this.sourceY,
|
|
227
|
-
controlPoint1X,
|
|
228
|
-
controlPoint1Y,
|
|
229
|
-
controlPoint2X,
|
|
230
|
-
controlPoint2Y,
|
|
231
|
-
this.targetX,
|
|
232
|
-
this.targetY
|
|
233
|
-
);
|
|
214
|
+
__publicField(this, "bezier");
|
|
234
215
|
}
|
|
235
216
|
buildPath() {
|
|
236
|
-
const bezier = this.
|
|
217
|
+
const bezier = this.requireBezierInstance();
|
|
237
218
|
return bezier.toSVG();
|
|
238
219
|
}
|
|
239
220
|
interpolate(t) {
|
|
240
|
-
const bezier = this.
|
|
221
|
+
const bezier = this.requireBezierInstance();
|
|
241
222
|
const point = bezier.get(t);
|
|
242
223
|
return { x: point.x, y: point.y };
|
|
243
224
|
}
|
|
225
|
+
requireBezierInstance() {
|
|
226
|
+
if (!this.bezier) {
|
|
227
|
+
const midX = (this.targetX - this.sourceX) / 2;
|
|
228
|
+
const controlPoint1X = this.sourceX + midX;
|
|
229
|
+
const controlPoint1Y = this.sourceY;
|
|
230
|
+
const controlPoint2X = this.targetX - midX;
|
|
231
|
+
const controlPoint2Y = this.targetY;
|
|
232
|
+
this.bezier = new BezierJS__namespace.Bezier(
|
|
233
|
+
this.sourceX,
|
|
234
|
+
this.sourceY,
|
|
235
|
+
controlPoint1X,
|
|
236
|
+
controlPoint1Y,
|
|
237
|
+
controlPoint2X,
|
|
238
|
+
controlPoint2Y,
|
|
239
|
+
this.targetX,
|
|
240
|
+
this.targetY
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
return this.bezier;
|
|
244
|
+
}
|
|
244
245
|
}
|
|
245
246
|
|
|
246
247
|
var __defProp$2 = Object.defineProperty;
|
|
@@ -283,7 +284,8 @@ function BezierEdge(_a) {
|
|
|
283
284
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
284
285
|
BaseEdge,
|
|
285
286
|
__spreadProps$1(__spreadValues$2({}, rest), {
|
|
286
|
-
pathBuilder: BezierPathBuilder
|
|
287
|
+
pathBuilder: BezierPathBuilder,
|
|
288
|
+
context: void 0
|
|
287
289
|
})
|
|
288
290
|
);
|
|
289
291
|
}
|
|
@@ -425,15 +427,20 @@ function StraightEdge(_a) {
|
|
|
425
427
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
426
428
|
BaseEdge,
|
|
427
429
|
__spreadProps(__spreadValues({}, rest), {
|
|
428
|
-
pathBuilder: StraightPathBuilder
|
|
430
|
+
pathBuilder: StraightPathBuilder,
|
|
431
|
+
context: void 0
|
|
429
432
|
})
|
|
430
433
|
);
|
|
431
434
|
}
|
|
432
435
|
|
|
436
|
+
exports.BaseEdge = BaseEdge;
|
|
433
437
|
exports.BezierEdge = BezierEdge;
|
|
438
|
+
exports.BezierPathBuilder = BezierPathBuilder;
|
|
434
439
|
exports.MarkerDefinitions = MarkerDefinitions;
|
|
435
440
|
exports.MarkerType = MarkerType;
|
|
441
|
+
exports.PathBuilder = PathBuilder;
|
|
436
442
|
exports.StraightEdge = StraightEdge;
|
|
443
|
+
exports.StraightPathBuilder = StraightPathBuilder;
|
|
437
444
|
exports.getArrowClosedMarker = getArrowClosedMarker;
|
|
438
445
|
exports.getArrowHeadMarkers = getArrowHeadMarkers;
|
|
439
446
|
exports.getArrowMarker = getArrowMarker;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EdgeProps } from '@knotx/core';
|
|
2
2
|
|
|
3
|
-
declare abstract class PathBuilder<TType extends string> {
|
|
3
|
+
declare abstract class PathBuilder<TType extends string, TContext = never> {
|
|
4
4
|
readonly sourceX: number;
|
|
5
5
|
readonly sourceY: number;
|
|
6
6
|
readonly targetX: number;
|
|
@@ -10,18 +10,36 @@ declare abstract class PathBuilder<TType extends string> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Builds the svg string for the path.
|
|
12
12
|
*/
|
|
13
|
-
abstract buildPath(): string;
|
|
13
|
+
abstract buildPath(context: TContext): string;
|
|
14
14
|
/**
|
|
15
15
|
* Interpolates the position for the path at a given t value.
|
|
16
16
|
* @param t - The t value to interpolate at.
|
|
17
17
|
* @returns The interpolated position.
|
|
18
18
|
*/
|
|
19
|
-
abstract interpolate(t: number): {
|
|
19
|
+
abstract interpolate(t: number, context: TContext): {
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
type PathBuilderType<T extends string = any> = new (...args: ConstructorParameters<typeof PathBuilder<T>>) => PathBuilder<T>;
|
|
24
|
+
type PathBuilderType<T extends string = any, TContext = void> = new (...args: ConstructorParameters<typeof PathBuilder<T, TContext>>) => PathBuilder<T, TContext>;
|
|
25
|
+
declare class StraightPathBuilder extends PathBuilder<'straight'> {
|
|
26
|
+
type: "straight";
|
|
27
|
+
buildPath(): string;
|
|
28
|
+
interpolate(t: number): {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
declare class BezierPathBuilder extends PathBuilder<'bezier'> {
|
|
34
|
+
type: "bezier";
|
|
35
|
+
private bezier?;
|
|
36
|
+
buildPath(): string;
|
|
37
|
+
interpolate(t: number): {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
};
|
|
41
|
+
private requireBezierInstance;
|
|
42
|
+
}
|
|
25
43
|
|
|
26
44
|
declare enum MarkerType {
|
|
27
45
|
Arrow = "arrow",
|
|
@@ -37,8 +55,8 @@ interface MarkerProps {
|
|
|
37
55
|
orient?: string;
|
|
38
56
|
strokeWidth?: number;
|
|
39
57
|
}
|
|
40
|
-
interface BaseEdgeProps {
|
|
41
|
-
pathBuilder: PathBuilderType
|
|
58
|
+
interface BaseEdgeProps<TPathBuilderContext = void> {
|
|
59
|
+
pathBuilder: PathBuilderType<any, TPathBuilderContext>;
|
|
42
60
|
sourceX: number;
|
|
43
61
|
sourceY: number;
|
|
44
62
|
targetX: number;
|
|
@@ -47,9 +65,11 @@ interface BaseEdgeProps {
|
|
|
47
65
|
label?: string;
|
|
48
66
|
markerEnd?: string | MarkerProps;
|
|
49
67
|
markerStart?: string | MarkerProps;
|
|
68
|
+
context: TPathBuilderContext;
|
|
50
69
|
}
|
|
70
|
+
declare function BaseEdge<TPathBuilderContext = never>({ pathBuilder: PathBuilder, sourceX, sourceY, targetX, targetY, interactionWidth, label, markerEnd, markerStart, context, }: BaseEdgeProps<TPathBuilderContext>): JSX.Element;
|
|
51
71
|
|
|
52
|
-
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
72
|
+
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
53
73
|
}
|
|
54
74
|
declare function BezierEdge({ edge: _edge, ...rest }: BezierEdgeOptions): JSX.Element;
|
|
55
75
|
|
|
@@ -89,8 +109,8 @@ interface MarkerDefinitionsProps {
|
|
|
89
109
|
}
|
|
90
110
|
declare function MarkerDefinitions({ markers }: MarkerDefinitionsProps): JSX.Element;
|
|
91
111
|
|
|
92
|
-
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
112
|
+
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
93
113
|
}
|
|
94
114
|
declare function StraightEdge({ edge: _edge, ...rest }: StraightEdgeOptions): JSX.Element;
|
|
95
115
|
|
|
96
|
-
export { BezierEdge, type BezierEdgeOptions, MarkerDefinitions, type MarkerDefinitionsProps, MarkerType, StraightEdge, type StraightEdgeOptions, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
|
116
|
+
export { BaseEdge, type BaseEdgeProps, BezierEdge, type BezierEdgeOptions, BezierPathBuilder, MarkerDefinitions, type MarkerDefinitionsProps, type MarkerProps, MarkerType, PathBuilder, type PathBuilderType, StraightEdge, type StraightEdgeOptions, StraightPathBuilder, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EdgeProps } from '@knotx/core';
|
|
2
2
|
|
|
3
|
-
declare abstract class PathBuilder<TType extends string> {
|
|
3
|
+
declare abstract class PathBuilder<TType extends string, TContext = never> {
|
|
4
4
|
readonly sourceX: number;
|
|
5
5
|
readonly sourceY: number;
|
|
6
6
|
readonly targetX: number;
|
|
@@ -10,18 +10,36 @@ declare abstract class PathBuilder<TType extends string> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Builds the svg string for the path.
|
|
12
12
|
*/
|
|
13
|
-
abstract buildPath(): string;
|
|
13
|
+
abstract buildPath(context: TContext): string;
|
|
14
14
|
/**
|
|
15
15
|
* Interpolates the position for the path at a given t value.
|
|
16
16
|
* @param t - The t value to interpolate at.
|
|
17
17
|
* @returns The interpolated position.
|
|
18
18
|
*/
|
|
19
|
-
abstract interpolate(t: number): {
|
|
19
|
+
abstract interpolate(t: number, context: TContext): {
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
type PathBuilderType<T extends string = any> = new (...args: ConstructorParameters<typeof PathBuilder<T>>) => PathBuilder<T>;
|
|
24
|
+
type PathBuilderType<T extends string = any, TContext = void> = new (...args: ConstructorParameters<typeof PathBuilder<T, TContext>>) => PathBuilder<T, TContext>;
|
|
25
|
+
declare class StraightPathBuilder extends PathBuilder<'straight'> {
|
|
26
|
+
type: "straight";
|
|
27
|
+
buildPath(): string;
|
|
28
|
+
interpolate(t: number): {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
declare class BezierPathBuilder extends PathBuilder<'bezier'> {
|
|
34
|
+
type: "bezier";
|
|
35
|
+
private bezier?;
|
|
36
|
+
buildPath(): string;
|
|
37
|
+
interpolate(t: number): {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
};
|
|
41
|
+
private requireBezierInstance;
|
|
42
|
+
}
|
|
25
43
|
|
|
26
44
|
declare enum MarkerType {
|
|
27
45
|
Arrow = "arrow",
|
|
@@ -37,8 +55,8 @@ interface MarkerProps {
|
|
|
37
55
|
orient?: string;
|
|
38
56
|
strokeWidth?: number;
|
|
39
57
|
}
|
|
40
|
-
interface BaseEdgeProps {
|
|
41
|
-
pathBuilder: PathBuilderType
|
|
58
|
+
interface BaseEdgeProps<TPathBuilderContext = void> {
|
|
59
|
+
pathBuilder: PathBuilderType<any, TPathBuilderContext>;
|
|
42
60
|
sourceX: number;
|
|
43
61
|
sourceY: number;
|
|
44
62
|
targetX: number;
|
|
@@ -47,9 +65,11 @@ interface BaseEdgeProps {
|
|
|
47
65
|
label?: string;
|
|
48
66
|
markerEnd?: string | MarkerProps;
|
|
49
67
|
markerStart?: string | MarkerProps;
|
|
68
|
+
context: TPathBuilderContext;
|
|
50
69
|
}
|
|
70
|
+
declare function BaseEdge<TPathBuilderContext = never>({ pathBuilder: PathBuilder, sourceX, sourceY, targetX, targetY, interactionWidth, label, markerEnd, markerStart, context, }: BaseEdgeProps<TPathBuilderContext>): JSX.Element;
|
|
51
71
|
|
|
52
|
-
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
72
|
+
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
53
73
|
}
|
|
54
74
|
declare function BezierEdge({ edge: _edge, ...rest }: BezierEdgeOptions): JSX.Element;
|
|
55
75
|
|
|
@@ -89,8 +109,8 @@ interface MarkerDefinitionsProps {
|
|
|
89
109
|
}
|
|
90
110
|
declare function MarkerDefinitions({ markers }: MarkerDefinitionsProps): JSX.Element;
|
|
91
111
|
|
|
92
|
-
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
112
|
+
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
93
113
|
}
|
|
94
114
|
declare function StraightEdge({ edge: _edge, ...rest }: StraightEdgeOptions): JSX.Element;
|
|
95
115
|
|
|
96
|
-
export { BezierEdge, type BezierEdgeOptions, MarkerDefinitions, type MarkerDefinitionsProps, MarkerType, StraightEdge, type StraightEdgeOptions, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
|
116
|
+
export { BaseEdge, type BaseEdgeProps, BezierEdge, type BezierEdgeOptions, BezierPathBuilder, MarkerDefinitions, type MarkerDefinitionsProps, type MarkerProps, MarkerType, PathBuilder, type PathBuilderType, StraightEdge, type StraightEdgeOptions, StraightPathBuilder, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EdgeProps } from '@knotx/core';
|
|
2
2
|
|
|
3
|
-
declare abstract class PathBuilder<TType extends string> {
|
|
3
|
+
declare abstract class PathBuilder<TType extends string, TContext = never> {
|
|
4
4
|
readonly sourceX: number;
|
|
5
5
|
readonly sourceY: number;
|
|
6
6
|
readonly targetX: number;
|
|
@@ -10,18 +10,36 @@ declare abstract class PathBuilder<TType extends string> {
|
|
|
10
10
|
/**
|
|
11
11
|
* Builds the svg string for the path.
|
|
12
12
|
*/
|
|
13
|
-
abstract buildPath(): string;
|
|
13
|
+
abstract buildPath(context: TContext): string;
|
|
14
14
|
/**
|
|
15
15
|
* Interpolates the position for the path at a given t value.
|
|
16
16
|
* @param t - The t value to interpolate at.
|
|
17
17
|
* @returns The interpolated position.
|
|
18
18
|
*/
|
|
19
|
-
abstract interpolate(t: number): {
|
|
19
|
+
abstract interpolate(t: number, context: TContext): {
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
type PathBuilderType<T extends string = any> = new (...args: ConstructorParameters<typeof PathBuilder<T>>) => PathBuilder<T>;
|
|
24
|
+
type PathBuilderType<T extends string = any, TContext = void> = new (...args: ConstructorParameters<typeof PathBuilder<T, TContext>>) => PathBuilder<T, TContext>;
|
|
25
|
+
declare class StraightPathBuilder extends PathBuilder<'straight'> {
|
|
26
|
+
type: "straight";
|
|
27
|
+
buildPath(): string;
|
|
28
|
+
interpolate(t: number): {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
declare class BezierPathBuilder extends PathBuilder<'bezier'> {
|
|
34
|
+
type: "bezier";
|
|
35
|
+
private bezier?;
|
|
36
|
+
buildPath(): string;
|
|
37
|
+
interpolate(t: number): {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
};
|
|
41
|
+
private requireBezierInstance;
|
|
42
|
+
}
|
|
25
43
|
|
|
26
44
|
declare enum MarkerType {
|
|
27
45
|
Arrow = "arrow",
|
|
@@ -37,8 +55,8 @@ interface MarkerProps {
|
|
|
37
55
|
orient?: string;
|
|
38
56
|
strokeWidth?: number;
|
|
39
57
|
}
|
|
40
|
-
interface BaseEdgeProps {
|
|
41
|
-
pathBuilder: PathBuilderType
|
|
58
|
+
interface BaseEdgeProps<TPathBuilderContext = void> {
|
|
59
|
+
pathBuilder: PathBuilderType<any, TPathBuilderContext>;
|
|
42
60
|
sourceX: number;
|
|
43
61
|
sourceY: number;
|
|
44
62
|
targetX: number;
|
|
@@ -47,9 +65,11 @@ interface BaseEdgeProps {
|
|
|
47
65
|
label?: string;
|
|
48
66
|
markerEnd?: string | MarkerProps;
|
|
49
67
|
markerStart?: string | MarkerProps;
|
|
68
|
+
context: TPathBuilderContext;
|
|
50
69
|
}
|
|
70
|
+
declare function BaseEdge<TPathBuilderContext = never>({ pathBuilder: PathBuilder, sourceX, sourceY, targetX, targetY, interactionWidth, label, markerEnd, markerStart, context, }: BaseEdgeProps<TPathBuilderContext>): JSX.Element;
|
|
51
71
|
|
|
52
|
-
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
72
|
+
interface BezierEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
53
73
|
}
|
|
54
74
|
declare function BezierEdge({ edge: _edge, ...rest }: BezierEdgeOptions): JSX.Element;
|
|
55
75
|
|
|
@@ -89,8 +109,8 @@ interface MarkerDefinitionsProps {
|
|
|
89
109
|
}
|
|
90
110
|
declare function MarkerDefinitions({ markers }: MarkerDefinitionsProps): JSX.Element;
|
|
91
111
|
|
|
92
|
-
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder'> {
|
|
112
|
+
interface StraightEdgeOptions extends EdgeProps, Omit<BaseEdgeProps, 'pathBuilder' | 'context'> {
|
|
93
113
|
}
|
|
94
114
|
declare function StraightEdge({ edge: _edge, ...rest }: StraightEdgeOptions): JSX.Element;
|
|
95
115
|
|
|
96
|
-
export { BezierEdge, type BezierEdgeOptions, MarkerDefinitions, type MarkerDefinitionsProps, MarkerType, StraightEdge, type StraightEdgeOptions, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
|
116
|
+
export { BaseEdge, type BaseEdgeProps, BezierEdge, type BezierEdgeOptions, BezierPathBuilder, MarkerDefinitions, type MarkerDefinitionsProps, type MarkerProps, MarkerType, PathBuilder, type PathBuilderType, StraightEdge, type StraightEdgeOptions, StraightPathBuilder, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
package/dist/index.mjs
CHANGED
|
@@ -16,11 +16,12 @@ function BaseEdge({
|
|
|
16
16
|
interactionWidth = 20,
|
|
17
17
|
label,
|
|
18
18
|
markerEnd,
|
|
19
|
-
markerStart
|
|
19
|
+
markerStart,
|
|
20
|
+
context
|
|
20
21
|
}) {
|
|
21
22
|
const path = new PathBuilder(sourceX, sourceY, targetX, targetY);
|
|
22
|
-
const pathString = path.buildPath();
|
|
23
|
-
const labelPosition = label ? path.interpolate(0.5) : void 0;
|
|
23
|
+
const pathString = path.buildPath(context);
|
|
24
|
+
const labelPosition = label ? path.interpolate(0.5, context) : void 0;
|
|
24
25
|
const getMarkerUrl = (marker) => {
|
|
25
26
|
if (!marker)
|
|
26
27
|
return void 0;
|
|
@@ -169,17 +170,13 @@ function BaseEdge({
|
|
|
169
170
|
|
|
170
171
|
var __defProp$3 = Object.defineProperty;
|
|
171
172
|
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
172
|
-
var __publicField = (obj, key, value) => __defNormalProp$3(obj, key + "" , value);
|
|
173
|
+
var __publicField = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
173
174
|
class PathBuilder {
|
|
174
175
|
constructor(sourceX, sourceY, targetX, targetY) {
|
|
175
176
|
this.sourceX = sourceX;
|
|
176
177
|
this.sourceY = sourceY;
|
|
177
178
|
this.targetX = targetX;
|
|
178
179
|
this.targetY = targetY;
|
|
179
|
-
this.sourceX = sourceX;
|
|
180
|
-
this.sourceY = sourceY;
|
|
181
|
-
this.targetX = targetX;
|
|
182
|
-
this.targetY = targetY;
|
|
183
180
|
}
|
|
184
181
|
}
|
|
185
182
|
class StraightPathBuilder extends PathBuilder {
|
|
@@ -198,33 +195,37 @@ class BezierPathBuilder extends PathBuilder {
|
|
|
198
195
|
constructor() {
|
|
199
196
|
super(...arguments);
|
|
200
197
|
__publicField(this, "type", "bezier");
|
|
201
|
-
|
|
202
|
-
getBezierInstance() {
|
|
203
|
-
const midX = (this.targetX - this.sourceX) / 2;
|
|
204
|
-
const controlPoint1X = this.sourceX + midX;
|
|
205
|
-
const controlPoint1Y = this.sourceY;
|
|
206
|
-
const controlPoint2X = this.targetX - midX;
|
|
207
|
-
const controlPoint2Y = this.targetY;
|
|
208
|
-
return new BezierJS.Bezier(
|
|
209
|
-
this.sourceX,
|
|
210
|
-
this.sourceY,
|
|
211
|
-
controlPoint1X,
|
|
212
|
-
controlPoint1Y,
|
|
213
|
-
controlPoint2X,
|
|
214
|
-
controlPoint2Y,
|
|
215
|
-
this.targetX,
|
|
216
|
-
this.targetY
|
|
217
|
-
);
|
|
198
|
+
__publicField(this, "bezier");
|
|
218
199
|
}
|
|
219
200
|
buildPath() {
|
|
220
|
-
const bezier = this.
|
|
201
|
+
const bezier = this.requireBezierInstance();
|
|
221
202
|
return bezier.toSVG();
|
|
222
203
|
}
|
|
223
204
|
interpolate(t) {
|
|
224
|
-
const bezier = this.
|
|
205
|
+
const bezier = this.requireBezierInstance();
|
|
225
206
|
const point = bezier.get(t);
|
|
226
207
|
return { x: point.x, y: point.y };
|
|
227
208
|
}
|
|
209
|
+
requireBezierInstance() {
|
|
210
|
+
if (!this.bezier) {
|
|
211
|
+
const midX = (this.targetX - this.sourceX) / 2;
|
|
212
|
+
const controlPoint1X = this.sourceX + midX;
|
|
213
|
+
const controlPoint1Y = this.sourceY;
|
|
214
|
+
const controlPoint2X = this.targetX - midX;
|
|
215
|
+
const controlPoint2Y = this.targetY;
|
|
216
|
+
this.bezier = new BezierJS.Bezier(
|
|
217
|
+
this.sourceX,
|
|
218
|
+
this.sourceY,
|
|
219
|
+
controlPoint1X,
|
|
220
|
+
controlPoint1Y,
|
|
221
|
+
controlPoint2X,
|
|
222
|
+
controlPoint2Y,
|
|
223
|
+
this.targetX,
|
|
224
|
+
this.targetY
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
return this.bezier;
|
|
228
|
+
}
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
var __defProp$2 = Object.defineProperty;
|
|
@@ -267,7 +268,8 @@ function BezierEdge(_a) {
|
|
|
267
268
|
return /* @__PURE__ */ jsx(
|
|
268
269
|
BaseEdge,
|
|
269
270
|
__spreadProps$1(__spreadValues$2({}, rest), {
|
|
270
|
-
pathBuilder: BezierPathBuilder
|
|
271
|
+
pathBuilder: BezierPathBuilder,
|
|
272
|
+
context: void 0
|
|
271
273
|
})
|
|
272
274
|
);
|
|
273
275
|
}
|
|
@@ -409,9 +411,10 @@ function StraightEdge(_a) {
|
|
|
409
411
|
return /* @__PURE__ */ jsx(
|
|
410
412
|
BaseEdge,
|
|
411
413
|
__spreadProps(__spreadValues({}, rest), {
|
|
412
|
-
pathBuilder: StraightPathBuilder
|
|
414
|
+
pathBuilder: StraightPathBuilder,
|
|
415
|
+
context: void 0
|
|
413
416
|
})
|
|
414
417
|
);
|
|
415
418
|
}
|
|
416
419
|
|
|
417
|
-
export { BezierEdge, MarkerDefinitions, MarkerType, StraightEdge, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|
|
420
|
+
export { BaseEdge, BezierEdge, BezierPathBuilder, MarkerDefinitions, MarkerType, PathBuilder, StraightEdge, StraightPathBuilder, getArrowClosedMarker, getArrowHeadMarkers, getArrowMarker, getCustomMarker };
|