@meltemi/diagrams-editor 1.10.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 (112) hide show
  1. package/dist/arrange.d.ts +54 -1
  2. package/dist/arrange.d.ts.map +1 -1
  3. package/dist/arrange.js +209 -7
  4. package/dist/arrange.js.map +1 -1
  5. package/dist/canvas/index.d.ts +1 -0
  6. package/dist/canvas/index.d.ts.map +1 -1
  7. package/dist/canvas/index.js +1 -0
  8. package/dist/canvas/index.js.map +1 -1
  9. package/dist/canvas/keyboard.d.ts +21 -2
  10. package/dist/canvas/keyboard.d.ts.map +1 -1
  11. package/dist/canvas/keyboard.js +19 -0
  12. package/dist/canvas/keyboard.js.map +1 -1
  13. package/dist/canvas/palette.d.ts +41 -1
  14. package/dist/canvas/palette.d.ts.map +1 -1
  15. package/dist/canvas/palette.js +42 -0
  16. package/dist/canvas/palette.js.map +1 -1
  17. package/dist/canvas/pens.d.ts +10 -0
  18. package/dist/canvas/pens.d.ts.map +1 -0
  19. package/dist/canvas/pens.js +29 -0
  20. package/dist/canvas/pens.js.map +1 -0
  21. package/dist/canvas/protocol.d.ts +359 -16
  22. package/dist/canvas/protocol.d.ts.map +1 -1
  23. package/dist/canvas/protocol.js +83 -3
  24. package/dist/canvas/protocol.js.map +1 -1
  25. package/dist/catalog.d.ts +5 -0
  26. package/dist/catalog.d.ts.map +1 -1
  27. package/dist/catalog.js +1 -1
  28. package/dist/catalog.js.map +1 -1
  29. package/dist/clipboard.d.ts.map +1 -1
  30. package/dist/clipboard.js +39 -2
  31. package/dist/clipboard.js.map +1 -1
  32. package/dist/effects.d.ts.map +1 -1
  33. package/dist/effects.js +7 -4
  34. package/dist/effects.js.map +1 -1
  35. package/dist/exports.d.ts +6 -0
  36. package/dist/exports.d.ts.map +1 -1
  37. package/dist/exports.js +11 -9
  38. package/dist/exports.js.map +1 -1
  39. package/dist/fonts.d.ts +63 -0
  40. package/dist/fonts.d.ts.map +1 -0
  41. package/dist/fonts.js +175 -0
  42. package/dist/fonts.js.map +1 -0
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/inspector.d.ts.map +1 -1
  47. package/dist/inspector.js +339 -67
  48. package/dist/inspector.js.map +1 -1
  49. package/dist/layouts.d.ts +3 -2
  50. package/dist/layouts.d.ts.map +1 -1
  51. package/dist/layouts.js +4 -2
  52. package/dist/layouts.js.map +1 -1
  53. package/dist/messages/en.d.ts +51 -0
  54. package/dist/messages/en.d.ts.map +1 -1
  55. package/dist/messages/en.js +51 -0
  56. package/dist/messages/en.js.map +1 -1
  57. package/dist/messages/es.d.ts.map +1 -1
  58. package/dist/messages/es.js +33 -0
  59. package/dist/messages/es.js.map +1 -1
  60. package/dist/messages/index.d.ts +33 -0
  61. package/dist/messages/index.d.ts.map +1 -1
  62. package/dist/messages/keys.d.ts.map +1 -1
  63. package/dist/messages/keys.js +24 -0
  64. package/dist/messages/keys.js.map +1 -1
  65. package/dist/messages/services.d.ts +124 -1
  66. package/dist/messages/services.d.ts.map +1 -1
  67. package/dist/messages/services.js +142 -16
  68. package/dist/messages/services.js.map +1 -1
  69. package/dist/render.d.ts +5 -0
  70. package/dist/render.d.ts.map +1 -1
  71. package/dist/render.js +4 -2
  72. package/dist/render.js.map +1 -1
  73. package/dist/sequence.d.ts +37 -8
  74. package/dist/sequence.d.ts.map +1 -1
  75. package/dist/sequence.js +409 -38
  76. package/dist/sequence.js.map +1 -1
  77. package/dist/services/actions.d.ts.map +1 -1
  78. package/dist/services/actions.js +54 -0
  79. package/dist/services/actions.js.map +1 -1
  80. package/dist/services/completion.d.ts.map +1 -1
  81. package/dist/services/completion.js +100 -10
  82. package/dist/services/completion.js.map +1 -1
  83. package/dist/services/docs.d.ts +5 -0
  84. package/dist/services/docs.d.ts.map +1 -1
  85. package/dist/services/docs.js +7 -0
  86. package/dist/services/docs.js.map +1 -1
  87. package/dist/services/hover.d.ts +5 -0
  88. package/dist/services/hover.d.ts.map +1 -1
  89. package/dist/services/hover.js +152 -20
  90. package/dist/services/hover.js.map +1 -1
  91. package/dist/services/navigation.d.ts.map +1 -1
  92. package/dist/services/navigation.js +6 -3
  93. package/dist/services/navigation.js.map +1 -1
  94. package/dist/services/stories.d.ts.map +1 -1
  95. package/dist/services/stories.js +31 -3
  96. package/dist/services/stories.js.map +1 -1
  97. package/dist/session.d.ts +65 -3
  98. package/dist/session.d.ts.map +1 -1
  99. package/dist/session.js +707 -50
  100. package/dist/session.js.map +1 -1
  101. package/dist/syntax.d.ts.map +1 -1
  102. package/dist/syntax.js +3 -0
  103. package/dist/syntax.js.map +1 -1
  104. package/dist/text-places.d.ts +15 -3
  105. package/dist/text-places.d.ts.map +1 -1
  106. package/dist/text-places.js +136 -15
  107. package/dist/text-places.js.map +1 -1
  108. package/dist/themes.d.ts +0 -2
  109. package/dist/themes.d.ts.map +1 -1
  110. package/dist/themes.js +16 -12
  111. package/dist/themes.js.map +1 -1
  112. package/package.json +16 -16
package/dist/arrange.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { EditOperation } from "@meltemi/diagrams-edit";
2
- import { type Point } from "@meltemi/diagrams-model";
2
+ import { type Element, type FlowDiagram, type Point } from "@meltemi/diagrams-model";
3
3
  import { type DiagramView, type DocumentAnalysis } from "./analysis.js";
4
4
  /**
5
5
  * The interior origin of a group of a free diagram, which its children's places are measured
@@ -8,6 +8,20 @@ import { type DiagramView, type DocumentAnalysis } from "./analysis.js";
8
8
  * places are in diagram coordinates.
9
9
  */
10
10
  export declare function interiorOf(view: DiagramView, group: string | null): Point;
11
+ /** Whether an element keeps its points in its statement: a free line or a pen stroke. */
12
+ export declare function keepsPoints(element: Element): boolean;
13
+ /**
14
+ * The list group (`layout column` or `layout row`) that places an element of a free diagram: its
15
+ * group when that group is a list, which puts its children one after another and takes no
16
+ * `place` for them. Undefined for any other element, and for lines and pens, which keep their
17
+ * points in a list as in any group.
18
+ */
19
+ export declare function placingList(diagram: FlowDiagram, element: Element): string | undefined;
20
+ /**
21
+ * Whether alignment and distribution move an element: not a group, a line or a pen, which have no
22
+ * edges to line up, nor a child of a list, which its list places.
23
+ */
24
+ export declare function alignable(diagram: FlowDiagram, element: Element): boolean;
11
25
  /**
12
26
  * The `convertToContainer` operation for a flow node or a free box, with the elements drawn
13
27
  * stacked on it as its children: siblings declared after it on its layer whose box lies inside
@@ -39,6 +53,45 @@ export declare function stackedAfterMove(view: DiagramView, ids: readonly string
39
53
  * lands where it was dropped and the other children stay.
40
54
  */
41
55
  export declare function steadyGroups(view: DiagramView, leaving: readonly string[], target: string | null): EditOperation[];
56
+ /**
57
+ * The group a stroke through `points` (diagram coordinates) of `width` belongs to, from `start`
58
+ * (the innermost group under its first point, or the group it is in) outwards: the first that is
59
+ * not a list and whose drawn box holds the whole stroke, so that a stroke never grows a list nor
60
+ * moves the children it places; the top level (null) when none does. `start` as it is when it is
61
+ * no group of a drawn free diagram, which the edit judges.
62
+ */
63
+ export declare function strokeParent(view: DiagramView, start: string | null, points: readonly Point[], width: number): string | null;
64
+ /**
65
+ * The `setSize` that keeps a plain group of a free diagram drawn as it is while a stroke goes into
66
+ * it or moves in it: a group without `size` derives its size from what it holds and grows about
67
+ * its centre, which moves its interior and every child placed in it. The size is written as drawn,
68
+ * unrounded, so that the interior stays where it is to the hundredth. Nothing for the top level,
69
+ * a list (which grows with its children) or a group with a size.
70
+ */
71
+ export declare function steadySize(view: DiagramView, group: string | null): EditOperation[];
72
+ /**
73
+ * The operations that draw the pen `element` through `points`, in diagram coordinates, as a drag
74
+ * or a scale of its stroke leaves it: its points in its group's interior. A pen in a list, which
75
+ * would grow the list and move the children it places, goes out first to the nearest group around
76
+ * the list that is not a list and holds the stroke (`strokeParent`), or to the top level, so that
77
+ * it lands where it is dropped. `parent` is the group it ends in, which the caller keeps steady
78
+ * (`steadySize`).
79
+ */
80
+ export declare function penOperations(view: DiagramView, element: Element, points: readonly Point[]): {
81
+ readonly operations: EditOperation[];
82
+ readonly parent: string | null;
83
+ };
84
+ /**
85
+ * The operations that keep what the list group `list` holds drawn where it is once the list no
86
+ * longer places it, in the interior of `into`: the list itself when its layout goes, its parent
87
+ * when it is ungrouped (null: the top level). Each child the list places gets its `place` at its
88
+ * drawn centre, and the size it is drawn with when the list stretches it; when the list stays a
89
+ * group, a written size, which was its least size, becomes the size it is drawn with. Lines and
90
+ * pens that leave the list get their drawn points in the new interior. Into another list, which
91
+ * places them in order, the children get no place; nor in an `auto` diagram, whose engine places
92
+ * them, and which a place would make `assisted`.
93
+ */
94
+ export declare function unlistedOperations(view: DiagramView, list: string, into: string | null): EditOperation[];
42
95
  /**
43
96
  * The `arrange` operation that writes what ELK draws: the unplaced elements around the placed
44
97
  * ones (`unplaced`, laid out as `assisted`), or every element anew (`all`, laid out as `auto`),
@@ -1 +1 @@
1
- {"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAA8C,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAczE;AAKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,MAAM,GAER;IACE,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,oBAAoB,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD,SAAS,CA2CZ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,aAAa,EAAE,CA4CjB;AAgCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB,aAAa,GAAG,SAAS,CAE3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAUjF;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,MAAM,GACV,CAAC,aAAa,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAgBrE"}
1
+ {"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"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"}
package/dist/arrange.js CHANGED
@@ -1,4 +1,4 @@
1
- import { groupHeaderOf, layoutDiagram, stacked, StyleResolver, typeScale, } from "@meltemi/diagrams-layout";
1
+ import { DEFAULT_PEN_WIDTH, groupHeaderOf, layoutDiagram, stacked, StyleResolver, typeScale, } from "@meltemi/diagrams-layout";
2
2
  import { MAIN_LAYER } from "@meltemi/diagrams-model";
3
3
  import { diagramView } from "./analysis.js";
4
4
  /**
@@ -28,6 +28,29 @@ export function interiorOf(view, group) {
28
28
  }
29
29
  const parentId = (e) => e.groupPath[e.groupPath.length - 1] ?? null;
30
30
  const layerOf = (e) => e.layer ?? MAIN_LAYER;
31
+ /** Whether an element keeps its points in its statement: a free line or a pen stroke. */
32
+ export function keepsPoints(element) {
33
+ return element.kind === "line" || element.kind === "pen";
34
+ }
35
+ /**
36
+ * The list group (`layout column` or `layout row`) that places an element of a free diagram: its
37
+ * group when that group is a list, which puts its children one after another and takes no
38
+ * `place` for them. Undefined for any other element, and for lines and pens, which keep their
39
+ * points in a list as in any group.
40
+ */
41
+ export function placingList(diagram, element) {
42
+ if (diagram.type !== "free" || keepsPoints(element))
43
+ return undefined;
44
+ const parent = parentId(element);
45
+ return parent !== null && diagram.elementsById.get(parent)?.list ? parent : undefined;
46
+ }
47
+ /**
48
+ * Whether alignment and distribution move an element: not a group, a line or a pen, which have no
49
+ * edges to line up, nor a child of a list, which its list places.
50
+ */
51
+ export function alignable(diagram, element) {
52
+ return (element.kind !== "group" && !keepsPoints(element) && placingList(diagram, element) === undefined);
53
+ }
31
54
  /**
32
55
  * The `convertToContainer` operation for a flow node or a free box, with the elements drawn
33
56
  * stacked on it as its children: siblings declared after it on its layer whose box lies inside
@@ -46,7 +69,9 @@ export function containerOperation(view, id) {
46
69
  const after = diagram.elements.slice(diagram.elements.indexOf(element) + 1);
47
70
  const children = after.filter((e) => {
48
71
  const inner = boxes.get(e.id);
72
+ // Lines and pens keep their points where they are: they are drawings over the box.
49
73
  return (inner !== undefined &&
74
+ !keepsPoints(e) &&
50
75
  parentId(e) === parentId(element) &&
51
76
  layerOf(e) === layerOf(element) &&
52
77
  stacked(box, inner));
@@ -91,13 +116,16 @@ export function stackedAfterMove(view, ids, delta) {
91
116
  for (const id of ids) {
92
117
  const element = diagram.elementsById.get(id);
93
118
  const box = boxes.get(id);
94
- if (!element || !box)
119
+ // A stroke or a line over a box is a drawing on it, which no container carries.
120
+ if (!element || !box || keepsPoints(element))
95
121
  continue;
96
122
  const landed = { ...box, x: box.x + delta.x, y: box.y + delta.y };
97
123
  // The smallest box that holds it, which is the one it is seen on.
98
124
  let outer;
99
125
  for (const other of diagram.elements) {
100
- if (other.kind === "group" || moves(other) || layerOf(other) !== layerOf(element))
126
+ if (other.kind === "group" || keepsPoints(other) || moves(other))
127
+ continue;
128
+ if (layerOf(other) !== layerOf(element))
101
129
  continue;
102
130
  const holder = boxes.get(other.id);
103
131
  if (!holder || !stacked(holder, landed))
@@ -140,7 +168,10 @@ export function steadyGroups(view, leaving, target) {
140
168
  continue;
141
169
  const emptied = sources.has(group) &&
142
170
  diagram.elements.every((e) => e.groupPath[e.groupPath.length - 1] !== group || leaving.includes(e.id));
143
- if (!emptied && !(placed && diagram.type === "free"))
171
+ // A list grows and shrinks with its children, whose places it sets: it keeps no size of the
172
+ // moment unless it is left empty.
173
+ const list = Boolean(diagram.elementsById.get(group)?.list);
174
+ if (!emptied && (list || !(placed && diagram.type === "free")))
144
175
  continue;
145
176
  if (!placed) {
146
177
  // Relative to the interior of its own group in free diagrams.
@@ -163,10 +194,178 @@ export function steadyGroups(view, leaving, target) {
163
194
  }
164
195
  return ops;
165
196
  }
197
+ /**
198
+ * Whether a box holds a stroke through `points` of `width`: the box of its points grown by half
199
+ * its width on every side, as the layout bounds a pen.
200
+ */
201
+ function holdsStroke(box, points, width) {
202
+ const half = width / 2;
203
+ const slack = 1e-6;
204
+ return points.every((p) => p.x - half >= box.x - slack &&
205
+ p.x + half <= box.x + box.width + slack &&
206
+ p.y - half >= box.y - slack &&
207
+ p.y + half <= box.y + box.height + slack);
208
+ }
209
+ /**
210
+ * The group a stroke through `points` (diagram coordinates) of `width` belongs to, from `start`
211
+ * (the innermost group under its first point, or the group it is in) outwards: the first that is
212
+ * not a list and whose drawn box holds the whole stroke, so that a stroke never grows a list nor
213
+ * moves the children it places; the top level (null) when none does. `start` as it is when it is
214
+ * no group of a drawn free diagram, which the edit judges.
215
+ */
216
+ export function strokeParent(view, start, points, width) {
217
+ const diagram = view.diagram;
218
+ const group = start === null ? undefined : diagram.elementsById.get(start);
219
+ const boxes = view.layout?.boxes;
220
+ if (start === null || group?.kind !== "group" || diagram.type !== "free" || !boxes)
221
+ return start;
222
+ for (const id of [start, ...[...group.groupPath].reverse()]) {
223
+ const candidate = diagram.elementsById.get(id);
224
+ const box = boxes.get(id);
225
+ if (candidate && candidate.list === null && box && holdsStroke(box, points, width))
226
+ return id;
227
+ }
228
+ return null;
229
+ }
230
+ /**
231
+ * The `setSize` that keeps a plain group of a free diagram drawn as it is while a stroke goes into
232
+ * it or moves in it: a group without `size` derives its size from what it holds and grows about
233
+ * its centre, which moves its interior and every child placed in it. The size is written as drawn,
234
+ * unrounded, so that the interior stays where it is to the hundredth. Nothing for the top level,
235
+ * a list (which grows with its children) or a group with a size.
236
+ */
237
+ export function steadySize(view, group) {
238
+ const diagram = view.diagram;
239
+ if (group === null || diagram.type !== "free")
240
+ return [];
241
+ const element = diagram.elementsById.get(group);
242
+ const box = view.layout?.boxes?.get(group);
243
+ if (element?.kind !== "group" || element.list !== null || !box)
244
+ return [];
245
+ if (diagram.placement.some((p) => p.statement === "size" && p.target === group))
246
+ return [];
247
+ return [
248
+ { kind: "setSize", diagram: view.id, element: group, width: box.width, height: box.height },
249
+ ];
250
+ }
251
+ /**
252
+ * The operations that draw the pen `element` through `points`, in diagram coordinates, as a drag
253
+ * or a scale of its stroke leaves it: its points in its group's interior. A pen in a list, which
254
+ * would grow the list and move the children it places, goes out first to the nearest group around
255
+ * the list that is not a list and holds the stroke (`strokeParent`), or to the top level, so that
256
+ * it lands where it is dropped. `parent` is the group it ends in, which the caller keeps steady
257
+ * (`steadySize`).
258
+ */
259
+ export function penOperations(view, element, points) {
260
+ const diagram = view.diagram;
261
+ const current = parentId(element);
262
+ const width = view.layout?.pens?.get(element.id)?.width ?? DEFAULT_PEN_WIDTH;
263
+ const parent = current !== null && diagram.elementsById.get(current)?.list
264
+ ? strokeParent(view, current, points, width)
265
+ : current;
266
+ const operations = [];
267
+ if (parent !== current) {
268
+ operations.push({ kind: "moveElement", diagram: view.id, element: element.id, parent });
269
+ }
270
+ const origin = interiorOf(view, parent);
271
+ operations.push({
272
+ kind: "setPenPoints",
273
+ diagram: view.id,
274
+ element: element.id,
275
+ points: points.map((p) => ({ x: p.x - origin.x, y: p.y - origin.y })),
276
+ });
277
+ return { operations, parent };
278
+ }
279
+ /**
280
+ * The operations that keep what the list group `list` holds drawn where it is once the list no
281
+ * longer places it, in the interior of `into`: the list itself when its layout goes, its parent
282
+ * when it is ungrouped (null: the top level). Each child the list places gets its `place` at its
283
+ * drawn centre, and the size it is drawn with when the list stretches it; when the list stays a
284
+ * group, a written size, which was its least size, becomes the size it is drawn with. Lines and
285
+ * pens that leave the list get their drawn points in the new interior. Into another list, which
286
+ * places them in order, the children get no place; nor in an `auto` diagram, whose engine places
287
+ * them, and which a place would make `assisted`.
288
+ */
289
+ export function unlistedOperations(view, list, into) {
290
+ const diagram = view.diagram;
291
+ const layout = view.layout;
292
+ const geometry = layout?.lists?.get(list);
293
+ const boxes = layout?.boxes;
294
+ if (diagram.type !== "free" || !geometry || !boxes)
295
+ return [];
296
+ const d = view.id;
297
+ const sized = (id) => diagram.placement.some((p) => p.statement === "size" && p.target === id);
298
+ const size = (id, box) => ({
299
+ kind: "setSize",
300
+ diagram: d,
301
+ element: id,
302
+ width: Math.round(box.width),
303
+ height: Math.round(box.height),
304
+ });
305
+ const origin = into === list ? geometry.origin : interiorOf(view, into);
306
+ const ops = [];
307
+ const intoList = into !== null && into !== list && Boolean(diagram.elementsById.get(into)?.list);
308
+ if (!intoList) {
309
+ for (const id of geometry.children) {
310
+ const box = boxes.get(id);
311
+ if (!box)
312
+ continue;
313
+ if (view.mode !== "auto") {
314
+ ops.push({
315
+ kind: "setPosition",
316
+ diagram: d,
317
+ element: id,
318
+ x: Math.round(box.x + box.width / 2 - origin.x),
319
+ y: Math.round(box.y + box.height / 2 - origin.y),
320
+ });
321
+ }
322
+ if (geometry.align === "stretch" && !sized(id))
323
+ ops.push(size(id, box));
324
+ }
325
+ }
326
+ if (into === list) {
327
+ const box = boxes.get(list);
328
+ if (box && sized(list))
329
+ ops.push(size(list, box));
330
+ return ops;
331
+ }
332
+ for (const element of diagram.elements) {
333
+ if (parentId(element) !== list)
334
+ continue;
335
+ if (element.kind === "pen") {
336
+ const stroke = layout.pens?.get(element.id);
337
+ if (!stroke)
338
+ continue;
339
+ ops.push({
340
+ kind: "setPenPoints",
341
+ diagram: d,
342
+ element: element.id,
343
+ points: stroke.points.map((p) => ({ x: p.x - origin.x, y: p.y - origin.y })),
344
+ });
345
+ }
346
+ else if (element.kind === "line" && element.line) {
347
+ const at = layout.origins?.get(element.id) ?? { x: 0, y: 0 };
348
+ const moved = (p) => ({
349
+ x: Math.round(p.x + at.x - origin.x),
350
+ y: Math.round(p.y + at.y - origin.y),
351
+ });
352
+ ops.push({
353
+ kind: "setLinePoints",
354
+ diagram: d,
355
+ element: element.id,
356
+ from: moved(element.line.from),
357
+ to: moved(element.line.to),
358
+ via: element.line.via.map(moved),
359
+ });
360
+ }
361
+ }
362
+ return ops;
363
+ }
166
364
  /**
167
365
  * Centres of elements and sizes of groups from laid-out boxes. In free diagrams the centres of
168
366
  * group children are written relative to their group's interior (`origins`), and groups get a
169
- * place and a size.
367
+ * place and a size; lines and pens keep their points, the children of a list get no centre (the
368
+ * list places them) and a list no size (it grows with its children).
170
369
  */
171
370
  function fromBoxes(diagram, boxes, origins) {
172
371
  const positions = new Map();
@@ -174,15 +373,18 @@ function fromBoxes(diagram, boxes, origins) {
174
373
  const free = diagram.type === "free";
175
374
  for (const element of diagram.elements) {
176
375
  const box = boxes.get(element.id);
177
- if (!box)
376
+ if (!box || (free && keepsPoints(element)))
377
+ continue;
378
+ if (placingList(diagram, element) !== undefined)
178
379
  continue;
179
380
  const origin = free ? origins?.get(element.id) : undefined;
180
381
  positions.set(element.id, {
181
382
  x: box.x + box.width / 2 - (origin?.x ?? 0),
182
383
  y: box.y + box.height / 2 - (origin?.y ?? 0),
183
384
  });
184
- if (element.kind === "group")
385
+ if (element.kind === "group" && !element.list) {
185
386
  sizes.set(element.id, { width: box.width, height: box.height });
387
+ }
186
388
  }
187
389
  return free ? { positions, sizes, writeGroups: true } : { positions, sizes };
188
390
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arrange.js","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,OAAO,EACP,aAAa,EACb,SAAS,GAGV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAA8C,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,WAAW,EAA2C,MAAM,eAAe,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAiB,EAAE,KAAoB;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACxE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7E,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB,EACjB,EAAU;IAOV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,CACL,KAAK,KAAK,SAAS;YACnB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YAC/B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACrC,yFAAyF;IACzF,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAClG,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC;gBACnC,OAAO,IAAI;oBACT,CAAC,CAAC;wBACE,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,EAAE,EAAE;4BACF,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;4BACnD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;yBACrD;qBACF;oBACH,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;SACvE;QACD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,GAAsB,EACtB,KAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE,SAAS;QAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClE,kEAAkE;QAClE,IAAI,KAA+C,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAE,SAAS;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;gBAAE,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAiB,EACjB,OAA0B,EAC1B,MAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,SAA2B,EAAE,EAAU,EAAE,EAAE,CACtD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC,CAC7E,CAAC;IACF,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACrD,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;QACJ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8DAA8D;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,OAAO,EAAE,KAAK;gBACd,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAChB,OAAoB,EACpB,KAA+B,EAC/B,OAA+C;IAM/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6C,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;SAC7C,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA0B,EAC1B,SAAiB,EACjB,KAAyB;IAEzB,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA0B,EAC1B,SAAiB,EACjB,KAAyB;IAEzB,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACtF,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAC5F,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAiB,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;QAC7E,GAAG,QAAQ,CAAC,aAAa;QACzB,MAAM,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;KAC9C,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GACV,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IACpD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,QAA0B,EAAE,IAAY;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS;QAC3B,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAClE,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA0B,EAC1B,SAAiB,EACjB,EAAW;IAEX,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC/F,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,SAAS;QAClB,EAAE,EAAE,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACvC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"arrange.js","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from "./routes.js";
6
6
  export * from "./keyboard.js";
7
7
  export * from "./protocol.js";
8
8
  export * from "./palette.js";
9
+ export * from "./pens.js";
9
10
  export * from "./turning.js";
10
11
  export { CORNERED_SHAPES, SHAPE_SIZES, onOutline, pointInShape, turnPoint, turnedOutline, shapeMagnets, shapeOutline, type ShapeMagnet, type ShapeOptions, type ShapeOutline, type ShapeSize, } from "@meltemi/diagrams-layout/shapes";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,iCAAiC,CAAC"}
@@ -7,6 +7,7 @@ export * from "./routes.js";
7
7
  export * from "./keyboard.js";
8
8
  export * from "./protocol.js";
9
9
  export * from "./palette.js";
10
+ export * from "./pens.js";
10
11
  export * from "./turning.js";
11
12
  // The outlines of the shapes, from the layout's pure geometry module (no engine, no model at run
12
13
  // time), so the canvas draws what the layout draws: pictures, ghosts, hit tests and magnets.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,iGAAiG;AACjG,6FAA6F;AAC7F,OAAO,EACL,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,GAKb,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,iGAAiG;AACjG,6FAA6F;AAC7F,OAAO,EACL,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,GAKb,MAAM,iCAAiC,CAAC"}
@@ -1,9 +1,28 @@
1
1
  /** Commands of the canvas that keys, menus and toolbar buttons trigger. */
2
2
  export type CanvasCommand = "selectAll" | "clearSelection" | "selectNext" | "selectPrevious" | "selectLeft" | "selectRight" | "selectUp" | "selectDown"
3
3
  /** The shape painted below the selected one under the same point (Alt+click, the menu). */
4
- | "selectBelow" | "nudgeLeft" | "nudgeRight" | "nudgeUp" | "nudgeDown" | "nudgeLeftGrid" | "nudgeRightGrid" | "nudgeUpGrid" | "nudgeDownGrid" | "narrowerGrid" | "widerGrid" | "shorterGrid" | "tallerGrid" | "editLabel" | "renameId" | "delete" | "copy" | "cut" | "paste" | "duplicate" | "group" | "ungroup" | "alignLeft" | "alignRight" | "alignTop" | "alignBottom" | "distributeHorizontal" | "distributeVertical" | "connect" | "relationTool" | "createNode" | "createDecision" | "createData" | "createNote" | "createTag" | "createGroup" | "createBox" | "createText" | "createIcon" | "createImage"
4
+ | "selectBelow" | "nudgeLeft" | "nudgeRight" | "nudgeUp" | "nudgeDown" | "nudgeLeftGrid" | "nudgeRightGrid" | "nudgeUpGrid" | "nudgeDownGrid" | "narrowerGrid" | "widerGrid" | "shorterGrid" | "tallerGrid" | "editLabel" | "renameId"
5
+ /** The text size of the selection, one common size up or down (decision 0067). */
6
+ | "growText" | "shrinkText" | "delete" | "copy" | "cut" | "paste" | "duplicate" | "group" | "ungroup" | "alignLeft" | "alignRight" | "alignTop" | "alignBottom" | "distributeHorizontal" | "distributeVertical" | "connect" | "relationTool" | "createNode" | "createDecision" | "createData" | "createNote" | "createTag" | "createGroup" | "createBox" | "createText" | "createIcon" | "createImage"
7
+ /** Free diagrams: a sticky near the centre, with its editor open. */
8
+ | "createSticky"
9
+ /** Free diagrams: the pen, which stays armed after each stroke. */
10
+ | "penTool"
11
+ /** Free diagrams: the pen with the highlighter's colour, width and opacity. */
12
+ | "highlighterTool"
13
+ /** Free diagrams: the eraser, which deletes the pens it crosses. */
14
+ | "eraserTool"
15
+ /**
16
+ * Free diagrams: after the selected child of a list, what the list's **+** adds at its end (a
17
+ * sticky in a column, a column in a row).
18
+ */
19
+ | "addToList"
20
+ /** Free diagrams: the selected child of a list before its neighbour in the list's order. */
21
+ | "moveInListBefore"
22
+ /** Free diagrams: the selected child of a list after its neighbour in the list's order. */
23
+ | "moveInListAfter"
5
24
  /** The grid of the twenty-four shapes of the box (free) or node (flow) button. */
6
- | "openShapes" | "bringToFront" | "sendToBack" | "bringForward" | "sendBackward" | "convertToFree" | "createParticipant" | "createActor" | "createSequenceNote" | "createFragment" | "createDivider" | "createDelay" | "moveEventUp" | "moveEventDown" | "toggleActivation" | "addEntity" | "zoomIn" | "zoomOut" | "zoomReset" | "zoomFit" | "zoomSelection" | "toggleLayers" | "toggleLibraries"
25
+ | "openShapes" | "bringToFront" | "sendToBack" | "bringForward" | "sendBackward" | "convertToFree" | "createParticipant" | "createActor" | "createSequenceNote" | "createFragment" | "createDivider" | "createDelay" | "moveEventUp" | "moveEventDown" | "toggleActivation" | "nestInCall" | "unnestCall" | "addReturn" | "addEntity" | "zoomIn" | "zoomOut" | "zoomReset" | "zoomFit" | "zoomSelection" | "toggleLayers" | "toggleLibraries"
7
26
  /** The Pointer tool: a trail that points at the diagram and edits nothing. */
8
27
  | "togglePointer" | "contextMenu";
9
28
  export interface KeyBinding {
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/canvas/keyboard.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,UAAU,GACV,YAAY;AACd,2FAA2F;GACzF,aAAa,GACb,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,cAAc,GACd,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,GACR,MAAM,GACN,KAAK,GACL,OAAO,GACP,WAAW,GACX,OAAO,GACP,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,SAAS,GACT,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,aAAa;AACf,kFAAkF;GAChF,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,SAAS,GACT,eAAe,GACf,cAAc,GACd,iBAAiB;AACnB,8EAA8E;GAC5E,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACxD;AAmBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAwE7C,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,GAAG,UAAQ,EACX,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAa,GACpD,aAAa,GAAG,SAAS,CAiB3B"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/canvas/keyboard.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,UAAU,GACV,YAAY;AACd,2FAA2F;GACzF,aAAa,GACb,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,cAAc,GACd,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU;AACZ,kFAAkF;GAChF,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,KAAK,GACL,OAAO,GACP,WAAW,GACX,OAAO,GACP,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,SAAS,GACT,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,aAAa;AACf,qEAAqE;GACnE,cAAc;AAChB,mEAAmE;GACjE,SAAS;AACX,+EAA+E;GAC7E,iBAAiB;AACnB,oEAAoE;GAClE,YAAY;AACd;;;GAGG;GACD,WAAW;AACb,4FAA4F;GAC1F,kBAAkB;AACpB,2FAA2F;GACzF,iBAAiB;AACnB,kFAAkF;GAChF,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,SAAS,GACT,eAAe,GACf,cAAc,GACd,iBAAiB;AACnB,8EAA8E;GAC5E,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACxD;AAmBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA2F7C,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,GAAG,UAAQ,EACX,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAa,GACpD,aAAa,GAAG,SAAS,CAiB3B"}
@@ -34,6 +34,9 @@ export const KEY_BINDINGS = [
34
34
  bind({ key: "Enter", command: "editLabel" }),
35
35
  bind({ key: "F2", command: "editLabel" }),
36
36
  bind({ key: "F2", shift: true, command: "renameId" }),
37
+ // The keys slide tools give the text size; by the key's place, whatever Shift types there.
38
+ bind({ key: "Period", primary: true, shift: true, command: "growText" }),
39
+ bind({ key: "Comma", primary: true, shift: true, command: "shrinkText" }),
37
40
  bind({ key: "Delete", command: "delete" }),
38
41
  bind({ key: "Backspace", command: "delete" }),
39
42
  bind({ key: "c", primary: true, command: "copy" }),
@@ -61,12 +64,24 @@ export const KEY_BINDINGS = [
61
64
  bind({ key: "o", command: "createNote", profile: "free" }),
62
65
  bind({ key: "o", command: "createNote", profile: "c4" }),
63
66
  bind({ key: "t", command: "createTag", profile: "flow" }),
67
+ // On a sequence diagram T tags the selected message or participant (`addTag`).
68
+ bind({ key: "t", command: "createTag", profile: "sequence" }),
64
69
  // The icon picker, on flow and free diagrams: I again closes it.
65
70
  bind({ key: "i", command: "createIcon", profile: "flow" }),
66
71
  bind({ key: "b", command: "createBox", profile: "free" }),
67
72
  bind({ key: "t", command: "createText", profile: "free" }),
68
73
  bind({ key: "i", command: "createIcon", profile: "free" }),
69
74
  bind({ key: "m", command: "createImage", profile: "free" }),
75
+ // The whiteboard: S, P, H and E are the words' initials, free on the free profile (S and P
76
+ // belong to the data store in flow and to participants in sequence diagrams).
77
+ bind({ key: "s", command: "createSticky", profile: "free" }),
78
+ bind({ key: "p", command: "penTool", profile: "free" }),
79
+ bind({ key: "h", command: "highlighterTool", profile: "free" }),
80
+ bind({ key: "e", command: "eraserTool", profile: "free" }),
81
+ bind({ key: "Enter", primary: true, command: "addToList", profile: "free" }),
82
+ // Up and Down in a row as in a column: Alt+Left and Alt+Right belong to the workbench.
83
+ bind({ key: "ArrowUp", alt: true, command: "moveInListBefore", profile: "free" }),
84
+ bind({ key: "ArrowDown", alt: true, command: "moveInListAfter", profile: "free" }),
70
85
  // F, not S, opens the shapes: S is the data store in flow; sequence diagrams keep F for fragments.
71
86
  bind({ key: "f", command: "openShapes", profile: "flow" }),
72
87
  bind({ key: "f", command: "openShapes", profile: "free" }),
@@ -77,6 +92,10 @@ export const KEY_BINDINGS = [
77
92
  bind({ key: "ArrowUp", alt: true, command: "moveEventUp", profile: "sequence" }),
78
93
  bind({ key: "ArrowDown", alt: true, command: "moveEventDown", profile: "sequence" }),
79
94
  bind({ key: "a", alt: true, command: "toggleActivation", profile: "sequence" }),
95
+ // N for nest: N alone creates a node on flow and does nothing on sequence.
96
+ bind({ key: "n", alt: true, command: "nestInCall", profile: "sequence" }),
97
+ bind({ key: "n", alt: true, shift: true, command: "unnestCall", profile: "sequence" }),
98
+ bind({ key: "r", alt: true, command: "addReturn", profile: "sequence" }),
80
99
  bind({ key: "a", command: "addEntity", profile: "c4" }),
81
100
  bind({ key: "g", command: "createGroup" }),
82
101
  bind({ key: "l", command: "toggleLayers" }),
@@ -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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"}