@meltemi/diagrams-edit 1.10.0 → 1.10.18

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 (68) hide show
  1. package/dist/animate.d.ts.map +1 -1
  2. package/dist/animate.js +3 -0
  3. package/dist/animate.js.map +1 -1
  4. package/dist/context.d.ts +7 -0
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js +15 -0
  7. package/dist/context.js.map +1 -1
  8. package/dist/create.d.ts.map +1 -1
  9. package/dist/create.js +37 -13
  10. package/dist/create.js.map +1 -1
  11. package/dist/free.d.ts.map +1 -1
  12. package/dist/free.js +89 -3
  13. package/dist/free.js.map +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/insert.d.ts +39 -1
  19. package/dist/insert.d.ts.map +1 -1
  20. package/dist/insert.js +128 -2
  21. package/dist/insert.js.map +1 -1
  22. package/dist/labels.d.ts.map +1 -1
  23. package/dist/labels.js +7 -9
  24. package/dist/labels.js.map +1 -1
  25. package/dist/lines.d.ts.map +1 -1
  26. package/dist/lines.js +4 -11
  27. package/dist/lines.js.map +1 -1
  28. package/dist/messages/en.d.ts +70 -0
  29. package/dist/messages/en.d.ts.map +1 -1
  30. package/dist/messages/en.js +72 -0
  31. package/dist/messages/en.js.map +1 -1
  32. package/dist/messages/es.d.ts.map +1 -1
  33. package/dist/messages/es.js +48 -0
  34. package/dist/messages/es.js.map +1 -1
  35. package/dist/messages/index.d.ts +41 -0
  36. package/dist/messages/index.d.ts.map +1 -1
  37. package/dist/pens.d.ts +16 -0
  38. package/dist/pens.d.ts.map +1 -0
  39. package/dist/pens.js +175 -0
  40. package/dist/pens.js.map +1 -0
  41. package/dist/plan.d.ts.map +1 -1
  42. package/dist/plan.js +79 -15
  43. package/dist/plan.js.map +1 -1
  44. package/dist/relations.d.ts.map +1 -1
  45. package/dist/relations.js +33 -15
  46. package/dist/relations.js.map +1 -1
  47. package/dist/sequence.d.ts +13 -2
  48. package/dist/sequence.d.ts.map +1 -1
  49. package/dist/sequence.js +342 -31
  50. package/dist/sequence.js.map +1 -1
  51. package/dist/structure.d.ts +7 -5
  52. package/dist/structure.d.ts.map +1 -1
  53. package/dist/structure.js +49 -49
  54. package/dist/structure.js.map +1 -1
  55. package/dist/styles.d.ts.map +1 -1
  56. package/dist/styles.js +8 -3
  57. package/dist/styles.js.map +1 -1
  58. package/dist/tags.d.ts +19 -0
  59. package/dist/tags.d.ts.map +1 -0
  60. package/dist/tags.js +159 -0
  61. package/dist/tags.js.map +1 -0
  62. package/dist/text.d.ts +4 -0
  63. package/dist/text.d.ts.map +1 -1
  64. package/dist/text.js +9 -0
  65. package/dist/text.js.map +1 -1
  66. package/dist/types.d.ts +174 -13
  67. package/dist/types.d.ts.map +1 -1
  68. package/package.json +13 -8
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
package/dist/tags.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type TextEdit } from "@meltemi/diagrams-language";
2
+ import { type EditContext } from "./context.js";
3
+ import type { OperationOf } from "./plan.js";
4
+ /**
5
+ * Writes `tag "<text>"` in the owner's block: before the tag at `index`, else after the last
6
+ * tag, else after the last property before the block's events, else first. A block written on
7
+ * one line opens onto lines when it gains a second statement; a statement without a block gains
8
+ * a one-line block, and an implicit participant is declared with it where it keeps its column
9
+ * (`declareImplicit`).
10
+ */
11
+ export declare function addTag(ctx: EditContext, op: OperationOf<"addTag">): TextEdit[];
12
+ /** Rewrites the text of the owner's tag at `index`. */
13
+ export declare function setTag(ctx: EditContext, op: OperationOf<"setTag">): TextEdit[];
14
+ /**
15
+ * Deletes the owner's tag at `index`, and the block with it when it held nothing else: no other
16
+ * statement and no comment.
17
+ */
18
+ export declare function removeTag(ctx: EditContext, op: OperationOf<"removeTag">): TextEdit[];
19
+ //# sourceMappingURL=tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAUzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAwE7C;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAuB9E;AA2CD,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAU9E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,EAAE,CAkBpF"}
package/dist/tags.js ADDED
@@ -0,0 +1,159 @@
1
+ import { isToken, tokensOf, } from "@meltemi/diagrams-language";
2
+ import { PARTICIPANT_KINDS, isTagText } from "@meltemi/diagrams-model";
3
+ import { insertStatement, reject } from "./context.js";
4
+ import { declarationText } from "./create.js";
5
+ import { deleteStatements } from "./delete.js";
6
+ import { declareImplicit, insertAfter, insertBeforeStatement, verifyNoNewErrors, } from "./insert.js";
7
+ import { reasons } from "./messages/index.js";
8
+ import { isEventStatement } from "./sequence.js";
9
+ import { hasOnlyWhitespaceTrivia, lineIndent, quoteString } from "./text.js";
10
+ const PARTICIPANTS = new Set(PARTICIPANT_KINDS);
11
+ /** The participant or message an operation names, refusing anything else. */
12
+ function requireOwner(ctx, op) {
13
+ if (ctx.diagram.type !== "sequence") {
14
+ reject("edit.unsafe-target", reasons().tags.notSequence(ctx.diagram.id));
15
+ }
16
+ if (op.targetKind === "element") {
17
+ const element = ctx.diagram.elementsById.get(op.target);
18
+ if (!element || !PARTICIPANTS.has(element.kind)) {
19
+ reject("edit.unsafe-target", reasons().tags.notOwner(op.target, ctx.diagram.id));
20
+ }
21
+ return { target: op.target, tags: element.tags, node: element.node, events: false, element };
22
+ }
23
+ const relation = ctx.diagram.relationsByKey.get(op.target);
24
+ if (!relation || op.targetKind !== "relation") {
25
+ reject("edit.unsafe-target", reasons().tags.notOwner(op.target, ctx.diagram.id));
26
+ }
27
+ return { target: op.target, tags: relation.tags, node: relation.node, events: true };
28
+ }
29
+ /** A tag's text: one line, not empty, that no other tag of the owner has. */
30
+ function requireText(owner, text, except) {
31
+ if (typeof text !== "string" || !isTagText(text)) {
32
+ reject("edit.invalid-value", reasons().tags.oneLine);
33
+ }
34
+ if (owner.tags.some((tag, i) => i !== except && tag.text === text)) {
35
+ reject("edit.invalid-value", reasons().tags.repeated(owner.target, text));
36
+ }
37
+ return text;
38
+ }
39
+ /** The `tag` statement of the owner's tag at `index`, refusing an index that names none. */
40
+ function requireTag(owner, index) {
41
+ const tag = Number.isInteger(index) ? owner.tags[index] : undefined;
42
+ if (!tag)
43
+ reject("edit.unsafe-target", reasons().tags.noTag(owner.target, index, owner.tags.length));
44
+ const block = owner.node?.block;
45
+ const statement = block?.statements.find((s) => s.start === tag.range.start.offset);
46
+ if (!block || statement?.kind !== "KeywordStatement") {
47
+ reject("edit.unsafe-target", reasons().tags.unreadable);
48
+ }
49
+ return { block, statement };
50
+ }
51
+ /** Whether a block is written on one line with nothing but whitespace between its tokens. */
52
+ function oneLine(block) {
53
+ return (isToken(block.close) &&
54
+ !block.children.some((c) => isToken(c) && c.kind === "Newline") &&
55
+ [...tokensOf(block)].every((t) => t === block.open || hasOnlyWhitespaceTrivia(t)));
56
+ }
57
+ /**
58
+ * Writes `tag "<text>"` in the owner's block: before the tag at `index`, else after the last
59
+ * tag, else after the last property before the block's events, else first. A block written on
60
+ * one line opens onto lines when it gains a second statement; a statement without a block gains
61
+ * a one-line block, and an implicit participant is declared with it where it keeps its column
62
+ * (`declareImplicit`).
63
+ */
64
+ export function addTag(ctx, op) {
65
+ const owner = requireOwner(ctx, op);
66
+ const statementText = `tag ${quoteString(requireText(owner, op.text))}`;
67
+ if (op.index !== undefined && !(Number.isInteger(op.index) && op.index >= 0)) {
68
+ reject("edit.unsafe-target", reasons().tags.badIndex(op.index));
69
+ }
70
+ const node = owner.node;
71
+ let edits;
72
+ if (!node) {
73
+ // An implicit participant: declared with its block where it keeps its column.
74
+ const element = owner.element;
75
+ const head = element.label === element.id
76
+ ? `${element.kind} ${element.id}`
77
+ : declarationText(element.kind, element.id, element.label, "sequence");
78
+ edits = [declareImplicit(ctx, element, `${head} { ${statementText} }`)];
79
+ }
80
+ else if (!node.block) {
81
+ edits = [{ start: node.end, end: node.end, newText: ` { ${statementText} }` }];
82
+ }
83
+ else {
84
+ edits = [insertTag(ctx, owner, node.block, node.start, op.index, statementText)];
85
+ }
86
+ verifyNoNewErrors(ctx, edits);
87
+ return edits;
88
+ }
89
+ /** The edit that writes a tag statement into the owner's existing block. */
90
+ function insertTag(ctx, owner, block, ownerStart, index, text) {
91
+ const statements = block.statements;
92
+ const tagged = owner.tags.map((tag) => statements.find((s) => s.start === tag.range.start.offset));
93
+ let position;
94
+ const before = index !== undefined ? tagged[index] : undefined;
95
+ const last = tagged[tagged.length - 1];
96
+ if (before)
97
+ position = statements.indexOf(before);
98
+ else if (last)
99
+ position = statements.indexOf(last) + 1;
100
+ else {
101
+ // After the last property that comes before the block's events.
102
+ const first = owner.events ? statements.findIndex(isEventStatement) : -1;
103
+ position = first < 0 ? statements.length : first;
104
+ }
105
+ if (statements.length === 0)
106
+ return insertStatement(ctx, block, ownerStart, () => text);
107
+ if (oneLine(block)) {
108
+ // A second statement: the block opens onto lines, one statement each.
109
+ const indent = lineIndent(ctx.text, ownerStart);
110
+ const inner = indent + ctx.unit;
111
+ const lines = statements.map((s) => ctx.text.slice(s.start, s.end));
112
+ lines.splice(position, 0, text);
113
+ return {
114
+ start: block.open.end,
115
+ end: block.close.start,
116
+ newText: `${ctx.eol}${lines.map((line) => inner + line).join(ctx.eol)}${ctx.eol}${indent}`,
117
+ };
118
+ }
119
+ return position > 0
120
+ ? insertAfter(ctx, block, statements[position - 1], () => text)
121
+ : insertBeforeStatement(ctx, block, statements[0], () => text);
122
+ }
123
+ /** Rewrites the text of the owner's tag at `index`. */
124
+ export function setTag(ctx, op) {
125
+ const owner = requireOwner(ctx, op);
126
+ const { statement } = requireTag(owner, op.index);
127
+ const quoted = quoteString(requireText(owner, op.text, op.index));
128
+ const value = statement.args[0];
129
+ if (value?.kind !== "StringLiteral")
130
+ reject("edit.unsafe-target", reasons().tags.unreadable);
131
+ if (value.token.text === quoted)
132
+ return [];
133
+ const edits = [{ start: value.token.start, end: value.token.end, newText: quoted }];
134
+ verifyNoNewErrors(ctx, edits);
135
+ return edits;
136
+ }
137
+ /**
138
+ * Deletes the owner's tag at `index`, and the block with it when it held nothing else: no other
139
+ * statement and no comment.
140
+ */
141
+ export function removeTag(ctx, op) {
142
+ const owner = requireOwner(ctx, op);
143
+ const { block, statement } = requireTag(owner, op.index);
144
+ const alone = block.statements.length === 1 &&
145
+ isToken(block.close) &&
146
+ [...tokensOf(block)].every((t) => t === block.open || hasOnlyWhitespaceTrivia(t));
147
+ const edits = alone
148
+ ? [
149
+ {
150
+ start: hasOnlyWhitespaceTrivia(block.open) ? block.fullStart : block.open.start,
151
+ end: block.end,
152
+ newText: "",
153
+ },
154
+ ]
155
+ : deleteStatements(ctx.text, ctx.compilation.parse.root, [statement]);
156
+ verifyNoNewErrors(ctx, edits);
157
+ return edits;
158
+ }
159
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"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"}
package/dist/text.d.ts CHANGED
@@ -10,6 +10,10 @@ export declare function hasOnlyWhitespaceTrivia(token: Token): boolean;
10
10
  export declare function firstTokenOf(element: CstElement): Token | undefined;
11
11
  /** Formats a coordinate: integers as is, other values rounded to two decimals. */
12
12
  export declare function formatNumber(value: number): string;
13
+ /** Formats a pen coordinate: rounded to a tenth, without a decimal when whole. */
14
+ export declare function formatTenth(value: number): string;
15
+ /** Columns a text takes on a line, a tab counting for four as the formatter counts it. */
16
+ export declare function columnsOf(text: string): number;
13
17
  export declare function sameNumber(a: number, b: number): boolean;
14
18
  /** Quotes a label as an `.meltemi` string. */
15
19
  export declare function quoteString(value: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAEpC,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE7D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAInE;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEnE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAEhF;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAEpC,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE7D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAInE;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEnE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAEhF;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
package/dist/text.js CHANGED
@@ -33,6 +33,15 @@ export function formatNumber(value) {
33
33
  const rounded = Math.round(value * 100) / 100;
34
34
  return String(Object.is(rounded, -0) ? 0 : rounded);
35
35
  }
36
+ /** Formats a pen coordinate: rounded to a tenth, without a decimal when whole. */
37
+ export function formatTenth(value) {
38
+ const rounded = Math.round(value * 10) / 10;
39
+ return String(Object.is(rounded, -0) ? 0 : rounded);
40
+ }
41
+ /** Columns a text takes on a line, a tab counting for four as the formatter counts it. */
42
+ export function columnsOf(text) {
43
+ return text.length + (text.split("\t").length - 1) * 3;
44
+ }
36
45
  export function sameNumber(a, b) {
37
46
  return formatNumber(a) === formatNumber(b);
38
47
  }
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Range, TextEdit } from "@meltemi/diagrams-language";
2
- import type { AnimationEffect, ElementKind, LineStyle, Point, StoryActionKind } from "@meltemi/diagrams-model";
2
+ import type { AnimationEffect, ElementKind, LineStyle, ListLayout, Point, StoryActionKind } from "@meltemi/diagrams-model";
3
3
  /**
4
4
  * A structured change requested by a visual tool. Every operation names the diagram, model or
5
5
  * story it applies to; element and relation names refer to ids in that diagram.
@@ -94,20 +94,36 @@ export type EditOperation = {
94
94
  readonly operations: readonly EditOperation[];
95
95
  } | {
96
96
  /**
97
- * Declares a new element after the last declaration of the diagram or of `parent`, with a
98
- * generated `<kind><n>` id when `id` is absent, and writes `place` and `size` when given.
97
+ * Declares a new element after the last declaration of the diagram or of `parent`, or before
98
+ * the declaration at `index`, with a generated `<kind><n>` id when `id` is absent, and writes
99
+ * `place` and `size` when given. A child of a list group gets no `place`: the list places it.
99
100
  */
100
101
  readonly kind: "createElement";
101
102
  readonly diagram: string;
102
103
  readonly elementKind: ElementKind;
103
104
  readonly id?: string;
104
105
  readonly label?: string;
106
+ /** The element's `place`, in the interior coordinates of `parent`; ignored in a list group. */
105
107
  readonly at?: Point;
106
108
  readonly size?: {
107
109
  readonly width: number;
108
110
  readonly height: number;
109
111
  };
110
112
  readonly parent?: string;
113
+ /**
114
+ * The position among the declarations of the parent's block (or of the diagram body) at
115
+ * which the new declaration goes: before the declaration at that index, after the last when
116
+ * it is absent or past the end. A whole number from 0.
117
+ */
118
+ readonly index?: number;
119
+ /**
120
+ * A colour token such as `@sticky` (written bare) or a colour such as `#f8bbd0` (quoted),
121
+ * written as `style <id> { fill … }` after the declaration, in the same statement as `icon`
122
+ * and `shape`.
123
+ */
124
+ readonly fill?: string;
125
+ /** A new group of a free diagram that is a list: `group <id> "<label>" { layout column }`. */
126
+ readonly layout?: ListLayout;
111
127
  /** The icon reference of an `icon` or the path of an `image` (free diagrams). */
112
128
  readonly source?: string;
113
129
  /** An icon for the element's style, written as `style <id> { icon "…" }` after it. */
@@ -160,6 +176,31 @@ export type EditOperation = {
160
176
  readonly from: Point;
161
177
  readonly to: Point;
162
178
  readonly via: readonly Point[];
179
+ } | {
180
+ /**
181
+ * Declares a pen stroke, `pen <id> [(x, y), …]`, with a generated `pen<n>` id when `id` is
182
+ * absent, after the last declaration of the diagram body or of `parent`'s block. Its points
183
+ * are in that parent's interior coordinates, one at least, each coordinate rounded to a
184
+ * tenth; the list is on one line when the statement fits in 100 columns and filled over
185
+ * several lines otherwise, as the formatter prints it. `style` goes in one `style` statement
186
+ * in the same edit: beside the pen, or with the diagram's styles when it goes in a group.
187
+ */
188
+ readonly kind: "createPen";
189
+ readonly diagram: string;
190
+ readonly points: readonly Point[];
191
+ readonly parent?: string;
192
+ readonly id?: string;
193
+ readonly style?: PenStyle;
194
+ } | {
195
+ /**
196
+ * Moves the points of a pen stroke, in its parent's interior coordinates: number by number
197
+ * when the count is unchanged (comments kept), the whole list otherwise, printed as
198
+ * `createPen` prints it.
199
+ */
200
+ readonly kind: "setPenPoints";
201
+ readonly diagram: string;
202
+ readonly element: string;
203
+ readonly points: readonly Point[];
163
204
  } | {
164
205
  /**
165
206
  * Adds a relation; with ports it is named and routed. `line` and `heads` choose the token:
@@ -208,7 +249,10 @@ export type EditOperation = {
208
249
  readonly relation: string;
209
250
  readonly line: LineStyle;
210
251
  } | {
211
- /** Sets the label of an element; an implicit element gains a declaration. */
252
+ /**
253
+ * Sets the label of an element; an implicit element gains a declaration where it keeps its
254
+ * place in the order of elements (a sequence diagram's columns).
255
+ */
212
256
  readonly kind: "setElementLabel";
213
257
  readonly diagram: string;
214
258
  readonly element: string;
@@ -389,15 +433,26 @@ export type EditOperation = {
389
433
  /**
390
434
  * Moves an element's declaration, with its block and the comments attached to it, into the
391
435
  * block of the group `parent`, or into the diagram body with `null`, after the last
392
- * declaration there. An implicit element gains its declaration there. Relations, styles and
393
- * animations stay where they are. Flow and free diagrams.
436
+ * declaration there or before the declaration at `index`. An implicit element gains its
437
+ * declaration there. Relations, styles and animations stay where they are. Into a list
438
+ * group, the element's `place` goes: the list places its children. Flow and free diagrams.
394
439
  */
395
440
  readonly kind: "moveElement";
396
441
  readonly diagram: string;
397
442
  readonly element: string;
398
443
  readonly parent: string | null;
399
- /** The element's new `place`, in the interior coordinates of `parent`; the place stays without it. */
444
+ /**
445
+ * The element's new `place`, in the interior coordinates of `parent`; the place stays without
446
+ * it. Refused when `parent` is a list group.
447
+ */
400
448
  readonly at?: Point;
449
+ /**
450
+ * The position among the declarations of the destination block, the moved one included when
451
+ * it is already there, at which the declaration goes: before the declaration at that index,
452
+ * after the last when it is absent or past the end. A whole number from 0. Within the
453
+ * element's own block it reorders.
454
+ */
455
+ readonly index?: number;
401
456
  } | {
402
457
  /** Renames a layer in `layers` and in every `layer` statement of the diagram. */
403
458
  readonly kind: "renameLayer";
@@ -407,14 +462,18 @@ export type EditOperation = {
407
462
  } | {
408
463
  /**
409
464
  * Sets or (with `null`) removes the `layer` or `link` statement of an element or relation,
410
- * or the `kind async` of a sequence message.
465
+ * or the `kind async` of a sequence message. On a group of a free diagram, `layout`
466
+ * (`column` or `row`; null removes it with `spacing` and `align`), `spacing` (0 to 400) and
467
+ * `align` (`start`, `center`, `end`, `stretch`) make it a list, among the group's own
468
+ * statements.
411
469
  */
412
470
  readonly kind: "setElementProperty";
413
471
  readonly diagram: string;
414
472
  readonly target: string;
415
473
  readonly targetKind: "element" | "relation";
416
- readonly property: "layer" | "link" | "kind" | "url";
417
- readonly value: string | null;
474
+ readonly property: "layer" | "link" | "kind" | "url" | "layout" | "spacing" | "align";
475
+ /** A word or a string; a number for `spacing`. */
476
+ readonly value: string | number | null;
418
477
  } | {
419
478
  /** Sequence diagrams: makes a participant the `index`-th (0-based) of its block. */
420
479
  readonly kind: "reorderParticipant";
@@ -422,18 +481,37 @@ export type EditOperation = {
422
481
  readonly participant: string;
423
482
  readonly index: number;
424
483
  } | {
425
- /** Sequence diagrams: moves an event past its neighbour, into or out of fragments; validated. */
484
+ /**
485
+ * Sequence diagrams: moves an event past its neighbour, into or out of fragments and calls
486
+ * (`direction`), or right after or right before another event (`to`); validated. Exactly one
487
+ * of `direction` and `to` is given.
488
+ */
426
489
  readonly kind: "moveEvent";
427
490
  readonly diagram: string;
428
491
  readonly event: string;
429
- readonly direction: "up" | "down";
492
+ readonly direction?: "up" | "down";
493
+ /**
494
+ * The destination: the statement goes right after or right before the statement of the
495
+ * named event (a key), in the block that holds it, at its indentation and with its comments.
496
+ */
497
+ readonly to?: {
498
+ readonly after: string;
499
+ } | {
500
+ readonly before: string;
501
+ };
430
502
  } | {
431
503
  /** Sequence diagrams: writes or (with 0 or null) removes `space <event>` or `gap <participant>`. */
432
504
  readonly kind: "setSpacing";
433
505
  readonly diagram: string;
434
506
  readonly target: string;
435
507
  readonly targetKind: "event" | "participant";
508
+ /**
509
+ * Pixels; null or 0 removes the statement. A `gap` may be negative between two
510
+ * participants; a `space` and a `gap` on the outer side of the first or last participant may not.
511
+ */
436
512
  readonly amount: number | null;
513
+ /** The side: `before` (the default, never written) or `after`. */
514
+ readonly side?: "before" | "after";
437
515
  } | {
438
516
  /**
439
517
  * Sequence diagrams: inserts an event statement after an event, first in a fragment branch,
@@ -443,10 +521,30 @@ export type EditOperation = {
443
521
  readonly diagram: string;
444
522
  readonly statement: string;
445
523
  readonly after?: string;
524
+ /** First in a fragment's branch, or last in a call's block (created when it has none). */
446
525
  readonly inside?: {
447
526
  readonly fragment: string;
448
527
  readonly branch: number;
528
+ } | {
529
+ readonly message: string;
449
530
  };
531
+ } | {
532
+ /**
533
+ * Sequence diagrams: moves the consecutive events right after a call into its block,
534
+ * creating the block when it has none; their text moves whole, comments included.
535
+ */
536
+ readonly kind: "nestInCall";
537
+ readonly diagram: string;
538
+ readonly call: string;
539
+ readonly events: readonly string[];
540
+ } | {
541
+ /**
542
+ * Sequence diagrams: moves the events of a call's block out after the call, each `return`
543
+ * answering it written as a reply; the block goes when only events were in it.
544
+ */
545
+ readonly kind: "unnestCall";
546
+ readonly diagram: string;
547
+ readonly call: string;
450
548
  } | {
451
549
  /** Sequence diagrams: wraps consecutive sibling events in a new fragment. */
452
550
  readonly kind: "wrapInFragment";
@@ -594,10 +692,57 @@ export type EditOperation = {
594
692
  readonly participant: string;
595
693
  readonly after: string;
596
694
  } | {
597
- /** Sequence diagrams: removes an activation, lifecycle event, note, divider, delay or fragment. */
695
+ /**
696
+ * Sequence diagrams: removes an activation, lifecycle event, note, divider, delay or fragment.
697
+ * An `activate` goes with its `deactivate` and a `deactivate` with its `activate`, in the
698
+ * same edit (`activationPair`); an `activate` open to the end goes alone.
699
+ */
598
700
  readonly kind: "removeEvent";
599
701
  readonly diagram: string;
600
702
  readonly event: string;
703
+ /**
704
+ * True removes an `activate` or a `deactivate` without its other end: for a caller that
705
+ * read the pairs before a batch and removes the other end itself, or with the fragment or
706
+ * call that holds it. A result with new errors is refused as always.
707
+ */
708
+ readonly alone?: boolean;
709
+ } | {
710
+ /**
711
+ * Sequence diagrams: writes `tag "<text>"` in the block of a participant (`element`) or a
712
+ * message (`relation`, a `return` included): before the tag at `index` when it is given,
713
+ * else after the owner's last tag, else after the block's last property (before its
714
+ * events), else first. A statement without a block gains ` { tag "<text>" }`, an implicit
715
+ * participant is declared with that block where it keeps its column (before the statement
716
+ * that names it first when the declarations come earlier in the order), and a block written
717
+ * on one line opens onto lines when it gains a second statement.
718
+ */
719
+ readonly kind: "addTag";
720
+ readonly diagram: string;
721
+ readonly target: string;
722
+ readonly targetKind: "element" | "relation";
723
+ /** One line of text, not empty, that the owner does not have yet. */
724
+ readonly text: string;
725
+ /** The position among the owner's tags, from 0; past the last tag is the end. */
726
+ readonly index?: number;
727
+ } | {
728
+ /** Sequence diagrams: rewrites the text of the owner's tag at `index` (from 0). */
729
+ readonly kind: "setTag";
730
+ readonly diagram: string;
731
+ readonly target: string;
732
+ readonly targetKind: "element" | "relation";
733
+ readonly index: number;
734
+ /** One line of text, not empty, that no other tag of the owner has. */
735
+ readonly text: string;
736
+ } | {
737
+ /**
738
+ * Sequence diagrams: deletes the owner's tag at `index` (from 0), and the block too when it
739
+ * held nothing else: no other statement and no comment.
740
+ */
741
+ readonly kind: "removeTag";
742
+ readonly diagram: string;
743
+ readonly target: string;
744
+ readonly targetKind: "element" | "relation";
745
+ readonly index: number;
601
746
  } | {
602
747
  /**
603
748
  * Sequence diagrams: replaces the text of a note or the label of a divider or a delay; `null`
@@ -672,6 +817,22 @@ export type EditOperation = {
672
817
  };
673
818
  };
674
819
  export type EditOperationKind = EditOperation["kind"];
820
+ /**
821
+ * The styles of a new pen stroke, written in this order in its `style` statement; what is absent
822
+ * keeps the default (the theme's `ink`, 3 wide, opaque, no heads).
823
+ */
824
+ export interface PenStyle {
825
+ /** A colour token such as `@highlight` (written bare) or a colour such as `#e03131` (quoted). */
826
+ readonly stroke?: string;
827
+ /** 1 to 64. */
828
+ readonly width?: number;
829
+ /** 0 to 1. */
830
+ readonly opacity?: number;
831
+ /** A head of `ARROWHEADS` at the last point. */
832
+ readonly arrowhead?: string;
833
+ /** A head of `ARROWHEADS` at the first point. */
834
+ readonly arrowtail?: string;
835
+ }
675
836
  /** The types of diagrams `createDiagram` writes: C4 views need a model, written in text. */
676
837
  export type CreatableDiagramType = "flow" | "free" | "sequence";
677
838
  export interface EditPlan {