@miragon/team-topologies-renderer 0.11.2 → 0.13.0

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.
@@ -1,11 +1,22 @@
1
1
  import { default as Canvas } from 'diagram-js/lib/core/Canvas';
2
2
  import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
3
+ export interface ContentBounds {
4
+ minX: number;
5
+ minY: number;
6
+ maxX: number;
7
+ maxY: number;
8
+ }
3
9
  export default class TtViewport {
4
10
  private readonly canvas;
5
11
  private readonly elementRegistry;
6
12
  static $inject: string[];
7
13
  constructor(canvas: Canvas, elementRegistry: ElementRegistry);
8
- /** Fit every element into view, zooming in no further than 100 %. */
14
+ /**
15
+ * Fit every element into view, zooming in no further than 100 %.
16
+ *
17
+ * @deprecated Host chrome fits the diagram (the modeler shell's viewport, with the insets of the
18
+ * chrome that is open and never above 100 %); kept for hosts without it.
19
+ */
9
20
  fit(): void;
10
21
  /**
11
22
  * On a narrow (portrait) canvas the content is centred in the free band below the palette: the
@@ -14,6 +25,12 @@ export default class TtViewport {
14
25
  * corner tends to hold an overlay of their own, such as a legend.
15
26
  */
16
27
  private viewboxTop;
17
- private contentBounds;
28
+ /**
29
+ * The tight box around every element and its label text in diagram coordinates, `undefined`
30
+ * while the canvas holds none. Read from the elements' geometry and the label layout rather than
31
+ * measured on the SVG, so zoom and scroll, at which a browser lays text out differently, never
32
+ * change it.
33
+ */
34
+ contentBounds(): ContentBounds | undefined;
18
35
  }
19
36
  //# sourceMappingURL=TtViewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TtViewport.d.ts","sourceRoot":"","sources":["../../src/io/TtViewport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAmBvE,MAAM,CAAC,OAAO,OAAO,UAAU;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJlC,MAAM,CAAC,OAAO,WAAiC;gBAG5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe;IAGnD,qEAAqE;IACrE,GAAG,IAAI,IAAI;IAkCX;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,aAAa;CAsBtB"}
1
+ {"version":3,"file":"TtViewport.d.ts","sourceRoot":"","sources":["../../src/io/TtViewport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAcvE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJlC,MAAM,CAAC,OAAO,WAAiC;gBAG5B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe;IAGnD;;;;;OAKG;IACH,GAAG,IAAI,IAAI;IAkCX;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAclB;;;;;OAKG;IACH,aAAa,IAAI,aAAa,GAAG,SAAS;CA2B3C"}
@@ -29,8 +29,8 @@ export default class TtLabelEditing {
29
29
  suspend(): void;
30
30
  /**
31
31
  * Reopens a suspended edit on the element with the same id, if the imported diagram still has
32
- * it. Deferred to the next task, after the host restored its viewbox around the import (a
33
- * viewbox change commits an open editor).
32
+ * it. Deferred to the next task, so the host's own work around the import (restoring its view,
33
+ * moving the focus) is done before the editor takes the focus back.
34
34
  */
35
35
  resumeAfterImport(): void;
36
36
  /** The edit open right now (its element and the uncommitted text), for hosts and tests. */
@@ -1 +1 @@
1
- {"version":3,"file":"TtLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/TtLabelEditing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AAyBxD,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;IAU/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,MAAM,CAAC,OAAO,WAAuE;IAErF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAG3C,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,CAAA;KAAE;IAwBhE;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;IAazB,2FAA2F;IAC3F,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAM5D,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IA8F3D,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"TtLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/TtLabelEditing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AA2BxD,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;IAU/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,MAAM,CAAC,OAAO,WAAuE;IAErF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAG3C,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,CAAA;KAAE;IAuBhE;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;IAazB,2FAA2F;IAC3F,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAM5D,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAoG3D,MAAM,IAAI,IAAI;CAGf"}
@@ -7,6 +7,7 @@ import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
7
7
  import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
8
8
  import { PaletteEntries, default as PaletteProvider } from 'diagram-js/lib/features/palette/PaletteProvider';
9
9
  import { Injector } from 'didi';
10
+ import { FreeArea } from '@miragon/modeler-api';
10
11
  import { default as TtElementFactory } from '../model/TtElementFactory.js';
11
12
  export interface Point {
12
13
  x: number;
@@ -14,9 +15,13 @@ export interface Point {
14
15
  }
15
16
  export interface TtPaletteConfig {
16
17
  /**
17
- * The centre of the part of the canvas no chrome covers, in diagram coordinates (the modeler
18
- * shell's `viewport.freeRectCenter()`). Without it, the centre of the visible canvas.
18
+ * The part of the canvas no chrome covers (contract option of `@miragon/modeler-api` 1.2): its
19
+ * insets in px from the container's edges (the modeler shell's `shell.fitInsets()`) or its centre
20
+ * in diagram coordinates (the shell's `viewport.freeRectCenter()`). Without it, the centre of
21
+ * the visible canvas.
19
22
  */
23
+ freeArea?: FreeArea | undefined;
24
+ /** @deprecated Pass `freeArea: { center }`; given both, `freeArea` wins. */
20
25
  freeRectCenter?: (() => Point | undefined) | undefined;
21
26
  }
22
27
  export default class TtPaletteProvider implements PaletteProvider {
@@ -36,6 +41,7 @@ export default class TtPaletteProvider implements PaletteProvider {
36
41
  private createEntry;
37
42
  /** The centre of the free rectangle, stepped diagonally past elements already centred there. */
38
43
  private freePlace;
44
+ private freeAreaCentre;
39
45
  private placeInFreeRect;
40
46
  }
41
47
  //# sourceMappingURL=TtPaletteProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TtPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/TtPaletteProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAgBrC,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAYjE,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACxD;AAeD,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,eAAe;IAkB7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAzBlC,MAAM,CAAC,OAAO,WAWZ;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAGvC,MAAM,EAAE,eAAe,GAAG,SAAS,EACpD,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE,QAAQ;IAOpB,iBAAiB,IAAI,cAAc;IA+CnC,OAAO,CAAC,WAAW;IAkBnB,gGAAgG;IAChG,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,eAAe;CAWxB"}
1
+ {"version":3,"file":"TtPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/TtPaletteProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,sBAAsB,CAAC;AAgBrE,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAYjE,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACxD;AA2BD,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,eAAe;IAkB7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAzBlC,MAAM,CAAC,OAAO,WAWZ;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAGvC,MAAM,EAAE,eAAe,GAAG,SAAS,EACpD,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE,QAAQ;IAOpB,iBAAiB,IAAI,cAAc;IA+CnC,OAAO,CAAC,WAAW;IAkBnB,gGAAgG;IAChG,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;CAWxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miragon/team-topologies-renderer",
3
- "version": "0.11.2",
3
+ "version": "0.13.0",
4
4
  "description": "Render and edit Team Topologies diagrams in the browser, with a framework-agnostic viewer and modeler built on diagram-js.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,8 +37,8 @@
37
37
  "test:browser": "npm --prefix ../.. run test:browser"
38
38
  },
39
39
  "dependencies": {
40
- "@miragon/modeler-api": "1.1.0",
41
- "@miragon/team-topologies-schema-model": "0.11.2"
40
+ "@miragon/modeler-api": "1.3.0",
41
+ "@miragon/team-topologies-schema-model": "0.13.0"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "diagram-js": "^15.28.0",
@@ -53,7 +53,7 @@
53
53
  "typescript": "6.0.3",
54
54
  "vite": "8.3.4",
55
55
  "vite-plugin-dts": "5.1.2",
56
- "vitest": "5.0.4",
56
+ "vitest": "5.0.5",
57
57
  "zod": "4.6.7"
58
58
  }
59
59
  }