@ngroznykh/papirus 0.6.4 → 0.6.5
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/README.md +13 -2
- package/README.ru.md +13 -2
- package/dist/core/ClipboardManager.d.ts +25 -0
- package/dist/core/ClipboardManager.d.ts.map +1 -0
- package/dist/core/ConnectionManager.d.ts +2 -3
- package/dist/core/ConnectionManager.d.ts.map +1 -1
- package/dist/core/DiagramRenderer.d.ts +11 -28
- package/dist/core/DiagramRenderer.d.ts.map +1 -1
- package/dist/core/DiagramSurface.d.ts +63 -0
- package/dist/core/DiagramSurface.d.ts.map +1 -0
- package/dist/core/DragManager.d.ts +2 -2
- package/dist/core/DragManager.d.ts.map +1 -1
- package/dist/core/EdgeEndpointUpdater.d.ts +18 -0
- package/dist/core/EdgeEndpointUpdater.d.ts.map +1 -0
- package/dist/core/HistoryManager.d.ts +0 -1
- package/dist/core/HistoryManager.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +4 -10
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/core/NavigationManager.d.ts +2 -2
- package/dist/core/NavigationManager.d.ts.map +1 -1
- package/dist/core/PropertyChangeBatcher.d.ts +21 -0
- package/dist/core/PropertyChangeBatcher.d.ts.map +1 -0
- package/dist/core/ResizeManager.d.ts +2 -2
- package/dist/core/ResizeManager.d.ts.map +1 -1
- package/dist/core/ScrollbarController.d.ts +50 -0
- package/dist/core/ScrollbarController.d.ts.map +1 -0
- package/dist/core/SelectionManager.d.ts +2 -2
- package/dist/core/SelectionManager.d.ts.map +1 -1
- package/dist/core/overlays/MiniMap.d.ts +4 -7
- package/dist/core/overlays/MiniMap.d.ts.map +1 -1
- package/dist/elements/Edge.d.ts +1 -22
- package/dist/elements/Edge.d.ts.map +1 -1
- package/dist/elements/Element.d.ts +1 -0
- package/dist/elements/Element.d.ts.map +1 -1
- package/dist/elements/Node.d.ts.map +1 -1
- package/dist/elements/NodeImage.d.ts.map +1 -1
- package/dist/elements/Port.d.ts +1 -0
- package/dist/elements/Port.d.ts.map +1 -1
- package/dist/elements/TextLabel.d.ts +0 -1
- package/dist/elements/TextLabel.d.ts.map +1 -1
- package/dist/elements/composite/CComponent.d.ts +3 -2
- package/dist/elements/composite/CComponent.d.ts.map +1 -1
- package/dist/elements/composite/CContainer.d.ts +2 -3
- package/dist/elements/composite/CContainer.d.ts.map +1 -1
- package/dist/elements/composite/CDivider.d.ts +3 -8
- package/dist/elements/composite/CDivider.d.ts.map +1 -1
- package/dist/elements/composite/CIcon.d.ts +4 -10
- package/dist/elements/composite/CIcon.d.ts.map +1 -1
- package/dist/elements/composite/CShape.d.ts +4 -5
- package/dist/elements/composite/CShape.d.ts.map +1 -1
- package/dist/elements/composite/CText.d.ts +3 -8
- package/dist/elements/composite/CText.d.ts.map +1 -1
- package/dist/elements/composite/CompositeComponentBase.d.ts +25 -0
- package/dist/elements/composite/CompositeComponentBase.d.ts.map +1 -0
- package/dist/elements/edge/EdgeLabelRenderer.d.ts +17 -0
- package/dist/elements/edge/EdgeLabelRenderer.d.ts.map +1 -0
- package/dist/elements/edge/EdgeMarkerRenderer.d.ts +11 -0
- package/dist/elements/edge/EdgeMarkerRenderer.d.ts.map +1 -0
- package/dist/index.d.ts +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/papirus.js +1665 -1825
- package/dist/papirus.js.map +1 -1
- package/dist/utils/SvgExporter.d.ts +0 -8
- package/dist/utils/SvgExporter.d.ts.map +1 -1
- package/dist/utils/direction.d.ts +4 -0
- package/dist/utils/direction.d.ts.map +1 -1
- package/dist/utils/iconLayout.d.ts +34 -0
- package/dist/utils/iconLayout.d.ts.map +1 -0
- package/dist/utils/keymap.d.ts +11 -0
- package/dist/utils/keymap.d.ts.map +1 -0
- package/dist/utils/svgAssetLoader.d.ts +23 -0
- package/dist/utils/svgAssetLoader.d.ts.map +1 -0
- package/dist/utils/textMeasurer.d.ts +13 -0
- package/dist/utils/textMeasurer.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -43,15 +43,7 @@ export declare class SvgExporter {
|
|
|
43
43
|
private renderNodeLabel;
|
|
44
44
|
private getNodeCornerRadius;
|
|
45
45
|
private renderNodeIcon;
|
|
46
|
-
private getIconBoxSize;
|
|
47
|
-
private getIconBounds;
|
|
48
|
-
private getIconDrawRect;
|
|
49
46
|
private resolveIconHref;
|
|
50
|
-
private readSvgFromUrlSync;
|
|
51
|
-
private isSvgMarkup;
|
|
52
|
-
private styleSetColor;
|
|
53
|
-
private tintSvg;
|
|
54
|
-
private svgToDataUrl;
|
|
55
47
|
private escapeAttribute;
|
|
56
48
|
private createEmptySvg;
|
|
57
49
|
private escapeText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgExporter.d.ts","sourceRoot":"","sources":["../../src/utils/SvgExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"SvgExporter.d.ts","sourceRoot":"","sources":["../../src/utils/SvgExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,QAAQ,EAAE,eAAe;IAIrC,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM;IA6DjD,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAMrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;IAMhE,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,UAAU;IA+GlB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,iBAAiB;IA0EzB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,eAAe;IA0DvB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,UAAU;CAQnB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export type Direction = 'top' | 'right' | 'bottom' | 'left' | undefined;
|
|
2
|
+
/**
|
|
3
|
+
* Map outline param [0,1) to cardinal direction (top → right → bottom → left).
|
|
4
|
+
*/
|
|
5
|
+
export declare function getDirectionFromOutlineParam(param: number): Exclude<Direction, undefined>;
|
|
2
6
|
export declare function isHorizontal(dir?: string): boolean;
|
|
3
7
|
export declare function isVertical(dir?: string): boolean;
|
|
4
8
|
export declare function isOppositeDirections(fromDir?: string, toDir?: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../src/utils/direction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAaxE"}
|
|
1
|
+
{"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../src/utils/direction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAMzF;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAaxE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Bounds, Size } from '../types';
|
|
2
|
+
import { NodeImageFit, NodeImageOptions, NodeImagePlacement } from '../elements/NodeImage';
|
|
3
|
+
/**
|
|
4
|
+
* Icon zone size including inset padding around the image.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getIconBoxSize(imageSize: {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}, inset: number): Size;
|
|
10
|
+
/**
|
|
11
|
+
* Bounds of the icon zone within a node, based on placement.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getIconBounds(bounds: Bounds, iconBoxSize: Size, placement: NodeImagePlacement, inset: number): Bounds;
|
|
14
|
+
export interface ComputeIconDrawRectOptions {
|
|
15
|
+
fit?: NodeImageFit;
|
|
16
|
+
scaleWithBounds?: boolean;
|
|
17
|
+
width?: number;
|
|
18
|
+
height?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Compute the draw rectangle for an icon image inside its zone bounds.
|
|
22
|
+
*/
|
|
23
|
+
export declare function computeIconDrawRect(bounds: Bounds, opts: ComputeIconDrawRectOptions, imageSize: {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}, inset: number): Bounds;
|
|
27
|
+
/**
|
|
28
|
+
* Convenience: compute draw rect from NodeImageOptions.
|
|
29
|
+
*/
|
|
30
|
+
export declare function computeIconDrawRectFromOptions(bounds: Bounds, opts: NodeImageOptions, imageSize: {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
}, inset: number): Bounds;
|
|
34
|
+
//# sourceMappingURL=iconLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconLayout.d.ts","sourceRoot":"","sources":["../../src/utils/iconLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/F;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5C,KAAK,EAAE,MAAM,GACZ,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE,MAAM,GACZ,MAAM,CA8DR;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,0BAA0B,EAChC,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5C,KAAK,EAAE,MAAM,GACZ,MAAM,CAsCR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5C,KAAK,EAAE,MAAM,GACZ,MAAM,CAER"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type HistoryShortcut = 'undo' | 'redo';
|
|
2
|
+
export interface HistoryShortcutKeys {
|
|
3
|
+
undoKey: string;
|
|
4
|
+
redoKey: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Resolves a letter key independently of the active keyboard layout.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getShortcutKey(event: KeyboardEvent): string;
|
|
10
|
+
export declare function getHistoryShortcut(event: KeyboardEvent, keys?: HistoryShortcutKeys): HistoryShortcut | null;
|
|
11
|
+
//# sourceMappingURL=keymap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keymap.d.ts","sourceRoot":"","sources":["../../src/utils/keymap.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,mBAAmD,GACxD,eAAe,GAAG,IAAI,CAgBxB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch SVG text with a shared LRU cache.
|
|
3
|
+
*/
|
|
4
|
+
export declare function fetchSvgText(url: string): Promise<string>;
|
|
5
|
+
/**
|
|
6
|
+
* Synchronously read SVG from a URL (for SvgExporter). Uses cached promise result when already resolved.
|
|
7
|
+
*/
|
|
8
|
+
export declare function readSvgFromUrlSync(url: string): string | null;
|
|
9
|
+
export interface ResolveSvgHrefOptions {
|
|
10
|
+
strokeColor?: string;
|
|
11
|
+
fillColor?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resolve a source string to an href suitable for Image/SVG (async, with tint).
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveTintedSvgDataUrl(source: string, options?: ResolveSvgHrefOptions): Promise<string | null>;
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a source to a tinted data URL synchronously (SvgExporter path).
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveTintedSvgDataUrlSync(source: string, options?: ResolveSvgHrefOptions): string | null;
|
|
21
|
+
/** @internal Test helper */
|
|
22
|
+
export declare function clearSvgTextCache(): void;
|
|
23
|
+
//# sourceMappingURL=svgAssetLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svgAssetLoader.d.ts","sourceRoot":"","sources":["../../src/utils/svgAssetLoader.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB7D;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,MAAM,GAAG,IAAI,CAWf;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface WrappedTextOptions {
|
|
2
|
+
maxLines?: number;
|
|
3
|
+
appendEllipsis?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Wrap text by words while preserving explicit newline boundaries.
|
|
7
|
+
*/
|
|
8
|
+
export declare function wrapMeasuredText(ctx: CanvasRenderingContext2D, text: string, maxWidth: number, options?: WrappedTextOptions): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Return the widest measured line.
|
|
11
|
+
*/
|
|
12
|
+
export declare function measureTextLines(ctx: CanvasRenderingContext2D, lines: readonly string[]): number;
|
|
13
|
+
//# sourceMappingURL=textMeasurer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textMeasurer.d.ts","sourceRoot":"","sources":["../../src/utils/textMeasurer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CA+BV;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMhG"}
|