@ngroznykh/papirus 0.5.1 → 0.5.3
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/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/core/DragManager.d.ts +3 -0
- package/dist/core/DragManager.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +2 -0
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/core/history/commands.d.ts +1 -0
- package/dist/core/history/commands.d.ts.map +1 -1
- package/dist/elements/Edge.d.ts +7 -0
- package/dist/elements/Edge.d.ts.map +1 -1
- package/dist/papirus.js +275 -25
- package/dist/papirus.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/Serializer.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts +9 -0
- package/dist/utils/geometry.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare const DEFAULT_SELECTION_COLOR = "#3b82f6";
|
|
|
23
23
|
export declare const DEFAULT_HOVER_COLOR = "#6366f1";
|
|
24
24
|
/** Minimum distance (world units) to start a drag */
|
|
25
25
|
export declare const DRAG_START_THRESHOLD = 3;
|
|
26
|
-
/** Screen tolerance for alignment guides when dragging */
|
|
26
|
+
/** Screen tolerance for alignment guides when dragging (default when not overridden by enableInteractions options) */
|
|
27
27
|
export declare const ALIGNMENT_SCREEN_TOLERANCE = 8;
|
|
28
28
|
/** Max distance (world units) for control point to be considered orthogonal to endpoint */
|
|
29
29
|
export declare const EDITABLE_POLYLINE_ORTHOGONAL_TOLERANCE = 6;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,WAAW,QAAc,CAAC;AAGvC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAGF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAG9C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAGtC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAG5C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAG7C,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,WAAW,QAAc,CAAC;AAGvC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAGF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAG9C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAGtC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAG5C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAG7C,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,sHAAsH;AACtH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAG5C,2FAA2F;AAC3F,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,sFAAsF;AACtF,eAAO,MAAM,iCAAiC,KAAK,CAAC"}
|
|
@@ -17,6 +17,8 @@ export interface DragManagerOptions {
|
|
|
17
17
|
snapToGrid?: boolean;
|
|
18
18
|
gridSize?: number;
|
|
19
19
|
alignToNodes?: boolean;
|
|
20
|
+
/** Screen distance (px) for alignment guides; when set, overrides ALIGNMENT_SCREEN_TOLERANCE. */
|
|
21
|
+
alignmentScreenTolerance?: number;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Manages node dragging
|
|
@@ -27,6 +29,7 @@ export declare class DragManager extends EventEmitter<DragEvents> {
|
|
|
27
29
|
private snapToGrid;
|
|
28
30
|
private gridSize;
|
|
29
31
|
private alignToNodes;
|
|
32
|
+
private alignmentScreenTolerance;
|
|
30
33
|
private isDragging;
|
|
31
34
|
private draggedNodes;
|
|
32
35
|
private dragStartPoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragManager.d.ts","sourceRoot":"","sources":["../../src/core/DragManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AAW7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DragManager.d.ts","sourceRoot":"","sources":["../../src/core/DragManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AAW7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iGAAiG;IACjG,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,UAAU,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,kBAAkB,CAGtB;IACJ,oGAAoG;IACpG,OAAO,CAAC,mCAAmC,CAAqB;IAChE,kEAAkE;IAClE,OAAO,CAAC,qCAAqC,CAA8B;IAC3E,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,OAAO,EAAE,kBAAkB;IAWvC;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,qBAAqB,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IA0B1D;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAOxD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ3C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IA8F3C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAoF3C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IA6BzC;;OAEG;IACH,UAAU,IAAI,IAAI;IAwBlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,+BAA+B;IAoEvC,OAAO,CAAC,yBAAyB;IA6BjC;;;OAGG;IACH,OAAO,CAAC,wCAAwC;IAiBhD,OAAO,CAAC,qBAAqB;IAuI7B,OAAO,CAAC,gBAAgB;CAczB"}
|
|
@@ -24,6 +24,8 @@ export interface InteractionManagerOptions {
|
|
|
24
24
|
snapToGrid?: boolean;
|
|
25
25
|
gridSize?: number;
|
|
26
26
|
alignToNodes?: boolean;
|
|
27
|
+
/** Screen distance (px) within which alignment guides snap when dragging. Overrides default from constants. */
|
|
28
|
+
alignmentScreenTolerance?: number;
|
|
27
29
|
/** When true, edges can be attached anywhere on the shape outline (not just ports) */
|
|
28
30
|
attachToOutline?: boolean;
|
|
29
31
|
/** When true, disable editing interactions and keep navigation/selection only */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/core/InteractionManager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAIL,cAAc,EAMf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAU,YAAY,EAAS,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM5C,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAUD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,gBAAgB,CAGpB;IAEJ,OAAO,CAAC,SAAS,CAGD;IAEhB,OAAO,CAAC,sBAAsB,CAe1B;IACJ,OAAO,CAAC,wBAAwB,CAAO;IACvC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,kBAAkB,CACnB;IACP,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,uBAAuB,CAAS;gBAE5B,OAAO,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/core/InteractionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/core/history/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,EACL,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAgDD,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,KAAG,YAU/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/core/history/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/elements/Edge.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface EdgeOptions {
|
|
|
18
18
|
labelOffset?: number;
|
|
19
19
|
labelBackground?: EdgeLabelBackground;
|
|
20
20
|
lockAnchors?: boolean;
|
|
21
|
+
labelLineGap?: boolean;
|
|
21
22
|
}
|
|
22
23
|
export type { PathStrategy };
|
|
23
24
|
/**
|
|
@@ -34,6 +35,7 @@ export declare class Edge extends Element {
|
|
|
34
35
|
private _label?;
|
|
35
36
|
private _labelOffset;
|
|
36
37
|
private _labelBackground?;
|
|
38
|
+
private _labelLineGap;
|
|
37
39
|
private _path;
|
|
38
40
|
private _pathStrategy;
|
|
39
41
|
private _autoUpdateEndpoints;
|
|
@@ -85,6 +87,11 @@ export declare class Edge extends Element {
|
|
|
85
87
|
*/
|
|
86
88
|
get labelBackground(): EdgeLabelBackground | undefined;
|
|
87
89
|
set labelBackground(value: EdgeLabelBackground | undefined);
|
|
90
|
+
/**
|
|
91
|
+
* Whether to create a gap in the edge line under the label.
|
|
92
|
+
*/
|
|
93
|
+
get labelLineGap(): boolean;
|
|
94
|
+
set labelLineGap(value: boolean);
|
|
88
95
|
/**
|
|
89
96
|
* Control points for custom paths.
|
|
90
97
|
* For bezier format: [cp1, cp2, end, cp1, cp2, end, ...]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../src/elements/Edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../src/elements/Edge.ts"],"names":[],"mappings":"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"}
|
package/dist/papirus.js
CHANGED
|
@@ -337,6 +337,66 @@ function rectUnion(a, b) {
|
|
|
337
337
|
const bottom = Math.max(a.y + a.height, b.y + b.height);
|
|
338
338
|
return { x, y, width: right - x, height: bottom - y };
|
|
339
339
|
}
|
|
340
|
+
function segmentRectIntersections(segStart, segEnd, rect) {
|
|
341
|
+
const results = [];
|
|
342
|
+
const rectRight = rect.x + rect.width;
|
|
343
|
+
const rectBottom = rect.y + rect.height;
|
|
344
|
+
const edges = [
|
|
345
|
+
// Top
|
|
346
|
+
[
|
|
347
|
+
{ x: rect.x, y: rect.y },
|
|
348
|
+
{ x: rectRight, y: rect.y }
|
|
349
|
+
],
|
|
350
|
+
// Right
|
|
351
|
+
[
|
|
352
|
+
{ x: rectRight, y: rect.y },
|
|
353
|
+
{ x: rectRight, y: rectBottom }
|
|
354
|
+
],
|
|
355
|
+
// Bottom
|
|
356
|
+
[
|
|
357
|
+
{ x: rectRight, y: rectBottom },
|
|
358
|
+
{ x: rect.x, y: rectBottom }
|
|
359
|
+
],
|
|
360
|
+
// Left
|
|
361
|
+
[
|
|
362
|
+
{ x: rect.x, y: rectBottom },
|
|
363
|
+
{ x: rect.x, y: rect.y }
|
|
364
|
+
]
|
|
365
|
+
];
|
|
366
|
+
const cross = (a, b) => a.x * b.y - a.y * b.x;
|
|
367
|
+
const r = { x: segEnd.x - segStart.x, y: segEnd.y - segStart.y };
|
|
368
|
+
const epsilon = 1e-9;
|
|
369
|
+
for (const [q0, q1] of edges) {
|
|
370
|
+
const s = { x: q1.x - q0.x, y: q1.y - q0.y };
|
|
371
|
+
const denom = cross(r, s);
|
|
372
|
+
if (Math.abs(denom) < epsilon) {
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
375
|
+
const q0MinusP0 = { x: q0.x - segStart.x, y: q0.y - segStart.y };
|
|
376
|
+
const t = cross(q0MinusP0, s) / denom;
|
|
377
|
+
const u = cross(q0MinusP0, r) / denom;
|
|
378
|
+
if (t < -epsilon || t > 1 + epsilon || u < -epsilon || u > 1 + epsilon) {
|
|
379
|
+
continue;
|
|
380
|
+
}
|
|
381
|
+
const clampedT = Math.max(0, Math.min(1, t));
|
|
382
|
+
const point = {
|
|
383
|
+
x: segStart.x + clampedT * r.x,
|
|
384
|
+
y: segStart.y + clampedT * r.y
|
|
385
|
+
};
|
|
386
|
+
let exists = false;
|
|
387
|
+
for (const existing of results) {
|
|
388
|
+
if (Math.abs(existing.point.x - point.x) < 1e-6 && Math.abs(existing.point.y - point.y) < 1e-6) {
|
|
389
|
+
exists = true;
|
|
390
|
+
break;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
if (!exists) {
|
|
394
|
+
results.push({ t: clampedT, point });
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
results.sort((a, b) => a.t - b.t);
|
|
398
|
+
return results;
|
|
399
|
+
}
|
|
340
400
|
function pointInEllipse(point, center, radiusX, radiusY) {
|
|
341
401
|
const dx = point.x - center.x;
|
|
342
402
|
const dy = point.y - center.y;
|
|
@@ -703,6 +763,7 @@ class DragManager extends EventEmitter {
|
|
|
703
763
|
this.snapToGrid = options.snapToGrid ?? false;
|
|
704
764
|
this.gridSize = options.gridSize ?? 20;
|
|
705
765
|
this.alignToNodes = options.alignToNodes ?? true;
|
|
766
|
+
this.alignmentScreenTolerance = options.alignmentScreenTolerance ?? ALIGNMENT_SCREEN_TOLERANCE;
|
|
706
767
|
}
|
|
707
768
|
/**
|
|
708
769
|
* Check if currently dragging
|
|
@@ -1078,7 +1139,7 @@ class DragManager extends EventEmitter {
|
|
|
1078
1139
|
if (!draggedBounds) {
|
|
1079
1140
|
return totalDelta;
|
|
1080
1141
|
}
|
|
1081
|
-
const tolerance =
|
|
1142
|
+
const tolerance = this.alignmentScreenTolerance / Math.max(this.renderer.zoom, 1e-4);
|
|
1082
1143
|
const draggedIds = new Set(this.draggedNodes.map((node) => node.id));
|
|
1083
1144
|
const searchPadding = tolerance * 2;
|
|
1084
1145
|
const searchBounds = {
|
|
@@ -2984,6 +3045,7 @@ const createEdgeSnapshot = (edge) => {
|
|
|
2984
3045
|
label: snapshotLabel(edge.label),
|
|
2985
3046
|
labelOffset: edge.labelOffset,
|
|
2986
3047
|
labelBackground: cloneValue(edge.labelBackground),
|
|
3048
|
+
labelLineGap: edge.labelLineGap,
|
|
2987
3049
|
startMarker: cloneValue(edge.startMarker),
|
|
2988
3050
|
endMarker: cloneValue(edge.endMarker),
|
|
2989
3051
|
arrowType: edge.arrowType,
|
|
@@ -3117,6 +3179,7 @@ class ChangeEdgePropertiesCommand {
|
|
|
3117
3179
|
edge.endMarker = cloneValue(this.after.endMarker);
|
|
3118
3180
|
edge.labelOffset = this.after.labelOffset;
|
|
3119
3181
|
edge.labelBackground = cloneValue(this.after.labelBackground);
|
|
3182
|
+
edge.labelLineGap = this.after.labelLineGap;
|
|
3120
3183
|
edge.style = cloneValue(this.after.style ?? {});
|
|
3121
3184
|
edge.styleClass = this.after.styleClass;
|
|
3122
3185
|
edge.label = applyLabelSnapshot(edge.label, this.after.label);
|
|
@@ -3133,6 +3196,7 @@ class ChangeEdgePropertiesCommand {
|
|
|
3133
3196
|
edge.endMarker = cloneValue(this.before.endMarker);
|
|
3134
3197
|
edge.labelOffset = this.before.labelOffset;
|
|
3135
3198
|
edge.labelBackground = cloneValue(this.before.labelBackground);
|
|
3199
|
+
edge.labelLineGap = this.before.labelLineGap;
|
|
3136
3200
|
edge.style = cloneValue(this.before.style ?? {});
|
|
3137
3201
|
edge.styleClass = this.before.styleClass;
|
|
3138
3202
|
edge.label = applyLabelSnapshot(edge.label, this.before.label);
|
|
@@ -4136,6 +4200,7 @@ class Edge extends Element {
|
|
|
4136
4200
|
this._lockAnchors = options.lockAnchors ?? true;
|
|
4137
4201
|
this._labelOffset = options.labelOffset ?? 0;
|
|
4138
4202
|
this._labelBackground = options.labelBackground;
|
|
4203
|
+
this._labelLineGap = options.labelLineGap ?? false;
|
|
4139
4204
|
if (options.label !== void 0) {
|
|
4140
4205
|
if (typeof options.label === "string") {
|
|
4141
4206
|
this._label = new TextLabel({
|
|
@@ -4237,6 +4302,18 @@ class Edge extends Element {
|
|
|
4237
4302
|
this._labelBackground = value;
|
|
4238
4303
|
this.markDirty();
|
|
4239
4304
|
}
|
|
4305
|
+
/**
|
|
4306
|
+
* Whether to create a gap in the edge line under the label.
|
|
4307
|
+
*/
|
|
4308
|
+
get labelLineGap() {
|
|
4309
|
+
return this._labelLineGap;
|
|
4310
|
+
}
|
|
4311
|
+
set labelLineGap(value) {
|
|
4312
|
+
if (this._labelLineGap !== value) {
|
|
4313
|
+
this._labelLineGap = value;
|
|
4314
|
+
this.markDirty();
|
|
4315
|
+
}
|
|
4316
|
+
}
|
|
4240
4317
|
/**
|
|
4241
4318
|
* Control points for custom paths.
|
|
4242
4319
|
* For bezier format: [cp1, cp2, end, cp1, cp2, end, ...]
|
|
@@ -4516,34 +4593,203 @@ class Edge extends Element {
|
|
|
4516
4593
|
if (path.length < 2) return;
|
|
4517
4594
|
const startOffset = this._startMarker && this._startMarker.type !== "none" ? this.getMarkerLength(this._startMarker) : 0;
|
|
4518
4595
|
const endOffset = this._endMarker && this._endMarker.type !== "none" ? this.getMarkerLength(this._endMarker) : 0;
|
|
4519
|
-
const
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4596
|
+
const buildPolyline = () => {
|
|
4597
|
+
if (this._type === "bezier" && path.length >= 4) {
|
|
4598
|
+
const samples = [];
|
|
4599
|
+
const steps = 20;
|
|
4600
|
+
for (let i = 1; i + 2 < path.length; i += 3) {
|
|
4601
|
+
const p0 = path[i - 1];
|
|
4602
|
+
const p1 = path[i];
|
|
4603
|
+
const p2 = path[i + 1];
|
|
4604
|
+
const p3 = path[i + 2];
|
|
4605
|
+
for (let s = 0; s <= steps; s++) {
|
|
4606
|
+
const t = s / steps;
|
|
4607
|
+
if (samples.length > 0 && t === 0) {
|
|
4608
|
+
continue;
|
|
4609
|
+
}
|
|
4610
|
+
samples.push(bezierPoint(p0, p1, p2, p3, t));
|
|
4611
|
+
}
|
|
4612
|
+
}
|
|
4613
|
+
return samples;
|
|
4614
|
+
}
|
|
4615
|
+
return path.map((p) => ({ ...p }));
|
|
4525
4616
|
};
|
|
4526
|
-
const
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4617
|
+
const shortenPolyline = (points, start, end) => {
|
|
4618
|
+
if (points.length < 2) {
|
|
4619
|
+
return points;
|
|
4620
|
+
}
|
|
4621
|
+
const totalLength = () => {
|
|
4622
|
+
let len = 0;
|
|
4623
|
+
for (let i = 1; i < points.length; i++) {
|
|
4624
|
+
len += distance(points[i - 1], points[i]);
|
|
4625
|
+
}
|
|
4626
|
+
return len;
|
|
4627
|
+
};
|
|
4628
|
+
let pts = points;
|
|
4629
|
+
let remainingStart = Math.max(0, start);
|
|
4630
|
+
let remainingEnd = Math.max(0, end);
|
|
4631
|
+
const total = totalLength();
|
|
4632
|
+
if (remainingStart + remainingEnd >= total) {
|
|
4633
|
+
const mid = points[0];
|
|
4634
|
+
return [mid];
|
|
4635
|
+
}
|
|
4636
|
+
if (remainingStart > 0) {
|
|
4637
|
+
const newPoints = [];
|
|
4638
|
+
let accumulated = 0;
|
|
4639
|
+
for (let i = 0; i < pts.length - 1; i++) {
|
|
4640
|
+
const p0 = pts[i];
|
|
4641
|
+
const p1 = pts[i + 1];
|
|
4642
|
+
const segLen = distance(p0, p1);
|
|
4643
|
+
if (accumulated + segLen >= remainingStart) {
|
|
4644
|
+
const t = (remainingStart - accumulated) / segLen;
|
|
4645
|
+
const newStart = {
|
|
4646
|
+
x: p0.x + (p1.x - p0.x) * t,
|
|
4647
|
+
y: p0.y + (p1.y - p0.y) * t
|
|
4648
|
+
};
|
|
4649
|
+
newPoints.push(newStart);
|
|
4650
|
+
for (let j = i + 1; j < pts.length; j++) {
|
|
4651
|
+
newPoints.push({ ...pts[j] });
|
|
4652
|
+
}
|
|
4653
|
+
pts = newPoints;
|
|
4654
|
+
break;
|
|
4655
|
+
}
|
|
4656
|
+
accumulated += segLen;
|
|
4657
|
+
}
|
|
4658
|
+
}
|
|
4659
|
+
if (remainingEnd > 0 && pts.length > 1) {
|
|
4660
|
+
const newPoints = [];
|
|
4661
|
+
let accumulated = 0;
|
|
4662
|
+
for (let i = pts.length - 1; i > 0; i--) {
|
|
4663
|
+
const p0 = pts[i - 1];
|
|
4664
|
+
const p1 = pts[i];
|
|
4665
|
+
const segLen = distance(p0, p1);
|
|
4666
|
+
if (accumulated + segLen >= remainingEnd) {
|
|
4667
|
+
const t = (remainingEnd - accumulated) / segLen;
|
|
4668
|
+
const newEnd = {
|
|
4669
|
+
x: p1.x + (p0.x - p1.x) * t,
|
|
4670
|
+
y: p1.y + (p0.y - p1.y) * t
|
|
4671
|
+
};
|
|
4672
|
+
newPoints.push(newEnd);
|
|
4673
|
+
for (let j = i - 1; j >= 0; j--) {
|
|
4674
|
+
newPoints.push({ ...pts[j] });
|
|
4675
|
+
}
|
|
4676
|
+
pts = newPoints.reverse();
|
|
4677
|
+
break;
|
|
4678
|
+
}
|
|
4679
|
+
accumulated += segLen;
|
|
4680
|
+
}
|
|
4681
|
+
}
|
|
4682
|
+
return pts;
|
|
4683
|
+
};
|
|
4684
|
+
const shouldCreateGap = this._label !== void 0 && this._labelLineGap;
|
|
4685
|
+
if (!shouldCreateGap) {
|
|
4686
|
+
const start = path[0];
|
|
4687
|
+
const startNext = path[1];
|
|
4688
|
+
const startAngle = Math.atan2(startNext.y - start.y, startNext.x - start.x);
|
|
4689
|
+
const shortenedStart = {
|
|
4690
|
+
x: start.x + startOffset * Math.cos(startAngle),
|
|
4691
|
+
y: start.y + startOffset * Math.sin(startAngle)
|
|
4692
|
+
};
|
|
4693
|
+
const end = path[path.length - 1];
|
|
4694
|
+
const endPrev = path[path.length - 2];
|
|
4695
|
+
const endAngle = Math.atan2(end.y - endPrev.y, end.x - endPrev.x);
|
|
4696
|
+
const shortenedEnd = {
|
|
4697
|
+
x: end.x - endOffset * Math.cos(endAngle),
|
|
4698
|
+
y: end.y - endOffset * Math.sin(endAngle)
|
|
4699
|
+
};
|
|
4700
|
+
ctx.beginPath();
|
|
4701
|
+
ctx.moveTo(shortenedStart.x, shortenedStart.y);
|
|
4702
|
+
if (this._type === "bezier" && path.length >= 4) {
|
|
4703
|
+
for (let i = 1; i + 2 < path.length; i += 3) {
|
|
4704
|
+
const cp1 = path[i];
|
|
4705
|
+
const cp2 = path[i + 1];
|
|
4706
|
+
const segmentEnd = i + 2 === path.length - 1 ? shortenedEnd : path[i + 2];
|
|
4707
|
+
ctx.bezierCurveTo(cp1.x, cp1.y, cp2.x, cp2.y, segmentEnd.x, segmentEnd.y);
|
|
4708
|
+
}
|
|
4709
|
+
} else {
|
|
4710
|
+
for (let i = 1; i < path.length - 1; i++) {
|
|
4711
|
+
ctx.lineTo(path[i].x, path[i].y);
|
|
4712
|
+
}
|
|
4713
|
+
ctx.lineTo(shortenedEnd.x, shortenedEnd.y);
|
|
4714
|
+
}
|
|
4715
|
+
ctx.stroke();
|
|
4716
|
+
return;
|
|
4717
|
+
}
|
|
4718
|
+
let polyline = buildPolyline();
|
|
4719
|
+
polyline = shortenPolyline(polyline, startOffset, endOffset);
|
|
4720
|
+
if (polyline.length < 2) {
|
|
4721
|
+
return;
|
|
4722
|
+
}
|
|
4723
|
+
this._label.measure(ctx);
|
|
4724
|
+
const labelCenter = this.getLabelPosition();
|
|
4725
|
+
if (!labelCenter) {
|
|
4726
|
+
return;
|
|
4727
|
+
}
|
|
4728
|
+
const labelWidth = this._label.measuredWidth;
|
|
4729
|
+
const labelHeight = this._label.measuredHeight;
|
|
4730
|
+
const labelRect = {
|
|
4731
|
+
x: labelCenter.x - labelWidth / 2,
|
|
4732
|
+
y: labelCenter.y - labelHeight / 2,
|
|
4733
|
+
width: labelWidth,
|
|
4734
|
+
height: labelHeight
|
|
4532
4735
|
};
|
|
4736
|
+
const segmentIntersections = [];
|
|
4737
|
+
for (let i = 0; i < polyline.length - 1; i++) {
|
|
4738
|
+
const p0 = polyline[i];
|
|
4739
|
+
const p1 = polyline[i + 1];
|
|
4740
|
+
const intersections = segmentRectIntersections(p0, p1, labelRect);
|
|
4741
|
+
for (const inter of intersections) {
|
|
4742
|
+
segmentIntersections.push({
|
|
4743
|
+
segIndex: i,
|
|
4744
|
+
t: inter.t,
|
|
4745
|
+
point: inter.point
|
|
4746
|
+
});
|
|
4747
|
+
}
|
|
4748
|
+
}
|
|
4749
|
+
if (segmentIntersections.length < 2) {
|
|
4750
|
+
ctx.beginPath();
|
|
4751
|
+
ctx.moveTo(polyline[0].x, polyline[0].y);
|
|
4752
|
+
for (let i = 1; i < polyline.length; i++) {
|
|
4753
|
+
ctx.lineTo(polyline[i].x, polyline[i].y);
|
|
4754
|
+
}
|
|
4755
|
+
ctx.stroke();
|
|
4756
|
+
return;
|
|
4757
|
+
}
|
|
4758
|
+
segmentIntersections.sort((a, b) => {
|
|
4759
|
+
if (a.segIndex === b.segIndex) {
|
|
4760
|
+
return a.t - b.t;
|
|
4761
|
+
}
|
|
4762
|
+
return a.segIndex - b.segIndex;
|
|
4763
|
+
});
|
|
4533
4764
|
ctx.beginPath();
|
|
4534
|
-
ctx.moveTo(
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4765
|
+
ctx.moveTo(polyline[0].x, polyline[0].y);
|
|
4766
|
+
let entered = false;
|
|
4767
|
+
let exited = false;
|
|
4768
|
+
for (let i = 0; i < polyline.length - 1; i++) {
|
|
4769
|
+
const p1 = polyline[i + 1];
|
|
4770
|
+
const currentIntersections = segmentIntersections.filter((it) => it.segIndex === i);
|
|
4771
|
+
if (!entered && currentIntersections.length > 0) {
|
|
4772
|
+
const first = currentIntersections[0];
|
|
4773
|
+
ctx.lineTo(first.point.x, first.point.y);
|
|
4774
|
+
entered = true;
|
|
4775
|
+
const maybeExit = currentIntersections.length > 1 ? currentIntersections[1] : void 0;
|
|
4776
|
+
if (maybeExit) {
|
|
4777
|
+
ctx.moveTo(maybeExit.point.x, maybeExit.point.y);
|
|
4778
|
+
exited = true;
|
|
4779
|
+
ctx.lineTo(p1.x, p1.y);
|
|
4780
|
+
}
|
|
4781
|
+
continue;
|
|
4541
4782
|
}
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
ctx.
|
|
4783
|
+
if (entered && !exited && currentIntersections.length > 0) {
|
|
4784
|
+
const lastOnSegment = currentIntersections[currentIntersections.length - 1];
|
|
4785
|
+
ctx.moveTo(lastOnSegment.point.x, lastOnSegment.point.y);
|
|
4786
|
+
exited = true;
|
|
4787
|
+
ctx.lineTo(p1.x, p1.y);
|
|
4788
|
+
continue;
|
|
4789
|
+
}
|
|
4790
|
+
if (!entered || exited) {
|
|
4791
|
+
ctx.lineTo(p1.x, p1.y);
|
|
4545
4792
|
}
|
|
4546
|
-
ctx.lineTo(shortenedEnd.x, shortenedEnd.y);
|
|
4547
4793
|
}
|
|
4548
4794
|
ctx.stroke();
|
|
4549
4795
|
}
|
|
@@ -5021,7 +5267,8 @@ class InteractionManager {
|
|
|
5021
5267
|
selectionManager: this.selectionManager,
|
|
5022
5268
|
snapToGrid: options.snapToGrid ?? this.renderer.snapToGrid,
|
|
5023
5269
|
gridSize: options.gridSize ?? 20,
|
|
5024
|
-
alignToNodes: options.alignToNodes ?? true
|
|
5270
|
+
alignToNodes: options.alignToNodes ?? true,
|
|
5271
|
+
alignmentScreenTolerance: options.alignmentScreenTolerance
|
|
5025
5272
|
});
|
|
5026
5273
|
this.resizeManager = new ResizeManager({
|
|
5027
5274
|
renderer: this.renderer,
|
|
@@ -5770,6 +6017,7 @@ class InteractionManager {
|
|
|
5770
6017
|
labelStyleClass: edge.label?.styleClass,
|
|
5771
6018
|
labelOffset: edge.labelOffset !== 0 ? edge.labelOffset : void 0,
|
|
5772
6019
|
labelBackground: edge.labelBackground,
|
|
6020
|
+
labelLineGap: edge.labelLineGap ? true : void 0,
|
|
5773
6021
|
data: Object.keys(edge.data).length > 0 ? edge.data : void 0
|
|
5774
6022
|
});
|
|
5775
6023
|
}
|
|
@@ -10572,6 +10820,7 @@ class Serializer {
|
|
|
10572
10820
|
labelStyleClass: edge.label?.styleClass,
|
|
10573
10821
|
labelOffset: edge.labelOffset !== 0 ? edge.labelOffset : void 0,
|
|
10574
10822
|
labelBackground: edge.labelBackground,
|
|
10823
|
+
labelLineGap: edge.labelLineGap ? true : void 0,
|
|
10575
10824
|
data: Object.keys(edge.data).length > 0 ? edge.data : void 0
|
|
10576
10825
|
};
|
|
10577
10826
|
}
|
|
@@ -12047,6 +12296,7 @@ export {
|
|
|
12047
12296
|
resetIdCounter,
|
|
12048
12297
|
resetPortIdCounter,
|
|
12049
12298
|
rotatePoint,
|
|
12299
|
+
segmentRectIntersections,
|
|
12050
12300
|
snapPointToGrid,
|
|
12051
12301
|
snapToGrid
|
|
12052
12302
|
};
|