@meltemi/diagrams-edit 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 (78) 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/attachments.d.ts +30 -0
  5. package/dist/attachments.d.ts.map +1 -0
  6. package/dist/attachments.js +85 -0
  7. package/dist/attachments.js.map +1 -0
  8. package/dist/c4.d.ts +26 -1
  9. package/dist/c4.d.ts.map +1 -1
  10. package/dist/c4.js +321 -27
  11. package/dist/c4.js.map +1 -1
  12. package/dist/context.d.ts +7 -0
  13. package/dist/context.d.ts.map +1 -1
  14. package/dist/context.js +15 -0
  15. package/dist/context.js.map +1 -1
  16. package/dist/create.d.ts.map +1 -1
  17. package/dist/create.js +61 -15
  18. package/dist/create.js.map +1 -1
  19. package/dist/free.d.ts.map +1 -1
  20. package/dist/free.js +97 -9
  21. package/dist/free.js.map +1 -1
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/insert.d.ts +39 -1
  27. package/dist/insert.d.ts.map +1 -1
  28. package/dist/insert.js +128 -2
  29. package/dist/insert.js.map +1 -1
  30. package/dist/labels.d.ts.map +1 -1
  31. package/dist/labels.js +7 -9
  32. package/dist/labels.js.map +1 -1
  33. package/dist/lines.d.ts +16 -0
  34. package/dist/lines.d.ts.map +1 -0
  35. package/dist/lines.js +123 -0
  36. package/dist/lines.js.map +1 -0
  37. package/dist/messages/en.d.ts +105 -1
  38. package/dist/messages/en.d.ts.map +1 -1
  39. package/dist/messages/en.js +108 -2
  40. package/dist/messages/en.js.map +1 -1
  41. package/dist/messages/es.d.ts.map +1 -1
  42. package/dist/messages/es.js +69 -2
  43. package/dist/messages/es.js.map +1 -1
  44. package/dist/messages/index.d.ts +61 -1
  45. package/dist/messages/index.d.ts.map +1 -1
  46. package/dist/pens.d.ts +16 -0
  47. package/dist/pens.d.ts.map +1 -0
  48. package/dist/pens.js +175 -0
  49. package/dist/pens.js.map +1 -0
  50. package/dist/plan.d.ts.map +1 -1
  51. package/dist/plan.js +125 -20
  52. package/dist/plan.js.map +1 -1
  53. package/dist/relations.d.ts +1 -1
  54. package/dist/relations.d.ts.map +1 -1
  55. package/dist/relations.js +35 -16
  56. package/dist/relations.js.map +1 -1
  57. package/dist/sequence.d.ts +13 -2
  58. package/dist/sequence.d.ts.map +1 -1
  59. package/dist/sequence.js +342 -31
  60. package/dist/sequence.js.map +1 -1
  61. package/dist/structure.d.ts +7 -5
  62. package/dist/structure.d.ts.map +1 -1
  63. package/dist/structure.js +49 -49
  64. package/dist/structure.js.map +1 -1
  65. package/dist/styles.d.ts.map +1 -1
  66. package/dist/styles.js +8 -3
  67. package/dist/styles.js.map +1 -1
  68. package/dist/tags.d.ts +19 -0
  69. package/dist/tags.d.ts.map +1 -0
  70. package/dist/tags.js +159 -0
  71. package/dist/tags.js.map +1 -0
  72. package/dist/text.d.ts +4 -0
  73. package/dist/text.d.ts.map +1 -1
  74. package/dist/text.js +9 -0
  75. package/dist/text.js.map +1 -1
  76. package/dist/types.d.ts +270 -21
  77. package/dist/types.d.ts.map +1 -1
  78. package/package.json +8 -8
package/dist/relations.js CHANGED
@@ -1,10 +1,12 @@
1
- import { isToken, } from "@meltemi/diagrams-language";
1
+ import {} from "@meltemi/diagrams-language";
2
+ import { arrowToken, relationNameAnchor, } from "@meltemi/diagrams-model";
2
3
  import { reject, requireElement, requireNamedRelation } from "./context.js";
3
4
  import { freeId, requirePortOf } from "./create.js";
4
5
  import { deleteStatements } from "./delete.js";
5
6
  import { endpointText, requireEndPosition, routeParts } from "./routes.js";
6
7
  import { insertPlacements, removeListItems, requireNewId } from "./plan.js";
7
8
  import { messages, reasons } from "./messages/index.js";
9
+ import { eventDependents, eventIdsOf, nestedInCalls } from "./sequence.js";
8
10
  import { renameInStories, storyDependents } from "./stories.js";
9
11
  /** A relation by id or by key (`<from>-><to>#<n>`). */
10
12
  export function requireRelation(ctx, name) {
@@ -63,23 +65,32 @@ export function relationDependents(ctx, ids) {
63
65
  }
64
66
  export function removeRelation(ctx, op) {
65
67
  const relation = requireRelation(ctx, op.relation);
66
- const dependents = relation.id
67
- ? relationDependents(ctx, new Set([relation.id]))
68
- : { statements: [], edits: [] };
68
+ // A call goes with the events of its block, and everything goes with what names them.
69
+ const nested = nestedInCalls(ctx, new Set([relation.key]));
70
+ const removed = new Set([
71
+ relation,
72
+ ...nested.flatMap((e) => e.kind === "message" ? [ctx.diagram.relationsByKey.get(e.relation)] : []),
73
+ ]);
74
+ const relationIds = new Set([...removed].flatMap((r) => (r.id === null ? [] : [r.id])));
75
+ const eventIds = eventIdsOf(nested);
76
+ const relations = relationDependents(ctx, relationIds);
77
+ const events = eventDependents(ctx, eventIds);
78
+ const dependents = {
79
+ statements: [...relations.statements, ...events.statements],
80
+ edits: [...relations.edits, ...events.edits],
81
+ };
69
82
  // An implicit endpoint mentioned by no other relation would disappear: keep it declared.
70
83
  const keep = [];
71
- for (const end of new Set([relation.from, relation.to])) {
84
+ for (const end of new Set([...removed].flatMap((r) => [r.from, r.to]))) {
72
85
  const element = ctx.diagram.elementsById.get(end);
73
86
  if (!element?.implicit)
74
87
  continue;
75
88
  const mentions = ctx.diagram.relations.filter((r) => r.from === end || r.to === end);
76
- if (mentions.every((r) => r === relation))
89
+ if (mentions.every((r) => removed.has(r)))
77
90
  keep.push(end);
78
91
  }
79
- // Story actions that name the relation lose it, or go when it was their only target.
80
- const stories = relation.id
81
- ? storyDependents(ctx.compilation, ctx.diagram.id, new Set([relation.id]))
82
- : { statements: [], edits: [] };
92
+ // Story actions that name what goes lose it, or go when it was their only target.
93
+ const stories = storyDependents(ctx.compilation, ctx.diagram.id, new Set([...relationIds, ...eventIds]));
83
94
  const edits = [
84
95
  ...dependents.edits,
85
96
  ...stories.edits,
@@ -102,13 +113,21 @@ export function removeRelation(ctx, op) {
102
113
  }
103
114
  return edits;
104
115
  }
116
+ /** A relation written as a relation statement; a `return` answers its call and is refused. */
117
+ function writtenRelation(relation) {
118
+ if (relation.node.kind !== "RelationStatement") {
119
+ reject("edit.invalid-value", reasons().relations.returnAnswers);
120
+ }
121
+ return relation.node;
122
+ }
105
123
  export function setRelationLine(ctx, op) {
106
124
  const relation = requireRelation(ctx, op.relation);
107
- // A two-way arrow stays two-way.
108
- const arrow = `${relation.twoWay ? "<" : ""}${op.line === "dashed" ? "-->" : "->"}`;
109
- if (relation.node.arrow.text === arrow)
125
+ const node = writtenRelation(relation);
126
+ // The heads stay: a two-way arrow stays two-way, a line stays a line.
127
+ const arrow = arrowToken(op.line, relation.heads);
128
+ if (node.arrow.text === arrow)
110
129
  return [];
111
- return [{ start: relation.node.arrow.start, end: relation.node.arrow.end, newText: arrow }];
130
+ return [{ start: node.arrow.start, end: node.arrow.end, newText: arrow }];
112
131
  }
113
132
  function routeOf(ctx, relation) {
114
133
  if (relation.id === null)
@@ -122,7 +141,7 @@ export function reconnectRelation(ctx, op) {
122
141
  requirePortOf(ctx, op.element, op.port);
123
142
  if (op.position !== undefined)
124
143
  requireEndPosition(op.port, op.position);
125
- const node = relation.node;
144
+ const node = writtenRelation(relation);
126
145
  const endRef = op.end === "from" ? node.source : node.target;
127
146
  const current = op.end === "from" ? relation.from : relation.to;
128
147
  const edits = [];
@@ -154,7 +173,7 @@ export function reconnectRelation(ctx, op) {
154
173
  let id = relation.id;
155
174
  if (id === null) {
156
175
  id = freeId(ctx, `${relation.from}_${relation.to}`, true);
157
- const anchor = node.label && isToken(node.label) ? node.label.end : node.target.end;
176
+ const anchor = relationNameAnchor(relation);
158
177
  edits.push({ start: anchor, end: anchor, newText: ` as ${id}` });
159
178
  }
160
179
  const pinned = endpointText(op.element, op.port, op.position);
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { CstNode, Statement, TextEdit } from "@meltemi/diagrams-language";
2
- import { type SequenceEvent } from "@meltemi/diagrams-model";
1
+ import { type CstNode, type Statement, type TextEdit } from "@meltemi/diagrams-language";
2
+ import { type FlowDiagram, type ParticipantEvent, type SequenceEvent } from "@meltemi/diagrams-model";
3
3
  import { type EditContext } from "./context.js";
4
4
  import { type OperationOf } from "./plan.js";
5
5
  /** Refuses an operation on a diagram that is not a sequence diagram. */
@@ -11,6 +11,13 @@ export declare function isEventStatement(statement: Statement): boolean;
11
11
  export declare function requireEvent(ctx: EditContext, key: string): SequenceEvent;
12
12
  export declare function reorderParticipant(ctx: EditContext, op: OperationOf<"reorderParticipant">): TextEdit[];
13
13
  export declare function moveEvent(ctx: EditContext, op: OperationOf<"moveEvent">): TextEdit[];
14
+ /**
15
+ * The other end of an activation: the `deactivate` that closes an `activate` (the participant's
16
+ * first `deactivate` at the same depth after it, in order, fragments and calls included), or the
17
+ * `activate` that a `deactivate` closes; null for an activation open to the end, a `deactivate`
18
+ * that closes none, and every other event.
19
+ */
20
+ export declare function activationPair(diagram: FlowDiagram, event: SequenceEvent): ParticipantEvent | null;
14
21
  export declare function setSpacing(ctx: EditContext, op: OperationOf<"setSpacing">): TextEdit[];
15
22
  export declare function insertEvent(ctx: EditContext, op: OperationOf<"insertEvent">): TextEdit[];
16
23
  export declare function wrapInFragment(ctx: EditContext, op: OperationOf<"wrapInFragment">): TextEdit[];
@@ -20,6 +27,8 @@ export declare function setFragmentCondition(ctx: EditContext, op: OperationOf<"
20
27
  /** The event statements that depend on removed participants: lifecycles, activations and notes. */
21
28
  export declare function participantEvents(ctx: EditContext, removed: ReadonlySet<string>): SequenceEvent[];
22
29
  export declare function removeEvent(ctx: EditContext, op: OperationOf<"removeEvent">): TextEdit[];
30
+ /** The events inside the blocks of the calls among `relations` (keys), at any depth. */
31
+ export declare function nestedInCalls(ctx: EditContext, relations: ReadonlySet<string>): SequenceEvent[];
23
32
  /** The written ids of the notes and fragments among `events`. */
24
33
  export declare function eventIdsOf(events: readonly SequenceEvent[]): Set<string>;
25
34
  /**
@@ -41,4 +50,6 @@ export declare function toggleActivation(ctx: EditContext, op: OperationOf<"togg
41
50
  export declare function setEventText(ctx: EditContext, op: OperationOf<"setEventText">): TextEdit[];
42
51
  export declare function setNotePlacement(ctx: EditContext, op: OperationOf<"setNotePlacement">): TextEdit[];
43
52
  export declare function setFragmentOperator(ctx: EditContext, op: OperationOf<"setFragmentOperator">): TextEdit[];
53
+ export declare function nestInCall(ctx: EditContext, op: OperationOf<"nestInCall">): TextEdit[];
54
+ export declare function unnestCall(ctx: EditContext, op: OperationOf<"unnestCall">): TextEdit[];
44
55
  //# sourceMappingURL=sequence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EAEZ,KAAK,SAAS,EACd,KAAK,QAAQ,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,KAAK,WAAW,EAGhB,KAAK,gBAAgB,EAErB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAgBzF,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAkB9F,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAItD;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvE;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAK9D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAMzE;AAoFD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,oBAAoB,CAAC,GACpC,QAAQ,EAAE,CAiCZ;AAID,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,EAAE,CAoFpF;AAsFD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,aAAa,GACnB,gBAAgB,GAAG,IAAI,CAezB;AA4BD,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,CAqDtF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,QAAQ,EAAE,CAsDxF;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAoC9F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAkC9F;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,EAAE,CAgBpF;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,sBAAsB,CAAC,GACtC,QAAQ,EAAE,CAyCZ;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CAuBjG;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,QAAQ,EAAE,CA2BxF;AAgBD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CAY/F;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAExE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GACvB;IAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,CAwB9C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,QAAQ,EAAE,CA2BxF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAClC,QAAQ,EAAE,CAoDZ;AAcD,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,QAAQ,EAAE,CAqB1F;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAClC,QAAQ,EAAE,CA2BZ;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,qBAAqB,CAAC,GACrC,QAAQ,EAAE,CAuBZ;AAqBD,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,CAsDtF;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,CAoDtF"}