@meltemi/diagrams-editor 1.9.0 → 1.10.17

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.
Files changed (154) hide show
  1. package/dist/add-icons.d.ts +44 -0
  2. package/dist/add-icons.d.ts.map +1 -0
  3. package/dist/add-icons.js +178 -0
  4. package/dist/add-icons.js.map +1 -0
  5. package/dist/arrange.d.ts +54 -1
  6. package/dist/arrange.d.ts.map +1 -1
  7. package/dist/arrange.js +209 -8
  8. package/dist/arrange.js.map +1 -1
  9. package/dist/asset-files.d.ts +46 -0
  10. package/dist/asset-files.d.ts.map +1 -0
  11. package/dist/asset-files.js +79 -0
  12. package/dist/asset-files.js.map +1 -0
  13. package/dist/c4.d.ts +91 -1
  14. package/dist/c4.d.ts.map +1 -1
  15. package/dist/c4.js +358 -9
  16. package/dist/c4.js.map +1 -1
  17. package/dist/canvas/index.d.ts +1 -0
  18. package/dist/canvas/index.d.ts.map +1 -1
  19. package/dist/canvas/index.js +1 -0
  20. package/dist/canvas/index.js.map +1 -1
  21. package/dist/canvas/keyboard.d.ts +23 -2
  22. package/dist/canvas/keyboard.d.ts.map +1 -1
  23. package/dist/canvas/keyboard.js +23 -0
  24. package/dist/canvas/keyboard.js.map +1 -1
  25. package/dist/canvas/palette.d.ts +48 -6
  26. package/dist/canvas/palette.d.ts.map +1 -1
  27. package/dist/canvas/palette.js +55 -9
  28. package/dist/canvas/palette.js.map +1 -1
  29. package/dist/canvas/pens.d.ts +10 -0
  30. package/dist/canvas/pens.d.ts.map +1 -0
  31. package/dist/canvas/pens.js +29 -0
  32. package/dist/canvas/pens.js.map +1 -0
  33. package/dist/canvas/protocol.d.ts +580 -21
  34. package/dist/canvas/protocol.d.ts.map +1 -1
  35. package/dist/canvas/protocol.js +140 -3
  36. package/dist/canvas/protocol.js.map +1 -1
  37. package/dist/canvas/routes.d.ts +17 -0
  38. package/dist/canvas/routes.d.ts.map +1 -1
  39. package/dist/canvas/routes.js +37 -0
  40. package/dist/canvas/routes.js.map +1 -1
  41. package/dist/canvas/turning.d.ts +7 -0
  42. package/dist/canvas/turning.d.ts.map +1 -1
  43. package/dist/canvas/turning.js +17 -3
  44. package/dist/canvas/turning.js.map +1 -1
  45. package/dist/catalog.d.ts +5 -0
  46. package/dist/catalog.d.ts.map +1 -1
  47. package/dist/catalog.js +1 -1
  48. package/dist/catalog.js.map +1 -1
  49. package/dist/clipboard.d.ts.map +1 -1
  50. package/dist/clipboard.js +98 -9
  51. package/dist/clipboard.js.map +1 -1
  52. package/dist/effects.d.ts +5 -0
  53. package/dist/effects.d.ts.map +1 -1
  54. package/dist/effects.js +31 -22
  55. package/dist/effects.js.map +1 -1
  56. package/dist/exports.d.ts +25 -11
  57. package/dist/exports.d.ts.map +1 -1
  58. package/dist/exports.js +65 -28
  59. package/dist/exports.js.map +1 -1
  60. package/dist/fonts.d.ts +63 -0
  61. package/dist/fonts.d.ts.map +1 -0
  62. package/dist/fonts.js +175 -0
  63. package/dist/fonts.js.map +1 -0
  64. package/dist/icons.d.ts +2 -0
  65. package/dist/icons.d.ts.map +1 -1
  66. package/dist/icons.js +39 -6
  67. package/dist/icons.js.map +1 -1
  68. package/dist/index.d.ts +6 -3
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +4 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/inspector.d.ts.map +1 -1
  73. package/dist/inspector.js +545 -141
  74. package/dist/inspector.js.map +1 -1
  75. package/dist/layouts.d.ts +3 -2
  76. package/dist/layouts.d.ts.map +1 -1
  77. package/dist/layouts.js +4 -2
  78. package/dist/layouts.js.map +1 -1
  79. package/dist/messages/en.d.ts +106 -20
  80. package/dist/messages/en.d.ts.map +1 -1
  81. package/dist/messages/en.js +110 -26
  82. package/dist/messages/en.js.map +1 -1
  83. package/dist/messages/es.d.ts.map +1 -1
  84. package/dist/messages/es.js +80 -43
  85. package/dist/messages/es.js.map +1 -1
  86. package/dist/messages/index.d.ts +76 -17
  87. package/dist/messages/index.d.ts.map +1 -1
  88. package/dist/messages/keys.d.ts.map +1 -1
  89. package/dist/messages/keys.js +26 -0
  90. package/dist/messages/keys.js.map +1 -1
  91. package/dist/messages/services.d.ts +130 -1
  92. package/dist/messages/services.d.ts.map +1 -1
  93. package/dist/messages/services.js +150 -18
  94. package/dist/messages/services.js.map +1 -1
  95. package/dist/move-file.d.ts +32 -0
  96. package/dist/move-file.d.ts.map +1 -0
  97. package/dist/move-file.js +58 -0
  98. package/dist/move-file.js.map +1 -0
  99. package/dist/node.d.ts +1 -1
  100. package/dist/node.d.ts.map +1 -1
  101. package/dist/node.js.map +1 -1
  102. package/dist/projects.d.ts +65 -1
  103. package/dist/projects.d.ts.map +1 -1
  104. package/dist/projects.js +349 -1
  105. package/dist/projects.js.map +1 -1
  106. package/dist/render.d.ts +5 -0
  107. package/dist/render.d.ts.map +1 -1
  108. package/dist/render.js +4 -2
  109. package/dist/render.js.map +1 -1
  110. package/dist/sequence.d.ts +37 -8
  111. package/dist/sequence.d.ts.map +1 -1
  112. package/dist/sequence.js +409 -38
  113. package/dist/sequence.js.map +1 -1
  114. package/dist/services/actions.d.ts.map +1 -1
  115. package/dist/services/actions.js +65 -1
  116. package/dist/services/actions.js.map +1 -1
  117. package/dist/services/completion.d.ts.map +1 -1
  118. package/dist/services/completion.js +146 -16
  119. package/dist/services/completion.js.map +1 -1
  120. package/dist/services/docs.d.ts +5 -0
  121. package/dist/services/docs.d.ts.map +1 -1
  122. package/dist/services/docs.js +7 -0
  123. package/dist/services/docs.js.map +1 -1
  124. package/dist/services/hover.d.ts +5 -0
  125. package/dist/services/hover.d.ts.map +1 -1
  126. package/dist/services/hover.js +154 -21
  127. package/dist/services/hover.js.map +1 -1
  128. package/dist/services/navigation.d.ts +1 -1
  129. package/dist/services/navigation.d.ts.map +1 -1
  130. package/dist/services/navigation.js +8 -4
  131. package/dist/services/navigation.js.map +1 -1
  132. package/dist/services/stories.d.ts.map +1 -1
  133. package/dist/services/stories.js +31 -3
  134. package/dist/services/stories.js.map +1 -1
  135. package/dist/session.d.ts +121 -13
  136. package/dist/session.d.ts.map +1 -1
  137. package/dist/session.js +1349 -80
  138. package/dist/session.js.map +1 -1
  139. package/dist/syntax.d.ts.map +1 -1
  140. package/dist/syntax.js +3 -0
  141. package/dist/syntax.js.map +1 -1
  142. package/dist/targets.d.ts +25 -4
  143. package/dist/targets.d.ts.map +1 -1
  144. package/dist/targets.js +103 -7
  145. package/dist/targets.js.map +1 -1
  146. package/dist/text-places.d.ts +15 -3
  147. package/dist/text-places.d.ts.map +1 -1
  148. package/dist/text-places.js +187 -12
  149. package/dist/text-places.js.map +1 -1
  150. package/dist/themes.d.ts +0 -2
  151. package/dist/themes.d.ts.map +1 -1
  152. package/dist/themes.js +27 -13
  153. package/dist/themes.js.map +1 -1
  154. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/canvas/keyboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/canvas/keyboard.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,51 @@
1
1
  import { type ShapeSize } from "@meltemi/diagrams-layout/shapes";
2
- import { type CanvasProfile, type ShapeName } from "./protocol.js";
2
+ import { type CanvasProfile, type PenStyle, type ShapeName } from "./protocol.js";
3
+ /** The names of the six fixed colours a sticky's menu offers beside the theme's `sticky`. */
4
+ export type StickyColourName = "yellow" | "pink" | "green" | "blue" | "orange" | "purple";
5
+ /**
6
+ * The fixed colours of stickies, in the order the sticky button's menu and the strip's fill row
7
+ * show them: pastels that stay the same in a dark theme, as paper does, written as
8
+ * `style <id> { fill "<hex>" }`. Their names are words of the canvas's catalog.
9
+ */
10
+ export declare const STICKY_COLOURS: readonly {
11
+ readonly name: StickyColourName;
12
+ readonly hex: string;
13
+ }[];
14
+ /** The widths the pen menu offers, in pixels. */
15
+ export declare const PEN_WIDTHS: {
16
+ readonly thin: 2;
17
+ readonly medium: 4;
18
+ readonly thick: 8;
19
+ };
20
+ /**
21
+ * The highlighter: a pen of its own colour (the theme's `highlight` until another is chosen),
22
+ * always 20 wide and 35 % opaque, so the text under it stays readable.
23
+ */
24
+ export declare const HIGHLIGHTER: {
25
+ readonly width: 20;
26
+ readonly opacity: 0.35;
27
+ readonly stroke: "@highlight";
28
+ };
29
+ /** The colour of a pen whose style writes none: the theme's `ink`. */
30
+ export declare const DEFAULT_PEN_STROKE = "@ink";
31
+ /**
32
+ * The width of a pen whose style writes none: the layout's `DEFAULT_PEN_WIDTH`, mirrored so that
33
+ * the canvas page does not load the engine (a test pins it).
34
+ */
35
+ export declare const DEFAULT_PEN_WIDTH = 3;
36
+ /**
37
+ * The `style` of `createPen` for a stroke of the pen or the highlighter, with only what differs
38
+ * from a stroke's defaults: the pen writes `stroke` when its colour is not `@ink` and `width`
39
+ * when it is not 3; the highlighter always writes its colour, width 20 and opacity 0.35 (`width`
40
+ * is the pen's and does not apply to it). Empty when nothing differs, which writes no `style`.
41
+ */
42
+ export declare function penStyleFor(tool: "pen" | "highlighter", width: number, colour: string): PenStyle;
3
43
  /**
4
44
  * The relation kinds of the palette's arrow button, in the order its menu lists them and R cycles
5
- * through them: `->`, `-->`, then the two-way `<->` and `<-->`.
45
+ * through them: `->`, `-->`, the lines without heads `--` and `---`, then the two-way `<->` and
46
+ * `<-->`.
6
47
  */
7
- export declare const ARROW_KINDS: readonly ["->", "-->", "<->", "<-->"];
48
+ export declare const ARROW_KINDS: readonly ["->", "-->", "--", "---", "<->", "<-->"];
8
49
  export type ArrowKind = (typeof ARROW_KINDS)[number];
9
50
  /**
10
51
  * The arrow kinds a profile offers: C4 views draw relations one way, and sequence diagrams draw
@@ -19,12 +60,13 @@ export declare function arrowKindIn(kind: ArrowKind, profile: CanvasProfile): Ar
19
60
  /** The kind after `kind` in a profile's cycle: what R chooses while the relation tool is armed. */
20
61
  export declare function nextArrowKind(kind: ArrowKind, profile: CanvasProfile): ArrowKind;
21
62
  /**
22
- * How a relation of a kind is written, as the `connect` action carries it: its line and whether it
23
- * has a head at both ends. `flip` (Shift on the second click) swaps solid and dashed.
63
+ * How a relation of a kind is written, as the `connect` action carries it: its line and where its
64
+ * heads go (`end`, `both`, or `none` for a line). `flip` (Shift on the second click) swaps solid
65
+ * and dashed only: `--` becomes `---`.
24
66
  */
25
67
  export declare function arrowKindLine(kind: ArrowKind, flip?: boolean): {
26
68
  readonly line: "solid" | "dashed";
27
- readonly twoWay: boolean;
69
+ readonly heads: "end" | "both" | "none";
28
70
  };
29
71
  /**
30
72
  * The size a new box or node of a shape gets, the layout's own default (at label size 13): the
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/canvas/palette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,WAAW,uCAAwC,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,SAAS,EAAE,CAIvE;AAKD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAI9E;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAIhF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,IAAI,UAAQ,GACX;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAEjE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAErD;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,EAAE,CAc3F"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/canvas/palette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1F,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,EAOA,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,UAAU;;;;CAA4C,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;CAA8D,CAAC;AAEvF,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAQhG;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,oDAAqD,CAAC;AAC9E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,SAAS,EAAE,CAKvE;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAK9E;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAIhF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,IAAI,UAAQ,GACX;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAEhF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAErD;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,EAAE,CAc3F"}
@@ -1,10 +1,53 @@
1
1
  import { SHAPE_SIZES } from "@meltemi/diagrams-layout/shapes";
2
2
  import { SHAPES } from "./protocol.js";
3
+ /**
4
+ * The fixed colours of stickies, in the order the sticky button's menu and the strip's fill row
5
+ * show them: pastels that stay the same in a dark theme, as paper does, written as
6
+ * `style <id> { fill "<hex>" }`. Their names are words of the canvas's catalog.
7
+ */
8
+ export const STICKY_COLOURS = [
9
+ { name: "yellow", hex: "#fff59d" },
10
+ { name: "pink", hex: "#f8bbd0" },
11
+ { name: "green", hex: "#c8e6c9" },
12
+ { name: "blue", hex: "#bbdefb" },
13
+ { name: "orange", hex: "#ffe0b2" },
14
+ { name: "purple", hex: "#e1bee7" },
15
+ ];
16
+ /** The widths the pen menu offers, in pixels. */
17
+ export const PEN_WIDTHS = { thin: 2, medium: 4, thick: 8 };
18
+ /**
19
+ * The highlighter: a pen of its own colour (the theme's `highlight` until another is chosen),
20
+ * always 20 wide and 35 % opaque, so the text under it stays readable.
21
+ */
22
+ export const HIGHLIGHTER = { width: 20, opacity: 0.35, stroke: "@highlight" };
23
+ /** The colour of a pen whose style writes none: the theme's `ink`. */
24
+ export const DEFAULT_PEN_STROKE = "@ink";
25
+ /**
26
+ * The width of a pen whose style writes none: the layout's `DEFAULT_PEN_WIDTH`, mirrored so that
27
+ * the canvas page does not load the engine (a test pins it).
28
+ */
29
+ export const DEFAULT_PEN_WIDTH = 3;
30
+ /**
31
+ * The `style` of `createPen` for a stroke of the pen or the highlighter, with only what differs
32
+ * from a stroke's defaults: the pen writes `stroke` when its colour is not `@ink` and `width`
33
+ * when it is not 3; the highlighter always writes its colour, width 20 and opacity 0.35 (`width`
34
+ * is the pen's and does not apply to it). Empty when nothing differs, which writes no `style`.
35
+ */
36
+ export function penStyleFor(tool, width, colour) {
37
+ if (tool === "highlighter") {
38
+ return { stroke: colour, width: HIGHLIGHTER.width, opacity: HIGHLIGHTER.opacity };
39
+ }
40
+ return {
41
+ ...(colour !== DEFAULT_PEN_STROKE ? { stroke: colour } : {}),
42
+ ...(width !== DEFAULT_PEN_WIDTH ? { width } : {}),
43
+ };
44
+ }
3
45
  /**
4
46
  * The relation kinds of the palette's arrow button, in the order its menu lists them and R cycles
5
- * through them: `->`, `-->`, then the two-way `<->` and `<-->`.
47
+ * through them: `->`, `-->`, the lines without heads `--` and `---`, then the two-way `<->` and
48
+ * `<-->`.
6
49
  */
7
- export const ARROW_KINDS = ["->", "-->", "<->", "<-->"];
50
+ export const ARROW_KINDS = ["->", "-->", "--", "---", "<->", "<-->"];
8
51
  /**
9
52
  * The arrow kinds a profile offers: C4 views draw relations one way, and sequence diagrams draw
10
53
  * messages (their tool keeps Shift for a reply), so they offer none.
@@ -12,12 +55,13 @@ export const ARROW_KINDS = ["->", "-->", "<->", "<-->"];
12
55
  export function arrowKinds(profile) {
13
56
  if (profile === "sequence")
14
57
  return [];
58
+ // A model writes its relations with `->` alone: a C4 view offers no other kind.
15
59
  if (profile === "c4")
16
- return ARROW_KINDS.filter((kind) => !twoWay(kind));
60
+ return ["->"];
17
61
  return ARROW_KINDS;
18
62
  }
19
- const twoWay = (kind) => kind.startsWith("<");
20
- const dashed = (kind) => kind.endsWith("-->");
63
+ const dashed = (kind) => kind.endsWith("-->") || kind === "---";
64
+ const heads = (kind) => kind.startsWith("<") ? "both" : kind.endsWith(">") ? "end" : "none";
21
65
  /**
22
66
  * The kind a canvas keeps on a profile: a two-way kind becomes the one-way kind with its line in a
23
67
  * C4 view, so that switching diagrams never arms a kind the view refuses.
@@ -26,7 +70,8 @@ export function arrowKindIn(kind, profile) {
26
70
  const kinds = arrowKinds(profile);
27
71
  if (kinds.length === 0 || kinds.includes(kind))
28
72
  return kind;
29
- return dashed(kind) ? "-->" : "->";
73
+ const oneWay = dashed(kind) ? "-->" : "->";
74
+ return kinds.includes(oneWay) ? oneWay : kinds[0];
30
75
  }
31
76
  /** The kind after `kind` in a profile's cycle: what R chooses while the relation tool is armed. */
32
77
  export function nextArrowKind(kind, profile) {
@@ -36,11 +81,12 @@ export function nextArrowKind(kind, profile) {
36
81
  return kinds[(kinds.indexOf(arrowKindIn(kind, profile)) + 1) % kinds.length];
37
82
  }
38
83
  /**
39
- * How a relation of a kind is written, as the `connect` action carries it: its line and whether it
40
- * has a head at both ends. `flip` (Shift on the second click) swaps solid and dashed.
84
+ * How a relation of a kind is written, as the `connect` action carries it: its line and where its
85
+ * heads go (`end`, `both`, or `none` for a line). `flip` (Shift on the second click) swaps solid
86
+ * and dashed only: `--` becomes `---`.
41
87
  */
42
88
  export function arrowKindLine(kind, flip = false) {
43
- return { line: dashed(kind) !== flip ? "dashed" : "solid", twoWay: twoWay(kind) };
89
+ return { line: dashed(kind) !== flip ? "dashed" : "solid", heads: heads(kind) };
44
90
  }
45
91
  /**
46
92
  * The size a new box or node of a shape gets, the layout's own default (at label size 13): the
@@ -1 +1 @@
1
- {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/canvas/palette.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/canvas/palette.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Box, Point } from "./geometry.js";
2
+ /**
3
+ * The points of a pen stroke scaled from its bounds to a new box, as a resize handle scales them:
4
+ * the box of the points (the bounds less half the stroke's width on every side) maps onto the new
5
+ * box less the same margin, so that the stroke keeps its width and its bounds become the box.
6
+ * Along an axis the stroke has no extent on (a dot, a level or upright stroke), it sits in the
7
+ * middle of the box. Diagram coordinates in, diagram coordinates out.
8
+ */
9
+ export declare function scalePenPoints(points: readonly Point[], bounds: Box, box: Box, width: number): Point[];
10
+ //# sourceMappingURL=pens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pens.d.ts","sourceRoot":"","sources":["../../src/canvas/pens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAiBhD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,GACZ,KAAK,EAAE,CAOT"}
@@ -0,0 +1,29 @@
1
+ /** A box less `margin` on every side, never less than empty. */
2
+ function inset(box, margin) {
3
+ return {
4
+ x: box.x + margin,
5
+ y: box.y + margin,
6
+ width: Math.max(0, box.width - 2 * margin),
7
+ height: Math.max(0, box.height - 2 * margin),
8
+ };
9
+ }
10
+ /** A coordinate mapped from one span to another; the middle of the new span from none. */
11
+ function mapped(value, from, size, to, toSize) {
12
+ return size > 0 ? to + ((value - from) * toSize) / size : to + toSize / 2;
13
+ }
14
+ /**
15
+ * The points of a pen stroke scaled from its bounds to a new box, as a resize handle scales them:
16
+ * the box of the points (the bounds less half the stroke's width on every side) maps onto the new
17
+ * box less the same margin, so that the stroke keeps its width and its bounds become the box.
18
+ * Along an axis the stroke has no extent on (a dot, a level or upright stroke), it sits in the
19
+ * middle of the box. Diagram coordinates in, diagram coordinates out.
20
+ */
21
+ export function scalePenPoints(points, bounds, box, width) {
22
+ const from = inset(bounds, width / 2);
23
+ const to = inset(box, width / 2);
24
+ return points.map((p) => ({
25
+ x: mapped(p.x, from.x, from.width, to.x, to.width),
26
+ y: mapped(p.y, from.y, from.height, to.y, to.height),
27
+ }));
28
+ }
29
+ //# sourceMappingURL=pens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pens.js","sourceRoot":"","sources":["../../src/canvas/pens.ts"],"names":[],"mappings":"AAEA,gEAAgE;AAChE,SAAS,KAAK,CAAC,GAAQ,EAAE,MAAc;IACrC,OAAO;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM;QACjB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;QAC1C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,SAAS,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAE,EAAU,EAAE,MAAc;IACnF,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAwB,EACxB,MAAW,EACX,GAAQ,EACR,KAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;QAClD,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;KACrD,CAAC,CAAC,CAAC;AACN,CAAC"}