@ngroznykh/papirus 0.9.14 → 0.9.15

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.
@@ -53,6 +53,11 @@ export declare class ResizeManager extends EventEmitter<ResizeEvents> {
53
53
  * Handle mouse down - start potential resize
54
54
  */
55
55
  handleMouseDown(event: InputEvent): boolean;
56
+ /**
57
+ * Recompute content minimums at the given width: as the node narrows, text
58
+ * wraps and the height floor grows to fit the wrapped lines.
59
+ */
60
+ private updateMinSize;
56
61
  /**
57
62
  * Set canvas cursor when the pointer is over a selected node's resize handle.
58
63
  * Call after badge/connection hover so the resize cursor wins on corners.
@@ -1 +1 @@
1
- {"version":3,"file":"ResizeManager.d.ts","sourceRoot":"","sources":["../../src/core/ResizeManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,OAAO,EAAE,oBAAoB;IAWzC;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAOxD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAiC3C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa1C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAqC3C;;OAEG;IACH,aAAa,IAAI,OAAO;IAiBxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAgBpB,OAAO,CAAC,eAAe;IAsDvB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,KAAK;CASd"}
1
+ {"version":3,"file":"ResizeManager.d.ts","sourceRoot":"","sources":["../../src/core/ResizeManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAQ,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,OAAO,EAAE,oBAAoB;IAWzC;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAOxD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IA+B3C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa1C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAyD3C;;OAEG;IACH,aAAa,IAAI,OAAO;IAiBxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAgBpB,OAAO,CAAC,eAAe;IAsDvB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,KAAK;CASd"}
@@ -226,9 +226,11 @@ export declare abstract class Node extends Element {
226
226
  private ensureBadgeImagesLoaded;
227
227
  protected renderBadges(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
228
228
  /**
229
- * Minimal size required to fit current contents
229
+ * Minimal size required to fit current contents.
230
+ * Optional availableWidth enables width-constrained measurement
231
+ * (composite content wraps text to fit the given width).
230
232
  */
231
- getContentMinSize(ctx: CanvasRenderingContext2D): Size;
233
+ getContentMinSize(ctx: CanvasRenderingContext2D, _availableWidth?: number): Size;
232
234
  /**
233
235
  * Render the selection frame when selected, and resize handles when they are enabled.
234
236
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/elements/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/elements/Node.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,10 @@ export interface CComponent {
43
43
  readonly id?: string;
44
44
  /** Flex child style */
45
45
  style: CComponentStyle;
46
- /** Measure intrinsic (preferred) size. Requires ctx for text measurement. */
47
- measure(ctx: CanvasRenderingContext2D): Size;
46
+ /** Measure intrinsic (preferred) size. Requires ctx for text measurement.
47
+ * Optional maxWidth enables width-constrained measurement: text wraps by words
48
+ * to fit the given width and the returned size reflects wrapped content. */
49
+ measure(ctx: CanvasRenderingContext2D, maxWidth?: number): Size;
48
50
  /** Render the component within the given bounds (computed by layout). */
49
51
  render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
50
52
  /** Hit test a point against this component's assigned bounds.
@@ -1 +1 @@
1
- {"version":3,"file":"CComponent.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CComponent.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CComponent.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export declare class CContainer extends CompositeComponentBase {
51
51
  private handleChildChange;
52
52
  private getFlexConfig;
53
53
  private buildFlexChildren;
54
- measure(ctx: CanvasRenderingContext2D): Size;
54
+ measure(ctx: CanvasRenderingContext2D, availableWidth?: number): Size;
55
55
  render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
56
56
  hitTest(point: {
57
57
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CContainer.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CContainer.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CContainer.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export declare class CShape extends CompositeComponentBase {
38
38
  get cornerRadius(): number;
39
39
  get padding(): number | SidesConfig;
40
40
  get content(): CContainer | undefined;
41
- measure(ctx: CanvasRenderingContext2D): Size;
41
+ measure(ctx: CanvasRenderingContext2D, maxWidth?: number): Size;
42
42
  render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
43
43
  hitTest(point: {
44
44
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CShape.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CShape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,MAAO,SAAQ,sBAAsB;IAChD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAa;gBAElB,OAAO,GAAE,aAAkB;IAiBvC,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAK5B;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAK5C;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,WAAW,CAElC;IAED,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAEpC;IAED,OAAO,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAkB5C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgD3D,OAAO,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqB3E,SAAS,IAAI,oBAAoB;IAqBjC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAiC9B"}
1
+ {"version":3,"file":"CShape.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CShape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,MAAO,SAAQ,sBAAsB;IAChD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAa;gBAElB,OAAO,GAAE,aAAkB;IAiBvC,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAK5B;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAK5C;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,WAAW,CAElC;IAED,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAEpC;IAED,OAAO,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAoB/D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgD3D,OAAO,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqB3E,SAAS,IAAI,oBAAoB;IAqBjC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAiC9B"}
@@ -73,7 +73,7 @@ export declare class CText extends CompositeComponentBase {
73
73
  * Word-wrap text to fit within maxWidth.
74
74
  */
75
75
  wrapText(ctx: CanvasRenderingContext2D, maxWidth: number): string[];
76
- measure(ctx: CanvasRenderingContext2D): Size;
76
+ measure(ctx: CanvasRenderingContext2D, maxWidth?: number): Size;
77
77
  render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
78
78
  serialize(): SerializedCComponent;
79
79
  toSVG(bounds: Bounds): string;
@@ -1 +1 @@
1
- {"version":3,"file":"CText.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CText.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CText.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare abstract class CompositeComponentBase implements CComponent {
14
14
  y: number;
15
15
  }, bounds: Bounds): CComponent | null;
16
16
  protected markChanged(): void;
17
- abstract measure(ctx: CanvasRenderingContext2D): {
17
+ abstract measure(ctx: CanvasRenderingContext2D, maxWidth?: number): {
18
18
  width: number;
19
19
  height: number;
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeComponentBase.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CompositeComponentBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,8BAAsB,sBAAuB,YAAW,UAAU;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjC,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAI/C,OAAO,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAW3E,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAClF,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IACpE,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CACvC"}
1
+ {"version":3,"file":"CompositeComponentBase.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CompositeComponentBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,8BAAsB,sBAAuB,YAAW,UAAU;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjC,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAI/C,OAAO,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAW3E,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,QAAQ,CAAC,OAAO,CACd,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IACpC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IACpE,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CACvC"}
@@ -69,7 +69,11 @@ export declare class CompositeNode extends Node {
69
69
  /**
70
70
  * Get the minimum content size needed for the content tree.
71
71
  * Useful for external auto-sizing logic.
72
+ *
73
+ * With `availableWidth`, text wraps to the given node width: the returned
74
+ * width is the longest-word floor (content can never be narrower than its
75
+ * widest unbreakable word), the height is the wrapped height at that width.
72
76
  */
73
- getContentMinSize(ctx: CanvasRenderingContext2D): Size;
77
+ getContentMinSize(ctx: CanvasRenderingContext2D, availableWidth?: number): Size;
74
78
  }
75
79
  //# sourceMappingURL=CompositeNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeNode.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CompositeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAA4C;IACjE,OAAO,CAAC,eAAe,CAA4D;IACnF,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,oBAAoB;IAsBzC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,IAAI,SAAS,IAAI,kBAAkB,CAElC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAO3B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAK1B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKhD;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI;IAKzD,OAAO,CAAC,gBAAgB;IAMf,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAWvC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,+BAA+B,IAAI,IAAI;IA8BvC,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAwC3C,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,aAAa;cAyBF,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAoBtE,OAAO,CAAC,aAAa;IA+BZ,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA6BxD;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;CAGvD"}
1
+ {"version":3,"file":"CompositeNode.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CompositeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAA4C;IACjE,OAAO,CAAC,eAAe,CAA4D;IACnF,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,oBAAoB;IAsBzC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,IAAI,SAAS,IAAI,kBAAkB,CAElC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAO3B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAK1B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKhD;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI;IAKzD,OAAO,CAAC,gBAAgB;IAMf,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAWvC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,+BAA+B,IAAI,IAAI;IA8BvC,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAwC3C,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,aAAa;cAyBF,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAoBtE,OAAO,CAAC,aAAa;IA4BZ,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA6BxD;;;;;;;OAOG;IACH,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;CAuBhF"}
package/dist/papirus.js CHANGED
@@ -1381,10 +1381,17 @@ var ResizeManager = class extends EventEmitter {
1381
1381
  this.handle = hit;
1382
1382
  this.startPoint = point;
1383
1383
  this.startBounds = node.getBounds();
1384
- const contentMinSize = node.getContentMinSize(this.renderer.getContext());
1384
+ this.updateMinSize(node, this.startBounds.width);
1385
+ return true;
1386
+ }
1387
+ /**
1388
+ * Recompute content minimums at the given width: as the node narrows, text
1389
+ * wraps and the height floor grows to fit the wrapped lines.
1390
+ */
1391
+ updateMinSize(node, width) {
1392
+ const contentMinSize = node.getContentMinSize(this.renderer.getContext(), width);
1385
1393
  this.minWidth = Math.max(this.minSize, contentMinSize.width);
1386
1394
  this.minHeight = Math.max(this.minSize, contentMinSize.height);
1387
- return true;
1388
1395
  }
1389
1396
  /**
1390
1397
  * Set canvas cursor when the pointer is over a selected node's resize handle.
@@ -1414,14 +1421,19 @@ var ResizeManager = class extends EventEmitter {
1414
1421
  node.state = "dragging";
1415
1422
  this.emit("resizeStart", node.id, this.handle, this.startBounds);
1416
1423
  }
1424
+ const dx = point.x - this.startPoint.x;
1425
+ const prospectiveWidth = this.handle.includes("w") ? this.startBounds.width - dx : this.startBounds.width + dx;
1426
+ this.updateMinSize(node, prospectiveWidth);
1417
1427
  const bounds = this.calculateBounds(point);
1418
- node.x = bounds.x;
1419
- node.y = bounds.y;
1420
- node.width = bounds.width;
1421
- node.height = bounds.height;
1422
- this.emit("resize", node.id, bounds, {
1423
- x: bounds.x - this.startBounds.x,
1424
- y: bounds.y - this.startBounds.y
1428
+ this.updateMinSize(node, bounds.width);
1429
+ const clamped = this.applyMinSize(bounds.x, bounds.y, bounds.width, bounds.height, this.startBounds, this.handle);
1430
+ node.x = clamped.x;
1431
+ node.y = clamped.y;
1432
+ node.width = clamped.width;
1433
+ node.height = clamped.height;
1434
+ this.emit("resize", node.id, clamped, {
1435
+ x: clamped.x - this.startBounds.x,
1436
+ y: clamped.y - this.startBounds.y
1425
1437
  });
1426
1438
  this.renderer.markDirty();
1427
1439
  return true;
@@ -11638,9 +11650,11 @@ var Node = class extends Element {
11638
11650
  }
11639
11651
  }
11640
11652
  /**
11641
- * Minimal size required to fit current contents
11653
+ * Minimal size required to fit current contents.
11654
+ * Optional availableWidth enables width-constrained measurement
11655
+ * (composite content wraps text to fit the given width).
11642
11656
  */
11643
- getContentMinSize(ctx) {
11657
+ getContentMinSize(ctx, _availableWidth) {
11644
11658
  const bounds = this.getBounds();
11645
11659
  const labelSize = this._label ? this._label.measure(ctx) : void 0;
11646
11660
  const iconBoxSize = this._icon ? this.getIconBoxSize() : void 0;
@@ -13110,14 +13124,30 @@ var CText = class extends CompositeComponentBase {
13110
13124
  appendEllipsis: true
13111
13125
  });
13112
13126
  }
13113
- measure(ctx) {
13127
+ measure(ctx, maxWidth) {
13114
13128
  ctx.font = this.getFont();
13115
13129
  const lineHeightPx = this.getLineHeightPx();
13130
+ if (maxWidth !== void 0) {
13131
+ const wrapped = wrapMeasuredText(ctx, this._text, maxWidth, {
13132
+ maxLines: this._maxLines,
13133
+ appendEllipsis: true
13134
+ });
13135
+ const width = measureTextLines(ctx, wrapped);
13136
+ const height = wrapped.length * lineHeightPx;
13137
+ if (this._rotation === 90 || this._rotation === -90) return {
13138
+ width: height,
13139
+ height: width
13140
+ };
13141
+ return {
13142
+ width,
13143
+ height
13144
+ };
13145
+ }
13116
13146
  const rawLines = this._text.split("\n");
13117
- const maxWidth = measureTextLines(ctx, rawLines);
13147
+ const oneLineWidth = measureTextLines(ctx, rawLines);
13118
13148
  let lineCount = rawLines.length;
13119
13149
  if (this._maxLines !== void 0 && lineCount > this._maxLines) lineCount = this._maxLines;
13120
- const width = maxWidth;
13150
+ const width = oneLineWidth;
13121
13151
  const height = lineCount * lineHeightPx;
13122
13152
  if (this._rotation === 90 || this._rotation === -90) return {
13123
13153
  width: height,
@@ -13807,11 +13837,13 @@ var CContainer = class extends CompositeComponentBase {
13807
13837
  padding: this._padding
13808
13838
  };
13809
13839
  }
13810
- buildFlexChildren(ctx, children = this.getLayoutChildren()) {
13840
+ buildFlexChildren(ctx, availableWidth, children = this.getLayoutChildren()) {
13841
+ const pad = normalizeSides(this._padding);
13842
+ const innerWidth = availableWidth !== void 0 && this._direction === "column" ? Math.max(0, availableWidth - pad.left - pad.right) : void 0;
13811
13843
  return children.map((child) => {
13812
13844
  const s = child.style;
13813
13845
  return {
13814
- measure: child.measure(ctx),
13846
+ measure: child.measure(ctx, innerWidth),
13815
13847
  minSize: {
13816
13848
  width: 0,
13817
13849
  height: 0
@@ -13824,8 +13856,8 @@ var CContainer = class extends CompositeComponentBase {
13824
13856
  };
13825
13857
  });
13826
13858
  }
13827
- measure(ctx) {
13828
- const flexChildren = this.buildFlexChildren(ctx);
13859
+ measure(ctx, availableWidth) {
13860
+ const flexChildren = this.buildFlexChildren(ctx, availableWidth);
13829
13861
  return flexLayout({
13830
13862
  width: 1e5,
13831
13863
  height: 1e5
@@ -13842,7 +13874,7 @@ var CContainer = class extends CompositeComponentBase {
13842
13874
  render(ctx, bounds) {
13843
13875
  if (this.style.visible === false) return;
13844
13876
  const layoutChildren = this.getLayoutChildren();
13845
- const flexChildren = this.buildFlexChildren(ctx, layoutChildren);
13877
+ const flexChildren = this.buildFlexChildren(ctx, void 0, layoutChildren);
13846
13878
  const result = flexLayout({
13847
13879
  width: bounds.width,
13848
13880
  height: bounds.height
@@ -14017,11 +14049,12 @@ var CShape = class extends CompositeComponentBase {
14017
14049
  get content() {
14018
14050
  return this._content;
14019
14051
  }
14020
- measure(ctx) {
14052
+ measure(ctx, maxWidth) {
14021
14053
  const pad = normalizeSides(this._padding);
14022
14054
  const bw = this._borderWidth;
14023
14055
  if (this._content) {
14024
- const contentSize = this._content.measure(ctx);
14056
+ const innerWidth = maxWidth === void 0 ? void 0 : Math.max(0, maxWidth - pad.left - pad.right - bw * 2);
14057
+ const contentSize = this._content.measure(ctx, innerWidth);
14025
14058
  return {
14026
14059
  width: contentSize.width + pad.left + pad.right + bw * 2,
14027
14060
  height: contentSize.height + pad.top + pad.bottom + bw * 2
@@ -14382,15 +14415,17 @@ var CompositeNode = class extends Node {
14382
14415
  this.renderPorts(ctx);
14383
14416
  }
14384
14417
  applyAutoSize(ctx) {
14385
- const contentSize = this._content.measure(ctx);
14386
14418
  const bounds = this.getBounds();
14387
14419
  const inset = resolveContentInset(this.contentInset, this.contentInsetScale, {
14388
14420
  width: bounds.width,
14389
14421
  height: bounds.height
14390
14422
  }, this.contentInsetBaseSize);
14391
- const neededWidth = Math.max(this._minWidth, contentSize.width + inset.left + inset.right);
14392
- const neededHeight = Math.max(this._minHeight, contentSize.height + inset.top + inset.bottom);
14423
+ const floorContentWidth = this._content.measure(ctx, 0).width;
14424
+ const neededWidth = Math.max(this._minWidth, floorContentWidth + inset.left + inset.right);
14393
14425
  if (neededWidth > this._width) this._width = neededWidth;
14426
+ const innerWidth = Math.max(0, this._width - inset.left - inset.right);
14427
+ const contentSize = this._content.measure(ctx, innerWidth);
14428
+ const neededHeight = Math.max(this._minHeight, contentSize.height + inset.top + inset.bottom);
14394
14429
  if (neededHeight > this._height) this._height = neededHeight;
14395
14430
  }
14396
14431
  getLabelContainerBounds(bounds) {
@@ -14421,9 +14456,23 @@ var CompositeNode = class extends Node {
14421
14456
  /**
14422
14457
  * Get the minimum content size needed for the content tree.
14423
14458
  * Useful for external auto-sizing logic.
14459
+ *
14460
+ * With `availableWidth`, text wraps to the given node width: the returned
14461
+ * width is the longest-word floor (content can never be narrower than its
14462
+ * widest unbreakable word), the height is the wrapped height at that width.
14424
14463
  */
14425
- getContentMinSize(ctx) {
14426
- return this._content.measure(ctx);
14464
+ getContentMinSize(ctx, availableWidth) {
14465
+ if (availableWidth === void 0) return this._content.measure(ctx);
14466
+ const inset = resolveContentInset(this.contentInset, this.contentInsetScale, {
14467
+ width: availableWidth,
14468
+ height: this._height
14469
+ }, this.contentInsetBaseSize);
14470
+ const innerWidth = Math.max(0, availableWidth - inset.left - inset.right);
14471
+ const wrapped = this._content.measure(ctx, innerWidth);
14472
+ return {
14473
+ width: this._content.measure(ctx, 0).width + inset.left + inset.right,
14474
+ height: wrapped.height + inset.top + inset.bottom
14475
+ };
14427
14476
  }
14428
14477
  };
14429
14478
  //#endregion